This change updates the clang front end to add symbols to llvm.used
when they have explicit export_name attribute.
In also causes the .export_name assempler directive to imply the
MCSA_NoDeadStrip symbol attribute.
Paths
| Differential D71493
[WebAssembly] Setting export_name implies no_dead_strip ClosedPublic Authored by sbc100 on Dec 13 2019, 2:46 PM.
Details Summary This change updates the clang front end to add symbols to llvm.used In also causes the .export_name assempler directive to imply the
Diff Detail
Event TimelineHerald added projects: Restricted Project, Restricted Project. · View Herald TranscriptDec 13 2019, 2:46 PM This revision is now accepted and ready to land.Dec 16 2019, 2:15 PM
Closed by commit rG0a1e349a7933: [WebAssembly] Setting export_name implies llvm.used (authored by sbc100). · Explain WhyDec 16 2019, 2:49 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 234144 clang/lib/Sema/SemaDeclAttr.cpp
clang/test/CodeGen/wasm-export-name.c
llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
llvm/test/MC/WebAssembly/export-name.s
|
It feels like this is a little inconsistent. If export_name doesn't automatically imply used in LLVM IR or .o files, why does it do so in .s files?