X86: remove temporary atomicrmw used during lowering.
authorTim Northover <tnorthover@apple.com>
Mon, 14 Jul 2014 15:31:13 +0000 (15:31 +0000)
committerTim Northover <tnorthover@apple.com>
Mon, 14 Jul 2014 15:31:13 +0000 (15:31 +0000)
commit9e251d6d41beae57d4f5d6a13f50e3d35b292541
treefdcd192e6e34b84599fa7e76c7823154459c8ffc
parent52a51e197f5c6929ad57a329a90947154e6fcac1
X86: remove temporary atomicrmw used during lowering.

We construct a temporary "atomicrmw xchg" instruction when lowering atomic
stores for widths that aren't supported natively. This isn't on the top-level
worklist though, so it won't be removed automatically and we have to do it
ourselves once that itself has been lowered.

Thanks Saleem for pointing this out!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212948 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86AtomicExpandPass.cpp
test/CodeGen/X86/atomic128.ll