summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen
diff options
context:
space:
mode:
authorWei Mi <wmi@google.com>2017-01-18 01:53:53 +0000
committerWei Mi <wmi@google.com>2017-01-18 01:53:53 +0000
commitce9d04ce58486876ed75ca1394ae26982dc0ece4 (patch)
tree2b9f472f365cbd1c1add7d36461209bbd3104dd7 /llvm/test/CodeGen
parentae2c8de6bfca314b3b992ab22e31e10795ea06b0 (diff)
downloadbcm5719-llvm-ce9d04ce58486876ed75ca1394ae26982dc0ece4.tar.gz
bcm5719-llvm-ce9d04ce58486876ed75ca1394ae26982dc0ece4.zip
Revert rL292292 since it causes a SEGV on sanitizer-x86_64-linux-fuzzer build bot.
llvm-svn: 292327
Diffstat (limited to 'llvm/test/CodeGen')
-rw-r--r--llvm/test/CodeGen/X86/pre-coalesce.ll51
-rw-r--r--llvm/test/CodeGen/X86/pre-coalesce.mir122
2 files changed, 0 insertions, 173 deletions
diff --git a/llvm/test/CodeGen/X86/pre-coalesce.ll b/llvm/test/CodeGen/X86/pre-coalesce.ll
deleted file mode 100644
index 9cd6365453c..00000000000
--- a/llvm/test/CodeGen/X86/pre-coalesce.ll
+++ /dev/null
@@ -1,51 +0,0 @@
-; RUN: llc -regalloc=greedy -mtriple=x86_64-unknown-linux-gnu < %s -o - | FileCheck %s
-;
-; The test is to check no redundent mov as follows will be generated in %while.body loop.
-; .LBB0_2:
-; movsbl %cl, %ecx
-; movl %edx, %eax ==> This movl can be promoted outside of loop.
-; shll $5, %eax
-; ...
-; movl %eax, %edx
-; jne .LBB0_2
-;
-; CHECK-LABEL: foo:
-; CHECK: [[L0:.LBB0_[0-9]+]]: # %while.body
-; CHECK: movl %[[REGA:.*]], %[[REGB:.*]]
-; CHECK-NOT: movl %[[REGB]], %[[REGA]]
-; CHECK: jne [[L0]]
-;
-target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
-
-@b = common local_unnamed_addr global i8* null, align 8
-@a = common local_unnamed_addr global i32 0, align 4
-
-define i32 @foo() local_unnamed_addr {
-entry:
- %t0 = load i8*, i8** @b, align 8
- %t1 = load i8, i8* %t0, align 1
- %cmp4 = icmp eq i8 %t1, 0
- %t2 = load i32, i32* @a, align 4
- br i1 %cmp4, label %while.end, label %while.body.preheader
-
-while.body.preheader: ; preds = %entry
- br label %while.body
-
-while.body: ; preds = %while.body.preheader, %while.body
- %t3 = phi i32 [ %add3, %while.body ], [ %t2, %while.body.preheader ]
- %t4 = phi i8 [ %t5, %while.body ], [ %t1, %while.body.preheader ]
- %conv = sext i8 %t4 to i32
- %add = mul i32 %t3, 33
- %add3 = add nsw i32 %add, %conv
- store i32 %add3, i32* @a, align 4
- %t5 = load i8, i8* %t0, align 1
- %cmp = icmp eq i8 %t5, 0
- br i1 %cmp, label %while.end.loopexit, label %while.body
-
-while.end.loopexit: ; preds = %while.body
- br label %while.end
-
-while.end: ; preds = %while.end.loopexit, %entry
- %.lcssa = phi i32 [ %t2, %entry ], [ %add3, %while.end.loopexit ]
- ret i32 %.lcssa
-}
diff --git a/llvm/test/CodeGen/X86/pre-coalesce.mir b/llvm/test/CodeGen/X86/pre-coalesce.mir
deleted file mode 100644
index 11805fe090b..00000000000
--- a/llvm/test/CodeGen/X86/pre-coalesce.mir
+++ /dev/null
@@ -1,122 +0,0 @@
-# RUN: llc -mtriple=x86_64-unknown-linux-gnu -run-pass simple-register-coalescing -o - %s | FileCheck %s
-# Check there is no partial redundent copy left in the loop after register coalescing.
---- |
- ; ModuleID = '<stdin>'
- source_filename = "<stdin>"
- target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
- target triple = "x86_64-unknown-linux-gnu"
-
- @b = common local_unnamed_addr global i8* null, align 8
- @a = common local_unnamed_addr global i32 0, align 4
-
- define i32 @foo() local_unnamed_addr {
- entry:
- %t0 = load i8*, i8** @b, align 8
- %t1 = load i8, i8* %t0, align 1
- %cmp4 = icmp eq i8 %t1, 0
- %t2 = load i32, i32* @a, align 4
- br i1 %cmp4, label %while.end, label %while.body.preheader
-
- while.body.preheader: ; preds = %entry
- br label %while.body
-
- while.body: ; preds = %while.body, %while.body.preheader
- %t3 = phi i32 [ %add3, %while.body ], [ %t2, %while.body.preheader ]
- %t4 = phi i8 [ %t5, %while.body ], [ %t1, %while.body.preheader ]
- %conv = sext i8 %t4 to i32
- %add = mul i32 %t3, 33
- %add3 = add nsw i32 %add, %conv
- store i32 %add3, i32* @a, align 4
- %t5 = load i8, i8* %t0, align 1
- %cmp = icmp eq i8 %t5, 0
- br i1 %cmp, label %while.end, label %while.body
-
- while.end: ; preds = %while.body, %entry
- %.lcssa = phi i32 [ %t2, %entry ], [ %add3, %while.body ]
- ret i32 %.lcssa
- }
-
-...
----
-# Check A = B and B = A copies will not exist in the loop at the same time.
-# CHECK: name: foo
-# CHECK: [[L1:bb.3.while.body]]:
-# CHECK: %[[REGA:.*]] = COPY %[[REGB:.*]]
-# CHECK-NOT: %[[REGB]] = COPY %[[REGA]]
-# CHECK: JNE_1 %[[L1]]
-
-name: foo
-alignment: 4
-exposesReturnsTwice: false
-legalized: false
-regBankSelected: false
-selected: false
-tracksRegLiveness: true
-registers:
- - { id: 0, class: gr64 }
- - { id: 1, class: gr8 }
- - { id: 2, class: gr32 }
- - { id: 3, class: gr32 }
- - { id: 4, class: gr8 }
- - { id: 5, class: gr32 }
- - { id: 6, class: gr8 }
- - { id: 7, class: gr32 }
- - { id: 8, class: gr32 }
- - { id: 9, class: gr32 }
- - { id: 10, class: gr32 }
- - { id: 11, class: gr32 }
- - { id: 12, class: gr8 }
- - { id: 13, class: gr32 }
-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(0x30000000), %bb.1.while.body.preheader(0x50000000)
-
- %0 = MOV64rm %rip, 1, _, @b, _ :: (dereferenceable load 8 from @b)
- %12 = MOV8rm %0, 1, _, 0, _ :: (load 1 from %ir.t0)
- TEST8rr %12, %12, implicit-def %eflags
- %11 = MOV32rm %rip, 1, _, @a, _ :: (dereferenceable load 4 from @a)
- JNE_1 %bb.1.while.body.preheader, implicit killed %eflags
-
- bb.4:
- successors: %bb.3.while.end(0x80000000)
-
- %10 = COPY %11
- JMP_1 %bb.3.while.end
-
- bb.1.while.body.preheader:
- successors: %bb.2.while.body(0x80000000)
-
- bb.2.while.body:
- successors: %bb.3.while.end(0x04000000), %bb.2.while.body(0x7c000000)
-
- %8 = MOVSX32rr8 %12
- %10 = COPY %11
- %10 = SHL32ri %10, 5, implicit-def dead %eflags
- %10 = ADD32rr %10, %11, implicit-def dead %eflags
- %10 = ADD32rr %10, %8, implicit-def dead %eflags
- MOV32mr %rip, 1, _, @a, _, %10 :: (store 4 into @a)
- %12 = MOV8rm %0, 1, _, 0, _ :: (load 1 from %ir.t0)
- TEST8rr %12, %12, implicit-def %eflags
- %11 = COPY %10
- JNE_1 %bb.2.while.body, implicit killed %eflags
- JMP_1 %bb.3.while.end
-
- bb.3.while.end:
- %eax = COPY %10
- RET 0, killed %eax
-
-...
OpenPOWER on IntegriCloud