diff options
author | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2017-09-28 22:08:25 +0000 |
---|---|---|
committer | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2017-09-28 22:08:25 +0000 |
commit | a4828c8a028045a0c4429f8b551d9b404969cf18 (patch) | |
tree | 5e12ed51e8909ebe2924dd93965348596a81aef3 /test | |
parent | 61087147981489dcb272d1ae469e472b2c66ce18 (diff) |
[SystemZ] Fix fall-out from r314428
The expensive-checks build bot found a problem with the r314428 commit:
if CC is live after a ATOMIC_CMP_SWAPW instruction, it needs to be
marked as live-in to the block after the loop the pseudo gets expanded
to. This actually fixes a code-gen bug as well, since if the CC isn't
live, the CR and JLH are merged to a CRJLH which doesn't actually set
the condition code any more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314465 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/CodeGen/SystemZ/cmpxchg-01.ll | 3 | ||||
-rw-r--r-- | test/CodeGen/SystemZ/cmpxchg-02.ll | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/test/CodeGen/SystemZ/cmpxchg-01.ll b/test/CodeGen/SystemZ/cmpxchg-01.ll index 8257a36ddde..afcf3463255 100644 --- a/test/CodeGen/SystemZ/cmpxchg-01.ll +++ b/test/CodeGen/SystemZ/cmpxchg-01.ll @@ -65,7 +65,8 @@ define i32 @f3(i8 %dummy, i8 *%src, i8 %cmp, i8 %swap) { ; CHECK-MAIN: [[LOOP:\.[^ ]*]]: ; CHECK-MAIN: rll [[TMP:%r[0-9]+]], [[OLD]], 8(%r3) ; CHECK-MAIN: risbg %r4, [[TMP]], 32, 55, 0 -; CHECK-MAIN: crjlh [[TMP]], %r4, [[EXIT:\.[^ ]*]] +; CHECK-MAIN: cr [[TMP]], %r4 +; CHECK-MAIN: jlh [[EXIT:\.[^ ]*]] ; CHECK-MAIN: risbg %r5, [[TMP]], 32, 55, 0 ; CHECK-MAIN: rll [[NEW:%r[0-9]+]], %r5, -8({{%r[1-9]+}}) ; CHECK-MAIN: cs [[OLD]], [[NEW]], 0([[RISBG]]) diff --git a/test/CodeGen/SystemZ/cmpxchg-02.ll b/test/CodeGen/SystemZ/cmpxchg-02.ll index 48e1e18db9b..dd7db09d947 100644 --- a/test/CodeGen/SystemZ/cmpxchg-02.ll +++ b/test/CodeGen/SystemZ/cmpxchg-02.ll @@ -65,7 +65,8 @@ define i32 @f3(i16 %dummy, i16 *%src, i16 %cmp, i16 %swap) { ; CHECK-MAIN: [[LOOP:\.[^ ]*]]: ; CHECK-MAIN: rll [[TMP:%r[0-9]+]], [[OLD]], 16(%r3) ; CHECK-MAIN: risbg %r4, [[TMP]], 32, 47, 0 -; CHECK-MAIN: crjlh [[TMP]], %r4, [[EXIT:\.[^ ]*]] +; CHECK-MAIN: cr [[TMP]], %r4 +; CHECK-MAIN: jlh [[EXIT:\.[^ ]*]] ; CHECK-MAIN: risbg %r5, [[TMP]], 32, 47, 0 ; CHECK-MAIN: rll [[NEW:%r[0-9]+]], %r5, -16({{%r[1-9]+}}) ; CHECK-MAIN: cs [[OLD]], [[NEW]], 0([[RISBG]]) |