[llvm-commits] [llvm] r141862 - in /llvm/trunk: lib/Target/CellSPU/SPUInstrInfo.td test/CodeGen/CellSPU/jumptable.ll

Kalle Raiskila kalle.raiskila at nokia.com
Thu Oct 13 04:40:03 PDT 2011


Author: kraiskil
Date: Thu Oct 13 06:40:03 2011
New Revision: 141862

URL: http://llvm.org/viewvc/llvm-project?rev=141862&view=rev
Log:
Mark 'branch indirect' instruction as an indirect branch.
Not having it confused assembly printing of jumptables.

Modified:
    llvm/trunk/lib/Target/CellSPU/SPUInstrInfo.td
    llvm/trunk/test/CodeGen/CellSPU/jumptable.ll

Modified: llvm/trunk/lib/Target/CellSPU/SPUInstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/SPUInstrInfo.td?rev=141862&r1=141861&r2=141862&view=diff
==============================================================================
--- llvm/trunk/lib/Target/CellSPU/SPUInstrInfo.td (original)
+++ llvm/trunk/lib/Target/CellSPU/SPUInstrInfo.td Thu Oct 13 06:40:03 2011
@@ -3467,8 +3467,10 @@
         [/* no pattern */]>;
 
     // Indirect branch
-    def BI:
-      BIForm<0b00010101100, "bi\t$func", [(brind R32C:$func)]>;
+    let isIndirectBranch = 1 in {
+      def BI:
+        BIForm<0b00010101100, "bi\t$func", [(brind R32C:$func)]>;
+    }
   }
 
   // Conditional branches:

Modified: llvm/trunk/test/CodeGen/CellSPU/jumptable.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/CellSPU/jumptable.ll?rev=141862&r1=141861&r2=141862&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/CellSPU/jumptable.ll (original)
+++ llvm/trunk/test/CodeGen/CellSPU/jumptable.ll Thu Oct 13 06:40:03 2011
@@ -4,18 +4,18 @@
 entry:
 ;CHECK:        ai      {{\$.}}, $3, -1
 ;CHECK:        clgti   {{\$., \$.}}, 3
-;CHECK:        brnz    {{\$.}},.LBB0_2
-  switch i32 %param, label %bb1 [
-    i32 1, label %bb3
+;CHECK:        brnz    {{\$.}},.LBB0_
+  switch i32 %param, label %bb2 [
+    i32 1, label %bb1
     i32 2, label %bb2
     i32 3, label %bb3
-    i32 4, label %bb1
+    i32 4, label %bb2
   ]
-
+;CHECK-NOT: # BB#2
 bb1:                                            
   ret i32 1
 bb2:      
   ret i32 2
 bb3:     
-  ret i32 3
+  ret i32 %param
 }





More information about the llvm-commits mailing list