Page MenuHomePhabricator

[XRay][AArch64] More staging for tail call support in XRay on AArch64 - in LLVM

Authored by rSerge on Jan 20 2017, 5:39 AM.



This patch prepares more for tail call support in XRay. Until the logging part supports tail calls, this is just staging, so it seems LLVM part is mostly ready with this patch.
Related: (compiler-rt)

Diff Detail

Event Timeline

rSerge created this revision.Jan 20 2017, 5:39 AM
rSerge edited the summary of this revision. (Show Details)Jan 20 2017, 6:51 AM
dberris requested changes to this revision.Jan 22 2017, 7:36 PM
dberris added inline comments.

You probably want to make sure that you have the instrumentation map for this function and the one below.

This revision now requires changes to proceed.Jan 22 2017, 7:36 PM
rSerge added inline comments.Jan 23 2017, 6:46 AM

I thought about this, but this is already tested in llvm\test\CodeGen\AArch64\xray-attribute-instrumentation.ll. Why to duplicate here the testing of instrumentation map emission?

dberris added inline comments.Jan 23 2017, 12:43 PM

That's fair -- I was thinking about the off-chance that maybe the tail sled's entry is not emitted as part of the table (or that it has a different type). Adding a test specifically for the tail sled's entry in the map with the correct type gets us coverage to make sure we don't break that part again.

rengolin added inline comments.Jan 24 2017, 2:46 AM

This is in line with what the x86 and hexagon back-ends already have. Should be fine.

dberris accepted this revision.Jan 24 2017, 1:59 PM
This revision is now accepted and ready to land.Jan 24 2017, 1:59 PM
rSerge updated this revision to Diff 85789.Jan 25 2017, 12:22 PM

Added checking for xray instrumentation map emission in the test.

rSerge marked an inline comment as done.Jan 25 2017, 12:23 PM
rSerge closed this revision.Jan 25 2017, 12:32 PM

Reached mainline in revision 293080.