diff options
-rw-r--r-- | lib/Target/R600/R600Instructions.td | 4 | ||||
-rw-r--r-- | 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 1408966..da8228d 100644 --- a/lib/Target/R600/R600Instructions.td +++ b/lib/Target/R600/R600Instructions.td @@ -738,7 +738,9 @@ multiclass SteamOutputExportPattern<Instruction ExportInst, 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), diff --git a/test/CodeGen/R600/jump_address.ll b/test/CodeGen/R600/jump_address.ll index cd35bff..ae9c8bb 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: |