[llvm] r289254 - Move .mir tests to appropriate directories

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 9 11:08:15 PST 2016


Author: matze
Date: Fri Dec  9 13:08:15 2016
New Revision: 289254

URL: http://llvm.org/viewvc/llvm-project?rev=289254&view=rev
Log:
Move .mir tests to appropriate directories

test/CodeGen/MIR should contain tests that intent to test the MIR
printing or parsing. Tests that test something else should be in
test/CodeGen/TargetName even when they are written in .mir.

As a rule of thumb, only tests using "llc -run-pass none" should be in
test/CodeGen/MIR.

Added:
    llvm/trunk/test/CodeGen/AArch64/ldst-opt-zr-clobber.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/AArch64/ldst-opt-zr-clobber.mir
    llvm/trunk/test/CodeGen/AArch64/machine-dead-copy.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/AArch64/machine-dead-copy.mir
    llvm/trunk/test/CodeGen/AArch64/machine-scheduler.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/AArch64/machine-scheduler.mir
    llvm/trunk/test/CodeGen/AArch64/machine-sink-zr.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/AArch64/machine-sink-zr.mir
    llvm/trunk/test/CodeGen/AMDGPU/coalescer-subreg-join.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/coalescer-subreg-join.mir
    llvm/trunk/test/CodeGen/AMDGPU/detect-dead-lanes.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/detect-dead-lanes.mir
    llvm/trunk/test/CodeGen/AMDGPU/insert-waits-exp.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/insert-waits-exp.mir
    llvm/trunk/test/CodeGen/AMDGPU/inserted-wait-states.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/inserted-wait-states.mir
    llvm/trunk/test/CodeGen/AMDGPU/invert-br-undef-vcc.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/invert-br-undef-vcc.mir
    llvm/trunk/test/CodeGen/AMDGPU/liveness.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/liveness.mir
    llvm/trunk/test/CodeGen/AMDGPU/movrels-bug.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/movrels-bug.mir
    llvm/trunk/test/CodeGen/AMDGPU/optimize-if-exec-masking.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/optimize-if-exec-masking.mir
    llvm/trunk/test/CodeGen/AMDGPU/rename-independent-subregs.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/rename-independent-subregs.mir
    llvm/trunk/test/CodeGen/AMDGPU/scalar-store-cache-flush.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/scalar-store-cache-flush.mir
    llvm/trunk/test/CodeGen/AMDGPU/si-fix-sgpr-copies.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/si-fix-sgpr-copies.mir
    llvm/trunk/test/CodeGen/AMDGPU/subreg-intervals.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/subreg-intervals.mir
    llvm/trunk/test/CodeGen/AMDGPU/vccz-corrupt-bug-workaround.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/vccz-corrupt-bug-workaround.mir
    llvm/trunk/test/CodeGen/AMDGPU/waitcnt.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/waitcnt.mir
    llvm/trunk/test/CodeGen/ARM/imm-peephole-arm.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/ARM/imm-peephole-arm.mir
    llvm/trunk/test/CodeGen/ARM/imm-peephole-thumb.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/ARM/imm-peephole-thumb.mir
    llvm/trunk/test/CodeGen/Hexagon/anti-dep-partial.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/Hexagon/anti-dep-partial.mir
    llvm/trunk/test/CodeGen/Lanai/peephole-compare.mir
      - copied, changed from r289235, llvm/trunk/test/CodeGen/MIR/Lanai/peephole-compare.mir
Removed:
    llvm/trunk/test/CodeGen/MIR/AArch64/ldst-opt-zr-clobber.mir
    llvm/trunk/test/CodeGen/MIR/AArch64/machine-dead-copy.mir
    llvm/trunk/test/CodeGen/MIR/AArch64/machine-scheduler.mir
    llvm/trunk/test/CodeGen/MIR/AArch64/machine-sink-zr.mir
    llvm/trunk/test/CodeGen/MIR/AMDGPU/coalescer-subreg-join.mir
    llvm/trunk/test/CodeGen/MIR/AMDGPU/detect-dead-lanes.mir
    llvm/trunk/test/CodeGen/MIR/AMDGPU/insert-waits-exp.mir
    llvm/trunk/test/CodeGen/MIR/AMDGPU/inserted-wait-states.mir
    llvm/trunk/test/CodeGen/MIR/AMDGPU/invert-br-undef-vcc.mir
    llvm/trunk/test/CodeGen/MIR/AMDGPU/liveness.mir
    llvm/trunk/test/CodeGen/MIR/AMDGPU/movrels-bug.mir
    llvm/trunk/test/CodeGen/MIR/AMDGPU/optimize-if-exec-masking.mir
    llvm/trunk/test/CodeGen/MIR/AMDGPU/rename-independent-subregs.mir
    llvm/trunk/test/CodeGen/MIR/AMDGPU/scalar-store-cache-flush.mir
    llvm/trunk/test/CodeGen/MIR/AMDGPU/si-fix-sgpr-copies.mir
    llvm/trunk/test/CodeGen/MIR/AMDGPU/subreg-intervals.mir
    llvm/trunk/test/CodeGen/MIR/AMDGPU/vccz-corrupt-bug-workaround.mir
    llvm/trunk/test/CodeGen/MIR/AMDGPU/waitcnt.mir
    llvm/trunk/test/CodeGen/MIR/ARM/imm-peephole-arm.mir
    llvm/trunk/test/CodeGen/MIR/ARM/imm-peephole-thumb.mir
    llvm/trunk/test/CodeGen/MIR/Hexagon/anti-dep-partial.mir
    llvm/trunk/test/CodeGen/MIR/Lanai/lit.local.cfg
    llvm/trunk/test/CodeGen/MIR/Lanai/peephole-compare.mir

Copied: llvm/trunk/test/CodeGen/AArch64/ldst-opt-zr-clobber.mir (from r289235, llvm/trunk/test/CodeGen/MIR/AArch64/ldst-opt-zr-clobber.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/ldst-opt-zr-clobber.mir?p2=llvm/trunk/test/CodeGen/AArch64/ldst-opt-zr-clobber.mir&p1=llvm/trunk/test/CodeGen/MIR/AArch64/ldst-opt-zr-clobber.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Copied: llvm/trunk/test/CodeGen/AArch64/machine-dead-copy.mir (from r289235, llvm/trunk/test/CodeGen/MIR/AArch64/machine-dead-copy.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/machine-dead-copy.mir?p2=llvm/trunk/test/CodeGen/AArch64/machine-dead-copy.mir&p1=llvm/trunk/test/CodeGen/MIR/AArch64/machine-dead-copy.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Copied: llvm/trunk/test/CodeGen/AArch64/machine-scheduler.mir (from r289235, llvm/trunk/test/CodeGen/MIR/AArch64/machine-scheduler.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/machine-scheduler.mir?p2=llvm/trunk/test/CodeGen/AArch64/machine-scheduler.mir&p1=llvm/trunk/test/CodeGen/MIR/AArch64/machine-scheduler.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Copied: llvm/trunk/test/CodeGen/AArch64/machine-sink-zr.mir (from r289235, llvm/trunk/test/CodeGen/MIR/AArch64/machine-sink-zr.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/machine-sink-zr.mir?p2=llvm/trunk/test/CodeGen/AArch64/machine-sink-zr.mir&p1=llvm/trunk/test/CodeGen/MIR/AArch64/machine-sink-zr.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Copied: llvm/trunk/test/CodeGen/AMDGPU/coalescer-subreg-join.mir (from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/coalescer-subreg-join.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/coalescer-subreg-join.mir?p2=llvm/trunk/test/CodeGen/AMDGPU/coalescer-subreg-join.mir&p1=llvm/trunk/test/CodeGen/MIR/AMDGPU/coalescer-subreg-join.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Copied: llvm/trunk/test/CodeGen/AMDGPU/detect-dead-lanes.mir (from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/detect-dead-lanes.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/detect-dead-lanes.mir?p2=llvm/trunk/test/CodeGen/AMDGPU/detect-dead-lanes.mir&p1=llvm/trunk/test/CodeGen/MIR/AMDGPU/detect-dead-lanes.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Copied: llvm/trunk/test/CodeGen/AMDGPU/insert-waits-exp.mir (from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/insert-waits-exp.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/insert-waits-exp.mir?p2=llvm/trunk/test/CodeGen/AMDGPU/insert-waits-exp.mir&p1=llvm/trunk/test/CodeGen/MIR/AMDGPU/insert-waits-exp.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Copied: llvm/trunk/test/CodeGen/AMDGPU/inserted-wait-states.mir (from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/inserted-wait-states.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/inserted-wait-states.mir?p2=llvm/trunk/test/CodeGen/AMDGPU/inserted-wait-states.mir&p1=llvm/trunk/test/CodeGen/MIR/AMDGPU/inserted-wait-states.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Copied: llvm/trunk/test/CodeGen/AMDGPU/invert-br-undef-vcc.mir (from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/invert-br-undef-vcc.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/invert-br-undef-vcc.mir?p2=llvm/trunk/test/CodeGen/AMDGPU/invert-br-undef-vcc.mir&p1=llvm/trunk/test/CodeGen/MIR/AMDGPU/invert-br-undef-vcc.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Copied: llvm/trunk/test/CodeGen/AMDGPU/liveness.mir (from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/liveness.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/liveness.mir?p2=llvm/trunk/test/CodeGen/AMDGPU/liveness.mir&p1=llvm/trunk/test/CodeGen/MIR/AMDGPU/liveness.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Copied: llvm/trunk/test/CodeGen/AMDGPU/movrels-bug.mir (from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/movrels-bug.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/movrels-bug.mir?p2=llvm/trunk/test/CodeGen/AMDGPU/movrels-bug.mir&p1=llvm/trunk/test/CodeGen/MIR/AMDGPU/movrels-bug.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Copied: llvm/trunk/test/CodeGen/AMDGPU/optimize-if-exec-masking.mir (from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/optimize-if-exec-masking.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/optimize-if-exec-masking.mir?p2=llvm/trunk/test/CodeGen/AMDGPU/optimize-if-exec-masking.mir&p1=llvm/trunk/test/CodeGen/MIR/AMDGPU/optimize-if-exec-masking.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Copied: llvm/trunk/test/CodeGen/AMDGPU/rename-independent-subregs.mir (from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/rename-independent-subregs.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/rename-independent-subregs.mir?p2=llvm/trunk/test/CodeGen/AMDGPU/rename-independent-subregs.mir&p1=llvm/trunk/test/CodeGen/MIR/AMDGPU/rename-independent-subregs.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Copied: llvm/trunk/test/CodeGen/AMDGPU/scalar-store-cache-flush.mir (from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/scalar-store-cache-flush.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/scalar-store-cache-flush.mir?p2=llvm/trunk/test/CodeGen/AMDGPU/scalar-store-cache-flush.mir&p1=llvm/trunk/test/CodeGen/MIR/AMDGPU/scalar-store-cache-flush.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Copied: llvm/trunk/test/CodeGen/AMDGPU/si-fix-sgpr-copies.mir (from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/si-fix-sgpr-copies.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/si-fix-sgpr-copies.mir?p2=llvm/trunk/test/CodeGen/AMDGPU/si-fix-sgpr-copies.mir&p1=llvm/trunk/test/CodeGen/MIR/AMDGPU/si-fix-sgpr-copies.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Copied: llvm/trunk/test/CodeGen/AMDGPU/subreg-intervals.mir (from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/subreg-intervals.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/subreg-intervals.mir?p2=llvm/trunk/test/CodeGen/AMDGPU/subreg-intervals.mir&p1=llvm/trunk/test/CodeGen/MIR/AMDGPU/subreg-intervals.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Copied: llvm/trunk/test/CodeGen/AMDGPU/vccz-corrupt-bug-workaround.mir (from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/vccz-corrupt-bug-workaround.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/vccz-corrupt-bug-workaround.mir?p2=llvm/trunk/test/CodeGen/AMDGPU/vccz-corrupt-bug-workaround.mir&p1=llvm/trunk/test/CodeGen/MIR/AMDGPU/vccz-corrupt-bug-workaround.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Copied: llvm/trunk/test/CodeGen/AMDGPU/waitcnt.mir (from r289235, llvm/trunk/test/CodeGen/MIR/AMDGPU/waitcnt.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/waitcnt.mir?p2=llvm/trunk/test/CodeGen/AMDGPU/waitcnt.mir&p1=llvm/trunk/test/CodeGen/MIR/AMDGPU/waitcnt.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Copied: llvm/trunk/test/CodeGen/ARM/imm-peephole-arm.mir (from r289235, llvm/trunk/test/CodeGen/MIR/ARM/imm-peephole-arm.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/imm-peephole-arm.mir?p2=llvm/trunk/test/CodeGen/ARM/imm-peephole-arm.mir&p1=llvm/trunk/test/CodeGen/MIR/ARM/imm-peephole-arm.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Copied: llvm/trunk/test/CodeGen/ARM/imm-peephole-thumb.mir (from r289235, llvm/trunk/test/CodeGen/MIR/ARM/imm-peephole-thumb.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/imm-peephole-thumb.mir?p2=llvm/trunk/test/CodeGen/ARM/imm-peephole-thumb.mir&p1=llvm/trunk/test/CodeGen/MIR/ARM/imm-peephole-thumb.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Copied: llvm/trunk/test/CodeGen/Hexagon/anti-dep-partial.mir (from r289235, llvm/trunk/test/CodeGen/MIR/Hexagon/anti-dep-partial.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Hexagon/anti-dep-partial.mir?p2=llvm/trunk/test/CodeGen/Hexagon/anti-dep-partial.mir&p1=llvm/trunk/test/CodeGen/MIR/Hexagon/anti-dep-partial.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Copied: llvm/trunk/test/CodeGen/Lanai/peephole-compare.mir (from r289235, llvm/trunk/test/CodeGen/MIR/Lanai/peephole-compare.mir)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Lanai/peephole-compare.mir?p2=llvm/trunk/test/CodeGen/Lanai/peephole-compare.mir&p1=llvm/trunk/test/CodeGen/MIR/Lanai/peephole-compare.mir&r1=289235&r2=289254&rev=289254&view=diff
==============================================================================
    (empty)

Removed: llvm/trunk/test/CodeGen/MIR/AArch64/ldst-opt-zr-clobber.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/AArch64/ldst-opt-zr-clobber.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/AArch64/ldst-opt-zr-clobber.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/AArch64/ldst-opt-zr-clobber.mir (removed)
@@ -1,27 +0,0 @@
-
-# RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass aarch64-ldst-opt  -verify-machineinstrs  -o - %s | FileCheck %s
-
---- |
-  define i1 @no-clobber-zr(i64* %p, i64 %x) { ret i1 0 }
-...
----
-# Check that write of xzr doesn't inhibit pairing of xzr stores since
-# it isn't actually clobbered.  Written as a MIR test to avoid
-# schedulers reordering instructions such that SUBS doesn't appear
-# between stores.
-# CHECK-LABEL: name: no-clobber-zr
-# CHECK: STPXi %xzr, %xzr, %x0, 0
-name: no-clobber-zr
-body: |
-  bb.0:
-    liveins: %x0,  %x1
-    STRXui %xzr, %x0, 0 :: (store 8 into %ir.p)
-    dead %xzr = SUBSXri killed %x1, 0, 0, implicit-def %nzcv
-    %w8 = CSINCWr %wzr, %wzr, 1, implicit killed %nzcv
-    STRXui %xzr, killed %x0, 1 :: (store 8 into %ir.p)
-    %w0 = ORRWrs %wzr, killed %w8, 0
-    RET %lr, implicit %w0
-...
-
-
-

Removed: llvm/trunk/test/CodeGen/MIR/AArch64/machine-dead-copy.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/AArch64/machine-dead-copy.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/AArch64/machine-dead-copy.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/AArch64/machine-dead-copy.mir (removed)
@@ -1,67 +0,0 @@
-
-# RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass machine-cp  -verify-machineinstrs  -o - %s | FileCheck %s
-
---- |
-  define i32 @copyprop1(i32 %a, i32 %b) { ret i32 %a }
-  define i32 @copyprop2(i32 %a, i32 %b) { ret i32 %a }
-  define i32 @copyprop3(i32 %a, i32 %b) { ret i32 %a }
-  define i32 @copyprop4(i32 %a, i32 %b) { ret i32 %a }
-  declare i32 @foo(i32)
-...
----
-# The first copy is dead copy which is not used.
-# CHECK-LABEL: name: copyprop1
-# CHECK: bb.0:
-# CHECK-NOT: %w20 = COPY
-name: copyprop1
-body: |
-  bb.0:
-    liveins: %w0,  %w1
-    %w20 = COPY %w1
-    BL @foo, csr_aarch64_aapcs, implicit %w0, implicit-def %w0
-    RET_ReallyLR implicit %w0
-...
----
-# The first copy is not a dead copy which is used in the second copy after the
-# call.
-# CHECK-LABEL: name: copyprop2
-# CHECK: bb.0:
-# CHECK: %w20 = COPY
-name: copyprop2
-body: |
-  bb.0:
-    liveins: %w0,  %w1
-    %w20 = COPY %w1
-    BL @foo, csr_aarch64_aapcs, implicit %w0, implicit-def %w0
-    %w0 = COPY %w20
-    RET_ReallyLR implicit %w0
-...
----
-# Both the first and second copy are dead copies which are not used.
-# CHECK-LABEL: name: copyprop3
-# CHECK: bb.0:
-# CHECK-NOT: COPY
-name: copyprop3
-body: |
-  bb.0:
-    liveins: %w0,  %w1
-    %w20 = COPY %w1
-    BL @foo, csr_aarch64_aapcs, implicit %w0, implicit-def %w0
-    %w20 = COPY %w0
-    RET_ReallyLR implicit %w0
-...
-# The second copy is removed as a NOP copy, after then the first copy become
-# dead which should be removed as well.
-# CHECK-LABEL: name: copyprop4
-# CHECK: bb.0:
-# CHECK-NOT: COPY
-name: copyprop4
-body: |
-  bb.0:
-    liveins: %w0,  %w1
-    %w20 = COPY %w0
-    %w0 = COPY %w20
-    BL @foo, csr_aarch64_aapcs, implicit %w0, implicit-def %w0
-    RET_ReallyLR implicit %w0
-...
-

Removed: llvm/trunk/test/CodeGen/MIR/AArch64/machine-scheduler.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/AArch64/machine-scheduler.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/AArch64/machine-scheduler.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/AArch64/machine-scheduler.mir (removed)
@@ -1,34 +0,0 @@
-# RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass machine-scheduler  -verify-machineinstrs  -o - %s | FileCheck %s
-
---- |
-  define i64 @load_imp-def(i64* nocapture %P, i32 %v) {
-  entry:
-    %0 = bitcast i64* %P to i32*
-    %1 = load i32, i32* %0
-    %conv = zext i32 %1 to i64
-    %arrayidx19 = getelementptr inbounds i64, i64* %P, i64 1
-    %arrayidx1 = bitcast i64* %arrayidx19 to i32*
-    store i32 %v, i32* %arrayidx1
-    %2 = load i64, i64* %arrayidx19
-    %and = and i64 %2, 4294967295
-    %add = add nuw nsw i64 %and, %conv
-    ret i64 %add
-  }
-...
----
-# CHECK-LABEL: name: load_imp-def
-# CHECK: bb.0.entry:
-# CHECK: LDRWui %x0, 0
-# CHECK: LDRWui %x0, 1
-# CHECK: STRWui %w1, %x0, 2
-name:            load_imp-def
-body:             |
-  bb.0.entry:
-    liveins: %w1, %x0
-    %w8 = LDRWui %x0, 1, implicit-def %x8  :: (load 4 from %ir.0)
-    STRWui killed %w1, %x0, 2 :: (store 4 into %ir.arrayidx1)
-    %w9 = LDRWui killed %x0, 0, implicit-def %x9  :: (load 4 from %ir.arrayidx19, align 8)
-    %x0 = ADDXrr killed %x9, killed %x8
-    RET_ReallyLR implicit %x0
-...
-

Removed: llvm/trunk/test/CodeGen/MIR/AArch64/machine-sink-zr.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/AArch64/machine-sink-zr.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/AArch64/machine-sink-zr.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/AArch64/machine-sink-zr.mir (removed)
@@ -1,48 +0,0 @@
-# RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass machine-sink -o - %s | FileCheck %s
---- |
-  define void @sinkwzr() { ret void }
-...
----
-name:            sinkwzr
-tracksRegLiveness: true
-registers:
-  - { id: 0, class: gpr32 }
-  - { id: 1, class: gpr32 }
-  - { id: 2, class: gpr32sp }
-  - { id: 3, class: gpr32 }
-  - { id: 4, class: gpr32 }
-body:             |
-  ; Check that WZR copy is sunk into the loop preheader.
-  ; CHECK-LABEL: name: sinkwzr
-  ; CHECK-LABEL: bb.0:
-  ; CHECK-NOT: COPY %wzr
-  bb.0:
-    successors: %bb.3, %bb.1
-    liveins: %w0
-
-    %0 = COPY %w0
-    %1 = COPY %wzr
-    CBZW %0, %bb.3
-
-  ; CHECK-LABEL: bb.1:
-  ; CHECK: COPY %wzr
-
-  bb.1:
-    successors: %bb.2
-
-    B %bb.2
-
-  bb.2:
-    successors: %bb.3, %bb.2
-
-    %2 = PHI %0, %bb.1, %4, %bb.2
-    %w0 = COPY %1
-    %3 = SUBSWri %2, 1, 0, implicit-def dead %nzcv
-    %4 = COPY %3
-    CBZW %3, %bb.3
-    B %bb.2
-
-  bb.3:
-    RET_ReallyLR
-
-...

Removed: llvm/trunk/test/CodeGen/MIR/AMDGPU/coalescer-subreg-join.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/AMDGPU/coalescer-subreg-join.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/AMDGPU/coalescer-subreg-join.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/AMDGPU/coalescer-subreg-join.mir (removed)
@@ -1,75 +0,0 @@
-# RUN: llc -march=amdgcn -run-pass simple-register-coalescing -o - %s | FileCheck %s
-# Check that %11 and %20 have been coalesced.
-# CHECK: IMAGE_SAMPLE_C_D_O_V1_V16 %[[REG:[0-9]+]]
-# CHECK: IMAGE_SAMPLE_C_D_O_V1_V16 %[[REG]]
-
----
-name:            main
-alignment:       0
-tracksRegLiveness: true
-registers:
-  - { id: 0, class: sreg_64 }
-  - { id: 1, class: vgpr_32 }
-  - { id: 2, class: vgpr_32 }
-  - { id: 3, class: sreg_256 }
-  - { id: 4, class: sreg_128 }
-  - { id: 5, class: sreg_256 }
-  - { id: 6, class: sreg_128 }
-  - { id: 7, class: sreg_512 }
-  - { id: 9, class: vreg_512 }
-  - { id: 11, class: vreg_512 }
-  - { id: 18, class: vgpr_32 }
-  - { id: 20, class: vreg_512 }
-  - { id: 27, class: vgpr_32 }
-liveins:
-  - { reg: '%sgpr2_sgpr3', virtual-reg: '%0' }
-  - { reg: '%vgpr2', virtual-reg: '%1' }
-  - { reg: '%vgpr3', virtual-reg: '%2' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0:
-    liveins: %sgpr2_sgpr3, %vgpr2, %vgpr3
-
-    %0 = COPY %sgpr2_sgpr3
-    %1 = COPY %vgpr2
-    %2 = COPY %vgpr3
-    %3 = S_LOAD_DWORDX8_IMM %0, 0, 0
-    %4 = S_LOAD_DWORDX4_IMM %0, 12, 0
-    %5 = S_LOAD_DWORDX8_IMM %0, 16, 0
-    %6 = S_LOAD_DWORDX4_IMM %0, 28, 0
-    undef %7.sub0 = S_MOV_B32 212739
-    %20 = COPY %7
-    %11 = COPY %20
-    %11.sub1 = COPY %1
-    %11.sub2 = COPY %1
-    %11.sub3 = COPY %1
-    %11.sub4 = COPY %1
-    %11.sub5 = COPY %1
-    %11.sub6 = COPY %1
-    %11.sub7 = COPY %1
-    %11.sub8 = COPY %1
-    dead %18 = IMAGE_SAMPLE_C_D_O_V1_V16 %11, %3, %4, 1, 0, 0, 0, 0, 0, 0, -1, implicit %exec
-    %20.sub1 = COPY %2
-    %20.sub2 = COPY %2
-    %20.sub3 = COPY %2
-    %20.sub4 = COPY %2
-    %20.sub5 = COPY %2
-    %20.sub6 = COPY %2
-    %20.sub7 = COPY %2
-    %20.sub8 = COPY %2
-    dead %27 = IMAGE_SAMPLE_C_D_O_V1_V16 %20, %5, %6, 1, 0, 0, 0, 0, 0, 0, -1, implicit %exec
-
-...

Removed: llvm/trunk/test/CodeGen/MIR/AMDGPU/detect-dead-lanes.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/AMDGPU/detect-dead-lanes.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/AMDGPU/detect-dead-lanes.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/AMDGPU/detect-dead-lanes.mir (removed)
@@ -1,419 +0,0 @@
-# RUN: llc -march=amdgcn -run-pass detect-dead-lanes -o - %s | FileCheck %s
---- |
-  define void @test0() { ret void }
-  define void @test1() { ret void }
-  define void @test2() { ret void }
-  define void @test3() { ret void }
-  define void @test4() { ret void }
-  define void @test5() { ret void }
-  define void @loop0() { ret void }
-  define void @loop1() { ret void }
-  define void @loop2() { ret void }
-...
----
-# Combined use/def transfer check, the basics.
-# CHECK-LABEL: name: test0
-# CHECK: S_NOP 0, implicit-def %0
-# CHECK: S_NOP 0, implicit-def %1
-# CHECK: S_NOP 0, implicit-def dead %2
-# CHECK: %3 = REG_SEQUENCE %0, {{[0-9]+}}, %1, {{[0-9]+}}, undef %2, {{[0-9]+}}
-# CHECK: S_NOP 0, implicit %3.sub0
-# CHECK: S_NOP 0, implicit %3.sub1
-# CHECK: S_NOP 0, implicit undef %3.sub2
-# CHECK: %4 = COPY %3.sub0_sub1
-# CHECK: %5 = COPY undef %3.sub2_sub3
-# CHECK: S_NOP 0, implicit %4.sub0
-# CHECK: S_NOP 0, implicit %4.sub1
-# CHECK: S_NOP 0, implicit undef %5.sub0
-name: test0
-registers:
-  - { id: 0, class: sreg_32_xm0 }
-  - { id: 1, class: sreg_32_xm0 }
-  - { id: 2, class: sreg_32_xm0 }
-  - { id: 3, class: sreg_128 }
-  - { id: 4, class: sreg_64 }
-  - { id: 5, class: sreg_64 }
-body: |
-  bb.0:
-    S_NOP 0, implicit-def %0
-    S_NOP 0, implicit-def %1
-    S_NOP 0, implicit-def %2
-    %3 = REG_SEQUENCE %0, %subreg.sub0, %1, %subreg.sub1, %2, %subreg.sub3
-    S_NOP 0, implicit %3.sub0
-    S_NOP 0, implicit %3.sub1
-    S_NOP 0, implicit %3.sub2
-    %4 = COPY %3.sub0_sub1
-    %5 = COPY %3.sub2_sub3
-    S_NOP 0, implicit %4.sub0
-    S_NOP 0, implicit %4.sub1
-    S_NOP 0, implicit %5.sub0
-...
----
-# Check defined lanes transfer; Includes checking for some special cases like
-# undef operands or IMPLICIT_DEF definitions.
-# CHECK-LABEL: name: test1
-# CHECK: %0 = REG_SEQUENCE %sgpr0, {{[0-9]+}}, %sgpr0, {{[0-9]+}}
-# CHECK: %1 = INSERT_SUBREG %0, %sgpr1, {{[0-9]+}}
-# CHECK: %2 = INSERT_SUBREG %0.sub2_sub3, %sgpr42, {{[0-9]+}}
-# CHECK: S_NOP 0, implicit %1.sub0
-# CHECK: S_NOP 0, implicit undef %1.sub1
-# CHECK: S_NOP 0, implicit %1.sub2
-# CHECK: S_NOP 0, implicit %1.sub3
-# CHECK: S_NOP 0, implicit %2.sub0
-# CHECK: S_NOP 0, implicit undef %2.sub1
-
-# CHECK: %3 = IMPLICIT_DEF
-# CHECK: %4 = INSERT_SUBREG %0, undef %3, {{[0-9]+}}
-# CHECK: S_NOP 0, implicit undef %4.sub0
-# CHECK: S_NOP 0, implicit undef %4.sub1
-# CHECK: S_NOP 0, implicit %4.sub2
-# CHECK: S_NOP 0, implicit undef %4.sub3
-
-# CHECK: %5 = EXTRACT_SUBREG %0, {{[0-9]+}}
-# CHECK: %6 = EXTRACT_SUBREG %5, {{[0-9]+}}
-# CHECK: %7 = EXTRACT_SUBREG %5, {{[0-9]+}}
-# CHECK: S_NOP 0, implicit %5
-# CHECK: S_NOP 0, implicit %6
-# CHECK: S_NOP 0, implicit undef %7
-
-# CHECK: %8 = IMPLICIT_DEF
-# CHECK: %9 = EXTRACT_SUBREG undef %8, {{[0-9]+}}
-# CHECK: S_NOP 0, implicit undef %9
-
-# CHECK: %10 = EXTRACT_SUBREG undef %0, {{[0-9]+}}
-# CHECK: S_NOP 0, implicit undef %10
-name: test1
-registers:
-  - { id: 0, class: sreg_128 }
-  - { id: 1, class: sreg_128 }
-  - { id: 2, class: sreg_64 }
-  - { id: 3, class: sreg_32_xm0 }
-  - { id: 4, class: sreg_128 }
-  - { id: 5, class: sreg_64 }
-  - { id: 6, class: sreg_32_xm0 }
-  - { id: 7, class: sreg_32_xm0 }
-  - { id: 8, class: sreg_64 }
-  - { id: 9, class: sreg_32_xm0 }
-  - { id: 10, class: sreg_128 }
-body: |
-  bb.0:
-    %0 = REG_SEQUENCE %sgpr0, %subreg.sub0, %sgpr0, %subreg.sub2
-    %1 = INSERT_SUBREG %0, %sgpr1, %subreg.sub3
-    %2 = INSERT_SUBREG %0.sub2_sub3, %sgpr42, %subreg.sub0
-    S_NOP 0, implicit %1.sub0
-    S_NOP 0, implicit %1.sub1
-    S_NOP 0, implicit %1.sub2
-    S_NOP 0, implicit %1.sub3
-    S_NOP 0, implicit %2.sub0
-    S_NOP 0, implicit %2.sub1
-
-    %3 = IMPLICIT_DEF
-    %4 = INSERT_SUBREG %0, %3, %subreg.sub0
-    S_NOP 0, implicit %4.sub0
-    S_NOP 0, implicit %4.sub1
-    S_NOP 0, implicit %4.sub2
-    S_NOP 0, implicit %4.sub3
-
-    %5 = EXTRACT_SUBREG %0, %subreg.sub0_sub1
-    %6 = EXTRACT_SUBREG %5, %subreg.sub0
-    %7 = EXTRACT_SUBREG %5, %subreg.sub1
-    S_NOP 0, implicit %5
-    S_NOP 0, implicit %6
-    S_NOP 0, implicit %7
-
-    %8 = IMPLICIT_DEF
-    %9 = EXTRACT_SUBREG %8, %subreg.sub1
-    S_NOP 0, implicit %9
-
-    %10 = EXTRACT_SUBREG undef %0, %subreg.sub2_sub3
-    S_NOP 0, implicit %10
-...
----
-# Check used lanes transfer; Includes checking for some special cases like
-# undef operands.
-# CHECK-LABEL: name: test2
-# CHECK: S_NOP 0, implicit-def dead %0
-# CHECK: S_NOP 0, implicit-def %1
-# CHECK: S_NOP 0, implicit-def %2
-# CHECK: %3 = REG_SEQUENCE undef %0, {{[0-9]+}}, %1, {{[0-9]+}}, %2, {{[0-9]+}}
-# CHECK: S_NOP 0, implicit %3.sub1
-# CHECK: S_NOP 0, implicit %3.sub3
-
-# CHECK: S_NOP 0, implicit-def %4
-# CHECK: S_NOP 0, implicit-def dead %5
-# CHECK: %6 = REG_SEQUENCE %4, {{[0-9]+}}, undef %5, {{[0-9]+}}
-# CHECK: S_NOP 0, implicit %6
-
-# CHECK: S_NOP 0, implicit-def dead %7
-# CHECK: S_NOP 0, implicit-def %8
-# CHECK: %9 = INSERT_SUBREG undef %7, %8, {{[0-9]+}}
-# CHECK: S_NOP 0, implicit %9.sub2
-
-# CHECK: S_NOP 0, implicit-def %10
-# CHECK: S_NOP 0, implicit-def dead %11
-# CHECK: %12 = INSERT_SUBREG %10, undef %11, {{[0-9]+}}
-# CHECK: S_NOP 0, implicit %12.sub3
-
-# CHECK: S_NOP 0, implicit-def %13
-# CHECK: S_NOP 0, implicit-def dead %14
-# CHECK: %15 = REG_SEQUENCE %13, {{[0-9]+}}, undef %14, {{[0-9]+}}
-# CHECK: %16 = EXTRACT_SUBREG %15, {{[0-9]+}}
-# CHECK: S_NOP 0, implicit %16.sub1
-
-name: test2
-registers:
-  - { id: 0, class: sreg_32_xm0 }
-  - { id: 1, class: sreg_32_xm0 }
-  - { id: 2, class: sreg_64 }
-  - { id: 3, class: sreg_128 }
-  - { id: 4, class: sreg_32_xm0 }
-  - { id: 5, class: sreg_32_xm0 }
-  - { id: 6, class: sreg_64 }
-  - { id: 7, class: sreg_128 }
-  - { id: 8, class: sreg_64 }
-  - { id: 9, class: sreg_128 }
-  - { id: 10, class: sreg_128 }
-  - { id: 11, class: sreg_64 }
-  - { id: 12, class: sreg_128 }
-  - { id: 13, class: sreg_64 }
-  - { id: 14, class: sreg_64 }
-  - { id: 15, class: sreg_128 }
-  - { id: 16, class: sreg_64 }
-body: |
-  bb.0:
-    S_NOP 0, implicit-def %0
-    S_NOP 0, implicit-def %1
-    S_NOP 0, implicit-def %2
-    %3 = REG_SEQUENCE %0, %subreg.sub0, %1, %subreg.sub1, %2, %subreg.sub2_sub3
-    S_NOP 0, implicit %3.sub1
-    S_NOP 0, implicit %3.sub3
-
-    S_NOP 0, implicit-def %4
-    S_NOP 0, implicit-def %5
-    %6 = REG_SEQUENCE %4, %subreg.sub0, undef %5, %subreg.sub1
-    S_NOP 0, implicit %6
-
-    S_NOP 0, implicit-def %7
-    S_NOP 0, implicit-def %8
-    %9 = INSERT_SUBREG %7, %8, %subreg.sub2_sub3
-    S_NOP 0, implicit %9.sub2
-
-    S_NOP 0, implicit-def %10
-    S_NOP 0, implicit-def %11
-    %12 = INSERT_SUBREG %10, %11, %subreg.sub0_sub1
-    S_NOP 0, implicit %12.sub3
-
-    S_NOP 0, implicit-def %13
-    S_NOP 0, implicit-def %14
-    %15 = REG_SEQUENCE %13, %subreg.sub0_sub1, %14, %subreg.sub2_sub3
-    %16 = EXTRACT_SUBREG %15, %subreg.sub0_sub1
-    S_NOP 0, implicit %16.sub1
-...
----
-# Check that copies to physregs use all lanes, copies from physregs define all
-# lanes. So we should not get a dead/undef flag here.
-# CHECK-LABEL: name: test3
-# CHECK: S_NOP 0, implicit-def %0
-# CHECK: %vcc = COPY %0
-# CHECK: %1 = COPY %vcc
-# CHECK: S_NOP 0, implicit %1
-name: test3
-tracksRegLiveness: true
-registers:
-  - { id: 0, class: sreg_64 }
-  - { id: 1, class: sreg_64 }
-body: |
-  bb.0:
-    S_NOP 0, implicit-def %0
-    %vcc = COPY %0
-
-    %1 = COPY %vcc
-    S_NOP 0, implicit %1
-...
----
-# Check that implicit-def/kill do not count as def/uses.
-# CHECK-LABEL: name: test4
-# CHECK: S_NOP 0, implicit-def dead %0
-# CHECK: KILL undef %0
-# CHECK: %1 = IMPLICIT_DEF
-# CHECK: S_NOP 0, implicit undef %1
-name: test4
-tracksRegLiveness: true
-registers:
-  - { id: 0, class: sreg_64 }
-  - { id: 1, class: sreg_64 }
-body: |
-  bb.0:
-    S_NOP 0, implicit-def %0
-    KILL %0
-
-    %1 = IMPLICIT_DEF
-    S_NOP 0, implicit %1
-...
----
-# Check that unused inputs are marked as undef, even if the vreg itself is
-# used.
-# CHECK-LABEL: name: test5
-# CHECK: S_NOP 0, implicit-def %0
-# CHECK: %1 = REG_SEQUENCE undef %0, {{[0-9]+}}, %0, {{[0-9]+}}
-# CHECK: S_NOP 0, implicit %1.sub1
-name: test5
-tracksRegLiveness: true
-registers:
-  - { id: 0, class: sreg_32_xm0 }
-  - { id: 1, class: sreg_64 }
-body: |
-  bb.0:
-    S_NOP 0, implicit-def %0
-    %1 = REG_SEQUENCE %0, %subreg.sub0, %0, %subreg.sub1
-    S_NOP 0, implicit %1.sub1
-...
----
-# Check "optimistic" dataflow fixpoint in phi-loops.
-# CHECK-LABEL: name: loop0
-# CHECK: bb.0:
-# CHECK: S_NOP 0, implicit-def %0
-# CHECK: S_NOP 0, implicit-def dead %1
-# CHECK: S_NOP 0, implicit-def dead %2
-# CHECK: %3 = REG_SEQUENCE %0, {{[0-9]+}}, undef %1, {{[0-9]+}}, undef %2, {{[0-9]+}}
-
-# CHECK: bb.1:
-# CHECK: %4 = PHI %3, %bb.0, %5, %bb.1
-
-# CHECK: bb.2:
-# CHECK:   S_NOP 0, implicit %4.sub0
-# CHECK:   S_NOP 0, implicit undef %4.sub3
-name: loop0
-tracksRegLiveness: true
-registers:
-  - { id: 0, class: sreg_32_xm0 }
-  - { id: 1, class: sreg_32_xm0 }
-  - { id: 2, class: sreg_32_xm0 }
-  - { id: 3, class: sreg_128 }
-  - { id: 4, class: sreg_128 }
-  - { id: 5, class: sreg_128 }
-body: |
-  bb.0:
-    successors: %bb.1
-    S_NOP 0, implicit-def %0
-    S_NOP 0, implicit-def %1
-    S_NOP 0, implicit-def %2
-    %3 = REG_SEQUENCE %0, %subreg.sub0, %1, %subreg.sub1, %2, %subreg.sub2
-    S_BRANCH %bb.1
-
-  bb.1:
-    successors: %bb.1, %bb.2
-    %4 = PHI %3, %bb.0, %5, %bb.1
-
-    ; let's swiffle some lanes around for fun...
-    %5 = REG_SEQUENCE %4.sub0, %subreg.sub0, %4.sub2, %subreg.sub1, %4.sub1, %subreg.sub2, %4.sub3, %subreg.sub3
-
-    S_CBRANCH_VCCNZ %bb.1, implicit undef %vcc
-    S_BRANCH %bb.2
-
-  bb.2:
-    S_NOP 0, implicit %4.sub0
-    S_NOP 0, implicit %4.sub3
-...
----
-# Check a loop that needs to be traversed multiple times to reach the fixpoint
-# for the used lanes. The example reads sub3 lane at the end, however with each
-# loop iteration we should get 1 more lane marked as we cycles the sublanes
-# along. Sublanes sub0, sub1 and sub3 are rotate in the loop so only sub2
-# should be dead.
-# CHECK-LABEL: name: loop1
-# CHECK: bb.0:
-# CHECK: S_NOP 0, implicit-def %0
-# CHECK: S_NOP 0, implicit-def %1
-# CHECK: S_NOP 0, implicit-def dead %2
-# CHECK: S_NOP 0, implicit-def %3
-# CHECK: %4 = REG_SEQUENCE %0, {{[0-9]+}}, %1, {{[0-9]+}}, undef %2, {{[0-9]+}}, %3, {{[0-9]+}}
-
-# CHECK: bb.1:
-# CHECK: %5 = PHI %4, %bb.0, %6, %bb.1
-
-# CHECK: %6 = REG_SEQUENCE %5.sub1, {{[0-9]+}}, %5.sub3, {{[0-9]+}}, undef %5.sub2, {{[0-9]+}}, %5.sub0, {{[0-9]+}}
-
-# CHECK: bb.2:
-# CHECK:   S_NOP 0, implicit %6.sub3
-name: loop1
-tracksRegLiveness: true
-registers:
-  - { id: 0, class: sreg_32_xm0 }
-  - { id: 1, class: sreg_32_xm0 }
-  - { id: 2, class: sreg_32_xm0 }
-  - { id: 3, class: sreg_32_xm0 }
-  - { id: 4, class: sreg_128 }
-  - { id: 5, class: sreg_128 }
-  - { id: 6, class: sreg_128 }
-body: |
-  bb.0:
-    successors: %bb.1
-    S_NOP 0, implicit-def %0
-    S_NOP 0, implicit-def %1
-    S_NOP 0, implicit-def dead %2
-    S_NOP 0, implicit-def %3
-    %4 = REG_SEQUENCE %0, %subreg.sub0, %1, %subreg.sub1, %2, %subreg.sub2, %3, %subreg.sub3
-    S_BRANCH %bb.1
-
-  bb.1:
-    successors: %bb.1, %bb.2
-    %5 = PHI %4, %bb.0, %6, %bb.1
-
-    ; rotate lanes, but skip sub2 lane...
-    %6 = REG_SEQUENCE %5.sub1, %subreg.sub0, %5.sub3, %subreg.sub1, %5.sub2, %subreg.sub2, %5.sub0, %subreg.sub3
-
-    S_CBRANCH_VCCNZ %bb.1, implicit undef %vcc
-    S_BRANCH %bb.2
-
-  bb.2:
-    S_NOP 0, implicit %6.sub3
-...
----
-# Similar to loop1 test, but check for fixpoint of defined lanes.
-# Lanes are rotate between sub0, sub2, sub3 so only sub1 should be dead/undef.
-# CHECK-LABEL: name: loop2
-# CHECK: bb.0:
-# CHECK: S_NOP 0, implicit-def %0
-# CHECK: %1 = REG_SEQUENCE %0, {{[0-9]+}}
-
-# CHECK: bb.1:
-# CHECK: %2 = PHI %1, %bb.0, %3, %bb.1
-
-# CHECK: %3 = REG_SEQUENCE %2.sub3, {{[0-9]+}}, undef %2.sub1, {{[0-9]+}}, %2.sub0, {{[0-9]+}}, %2.sub2, {{[0-9]+}}
-
-# CHECK: bb.2:
-# CHECK:   S_NOP 0, implicit %2.sub0
-# CHECK:   S_NOP 0, implicit undef %2.sub1
-# CHECK:   S_NOP 0, implicit %2.sub2
-# CHECK:   S_NOP 0, implicit %2.sub3
-name: loop2
-tracksRegLiveness: true
-registers:
-  - { id: 0, class: sreg_32_xm0 }
-  - { id: 1, class: sreg_128 }
-  - { id: 2, class: sreg_128 }
-  - { id: 3, class: sreg_128 }
-body: |
-  bb.0:
-    successors: %bb.1
-    S_NOP 0, implicit-def %0
-    %1 = REG_SEQUENCE %0, %subreg.sub0
-    S_BRANCH %bb.1
-
-  bb.1:
-    successors: %bb.1, %bb.2
-    %2 = PHI %1, %bb.0, %3, %bb.1
-
-    ; rotate subreg lanes, skipping sub1
-    %3 = REG_SEQUENCE %2.sub3, %subreg.sub0, %2.sub1, %subreg.sub1, %2.sub0, %subreg.sub2, %2.sub2, %subreg.sub3
-
-    S_CBRANCH_VCCNZ %bb.1, implicit undef %vcc
-    S_BRANCH %bb.2
-
-  bb.2:
-    S_NOP 0, implicit %2.sub0
-    S_NOP 0, implicit undef %2.sub1
-    S_NOP 0, implicit %2.sub2
-    S_NOP 0, implicit %2.sub3
-...

Removed: llvm/trunk/test/CodeGen/MIR/AMDGPU/insert-waits-exp.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/AMDGPU/insert-waits-exp.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/AMDGPU/insert-waits-exp.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/AMDGPU/insert-waits-exp.mir (removed)
@@ -1,63 +0,0 @@
-# RUN: llc -march=amdgcn -verify-machineinstrs -run-pass si-insert-waits -o - %s | FileCheck %s
---- |
-  define amdgpu_ps <4 x float> @exp_done_waitcnt(<4 x i32> inreg, <4 x i32> inreg, i32 inreg %w, float %v) {
-    %a = load volatile float, float addrspace(1)* undef
-    %b = load volatile float, float addrspace(1)* undef
-    %c = load volatile float, float addrspace(1)* undef
-    %d = load volatile float, float addrspace(1)* undef
-    call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %a, float %b, float %c, float %d)
-    ret <4 x float> <float 5.000000e-01, float 1.000000e+00, float 2.000000e+00, float 4.000000e+00>
-  }
-
-  declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float)
-
-  attributes #0 = { readnone }
-  attributes #1 = { nounwind }
-
-...
----
-
-# CHECK-LABEL: name: exp_done_waitcnt{{$}}
-# CHECK: EXP_DONE
-# CHECK-NEXT: S_WAITCNT 3855
-# CHECK: %vgpr0 = V_MOV_B32
-# CHECK: %vgpr1 = V_MOV_B32
-# CHECK: %vgpr2 = V_MOV_B32
-# CHECK: %vgpr3 = V_MOV_B32
-name:            exp_done_waitcnt
-alignment:       0
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
-tracksRegLiveness: true
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0 (%ir-block.2):
-    %sgpr3 = S_MOV_B32 61440
-    %sgpr2 = S_MOV_B32 -1
-    %vgpr0 = BUFFER_LOAD_DWORD_OFFSET %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec :: (volatile load 4 from `float addrspace(1)* undef`)
-    %vgpr1 = BUFFER_LOAD_DWORD_OFFSET %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec :: (volatile load 4 from `float addrspace(1)* undef`)
-    %vgpr2 = BUFFER_LOAD_DWORD_OFFSET %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec :: (volatile load 4 from `float addrspace(1)* undef`)
-    %vgpr3 = BUFFER_LOAD_DWORD_OFFSET killed %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec :: (volatile load 4 from `float addrspace(1)* undef`)
-    EXP_DONE 0, killed %vgpr0, killed %vgpr1, killed %vgpr2, killed %vgpr3, -1, -1, 15, implicit %exec
-    %vgpr0 = V_MOV_B32_e32 1056964608, implicit %exec
-    %vgpr1 = V_MOV_B32_e32 1065353216, implicit %exec
-    %vgpr2 = V_MOV_B32_e32 1073741824, implicit %exec
-    %vgpr3 = V_MOV_B32_e32 1082130432, implicit %exec
-    SI_RETURN killed %vgpr0, killed %vgpr1, killed %vgpr2, killed %vgpr3
-
-...

Removed: llvm/trunk/test/CodeGen/MIR/AMDGPU/inserted-wait-states.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/AMDGPU/inserted-wait-states.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/AMDGPU/inserted-wait-states.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/AMDGPU/inserted-wait-states.mir (removed)
@@ -1,333 +0,0 @@
-# RUN: llc -march=amdgcn -mcpu=tahiti -run-pass post-RA-hazard-rec  %s -o - | FileCheck %s -check-prefixes=GCN
-# RUN: llc -march=amdgcn -mcpu=hawaii -run-pass post-RA-hazard-rec  %s -o - | FileCheck %s -check-prefixes=GCN,CIVI
-# RUN: llc -march=amdgcn -mcpu=fiji -run-pass post-RA-hazard-rec  %s -o - | FileCheck %s -check-prefixes=GCN,CIVI,VI
-
---- |
-  define void @div_fmas() { ret void }
-  define void @s_getreg() { ret void }
-  define void @s_setreg() { ret void }
-  define void @vmem_gt_8dw_store() { ret void }
-  define void @readwrite_lane() { ret void }
-  define void @rfe() { ret void }
-...
----
-# GCN-LABEL: name: div_fmas
-
-# GCN-LABEL: bb.0:
-# GCN: S_MOV_B64
-# GCN-NOT: S_NOP
-# GCN: V_DIV_FMAS
-
-# GCN-LABEL: bb.1:
-# GCN: V_CMP_EQ_I32
-# GCN: S_NOP
-# GCN: S_NOP
-# GCN: S_NOP
-# GCN: S_NOP
-# GCN: V_DIV_FMAS_F32
-
-# GCN-LABEL: bb.2:
-# GCN: V_CMP_EQ_I32
-# GCN: S_NOP
-# GCN: S_NOP
-# GCN: S_NOP
-# GCN: S_NOP
-# GCN: V_DIV_FMAS_F32
-
-# GCN-LABEL: bb.3:
-# GCN: V_DIV_SCALE_F32
-# GCN: S_NOP
-# GCN: S_NOP
-# GCN: S_NOP
-# GCN: S_NOP
-# GCN: V_DIV_FMAS_F32
-name: div_fmas
-
-body: |
-  bb.0:
-    successors: %bb.1
-    %vcc = S_MOV_B64 0
-    %vgpr0 = V_DIV_FMAS_F32 0, %vgpr1, 0, %vgpr2, 0, %vgpr3, 0, 0, implicit %vcc, implicit %exec
-    S_BRANCH %bb.1
-
-  bb.1:
-    successors: %bb.2
-    implicit %vcc = V_CMP_EQ_I32_e32 %vgpr1, %vgpr2, implicit %exec
-    %vgpr0 = V_DIV_FMAS_F32 0, %vgpr1, 0, %vgpr2, 0, %vgpr3, 0, 0, implicit %vcc, implicit %exec
-    S_BRANCH %bb.2
-
-  bb.2:
-    successors: %bb.3
-    %vcc = V_CMP_EQ_I32_e64 %vgpr1, %vgpr2, implicit %exec
-    %vgpr0 = V_DIV_FMAS_F32 0, %vgpr1, 0, %vgpr2, 0, %vgpr3, 0, 0, implicit %vcc, implicit %exec
-    S_BRANCH %bb.3
-
-  bb.3:
-    %vgpr4, %vcc = V_DIV_SCALE_F32 0, %vgpr1, 0, %vgpr1, 0, %vgpr3, 0, 0, implicit %exec
-    %vgpr0 = V_DIV_FMAS_F32 0, %vgpr1, 0, %vgpr2, 0, %vgpr3, 0, 0, implicit %vcc, implicit %exec
-    S_ENDPGM
-
-...
-
-...
----
-# GCN-LABEL: name: s_getreg
-
-# GCN-LABEL: bb.0:
-# GCN: S_SETREG
-# GCN: S_NOP 0
-# GCN: S_NOP 0
-# GCN: S_GETREG
-
-# GCN-LABEL: bb.1:
-# GCN: S_SETREG_IMM32
-# GCN: S_NOP 0
-# GCN: S_NOP 0
-# GCN: S_GETREG
-
-# GCN-LABEL: bb.2:
-# GCN: S_SETREG
-# GCN: S_NOP 0
-# GCN: S_GETREG
-
-# GCN-LABEL: bb.3:
-# GCN: S_SETREG
-# GCN-NEXT: S_GETREG
-
-name: s_getreg
-
-body: |
-  bb.0:
-    successors: %bb.1
-    S_SETREG_B32 %sgpr0, 1
-    %sgpr1 = S_GETREG_B32 1
-    S_BRANCH %bb.1
-
-  bb.1:
-    successors: %bb.2
-    S_SETREG_IMM32_B32 0, 1
-    %sgpr1 = S_GETREG_B32 1
-    S_BRANCH %bb.2
-
-  bb.2:
-    successors: %bb.3
-    S_SETREG_B32 %sgpr0, 1
-    %sgpr1 = S_MOV_B32 0
-    %sgpr2 = S_GETREG_B32 1
-    S_BRANCH %bb.3
-
-  bb.3:
-    S_SETREG_B32 %sgpr0, 0
-    %sgpr1 = S_GETREG_B32 1
-    S_ENDPGM
-...
-
-...
----
-# GCN-LABEL: name: s_setreg
-
-# GCN-LABEL: bb.0:
-# GCN: S_SETREG
-# GCN: S_NOP 0
-# VI: S_NOP 0
-# GCN-NEXT: S_SETREG
-
-# GCN-LABEL: bb.1:
-# GCN: S_SETREG
-# GCN: S_NOP 0
-# VI: S_NOP 0
-# GCN-NEXT: S_SETREG
-
-# GCN-LABEL: bb.2:
-# GCN: S_SETREG
-# GCN-NEXT: S_SETREG
-
-name: s_setreg
-
-body: |
-  bb.0:
-    successors: %bb.1
-    S_SETREG_B32 %sgpr0, 1
-    S_SETREG_B32 %sgpr1, 1
-    S_BRANCH %bb.1
-
-  bb.1:
-    successors: %bb.2
-    S_SETREG_B32 %sgpr0, 64
-    S_SETREG_B32 %sgpr1, 128
-    S_BRANCH %bb.2
-
-  bb.2:
-    S_SETREG_B32 %sgpr0, 1
-    S_SETREG_B32 %sgpr1, 0
-    S_ENDPGM
-...
-
-...
----
-# GCN-LABEL: name: vmem_gt_8dw_store
-
-# GCN-LABEL: bb.0:
-# GCN: BUFFER_STORE_DWORD_OFFSET
-# GCN-NEXT: V_MOV_B32
-# GCN: BUFFER_STORE_DWORDX3_OFFSET
-# CIVI: S_NOP
-# GCN-NEXT: V_MOV_B32
-# GCN: BUFFER_STORE_DWORDX4_OFFSET
-# GCN-NEXT: V_MOV_B32
-# GCN: BUFFER_STORE_DWORDX4_OFFSET
-# CIVI: S_NOP
-# GCN-NEXT: V_MOV_B32
-# GCN: BUFFER_STORE_FORMAT_XYZ_OFFSET
-# CIVI: S_NOP
-# GCN-NEXT: V_MOV_B32
-# GCN: BUFFER_STORE_FORMAT_XYZW_OFFSET
-# CIVI: S_NOP
-# GCN-NEXT: V_MOV_B32
-
-# GCN-LABEL: bb.1:
-# GCN: FLAT_STORE_DWORDX2
-# GCN-NEXT: V_MOV_B32
-# GCN: FLAT_STORE_DWORDX3
-# CIVI: S_NOP
-# GCN-NEXT: V_MOV_B32
-# GCN: FLAT_STORE_DWORDX4
-# CIVI: S_NOP
-# GCN-NEXT: V_MOV_B32
-# GCN: FLAT_ATOMIC_CMPSWAP_X2
-# CIVI: S_NOP
-# GCN-NEXT: V_MOV_B32
-# GCN: FLAT_ATOMIC_FCMPSWAP_X2
-# CIVI: S_NOP
-# GCN: V_MOV_B32
-
-name: vmem_gt_8dw_store
-
-body: |
-  bb.0:
-    successors: %bb.1
-    BUFFER_STORE_DWORD_OFFSET %vgpr3, %sgpr0_sgpr1_sgpr2_sgpr3, %sgpr4, 0, 0, 0, 0, implicit %exec
-    %vgpr3 = V_MOV_B32_e32 0, implicit %exec
-    BUFFER_STORE_DWORDX3_OFFSET %vgpr2_vgpr3_vgpr4, %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec
-    %vgpr3 = V_MOV_B32_e32 0, implicit %exec
-    BUFFER_STORE_DWORDX4_OFFSET %vgpr2_vgpr3_vgpr4_vgpr5, %sgpr0_sgpr1_sgpr2_sgpr3, %sgpr4, 0, 0, 0, 0, implicit %exec
-    %vgpr3 = V_MOV_B32_e32 0, implicit %exec
-    BUFFER_STORE_DWORDX4_OFFSET %vgpr2_vgpr3_vgpr4_vgpr5, %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec
-    %vgpr3 = V_MOV_B32_e32 0, implicit %exec
-    BUFFER_STORE_FORMAT_XYZ_OFFSET %vgpr2_vgpr3_vgpr4, %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec
-    %vgpr3 = V_MOV_B32_e32 0, implicit %exec
-    BUFFER_STORE_FORMAT_XYZW_OFFSET %vgpr2_vgpr3_vgpr4_vgpr5, %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec
-    %vgpr3 = V_MOV_B32_e32 0, implicit %exec
-    BUFFER_ATOMIC_CMPSWAP_X2_OFFSET %vgpr2_vgpr3_vgpr4_vgpr5, %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, implicit %exec
-    %vgpr3 = V_MOV_B32_e32 0, implicit %exec
-    S_BRANCH %bb.1
-
-  bb.1:
-    FLAT_STORE_DWORDX2 %vgpr0_vgpr1, %vgpr2_vgpr3, 0, 0, 0, implicit %exec, implicit %flat_scr
-    %vgpr3 = V_MOV_B32_e32 0, implicit %exec
-    FLAT_STORE_DWORDX3 %vgpr0_vgpr1, %vgpr2_vgpr3_vgpr4, 0, 0, 0, implicit %exec, implicit %flat_scr
-    %vgpr3 = V_MOV_B32_e32 0, implicit %exec
-    FLAT_STORE_DWORDX4 %vgpr0_vgpr1, %vgpr2_vgpr3_vgpr4_vgpr5, 0, 0, 0, implicit %exec, implicit %flat_scr
-    %vgpr3 = V_MOV_B32_e32 0, implicit %exec
-    FLAT_ATOMIC_CMPSWAP_X2 %vgpr0_vgpr1, %vgpr2_vgpr3_vgpr4_vgpr5, 0, 0, implicit %exec, implicit %flat_scr
-    %vgpr3 = V_MOV_B32_e32 0, implicit %exec
-    FLAT_ATOMIC_FCMPSWAP_X2 %vgpr0_vgpr1, %vgpr2_vgpr3_vgpr4_vgpr5, 0, 0, implicit %exec, implicit %flat_scr
-    %vgpr3 = V_MOV_B32_e32 0, implicit %exec
-    S_ENDPGM
-
-...
-
-...
----
-
-# GCN-LABEL: name: readwrite_lane
-
-# GCN-LABEL: bb.0:
-# GCN: V_ADD_I32
-# GCN: S_NOP
-# GCN: S_NOP
-# GCN: S_NOP
-# GCN: S_NOP
-# GCN: V_READLANE_B32
-
-# GCN-LABEL: bb.1:
-# GCN: V_ADD_I32
-# GCN: S_NOP
-# GCN: S_NOP
-# GCN: S_NOP
-# GCN: S_NOP
-# GCN: V_WRITELANE_B32
-
-# GCN-LABEL: bb.2:
-# GCN: V_ADD_I32
-# GCN: S_NOP
-# GCN: S_NOP
-# GCN: S_NOP
-# GCN: S_NOP
-# GCN: V_READLANE_B32
-
-# GCN-LABEL: bb.3:
-# GCN: V_ADD_I32
-# GCN: S_NOP
-# GCN: S_NOP
-# GCN: S_NOP
-# GCN: S_NOP
-# GCN: V_WRITELANE_B32
-
-name: readwrite_lane
-
-body: |
-  bb.0:
-    successors: %bb.1
-    %vgpr0,%sgpr0_sgpr1 = V_ADD_I32_e64 %vgpr1, %vgpr2, implicit %vcc, implicit %exec
-    %sgpr4 = V_READLANE_B32 %vgpr4, %sgpr0
-    S_BRANCH %bb.1
-
-  bb.1:
-    successors: %bb.2
-    %vgpr0,%sgpr0_sgpr1 = V_ADD_I32_e64 %vgpr1, %vgpr2, implicit %vcc, implicit %exec
-    %vgpr4 = V_WRITELANE_B32 %sgpr0, %sgpr0
-    S_BRANCH %bb.2
-
-  bb.2:
-    successors: %bb.3
-    %vgpr0,implicit %vcc = V_ADD_I32_e32 %vgpr1, %vgpr2, implicit %vcc, implicit %exec
-    %sgpr4 = V_READLANE_B32 %vgpr4, %vcc_lo
-    S_BRANCH %bb.3
-
-  bb.3:
-    %vgpr0,implicit %vcc = V_ADD_I32_e32 %vgpr1, %vgpr2, implicit %vcc, implicit %exec
-    %vgpr4 = V_WRITELANE_B32 %sgpr4, %vcc_lo
-    S_ENDPGM
-
-...
-
-...
----
-
-# GCN-LABEL: name: rfe
-
-# GCN-LABEL: bb.0:
-# GCN: S_SETREG
-# VI: S_NOP
-# GCN-NEXT: S_RFE_B64
-
-# GCN-LABEL: bb.1:
-# GCN: S_SETREG
-# GCN-NEXT: S_RFE_B64
-
-name: rfe
-
-body: |
-  bb.0:
-    successors: %bb.1
-    S_SETREG_B32 %sgpr0, 3
-    S_RFE_B64 %sgpr2_sgpr3
-    S_BRANCH %bb.1
-
-  bb.1:
-    S_SETREG_B32 %sgpr0, 0
-    S_RFE_B64 %sgpr2_sgpr3
-    S_ENDPGM
-
-...

Removed: llvm/trunk/test/CodeGen/MIR/AMDGPU/invert-br-undef-vcc.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/AMDGPU/invert-br-undef-vcc.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/AMDGPU/invert-br-undef-vcc.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/AMDGPU/invert-br-undef-vcc.mir (removed)
@@ -1,89 +0,0 @@
-# RUN: llc -run-pass block-placement -march=amdgcn -verify-machineinstrs -o - %s | FileCheck %s
---- |
-
-  define void @invert_br_undef_vcc(float %cond, i32 addrspace(1)* %out) #0 {
-  entry:
-    br i1 undef, label %if, label %else, !structurizecfg.uniform !0, !amdgpu.uniform !0
-
-  else:                                             ; preds = %entry
-    store volatile i32 100, i32 addrspace(1)* undef
-    br label %done, !structurizecfg.uniform !0
-
-  if:                                               ; preds = %entry
-    store volatile i32 9, i32 addrspace(1)* undef
-    br label %done, !structurizecfg.uniform !0
-
-  done:                                             ; preds = %if, %else
-    %value = phi i32 [ 0, %if ], [ 1, %else ]
-    store i32 %value, i32 addrspace(1)* %out
-    ret void
-  }
-
-  attributes #0 = { nounwind }
-
-  !0 = !{}
-
-...
----
-# CHECK-LABEL: name: invert_br_undef_vcc
-# CHECK: S_CBRANCH_VCCZ %bb.1.else, implicit undef %vcc
-
-name:            invert_br_undef_vcc
-alignment:       0
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
-tracksRegLiveness: true
-liveins:
-  - { reg: '%sgpr0_sgpr1' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.entry:
-    successors: %bb.2.if, %bb.1.else
-    liveins: %sgpr0_sgpr1
-
-    %sgpr0_sgpr1 = S_LOAD_DWORDX2_IMM killed %sgpr0_sgpr1, 11, 0 :: (non-temporal dereferenceable invariant load 8 from `i64 addrspace(2)* undef`)
-    %sgpr7 = S_MOV_B32 61440
-    %sgpr6 = S_MOV_B32 -1
-    S_CBRANCH_VCCNZ %bb.2.if, implicit undef %vcc
-
-  bb.1.else:
-    successors: %bb.3.done
-    liveins: %sgpr6, %sgpr7, %sgpr0_sgpr1_sgpr2_sgpr3:0x00000003
-
-    %vgpr0 = V_MOV_B32_e32 100, implicit %exec
-    BUFFER_STORE_DWORD_OFFSET killed %vgpr0, killed %sgpr4_sgpr5_sgpr6_sgpr7, 0, 0, 0, 0, 0, implicit %exec :: (volatile store 4 into `i32 addrspace(1)* undef`)
-    %vgpr0 = V_MOV_B32_e32 1, implicit %exec
-    S_BRANCH %bb.3.done
-
-  bb.2.if:
-    successors: %bb.3.done
-    liveins: %sgpr6, %sgpr7, %sgpr0_sgpr1_sgpr2_sgpr3:0x00000003
-
-    %vgpr0 = V_MOV_B32_e32 9, implicit %exec
-    BUFFER_STORE_DWORD_OFFSET killed %vgpr0, killed %sgpr4_sgpr5_sgpr6_sgpr7, 0, 0, 0, 0, 0, implicit %exec :: (volatile store 4 into `i32 addrspace(1)* undef`)
-    %vgpr0 = V_MOV_B32_e32 0, implicit %exec
-
-  bb.3.done:
-    liveins: %vgpr0, %sgpr0_sgpr1_sgpr2_sgpr3:0x00000003
-
-    %sgpr3 = S_MOV_B32 61440
-    %sgpr2 = S_MOV_B32 -1
-    BUFFER_STORE_DWORD_OFFSET killed %vgpr0, killed %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec :: (store 4 into %ir.out)
-    S_ENDPGM
-
-...

Removed: llvm/trunk/test/CodeGen/MIR/AMDGPU/liveness.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/AMDGPU/liveness.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/AMDGPU/liveness.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/AMDGPU/liveness.mir (removed)
@@ -1,32 +0,0 @@
-# RUN: llc -march=amdgcn -run-pass liveintervals -verify-machineinstrs -o /dev/null -debug-only=regalloc %s 2>&1 | FileCheck %s
-# REQUIRES: asserts
-# We currently maintain a main liveness range which operates like a superset of
-# all subregister liveranges. We may need to create additional SSA values at
-# merge point in this main liverange even though none of the subregister
-# liveranges needed it.
-#
-# Should see three distinct value numbers:
-# CHECK: %vreg0 [{{.*}}:0)[{{.*}}:1)[{{.*}}:2) 0@{{[0-9]+[Berd]}} 1@{{[0-9]+[Berd]}} 2@{{[0-9]+B-phi}}
---- |
-  define void @test0() { ret void }
-...
----
-name: test0
-registers:
-  - { id: 0, class: sreg_64 }
-body: |
-  bb.0:
-    successors: %bb.1, %bb.2
-    S_NOP 0, implicit-def undef %0.sub0
-    S_CBRANCH_VCCNZ %bb.1, implicit undef %vcc
-    S_BRANCH %bb.2
-
-  bb.1:
-    successors: %bb.2
-    S_NOP 0, implicit-def %0.sub1
-    S_NOP 0, implicit %0.sub1
-    S_BRANCH %bb.2
-
-  bb.2:
-    S_NOP 0, implicit %0.sub0
-...

Removed: llvm/trunk/test/CodeGen/MIR/AMDGPU/movrels-bug.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/AMDGPU/movrels-bug.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/AMDGPU/movrels-bug.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/AMDGPU/movrels-bug.mir (removed)
@@ -1,31 +0,0 @@
-# RUN: llc -march=amdgcn -verify-machineinstrs -run-pass post-RA-sched  %s -o - | FileCheck %s
-
-# This tests a situation where a sub-register of a killed super-register operand
-# of V_MOVRELS happens to have an undef use later on. This leads to the post RA
-# scheduler adding additional implicit operands to the V_MOVRELS, which used
-# to fail machine instruction verification.
-
---- |
-
-  define amdgpu_vs void @main(i32 %arg) { ret void }
-
-...
----
-# CHECK-LABEL: name: main
-# CHECK-LABEL: bb.0:
-# CHECK: V_MOVRELS_B32_e32
-# CHECK: V_MAC_F32_e32
-
-name:            main
-tracksRegLiveness: true
-body:             |
-  bb.0:
-    %m0 = S_MOV_B32 undef %sgpr0
-    V_MOVRELD_B32_e32 undef %vgpr2, 0, implicit %m0, implicit %exec, implicit-def %vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8, implicit undef %vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8(tied-def 4)
-    %m0 = S_MOV_B32 undef %sgpr0
-    %vgpr1 = V_MOVRELS_B32_e32 undef %vgpr1, implicit %m0, implicit %exec, implicit killed %vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8
-    %vgpr4 = V_MAC_F32_e32 undef %vgpr0, undef %vgpr0, undef %vgpr4, implicit %exec
-    EXP_DONE 15, undef %vgpr0, killed %vgpr1, killed %vgpr4, undef %vgpr0, 0, 0, 12, implicit %exec
-    S_ENDPGM
-
-...

Removed: llvm/trunk/test/CodeGen/MIR/AMDGPU/optimize-if-exec-masking.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/AMDGPU/optimize-if-exec-masking.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/AMDGPU/optimize-if-exec-masking.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/AMDGPU/optimize-if-exec-masking.mir (removed)
@@ -1,755 +0,0 @@
-# RUN: llc -march=amdgcn -verify-machineinstrs -run-pass si-optimize-exec-masking -o -  %s | FileCheck %s
-
---- |
-  target datalayout = "e-p:32:32-p1:64:64-p2:64:64-p3:32:32-p4:64:64-p5:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64"
-
-  define void @optimize_if_and_saveexec_xor(i32 %z, i32 %v) #0 {
-  main_body:
-    %id = call i32 @llvm.amdgcn.workitem.id.x()
-    %cc = icmp eq i32 %id, 0
-    %0 = call { i1, i64 } @llvm.amdgcn.if(i1 %cc)
-    %1 = extractvalue { i1, i64 } %0, 0
-    %2 = extractvalue { i1, i64 } %0, 1
-    br i1 %1, label %if, label %end
-
-  if:                                               ; preds = %main_body
-    %v.if = load volatile i32, i32 addrspace(1)* undef
-    br label %end
-
-  end:                                              ; preds = %if, %main_body
-    %r = phi i32 [ 4, %main_body ], [ %v.if, %if ]
-    call void @llvm.amdgcn.end.cf(i64 %2)
-    store i32 %r, i32 addrspace(1)* undef
-    ret void
-  }
-
-  define void @optimize_if_and_saveexec(i32 %z, i32 %v)  #0 {
-  main_body:
-      br i1 undef, label %if, label %end
-
-  if:
-    br label %end
-
-  end:
-    ret void
-  }
-
-  define void @optimize_if_or_saveexec(i32 %z, i32 %v)  #0 {
-  main_body:
-      br i1 undef, label %if, label %end
-
-  if:
-    br label %end
-
-  end:
-    ret void
-  }
-
-
-  define void @optimize_if_and_saveexec_xor_valu_middle(i32 %z, i32 %v) #0 {
-  main_body:
-    %id = call i32 @llvm.amdgcn.workitem.id.x()
-    %cc = icmp eq i32 %id, 0
-    %0 = call { i1, i64 } @llvm.amdgcn.if(i1 %cc)
-    %1 = extractvalue { i1, i64 } %0, 0
-    %2 = extractvalue { i1, i64 } %0, 1
-    store i32 %id, i32 addrspace(1)* undef
-    br i1 %1, label %if, label %end
-
-  if:                                               ; preds = %main_body
-    %v.if = load volatile i32, i32 addrspace(1)* undef
-    br label %end
-
-  end:                                              ; preds = %if, %main_body
-    %r = phi i32 [ 4, %main_body ], [ %v.if, %if ]
-    call void @llvm.amdgcn.end.cf(i64 %2)
-    store i32 %r, i32 addrspace(1)* undef
-    ret void
-  }
-
-  define void @optimize_if_and_saveexec_xor_wrong_reg(i32 %z, i32 %v)  #0 {
-  main_body:
-      br i1 undef, label %if, label %end
-
-  if:
-    br label %end
-
-  end:
-    ret void
-  }
-
-  define void @optimize_if_and_saveexec_xor_modify_copy_to_exec(i32 %z, i32 %v)  #0 {
-  main_body:
-      br i1 undef, label %if, label %end
-
-  if:
-    br label %end
-
-  end:
-    ret void
-  }
-
-  define void @optimize_if_and_saveexec_xor_live_out_setexec(i32 %z, i32 %v)  #0 {
-  main_body:
-      br i1 undef, label %if, label %end
-
-  if:
-    br label %end
-
-  end:
-    ret void
-  }
-
-  define void @optimize_if_unknown_saveexec(i32 %z, i32 %v)  #0 {
-  main_body:
-      br i1 undef, label %if, label %end
-
-  if:
-    br label %end
-
-  end:
-    ret void
-  }
-
-  define void @optimize_if_andn2_saveexec(i32 %z, i32 %v)  #0 {
-  main_body:
-      br i1 undef, label %if, label %end
-
-  if:
-    br label %end
-
-  end:
-    ret void
-  }
-
-  define void @optimize_if_andn2_saveexec_no_commute(i32 %z, i32 %v)  #0 {
-  main_body:
-      br i1 undef, label %if, label %end
-
-  if:
-    br label %end
-
-  end:
-    ret void
-  }
-
-  ; Function Attrs: nounwind readnone
-  declare i32 @llvm.amdgcn.workitem.id.x() #1
-
-  declare { i1, i64 } @llvm.amdgcn.if(i1)
-
-  declare void @llvm.amdgcn.end.cf(i64)
-
-
-  attributes #0 = { nounwind }
-  attributes #1 = { nounwind readnone }
-
-...
----
-# CHECK-LABEL: name: optimize_if_and_saveexec_xor{{$}}
-# CHECK: %sgpr0_sgpr1 = S_AND_SAVEEXEC_B64 %vcc, implicit-def %exec, implicit-def %scc, implicit %exec
-# CHECK-NEXT: %sgpr0_sgpr1 = S_XOR_B64 %exec, killed %sgpr0_sgpr1, implicit-def %scc
-# CHECK-NEXT: SI_MASK_BRANCH
-
-name:            optimize_if_and_saveexec_xor
-alignment:       0
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
-tracksRegLiveness: true
-liveins:
-  - { reg: '%vgpr0' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.main_body:
-    successors: %bb.1.if, %bb.2.end
-    liveins: %vgpr0
-
-    %sgpr0_sgpr1 = COPY %exec
-    %vcc = V_CMP_EQ_I32_e64 0, killed %vgpr0, implicit %exec
-    %vgpr0 = V_MOV_B32_e32 4, implicit %exec
-    %sgpr2_sgpr3 = S_AND_B64 %sgpr0_sgpr1, killed %vcc, implicit-def %scc
-    %sgpr0_sgpr1 = S_XOR_B64 %sgpr2_sgpr3, killed %sgpr0_sgpr1, implicit-def %scc
-    %exec = S_MOV_B64_term killed %sgpr2_sgpr3
-    SI_MASK_BRANCH %bb.2.end, implicit %exec
-    S_BRANCH %bb.1.if
-
-  bb.1.if:
-    successors: %bb.2.end
-    liveins: %sgpr0_sgpr1
-
-    %sgpr7 = S_MOV_B32 61440
-    %sgpr6 = S_MOV_B32 -1
-    %vgpr0 = BUFFER_LOAD_DWORD_OFFSET %sgpr4_sgpr5_sgpr6_sgpr7, 0, 0, 0, 0, 0, implicit %exec :: (volatile load 4 from `i32 addrspace(1)* undef`)
-
-  bb.2.end:
-    liveins: %vgpr0, %sgpr0_sgpr1
-
-    %exec = S_OR_B64 %exec, killed %sgpr0_sgpr1, implicit-def %scc
-    %sgpr3 = S_MOV_B32 61440
-    %sgpr2 = S_MOV_B32 -1
-    BUFFER_STORE_DWORD_OFFSET killed %vgpr0, %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec :: (store 4 into `i32 addrspace(1)* undef`)
-    S_ENDPGM
-
-...
----
-# CHECK-LABEL: name: optimize_if_and_saveexec{{$}}
-# CHECK: %sgpr0_sgpr1 = S_AND_SAVEEXEC_B64 %vcc, implicit-def %exec, implicit-def %scc, implicit %exec
-# CHECK-NEXT: SI_MASK_BRANCH
-
-name:            optimize_if_and_saveexec
-alignment:       0
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
-tracksRegLiveness: true
-liveins:
-  - { reg: '%vgpr0' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.main_body:
-    successors: %bb.1.if, %bb.2.end
-    liveins: %vgpr0
-
-    %sgpr0_sgpr1 = COPY %exec
-    %vcc = V_CMP_EQ_I32_e64 0, killed %vgpr0, implicit %exec
-    %vgpr0 = V_MOV_B32_e32 4, implicit %exec
-    %sgpr2_sgpr3 = S_AND_B64 %sgpr0_sgpr1, killed %vcc, implicit-def %scc
-    %exec = S_MOV_B64_term killed %sgpr2_sgpr3
-    SI_MASK_BRANCH %bb.2.end, implicit %exec
-    S_BRANCH %bb.1.if
-
-  bb.1.if:
-    successors: %bb.2.end
-    liveins: %sgpr0_sgpr1
-
-    %sgpr7 = S_MOV_B32 61440
-    %sgpr6 = S_MOV_B32 -1
-    %vgpr0 = BUFFER_LOAD_DWORD_OFFSET %sgpr4_sgpr5_sgpr6_sgpr7, 0, 0, 0, 0, 0, implicit %exec :: (volatile load 4 from `i32 addrspace(1)* undef`)
-
-  bb.2.end:
-    liveins: %vgpr0, %sgpr0_sgpr1
-
-    %exec = S_OR_B64 %exec, killed %sgpr0_sgpr1, implicit-def %scc
-    %sgpr3 = S_MOV_B32 61440
-    %sgpr2 = S_MOV_B32 -1
-    BUFFER_STORE_DWORD_OFFSET killed %vgpr0, %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec :: (store 4 into `i32 addrspace(1)* undef`)
-    S_ENDPGM
-
-...
----
-# CHECK-LABEL: name: optimize_if_or_saveexec{{$}}
-# CHECK: %sgpr0_sgpr1 = S_OR_SAVEEXEC_B64 %vcc, implicit-def %exec, implicit-def %scc, implicit %exec
-# CHECK-NEXT: SI_MASK_BRANCH
-
-name:            optimize_if_or_saveexec
-alignment:       0
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
-tracksRegLiveness: true
-liveins:
-  - { reg: '%vgpr0' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.main_body:
-    successors: %bb.1.if, %bb.2.end
-    liveins: %vgpr0
-
-    %sgpr0_sgpr1 = COPY %exec
-    %vcc = V_CMP_EQ_I32_e64 0, killed %vgpr0, implicit %exec
-    %vgpr0 = V_MOV_B32_e32 4, implicit %exec
-    %sgpr2_sgpr3 = S_OR_B64 %sgpr0_sgpr1, killed %vcc, implicit-def %scc
-    %exec = S_MOV_B64_term killed %sgpr2_sgpr3
-    SI_MASK_BRANCH %bb.2.end, implicit %exec
-    S_BRANCH %bb.1.if
-
-  bb.1.if:
-    successors: %bb.2.end
-    liveins: %sgpr0_sgpr1
-
-    %sgpr7 = S_MOV_B32 61440
-    %sgpr6 = S_MOV_B32 -1
-    %vgpr0 = BUFFER_LOAD_DWORD_OFFSET %sgpr4_sgpr5_sgpr6_sgpr7, 0, 0, 0, 0, 0, implicit %exec :: (volatile load 4 from `i32 addrspace(1)* undef`)
-
-  bb.2.end:
-    liveins: %vgpr0, %sgpr0_sgpr1
-
-    %exec = S_OR_B64 %exec, killed %sgpr0_sgpr1, implicit-def %scc
-    %sgpr3 = S_MOV_B32 61440
-    %sgpr2 = S_MOV_B32 -1
-    BUFFER_STORE_DWORD_OFFSET killed %vgpr0, %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec :: (store 4 into `i32 addrspace(1)* undef`)
-    S_ENDPGM
-
-...
----
-# CHECK-LABEL: name: optimize_if_and_saveexec_xor_valu_middle
-# CHECK: %sgpr2_sgpr3 = S_AND_B64 %sgpr0_sgpr1, killed %vcc, implicit-def %scc
-# CHECK-NEXT: BUFFER_STORE_DWORD_OFFSET %vgpr0, undef %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec :: (store 4 into `i32 addrspace(1)* undef`)
-# CHECK-NEXT: %sgpr0_sgpr1 = S_XOR_B64 %sgpr2_sgpr3, killed %sgpr0_sgpr1, implicit-def %scc
-# CHECK-NEXT: %exec = COPY killed %sgpr2_sgpr3
-# CHECK-NEXT: SI_MASK_BRANCH
-name:            optimize_if_and_saveexec_xor_valu_middle
-alignment:       0
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
-tracksRegLiveness: true
-liveins:
-  - { reg: '%vgpr0' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.main_body:
-    successors: %bb.1.if, %bb.2.end
-    liveins: %vgpr0
-
-    %sgpr0_sgpr1 = COPY %exec
-    %vcc = V_CMP_EQ_I32_e64 0, killed %vgpr0, implicit %exec
-    %vgpr0 = V_MOV_B32_e32 4, implicit %exec
-    %sgpr2_sgpr3 = S_AND_B64 %sgpr0_sgpr1, killed %vcc, implicit-def %scc
-    BUFFER_STORE_DWORD_OFFSET %vgpr0, undef %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec :: (store 4 into `i32 addrspace(1)* undef`)
-    %sgpr0_sgpr1 = S_XOR_B64 %sgpr2_sgpr3, killed %sgpr0_sgpr1, implicit-def %scc
-    %exec = S_MOV_B64_term killed %sgpr2_sgpr3
-    SI_MASK_BRANCH %bb.2.end, implicit %exec
-    S_BRANCH %bb.1.if
-
-  bb.1.if:
-    successors: %bb.2.end
-    liveins: %sgpr0_sgpr1
-
-    %sgpr7 = S_MOV_B32 61440
-    %sgpr6 = S_MOV_B32 -1
-    %vgpr0 = BUFFER_LOAD_DWORD_OFFSET %sgpr4_sgpr5_sgpr6_sgpr7, 0, 0, 0, 0, 0, implicit %exec :: (volatile load 4 from `i32 addrspace(1)* undef`)
-
-  bb.2.end:
-    liveins: %vgpr0, %sgpr0_sgpr1
-
-    %exec = S_OR_B64 %exec, killed %sgpr0_sgpr1, implicit-def %scc
-    %sgpr3 = S_MOV_B32 61440
-    %sgpr2 = S_MOV_B32 -1
-    BUFFER_STORE_DWORD_OFFSET killed %vgpr0, %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec :: (store 4 into `i32 addrspace(1)* undef`)
-    S_ENDPGM
-
-...
----
-# CHECK-LABEL: name: optimize_if_and_saveexec_xor_wrong_reg{{$}}
-# CHECK: %sgpr0_sgpr1 = S_AND_B64 %sgpr0_sgpr1, killed %vcc, implicit-def %scc
-# CHECK-NEXT: %sgpr0_sgpr1 = S_XOR_B64 undef %sgpr2_sgpr3, killed %sgpr0_sgpr1, implicit-def %scc
-# CHECK-NEXT: %exec = COPY %sgpr0_sgpr1
-# CHECK-NEXT: SI_MASK_BRANCH %bb.2.end, implicit %exec
-name:            optimize_if_and_saveexec_xor_wrong_reg
-alignment:       0
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
-tracksRegLiveness: true
-liveins:
-  - { reg: '%vgpr0' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.main_body:
-    successors: %bb.1.if, %bb.2.end
-    liveins: %vgpr0
-
-    %sgpr6 = S_MOV_B32 -1
-    %sgpr7 = S_MOV_B32 61440
-    %sgpr0_sgpr1 = COPY %exec
-    %vcc = V_CMP_EQ_I32_e64 0, killed %vgpr0, implicit %exec
-    %vgpr0 = V_MOV_B32_e32 4, implicit %exec
-    %sgpr0_sgpr1 = S_AND_B64 %sgpr0_sgpr1, killed %vcc, implicit-def %scc
-    %sgpr0_sgpr1 = S_XOR_B64 undef %sgpr2_sgpr3, killed %sgpr0_sgpr1, implicit-def %scc
-    %exec = S_MOV_B64_term %sgpr0_sgpr1
-    SI_MASK_BRANCH %bb.2.end, implicit %exec
-    S_BRANCH %bb.1.if
-
-  bb.1.if:
-    successors: %bb.2.end
-    liveins: %sgpr0_sgpr1 , %sgpr4_sgpr5_sgpr6_sgpr7
-    %vgpr0 = BUFFER_LOAD_DWORD_OFFSET %sgpr4_sgpr5_sgpr6_sgpr7, 0, 0, 0, 0, 0, implicit %exec :: (volatile load 4 from `i32 addrspace(1)* undef`)
-
-  bb.2.end:
-    liveins: %vgpr0, %sgpr0_sgpr1, %sgpr4_sgpr5_sgpr6_sgpr7
-
-    %exec = S_OR_B64 %exec, killed %sgpr0_sgpr1, implicit-def %scc
-    %sgpr3 = S_MOV_B32 61440
-    %sgpr2 = S_MOV_B32 -1
-    BUFFER_STORE_DWORD_OFFSET killed %vgpr0, %sgpr4_sgpr5_sgpr6_sgpr7, 0, 0, 0, 0, 0, implicit %exec :: (store 4 into `i32 addrspace(1)* undef`)
-    S_ENDPGM
-
-...
----
-# CHECK-LABEL: name: optimize_if_and_saveexec_xor_modify_copy_to_exec{{$}}
-# CHECK: %sgpr2_sgpr3 = S_AND_B64 %sgpr0_sgpr1, killed %vcc, implicit-def %scc
-# CHECK-NEXT: %sgpr2_sgpr3 = S_OR_B64 killed %sgpr2_sgpr3, 1, implicit-def %scc
-# CHECK-NEXT: %sgpr0_sgpr1 = S_XOR_B64 %sgpr2_sgpr3, killed %sgpr0_sgpr1, implicit-def %scc
-# CHECK-NEXT: %exec = COPY killed %sgpr2_sgpr3
-# CHECK-NEXT: SI_MASK_BRANCH %bb.2.end, implicit %exec
-
-name:            optimize_if_and_saveexec_xor_modify_copy_to_exec
-alignment:       0
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
-tracksRegLiveness: true
-liveins:
-  - { reg: '%vgpr0' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.main_body:
-    successors: %bb.1.if, %bb.2.end
-    liveins: %vgpr0
-
-    %sgpr0_sgpr1 = COPY %exec
-    %vcc = V_CMP_EQ_I32_e64 0, killed %vgpr0, implicit %exec
-    %vgpr0 = V_MOV_B32_e32 4, implicit %exec
-    %sgpr2_sgpr3 = S_AND_B64 %sgpr0_sgpr1, killed %vcc, implicit-def %scc
-    %sgpr2_sgpr3 = S_OR_B64 killed %sgpr2_sgpr3, 1, implicit-def %scc
-    %sgpr0_sgpr1 = S_XOR_B64 %sgpr2_sgpr3, killed %sgpr0_sgpr1, implicit-def %scc
-    %exec = S_MOV_B64_term killed %sgpr2_sgpr3
-    SI_MASK_BRANCH %bb.2.end, implicit %exec
-    S_BRANCH %bb.1.if
-
-  bb.1.if:
-    successors: %bb.2.end
-    liveins: %sgpr0_sgpr1
-
-    %sgpr7 = S_MOV_B32 61440
-    %sgpr6 = S_MOV_B32 -1
-    %vgpr0 = BUFFER_LOAD_DWORD_OFFSET %sgpr4_sgpr5_sgpr6_sgpr7, 0, 0, 0, 0, 0, implicit %exec :: (volatile load 4 from `i32 addrspace(1)* undef`)
-
-  bb.2.end:
-    liveins: %vgpr0, %sgpr0_sgpr1
-
-    %exec = S_OR_B64 %exec, killed %sgpr0_sgpr1, implicit-def %scc
-    %sgpr0 = S_MOV_B32 0
-    %sgpr1 = S_MOV_B32 1
-    %sgpr2 = S_MOV_B32 -1
-    %sgpr3 = S_MOV_B32 61440
-    BUFFER_STORE_DWORD_OFFSET killed %vgpr0, %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec :: (store 4 into `i32 addrspace(1)* undef`)
-    S_ENDPGM
-
-...
----
-# CHECK-LABEL: name: optimize_if_and_saveexec_xor_live_out_setexec{{$}}
-# CHECK: %sgpr2_sgpr3 = S_AND_B64 %sgpr0_sgpr1, killed %vcc, implicit-def %scc
-# CHECK-NEXT: %sgpr0_sgpr1 = S_XOR_B64 %sgpr2_sgpr3, killed %sgpr0_sgpr1, implicit-def %scc
-# CHECK-NEXT: %exec = COPY %sgpr2_sgpr3
-# CHECK-NEXT: SI_MASK_BRANCH
-name:            optimize_if_and_saveexec_xor_live_out_setexec
-alignment:       0
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
-tracksRegLiveness: true
-liveins:
-  - { reg: '%vgpr0' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.main_body:
-    successors: %bb.1.if, %bb.2.end
-    liveins: %vgpr0
-
-    %sgpr0_sgpr1 = COPY %exec
-    %vcc = V_CMP_EQ_I32_e64 0, killed %vgpr0, implicit %exec
-    %vgpr0 = V_MOV_B32_e32 4, implicit %exec
-    %sgpr2_sgpr3 = S_AND_B64 %sgpr0_sgpr1, killed %vcc, implicit-def %scc
-    %sgpr0_sgpr1 = S_XOR_B64 %sgpr2_sgpr3, killed %sgpr0_sgpr1, implicit-def %scc
-    %exec = S_MOV_B64_term %sgpr2_sgpr3
-    SI_MASK_BRANCH %bb.2.end, implicit %exec
-    S_BRANCH %bb.1.if
-
-  bb.1.if:
-    successors: %bb.2.end
-    liveins: %sgpr0_sgpr1, %sgpr2_sgpr3
-    S_SLEEP 0, implicit %sgpr2_sgpr3
-    %sgpr7 = S_MOV_B32 61440
-    %sgpr6 = S_MOV_B32 -1
-    %vgpr0 = BUFFER_LOAD_DWORD_OFFSET %sgpr4_sgpr5_sgpr6_sgpr7, 0, 0, 0, 0, 0, implicit %exec :: (volatile load 4 from `i32 addrspace(1)* undef`)
-
-  bb.2.end:
-    liveins: %vgpr0, %sgpr0_sgpr1
-
-    %exec = S_OR_B64 %exec, killed %sgpr0_sgpr1, implicit-def %scc
-    %sgpr3 = S_MOV_B32 61440
-    %sgpr2 = S_MOV_B32 -1
-    BUFFER_STORE_DWORD_OFFSET killed %vgpr0, %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec :: (store 4 into `i32 addrspace(1)* undef`)
-    S_ENDPGM
-
-...
-
-# CHECK-LABEL: name: optimize_if_unknown_saveexec{{$}}
-# CHECK: %sgpr0_sgpr1 = COPY %exec
-# CHECK: %sgpr2_sgpr3 = S_LSHR_B64 %sgpr0_sgpr1, killed %vcc_lo, implicit-def %scc
-# CHECK-NEXT: %exec = COPY killed %sgpr2_sgpr3
-# CHECK-NEXT: SI_MASK_BRANCH %bb.2.end, implicit %exec
-
-name:            optimize_if_unknown_saveexec
-alignment:       0
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
-tracksRegLiveness: true
-liveins:
-  - { reg: '%vgpr0' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.main_body:
-    successors: %bb.1.if, %bb.2.end
-    liveins: %vgpr0
-
-    %sgpr0_sgpr1 = COPY %exec
-    %vcc = V_CMP_EQ_I32_e64 0, killed %vgpr0, implicit %exec
-    %vgpr0 = V_MOV_B32_e32 4, implicit %exec
-    %sgpr2_sgpr3 = S_LSHR_B64 %sgpr0_sgpr1, killed %vcc_lo, implicit-def %scc
-    %exec = S_MOV_B64_term killed %sgpr2_sgpr3
-    SI_MASK_BRANCH %bb.2.end, implicit %exec
-    S_BRANCH %bb.1.if
-
-  bb.1.if:
-    successors: %bb.2.end
-    liveins: %sgpr0_sgpr1
-
-    %sgpr7 = S_MOV_B32 61440
-    %sgpr6 = S_MOV_B32 -1
-    %vgpr0 = BUFFER_LOAD_DWORD_OFFSET %sgpr4_sgpr5_sgpr6_sgpr7, 0, 0, 0, 0, 0, implicit %exec :: (volatile load 4 from `i32 addrspace(1)* undef`)
-
-  bb.2.end:
-    liveins: %vgpr0, %sgpr0_sgpr1
-
-    %exec = S_OR_B64 %exec, killed %sgpr0_sgpr1, implicit-def %scc
-    %sgpr3 = S_MOV_B32 61440
-    %sgpr2 = S_MOV_B32 -1
-    BUFFER_STORE_DWORD_OFFSET killed %vgpr0, %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec :: (store 4 into `i32 addrspace(1)* undef`)
-    S_ENDPGM
-
-...
----
-# CHECK-LABEL: name: optimize_if_andn2_saveexec{{$}}
-# CHECK: %sgpr0_sgpr1 = S_ANDN2_SAVEEXEC_B64 %vcc, implicit-def %exec, implicit-def %scc, implicit %exec
-# CHECK-NEXT: SI_MASK_BRANCH
-
-name:            optimize_if_andn2_saveexec
-alignment:       0
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
-tracksRegLiveness: true
-liveins:
-  - { reg: '%vgpr0' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.main_body:
-    successors: %bb.1.if, %bb.2.end
-    liveins: %vgpr0
-
-    %sgpr0_sgpr1 = COPY %exec
-    %vcc = V_CMP_EQ_I32_e64 0, killed %vgpr0, implicit %exec
-    %vgpr0 = V_MOV_B32_e32 4, implicit %exec
-    %sgpr2_sgpr3 = S_ANDN2_B64 %sgpr0_sgpr1, killed %vcc, implicit-def %scc
-    %exec = S_MOV_B64_term killed %sgpr2_sgpr3
-    SI_MASK_BRANCH %bb.2.end, implicit %exec
-    S_BRANCH %bb.1.if
-
-  bb.1.if:
-    successors: %bb.2.end
-    liveins: %sgpr0_sgpr1
-
-    %sgpr7 = S_MOV_B32 61440
-    %sgpr6 = S_MOV_B32 -1
-    %vgpr0 = BUFFER_LOAD_DWORD_OFFSET %sgpr4_sgpr5_sgpr6_sgpr7, 0, 0, 0, 0, 0, implicit %exec :: (volatile load 4 from `i32 addrspace(1)* undef`)
-
-  bb.2.end:
-    liveins: %vgpr0, %sgpr0_sgpr1
-
-    %exec = S_OR_B64 %exec, killed %sgpr0_sgpr1, implicit-def %scc
-    %sgpr3 = S_MOV_B32 61440
-    %sgpr2 = S_MOV_B32 -1
-    BUFFER_STORE_DWORD_OFFSET killed %vgpr0, %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec :: (store 4 into `i32 addrspace(1)* undef`)
-    S_ENDPGM
-
-...
----
-# CHECK-LABEL: name: optimize_if_andn2_saveexec_no_commute{{$}}
-# CHECK: %sgpr2_sgpr3 = S_ANDN2_B64 killed %vcc, %sgpr0_sgpr1, implicit-def %scc
-# CHECK-NEXT: %exec = COPY killed %sgpr2_sgpr3
-# CHECK-NEXT: SI_MASK_BRANCH %bb.2.end, implicit %exec
-name:            optimize_if_andn2_saveexec_no_commute
-alignment:       0
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
-tracksRegLiveness: true
-liveins:
-  - { reg: '%vgpr0' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.main_body:
-    successors: %bb.1.if, %bb.2.end
-    liveins: %vgpr0
-
-    %sgpr0_sgpr1 = COPY %exec
-    %vcc = V_CMP_EQ_I32_e64 0, killed %vgpr0, implicit %exec
-    %vgpr0 = V_MOV_B32_e32 4, implicit %exec
-    %sgpr2_sgpr3 = S_ANDN2_B64 killed %vcc, %sgpr0_sgpr1, implicit-def %scc
-    %exec = S_MOV_B64_term killed %sgpr2_sgpr3
-    SI_MASK_BRANCH %bb.2.end, implicit %exec
-    S_BRANCH %bb.1.if
-
-  bb.1.if:
-    successors: %bb.2.end
-    liveins: %sgpr0_sgpr1
-
-    %sgpr7 = S_MOV_B32 61440
-    %sgpr6 = S_MOV_B32 -1
-    %vgpr0 = BUFFER_LOAD_DWORD_OFFSET %sgpr4_sgpr5_sgpr6_sgpr7, 0, 0, 0, 0, 0, implicit %exec :: (volatile load 4 from `i32 addrspace(1)* undef`)
-
-  bb.2.end:
-    liveins: %vgpr0, %sgpr0_sgpr1
-
-    %exec = S_OR_B64 %exec, killed %sgpr0_sgpr1, implicit-def %scc
-    %sgpr3 = S_MOV_B32 61440
-    %sgpr2 = S_MOV_B32 -1
-    BUFFER_STORE_DWORD_OFFSET killed %vgpr0, %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec :: (store 4 into `i32 addrspace(1)* undef`)
-    S_ENDPGM
-
-...

Removed: llvm/trunk/test/CodeGen/MIR/AMDGPU/rename-independent-subregs.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/AMDGPU/rename-independent-subregs.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/AMDGPU/rename-independent-subregs.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/AMDGPU/rename-independent-subregs.mir (removed)
@@ -1,70 +0,0 @@
-# RUN: llc -march=amdgcn -verify-machineinstrs -run-pass simple-register-coalescing,rename-independent-subregs -o - %s | FileCheck %s
---- |
-  define void @test0() { ret void }
-  define void @test1() { ret void }
-...
----
-# In the test below we have two independent def+use pairs of subregister1 which
-# can be moved to a new virtual register. The third def of sub1 however is used
-# in combination with sub0 and needs to stay with the original vreg.
-# CHECK-LABEL: name: test0
-# CHECK: S_NOP 0, implicit-def undef %0.sub0
-# CHECK: S_NOP 0, implicit-def undef %2.sub1
-# CHECK: S_NOP 0, implicit %2.sub1
-# CHECK: S_NOP 0, implicit-def undef %1.sub1
-# CHECK: S_NOP 0, implicit %1.sub1
-# CHECK: S_NOP 0, implicit-def %0.sub1
-# CHECK: S_NOP 0, implicit %0
-name: test0
-registers:
-  - { id: 0, class: sreg_128 }
-body: |
-  bb.0:
-    S_NOP 0, implicit-def undef %0.sub0
-    S_NOP 0, implicit-def %0.sub1
-    S_NOP 0, implicit %0.sub1
-    S_NOP 0, implicit-def %0.sub1
-    S_NOP 0, implicit %0.sub1
-    S_NOP 0, implicit-def %0.sub1
-    S_NOP 0, implicit %0
-...
----
-# Test for a bug where we would incorrectly query liveness at the instruction
-# index in rewriteOperands(). This should pass the verifier afterwards.
-# CHECK-LABEL: test1
-# CHECK: bb.0
-# CHECK: S_NOP 0, implicit-def undef %2.sub2
-# CHECK: bb.1
-# CHECK: S_NOP 0, implicit-def %2.sub1
-# CHECK-NEXT: S_NOP 0, implicit-def %2.sub3
-# CHECK-NEXT: S_NOP 0, implicit %2
-# CHECK-NEXT: S_NOP 0, implicit-def undef %0.sub0
-# CHECK-NEXT: S_NOP 0, implicit %2.sub1
-# CHECK-NEXT: S_NOP 0, implicit %0.sub0
-# CHECK: bb.2
-# CHECK: S_NOP 0, implicit %2.sub
-name: test1
-registers:
-  - { id: 0, class: sreg_128 }
-  - { id: 1, class: sreg_128 }
-body: |
-  bb.0:
-    successors: %bb.1, %bb.2
-    S_NOP 0, implicit-def undef %0.sub2
-    S_CBRANCH_VCCNZ %bb.1, implicit undef %vcc
-    S_BRANCH %bb.2
-
-  bb.1:
-    S_NOP 0, implicit-def %0.sub1
-    S_NOP 0, implicit-def %0.sub3
-    %1 = COPY %0
-    S_NOP 0, implicit %1
-
-    S_NOP 0, implicit-def %1.sub0
-    S_NOP 0, implicit %1.sub1
-    S_NOP 0, implicit %1.sub0
-
-  bb.2:
-    S_NOP 0, implicit %0.sub2
-
-...

Removed: llvm/trunk/test/CodeGen/MIR/AMDGPU/scalar-store-cache-flush.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/AMDGPU/scalar-store-cache-flush.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/AMDGPU/scalar-store-cache-flush.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/AMDGPU/scalar-store-cache-flush.mir (removed)
@@ -1,173 +0,0 @@
-# RUN: llc -march=amdgcn -run-pass si-insert-waits %s -o - | FileCheck %s
-
---- |
-  define void @basic_insert_dcache_wb() {
-    ret void
-  }
-
-  define void @explicit_flush_after() {
-    ret void
-  }
-
-  define void @explicit_flush_before() {
-    ret void
-  }
-
-  define void @no_scalar_store() {
-    ret void
-  }
-
-  define void @multi_block_store() {
-  bb0:
-    br i1 undef, label %bb1, label %bb2
-
-   bb1:
-     ret void
-
-   bb2:
-    ret void
-  }
-
-  define void @one_block_store() {
-  bb0:
-    br i1 undef, label %bb1, label %bb2
-
-   bb1:
-     ret void
-
-   bb2:
-    ret void
-  }
-
-  define amdgpu_ps float @si_return() {
-    ret float undef
-  }
-
-...
----
-# CHECK-LABEL: name: basic_insert_dcache_wb
-# CHECK: bb.0:
-# CHECK-NEXT: S_STORE_DWORD
-# CHECK-NEXT: S_DCACHE_WB
-# CHECK-NEXT: S_ENDPGM
-
-name: basic_insert_dcache_wb
-tracksRegLiveness: false
-
-body: |
-  bb.0:
-    S_STORE_DWORD_SGPR undef %sgpr2, undef %sgpr0_sgpr1, undef %m0, 0
-    S_ENDPGM
-...
----
-# Already has an explicitly requested flush after the last store.
-# CHECK-LABEL: name: explicit_flush_after
-# CHECK: bb.0:
-# CHECK-NEXT: S_STORE_DWORD
-# CHECK-NEXT: S_DCACHE_WB
-# CHECK-NEXT: S_ENDPGM
-
-name: explicit_flush_after
-tracksRegLiveness: false
-
-body: |
-  bb.0:
-    S_STORE_DWORD_SGPR undef %sgpr2, undef %sgpr0_sgpr1, undef %m0, 0
-    S_DCACHE_WB
-    S_ENDPGM
-...
----
-# Already has an explicitly requested flush before the last store.
-# CHECK-LABEL: name: explicit_flush_before
-# CHECK: bb.0:
-# CHECK-NEXT: S_DCACHE_WB
-# CHECK-NEXT: S_STORE_DWORD
-# CHECK-NEXT: S_DCACHE_WB
-# CHECK-NEXT: S_ENDPGM
-
-name: explicit_flush_before
-tracksRegLiveness: false
-
-body: |
-  bb.0:
-    S_DCACHE_WB
-    S_STORE_DWORD_SGPR undef %sgpr2, undef %sgpr0_sgpr1, undef %m0, 0
-    S_ENDPGM
-...
----
-# CHECK-LABEL: no_scalar_store
-# CHECK: bb.0
-# CHECK-NEXT: S_ENDPGM
-name: no_scalar_store
-tracksRegLiveness: false
-
-body: |
-  bb.0:
-    S_ENDPGM
-...
-
-# CHECK-LABEL: name: multi_block_store
-# CHECK: bb.0:
-# CHECK-NEXT: S_STORE_DWORD
-# CHECK-NEXT: S_DCACHE_WB
-# CHECK-NEXT: S_ENDPGM
-
-# CHECK: bb.1:
-# CHECK-NEXT: S_STORE_DWORD
-# CHECK-NEXT: S_DCACHE_WB
-# CHECK-NEXT: S_ENDPGM
-
-name: multi_block_store
-tracksRegLiveness: false
-
-body: |
-  bb.0:
-    S_STORE_DWORD_SGPR undef %sgpr2, undef %sgpr0_sgpr1, undef %m0, 0
-    S_ENDPGM
-
-  bb.1:
-    S_STORE_DWORD_SGPR undef %sgpr4, undef %sgpr6_sgpr7, undef %m0, 0
-    S_ENDPGM
-...
-...
-
-# This one should be able to omit the flush in the storeless block but
-# this isn't handled now.
-
-# CHECK-LABEL: name: one_block_store
-# CHECK: bb.0:
-# CHECK-NEXT: S_DCACHE_WB
-# CHECK-NEXT: S_ENDPGM
-
-# CHECK: bb.1:
-# CHECK-NEXT: S_STORE_DWORD
-# CHECK-NEXT: S_DCACHE_WB
-# CHECK-NEXT: S_ENDPGM
-
-name: one_block_store
-tracksRegLiveness: false
-
-body: |
-  bb.0:
-    S_ENDPGM
-
-  bb.1:
-    S_STORE_DWORD_SGPR undef %sgpr4, undef %sgpr6_sgpr7, undef %m0, 0
-    S_ENDPGM
-...
----
-# CHECK-LABEL: name: si_return
-# CHECK: bb.0:
-# CHECK-NEXT: S_STORE_DWORD
-# CHECK-NEXT: S_WAITCNT
-# CHECK-NEXT: S_DCACHE_WB
-# CHECK-NEXT: SI_RETURN
-
-name: si_return
-tracksRegLiveness: false
-
-body: |
-  bb.0:
-    S_STORE_DWORD_SGPR undef %sgpr2, undef %sgpr0_sgpr1, undef %m0, 0
-    SI_RETURN undef %vgpr0
-...

Removed: llvm/trunk/test/CodeGen/MIR/AMDGPU/si-fix-sgpr-copies.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/AMDGPU/si-fix-sgpr-copies.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/AMDGPU/si-fix-sgpr-copies.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/AMDGPU/si-fix-sgpr-copies.mir (removed)
@@ -1,43 +0,0 @@
-# RUN: llc -march=amdgcn -run-pass si-fix-sgpr-copies %s -o - | FileCheck %s -check-prefixes=GCN
-
---- |
-  define void @phi_visit_order() { ret void }
-
-name: phi_visit_order
-tracksRegLiveness: true
-registers:
-  - { id: 0, class: sreg_32_xm0 }
-  - { id: 1, class: sreg_64 }
-  - { id: 2, class: sreg_32_xm0 }
-  - { id: 7, class: vgpr_32 }
-  - { id: 8, class: sreg_32_xm0 }
-  - { id: 9, class: vgpr_32 }
-  - { id: 10, class: sreg_64 }
-  - { id: 11, class: sreg_32_xm0 }
-
-body: |
-  ; GCN-LABEL: name: phi_visit_order
-  ; GCN: V_ADD_I32
-  bb.0:
-    liveins: %vgpr0
-    successors: %bb.1
-    %7 = COPY %vgpr0
-    %8 = S_MOV_B32 0
-
-  bb.1:
-    successors: %bb.1, %bb.2
-    %0 = PHI %8, %bb.0, %0, %bb.1, %2, %bb.2
-    %9 = V_MOV_B32_e32 9, implicit %exec
-    %10 = V_CMP_EQ_U32_e64 %7, %9, implicit %exec
-    %1 = SI_IF %10, %bb.2, implicit-def %exec, implicit-def %scc, implicit %exec
-    S_BRANCH %bb.1
-
-  bb.2:
-    successors: %bb.1
-    SI_END_CF %1, implicit-def %exec, implicit-def %scc, implicit %exec
-    %11 = S_MOV_B32 1
-    %2 = S_ADD_I32 %0, %11, implicit-def %scc
-    S_BRANCH %bb.1
-
-...
----

Removed: llvm/trunk/test/CodeGen/MIR/AMDGPU/subreg-intervals.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/AMDGPU/subreg-intervals.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/AMDGPU/subreg-intervals.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/AMDGPU/subreg-intervals.mir (removed)
@@ -1,51 +0,0 @@
-# RUN: llc -march=amdgcn -run-pass liveintervals -debug-only=regalloc -o /dev/null %s 2>&1 | FileCheck %s
-# REQUIRES: asserts
-
-# CHECK: INTERVALS
-# CHECK: vreg0
-# CHECK-LABEL: Machine code for function test0:
-
-# CHECK: INTERVALS
-# CHECK: vreg0
-# CHECK-LABEL: Machine code for function test1:
-
---- |
-  define void @test0() { ret void }
-  define void @test1() { ret void }
-...
----
-name: test0
-registers:
-  - { id: 0, class: sreg_64 }
-body: |
-  bb.0:
-    S_NOP 0, implicit-def %0
-    S_NOP 0, implicit %0
-
-    S_NOP 0, implicit-def undef %0.sub0
-    S_NOP 0, implicit %0
-...
----
-name: test1
-registers:
-  - { id: 0, class: sreg_64 }
-body: |
-  bb.0:
-    successors: %bb.1, %bb.2
-    S_CBRANCH_VCCNZ %bb.1, implicit undef %vcc
-    S_BRANCH %bb.2
-
-  bb.1:
-    successors: %bb.3
-    S_NOP 0, implicit-def undef %0.sub0
-    S_BRANCH %bb.3
-
-  bb.2:
-    successors: %bb.3
-    S_NOP 0, implicit-def %0
-    S_BRANCH %bb.3
-
-  bb.3:
-    S_NOP 0
-    S_NOP 0, implicit %0
-...

Removed: llvm/trunk/test/CodeGen/MIR/AMDGPU/vccz-corrupt-bug-workaround.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/AMDGPU/vccz-corrupt-bug-workaround.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/AMDGPU/vccz-corrupt-bug-workaround.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/AMDGPU/vccz-corrupt-bug-workaround.mir (removed)
@@ -1,177 +0,0 @@
-# RUN: llc -run-pass si-insert-waits -march=amdgcn -mcpu=tahiti -o - %s | FileCheck %s
---- |
-
-  define void @vccz_corrupt_workaround(float %cond, i32 addrspace(1)* %out) #0 {
-  entry:
-    %cmp0 = fcmp oeq float %cond, 0.000000e+00
-    br i1 %cmp0, label %if, label %else, !structurizecfg.uniform !0, !amdgpu.uniform !0
-
-  else:                                             ; preds = %entry
-    store volatile i32 100, i32 addrspace(1)* undef
-    br label %done, !structurizecfg.uniform !0
-
-  if:                                               ; preds = %entry
-    store volatile i32 9, i32 addrspace(1)* undef
-    br label %done, !structurizecfg.uniform !0
-
-  done:                                             ; preds = %if, %else
-    %value = phi i32 [ 0, %if ], [ 1, %else ]
-    store i32 %value, i32 addrspace(1)* %out
-    ret void
-  }
-
-  define void @vccz_corrupt_undef_vcc(float %cond, i32 addrspace(1)* %out) #0 {
-  entry:
-    br i1 undef, label %if, label %else, !structurizecfg.uniform !0, !amdgpu.uniform !0
-
-  else:                                             ; preds = %entry
-    store volatile i32 100, i32 addrspace(1)* undef
-    br label %done, !structurizecfg.uniform !0
-
-  if:                                               ; preds = %entry
-    store volatile i32 9, i32 addrspace(1)* undef
-    br label %done, !structurizecfg.uniform !0
-
-  done:                                             ; preds = %if, %else
-    %value = phi i32 [ 0, %if ], [ 1, %else ]
-    store i32 %value, i32 addrspace(1)* %out
-    ret void
-  }
-
-  attributes #0 = { nounwind }
-  attributes #1 = { readnone }
-
-  !0 = !{}
-
-...
----
-# CHECK-LABEL: name: vccz_corrupt_workaround
-# CHECK: %vcc = V_CMP_EQ_F32
-# CHECK-NEXT: %vcc = S_MOV_B64 %vcc
-# CHECK-NEXT: S_CBRANCH_VCCZ %bb.2.else, implicit killed %vcc
-
-name:            vccz_corrupt_workaround
-alignment:       0
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
-tracksRegLiveness: true
-liveins:
-  - { reg: '%sgpr0_sgpr1' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.entry:
-    successors: %bb.2.if, %bb.1.else
-    liveins: %sgpr0_sgpr1
-
-    %sgpr2 = S_LOAD_DWORD_IMM %sgpr0_sgpr1, 9, 0 :: (non-temporal dereferenceable invariant load 4 from `float addrspace(2)* undef`)
-    %sgpr0_sgpr1 = S_LOAD_DWORDX2_IMM killed %sgpr0_sgpr1, 11, 0 :: (non-temporal dereferenceable invariant load 8 from `i64 addrspace(2)* undef`)
-    %sgpr7 = S_MOV_B32 61440
-    %sgpr6 = S_MOV_B32 -1
-    %vcc = V_CMP_EQ_F32_e64 0, 0, 0, %sgpr2, 0, 0, implicit %exec
-    S_CBRANCH_VCCZ %bb.1.else, implicit killed %vcc
-
-  bb.2.if:
-    successors: %bb.3.done
-    liveins: %sgpr6, %sgpr7, %sgpr0_sgpr1_sgpr2_sgpr3:0x00000003
-
-    %vgpr0 = V_MOV_B32_e32 9, implicit %exec
-    BUFFER_STORE_DWORD_OFFSET killed %vgpr0, killed %sgpr4_sgpr5_sgpr6_sgpr7, 0, 0, 0, 0, 0, implicit %exec :: (volatile store 4 into `i32 addrspace(1)* undef`)
-    %vgpr0 = V_MOV_B32_e32 0, implicit %exec
-    S_BRANCH %bb.3.done
-
-  bb.1.else:
-    successors: %bb.3.done
-    liveins: %sgpr6, %sgpr7, %sgpr0_sgpr1_sgpr2_sgpr3:0x00000003
-
-    %vgpr0 = V_MOV_B32_e32 100, implicit %exec
-    BUFFER_STORE_DWORD_OFFSET killed %vgpr0, killed %sgpr4_sgpr5_sgpr6_sgpr7, 0, 0, 0, 0, 0, implicit %exec :: (volatile store 4 into `i32 addrspace(1)* undef`)
-    %vgpr0 = V_MOV_B32_e32 1, implicit %exec
-
-  bb.3.done:
-    liveins: %vgpr0, %sgpr0_sgpr1_sgpr2_sgpr3:0x00000003
-
-    %sgpr3 = S_MOV_B32 61440
-    %sgpr2 = S_MOV_B32 -1
-    BUFFER_STORE_DWORD_OFFSET killed %vgpr0, killed %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec :: (store 4 into %ir.out)
-    S_ENDPGM
-
-...
----
-# CHECK-LABEL: name: vccz_corrupt_undef_vcc
-# CHECK: S_WAITCNT
-# CHECK-NEXT: S_CBRANCH_VCCZ %bb.2.else, implicit undef %vcc
-
-name:            vccz_corrupt_undef_vcc
-alignment:       0
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
-tracksRegLiveness: true
-liveins:
-  - { reg: '%sgpr0_sgpr1' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.entry:
-    successors: %bb.2.if, %bb.1.else
-    liveins: %sgpr0_sgpr1
-
-    %sgpr0_sgpr1 = S_LOAD_DWORDX2_IMM killed %sgpr0_sgpr1, 11, 0 :: (non-temporal dereferenceable invariant load 8 from `i64 addrspace(2)* undef`)
-    %sgpr7 = S_MOV_B32 61440
-    %sgpr6 = S_MOV_B32 -1
-    S_CBRANCH_VCCZ %bb.1.else, implicit undef %vcc
-
-  bb.2.if:
-    successors: %bb.3.done
-    liveins: %sgpr6, %sgpr7, %sgpr0_sgpr1_sgpr2_sgpr3:0x00000003
-
-    %vgpr0 = V_MOV_B32_e32 9, implicit %exec
-    BUFFER_STORE_DWORD_OFFSET killed %vgpr0, killed %sgpr4_sgpr5_sgpr6_sgpr7, 0, 0, 0, 0, 0, implicit %exec :: (volatile store 4 into `i32 addrspace(1)* undef`)
-    %vgpr0 = V_MOV_B32_e32 0, implicit %exec
-    S_BRANCH %bb.3.done
-
-  bb.1.else:
-    successors: %bb.3.done
-    liveins: %sgpr6, %sgpr7, %sgpr0_sgpr1_sgpr2_sgpr3:0x00000003
-
-    %vgpr0 = V_MOV_B32_e32 100, implicit %exec
-    BUFFER_STORE_DWORD_OFFSET killed %vgpr0, killed %sgpr4_sgpr5_sgpr6_sgpr7, 0, 0, 0, 0, 0, implicit %exec :: (volatile store 4 into `i32 addrspace(1)* undef`)
-    %vgpr0 = V_MOV_B32_e32 1, implicit %exec
-
-  bb.3.done:
-    liveins: %vgpr0, %sgpr0_sgpr1_sgpr2_sgpr3:0x00000003
-
-    %sgpr3 = S_MOV_B32 61440
-    %sgpr2 = S_MOV_B32 -1
-    BUFFER_STORE_DWORD_OFFSET killed %vgpr0, killed %sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit %exec :: (store 4 into %ir.out)
-    S_ENDPGM
-
-...

Removed: llvm/trunk/test/CodeGen/MIR/AMDGPU/waitcnt.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/AMDGPU/waitcnt.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/AMDGPU/waitcnt.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/AMDGPU/waitcnt.mir (removed)
@@ -1,59 +0,0 @@
-# RUN: llc -march=amdgcn -mcpu=fiji -run-pass si-insert-waits  %s -o - | FileCheck %s
-
---- |
-  define void @flat_zero_waitcnt(i32 addrspace(1)* %global4,
-                                 <4 x i32> addrspace(1)* %global16,
-                                 i32 addrspace(4)* %flat4,
-                                 <4 x i32> addrspace(4)* %flat16) {
-    ret void
-  }
-...
----
-
-# CHECK-LABEL: name: flat_zero_waitcnt
-
-# CHECK-LABEL: bb.0:
-# CHECK: FLAT_LOAD_DWORD
-# CHECK: FLAT_LOAD_DWORDX4
-# Global loads will return in order so we should:
-# s_waitcnt vmcnt(1) lgkmcnt(0)
-# CHECK-NEXT: S_WAITCNT 113
-
-# CHECK-LABEL: bb.1:
-# CHECK: FLAT_LOAD_DWORD
-# CHECK: FLAT_LOAD_DWORDX4
-# The first load has no mem operand, so we should assume it accesses the flat
-# address space.
-# s_waitcnt vmcnt(0) lgkmcnt(0)
-# CHECK-NEXT: S_WAITCNT 112
-
-# CHECK-LABEL: bb.2:
-# CHECK: FLAT_LOAD_DWORD
-# CHECK: FLAT_LOAD_DWORDX4
-# One outstand loads access the flat address space.
-# s_waitcnt vmcnt(0) lgkmcnt(0)
-# CHECK-NEXT: S_WAITCNT 112
-
-name: flat_zero_waitcnt
-
-body: |
-  bb.0:
-    successors: %bb.1
-    %vgpr0 = FLAT_LOAD_DWORD %vgpr1_vgpr2, 0, 0, 0, implicit %exec, implicit %flat_scr :: (load 4 from %ir.global4)
-    %vgpr3_vgpr4_vgpr5_vgpr6 = FLAT_LOAD_DWORDX4 %vgpr7_vgpr8, 0, 0, 0, implicit %exec, implicit %flat_scr :: (load 16 from %ir.global16)
-    %vgpr0 = V_MOV_B32_e32 %vgpr1, implicit %exec
-    S_BRANCH %bb.1
-
-  bb.1:
-    successors: %bb.2
-    %vgpr0 = FLAT_LOAD_DWORD %vgpr1_vgpr2, 0, 0, 0, implicit %exec, implicit %flat_scr
-    %vgpr3_vgpr4_vgpr5_vgpr6 = FLAT_LOAD_DWORDX4 %vgpr7_vgpr8, 0, 0, 0, implicit %exec, implicit %flat_scr :: (load 16 from %ir.global16)
-    %vgpr0 = V_MOV_B32_e32 %vgpr1, implicit %exec
-    S_BRANCH %bb.2
-
-  bb.2:
-    %vgpr0 = FLAT_LOAD_DWORD %vgpr1_vgpr2, 0, 0, 0, implicit %exec, implicit %flat_scr :: (load 4 from %ir.flat4)
-    %vgpr3_vgpr4_vgpr5_vgpr6 = FLAT_LOAD_DWORDX4 %vgpr7_vgpr8, 0, 0, 0, implicit %exec, implicit %flat_scr :: (load 16 from %ir.flat16)
-    %vgpr0 = V_MOV_B32_e32 %vgpr1, implicit %exec
-    S_ENDPGM
-...

Removed: llvm/trunk/test/CodeGen/MIR/ARM/imm-peephole-arm.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/ARM/imm-peephole-arm.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/ARM/imm-peephole-arm.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/ARM/imm-peephole-arm.mir (removed)
@@ -1,60 +0,0 @@
-# RUN: llc -run-pass=peephole-opt %s -o - | FileCheck %s
-
-# CHECK: [[IN:%.*]] = COPY %r0
-# CHECK: [[SUM1TMP:%.*]] = ADDri [[IN]], 133
-# CHECK: [[SUM1:%.*]] = ADDri killed [[SUM1TMP]], 25600
-
-# CHECK: [[SUM2TMP:%.*]] = SUBri [[IN]], 133
-# CHECK: [[SUM2:%.*]] = SUBri killed [[SUM2TMP]], 25600
-
-# CHECK: [[SUM3TMP:%.*]] = SUBri [[IN]], 133
-# CHECK: [[SUM3:%.*]] = SUBri killed [[SUM3TMP]], 25600
-
-# CHECK: [[SUM4TMP:%.*]] = ADDri killed [[IN]], 133
-# CHECK: [[SUM4:%.*]] = ADDri killed [[SUM4TMP]], 25600
-
-
---- |
-  target datalayout = "e-m:o-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32"
-  target triple = "armv7-apple-ios"
-
-  define i32 @foo(i32 %in) {
-    ret i32 undef
-  }
-...
----
-name:            foo
-registers:
-  - { id: 0, class: gprnopc }
-  - { id: 1, class: rgpr }
-  - { id: 2, class: rgpr }
-  - { id: 3, class: rgpr }
-  - { id: 4, class: rgpr }
-  - { id: 5, class: rgpr }
-  - { id: 6, class: rgpr }
-  - { id: 7, class: rgpr }
-  - { id: 8, class: rgpr }
-liveins:
-  - { reg: '%r0', virtual-reg: '%0' }
-body:             |
-  bb.0 (%ir-block.0):
-    liveins: %r0
-
-    %0 = COPY %r0
-    %1 = MOVi32imm -25733
-    %2 = SUBrr %0, killed %1, 14, _, _
-
-    %3 = MOVi32imm 25733
-    %4 = SUBrr %0, killed %3, 14, _, _
-
-    %5 = MOVi32imm -25733
-    %6 = ADDrr %0, killed %5, 14, _, _
-
-    %7 = MOVi32imm 25733
-    %8 = ADDrr killed %0, killed %7, 14, _, _
-
-    %r0 = COPY killed %8
-    BX_RET 14, _, implicit %r0
-
-...
-

Removed: llvm/trunk/test/CodeGen/MIR/ARM/imm-peephole-thumb.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/ARM/imm-peephole-thumb.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/ARM/imm-peephole-thumb.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/ARM/imm-peephole-thumb.mir (removed)
@@ -1,59 +0,0 @@
-# RUN: llc -run-pass=peephole-opt %s -o - | FileCheck %s
-
-# CHECK: [[IN:%.*]] = COPY %r0
-# CHECK: [[SUM1TMP:%.*]] = t2ADDri [[IN]], 25600
-# CHECK: [[SUM1:%.*]] = t2ADDri killed [[SUM1TMP]], 133
-
-# CHECK: [[SUM2TMP:%.*]] = t2SUBri [[IN]], 25600
-# CHECK: [[SUM2:%.*]] = t2SUBri killed [[SUM2TMP]], 133
-
-# CHECK: [[SUM3TMP:%.*]] = t2SUBri [[IN]], 25600
-# CHECK: [[SUM3:%.*]] = t2SUBri killed [[SUM3TMP]], 133
-
-# CHECK: [[SUM4TMP:%.*]] = t2ADDri killed [[IN]], 25600
-# CHECK: [[SUM4:%.*]] = t2ADDri killed [[SUM4TMP]], 133
-
-
---- |
-  target datalayout = "e-m:o-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32"
-  target triple = "thumbv7-apple-ios"
-
-  define i32 @foo(i32 %in) {
-    ret i32 undef
-  }
-...
----
-name:            foo
-registers:
-  - { id: 0, class: gprnopc }
-  - { id: 1, class: rgpr }
-  - { id: 2, class: rgpr }
-  - { id: 3, class: rgpr }
-  - { id: 4, class: rgpr }
-  - { id: 5, class: rgpr }
-  - { id: 6, class: rgpr }
-  - { id: 7, class: rgpr }
-  - { id: 8, class: rgpr }
-liveins:
-  - { reg: '%r0', virtual-reg: '%0' }
-body:             |
-  bb.0 (%ir-block.0):
-    liveins: %r0
-    %0 = COPY %r0
-    %1 = t2MOVi32imm -25733
-    %2 = t2SUBrr %0, killed %1, 14, _, _
-
-    %3 = t2MOVi32imm 25733
-    %4 = t2SUBrr %0, killed %3, 14, _, _
-
-    %5 = t2MOVi32imm -25733
-    %6= t2ADDrr %0, killed %5, 14, _, _
-
-    %7 = t2MOVi32imm 25733
-    %8 = t2ADDrr killed %0, killed %7, 14, _, _
-
-    %r0 = COPY killed %8
-    tBX_RET 14, _, implicit %r0
-
-...
-

Removed: llvm/trunk/test/CodeGen/MIR/Hexagon/anti-dep-partial.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/Hexagon/anti-dep-partial.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/Hexagon/anti-dep-partial.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/Hexagon/anti-dep-partial.mir (removed)
@@ -1,34 +0,0 @@
-# RUN: llc -march=hexagon -post-RA-scheduler -run-pass post-RA-sched %s -o - | FileCheck %s
-
---- |
-  declare void @check(i64, i32, i32, i64)
-  define void @foo() {
-    ret void
-  }
-...
-
----
-name: foo
-tracksRegLiveness: true
-body: |
-  bb.0:
-    successors:
-    liveins: %r0, %r1, %d1, %d2, %r16, %r17, %r19, %r22, %r23
-        %r2 = A2_add %r23, killed %r17
-        %r6 = M2_mpyi %r16, %r16
-        %r22 = M2_accii %r22, killed %r2, 2
-        %r7 = A2_tfrsi 12345678
-        %r3 = A2_tfr killed %r16
-        %d2 = A2_tfrp killed %d0
-        %r2 = L2_loadri_io %r29, 28
-        %r2 = M2_mpyi killed %r6, killed %r2
-        %r23 = S2_asr_i_r %r22, 31
-        S2_storeri_io killed %r29, 0, killed %r7
-        ; The anti-dependency on r23 between the first A2_add and the
-        ; S2_asr_i_r was causing d11 to be renamed, while r22 remained
-        ; unchanged. Check that the renaming of d11 does not happen.
-        ; CHECK: d11
-        %d0 = A2_tfrp killed %d11
-        J2_call @check, implicit-def %d0, implicit-def %d1, implicit-def %d2, implicit %d0, implicit %d1, implicit %d2
-...
-

Removed: llvm/trunk/test/CodeGen/MIR/Lanai/lit.local.cfg
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/Lanai/lit.local.cfg?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/Lanai/lit.local.cfg (original)
+++ llvm/trunk/test/CodeGen/MIR/Lanai/lit.local.cfg (removed)
@@ -1,2 +0,0 @@
-if not 'Lanai' in config.root.targets:
-    config.unsupported = True

Removed: llvm/trunk/test/CodeGen/MIR/Lanai/peephole-compare.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/Lanai/peephole-compare.mir?rev=289253&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/Lanai/peephole-compare.mir (original)
+++ llvm/trunk/test/CodeGen/MIR/Lanai/peephole-compare.mir (removed)
@@ -1,678 +0,0 @@
-# RUN: llc -run-pass=peephole-opt %s -o - | FileCheck %s
-
-# Test the compare fold peephole.
-
-# CHECK-LABEL: name: test0a
-# TODO: Enhance combiner to handle this case. This expands into:
-#   sub     %r7, %r6, %r3
-#   sub.f   %r7, %r6, %r0
-#   sel.eq %r18, %r3, %rv
-# This is different from the pattern currently matched. If the lowered form had
-# been sub.f %r3, 0, %r0 then it would have matched.
-
-# CHECK-LABEL: name: test1a
-# CHECK: [[IN1:%.*]] = COPY %r7
-# CHECK: [[IN2:%.*]] = COPY %r6
-# CHECK: SUB_F_R [[IN1]], [[IN2]], 0, implicit-def %sr
-
-# CHECK-LABEL: name: test1b
-# CHECK: [[IN1:%.*]] = COPY %r7
-# CHECK: [[IN2:%.*]] = COPY %r6
-# CHECK: SUB_F_R [[IN1]], [[IN2]], 0, implicit-def %sr
-
-# CHECK-LABEL: name: test2a
-# CHECK: [[IN1:%.*]] = COPY %r7
-# CHECK: [[IN2:%.*]] = COPY %r6
-# CHECK: SUB_F_R [[IN1]], [[IN2]], 0, implicit-def %sr
-
-# CHECK-LABEL: name: test2b
-# CHECK: [[IN1:%.*]] = COPY %r7
-# CHECK: [[IN2:%.*]] = COPY %r6
-# CHECK: SUB_F_R [[IN1]], [[IN2]], 0, implicit-def %sr
-
-# CHECK-LABEL: name: test3
-# CHECK: AND_F_R
-# CHECK: AND_F_R
-# CHECK: AND_F_R
-
---- |
-  target datalayout = "E-m:e-p:32:32-i64:64-a:0:32-n32-S64"
-  target triple = "lanai-unknown-unknown"
-  
-  @a = global i32 -1, align 4
-  @b = global i32 0, align 4
-  
-  define i32 @test0a(i32 inreg %a, i32 inreg %b, i32 inreg %c, i32 inreg %d) {
-  entry:
-    %sub = sub i32 %b, %a
-    %cmp = icmp eq i32 %sub, 0
-    %cond = select i1 %cmp, i32 %c, i32 %sub
-    ret i32 %cond
-  }
-  
-  define i32 @test0b(i32 inreg %a, i32 inreg %b, i32 inreg %c, i32 inreg %d) {
-  entry:
-    %cmp = icmp eq i32 %b, %a
-    %cond = select i1 %cmp, i32 %c, i32 %b
-    ret i32 %cond
-  }
-  
-  define i32 @test1a(i32 inreg %a, i32 inreg %b, i32 inreg %c, i32 inreg %d) {
-  entry:
-    %sub = sub i32 %b, %a
-    %cmp = icmp slt i32 %sub, 0
-    %cond = select i1 %cmp, i32 %c, i32 %d
-    ret i32 %cond
-  }
-  
-  define i32 @test1b(i32 inreg %a, i32 inreg %b, i32 inreg %c, i32 inreg %d) {
-  entry:
-    %sub = sub i32 %b, %a
-    %cmp = icmp slt i32 %sub, 0
-    %cond = select i1 %cmp, i32 %c, i32 %d
-    ret i32 %cond
-  }
-  
-  define i32 @test2a(i32 inreg %a, i32 inreg %b, i32 inreg %c, i32 inreg %d) {
-  entry:
-    %sub = sub i32 %b, %a
-    %cmp = icmp sgt i32 %sub, -1
-    %cond = select i1 %cmp, i32 %c, i32 %d
-    ret i32 %cond
-  }
-  
-  define i32 @test2b(i32 inreg %a, i32 inreg %b, i32 inreg %c, i32 inreg %d) {
-  entry:
-    %sub = sub i32 %b, %a
-    %cmp = icmp sgt i32 %sub, -1
-    %cond = select i1 %cmp, i32 %c, i32 %d
-    ret i32 %cond
-  }
-  
-  define i32 @test3(i32 inreg %a, i32 inreg %b, i32 inreg %c, i32 inreg %d) {
-  entry:
-    %sub = sub i32 %b, %a
-    %cmp = icmp slt i32 %sub, 1
-    %cond = select i1 %cmp, i32 %c, i32 %d
-    ret i32 %cond
-  }
-  
-  define i32 @test4(i32 inreg %a, i32 inreg %b, i32 inreg %c, i32 inreg %d) {
-  entry:
-    %cmp = icmp ne i32 %a, 0
-    %cmp1 = icmp ult i32 %a, %b
-    %or.cond = and i1 %cmp, %cmp1
-    br i1 %or.cond, label %return, label %if.end
-  
-  if.end:                                           ; preds = %entry
-    %cmp2 = icmp ne i32 %b, 0
-    %cmp4 = icmp ult i32 %b, %c
-    %or.cond29 = and i1 %cmp2, %cmp4
-    br i1 %or.cond29, label %return, label %if.end6
-  
-  if.end6:                                          ; preds = %if.end
-    %cmp7 = icmp ne i32 %c, 0
-    %cmp9 = icmp ult i32 %c, %d
-    %or.cond30 = and i1 %cmp7, %cmp9
-    br i1 %or.cond30, label %return, label %if.end11
-  
-  if.end11:                                         ; preds = %if.end6
-    %cmp12 = icmp ne i32 %d, 0
-    %cmp14 = icmp ult i32 %d, %a
-    %or.cond31 = and i1 %cmp12, %cmp14
-    %b. = select i1 %or.cond31, i32 %b, i32 21
-    ret i32 %b.
-  
-  return:                                           ; preds = %if.end6, %if.end, %entry
-    %retval.0 = phi i32 [ %c, %entry ], [ %d, %if.end ], [ %a, %if.end6 ]
-    ret i32 %retval.0
-  }
-  
-  define void @testBB() {
-  entry:
-    %0 = load i32, i32* @a, align 4, !tbaa !0
-    %1 = load i32, i32* @b, align 4, !tbaa !0
-    %sub.i = sub i32 %1, %0
-    %tobool = icmp sgt i32 %sub.i, -1
-    br i1 %tobool, label %if.end, label %if.then
-  
-  if.then:                                          ; preds = %entry
-    %call1 = tail call i32 bitcast (i32 (...)* @g to i32 ()*)()
-    br label %while.body
-  
-  while.body:                                       ; preds = %while.body, %if.then
-    br label %while.body
-  
-  if.end:                                           ; preds = %entry
-    %cmp.i = icmp slt i32 %sub.i, 1
-    br i1 %cmp.i, label %if.then4, label %if.end7
-  
-  if.then4:                                         ; preds = %if.end
-    %call5 = tail call i32 bitcast (i32 (...)* @g to i32 ()*)()
-    br label %while.body6
-  
-  while.body6:                                      ; preds = %while.body6, %if.then4
-    br label %while.body6
-  
-  if.end7:                                          ; preds = %if.end
-    ret void
-  }
-  
-  declare i32 @g(...)
-  
-  ; Function Attrs: nounwind
-  declare void @llvm.stackprotector(i8*, i8**) #0
-  
-  attributes #0 = { nounwind }
-  
-  !0 = !{!1, !1, i64 0}
-  !1 = !{!"int", !2, i64 0}
-  !2 = !{!"omnipotent char", !3, i64 0}
-  !3 = !{!"Simple C/C++ TBAA"}
-
-...
----
-name:            test0a
-alignment:       2
-exposesReturnsTwice: false
-tracksRegLiveness: true
-registers:       
-  - { id: 0, class: gpr }
-  - { id: 1, class: gpr }
-  - { id: 2, class: gpr }
-  - { id: 3, class: gpr }
-  - { id: 4, class: gpr }
-  - { id: 5, class: gpr }
-liveins:         
-  - { reg: '%r6', virtual-reg: '%0' }
-  - { reg: '%r7', virtual-reg: '%1' }
-  - { reg: '%r18', virtual-reg: '%2' }
-frameInfo:       
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.entry:
-    liveins: %r6, %r7, %r18
-  
-    %2 = COPY %r18
-    %1 = COPY %r7
-    %0 = COPY %r6
-    %4 = SUB_R %1, %0, 0
-    SFSUB_F_RI_LO %4, 0, implicit-def %sr
-    %5 = SELECT %2, %4, 7, implicit %sr
-    %rv = COPY %5
-    RET implicit %rca, implicit %rv
-
-...
----
-name:            test0b
-alignment:       2
-exposesReturnsTwice: false
-tracksRegLiveness: true
-registers:       
-  - { id: 0, class: gpr }
-  - { id: 1, class: gpr }
-  - { id: 2, class: gpr }
-  - { id: 3, class: gpr }
-  - { id: 4, class: gpr }
-liveins:         
-  - { reg: '%r6', virtual-reg: '%0' }
-  - { reg: '%r7', virtual-reg: '%1' }
-  - { reg: '%r18', virtual-reg: '%2' }
-frameInfo:       
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.entry:
-    liveins: %r6, %r7, %r18
-  
-    %2 = COPY %r18
-    %1 = COPY %r7
-    %0 = COPY %r6
-    SFSUB_F_RR %1, %0, implicit-def %sr
-    %4 = SELECT %2, %1, 7, implicit %sr
-    %rv = COPY %4
-    RET implicit %rca, implicit %rv
-
-...
----
-name:            test1a
-alignment:       2
-exposesReturnsTwice: false
-tracksRegLiveness: true
-registers:       
-  - { id: 0, class: gpr }
-  - { id: 1, class: gpr }
-  - { id: 2, class: gpr }
-  - { id: 3, class: gpr }
-  - { id: 4, class: gpr }
-  - { id: 5, class: gpr }
-liveins:         
-  - { reg: '%r6', virtual-reg: '%0' }
-  - { reg: '%r7', virtual-reg: '%1' }
-  - { reg: '%r18', virtual-reg: '%2' }
-  - { reg: '%r19', virtual-reg: '%3' }
-frameInfo:       
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.entry:
-    liveins: %r6, %r7, %r18, %r19
-  
-    %3 = COPY %r19
-    %2 = COPY %r18
-    %1 = COPY %r7
-    %0 = COPY %r6
-    %4 = SUB_R %1, %0, 0
-    SFSUB_F_RI_LO killed %4, 0, implicit-def %sr
-    %5 = SELECT %2, %3, 11, implicit %sr
-    %rv = COPY %5
-    RET implicit %rca, implicit %rv
-
-...
----
-name:            test1b
-alignment:       2
-exposesReturnsTwice: false
-tracksRegLiveness: true
-registers:       
-  - { id: 0, class: gpr }
-  - { id: 1, class: gpr }
-  - { id: 2, class: gpr }
-  - { id: 3, class: gpr }
-  - { id: 4, class: gpr }
-  - { id: 5, class: gpr }
-liveins:         
-  - { reg: '%r6', virtual-reg: '%0' }
-  - { reg: '%r7', virtual-reg: '%1' }
-  - { reg: '%r18', virtual-reg: '%2' }
-  - { reg: '%r19', virtual-reg: '%3' }
-frameInfo:       
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.entry:
-    liveins: %r6, %r7, %r18, %r19
-  
-    %3 = COPY %r19
-    %2 = COPY %r18
-    %1 = COPY %r7
-    %0 = COPY %r6
-    %4 = SUB_R %1, %0, 0
-    SFSUB_F_RI_LO killed %4, 0, implicit-def %sr
-    %5 = SELECT %2, %3, 11, implicit %sr
-    %rv = COPY %5
-    RET implicit %rca, implicit %rv
-
-...
----
-name:            test2a
-alignment:       2
-exposesReturnsTwice: false
-tracksRegLiveness: true
-registers:       
-  - { id: 0, class: gpr }
-  - { id: 1, class: gpr }
-  - { id: 2, class: gpr }
-  - { id: 3, class: gpr }
-  - { id: 4, class: gpr }
-  - { id: 5, class: gpr }
-liveins:         
-  - { reg: '%r6', virtual-reg: '%0' }
-  - { reg: '%r7', virtual-reg: '%1' }
-  - { reg: '%r18', virtual-reg: '%2' }
-  - { reg: '%r19', virtual-reg: '%3' }
-frameInfo:       
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.entry:
-    liveins: %r6, %r7, %r18, %r19
-  
-    %3 = COPY %r19
-    %2 = COPY %r18
-    %1 = COPY %r7
-    %0 = COPY %r6
-    %4 = SUB_R %1, %0, 0
-    SFSUB_F_RI_LO killed %4, 0, implicit-def %sr
-    %5 = SELECT %2, %3, 10, implicit %sr
-    %rv = COPY %5
-    RET implicit %rca, implicit %rv
-
-...
----
-name:            test2b
-alignment:       2
-exposesReturnsTwice: false
-tracksRegLiveness: true
-registers:       
-  - { id: 0, class: gpr }
-  - { id: 1, class: gpr }
-  - { id: 2, class: gpr }
-  - { id: 3, class: gpr }
-  - { id: 4, class: gpr }
-  - { id: 5, class: gpr }
-liveins:         
-  - { reg: '%r6', virtual-reg: '%0' }
-  - { reg: '%r7', virtual-reg: '%1' }
-  - { reg: '%r18', virtual-reg: '%2' }
-  - { reg: '%r19', virtual-reg: '%3' }
-frameInfo:       
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.entry:
-    liveins: %r6, %r7, %r18, %r19
-  
-    %3 = COPY %r19
-    %2 = COPY %r18
-    %1 = COPY %r7
-    %0 = COPY %r6
-    %4 = SUB_R %1, %0, 0
-    SFSUB_F_RI_LO killed %4, 0, implicit-def %sr
-    %5 = SELECT %2, %3, 10, implicit %sr
-    %rv = COPY %5
-    RET implicit %rca, implicit %rv
-
-...
----
-name:            test3
-alignment:       2
-exposesReturnsTwice: false
-tracksRegLiveness: true
-registers:       
-  - { id: 0, class: gpr }
-  - { id: 1, class: gpr }
-  - { id: 2, class: gpr }
-  - { id: 3, class: gpr }
-  - { id: 4, class: gpr }
-  - { id: 5, class: gpr }
-liveins:         
-  - { reg: '%r6', virtual-reg: '%0' }
-  - { reg: '%r7', virtual-reg: '%1' }
-  - { reg: '%r18', virtual-reg: '%2' }
-  - { reg: '%r19', virtual-reg: '%3' }
-frameInfo:       
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.entry:
-    liveins: %r6, %r7, %r18, %r19
-  
-    %3 = COPY %r19
-    %2 = COPY %r18
-    %1 = COPY %r7
-    %0 = COPY %r6
-    %4 = SUB_R %1, %0, 0
-    SFSUB_F_RI_LO killed %4, 1, implicit-def %sr
-    %5 = SELECT %2, %3, 13, implicit %sr
-    %rv = COPY %5
-    RET implicit %rca, implicit %rv
-
-...
----
-name:            test4
-alignment:       2
-exposesReturnsTwice: false
-tracksRegLiveness: true
-registers:       
-  - { id: 0, class: gpr }
-  - { id: 1, class: gpr }
-  - { id: 2, class: gpr }
-  - { id: 3, class: gpr }
-  - { id: 4, class: gpr }
-  - { id: 5, class: gpr }
-  - { id: 6, class: gpr }
-  - { id: 7, class: gpr }
-  - { id: 8, class: gpr }
-  - { id: 9, class: gpr }
-  - { id: 10, class: gpr }
-  - { id: 11, class: gpr }
-  - { id: 12, class: gpr }
-  - { id: 13, class: gpr }
-  - { id: 14, class: gpr }
-  - { id: 15, class: gpr }
-  - { id: 16, class: gpr }
-  - { id: 17, class: gpr }
-  - { id: 18, class: gpr }
-  - { id: 19, class: gpr }
-  - { id: 20, class: gpr }
-  - { id: 21, class: gpr }
-  - { id: 22, class: gpr }
-liveins:         
-  - { reg: '%r6', virtual-reg: '%1' }
-  - { reg: '%r7', virtual-reg: '%2' }
-  - { reg: '%r18', virtual-reg: '%3' }
-  - { reg: '%r19', virtual-reg: '%4' }
-frameInfo:       
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.entry:
-    successors: %bb.4.return, %bb.1.if.end
-    liveins: %r6, %r7, %r18, %r19
-  
-    %4 = COPY %r19
-    %3 = COPY %r18
-    %2 = COPY %r7
-    %1 = COPY %r6
-    SFSUB_F_RI_LO %1, 0, implicit-def %sr
-    %5 = SCC 6, implicit %sr
-    SFSUB_F_RR %1, %2, implicit-def %sr
-    %6 = SCC 4, implicit %sr
-    %7 = AND_R killed %5, killed %6, 0
-    %8 = SLI 1
-    %9 = AND_R killed %7, %8, 0
-    SFSUB_F_RI_LO killed %9, 0, implicit-def %sr
-    BRCC %bb.4.return, 6, implicit %sr
-    BT %bb.1.if.end
-  
-  bb.1.if.end:
-    successors: %bb.4.return, %bb.2.if.end6
-  
-    SFSUB_F_RI_LO %2, 0, implicit-def %sr
-    %10 = SCC 6, implicit %sr
-    SFSUB_F_RR %2, %3, implicit-def %sr
-    %11 = SCC 4, implicit %sr
-    %12 = AND_R killed %10, killed %11, 0
-    %14 = AND_R killed %12, %8, 0
-    SFSUB_F_RI_LO killed %14, 0, implicit-def %sr
-    BRCC %bb.4.return, 6, implicit %sr
-    BT %bb.2.if.end6
-  
-  bb.2.if.end6:
-    successors: %bb.4.return, %bb.3.if.end11
-  
-    SFSUB_F_RI_LO %3, 0, implicit-def %sr
-    %15 = SCC 6, implicit %sr
-    SFSUB_F_RR %3, %4, implicit-def %sr
-    %16 = SCC 4, implicit %sr
-    %17 = AND_R killed %15, killed %16, 0
-    %18 = SLI 1
-    %19 = AND_R killed %17, killed %18, 0
-    SFSUB_F_RI_LO killed %19, 0, implicit-def %sr
-    BRCC %bb.4.return, 6, implicit %sr
-    BT %bb.3.if.end11
-  
-  bb.3.if.end11:
-    %20 = SLI 21
-    SFSUB_F_RR %4, %1, implicit-def %sr
-    %21 = SELECT %2, %20, 4, implicit %sr
-    SFSUB_F_RI_LO %4, 0, implicit-def %sr
-    %22 = SELECT killed %21, %20, 6, implicit %sr
-    %rv = COPY %22
-    RET implicit %rca, implicit %rv
-  
-  bb.4.return:
-    %0 = PHI %3, %bb.0.entry, %4, %bb.1.if.end, %1, %bb.2.if.end6
-    %rv = COPY %0
-    RET implicit %rca, implicit %rv
-
-...
----
-name:            testBB
-alignment:       2
-exposesReturnsTwice: false
-tracksRegLiveness: true
-registers:       
-  - { id: 0, class: gpr }
-  - { id: 1, class: gpr }
-  - { id: 2, class: gpr }
-  - { id: 3, class: gpr }
-  - { id: 4, class: gpr }
-  - { id: 5, class: gpr }
-  - { id: 6, class: gpr }
-  - { id: 7, class: gpr }
-  - { id: 8, class: gpr }
-frameInfo:       
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        true
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-body:             |
-  bb.0.entry:
-    successors: %bb.3.if.end, %bb.1.if.then
-  
-    %1 = MOVHI target-flags(lanai-hi) @a
-    %2 = OR_I_LO killed %1, target-flags(lanai-lo) @a
-    %3 = LDW_RI killed %2, 0, 0 :: (load 4 from @a, !tbaa !0)
-    %4 = MOVHI target-flags(lanai-hi) @b
-    %5 = OR_I_LO killed %4, target-flags(lanai-lo) @b
-    %6 = LDW_RI killed %5, 0, 0 :: (load 4 from @b, !tbaa !0)
-    %0 = SUB_R killed %6, killed %3, 0
-    SFSUB_F_RI_LO %0, 0, implicit-def %sr
-    BRCC %bb.3.if.end, 10, implicit %sr
-    BT %bb.1.if.then
-  
-  bb.1.if.then:
-    successors: %bb.2.while.body
-  
-    ADJCALLSTACKDOWN 0, implicit-def dead %sp, implicit %sp
-    CALL @g, csr, implicit-def dead %rca, implicit %sp, implicit-def %sp, implicit-def %rv
-    ADJCALLSTACKUP 0, 0, implicit-def dead %sp, implicit %sp
-  
-  bb.2.while.body:
-    successors: %bb.2.while.body
-  
-    BT %bb.2.while.body
-  
-  bb.3.if.end:
-    successors: %bb.4.if.then4, %bb.6.if.end7
-    liveins: %sr
-  
-    BRCC %bb.6.if.end7, 14, implicit %sr
-    BT %bb.4.if.then4
-  
-  bb.4.if.then4:
-    successors: %bb.5.while.body6
-  
-    ADJCALLSTACKDOWN 0, implicit-def dead %sp, implicit %sp
-    CALL @g, csr, implicit-def dead %rca, implicit %sp, implicit-def %sp, implicit-def %rv
-    ADJCALLSTACKUP 0, 0, implicit-def dead %sp, implicit %sp
-  
-  bb.5.while.body6:
-    successors: %bb.5.while.body6
-  
-    BT %bb.5.while.body6
-  
-  bb.6.if.end7:
-    RET implicit %rca
-
-...




More information about the llvm-commits mailing list