llvm-project/llvm/lib
David Bolvansky 2fa7fb14ea [DAGCombiner] Bug 31275- Extract a shift from a constant mul or udiv if a rotate can be formed
Summary:
Attempt to extract a shrl from a udiv or a shl from a mul if this allows a rotate to be formed.  This targets cases where the input to a rotate pattern was a mul or udiv by a constant and InstCombine merged one of the shifts with the op.

Patch by: sameconrad (Sam Conrad)

Reviewers: RKSimon, craig.topper, spatel, lebedev.ri, javed.absar

Reviewed By: lebedev.ri

Subscribers: efriedma, kparzysz, llvm-commits

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

llvm-svn: 338270
2018-07-30 16:50:00 +00:00
..
Analysis [BasicAA] Use PhiValuesAnalysis if available when handling phi alias 2018-07-30 11:52:08 +00:00
AsmParser [AsmParser] Fix inconsistent declaration parameter name 2018-07-12 02:03:53 +00:00
BinaryFormat [dwarfdump] Add pretty printer for accelerator table based on Atom. 2018-07-13 17:21:51 +00:00
Bitcode [ThinLTO] Only emit referenced type id records in index files 2018-07-19 22:25:56 +00:00
CodeGen [DAGCombiner] Bug 31275- Extract a shift from a constant mul or udiv if a rotate can be formed 2018-07-30 16:50:00 +00:00
DebugInfo [DWARF v5] Don't report an error when the .debug_rnglists section is empty or non-existent. Fixes PR38297. 2018-07-26 01:12:41 +00:00
Demangle Try to fix build. 2018-07-30 03:25:27 +00:00
ExecutionEngine Move JIT listener C binding fallbackks to ExecutionEngineBindings.cpp. 2018-07-25 15:04:57 +00:00
FuzzMutate [llvm-opt-fuzzer] Add irce to the fuzzing options 2018-03-20 11:32:13 +00:00
Fuzzer
IR [DebugInfo] LowerDbgDeclare: Add derefs when handling CallInst users 2018-07-26 20:56:53 +00:00
IRReader LLParser: add an argument for overriding data layout and do not check alloca addr space 2018-01-30 22:32:39 +00:00
LTO [LTO] Don't internalize declarations 2018-07-27 05:40:29 +00:00
LineEditor
Linker [NFC] Remove an empty line. 2018-07-27 06:50:45 +00:00
MC [MC] Add support for the .rva assembler directive for COFF targets 2018-07-26 20:11:26 +00:00
Object [llvm-objdump] Add dynamic section printing to private-headers option 2018-07-25 11:09:20 +00:00
ObjectYAML MC: Implement support for new .addrsig and .addrsig_sym directives. 2018-07-17 22:17:18 +00:00
Option Re-revert "[Option] Fix PR37006 prefix choice in findNearest" 2018-05-19 16:21:01 +00:00
Passes [GVNHoist] Re-enable GVNHoist by default 2018-07-30 10:50:18 +00:00
ProfileData [InstrProf] Use comdats on COFF for available_externally functions 2018-07-26 22:59:17 +00:00
Support [dsymutil] Simplify temporary file handling. 2018-07-29 14:56:15 +00:00
TableGen [TableGen] Add missing std::moves to fix build failure. 2018-07-11 08:57:56 +00:00
Target Fix uninitialized read in ARM's PrintAsmOperand 2018-07-30 16:45:40 +00:00
Testing [LLVMTestingSupport] Add explicit linkage to LLVMSupport 2018-04-08 06:49:17 +00:00
ToolDrivers Give llvm-lib rudimentary help output. 2018-07-14 02:29:44 +00:00
Transforms [SLC] Refactor the simplication of pow() (NFC) 2018-07-30 16:20:04 +00:00
WindowsManifest Convert line endings of lib/WindowsManifest/CMakeLists.txt to unix. 2018-04-07 04:28:08 +00:00
XRay [XRay][compiler-rt] Add PID field to llvm-xray tool and add PID metadata record entry in FDR mode 2018-07-13 05:38:22 +00:00
CMakeLists.txt
LLVMBuild.txt