Go to file
Anmol P. Paralkar 910dc8de3f 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
2017-01-21 02:02:56 +00:00
clang [NVPTX] Auto-upgrade some NVPTX intrinsics to LLVM target-generic code. 2017-01-21 01:00:32 +00:00
clang-tools-extra [clang-tidy] Do not trigger move fix for non-copy assignment operators in performance-unnecessary-value-param check 2017-01-19 15:51:10 +00:00
compiler-rt [sanitizer] [asan] Use macros to simplify weak aliases on Windows. 2017-01-20 21:09:36 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc math: Add logb builtin 2017-01-18 03:14:10 +00:00
libcxx Fix recent build errors 2017-01-21 00:57:29 +00:00
libcxxabi Fix catch_reference_nullptr.pass.cpp test for GCC. 2017-01-20 19:34:19 +00:00
libunwind Don't dump llvm-config --cmakedir output if command fails. 2017-01-14 03:46:05 +00:00
lld Fix failing lld pdb test. 2017-01-20 22:57:24 +00:00
lldb Add a catch-all line for detecting dyld in the inferior process 2017-01-21 01:17:36 +00:00
llgo [llgo] Remove support for LLVM attributes 2016-12-06 19:22:04 +00:00
llvm MergeFunctions: Preserve debug info in thunks, under option -mergefunc-preserve-debug-info 2017-01-21 02:02:56 +00:00
openmp Use C++11 static_assert() for build asserts. 2017-01-18 07:49:30 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly BlockGenerator: Do not redundantly reload from PHI-allocas in non-affine stmts 2017-01-19 14:12:45 +00:00