llvm-6502/lib
Hal Finkel 2993617e41 [LVI] Check for @llvm.assume dominating the edge branch
When LazyValueInfo uses @llvm.assume intrinsics to provide edge-value
constraints, we should check for intrinsics that dominate the edge's branch,
not just any potential context instructions. An assumption that dominates the
edge's branch represents a truth on that edge. This is specifically useful, for
example, if multiple predecessors assume a pointer to be nonnull, allowing us
to simplify a later null comparison.

The test case, and an initial patch, were provided by Philip Reames. Thanks!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219688 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-14 16:04:49 +00:00
..
Analysis [LVI] Check for @llvm.assume dominating the edge branch 2014-10-14 16:04:49 +00:00
AsmParser Make CallingConv::ID an alias of "unsigned". 2014-09-10 18:00:17 +00:00
Bitcode Introduce LLVMWriteBitcodeToMemoryBuffer C API function. 2014-10-14 00:30:59 +00:00
CodeGen Remove unnecessary TargetMachine.h includes. 2014-10-14 07:22:08 +00:00
DebugInfo Add couple of missing 'override' keyword. NFC. 2014-10-10 17:34:30 +00:00
ExecutionEngine [MCJIT] Replace memcpy with readBytesUnaligned in RuntimeDyldMachOI386. 2014-10-10 23:07:09 +00:00
IR Return undef on FP <-> Int conversions that overflow (PR21330). 2014-10-10 23:00:21 +00:00
IRReader
LineEditor
Linker
LTO LTO: Document the Boolean argument from r218784 2014-10-02 21:11:04 +00:00
MC MC: Shrink MCSymbolRefExpr by only storing the bits we need. 2014-10-11 17:57:27 +00:00
Object Object, COFF: Move the VirtualSize/SizeOfRawData logic to getSectionSize 2014-10-09 08:42:31 +00:00
Option Add an overload of getLastArgNoClaim taking two OptSpecifiers. 2014-09-12 19:42:53 +00:00
ProfileData Reduce double set lookups. NFC. 2014-10-10 15:32:50 +00:00
Support Revert r219638, (r219640 and r219676), "Removing the static destructor from ManagedStatic.cpp by controlling the allocation and de-allocation of the mutex." 2014-10-14 15:58:16 +00:00
TableGen Eliminate some deep std::vector copies. NFC. 2014-10-03 18:33:16 +00:00
Target [AVX512] Extended avx512_binop_rm to DQ/VL subsets. 2014-10-14 15:13:56 +00:00
Transforms Switch to select optimization for two-case switches 2014-10-14 01:58:26 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile