ScopInfo: Return immediately if scop is unprofitable and marked invalid

As we already log an error when calling invalid, scops unprofitable scops are in
any case marked invalid, but returning immediately safes (a tiny bit of) compile
time and is consistent with our use of 'invalid' in the remainder of the file.

Found by inspection.

llvm-svn: 256140
This commit is contained in:
Tobias Grosser 2015-12-21 09:09:44 +00:00
parent bfaf1ae309
commit 594882573e
1 changed files with 3 additions and 3 deletions

View File

@ -1160,7 +1160,7 @@ bool ScopDetection::isValidRegion(DetectionContext &Context) const {
int NumLoops = countBeneficialLoops(&CurRegion);
if (!PollyProcessUnprofitable && NumLoops < 2)
invalid<ReportUnprofitable>(Context, /*Assert=*/true, &CurRegion);
return invalid<ReportUnprofitable>(Context, /*Assert=*/true, &CurRegion);
if (!allBlocksValid(Context))
return false;
@ -1168,12 +1168,12 @@ bool ScopDetection::isValidRegion(DetectionContext &Context) const {
// We can probably not do a lot on scops that only write or only read
// data.
if (!PollyProcessUnprofitable && (!Context.hasStores || !Context.hasLoads))
invalid<ReportUnprofitable>(Context, /*Assert=*/true, &CurRegion);
return invalid<ReportUnprofitable>(Context, /*Assert=*/true, &CurRegion);
// Check if there are sufficent non-overapproximated loops.
int NumAffineLoops = NumLoops - Context.BoxedLoopsSet.size();
if (!PollyProcessUnprofitable && NumAffineLoops < 2)
invalid<ReportUnprofitable>(Context, /*Assert=*/true, &CurRegion);
return invalid<ReportUnprofitable>(Context, /*Assert=*/true, &CurRegion);
DEBUG(dbgs() << "OK\n");
return true;