
This is equivalent to the existing `import_name` and `import_module` attributes which control the import names in the final wasm binary produced by lld. This maps the existing This attribute currently requires a string rather than using the symbol name for a couple of reasons: 1. Avoid confusion with static and dynamic linking which is based on symbol name. Exporting a function from a wasm module using this directive is orthogonal to both static and dynamic linking. 2. Avoids name mangling. Differential Revision: https://reviews.llvm.org/D70520
18 lines
391 B
LLVM
18 lines
391 B
LLVM
; RUN: llc < %s -asm-verbose=false -wasm-keep-registers | FileCheck %s
|
|
|
|
target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128"
|
|
target triple = "wasm32-unknown-unknown"
|
|
|
|
define void @test() #0 {
|
|
ret void
|
|
}
|
|
|
|
declare void @test2() #1
|
|
|
|
|
|
attributes #0 = { "wasm-export-name"="foo" }
|
|
attributes #1 = { "wasm-export-name"="bar" }
|
|
|
|
; CHECK: .export_name test, foo
|
|
; CHECK: .export_name test2, bar
|