mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
Remove getValueRange from SCEV. It wasn't doing anything there anyways, and a
more complete version is now available from the LoopVR pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53269 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0af8225088
commit
b0b046848f
@ -59,10 +59,6 @@ namespace llvm {
|
||||
|
||||
unsigned getSCEVType() const { return SCEVType; }
|
||||
|
||||
/// getValueRange - Return the tightest constant bounds that this value is
|
||||
/// known to have. This method is only valid on integer SCEV objects.
|
||||
virtual ConstantRange getValueRange() const;
|
||||
|
||||
/// isLoopInvariant - Return true if the value of this SCEV is unchanging in
|
||||
/// the specified loop.
|
||||
virtual bool isLoopInvariant(const Loop *L) const = 0;
|
||||
|
@ -42,10 +42,6 @@ namespace llvm {
|
||||
public:
|
||||
ConstantInt *getValue() const { return V; }
|
||||
|
||||
/// getValueRange - Return the tightest constant bounds that this value is
|
||||
/// known to have. This method is only valid on integer SCEV objects.
|
||||
virtual ConstantRange getValueRange() const;
|
||||
|
||||
virtual bool isLoopInvariant(const Loop *L) const {
|
||||
return true;
|
||||
}
|
||||
@ -104,10 +100,6 @@ namespace llvm {
|
||||
return SE.getTruncateExpr(H, Ty);
|
||||
}
|
||||
|
||||
/// getValueRange - Return the tightest constant bounds that this value is
|
||||
/// known to have. This method is only valid on integer SCEV objects.
|
||||
virtual ConstantRange getValueRange() const;
|
||||
|
||||
virtual void print(std::ostream &OS) const;
|
||||
void print(std::ostream *OS) const { if (OS) print(*OS); }
|
||||
|
||||
@ -141,10 +133,6 @@ namespace llvm {
|
||||
return Op->hasComputableLoopEvolution(L);
|
||||
}
|
||||
|
||||
/// getValueRange - Return the tightest constant bounds that this value is
|
||||
/// known to have. This method is only valid on integer SCEV objects.
|
||||
virtual ConstantRange getValueRange() const;
|
||||
|
||||
SCEVHandle replaceSymbolicValuesWithConcrete(const SCEVHandle &Sym,
|
||||
const SCEVHandle &Conc,
|
||||
ScalarEvolution &SE) const {
|
||||
@ -187,10 +175,6 @@ namespace llvm {
|
||||
return Op->hasComputableLoopEvolution(L);
|
||||
}
|
||||
|
||||
/// getValueRange - Return the tightest constant bounds that this value is
|
||||
/// known to have. This method is only valid on integer SCEV objects.
|
||||
virtual ConstantRange getValueRange() const;
|
||||
|
||||
SCEVHandle replaceSymbolicValuesWithConcrete(const SCEVHandle &Sym,
|
||||
const SCEVHandle &Conc,
|
||||
ScalarEvolution &SE) const {
|
||||
|
@ -117,15 +117,6 @@ void SCEV::dump() const {
|
||||
print(cerr);
|
||||
}
|
||||
|
||||
/// getValueRange - Return the tightest constant bounds that this value is
|
||||
/// known to have. This method is only valid on integer SCEV objects.
|
||||
ConstantRange SCEV::getValueRange() const {
|
||||
const Type *Ty = getType();
|
||||
assert(Ty->isInteger() && "Can't get range for a non-integer SCEV!");
|
||||
// Default to a full range if no better information is available.
|
||||
return ConstantRange(getBitWidth());
|
||||
}
|
||||
|
||||
uint32_t SCEV::getBitWidth() const {
|
||||
if (const IntegerType* ITy = dyn_cast<IntegerType>(getType()))
|
||||
return ITy->getBitWidth();
|
||||
@ -192,10 +183,6 @@ SCEVHandle ScalarEvolution::getConstant(const APInt& Val) {
|
||||
return getConstant(ConstantInt::get(Val));
|
||||
}
|
||||
|
||||
ConstantRange SCEVConstant::getValueRange() const {
|
||||
return ConstantRange(V->getValue());
|
||||
}
|
||||
|
||||
const Type *SCEVConstant::getType() const { return V->getType(); }
|
||||
|
||||
void SCEVConstant::print(std::ostream &OS) const {
|
||||
@ -220,10 +207,6 @@ SCEVTruncateExpr::~SCEVTruncateExpr() {
|
||||
SCEVTruncates->erase(std::make_pair(Op, Ty));
|
||||
}
|
||||
|
||||
ConstantRange SCEVTruncateExpr::getValueRange() const {
|
||||
return getOperand()->getValueRange().truncate(getBitWidth());
|
||||
}
|
||||
|
||||
void SCEVTruncateExpr::print(std::ostream &OS) const {
|
||||
OS << "(truncate " << *Op << " to " << *Ty << ")";
|
||||
}
|
||||
@ -246,10 +229,6 @@ SCEVZeroExtendExpr::~SCEVZeroExtendExpr() {
|
||||
SCEVZeroExtends->erase(std::make_pair(Op, Ty));
|
||||
}
|
||||
|
||||
ConstantRange SCEVZeroExtendExpr::getValueRange() const {
|
||||
return getOperand()->getValueRange().zeroExtend(getBitWidth());
|
||||
}
|
||||
|
||||
void SCEVZeroExtendExpr::print(std::ostream &OS) const {
|
||||
OS << "(zeroextend " << *Op << " to " << *Ty << ")";
|
||||
}
|
||||
@ -272,10 +251,6 @@ SCEVSignExtendExpr::~SCEVSignExtendExpr() {
|
||||
SCEVSignExtends->erase(std::make_pair(Op, Ty));
|
||||
}
|
||||
|
||||
ConstantRange SCEVSignExtendExpr::getValueRange() const {
|
||||
return getOperand()->getValueRange().signExtend(getBitWidth());
|
||||
}
|
||||
|
||||
void SCEVSignExtendExpr::print(std::ostream &OS) const {
|
||||
OS << "(signextend " << *Op << " to " << *Ty << ")";
|
||||
}
|
||||
@ -2906,12 +2881,6 @@ void ScalarEvolution::print(std::ostream &OS, const Module* ) const {
|
||||
SV->print(OS);
|
||||
OS << "\t\t";
|
||||
|
||||
if ((*I).getType()->isInteger()) {
|
||||
ConstantRange Bounds = SV->getValueRange();
|
||||
if (!Bounds.isFullSet())
|
||||
OS << "Bounds: " << Bounds << " ";
|
||||
}
|
||||
|
||||
if (const Loop *L = LI.getLoopFor((*I).getParent())) {
|
||||
OS << "Exits: ";
|
||||
SCEVHandle ExitValue = getSCEVAtScope(&*I, L->getParentLoop());
|
||||
|
Loading…
Reference in New Issue
Block a user