This is an archive of the discontinued LLVM Phabricator instance.

[AST] Mark invariant.starts as being readonly
ClosedPublic

Authored by reames on Aug 16 2018, 1:29 PM.

Details

Summary

These intrinsics are modelled as writing for control flow purposes, but they don't actually write to any location. Marking these - as we did for guards - allows LICM to hoist loads out of loops containing invariant.starts.

Diff Detail

Repository
rL LLVM

Event Timeline

reames created this revision.Aug 16 2018, 1:29 PM
reames added inline comments.Aug 16 2018, 1:50 PM
test/Transforms/LICM/invariant.start.ll
89 ↗(On Diff #161100)

This has been addressed in a separate change and will disappear when rebased.

anna accepted this revision.Aug 16 2018, 2:17 PM

LGTM.

This revision is now accepted and ready to land.Aug 16 2018, 2:17 PM
This revision was automatically updated to reflect the committed changes.