This allows us to model PHI nodes in the polyhedral description without demoting them. The modeling however will result in the same accesses as the demotion would have introduced.
the patch looks good in general. As you mentioned earlier, the test coverage is still a little low. I would be interested in a loop with a non-IV PHI node, as well as two tests where the values in the PHis are instructions, once executed in the incoming basic blocks and once in a block that is post-dominated by the relevant incoming block. What do you think?
|155 ↗||(On Diff #19341)|
|102 ↗||(On Diff #19341)|
Maybe a comment on how we handle PHI accesses, where loads/stores are created.
|111 ↗||(On Diff #19341)|
Can this ever happen? If it can, maybe this is worth a test case, otherwise maybe make this an assert?
|229 ↗||(On Diff #19341)|
No need for braces?
I don't know what test you exactly want. I added some and also fixed an
inconsistency I encountered along the way. If you want a specific test please
give me some C snippet or a at least a more precise description.