[llvm-commits] r133708 strikes me again? - the case clang stalls
John McCall
rjmccall at apple.com
Mon Aug 8 22:58:32 PDT 2011
On Aug 8, 2011, at 9:05 PM, NAKAMURA Takumi wrote:
> It seems BasicBlock::replaceSuccessorsPhiUsesWith() might not handle
> incomplete successors properly on msvc.
>
> In a case I saw, the successor has no instructions.
>
> John, would it be a possible case for CGCleanup to pass incomplete
> Entry Block to llvm?
Well, the block being replaced shouldn't be empty, and the block it's
being replaced with shouldn't be empty, but it is possible for there
to be empty blocks in the CFG somewhere.
I think your patch to LLVM is a good idea; replaceAllUsesWith should
not be assuming a fully-formed AST. As a slight optimization, I would
suggest doing this instead:
if (Succ->empty()) continue;
Jay, does that seem reasonable?
That aside, I'll go ahead and patch clang; SimplifyCleanupEntry is
really just a case of me being too clever by half.
John.
More information about the llvm-commits
mailing list