aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/SelectionDAG
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
commit152932b71c488a6522c541f847eb3081cffb3793 (patch)
tree59aedfa7e60b5f3579fd7a1b142354c2d3f72a7d /lib/CodeGen/SelectionDAG
parentb372c1114c1eeffbd1a3f6ddc5d33e77564bfee2 (diff)
downloadexternal_llvm-152932b71c488a6522c541f847eb3081cffb3793.zip
external_llvm-152932b71c488a6522c541f847eb3081cffb3793.tar.gz
external_llvm-152932b71c488a6522c541f847eb3081cffb3793.tar.bz2
Don't force promotion of return arguments on the callee.
Some architectures (like x86) don't require it. This fixes bug 3779. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67132 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG')
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp9
1 files changed, 0 insertions, 9 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
index 855f9a4..0e8d9be 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
+++ b/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);