This is an archive of the discontinued LLVM Phabricator instance.

[GlobalISel] Don't DCE LIFETIME_START/LIFETIME_END markers.
ClosedPublic

Authored by aemerson on Mar 17 2021, 1:29 PM.

Details

Summary

These are pseudos without any users, so DCE was killing them in the combiner.

Marking them as having side effects doesn't seem quite right since they don't.

Gives a nice 0.3% geomean size win on CTMark -Os.

Diff Detail

Event Timeline

aemerson created this revision.Mar 17 2021, 1:29 PM
aemerson requested review of this revision.Mar 17 2021, 1:29 PM
arsenm added inline comments.Mar 17 2021, 3:02 PM
llvm/test/CodeGen/AArch64/GlobalISel/lifetime-marker-no-dce.mir
8–18

Don't need the IR section

aemerson added inline comments.Mar 17 2021, 3:21 PM
llvm/test/CodeGen/AArch64/GlobalISel/lifetime-marker-no-dce.mir
8–18

We do because we need the stack slot defined by the alloca.

arsenm added inline comments.Mar 17 2021, 3:21 PM
llvm/test/CodeGen/AArch64/GlobalISel/lifetime-marker-no-dce.mir
8–18

You don't need it, you just need to drop the name

aemerson updated this revision to Diff 331399.Mar 17 2021, 3:45 PM
arsenm accepted this revision.Mar 17 2021, 5:17 PM
This revision is now accepted and ready to land.Mar 17 2021, 5:17 PM