llvm/lib
Sanjay Patel 0eebc2900c [InstSimplify] add folds for or-of-casted-icmps
The sibling folds for 'and' with casts were added with https://reviews.llvm.org/rL273200.
This is a preliminary step for adding the 'or' variants for the folds added with https://reviews.llvm.org/rL301260.

The reason for the strange form with constant LHS in the 1st test is because there's another missing fold in that
case for the inverted predicate. That should be fixed when we add the ConstantRange functionality for 'or-of-icmps' 
that already exists for 'and-of-icmps'.

I'm hoping to share more code for the and/or cases, so we won't have these differences. This will allow us to remove
code from InstCombine. It's also possible that we can remove some code here in InstSimplify. I think we have some 
duplicated folds because patterns are not matched in a general way.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302189 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-04 19:51:34 +00:00
..
Analysis [InstSimplify] add folds for or-of-casted-icmps 2017-05-04 19:51:34 +00:00
AsmParser AMDGPU: Add AMDGPU_HS calling convention 2017-05-02 15:41:10 +00:00
Bitcode Re-apply r302108, "IR: Use pointers instead of GUIDs to represent edges in the module summary. NFCI." 2017-05-04 18:03:25 +00:00
CodeGen [DAGCombine] Transform (fadd A, (fmul B, -2.0)) -> (fsub A, (fadd B, B)). 2017-05-04 14:14:44 +00:00
DebugInfo Don't return an invalid line table if the DW_AT_stmt_list value is not in the .debug_line section. 2017-05-04 18:29:44 +00:00
Demangle
ExecutionEngine [bpf] add relocation support 2017-05-03 17:30:56 +00:00
Fuzzer [libFuzzer] exit without running atexit handlers in libfuzzer's crash handler 2017-05-03 20:31:19 +00:00
IR Re-apply r302108, "IR: Use pointers instead of GUIDs to represent edges in the module summary. NFCI." 2017-05-04 18:03:25 +00:00
IRReader
LibDriver Fix some ArgList uses after API change in r300135. 2017-04-12 23:43:58 +00:00
LineEditor
Linker
LTO Re-apply r302108, "IR: Use pointers instead of GUIDs to represent edges in the module summary. NFCI." 2017-05-04 18:03:25 +00:00
MC [LLVM][inline-asm][Altmacor] Altmacro string delimiter '<..>' 2017-05-04 10:37:00 +00:00
Object [WebAssembly] Add wasm symbol table support to llvm-objdump 2017-05-04 19:32:43 +00:00
ObjectYAML [WebAssembly] Allow for signed relocation addends 2017-04-26 00:02:31 +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 [ProfileData] Unify getInstrProf*SectionName helpers 2017-04-15 00:09:57 +00:00
Support [APInt] Reduce number of allocations involved in multiplying. Reduce worst case multiply size 2017-05-04 17:00:41 +00:00
TableGen
Target [PPC] When restoring R30 (PIC base pointer), mark it as <def> 2017-05-04 19:14:54 +00:00
Transforms Re-apply r302108, "IR: Use pointers instead of GUIDs to represent edges in the module summary. NFCI." 2017-05-04 18:03:25 +00:00
XRay
CMakeLists.txt
LLVMBuild.txt