[polly] r262488 - Fix: Add pass manager barrier.

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 2 09:29:14 PST 2016


Should we have a normal test case for this? (one that's run all the time,
rather than only if you provide those switches manually?)

On Wed, Mar 2, 2016 at 6:59 AM, Michael Kruse via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Author: meinersbur
> Date: Wed Mar  2 08:59:16 2016
> New Revision: 262488
>
> URL: http://llvm.org/viewvc/llvm-project?rev=262488&view=rev
> Log:
> Fix: Add pass manager barrier.
>
> The LNT test suite with -polly-process-unprofitable
> -polly-position=before-vectorizer currenty fails 59 tests. With this
> barrier added, only 16 keep failing. This is probably because Polly's
> code generation currently does not correctly preserve all analyses it
> promised to preserve. Temporarily add this barrier until further
> investigation.
>
> Modified:
>     polly/trunk/lib/Support/RegisterPasses.cpp
>
> Modified: polly/trunk/lib/Support/RegisterPasses.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Support/RegisterPasses.cpp?rev=262488&r1=262487&r2=262488&view=diff
>
> ==============================================================================
> --- polly/trunk/lib/Support/RegisterPasses.cpp (original)
> +++ polly/trunk/lib/Support/RegisterPasses.cpp Wed Mar  2 08:59:16 2016
> @@ -30,6 +30,7 @@
>  #include "polly/ScopInfo.h"
>  #include "llvm/Analysis/CFGPrinter.h"
>  #include "llvm/IR/LegacyPassManager.h"
> +#include "llvm/Transforms/IPO.h"
>  #include "llvm/Transforms/IPO/PassManagerBuilder.h"
>  #include "llvm/Transforms/Scalar.h"
>  #include "llvm/Transforms/Vectorize.h"
> @@ -226,6 +227,11 @@ void registerPollyPasses(llvm::legacy::P
>      break;
>    }
>
> +  // FIXME: This dummy ModulePass keeps some programs from miscompiling,
> +  // probably some not correctly preserved analyses. It acts as a barrier
> to
> +  // force all analysis results to be recomputed.
> +  PM.add(createBarrierNoopPass());
> +
>    if (CFGPrinter)
>      PM.add(llvm::createCFGPrinterPass());
>  }
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160302/de4e3a49/attachment.html>


More information about the llvm-commits mailing list