[PATCH] Use function attribute "trap-func-name" and remove TargetOptions::TrapFuncName

Akira Hatanaka ahatanak at gmail.com
Tue Jun 30 12:53:43 PDT 2015


In http://reviews.llvm.org/D10832#197327, @echristo wrote:

> I think that'll cause problems when we merge translation units at module
>  link time? i.e. we only have one llvm.trap intrinsic.


Attaching the attribute to the declaration of llvm.trap would cause problems when linking modules, but attaching it to the call site should be fine. The linked module looks like this:

declare void @llvm.trap() #2
...
call void @llvm.trap() #4
...
call void @llvm.trap() #5
...
attributes #2 = { noreturn nounwind }
attributes #4 = { noreturn nounwind "trap-func-name"="foo112" }
attributes #5 = { noreturn nounwind "trap-func-name"="foo111" }


http://reviews.llvm.org/D10832

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list