When trying to upgrade @llvm.x86.sse2.psrl.dq while parsing a module, BitcodeReader adds the function to its worklist twice, resulting in a crash when accessing it the second time.
This patch replaces the worklist vector by a map.
| Paths 
 |  Differential  D10877  
[BitcodeReader] Fix for PR23310: llvm-dis crashes when trying to upgrade an intrinsic. ClosedPublic Authored by philip.pfaffe on Jul 1 2015, 11:12 AM. 
Details 
Diff Detail Event Timelinephilip.pfaffe retitled this revision from  to [BitcodeReader] Fix for PR23310: llvm-dis crashes when trying to upgrade an intrinsic.. philip.pfaffe updated this object. philip.pfaffe added a parent revision: D10879: [BitcodeReader] Rangify some loops..Jul 1 2015, 1:01 PM This revision is now accepted and ready to land.Jul 2 2015, 5:36 AM 
Revision Contents 
 
 
Diff 28884 lib/Bitcode/Reader/BitcodeReader.cpp
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Please do the range-loop patch as a separate one (before the switch from vector to DenseMap).