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)
commit6c647eae8b6c334eed00323413d63a16e44413ae
treeb7dbb69697cec80f756eb041eebfd4f1fd662d47
parent4d5e23f53a68937e3108293a5b408f2790b309e8
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!

llvm-svn: 212948
llvm/lib/Target/X86/X86AtomicExpandPass.cpp
llvm/test/CodeGen/X86/atomic128.ll