[PATCH] D34743: [AArch64] AArch64CondBrTuningPass generates wrong branch instructions

Phabricator via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 28 08:09:29 PDT 2017


This revision was automatically updated to reflect the committed changes.
Closed by commit rL306550: [AArch64] AArch64CondBrTuningPass generates wrong branch instructions (authored by alelab01).

Changed prior to commit:
  https://reviews.llvm.org/D34743?vs=104359&id=104422#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D34743

Files:
  llvm/trunk/lib/Target/AArch64/AArch64CondBrTuning.cpp
  llvm/trunk/test/CodeGen/AArch64/cond-br-tuning.ll


Index: llvm/trunk/test/CodeGen/AArch64/cond-br-tuning.ll
===================================================================
--- llvm/trunk/test/CodeGen/AArch64/cond-br-tuning.ll
+++ llvm/trunk/test/CodeGen/AArch64/cond-br-tuning.ll
@@ -83,7 +83,7 @@
 
 ; CHECK-LABEL: test_add_tbz:
 ; CHECK: adds
-; CHECK: b.ge
+; CHECK: b.pl
 ; CHECK: ret
 define void @test_add_tbz(i32 %a, i32 %b, i32* %ptr) {
 entry:
@@ -99,7 +99,7 @@
 
 ; CHECK-LABEL: test_subs_tbz:
 ; CHECK: subs
-; CHECK: b.ge
+; CHECK: b.pl
 ; CHECK: ret
 define void @test_subs_tbz(i32 %a, i32 %b, i32* %ptr) {
 entry:
@@ -115,7 +115,7 @@
 
 ; CHECK-LABEL: test_add_tbnz
 ; CHECK: adds
-; CHECK: b.lt
+; CHECK: b.mi
 ; CHECK: ret
 define void @test_add_tbnz(i32 %a, i32 %b, i32* %ptr) {
 entry:
@@ -131,7 +131,7 @@
 
 ; CHECK-LABEL: test_subs_tbnz
 ; CHECK: subs
-; CHECK: b.lt
+; CHECK: b.mi
 ; CHECK: ret
 define void @test_subs_tbnz(i32 %a, i32 %b, i32* %ptr) {
 entry:
Index: llvm/trunk/lib/Target/AArch64/AArch64CondBrTuning.cpp
===================================================================
--- llvm/trunk/lib/Target/AArch64/AArch64CondBrTuning.cpp
+++ llvm/trunk/lib/Target/AArch64/AArch64CondBrTuning.cpp
@@ -22,7 +22,7 @@
 ///    cbz w8, .LBB1_2 -> b.eq .LBB1_2
 ///
 /// 3) sub w8, w0, w1       -> subs w8, w0, w1   ; w8 has multiple uses.
-///    tbz w8, #31, .LBB6_2 -> b.ge .LBB6_2
+///    tbz w8, #31, .LBB6_2 -> b.pl .LBB6_2
 ///
 //===----------------------------------------------------------------------===//
 
@@ -129,11 +129,11 @@
     break;
   case AArch64::TBZW:
   case AArch64::TBZX:
-    CC = AArch64CC::GE;
+    CC = AArch64CC::PL;
     break;
   case AArch64::TBNZW:
   case AArch64::TBNZX:
-    CC = AArch64CC::LT;
+    CC = AArch64CC::MI;
     break;
   }
   return BuildMI(*MI.getParent(), MI, MI.getDebugLoc(), TII->get(AArch64::Bcc))


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D34743.104422.patch
Type: text/x-patch
Size: 1834 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170628/c99fef2c/attachment.bin>


More information about the llvm-commits mailing list