[polly] ICE with scev-codegen after removal of RegionSimplify

Sebastian Pop spop at codeaurora.org
Fri May 24 11:27:05 PDT 2013


Sebastian Pop wrote:
> I would like to transform the independent blocks pass into an iterative pass

We used to fail in the independent blocks verifier like this:
opt: ../tools/polly/lib/IndependentBlocks.cpp:549: void<unnamed>::IndependentBlocks::verifyScop(const llvm::Region*) const: Assertion `areAllBlocksIndependent(R) && "Cannot generate independent blocks"' failed.

After making the independent blocks pass iterative, we ICE in a different place:
opt: ../tools/polly/lib/Analysis/ScopDetection.cpp:348: bool polly::ScopDetection::isValidInstruction(llvm::Instruction&, polly::ScopDetection::DetectionContext&) const: Assertion `!Context.Verifying && "IndVar"' failed.

It looks like we do a lot of more rewriting and we end up also rewriting the
main IVs out of SSA... leading to a something that shouldn't have been
recognized as a scop.  I definitely don't like the independent blocks pass.

Let's focus on removing independent blocks, as it creates too many problems.

Sebastian
-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation



More information about the llvm-commits mailing list