diff options
| author | Nirav Dave <niravd@google.com> | 2018-03-09 20:57:42 +0000 |
|---|---|---|
| committer | Nirav Dave <niravd@google.com> | 2018-03-09 20:57:42 +0000 |
| commit | d668f69ee75f0dca73d625c21f860bffcc064182 (patch) | |
| tree | 4d44ded8bb054955188d43f1435be0f339db5789 /llvm/test/CodeGen/X86/merge-consecutive-stores.ll | |
| parent | 071699bf8280f077139e3b24633f4c140e961b78 (diff) | |
| download | bcm5719-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.ll | 9 |
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 |

