[PATCH] D40894: [XRay][compiler-rt+llvm] Update XRay trampoline CFI and register stashing semantics

Dean Michael Berris via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 14 21:18:15 PST 2017


dberris added reviewers: echristo, chandlerc.
dberris added a subscriber: chandlerc.
dberris added a comment.

Thanks @dblaikie -- @echristo, when you have time, would really appreciate some thoughts on the following:

- The register stashing strategy for the custom event intrinsic -- whether it should stash all, some, and/or maybe do something else.

- In the SelectionDAG implementation, attempt to make the call to the intrinsic as non-disruptive to optimisations and register allocation as possible, or whether to go the current state and just signal that the intrinsic may very well use all the registers anyway.

I have a slight preference to incur the cost of stashing all/most of the registers in the trampoline when XRay is enabled and we're doing custom event handling, rather than affect the codegen around the call to the intrisic. But I understand that there might be a middleground that I haven't quite explored yet (or still can't begin to express properly).

Thoughts?

Adding in @chandlerc as well in case, for more feedback.


https://reviews.llvm.org/D40894





More information about the llvm-commits mailing list