[RegionPass] Fix forgotten "!".

Commit r355068 "Fix IR/Analysis layering issue with OptBisect" uses the
template

   return Gate.isEnabled() && !Gate.shouldRunPass(this, getDescription(...));

for all pass kinds. For the RegionPass, it left out the not operator,
causing region passes to be skipped as soon as a pass gate is used.

llvm-svn: 355733
This commit is contained in:
Michael Kruse 2019-03-08 21:03:06 +00:00
parent 3d678b5336
commit 65c5821e3f
1 changed files with 1 additions and 1 deletions

View File

@ -285,7 +285,7 @@ static std::string getDescription(const Region &R) {
bool RegionPass::skipRegion(Region &R) const {
Function &F = *R.getEntry()->getParent();
OptPassGate &Gate = F.getContext().getOptPassGate();
if (Gate.isEnabled() && Gate.shouldRunPass(this, getDescription(R)))
if (Gate.isEnabled() && !Gate.shouldRunPass(this, getDescription(R)))
return true;
if (F.hasFnAttribute(Attribute::OptimizeNone)) {