diff options
author | Andrew Trick <atrick@apple.com> | 2011-03-18 16:50:32 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2011-03-18 16:50:32 +0000 |
commit | 1c4b42d00f8cad70582e9afc6d1dbdab8253e2ab (patch) | |
tree | 1684a357805a4974fc2737566f1e1294cf1b513c /llvm/include | |
parent | 6e31408af1ed463b5f0290085b6dd2f6fff83ed1 (diff) | |
download | bcm5719-llvm-1c4b42d00f8cad70582e9afc6d1dbdab8253e2ab.tar.gz bcm5719-llvm-1c4b42d00f8cad70582e9afc6d1dbdab8253e2ab.zip |
Avoid creating canonical induction variables for non-native types.
For example, on 32-bit architecture, don't promote all uses of the IV
to 64-bits just because one use is a 64-bit cast.
Alternate implementation of the patch by Arnaud de Grandmaison.
llvm-svn: 127884
Diffstat (limited to 'llvm/include')
-rw-r--r-- | llvm/include/llvm/Analysis/IVUsers.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/include/llvm/Analysis/IVUsers.h b/llvm/include/llvm/Analysis/IVUsers.h index 578e6aba833..e56d24d583d 100644 --- a/llvm/include/llvm/Analysis/IVUsers.h +++ b/llvm/include/llvm/Analysis/IVUsers.h @@ -28,6 +28,7 @@ class IVUsers; class ScalarEvolution; class SCEV; class IVUsers; +class TargetData; /// IVStrideUse - Keep track of one use of a strided induction variable. /// The Expr member keeps track of the expression, User is the actual user @@ -122,6 +123,7 @@ class IVUsers : public LoopPass { LoopInfo *LI; DominatorTree *DT; ScalarEvolution *SE; + TargetData *TD; SmallPtrSet<Instruction*,16> Processed; /// IVUses - A list of all tracked IV uses of induction variable expressions |