This is an archive of the discontinued LLVM Phabricator instance.

Bail as early as possible
ClosedPublic

Authored by jdoerfert on Mar 27 2016, 2:22 PM.

Details

Summary
Instead of waiting for the domain construction to finish we will now
bail as early as possible in case a complexity problem is encountered.
This might save compile time but more importantly it makes the "abort"
explicit. While we can always check if we invalidated the assumed
context we can simply propagate the result of the construction back.
This also removes the HasComplexCFG flag that was used for the very
same reason.

Diff Detail

Repository
rL LLVM

Event Timeline

jdoerfert updated this revision to Diff 51750.Mar 27 2016, 2:22 PM
jdoerfert retitled this revision from to Bail as early as possible.
jdoerfert updated this object.
jdoerfert added reviewers: chrisj, grosser, Meinersbur.
jdoerfert added a subscriber: Restricted Project.

Hey Chris,

I would like your input on this patch.

I run into problems with your new HasComplexCFG flag as it will "silently" invalidate domains (ok not that silent because the flag exists but I din't think to check). Can you see if this more explicit approach works for you too?

Thanks in advance,

Johannes
grosser accepted this revision.Mar 29 2016, 10:09 AM
grosser edited edge metadata.

From my perspective this LGTM.

Let's see if Chris has more input.

This revision is now accepted and ready to land.Mar 29 2016, 10:09 AM
This revision was automatically updated to reflect the committed changes.