summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2014-01-14 19:56:36 +0000
committerLang Hames <lhames@gmail.com>2014-01-14 19:56:36 +0000
commit06234ec147e4018023ccb08d075ec30c1d5ed0b6 (patch)
tree0b9832aeaf79fd86fba9c5a0c795c82d6b6086b3 /llvm/lib/Target/Sparc
parent4746a90d667dcb8a7edc6484eab22242fc4aace9 (diff)
downloadbcm5719-llvm-06234ec147e4018023ccb08d075ec30c1d5ed0b6.tar.gz
bcm5719-llvm-06234ec147e4018023ccb08d075ec30c1d5ed0b6.zip
Add FPExt option to CCValAssign::LocInfo. When generating calling-convention
promotion code, Tablegen will now select FPExt for floating point promotions (previously it had returned AExt, which is not valid for floating point types). Any out-of-tree targets that were relying on AExt being returned for FP promotions will need to update their code check for FPExt instead. llvm-svn: 199252
Diffstat (limited to 'llvm/lib/Target/Sparc')
-rw-r--r--llvm/lib/Target/Sparc/SparcISelLowering.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Target/Sparc/SparcISelLowering.cpp b/llvm/lib/Target/Sparc/SparcISelLowering.cpp
index fce2c0d5b03..3abccdef6ef 100644
--- a/llvm/lib/Target/Sparc/SparcISelLowering.cpp
+++ b/llvm/lib/Target/Sparc/SparcISelLowering.cpp
@@ -271,6 +271,7 @@ SparcTargetLowering::LowerReturn_64(SDValue Chain,
// Integer return values must be sign or zero extended by the callee.
switch (VA.getLocInfo()) {
+ case CCValAssign::Full: break;
case CCValAssign::SExt:
OutVal = DAG.getNode(ISD::SIGN_EXTEND, DL, VA.getLocVT(), OutVal);
break;
@@ -279,8 +280,9 @@ SparcTargetLowering::LowerReturn_64(SDValue Chain,
break;
case CCValAssign::AExt:
OutVal = DAG.getNode(ISD::ANY_EXTEND, DL, VA.getLocVT(), OutVal);
- default:
break;
+ default:
+ llvm_unreachable("Unknown loc info!");
}
// The custom bit on an i32 return value indicates that it should be passed
OpenPOWER on IntegriCloud