[PATCH] AArch64_BE function argument passing for ARM ABI

Tim Northover t.p.northover at gmail.com
Tue Mar 25 09:31:57 PDT 2014


  Hi Christian,

  Most of this looks good. Just a couple of minor quibbles:


================
Comment at: lib/Target/AArch64/AArch64ISelLowering.cpp:1641-1642
@@ +1640,4 @@
+      uint32_t OpSize = Flags.isByVal() ? Flags.getByValSize()*8 :
+                                          VA.getLocVT().getSizeInBits();
+      OpSize = (OpSize + 7) / 8;
+      uint32_t BEAlign = 0;
----------------
Is this extra alignment step needed? I can't think of any types with a bitsize not a multiple of 8.

================
Comment at: test/CodeGen/AArch64/func-argpassing.ll:23
@@ -20,5 +22,3 @@
     ret void
-}
-
-define void @add_floats(float %val1, float %val2) {
+}define void @add_floats(float %val1, float %val2) {
 ; CHECK-LABEL: add_floats:
----------------
Accidentally removed whitespace.

================
Comment at: test/CodeGen/AArch64/mul-lohi.ll:11
@@ -9,1 +10,3 @@
 
+; CHECK-BE: test_128bitmul:
+; CHECK-BE-DAG: umulh [[CARRY:x[0-9]+]], x1, x3
----------------
It's best to use "CHECK-BE-LABEL:" for function names. It makes debugging any failures in future easier.


http://llvm-reviews.chandlerc.com/D3176



More information about the llvm-commits mailing list