[PATCH] D22680: [mips][fastisel] Handle 0-4 arguments without SelectionDAG.

Simon Dardis via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 25 09:14:23 PDT 2016


sdardis accepted this revision.
sdardis added a comment.
This revision is now accepted and ready to land.

LTGM though callabi.ll (functions cxcccc & cxhhhh) has some extra changes with my local copy of LLVM. It appears there's another frame object object being allocated which changes the offsets. Ok with that test fixed.


================
Comment at: lib/Target/Mips/MipsFastISel.cpp:1272
@@ +1271,3 @@
+  if (CC != CallingConv::C) {
+    DEBUG(dbgs() << ".. gave up (wrong calling convention)\n");
+    return false;
----------------
".. gave up (calling convention is not C)" is clearer here I think.

================
Comment at: test/CodeGen/Mips/Fast-ISel/callabi.ll:186-190
@@ -185,7 +185,7 @@
   ; 32R2-DAG:       seb     $[[T4:[0-9]+]], $[[T0]]
   ; 32R2-DAG:       sw      $4, 16($sp)
   ; 32R2-DAG:       move    $4, $[[T4]]
   ; 32R2-DAG:       seb     $5, $[[T1]]
   ; 32R2-DAG:       seb     $6, $[[T2]]
   ; 32R2-DAG:       lw      $[[T5:[0-9]+]], 16($sp)
   ; 32R2:           seb     $7, $[[T5]]
----------------
Stack slot has a 24 byte offset.

================
Comment at: test/CodeGen/Mips/Fast-ISel/callabi.ll:221-225
@@ -220,7 +220,7 @@
   ; 32R2-DAG:       seh     $[[T4:[0-9]+]], $[[T0]]
   ; 32R2-DAG:       sw      $4, 16($sp)
   ; 32R2-DAG:       move    $4, $[[T4]]
   ; 32R2-DAG:       seh     $5, $[[T1]]
   ; 32R2-DAG:       seh     $6, $[[T2]]
   ; 32R2-DAG:       lw      $[[T5:[0-9]+]], 16($sp)
   ; 32R2:           seh     $7, $[[T5]]
----------------
Stack slot has 24 byte offset here as well.


https://reviews.llvm.org/D22680





More information about the llvm-commits mailing list