This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Add MemOp into LDRcp to enable removing
ClosedPublic

Authored by yinma on Nov 6 2018, 11:49 AM.

Details

Summary

LDRcp should be deleted when the dest register is dead in register coalescing. Without MemOp, dead LDRcp will cause dead constant pool value which references to non-existing label.

Diff Detail

Repository
rL LLVM

Event Timeline

yinma created this revision.Nov 6 2018, 11:49 AM

(It's customary to mention the target name in the title for patches which only touch one target, e.g. "[ARM] Add MemOp into LDRcp to enable removing", to help people quickly sort through llvm-commits.)

test/CodeGen/ARM/ldrcppic.ll
1 ↗(On Diff #172813)

Probably worth adding a comment to explain this RUN line, since it's a bit unusual.

47 ↗(On Diff #172813)

Please clean up the testcase to get rid of unnecessary attributes/branches/etc.

yinma retitled this revision from Add MemOp into LDRcp to enable removing to [ARM] Add MemOp into LDRcp to enable removing.Nov 6 2018, 11:55 AM
yinma updated this revision to Diff 172847.Nov 6 2018, 1:53 PM
yinma updated this revision to Diff 173058.Nov 7 2018, 3:37 PM
efriedma added inline comments.Nov 7 2018, 4:06 PM
test/CodeGen/ARM/ldrcppic.ll
1 ↗(On Diff #172813)

I was hoping for a comment that would directly answer the question "why is this testcase using -filetype=obj, instead of emitting assembly"?

yinma updated this revision to Diff 173195.Nov 8 2018, 10:37 AM
This revision is now accepted and ready to land.Nov 8 2018, 11:25 AM
This revision was automatically updated to reflect the committed changes.