[ARM] Add MemOp into LDRcp to enable removing
ClosedPublic

Authored by yinma on Tue, Nov 6, 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
yinma created this revision.Tue, Nov 6, 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.Tue, Nov 6, 11:55 AM
yinma updated this revision to Diff 172847.Tue, Nov 6, 1:53 PM
yinma updated this revision to Diff 173058.Wed, Nov 7, 3:37 PM
efriedma added inline comments.Wed, Nov 7, 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.Thu, Nov 8, 10:37 AM
This revision is now accepted and ready to land.Thu, Nov 8, 11:25 AM
This revision was automatically updated to reflect the committed changes.