[LLVMdev] Pass Incompatibility

Devang Patel dpatel at apple.com
Wed Oct 20 09:37:41 PDT 2010


On Oct 20, 2010, at 4:05 AM, Luke Dalessandro wrote:

> If I register DemoteRegisterToMemoryID first

I'd expect this to work.

> then I get this assert during code extraction.

> 
> CodeExtractor.cpp:681: llvm::Function*<unnamed>::CodeExtractor::ExtractCodeRegion(const std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> >&): Assertion `BlocksToExtract.count(*PI) && "No blocks in this region may have entries from outside the region" " except for the first block!"' failed.

AFAIU, this assertion is not related to ordering of analysis passes. Analyzing incoming bb vector for ExtractCodeRegion() may help you understand why you're triggering this assertion. May the vector is stale ?


-
Devang





More information about the llvm-dev mailing list