[PATCH] D146595: [clang] Add clang trampoline attribute

Augusto Noronha via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Mar 22 10:08:09 PDT 2023


augusto2112 added a comment.

In D146595#4213412 <https://reviews.llvm.org/D146595#4213412>, @aprantl wrote:

> So this attribute will lower into a `DW_AT_trampoline("target_func_name")` attribute on the `DW_TAG_subprogram` of the function definition?

Exactly, there's already functionality to lower the `targetFuncName` in a `DISubprogram` into dwarf as a `DW_AT_trampoline`. This threads the clang attribute down to LLVM IR.



================
Comment at: llvm/include/llvm/IR/DIBuilder.h:802
+        DITemplateParameterArray TParams = nullptr,
+        DITypeArray ThrownTypes = nullptr, StringRef TargetFuncName = "");
 
----------------
aprantl wrote:
> Why did you need to add this? Does `flang` use a different createMethod() method?
> I assume yes, since it the doxygen comment explicitly calls out C++.
Yes, there's an existing `createFunction` which already takes in a `TargetFuncName`, which I assume is all that `flang` uses. I'm extending this to `createMethod` so we support this attribute on methods as well.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D146595/new/

https://reviews.llvm.org/D146595



More information about the cfe-commits mailing list