diff options
author | Anmol P. Paralkar <anmparal@cisco.com> | 2017-01-21 02:02:56 +0000 |
---|---|---|
committer | Anmol P. Paralkar <anmparal@cisco.com> | 2017-01-21 02:02:56 +0000 |
commit | 910dc8de3f39d2544751f3a433ba81f326d10280 (patch) | |
tree | abfb20ffc7d818d9787b5639f5c9a42c923d96ed /llvm/lib/Analysis/ModuleSummaryAnalysis.cpp | |
parent | ba4041ac4fd09d9d2805b5d8cc0786b6234d8f12 (diff) | |
download | llvm-910dc8de3f39d2544751f3a433ba81f326d10280.zip llvm-910dc8de3f39d2544751f3a433ba81f326d10280.tar.gz llvm-910dc8de3f39d2544751f3a433ba81f326d10280.tar.bz2 |
MergeFunctions: Preserve debug info in thunks, under option -mergefunc-preserve-debug-info
Summary:
Under option -mergefunc-preserve-debug-info we:
- Do not create a new function for a thunk.
- Retain the debug info for a thunk's parameters (and associated
instructions for the debug info) from the entry block.
Note: -debug will display the algorithm at work.
- Create debug-info for the call (to the shared implementation) made by
a thunk and its return value.
- Erase the rest of the function, retaining the (minimally sized) entry
block to create a thunk.
- Preserve a thunk's call site to point to the thunk even when both occur
within the same translation unit, to aid debugability. Note that this
behaviour differs from the underlying -mergefunc implementation which
modifies the thunk's call site to point to the shared implementation
when both occur within the same translation unit.
Reviewers: echristo, eeckstein, dblaikie, aprantl, friss
Reviewed By: aprantl
Subscribers: davide, fhahn, jfb, mehdi_amini, llvm-commits
Differential Revision: https://reviews.llvm.org/D28075
llvm-svn: 292702
Diffstat (limited to 'llvm/lib/Analysis/ModuleSummaryAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions