forked from OSchip/llvm-project
Add ScopDetection::isValidRegion(Region)
llvm-svn: 201592
This commit is contained in:
parent
dcfbea1e32
commit
9b1100b305
|
@ -141,6 +141,13 @@ class ScopDetection : public FunctionPass {
|
|||
/// @return True if R is a Scop, false otherwise.
|
||||
bool isValidRegion(DetectionContext &Context) const;
|
||||
|
||||
/// @brief Check if a region is a Scop.
|
||||
///
|
||||
/// @param Context The context of scop detection.
|
||||
///
|
||||
/// @return True if R is a Scop, false otherwise.
|
||||
bool isValidRegion(Region &R) const;
|
||||
|
||||
/// @brief Check if a call instruction can be part of a Scop.
|
||||
///
|
||||
/// @param CI The call instruction to check.
|
||||
|
|
|
@ -613,11 +613,9 @@ void ScopDetection::findScops(Region &R) {
|
|||
if (!DetectRegionsWithoutLoops && regionWithoutLoops(R, LI))
|
||||
return;
|
||||
|
||||
DetectionContext Context(R, *AA, false /*verifying*/);
|
||||
|
||||
LastFailure = "";
|
||||
|
||||
if (isValidRegion(Context)) {
|
||||
if (isValidRegion(R)) {
|
||||
++ValidRegion;
|
||||
ValidRegions.insert(&R);
|
||||
return;
|
||||
|
@ -704,6 +702,11 @@ bool ScopDetection::isValidExit(DetectionContext &Context) const {
|
|||
return true;
|
||||
}
|
||||
|
||||
bool ScopDetection::isValidRegion(Region &R) const {
|
||||
DetectionContext Context(R, *AA, false /*verifying*/);
|
||||
return isValidRegion(Context);
|
||||
}
|
||||
|
||||
bool ScopDetection::isValidRegion(DetectionContext &Context) const {
|
||||
Region &R = Context.CurRegion;
|
||||
|
||||
|
|
Loading…
Reference in New Issue