1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/lib
David Majnemer 7c9d3f854d [GVNHoist] Change the key for VNtoInsns to a pair
While debugging GVNHoist, I found it confusing that the entries in a
VNtoInsns were not always value numbers.  They _usually_ were except for
StoreInst in which case they were a hash of two different value numbers.

This leads to two observations:
- It is more difficult to debug things when the semantic contents of
  VNtoInsns changes over time.
- Using a single value number is not much cheaper, the value of
  VNtoInsns is a SmallVector.
- It is not immediately clear what the algorithm would do if there were
  hash collisions in the StoreInst case.

Using a DenseMap of std::pair sidesteps all of this.

N.B.  The changes in the test were due their sensitivity to the
iteration order of VNtoInsns which has changed.

llvm-svn: 275761
2016-07-18 06:11:37 +00:00
..
Analysis [ThinLTO] Perform profile-guided indirect call promotion 2016-07-17 14:47:01 +00:00
AsmParser Add writeonly IR attribute 2016-07-04 08:01:29 +00:00
Bitcode [ThinLTO] Perform profile-guided indirect call promotion 2016-07-17 14:47:01 +00:00
CodeGen [PM] Convert IVUsers analysis to new pass manager. 2016-07-16 22:51:33 +00:00
DebugInfo [pdb] Teach MsfBuilder and other classes about the Free Page Map. 2016-07-15 22:17:19 +00:00
ExecutionEngine [LLVM][MIPS] Fix createStubFunction to emit JR encoding based on Arch. 2016-07-15 12:56:37 +00:00
Fuzzer [libFuzzer] add hooks for strstr, strcasestr, strcasecmp, strncasecmp 2016-07-15 23:27:19 +00:00
IR [OptRemark,LDist] RFC: Add hotness attribute 2016-07-15 17:23:20 +00:00
IRReader
LibDriver Object: Replace NewArchiveIterator with a simpler NewArchiveMember class. NFCI. 2016-06-29 22:27:42 +00:00
LineEditor
Linker IR: New representation for CFI and virtual call optimization pass metadata. 2016-06-24 21:21:32 +00:00
LTO Move legacy LTO interface headers to legacy/ directory. 2016-07-14 21:21:16 +00:00
MC [codeview] Shrink inlined call site line info tables 2016-07-14 23:47:15 +00:00
Object BPF: Use official ELF e_machine value 2016-07-15 22:27:55 +00:00
ObjectYAML BPF: Use official ELF e_machine value 2016-07-15 22:27:55 +00:00
Option
Passes [PM] Convert IVUsers analysis to new pass manager. 2016-07-16 22:51:33 +00:00
ProfileData [Coverage] Mark a few more methods const (NFC) 2016-07-15 01:19:33 +00:00
Support [Object] Re-apply r275316 now that I have the corresponding LLD patch ready. 2016-07-14 02:24:01 +00:00
TableGen [TableGen] Autobrief-ize Record. NFC. 2016-07-14 14:53:14 +00:00
Target Strip trailing whitespace 2016-07-17 19:02:27 +00:00
Transforms [GVNHoist] Change the key for VNtoInsns to a pair 2016-07-18 06:11:37 +00:00
CMakeLists.txt
LLVMBuild.txt