mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14245 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -42,6 +42,14 @@ namespace {
|
|||||||
/// such it doesn't follow many of the rules that other alias analyses must.
|
/// such it doesn't follow many of the rules that other alias analyses must.
|
||||||
///
|
///
|
||||||
struct NoAA : public ImmutablePass, public AliasAnalysis {
|
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,
|
virtual AliasResult alias(const Value *V1, unsigned V1Size,
|
||||||
const Value *V2, unsigned V2Size) {
|
const Value *V2, unsigned V2Size) {
|
||||||
return MayAlias;
|
return MayAlias;
|
||||||
@@ -61,7 +69,6 @@ namespace {
|
|||||||
|
|
||||||
virtual void deleteValue(Value *V) {}
|
virtual void deleteValue(Value *V) {}
|
||||||
virtual void copyValue(Value *From, Value *To) {}
|
virtual void copyValue(Value *From, Value *To) {}
|
||||||
virtual void getAnalysisUsage(AnalysisUsage &AU) const {}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Register this pass...
|
// Register this pass...
|
||||||
@@ -78,14 +85,6 @@ namespace {
|
|||||||
/// Because it doesn't chain to a previous alias analysis (like -no-aa), it
|
/// Because it doesn't chain to a previous alias analysis (like -no-aa), it
|
||||||
/// derives from the NoAA class.
|
/// derives from the NoAA class.
|
||||||
struct BasicAliasAnalysis : public NoAA {
|
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,
|
AliasResult alias(const Value *V1, unsigned V1Size,
|
||||||
const Value *V2, unsigned V2Size);
|
const Value *V2, unsigned V2Size);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user