llvm/lib
Dan Gohman 453aa4fbf1 Generalize SCEVExpander::visitAddRecExpr's GEP persuit, and avoid
sending SCEVUnknowns to expandAddToGEP. This avoids the need for
expandAddToGEP to bend the rules and peek into SCEVUnknown
expressions.

Factor out the code for testing whether a SCEV can be factored by
a constant for use in a GEP index. This allows it to handle
SCEVAddRecExprs, by recursing.

As a result, SCEVExpander can now put more things in GEP indices,
so it emits fewer explicit mul instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72366 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-24 18:06:31 +00:00
..
Analysis Generalize SCEVExpander::visitAddRecExpr's GEP persuit, and avoid 2009-05-24 18:06:31 +00:00
Archive
AsmParser Use v.data() instead of &v[0] when SmallVector v might be empty. 2009-05-21 09:52:38 +00:00
Bitcode Make MDNode use CallbackVH. Also change MDNode to store Value* instead of 2009-05-10 20:57:05 +00:00
CodeGen Rewrite ISD::FCOPYSIGN lowering to never use i64. Not really ideal, but 2009-05-24 10:21:20 +00:00
CompilerDriver -write-graph now can be used with -o. 2009-03-27 12:57:14 +00:00
Debugger
ExecutionEngine stat64/open64/lseek64 for the interpreter 2009-05-23 16:23:59 +00:00
Linker Add a new "available_externally" linkage type. This is intended 2009-04-13 05:44:34 +00:00
Support Add llvm::triple constructor from arch, vendor, os strings, and recognize 2009-05-22 02:24:11 +00:00
System Work around a page size issue on Cygwin. 2009-05-23 17:57:59 +00:00
Target Make the PPC backend use a legal type for the operands to the BUILD_VECTOR 2009-05-24 02:03:36 +00:00
Transforms The rewriter may hold references to instructions that are deleted because they are trivially dead. 2009-05-24 14:23:16 +00:00
VMCore Always verify dominfo if expensive checking is enabled. 2009-05-22 08:52:53 +00:00
Makefile