diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2009-03-17 23:43:59 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2009-03-17 23:43:59 +0000 |
| commit | 4606b121086e816a19e0b7c38499440f8cd0d9cb (patch) | |
| tree | 10c556ca81420448cb5c4dc6e4a85d83a722a31d /llvm/lib/CodeGen | |
| parent | 0071da951b8688a24272028ca74d4b22841c17cc (diff) | |
| download | bcm5719-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.cpp | 9 |
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); |

