Remove hard coded registers in ARM ldrexd and strexd instructions
authorWeiming Zhao <weimingz@codeaurora.org>
Fri, 16 Nov 2012 21:55:34 +0000 (21:55 +0000)
committerWeiming Zhao <weimingz@codeaurora.org>
Fri, 16 Nov 2012 21:55:34 +0000 (21:55 +0000)
commit8f56f88661598f556fa646462e2f2b26ba4e2ce8
tree491d71958a74d940fce3b8476fb483835f67f1e8
parentdddfc513973815b7c8aabf270b9c45da7ac74c01
Remove hard coded registers in ARM ldrexd and strexd instructions

This patch replaces the hard coded GPR pair [R0, R1] of
Intrinsic:arm_ldrexd and [R2, R3] of Intrinsic:arm_strexd with
even/odd GPRPair reg class.
Similar to the lowering of atomic_64 operation.

llvm-svn: 168207
llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/lib/Target/ARM/ARMInstrInfo.td
llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp
llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.h
llvm/test/CodeGen/ARM/atomic-64bit.ll
llvm/utils/TableGen/EDEmitter.cpp