[PATCH] D17048: [WebAssembly] Switch varags calling convention to use a register

JF Bastien via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 9 16:28:44 PST 2016


jfb added inline comments.

================
Comment at: lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp:67
@@ -126,1 +66,3 @@
+  // TODO: can we avoid using call frame pseudos altogether?
+  assert(!I->getOperand(0).getImm());
   MBB.erase(I);
----------------
`&& "what is this checking?"`

================
Comment at: lib/Target/WebAssembly/WebAssemblyISelLowering.cpp:364
@@ +363,3 @@
+    // to the stack buffer at the offsets computed above.
+    int FI = MF.getFrameInfo()->CreateStackObject(NumBytes, 16,
+                                                  /*isSS=*/false);
----------------
`/*Alignment=*/16`

================
Comment at: lib/Target/WebAssembly/WebAssemblyISelLowering.cpp:411
@@ +410,3 @@
+  }
+  // Add the pointer arg. its type is already
+  if (IsVarArg) {
----------------
This looks like an unfinished

================
Comment at: test/CodeGen/WebAssembly/varargs.ll:141
@@ +140,3 @@
+; Store the second argument (the hidden vararg buffer pointer) into ap
+; CHEC K: i32.store $discard=, 0($0), $1
+  %1 = va_arg i8** %ap, i32
----------------
?


http://reviews.llvm.org/D17048





More information about the llvm-commits mailing list