summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2011-03-18 16:50:32 +0000
committerAndrew Trick <atrick@apple.com>2011-03-18 16:50:32 +0000
commit1c4b42d00f8cad70582e9afc6d1dbdab8253e2ab (patch)
tree1684a357805a4974fc2737566f1e1294cf1b513c /llvm/include
parent6e31408af1ed463b5f0290085b6dd2f6fff83ed1 (diff)
downloadbcm5719-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.h2
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
OpenPOWER on IntegriCloud