History log of /llvm-project/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp (Results 401 – 425 of 753)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 636a3d61 19-Feb-2012 Ahmed Charles <ace2001ac@gmail.com>

Remove dead code. Improve llvm_unreachable text. Simplify some control flow.

llvm-svn: 150918


# 1b3167ed 28-Jan-2012 Nick Lewycky <nicholas@mxc.ca>

Fix typo.

llvm-svn: 149185


# c908b43d 20-Jan-2012 Andrew Trick <atrick@apple.com>

SCEVExpander fixes. Affects LSR and indvars.

LSR has gradually been improved to more aggressively reuse existing code, particularly existing phi cycles. This exposed problems with the SCEVExpander's

SCEVExpander fixes. Affects LSR and indvars.

LSR has gradually been improved to more aggressively reuse existing code, particularly existing phi cycles. This exposed problems with the SCEVExpander's sloppy treatment of its insertion point. I applied some rigor to the insertion point problem that will hopefully avoid an endless bug cycle in this area. Changes:

- Always used properlyDominates to check safe code hoisting.

- The insertion point provided to SCEV is now considered a lower bound. This is usually a block terminator or the use itself. Under no cirumstance may SCEVExpander insert below this point.

- LSR is reponsible for finding a "canonical" insertion point across expansion of different expressions.

- Robust logic to determine whether IV increments are in "expanded" form and/or can be safely hoisted above some insertion point.

Fixes PR11783: SCEVExpander assert.

llvm-svn: 148535

show more ...


# dbe2bdf9 12-Dec-2011 Andrew Trick <atrick@apple.com>

Indvars: guard against exponential behavior in isHighCostExpansion.

This should always be done as a matter of principal. I don't have a
case that exposes the problem. I just noticed this recently wh

Indvars: guard against exponential behavior in isHighCostExpansion.

This should always be done as a matter of principal. I don't have a
case that exposes the problem. I just noticed this recently while
scanning the code and realized I meant to fix it long ago.

llvm-svn: 146438

show more ...


# 3924cb02 05-Dec-2011 Nadav Rotem <nadav.rotem@intel.com>

Add support for vectors of pointers.

llvm-svn: 145801


# d25089f8 29-Nov-2011 Andrew Trick <atrick@apple.com>

SCEV fix. In general, Add/Mul expressions should not inherit NSW/NUW.

This reverts r139450, fixes r139453, and adds much needed comments and a
unit test.

llvm-svn: 145367


# 7ba71be3 26-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com>

Move code into anonymous namespaces.

llvm-svn: 145154


Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4, llvmorg-3.0.0-rc3
# c2c79c90 02-Nov-2011 Andrew Trick <atrick@apple.com>

Rewrite LinearFunctionTestReplace to handle pointer-type IVs.

We've been hitting asserts in this code due to the many supported
combintions of modes (iv-rewrite/no-iv-rewrite) and IV types. This
sec

Rewrite LinearFunctionTestReplace to handle pointer-type IVs.

We've been hitting asserts in this code due to the many supported
combintions of modes (iv-rewrite/no-iv-rewrite) and IV types. This
second rewrite of the code attempts to deal with these cases systematically.

llvm-svn: 143546

show more ...


# 9dba8af0 02-Nov-2011 Chandler Carruth <chandlerc@gmail.com>

Add parentheses to disambiguate the precedence of these operations and
silence -Wparentheses.

llvm-svn: 143534


# 0dae8903 02-Nov-2011 Andrew Trick <atrick@apple.com>

Broaden an assert to handle enable-iv-rewrite=true following r143183.

Narrowest possible fix for PR11279.

llvm-svn: 143522


Revision tags: llvmorg-3.0.0-rc2
# effdca94 28-Oct-2011 Andrew Trick <atrick@apple.com>

LFTR should avoid a type mismatch with null pointer IVs.

Fixes rdar://10359193 Indvar LinearFunctionTestReplace assertion

llvm-svn: 143183


# 73beaf7b 27-Oct-2011 Eli Friedman <eli.friedman@gmail.com>

It is not safe to sink an alloca into a stacksave/stackrestore pair, so don't do that. <rdar://problem/10352360>

llvm-svn: 143093


Revision tags: llvmorg-3.0.0-rc1
# d50861c8 15-Oct-2011 Andrew Trick <atrick@apple.com>

Fix indvars randomness by removing iteration over a map.

I rewrote the algorithm a while back so it doesn't require map lookup,
but neglected to change the data structure. This was caught by
llvm-gc

Fix indvars randomness by removing iteration over a map.

I rewrote the algorithm a while back so it doesn't require map lookup,
but neglected to change the data structure. This was caught by
llvm-gcc self host, not because there's anything special about
llvm-gcc, but because it is the only test for nondeterminism we
currently have. Unit tests don't work well for everything; we should
always try to have a nondeterminism stress test running.

Fixes PR11133: llvm-gcc self host .o mismatch after enable-iv-rewrite=false

llvm-svn: 142036

show more ...


# f9201c57 11-Oct-2011 Andrew Trick <atrick@apple.com>

Move replaceCongruentIVs into SCEVExapander and bias toward "expanded"
IVs.

Indvars previously chose randomly between congruent IVs. Now it will
bias the decision toward IVs that SCEVExpander likes

Move replaceCongruentIVs into SCEVExapander and bias toward "expanded"
IVs.

Indvars previously chose randomly between congruent IVs. Now it will
bias the decision toward IVs that SCEVExpander likes to create. This
was not done to fix any problem, it's just a welcome side effect of
factoring code.

llvm-svn: 141633

show more ...


# e0e30532 28-Sep-2011 Andrew Trick <atrick@apple.com>

indvars should hoist [sz]ext because licm is not rerun.

llvm-svn: 140670


# 74111ee0 15-Sep-2011 Andrew Trick <atrick@apple.com>

Reapply r139759. Disable IV rewriting by default. See PR10916.

llvm-svn: 139842


# f9f68b81 13-Sep-2011 Andrew Trick <atrick@apple.com>

[indvars] Revert r139579 until 401.bzip -arch i386 miscompilation is fixed. PR10920.

llvm-svn: 139583


# 061d811c 13-Sep-2011 Andrew Trick <atrick@apple.com>

Disable IV rewriting by default. See PR10916.

llvm-svn: 139579


# 3de5b8e4 13-Sep-2011 Andrew Trick <atrick@apple.com>

[indvars] Fix bugs in floating point IV range checks noticed by inspection.

llvm-svn: 139574


# 183013d8 12-Sep-2011 Andrew Trick <atrick@apple.com>

Rename -disable-iv-rewrite to -enable-iv-rewrite=false in preparation for default change.

llvm-svn: 139517


# c7868bf0 10-Sep-2011 Andrew Trick <atrick@apple.com>

[disable-iv-rewrite] Allow WidenIV to handle NSW/NUW operations
better.

Don't immediately give up when an add operation can't be trivially
sign/zero-extended within a loop. If it has NSW/NUW flags,

[disable-iv-rewrite] Allow WidenIV to handle NSW/NUW operations
better.

Don't immediately give up when an add operation can't be trivially
sign/zero-extended within a loop. If it has NSW/NUW flags, generate a
new expression with sign extended (non-recurrent) operand. As before,
if SCEV says that all sign extends are loop invariant, then we can
widen the operation.

llvm-svn: 139453

show more ...


# 465f42ff 09-Sep-2011 Andrew Trick <atrick@apple.com>

Comment formatting.

llvm-svn: 139375


# 1eee7f12 06-Sep-2011 Andrew Trick <atrick@apple.com>

Add -verify-indvars for imperfect SCEV trip count verification after indvars.

llvm-svn: 139169


# eed1e890 26-Aug-2011 Bill Wendling <isanbard@gmail.com>

Don't sink landingpad instructions during ind-var simplification.

llvm-svn: 138651


# 0902a68f 24-Aug-2011 Bill Wendling <isanbard@gmail.com>

Use getFirstInsertionPt instead of getFirstNonPHI so that it skips to the proper
insertion place.

llvm-svn: 138473


1...<<11121314151617181920>>...31