]> granicus.if.org Git - llvm/commit
[SystemZ] Custom-expand ATOMIC_CMP_AND_SWAP_WITH_SUCCESS
authorUlrich Weigand <ulrich.weigand@de.ibm.com>
Thu, 28 Sep 2017 16:22:54 +0000 (16:22 +0000)
committerUlrich Weigand <ulrich.weigand@de.ibm.com>
Thu, 28 Sep 2017 16:22:54 +0000 (16:22 +0000)
commite7870d75ef7b9b6c844b38f37ecf931ca39e394c
treea9f038bf4ebbf60d4895f2dddad96d8b439f152f
parent6bae1b9b2b8ac34fb81415e1fd8824574acf3765
[SystemZ] Custom-expand ATOMIC_CMP_AND_SWAP_WITH_SUCCESS

The SystemZ compare-and-swap instructions already provide the "success"
indication via a condition-code value, so the default expansion of those
operations generates an unnecessary extra comparsion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314428 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/SystemZ/SystemZISelLowering.cpp
lib/Target/SystemZ/SystemZISelLowering.h
lib/Target/SystemZ/SystemZInstrInfo.td
lib/Target/SystemZ/SystemZOperators.td
test/CodeGen/SystemZ/cmpxchg-01.ll
test/CodeGen/SystemZ/cmpxchg-02.ll
test/CodeGen/SystemZ/cmpxchg-03.ll
test/CodeGen/SystemZ/cmpxchg-04.ll
test/CodeGen/SystemZ/cmpxchg-05.ll
test/CodeGen/SystemZ/cmpxchg-06.ll