diff options
author | Dan Gohman <dan433584@gmail.com> | 2015-10-06 00:27:55 +0000 |
---|---|---|
committer | Dan Gohman <dan433584@gmail.com> | 2015-10-06 00:27:55 +0000 |
commit | e51c058ecc2d06b329e176a78487144828a7ae51 (patch) | |
tree | ccbaecac243b7f16d7683c0bdc128ad892e7810f /llvm/test/CodeGen/WebAssembly/func.ll | |
parent | d77e802f0772e3f0fe53027a9e09de3dae46b911 (diff) | |
download | bcm5719-llvm-e51c058ecc2d06b329e176a78487144828a7ae51.tar.gz bcm5719-llvm-e51c058ecc2d06b329e176a78487144828a7ae51.zip |
[WebAssembly] Switch to a more traditional assembly syntax
This new syntax is built around putting each instruction on its own line
in a "mnemonic op, op, op" like syntax. It also uses conventional data
section directives like ".byte" and so on rather than requiring everything
to be in hierarchical S-expression format. This is a more natural syntax
for a ".s" file format from the perspective of LLVM MC and related tools,
while remaining easy to translate into other forms as needed.
llvm-svn: 249364
Diffstat (limited to 'llvm/test/CodeGen/WebAssembly/func.ll')
-rw-r--r-- | llvm/test/CodeGen/WebAssembly/func.ll | 39 |
1 files changed, 22 insertions, 17 deletions
diff --git a/llvm/test/CodeGen/WebAssembly/func.ll b/llvm/test/CodeGen/WebAssembly/func.ll index 5d84392fc44..355545a569c 100644 --- a/llvm/test/CodeGen/WebAssembly/func.ll +++ b/llvm/test/CodeGen/WebAssembly/func.ll @@ -5,35 +5,40 @@ target datalayout = "e-p:32:32-i64:64-n32:64-S128" target triple = "wasm32-unknown-unknown" -; CHECK-LABEL: (func $f0{{$}} -; CHECK: (return){{$}} -; CHECK-NEXT: ) ;; end func $f0{{$}} +; CHECK-LABEL: f0: +; CHECK: return{{$}} +; CHECK: .size f0, define void @f0() { ret void } -; CHECK-LABEL: (func $f1{{$}} -; CHECK-NEXT: (result i32){{$}} -; CHECK-NEXT: (set_local @0 (immediate 0)){{$}} -; CHECK-NEXT: (return @0){{$}} -; CHECK-NEXT: ) ;; end func $f1{{$}} +; CHECK-LABEL: f1: +; CHECK-NEXT: .result i32{{$}} +; CHECK-NEXT: i32.const 0{{$}} +; CHECK-NEXT: set_local @0, pop{{$}} +; CHECK-NEXT: return @0{{$}} +; CHECK: .size f1, define i32 @f1() { ret i32 0 } -; CHECK-LABEL: (func $f2{{$}} -; CHECK-NEXT: (param i32) (param f32) (result i32){{$}} -; CHECK-NEXT: (set_local @0 (immediate 0)){{$}} -; CHECK-NEXT: (return @0){{$}} -; CHECK-NEXT: ) ;; end func $f2{{$}} +; CHECK-LABEL: f2: +; CHECK-NEXT: .param i32{{$}} +; CHECK-NEXT: .param f32{{$}} +; CHECK-NEXT: .result i32{{$}} +; CHECK-NEXT: i32.const 0{{$}} +; CHECK-NEXT: set_local @2, pop{{$}} +; CHECK-NEXT: return @2{{$}} +; CHECK: .size f2, define i32 @f2(i32 %p1, float %p2) { ret i32 0 } -; CHECK-LABEL: (func $f3{{$}} -; CHECK-NEXT: (param i32) (param f32){{$}} -; CHECK-NEXT: (return){{$}} -; CHECK-NEXT: ) ;; end func $f3{{$}} +; CHECK-LABEL: f3: +; CHECK-NEXT: .param i32{{$}} +; CHECK-NEXT: .param f32{{$}} +; CHECK-NEXT: return{{$}} +; CHECK: .size f3, define void @f3(i32 %p1, float %p2) { ret void } |