llvm-project/llvm/lib
Andrew Trick 69d4452f2e indvars -disable-iv-rewrite: Adds support for eliminating identity
ops.

This is a rewrite of the IV simplification algorithm used by
-disable-iv-rewrite. To avoid perturbing the default mode, I
temporarily split the driver and created SimplifyIVUsersNoRewrite. The
idea is to avoid doing opcode/pattern matching inside
IndVarSimplify. SCEV already does it. We want to optimize with the
full generality of SCEV, but optimize def-use chains top down on-demand rather
than rewriting the entire expression bottom-up. This was easy to do
for operations that SCEV can prove are identity function. So we're now
eliminating bitmasks and zero extends this way.

A result of this rewrite is that indvars -disable-iv-rewrite no longer
requires IVUsers.

llvm-svn: 133502
2011-06-21 03:22:38 +00:00
..
Analysis Revamp the "ConstantStruct::get" methods. Previously, these were scattered 2011-06-20 04:01:31 +00:00
Archive Revert PathV2 changes, as sys::fs::unique_file is not finished yet. 2011-03-01 19:50:55 +00:00
AsmParser Revamp the "ConstantStruct::get" methods. Previously, these were scattered 2011-06-20 04:01:31 +00:00
Bitcode Make better use of the PHINode API. 2011-06-20 14:18:48 +00:00
CodeGen Disable again. 2011-06-20 17:04:08 +00:00
CompilerDriver Build CompilerDriver library. 2011-03-12 22:01:42 +00:00
ExecutionEngine eliminate the Type::getDescription() method, using "<<" instead. This 2011-06-18 21:18:23 +00:00
Linker Set the unnamed_addr only when we're creating a new GV in the dest module. 2011-03-29 23:31:06 +00:00
MC Remove the subclassing. This will be moved to the ASM printer. 2011-06-20 22:12:24 +00:00
Object Revert r132910 and r132909 on behalf of Michael. They didn't build with clang. 2011-06-13 12:56:51 +00:00
Support add option for literal formatting to APInt::toString() 2011-06-15 00:51:55 +00:00
Target Revert r133435 and r133449 to appease buildbots. 2011-06-21 02:09:03 +00:00
Transforms indvars -disable-iv-rewrite: Adds support for eliminating identity 2011-06-21 03:22:38 +00:00
VMCore Revert r133435 and r133449 to appease buildbots. 2011-06-21 02:09:03 +00:00
CMakeLists.txt Build CompilerDriver library. 2011-03-12 22:01:42 +00:00
Makefile Add LLVMObject Library. 2010-11-15 03:21:41 +00:00