summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2009-03-17 23:43:59 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2009-03-17 23:43:59 +0000
commit4606b121086e816a19e0b7c38499440f8cd0d9cb (patch)
tree10c556ca81420448cb5c4dc6e4a85d83a722a31d /llvm/lib/CodeGen
parent0071da951b8688a24272028ca74d4b22841c17cc (diff)
downloadbcm5719-llvm-4606b121086e816a19e0b7c38499440f8cd0d9cb.tar.gz
bcm5719-llvm-4606b121086e816a19e0b7c38499440f8cd0d9cb.zip
Don't force promotion of return arguments on the callee.
Some architectures (like x86) don't require it. This fixes bug 3779. llvm-svn: 67132
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp9
1 files changed, 0 insertions, 9 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
index 855f9a443b7..0e8d9bee5ed 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
@@ -979,15 +979,6 @@ void SelectionDAGLowering::visitRet(ReturnInst &I) {
for (unsigned j = 0, f = NumValues; j != f; ++j) {
MVT VT = ValueVTs[j];
- // FIXME: C calling convention requires the return type to be promoted to
- // at least 32-bit. But this is not necessary for non-C calling
- // conventions.
- if (VT.isInteger()) {
- MVT MinVT = TLI.getRegisterType(MVT::i32);
- if (VT.bitsLT(MinVT))
- VT = MinVT;
- }
-
unsigned NumParts = TLI.getNumRegisters(VT);
MVT PartVT = TLI.getRegisterType(VT);
SmallVector<SDValue, 4> Parts(NumParts);
OpenPOWER on IntegriCloud