llvm-mirror/lib
Dan Gohman 37fef35e88 Teach SCEVExpander's visitAddRecExpr to reuse an existing canonical
induction variable when the addrec to be expanded does not require
a wider type. This eliminates the need for IndVarSimplify to
micro-manage SCEV expansions, because SCEVExpander now
automatically expands them in the form that IndVarSimplify considers
to be canonical. (LSR still micro-manages its SCEV expansions,
because it's optimizing for the target, rather than for
other optimizations.)

Also, this uses the new getAnyExtendExpr, which has more clever
expression simplification logic than the IndVarSimplify code it
replaces, and this cleans up some ugly expansions in code such as
the included masked-iv.ll testcase.

llvm-svn: 73294
2009-06-13 16:25:49 +00:00
..
Analysis Teach SCEVExpander's visitAddRecExpr to reuse an existing canonical 2009-06-13 16:25:49 +00:00
Archive Avoid leaking memory in an error path. Noticed 2009-06-11 08:09:49 +00:00
AsmParser Create FunctionType::isValidArgumentType to go along with isValidReturnType. 2009-06-07 07:26:46 +00:00
Bitcode Don't remove aggregate-typed module level constants before encoding functions 2009-06-12 05:20:12 +00:00
CodeGen Add a ARM specific pre-allocation pass that re-schedule loads / stores from 2009-06-13 09:12:55 +00:00
CompilerDriver
Debugger
ExecutionEngine After obtaining the lock, look if the function has been codegen'd by 2009-06-12 14:11:08 +00:00
Linker
Support Add support for outputting ANSI colors to raw_fd_ostream. 2009-06-04 07:09:50 +00:00
System Fix comments. 2009-06-04 08:18:25 +00:00
Target Add a ARM specific pre-allocation pass that re-schedule loads / stores from 2009-06-13 09:12:55 +00:00
Transforms Teach SCEVExpander's visitAddRecExpr to reuse an existing canonical 2009-06-13 16:25:49 +00:00
VMCore Give Instruction::isSameOperationAs a corresponding comment to note 2009-06-12 19:03:05 +00:00
Makefile