aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineFunction.cpp
diff options
context:
space:
mode:
authorserge-sans-paille <sguelton@redhat.com>2021-10-02 23:17:30 +0200
committerserge-sans-paille <sguelton@redhat.com>2021-10-04 22:26:25 +0200
commit0f0e31cf511def3e92244e615b2646c1fd0df0cd (patch)
treed9b072d4f2d685eee978c3280cef181d5411b59d /llvm/lib/CodeGen/MachineFunction.cpp
parenta4bccf7afdd0c5d849cd640ad8be371c2a62da73 (diff)
downloadllvm-0f0e31cf511def3e92244e615b2646c1fd0df0cd.zip
llvm-0f0e31cf511def3e92244e615b2646c1fd0df0cd.tar.gz
llvm-0f0e31cf511def3e92244e615b2646c1fd0df0cd.tar.bz2
Update inline builtin handling to honor gnu inline attribute
Per the GCC info page: If the function is declared 'extern', then this definition of the function is used only for inlining. In no case is the function compiled as a standalone function, not even if you take its address explicitly. Such an address becomes an external reference, as if you had only declared the function, and had not defined it. Respect that behavior for inline builtins: keep the original definition, and generate a copy of the declaration suffixed by '.inline' that's only referenced in direct call. This fixes holes in c3717b6858d32d64514a187ede1a77be8ba4e542. Differential Revision: https://reviews.llvm.org/D111009
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunction.cpp')
0 files changed, 0 insertions, 0 deletions