Implememting named register intrinsics
authorRenato Golin <renato.golin@linaro.org>
Tue, 6 May 2014 16:51:25 +0000 (16:51 +0000)
committerRenato Golin <renato.golin@linaro.org>
Tue, 6 May 2014 16:51:25 +0000 (16:51 +0000)
commit22f779d1fd0d7a7e878a3c28bc5d9910ae655df3
tree272b3978eb4e467ad4854aa00a03dda055046001
parentb8894488415a81bb6bdaf9851acacc93a4e7cfe2
Implememting named register intrinsics

This patch implements the infrastructure to use named register constructs in
programs that need access to specific registers (bare metal, kernels, etc).

So far, only the stack pointer is supported as a technology preview, but as it
is, the intrinsic can already support all non-allocatable registers from any
architecture.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208104 91177308-0d34-0410-b5e6-96231b3b80d8
29 files changed:
docs/LangRef.rst
include/llvm/CodeGen/ISDOpcodes.h
include/llvm/CodeGen/SelectionDAGISel.h
include/llvm/IR/Intrinsics.td
include/llvm/Target/TargetLowering.h
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
lib/Target/AArch64/AArch64ISelLowering.cpp
lib/Target/AArch64/AArch64ISelLowering.h
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMISelLowering.h
lib/Target/ARM64/ARM64ISelLowering.cpp
lib/Target/ARM64/ARM64ISelLowering.h
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86ISelLowering.h
test/CodeGen/AArch64/named-reg-alloc.ll [new file with mode: 0644]
test/CodeGen/AArch64/named-reg-notareg.ll [new file with mode: 0644]
test/CodeGen/AArch64/stackpointer.ll [new file with mode: 0644]
test/CodeGen/ARM/named-reg-alloc.ll [new file with mode: 0644]
test/CodeGen/ARM/named-reg-notareg.ll [new file with mode: 0644]
test/CodeGen/ARM/stackpointer.ll [new file with mode: 0644]
test/CodeGen/ARM64/named-reg-alloc.ll [new file with mode: 0644]
test/CodeGen/ARM64/named-reg-notareg.ll [new file with mode: 0644]
test/CodeGen/ARM64/stackpointer.ll [new file with mode: 0644]
test/CodeGen/X86/named-reg-alloc.ll [new file with mode: 0644]
test/CodeGen/X86/named-reg-notareg.ll [new file with mode: 0644]
test/CodeGen/X86/stackpointer.ll [new file with mode: 0644]