This is an archive of the discontinued LLVM Phabricator instance.

[ISEL][ARM][AARCH64] Tracking simple parameter forwarding registers
ClosedPublic

Authored by NikolaPrica on Aug 29 2019, 8:50 AM.

Details

Summary

Support for tracking registers that forward function parameters into the following function frame. For now we only support cases when parameter is forwarded through single register.

Diff Detail

Event Timeline

NikolaPrica created this revision.Aug 29 2019, 8:50 AM
vsk accepted this revision.Aug 29 2019, 11:03 AM

Thanks, I think this is a great starting point. LGTM.

test/DebugInfo/ARM/call-site-info-output.ll
13 ↗(On Diff #217898)

Could hardcoding the offset be brittle?

This revision is now accepted and ready to land.Aug 29 2019, 11:03 AM

Replacing hard-coded test case values with regex.

@vsk Thanks for the review!

Rebase:

-AArch64ISEL part is changed in order do avoid tracking cases when two or more parameters can be in same register.
NikolaPrica marked an inline comment as done.
NikolaPrica added inline comments.
lib/Target/AArch64/AArch64ISelLowering.cpp
3894 ↗(On Diff #220670)

@t.p.northover can you take a look at this part of code since I've just rebased on top of your changes?

This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptOct 8 2019, 2:46 AM
Herald added a subscriber: hiraditya. · View Herald Transcript