This is an archive of the discontinued LLVM Phabricator instance.

Delay dominator updation while cloning loop.
ClosedPublic

Authored by tvvikram on Jun 2 2016, 1:05 AM.

Details

Summary

Dominator updation fails for a loop inserted with a new basicblock.

A block required by DT to set the IDom might not have been cloned yet. This is because there is no predefined ordering of loop blocks (except for the header block which should be the first block in the list).

The patch first creates DT nodes for the cloned blocks and then separately updates the DT in a follow-on loop.

Diff Detail

Event Timeline

tvvikram updated this revision to Diff 59344.Jun 2 2016, 1:05 AM
tvvikram retitled this revision from to Delay dominator updation while cloning loop..
tvvikram updated this object.
tvvikram added reviewers: anemet, dberlin.
dberlin edited edge metadata.Jun 8 2016, 8:52 PM
dberlin added a subscriber: dberlin.

This looks correct to me

This looks correct to me

Can I commit the change? Or should I wait till the patch is formally accepted?

dberlin accepted this revision.Jun 10 2016, 7:35 AM
dberlin edited edge metadata.
This revision is now accepted and ready to land.Jun 10 2016, 7:35 AM

Sorry, though i clicked accept, i'll do so.
please commit.

tvvikram closed this revision.Jun 11 2016, 9:47 AM