[llvm-commits] CVS: llvm/lib/Target/X86/X86ISelLowering.cpp
Chris Lattner
sabre at nondot.org
Sun Feb 25 01:14:42 PST 2007
Changes in directory llvm/lib/Target/X86:
X86ISelLowering.cpp updated: 1.333 -> 1.334
---
Log message:
allow vectors to be passed to stdcall/fastcall functions
---
Diffs of the changes: (+10 -18)
X86ISelLowering.cpp | 28 ++++++++++------------------
1 files changed, 10 insertions(+), 18 deletions(-)
Index: llvm/lib/Target/X86/X86ISelLowering.cpp
diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.333 llvm/lib/Target/X86/X86ISelLowering.cpp:1.334
--- llvm/lib/Target/X86/X86ISelLowering.cpp:1.333 Sun Feb 25 03:12:39 2007
+++ llvm/lib/Target/X86/X86ISelLowering.cpp Sun Feb 25 03:14:25 2007
@@ -645,8 +645,7 @@
unsigned NumIntRegs, unsigned NumXMMRegs,
unsigned MaxNumIntRegs,
unsigned &ObjSize, unsigned &ObjIntRegs,
- unsigned &ObjXMMRegs,
- bool AllowVectors = true) {
+ unsigned &ObjXMMRegs) {
ObjSize = 0;
ObjIntRegs = 0;
ObjXMMRegs = 0;
@@ -696,14 +695,11 @@
case MVT::v2i64:
case MVT::v4f32:
case MVT::v2f64:
- if (AllowVectors) {
- if (NumXMMRegs < 4)
- ObjXMMRegs = 1;
- else
- ObjSize = 16;
- break;
- } else
- assert(0 && "Unhandled argument type [vector]!");
+ if (NumXMMRegs < 4)
+ ObjXMMRegs = 1;
+ else
+ ObjSize = 16;
+ break;
}
}
@@ -764,8 +760,7 @@
HowToPassCallArgument(ObjectVT,
ArgInRegs[i],
NumIntRegs, NumXMMRegs, 3,
- ObjSize, ObjIntRegs, ObjXMMRegs,
- !isStdCall);
+ ObjSize, ObjIntRegs, ObjXMMRegs);
if (ObjSize > 4)
ArgIncrement = ObjSize;
@@ -884,8 +879,7 @@
HowToPassCallArgument(Arg.getValueType(),
ArgInRegs[i],
NumIntRegs, NumXMMRegs, 3,
- ObjSize, ObjIntRegs, ObjXMMRegs,
- CC != CallingConv::X86_StdCall);
+ ObjSize, ObjIntRegs, ObjXMMRegs);
if (ObjSize > 4)
ArgIncrement = ObjSize;
@@ -918,8 +912,7 @@
HowToPassCallArgument(Arg.getValueType(),
ArgInRegs[i],
NumIntRegs, NumXMMRegs, 3,
- ObjSize, ObjIntRegs, ObjXMMRegs,
- CC != CallingConv::X86_StdCall);
+ ObjSize, ObjIntRegs, ObjXMMRegs);
if (ObjSize > 4)
ArgIncrement = ObjSize;
@@ -1574,8 +1567,7 @@
true, // Use as much registers as possible
NumIntRegs, NumXMMRegs,
(isFastCall ? 2 : FASTCC_NUM_INT_ARGS_INREGS),
- ObjSize, ObjIntRegs, ObjXMMRegs,
- !isFastCall);
+ ObjSize, ObjIntRegs, ObjXMMRegs);
if (ObjSize > 4)
ArgIncrement = ObjSize;
More information about the llvm-commits
mailing list