This is an archive of the discontinued LLVM Phabricator instance.

Make context-sensitive isDereferenceable queries in isSafeToLoadUnconditionally
ClosedPublic

Authored by apilipenko on Jan 15 2016, 8:46 AM.

Diff Detail

Event Timeline

apilipenko updated this revision to Diff 44996.Jan 15 2016, 8:46 AM
apilipenko retitled this revision from to Make context-sensitive isDereferenceable queries in isSafeToLoadUnconditionally .
apilipenko updated this object.
apilipenko added reviewers: reames, hfinkel.
apilipenko added a subscriber: llvm-commits.
apilipenko updated this revision to Diff 45000.Jan 15 2016, 9:02 AM
apilipenko updated this revision to Diff 45001.
reames requested changes to this revision.Jan 15 2016, 5:54 PM
reames edited edge metadata.

Please update at least one user of the API and write a test case that shows the difference in behaviour.

include/llvm/Analysis/Loads.h
29

Comment needs updated.

This revision now requires changes to proceed.Jan 15 2016, 5:54 PM

Context sensitive queries support is required to replace isDereferenceableAndAlignedPointer in isSafeToExecuteSpecualtively (D16232). There is one more change required to do this because isSafeToExecuteSpecualtively can have no context and pass null as ScanFrom (D16231). Does it make sense to combine them into one patch?

reames added a comment.Feb 9 2016, 9:12 AM

LGTM w/minor comment addressed.

(p.s. For those following, Artur pointed out to me that the use was in the original review I asked to be split into several parts. Given that, I'm withdrawing my request for an example use.)

include/llvm/Analysis/Loads.h
29

Comment still needs updated.

reames accepted this revision.Feb 9 2016, 9:12 AM
reames edited edge metadata.
This revision is now accepted and ready to land.Feb 9 2016, 9:12 AM
This revision was automatically updated to reflect the committed changes.