[PATCH] [X86] Use the generic AtomicExpandPass instead of X86AtomicExpandPass

Robin Morisset morisset at google.com
Wed Aug 27 14:36:10 PDT 2014


Hi jfb,

This required a new hook called hasLoadLinkedStoreConditional to know whether
to expand atomics to LL/SC (ARM, AArch64, in a future patch Power) or to
CmpXchg (X86).

Apart from that, the new code in AtomicExpandPass is mostly moved from
X86AtomicExpandPass. The main result of this patch is to get rid of that
pass, which had lots of code duplicated with AtomicExpandPass.

Depends on D4960 and D5035.

http://reviews.llvm.org/D5090

Files:
  include/llvm/Target/TargetLowering.h
  lib/CodeGen/AtomicExpandPass.cpp
  lib/Target/AArch64/AArch64ISelLowering.cpp
  lib/Target/AArch64/AArch64ISelLowering.h
  lib/Target/ARM/ARMISelLowering.cpp
  lib/Target/ARM/ARMISelLowering.h
  lib/Target/X86/CMakeLists.txt
  lib/Target/X86/X86.h
  lib/Target/X86/X86AtomicExpandPass.cpp
  lib/Target/X86/X86ISelLowering.cpp
  lib/Target/X86/X86ISelLowering.h
  lib/Target/X86/X86TargetMachine.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5090.13002.patch
Type: text/x-patch
Size: 27542 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140827/8c50b548/attachment.bin>


More information about the llvm-commits mailing list