mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 04:32:44 +01:00
Remove unnecessary extra version of isValidAssumeForContext. NFC.
There were 2 versions of this method. A public one which takes a const Instruction* and a private implementation which takes a mutable Value* and casts to an Instruction*. There was no need for the 2 versions as all callers pass a const Instruction* and there was no need for a mutable pointer as we only do analysis here. llvm-svn: 278434
This commit is contained in:
parent
85242fb9f9
commit
5b58e1879b
@ -398,7 +398,7 @@ void llvm::computeKnownBitsFromRangeMetadata(const MDNode &Ranges,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool isEphemeralValueOf(Instruction *I, const Value *E) {
|
static bool isEphemeralValueOf(const Instruction *I, const Value *E) {
|
||||||
SmallVector<const Value *, 16> WorkSet(1, I);
|
SmallVector<const Value *, 16> WorkSet(1, I);
|
||||||
SmallPtrSet<const Value *, 32> Visited;
|
SmallPtrSet<const Value *, 32> Visited;
|
||||||
SmallPtrSet<const Value *, 16> EphValues;
|
SmallPtrSet<const Value *, 16> EphValues;
|
||||||
@ -455,9 +455,9 @@ static bool isAssumeLikeIntrinsic(const Instruction *I) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool isValidAssumeForContext(Value *V, const Instruction *CxtI,
|
bool llvm::isValidAssumeForContext(const Instruction *Inv,
|
||||||
const DominatorTree *DT) {
|
const Instruction *CxtI,
|
||||||
Instruction *Inv = cast<Instruction>(V);
|
const DominatorTree *DT) {
|
||||||
|
|
||||||
// There are two restrictions on the use of an assume:
|
// There are two restrictions on the use of an assume:
|
||||||
// 1. The assume must dominate the context (or the control flow must
|
// 1. The assume must dominate the context (or the control flow must
|
||||||
@ -491,7 +491,7 @@ static bool isValidAssumeForContext(Value *V, const Instruction *CxtI,
|
|||||||
} else if (Inv->getParent() == CxtI->getParent()) {
|
} else if (Inv->getParent() == CxtI->getParent()) {
|
||||||
// Search forward from the assume until we reach the context (or the end
|
// Search forward from the assume until we reach the context (or the end
|
||||||
// of the block); the common case is that the assume will come first.
|
// of the block); the common case is that the assume will come first.
|
||||||
for (BasicBlock::iterator I = std::next(BasicBlock::iterator(Inv)),
|
for (auto I = std::next(BasicBlock::const_iterator(Inv)),
|
||||||
IE = Inv->getParent()->end(); I != IE; ++I)
|
IE = Inv->getParent()->end(); I != IE; ++I)
|
||||||
if (&*I == CxtI)
|
if (&*I == CxtI)
|
||||||
return true;
|
return true;
|
||||||
@ -509,12 +509,6 @@ static bool isValidAssumeForContext(Value *V, const Instruction *CxtI,
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool llvm::isValidAssumeForContext(const Instruction *I,
|
|
||||||
const Instruction *CxtI,
|
|
||||||
const DominatorTree *DT) {
|
|
||||||
return ::isValidAssumeForContext(const_cast<Instruction *>(I), CxtI, DT);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void computeKnownBitsFromAssume(Value *V, APInt &KnownZero,
|
static void computeKnownBitsFromAssume(Value *V, APInt &KnownZero,
|
||||||
APInt &KnownOne, unsigned Depth,
|
APInt &KnownOne, unsigned Depth,
|
||||||
const Query &Q) {
|
const Query &Q) {
|
||||||
|
Loading…
Reference in New Issue
Block a user