[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