llvm-project/llvm/lib
Tim Northover c4093c3ced ARM: don't mangle DAG constant if it has more than one use
The basic optimisation was to convert (mul $LHS, $complex_constant) into
roughly "(shl (mul $LHS, $simple_constant), $simple_amt)" when it was expected
to be cheaper. The original logic checks that the mul only has one use (since
we're mangling $complex_constant), but when used in even more complex
addressing modes there may be an outer addition that can pick up the wrong
value too.

I *think* the ARM addressing-mode problem is actually unreachable at the
moment, but that depends on complex assessments of the profitability of
pre-increment addressing modes so I've put a real check in there instead of an
assertion.

llvm-svn: 259228
2016-01-29 19:18:46 +00:00
..
Analysis Lower inlining threshold when the caller has minsize attribute. 2016-01-28 23:44:41 +00:00
AsmParser Remove autoconf support 2016-01-26 21:29:08 +00:00
Bitcode [llvm-bcanalyzer] Dump bitcode wrapper header 2016-01-29 05:55:09 +00:00
CodeGen [codeview] Begin to add support for inlined call sites 2016-01-29 18:16:43 +00:00
DebugInfo [DebugInfo] Support zero-length CIE in the _eh_frame parser 2016-01-27 14:05:35 +00:00
ExecutionEngine [RuntimeDyld][MachO] Fix handling of empty eh-frame sections. 2016-01-28 22:35:48 +00:00
Fuzzer Temporary disable broken fuzzer/timeout tests. 2016-01-25 19:05:45 +00:00
IR Revert r259035, it introduces a cyclic library dependency 2016-01-28 13:19:47 +00:00
IRReader Remove autoconf support 2016-01-26 21:29:08 +00:00
LTO Move MCTargetAsmParser.h to llvm/MC/MCParser where it belongs. 2016-01-27 10:01:28 +00:00
LibDriver Remove autoconf support 2016-01-26 21:29:08 +00:00
LineEditor Remove autoconf support 2016-01-26 21:29:08 +00:00
Linker Improve efficiency of handling unmapped subprogram metadata 2016-01-28 15:08:09 +00:00
MC [codeview] Begin to add support for inlined call sites 2016-01-29 18:16:43 +00:00
Object Move MCTargetAsmParser.h to llvm/MC/MCParser where it belongs. 2016-01-27 10:01:28 +00:00
Option Remove autoconf support 2016-01-26 21:29:08 +00:00
Passes Remove autoconf support 2016-01-26 21:29:08 +00:00
ProfileData [PGO] allow pgo name collector to disable compression (for testing)/NFC 2016-01-26 23:13:00 +00:00
Support Don't mention a command line option in an error. 2016-01-28 22:55:45 +00:00
TableGen Remove autoconf support 2016-01-26 21:29:08 +00:00
Target ARM: don't mangle DAG constant if it has more than one use 2016-01-29 19:18:46 +00:00
Transforms Fix the build 2016-01-29 17:46:57 +00:00
CMakeLists.txt LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00
LLVMBuild.txt Wrap some long lines in LLVMBuild files. NFC 2015-06-12 18:44:57 +00:00