This is an archive of the discontinued LLVM Phabricator instance.

[EarlyCSE] Don't DSE across readnone functions that may throw
ClosedPublic

Authored by sanjoy on Jan 14 2017, 11:06 PM.

Diff Detail

Repository
rL LLVM

Event Timeline

sanjoy updated this revision to Diff 84483.Jan 14 2017, 11:06 PM
sanjoy retitled this revision from to [EarlyCSE] Don't DSE across readnone functions that may throw.
sanjoy updated this object.
sanjoy added reviewers: dberlin, chandlerc, hfinkel.
sanjoy added a subscriber: llvm-commits.
majnemer edited edge metadata.Jan 17 2017, 10:24 AM

mayReadFromMemoryOrThrow is a weird predicate, could we just use the other two predicates directly?

mayReadFromMemoryOrThrow is a weird predicate, could we just use the other two predicates directly?

Yea, I'll do the same as what I did on the instcombine patch.

sanjoy updated this revision to Diff 84701.Jan 17 2017, 10:55 AM
  • address review
majnemer accepted this revision.Jan 17 2017, 11:05 AM

LGTM

lib/Transforms/Scalar/EarlyCSE.cpp
764–766 ↗(On Diff #84701)

This comment probably needs a small tweak.

This revision is now accepted and ready to land.Jan 17 2017, 11:05 AM
chandlerc accepted this revision.Jan 17 2017, 11:32 AM

LGTM too fwiw.

This revision was automatically updated to reflect the committed changes.