C.Flags += -D_DEBUG
endif
-CXX.Flags += $(CXXFLAGS)
+CXX.Flags += $(CXXFLAGS) -Woverloaded-virtual
C.Flags += $(CFLAGS)
CPP.BaseFlags += $(CPPFLAGS)
LD.Flags += $(LDFLAGS)
std::ostream &WriteAsOperand(std::ostream&, const Type*, bool PrintTy = true,
bool PrintName = true, const Module* Context = 0);
+#ifndef NDEBUG
+void dumpType(const Type* Ty);
+void dumpValue(const Value* Val);
+#endif
} // End llvm namespace
#endif
AliasResult alias(const Value *V1, unsigned V1Size,
const Value *V2, unsigned V2Size);
- ModRefResult getModRefInfo(CallSite CS, Value *P, unsigned Size);
+ virtual ModRefResult getModRefInfo(CallSite CS, Value *P, unsigned Size);
+ virtual ModRefResult getModRefInfo(CallSite CS1, CallSite CS2);
private:
void ResolveFunctionCall(Function *F, const DSCallSite &Call,
return (ModRefResult)(Result & AliasAnalysis::getModRefInfo(CS, P, Size));
}
+
+AliasAnalysis::ModRefResult
+Steens::getModRefInfo(CallSite CS1, CallSite CS2)
+{
+ return AliasAnalysis::getModRefInfo(CS1,CS2);
+}
//
AliasResult alias(const Value *V1, unsigned V1Size,
const Value *V2, unsigned V2Size);
- ModRefResult getModRefInfo(CallSite CS, Value *P, unsigned Size);
+ virtual ModRefResult getModRefInfo(CallSite CS, Value *P, unsigned Size);
+ virtual ModRefResult getModRefInfo(CallSite CS1, CallSite CS2);
void getMustAliases(Value *P, std::vector<Value*> &RetVals);
bool pointsToConstantMemory(const Value *P);
return AliasAnalysis::getModRefInfo(CS, P, Size);
}
+AliasAnalysis::ModRefResult
+Andersens::getModRefInfo(CallSite CS1, CallSite CS2) {
+ return AliasAnalysis::getModRefInfo(CS1,CS2);
+}
+
/// getMustAlias - We can provide must alias information if we know that a
/// pointer can only point to a specific function or the null pointer.
/// Unfortunately we cannot determine must-alias information for global
// PPC allows a sign-extended 16-bit immediate field.
return (V > -(1 << 16) && V < (1 << 16)-1);
}
+
+bool PPCTargetLowering::isLegalAddressImmediate(llvm::GlobalValue* GV) const {
+ return TargetLowering::isLegalAddressImmediate(GV);
+}
/// isLegalAddressImmediate - Return true if the integer value can be used
/// as the offset of the target addressing mode.
virtual bool isLegalAddressImmediate(int64_t V) const;
+ virtual bool isLegalAddressImmediate(llvm::GlobalValue*) const;
};
}
}
}
-/// printInstruction - This member is called for each Instruction in a function..
-///
+// This member is called for each Instruction in a function..
void AssemblyWriter::printInstruction(const Instruction &I) {
if (AnnotationWriter) AnnotationWriter->emitInstructionAnnot(&I, Out);
}
void print(std::ostream &OS) const {}
+ void print(std::ostream &OS, const llvm::Module*) const {}
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<CallGraph>();