summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2012-04-25 01:24:52 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2012-04-25 01:24:52 +0000
commit2020e27d6dbaad6eeab8116ec7b343ef5426d14a (patch)
tree7b4482f7e8e1f8459ef5cffe3f72357cb2ea02d5 /llvm/lib
parent6381f01012473f4e6e57b715642ad4b2ba732d29 (diff)
downloadbcm5719-llvm-2020e27d6dbaad6eeab8116ec7b343ef5426d14a.tar.gz
bcm5719-llvm-2020e27d6dbaad6eeab8116ec7b343ef5426d14a.zip
Do not use $gp as a dedicated global register if the target ABI is not O32.
llvm-svn: 155522
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/Mips/MipsMachineFunction.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/Mips/MipsMachineFunction.cpp b/llvm/lib/Target/Mips/MipsMachineFunction.cpp
index 9d3a27b518f..8535b290b43 100644
--- a/llvm/lib/Target/Mips/MipsMachineFunction.cpp
+++ b/llvm/lib/Target/Mips/MipsMachineFunction.cpp
@@ -37,8 +37,8 @@ unsigned MipsFunctionInfo::getGlobalBaseReg() {
const MipsSubtarget &ST = MF.getTarget().getSubtarget<MipsSubtarget>();
- if (FixGlobalBaseReg) // $gp is the global base register.
- return GlobalBaseReg = ST.isABI_N64() ? Mips::GP_64 : Mips::GP;
+ if (FixGlobalBaseReg && ST.isABI_O32()) // $gp is the global base register.
+ return GlobalBaseReg = Mips::GP;
const TargetRegisterClass *RC = ST.isABI_N64() ?
(const TargetRegisterClass*)&Mips::CPU64RegsRegClass :
OpenPOWER on IntegriCloud