summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
diff options
context:
space:
mode:
authorUlrich Weigand <ulrich.weigand@de.ibm.com>2016-11-08 20:15:26 +0000
committerUlrich Weigand <ulrich.weigand@de.ibm.com>2016-11-08 20:15:26 +0000
commitfffc7110d65564c2ecaa705913f69db21fa9981e (patch)
treea7e5832c7452b0d4b65cb5502650893b5026a3f1 /llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
parent9c5a69d2ac4d205b39dc8041922ba9fdd90198f1 (diff)
downloadbcm5719-llvm-fffc7110d65564c2ecaa705913f69db21fa9981e.tar.gz
bcm5719-llvm-fffc7110d65564c2ecaa705913f69db21fa9981e.zip
[SystemZ] Model access registers as LLVM registers
Add the 16 access registers as LLVM registers. This allows removing a lot of special cases in the assembler and disassembler where we were handling access registers; this can all just use the generic register code now. Also add a bunch of instructions to operate on access registers, for assembler/disassembler use only. No change in code generation intended. llvm-svn: 286283
Diffstat (limited to 'llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp')
-rw-r--r--llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp b/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
index b5e5fd4bfc4..6ef8000d6f4 100644
--- a/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
+++ b/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
@@ -59,6 +59,11 @@ SystemZRegisterInfo::getReservedRegs(const MachineFunction &MF) const {
Reserved.set(SystemZ::R15L);
Reserved.set(SystemZ::R15H);
Reserved.set(SystemZ::R14Q);
+
+ // A0 and A1 hold the thread pointer.
+ Reserved.set(SystemZ::A0);
+ Reserved.set(SystemZ::A1);
+
return Reserved;
}
OpenPOWER on IntegriCloud