summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/BasicAliasAnalysis.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-06-19 08:05:58 +0000
committerChris Lattner <sabre@nondot.org>2004-06-19 08:05:58 +0000
commitfeda9d0583100febdff796f3fee3da136888333b (patch)
tree2ab1ec6bf181f4ff1a26d205a6fa7c1356f93661 /llvm/lib/Analysis/BasicAliasAnalysis.cpp
parenta52ab6f57fb0bf04151c7eccb5219dd12cceea05 (diff)
downloadbcm5719-llvm-feda9d0583100febdff796f3fee3da136888333b.tar.gz
bcm5719-llvm-feda9d0583100febdff796f3fee3da136888333b.zip
Fix a tiny bug in the -no-aa pass, in which it did not ever get a target data.
This is a regression from 1.2, though noone uses -no-aa anyway llvm-svn: 14245
Diffstat (limited to 'llvm/lib/Analysis/BasicAliasAnalysis.cpp')
-rw-r--r--llvm/lib/Analysis/BasicAliasAnalysis.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/llvm/lib/Analysis/BasicAliasAnalysis.cpp b/llvm/lib/Analysis/BasicAliasAnalysis.cpp
index 9e8aed6f805..d578c9adf3c 100644
--- a/llvm/lib/Analysis/BasicAliasAnalysis.cpp
+++ b/llvm/lib/Analysis/BasicAliasAnalysis.cpp
@@ -42,6 +42,14 @@ namespace {
/// such it doesn't follow many of the rules that other alias analyses must.
///
struct NoAA : public ImmutablePass, public AliasAnalysis {
+ virtual void getAnalysisUsage(AnalysisUsage &AU) const {
+ AU.addRequired<TargetData>();
+ }
+
+ virtual void initializePass() {
+ TD = &getAnalysis<TargetData>();
+ }
+
virtual AliasResult alias(const Value *V1, unsigned V1Size,
const Value *V2, unsigned V2Size) {
return MayAlias;
@@ -61,7 +69,6 @@ namespace {
virtual void deleteValue(Value *V) {}
virtual void copyValue(Value *From, Value *To) {}
- virtual void getAnalysisUsage(AnalysisUsage &AU) const {}
};
// Register this pass...
@@ -78,14 +85,6 @@ namespace {
/// Because it doesn't chain to a previous alias analysis (like -no-aa), it
/// derives from the NoAA class.
struct BasicAliasAnalysis : public NoAA {
- virtual void getAnalysisUsage(AnalysisUsage &AU) const {
- AU.addRequired<TargetData>();
- }
-
- virtual void initializePass() {
- TD = &getAnalysis<TargetData>();
- }
-
AliasResult alias(const Value *V1, unsigned V1Size,
const Value *V2, unsigned V2Size);
OpenPOWER on IntegriCloud