llvm-project/llvm/lib
Daniel Berlin b527b2cf13 Last of the major pieces to NewGVN - yay!
Summary:
NewGVN: Handle equivalence between phi of ops and op of phis.

This makes our GVN mostly-complete. It would be complete, modulo some
deliberate choices we make.  This means it detects roughly all herband
equivalences in polynomial time, including cases notoriously hard for
other GVN's to detect.  It also detects a very large swath of the
cases we currently rely on instcombine to detect that involve folding
upwards through phis.

Fixes PR 31125, 31463, PR 31868

Reviewers: davide

Subscribers: Prazek, llvm-commits

Differential Revision: https://reviews.llvm.org/D32151

llvm-svn: 303444
2017-05-19 19:01:27 +00:00
..
Analysis BasicAA: Uninserted instructions have no parent, and notDifferentParent explicitly allows for this case, but getParent crashes when handed one. 2017-05-19 19:01:21 +00:00
AsmParser [IR] De-virtualize ~Value to save a vptr 2017-05-18 17:24:10 +00:00
Bitcode [IR] De-virtualize ~Value to save a vptr 2017-05-18 17:24:10 +00:00
CodeGen [DAGCombine] (addcarry 0, 0, X) -> (ext/trunc X) 2017-05-19 18:20:44 +00:00
DebugInfo Revert "[CodeView] Provide a common interface for type collections." 2017-05-19 05:57:45 +00:00
Demangle Revert r303375 "LLVM_FALLTHROUGH instead of fall-through comment." 2017-05-18 20:18:24 +00:00
ExecutionEngine [RuntimeDyld] Fix debug section relocation (pr20457) 2017-05-17 08:47:28 +00:00
Fuzzer [libFuzzer] fix tests on Windows 2017-05-15 22:55:00 +00:00
IR Fix vector pass-through value being unused in IRBuilder::CreateMaskedGather 2017-05-19 10:40:18 +00:00
IRReader
LTO ThinLTO: Verify bitcode before lauching the ThinLTOCodeGenerator. 2017-05-19 17:55:02 +00:00
LineEditor
Linker [ThinLTO] Do not assert when adding a module with a different but 2017-05-18 03:52:29 +00:00
MC MCObjectStreamer : fail with a diagnostic when emitting an out of range value. 2017-05-15 08:43:27 +00:00
Object [lib/Object] - Minor API update for llvm::Decompressor. 2017-05-18 08:00:01 +00:00
ObjectYAML [WebAssembly] Fix build error in wasm YAML code 2017-05-10 00:14:04 +00:00
Option ArgList: cache index ranges containing arguments with each ID 2017-04-12 23:19:51 +00:00
Passes [PM] Add ProfileSummaryAnalysis as a required pass in the new pipeline. 2017-05-04 16:58:45 +00:00
ProfileData Change sample profile writer to make it deterministic. 2017-05-11 23:43:44 +00:00
Support [APInt] Add support for dividing or remainder by a uint64_t or int64_t. 2017-05-19 16:43:54 +00:00
TableGen Use print() instead of dump() in code 2017-01-28 02:47:46 +00:00
Target [AMDGPU][MC] Corrected disassembler to decode instructions with 2 literals 2017-05-19 14:27:52 +00:00
ToolDrivers Add missing files 2017-05-13 22:10:13 +00:00
Transforms Last of the major pieces to NewGVN - yay! 2017-05-19 19:01:27 +00:00
XRay [XRay][lib] Support and temporarily skip over CustomEvent records 2017-05-12 01:06:41 +00:00
CMakeLists.txt Move lib/LibDriver -> lib/ToolDrivers/llvm-lib. NFCI. 2017-05-13 22:06:46 +00:00
LLVMBuild.txt Move lib/LibDriver -> lib/ToolDrivers/llvm-lib. NFCI. 2017-05-13 22:06:46 +00:00