llvm-6502/lib
Arnold Schwaighofer f4775827d0 LoopVectorizer: Perform redundancy elimination on induction variables
When the loop vectorizer was part of the SCC inliner pass manager gvn would
run after the loop vectorizer followed by instcombine. This way redundancy
(multiple uses) were removed and instcombine could perform scalarization on the
induction variables. Having moved the loop vectorizer to later we no longer run
any form of redundancy elimination before we perform instcombine. This caused
vectorized induction variables to survive that did not before.

On a recent iMac this helps linpack back from 6000Mflops to 7000Mflops.

This should also help lpbench and paq8p.

I ran a Release (without Asserts) build over the test-suite and did not see any
negative impact on compile time.

radar://15339680

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193891 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-01 22:18:19 +00:00
..
Analysis Consider (x == -1) unlikely in BranchProbabilityInfo 2013-11-01 10:58:22 +00:00
AsmParser Remove linkonce_odr_auto_hide. 2013-11-01 17:09:14 +00:00
Bitcode Remove linkonce_odr_auto_hide. 2013-11-01 17:09:14 +00:00
CodeGen [Stackmap] Remove erroneous assert. 2013-11-01 17:53:27 +00:00
DebugInfo DebugInfo: Make pubnames header printing similar to unit header printing 2013-11-01 17:53:30 +00:00
ExecutionEngine The FIXME was indeed fixed in the linker, comment removed. 2013-10-25 12:01:53 +00:00
IR Remove linkonce_odr_auto_hide. 2013-11-01 17:09:14 +00:00
IRReader Add 'const' qualifiers to static const char* variables. 2013-07-16 01:17:10 +00:00
Linker Add a 'deleteModule' method to the Linker class. 2013-10-16 08:59:57 +00:00
LTO Remove linkonce_odr_auto_hide. 2013-11-01 17:09:14 +00:00
MC Add to the disassembler C API output reference types for 2013-11-01 00:00:07 +00:00
Object Support for microMIPS jump instructions 2013-10-29 16:38:59 +00:00
Option Fix another mistake in r190442. 2013-09-10 23:22:56 +00:00
Support [ConstantRange] improve my previous patch per Nick suggestion 2013-10-31 19:53:53 +00:00
TableGen Fix most memory leaks in tablegen. 2013-10-31 04:07:41 +00:00
Target Use isa<> instead of dyn_cast<> with unused value 2013-11-01 17:39:26 +00:00
Transforms LoopVectorizer: Perform redundancy elimination on induction variables 2013-11-01 22:18:19 +00:00
CMakeLists.txt Move LTO support library to a component, allowing it to be tested 2013-09-24 23:52:22 +00:00
LLVMBuild.txt Move LTO support library to a component, allowing it to be tested 2013-09-24 23:52:22 +00:00
Makefile Reformat Makefile. No other changes. 2013-10-30 04:03:03 +00:00