From 26ebd7aafcd47f41bfeb57b7b396af6deb8bbbe6 Mon Sep 17 00:00:00 2001 From: Vincent Lejeune Date: Wed, 17 Apr 2013 15:17:39 +0000 Subject: [PATCH] R600: Make Export Instruction not duplicable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179686 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/R600/R600Instructions.td | 4 +++- test/CodeGen/R600/jump_address.ll | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/Target/R600/R600Instructions.td b/lib/Target/R600/R600Instructions.td index 1408966a192..da8228dc725 100644 --- a/lib/Target/R600/R600Instructions.td +++ b/lib/Target/R600/R600Instructions.td @@ -738,7 +738,9 @@ multiclass SteamOutputExportPattern; } -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), diff --git a/test/CodeGen/R600/jump_address.ll b/test/CodeGen/R600/jump_address.ll index cd35bffb130..ae9c8bba4fd 100644 --- a/test/CodeGen/R600/jump_address.ll +++ b/test/CodeGen/R600/jump_address.ll @@ -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: