[llvm] r179686 - R600: Make Export Instruction not duplicable

Vincent Lejeune vljn at ovi.com
Wed Apr 17 08:17:39 PDT 2013


Author: vljn
Date: Wed Apr 17 10:17:39 2013
New Revision: 179686

URL: http://llvm.org/viewvc/llvm-project?rev=179686&view=rev
Log:
R600: Make Export Instruction not duplicable

Modified:
    llvm/trunk/lib/Target/R600/R600Instructions.td
    llvm/trunk/test/CodeGen/R600/jump_address.ll

Modified: llvm/trunk/lib/Target/R600/R600Instructions.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/R600/R600Instructions.td?rev=179686&r1=179685&r2=179686&view=diff
==============================================================================
--- llvm/trunk/lib/Target/R600/R600Instructions.td (original)
+++ llvm/trunk/lib/Target/R600/R600Instructions.td Wed Apr 17 10:17:39 2013
@@ -738,7 +738,9 @@ multiclass SteamOutputExportPattern<Inst
       4095, imm:$mask, buf3inst, 0)>;
 }
 
-let usesCustomInserter = 1 in {
+// Export Instructions should not be duplicated by TailDuplication pass
+// (which assumes that duplicable instruction are affected by exec mask)
+let usesCustomInserter = 1, isNotDuplicable = 1 in {
 
 class ExportSwzInst : InstR600ISA<(
     outs),

Modified: llvm/trunk/test/CodeGen/R600/jump_address.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/R600/jump_address.ll?rev=179686&r1=179685&r2=179686&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/R600/jump_address.ll (original)
+++ llvm/trunk/test/CodeGen/R600/jump_address.ll Wed Apr 17 10:17:39 2013
@@ -1,6 +1,8 @@
 ;RUN: llc < %s -march=r600 -mcpu=redwood | FileCheck %s
 
-; CHECK: JUMP @4
+; CHECK: JUMP @3
+; CHECK: EXPORT
+; CHECK-NOT: EXPORT
 
 define void @main() #0 {
 main_body:





More information about the llvm-commits mailing list