[polly] r252725 - ScopDetection: Do not allow blocks to reference operands in error blocks

Tobias Grosser via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 11 12:30:13 PST 2015


On 11/11/2015 06:42 PM, Johannes Doerfert wrote:
> On 11/11, Tobias Grosser wrote:
>> On 11/11/2015 06:14 PM, Johannes Doerfert wrote:
>>> Before, blocks only reachable via error blocks were not part of the SCoP
>>> either and consequently there was no code generated. Did that change?
>>
>> There is still no code generated, but we now model such blocks as we need
>> their domains when propagating iteration domains.
> I get that, but this changes the behaviour in a non-obvious way.

Right. Thanks for thinking this through. I would have preferred a 
solution that does not involve to add these blocks back, but this would 
have required the post-dominators which I am afraid might not yet be 
usable. Hence, I decided to take this solution for  now to ensure the 
immediate bugs are fixed and the buildbot are green. Still, a 
post-dominator based solution should probably be what we aim for.

> We
> should at least keep that in mind. If necessary we could remove the statements
> again after we built the domains or change the domain generation to look
> if a branch target is an error block and to ignore that. Anyway, I just
> wanted to clarify how we handle error blocks now.

Sure. If there are ways to make this code nicer/better/more structured, 
please feel free to improve the code.

Best,
Tobias



More information about the llvm-commits mailing list