mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 16:33:28 +00:00
Make the SCEV* form of getSCEVAtScope public, to allow ScalarEvolution
clients to use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71258 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a9519579b7
commit
66a7e857aa
@ -345,11 +345,6 @@ namespace llvm {
|
|||||||
Constant *getConstantEvolutionLoopExitValue(PHINode *PN, const APInt& BEs,
|
Constant *getConstantEvolutionLoopExitValue(PHINode *PN, const APInt& BEs,
|
||||||
const Loop *L);
|
const Loop *L);
|
||||||
|
|
||||||
/// getSCEVAtScope - Compute the value of the specified expression within
|
|
||||||
/// the indicated loop (which may be null to indicate in no loop). If the
|
|
||||||
/// expression cannot be evaluated, return UnknownValue itself.
|
|
||||||
SCEVHandle getSCEVAtScope(const SCEV *S, const Loop *L);
|
|
||||||
|
|
||||||
/// forgetLoopPHIs - Delete the memoized SCEVs associated with the
|
/// forgetLoopPHIs - Delete the memoized SCEVs associated with the
|
||||||
/// PHI nodes in the given loop. This is used when the trip count of
|
/// PHI nodes in the given loop. This is used when the trip count of
|
||||||
/// the loop may have changed.
|
/// the loop may have changed.
|
||||||
@ -468,6 +463,10 @@ namespace llvm {
|
|||||||
///
|
///
|
||||||
/// If this value is not computable at this scope, a SCEVCouldNotCompute
|
/// If this value is not computable at this scope, a SCEVCouldNotCompute
|
||||||
/// object is returned.
|
/// object is returned.
|
||||||
|
SCEVHandle getSCEVAtScope(const SCEV *S, const Loop *L);
|
||||||
|
|
||||||
|
/// getSCEVAtScope - This is a convenience function which does
|
||||||
|
/// getSCEVAtScope(getSCEV(V), L).
|
||||||
SCEVHandle getSCEVAtScope(Value *V, const Loop *L);
|
SCEVHandle getSCEVAtScope(Value *V, const Loop *L);
|
||||||
|
|
||||||
/// isLoopGuardedByCond - Test whether entry to the loop is protected by
|
/// isLoopGuardedByCond - Test whether entry to the loop is protected by
|
||||||
|
@ -2721,9 +2721,16 @@ ComputeBackedgeTakenCountExhaustively(const Loop *L, Value *Cond, bool ExitWhen)
|
|||||||
return UnknownValue;
|
return UnknownValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// getSCEVAtScope - Compute the value of the specified expression within the
|
/// getSCEVAtScope - Return a SCEV expression handle for the specified value
|
||||||
/// indicated loop (which may be null to indicate in no loop). If the
|
/// at the specified scope in the program. The L value specifies a loop
|
||||||
/// expression cannot be evaluated, return UnknownValue.
|
/// nest to evaluate the expression at, where null is the top-level or a
|
||||||
|
/// specified loop is immediately inside of the loop.
|
||||||
|
///
|
||||||
|
/// This method can be used to compute the exit value for a variable defined
|
||||||
|
/// in a loop by querying what the value will hold in the parent loop.
|
||||||
|
///
|
||||||
|
/// If this value is not computable at this scope, a SCEVCouldNotCompute
|
||||||
|
/// object is returned.
|
||||||
SCEVHandle ScalarEvolution::getSCEVAtScope(const SCEV *V, const Loop *L) {
|
SCEVHandle ScalarEvolution::getSCEVAtScope(const SCEV *V, const Loop *L) {
|
||||||
// FIXME: this should be turned into a virtual method on SCEV!
|
// FIXME: this should be turned into a virtual method on SCEV!
|
||||||
|
|
||||||
@ -2897,16 +2904,8 @@ SCEVHandle ScalarEvolution::getSCEVAtScope(const SCEV *V, const Loop *L) {
|
|||||||
assert(0 && "Unknown SCEV type!");
|
assert(0 && "Unknown SCEV type!");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// getSCEVAtScope - Return a SCEV expression handle for the specified value
|
/// getSCEVAtScope - This is a convenience function which does
|
||||||
/// at the specified scope in the program. The L value specifies a loop
|
/// getSCEVAtScope(getSCEV(V), L).
|
||||||
/// nest to evaluate the expression at, where null is the top-level or a
|
|
||||||
/// specified loop is immediately inside of the loop.
|
|
||||||
///
|
|
||||||
/// This method can be used to compute the exit value for a variable defined
|
|
||||||
/// in a loop by querying what the value will hold in the parent loop.
|
|
||||||
///
|
|
||||||
/// If this value is not computable at this scope, a SCEVCouldNotCompute
|
|
||||||
/// object is returned.
|
|
||||||
SCEVHandle ScalarEvolution::getSCEVAtScope(Value *V, const Loop *L) {
|
SCEVHandle ScalarEvolution::getSCEVAtScope(Value *V, const Loop *L) {
|
||||||
return getSCEVAtScope(getSCEV(V), L);
|
return getSCEVAtScope(getSCEV(V), L);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user