summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/merge-consecutive-stores.ll
diff options
context:
space:
mode:
authorNirav Dave <niravd@google.com>2018-03-09 20:57:42 +0000
committerNirav Dave <niravd@google.com>2018-03-09 20:57:42 +0000
commitd668f69ee75f0dca73d625c21f860bffcc064182 (patch)
tree4d44ded8bb054955188d43f1435be0f339db5789 /llvm/test/CodeGen/X86/merge-consecutive-stores.ll
parent071699bf8280f077139e3b24633f4c140e961b78 (diff)
downloadbcm5719-llvm-d668f69ee75f0dca73d625c21f860bffcc064182.tar.gz
bcm5719-llvm-d668f69ee75f0dca73d625c21f860bffcc064182.zip
Improve Dependency analysis when doing multi-node Instruction Selection
Relanding after fixing NodeId Invariant. Cleanup cycle/validity checks in ISel (IsLegalToFold, HandleMergeInputChains) and X86 (isFusableLoadOpStore). Now do a full search for cycles / dependencies pruning the search when topological property of NodeId allows. As part of this propogate the NodeId-based cutoffs to narrow hasPreprocessorHelper searches. Reviewers: craig.topper, bogner Subscribers: llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D41293 llvm-svn: 327171
Diffstat (limited to 'llvm/test/CodeGen/X86/merge-consecutive-stores.ll')
-rw-r--r--llvm/test/CodeGen/X86/merge-consecutive-stores.ll9
1 files changed, 4 insertions, 5 deletions
diff --git a/llvm/test/CodeGen/X86/merge-consecutive-stores.ll b/llvm/test/CodeGen/X86/merge-consecutive-stores.ll
index af5fb478e52..4f511ef99e5 100644
--- a/llvm/test/CodeGen/X86/merge-consecutive-stores.ll
+++ b/llvm/test/CodeGen/X86/merge-consecutive-stores.ll
@@ -10,12 +10,11 @@ define i32 @foo (i64* %so) nounwind uwtable ssp {
; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
; CHECK-NEXT: movl $0, 28(%eax)
; CHECK-NEXT: movl $0, 24(%eax)
-; CHECK-NEXT: movl 20(%eax), %ecx
-; CHECK-NEXT: movl $0, 20(%eax)
-; CHECK-NEXT: xorl %edx, %edx
-; CHECK-NEXT: cmpl 16(%eax), %edx
+; CHECK-NEXT: xorl %ecx, %ecx
+; CHECK-NEXT: cmpl 16(%eax), %ecx
; CHECK-NEXT: movl $0, 16(%eax)
-; CHECK-NEXT: sbbl %ecx, %edx
+; CHECK-NEXT: sbbl 20(%eax), %ecx
+; CHECK-NEXT: movl $0, 20(%eax)
; CHECK-NEXT: setl %al
; CHECK-NEXT: movzbl %al, %eax
; CHECK-NEXT: negl %eax
OpenPOWER on IntegriCloud