llvm-6502/lib
Andrew Trick 22d20c218a Adding IV chain generation to LSR.
After collecting chains, check if any should be materialized. If so,
hide the chained IV users from the LSR solver. LSR will only solve for
the head of the chain. GenerateIVChains will then materialize the
chained IV users by computing the IV relative to its previous value in
the chain.

In theory, chained IV users could be exposed to LSR's solver. This
would be considerably complicated to implement and I'm not aware of a
case where we need it. In practice it's more important to
intelligently prune the search space of nontrivial loops before
running the solver, otherwise the solver is often forced to prune the
most optimal solutions. Hiding the chained users does this well, so
that LSR is more likely to find the best IV for the chain as a whole.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147801 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-09 21:18:52 +00:00
..
Analysis Update language check. Do not ignore DW_LANG_Python. 2012-01-09 17:49:47 +00:00
Archive Support/FileSystem: Add file_magic and move a vew clients over to it. 2011-12-13 23:17:12 +00:00
AsmParser Removes unused field TheError from LLLexer. 2011-12-21 10:02:45 +00:00
Bitcode Materialize functions whose basic blocks are used by global variables. Fixes 2012-01-02 07:49:53 +00:00
CodeGen Avoid eraseing copies from a reserved register unless the definition can be 2012-01-08 19:52:28 +00:00
DebugInfo Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
ExecutionEngine Fix typo in string 2012-01-06 07:49:17 +00:00
Linker Link symbols with different visibilities according to the rules in the 2012-01-05 23:02:01 +00:00
MC Don't print an unused label before .cfi_endproc. 2012-01-09 00:17:29 +00:00
Object Remove unused variables. 2011-12-25 01:20:19 +00:00
Support revert r147542 after comments from Joerg Sonnenberger 2012-01-05 18:28:46 +00:00
TableGen TableGen: add a comment 2011-12-22 23:16:09 +00:00
Target Split AsmParser into two components - AsmParser and AsmParserVariant 2012-01-09 19:13:28 +00:00
Transforms Adding IV chain generation to LSR. 2012-01-09 21:18:52 +00:00
VMCore generalize LLVMContext::emitError to take a twine instead of a StringRef. 2012-01-03 23:47:05 +00:00
CMakeLists.txt
LLVMBuild.txt LLVMBuild: Introduce a common section which currently has a list of the 2011-12-12 22:45:54 +00:00
Makefile