[llvm] r250972 - WebAssembly: fix more syntax

JF Bastien via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 21 19:32:51 PDT 2015


Author: jfb
Date: Wed Oct 21 21:32:50 2015
New Revision: 250972

URL: http://llvm.org/viewvc/llvm-project?rev=250972&view=rev
Log:
WebAssembly: fix more syntax

br_if shouldn't start with a dot.
div and rem went from prefix u/s to suffix.

Modified:
    llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
    llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrInteger.td
    llvm/trunk/test/CodeGen/WebAssembly/i32.ll
    llvm/trunk/test/CodeGen/WebAssembly/i64.ll
    llvm/trunk/test/CodeGen/WebAssembly/phi.ll

Modified: llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp?rev=250972&r1=250971&r2=250972&view=diff
==============================================================================
--- llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp (original)
+++ llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp Wed Oct 21 21:32:50 2015
@@ -107,7 +107,7 @@ static std::string OpcodeName(const WebA
   std::string Name(&N[0], &N[NameEnd]);
   if (!HasType)
     return Name;
-  for (const char *typelessOpcode : { "return", "call" })
+  for (const char *typelessOpcode : { "return", "call", "br_if" })
     if (Name == typelessOpcode)
       return Name;
   return std::string(&N[NameEnd + 1], &N[Len]) + '.' + Name;

Modified: llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrInteger.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrInteger.td?rev=250972&r1=250971&r2=250972&view=diff
==============================================================================
--- llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrInteger.td (original)
+++ llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrInteger.td Wed Oct 21 21:32:50 2015
@@ -15,10 +15,10 @@
 defm ADD : BinaryInt<add>;
 defm SUB : BinaryInt<sub>;
 defm MUL : BinaryInt<mul>;
-defm SDIV : BinaryInt<sdiv>;
-defm UDIV : BinaryInt<udiv>;
-defm SREM : BinaryInt<srem>;
-defm UREM : BinaryInt<urem>;
+defm DIV_S : BinaryInt<sdiv>;
+defm DIV_U : BinaryInt<udiv>;
+defm REM_S : BinaryInt<srem>;
+defm REM_U : BinaryInt<urem>;
 defm AND : BinaryInt<and>;
 defm IOR : BinaryInt<or>;
 defm XOR : BinaryInt<xor>;

Modified: llvm/trunk/test/CodeGen/WebAssembly/i32.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/i32.ll?rev=250972&r1=250971&r2=250972&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/i32.ll (original)
+++ llvm/trunk/test/CodeGen/WebAssembly/i32.ll Wed Oct 21 21:32:50 2015
@@ -69,7 +69,7 @@ define i32 @mul32(i32 %x, i32 %y) {
 ; CHECK-NEXT: set_local 2, pop{{$}}
 ; CHECK-NEXT: get_local 0{{$}}
 ; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: sdiv (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: div_s (get_local 3), (get_local 2){{$}}
 ; CHECK-NEXT: set_local 4, pop{{$}}
 ; CHECK-NEXT: return (get_local 4){{$}}
 define i32 @sdiv32(i32 %x, i32 %y) {
@@ -86,7 +86,7 @@ define i32 @sdiv32(i32 %x, i32 %y) {
 ; CHECK-NEXT: set_local 2, pop{{$}}
 ; CHECK-NEXT: get_local 0{{$}}
 ; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: udiv (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: div_u (get_local 3), (get_local 2){{$}}
 ; CHECK-NEXT: set_local 4, pop{{$}}
 ; CHECK-NEXT: return (get_local 4){{$}}
 define i32 @udiv32(i32 %x, i32 %y) {
@@ -103,7 +103,7 @@ define i32 @udiv32(i32 %x, i32 %y) {
 ; CHECK-NEXT: set_local 2, pop{{$}}
 ; CHECK-NEXT: get_local 0{{$}}
 ; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: srem (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: rem_s (get_local 3), (get_local 2){{$}}
 ; CHECK-NEXT: set_local 4, pop{{$}}
 ; CHECK-NEXT: return (get_local 4){{$}}
 define i32 @srem32(i32 %x, i32 %y) {
@@ -120,7 +120,7 @@ define i32 @srem32(i32 %x, i32 %y) {
 ; CHECK-NEXT: set_local 2, pop{{$}}
 ; CHECK-NEXT: get_local 0{{$}}
 ; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: urem (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: rem_u (get_local 3), (get_local 2){{$}}
 ; CHECK-NEXT: set_local 4, pop{{$}}
 ; CHECK-NEXT: return (get_local 4){{$}}
 define i32 @urem32(i32 %x, i32 %y) {

Modified: llvm/trunk/test/CodeGen/WebAssembly/i64.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/i64.ll?rev=250972&r1=250971&r2=250972&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/i64.ll (original)
+++ llvm/trunk/test/CodeGen/WebAssembly/i64.ll Wed Oct 21 21:32:50 2015
@@ -69,7 +69,7 @@ define i64 @mul64(i64 %x, i64 %y) {
 ; CHECK-NEXT: set_local 2, pop{{$}}
 ; CHECK-NEXT: get_local 0{{$}}
 ; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: sdiv (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: div_s (get_local 3), (get_local 2){{$}}
 ; CHECK-NEXT: set_local 4, pop{{$}}
 ; CHECK-NEXT: return (get_local 4){{$}}
 define i64 @sdiv64(i64 %x, i64 %y) {
@@ -86,7 +86,7 @@ define i64 @sdiv64(i64 %x, i64 %y) {
 ; CHECK-NEXT: set_local 2, pop{{$}}
 ; CHECK-NEXT: get_local 0{{$}}
 ; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: udiv (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: div_u (get_local 3), (get_local 2){{$}}
 ; CHECK-NEXT: set_local 4, pop{{$}}
 ; CHECK-NEXT: return (get_local 4){{$}}
 define i64 @udiv64(i64 %x, i64 %y) {
@@ -103,7 +103,7 @@ define i64 @udiv64(i64 %x, i64 %y) {
 ; CHECK-NEXT: set_local 2, pop{{$}}
 ; CHECK-NEXT: get_local 0{{$}}
 ; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: srem (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: rem_s (get_local 3), (get_local 2){{$}}
 ; CHECK-NEXT: set_local 4, pop{{$}}
 ; CHECK-NEXT: return (get_local 4){{$}}
 define i64 @srem64(i64 %x, i64 %y) {
@@ -120,7 +120,7 @@ define i64 @srem64(i64 %x, i64 %y) {
 ; CHECK-NEXT: set_local 2, pop{{$}}
 ; CHECK-NEXT: get_local 0{{$}}
 ; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: urem (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: rem_u (get_local 3), (get_local 2){{$}}
 ; CHECK-NEXT: set_local 4, pop{{$}}
 ; CHECK-NEXT: return (get_local 4){{$}}
 define i64 @urem64(i64 %x, i64 %y) {

Modified: llvm/trunk/test/CodeGen/WebAssembly/phi.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/phi.ll?rev=250972&r1=250971&r2=250972&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/phi.ll (original)
+++ llvm/trunk/test/CodeGen/WebAssembly/phi.ll Wed Oct 21 21:32:50 2015
@@ -10,7 +10,7 @@ target triple = "wasm32-unknown-unknown"
 ; CHECK-LABEL: test0:
 ; CHECK: get_local 0{{$}}
 ; CHECK: set_local [[REG:.*]], pop
-; CHECK: sdiv (get_local [[REG]]), {{.*}}
+; CHECK: div_s (get_local [[REG]]), {{.*}}
 ; CHECK: set_local [[REG]], pop
 ; CHECK: return (get_local [[REG]])
 define i32 @test0(i32 %p) {




More information about the llvm-commits mailing list