Re: [llvm-commits] [llvm-gcc-4.2] r46164 - in /llvm-gcc-4.2/trunk/gcc/config/i386: llvm-i386-target.h llvm-i386.cpp

2008-01-19 Thread Duncan Sands
> i32 / i64 all integer structs are not passed byval.

What about integer arrays?

Best wishes,

Duncan.
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


Re: [llvm-commits] [llvm-gcc-4.2] r46191 - in /llvm-gcc-4.2/trunk/gcc: config/i386/i386-protos.h config/i386/i386.c config/i386/i386.h config/i386/llvm-i386-target.h config/i386/llvm-i386.cpp llvm-abi

2008-01-19 Thread Duncan Sands
Hi Evan,

> +#ifndef LLVM_SHOULD_PASS_AGGREGATE_USING_BYVAL_ATTR(X)

the (X) should not be on the end of an ifdef/ifndef line.
Otherwise you get compiler warnings.

> +#ifndef LLVM_SHOULD_PASS_AGGREGATE_IN_MIXED_REGS(T, E)

Likewise.

Best wishes,

Duncan.


___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] [llvm] r46192 - /llvm/trunk/lib/Target/X86/X86CallingConv.td

2008-01-19 Thread Duncan Sands
Author: baldrick
Date: Sat Jan 19 10:42:10 2008
New Revision: 46192

URL: http://llvm.org/viewvc/llvm-project?rev=46192&view=rev
Log:
Need to handle any 'nest' parameter before integer
parameters, since otherwise it won't be passed in
the right register.  With this change trampolines
work on x86-64 (thanks to Luke Guest for providing
access to an x86-64 box).

Modified:
llvm/trunk/lib/Target/X86/X86CallingConv.td

Modified: llvm/trunk/lib/Target/X86/X86CallingConv.td
URL: 
http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86CallingConv.td?rev=46192&r1=46191&r2=46192&view=diff

==
--- llvm/trunk/lib/Target/X86/X86CallingConv.td (original)
+++ llvm/trunk/lib/Target/X86/X86CallingConv.td Sat Jan 19 10:42:10 2008
@@ -101,7 +101,10 @@
 
   // Promote i8/i16 arguments to i32.
   CCIfType<[i8, i16], CCPromoteToType>,
-  
+
+  // The 'nest' parameter, if any, is passed in R10.
+  CCIfNest>,
+
   // The first 6 integer arguments are passed in integer registers.
   CCIfType<[i32], CCAssignToReg<[EDI, ESI, EDX, ECX, R8D, R9D]>>,
   CCIfType<[i64], CCAssignToReg<[RDI, RSI, RDX, RCX, R8 , R9 ]>>,
@@ -114,9 +117,6 @@
   CCIfType<[v8i8, v4i16, v2i32, v1i64],
   CCAssignToReg<[RDI, RSI, RDX, RCX, R8 , R9 ]>>,
 
-  // The 'nest' parameter, if any, is passed in R10.
-  CCIfNest>,
-
   // Integer/FP values get stored in stack slots that are 8 bytes in size and
   // 8-byte aligned if there are no more registers to hold them.
   CCIfType<[i32, i64, f32, f64], CCAssignToStack<8, 8>>,
@@ -140,7 +140,10 @@
 
   // Promote i8/i16 arguments to i32.
   CCIfType<[i8, i16], CCPromoteToType>,
-  
+
+  // The 'nest' parameter, if any, is passed in R10.
+  CCIfNest>,
+
   // The first 6 integer arguments are passed in integer registers.
   CCIfType<[i32], CCAssignToReg<[EDI, ESI, EDX, ECX, R8D]>>,
   CCIfType<[i64], CCAssignToReg<[RDI, RSI, RDX, RCX, R8]>>,
@@ -153,9 +156,6 @@
   CCIfType<[v8i8, v4i16, v2i32, v1i64],
   CCAssignToReg<[RDI, RSI, RDX, RCX, R8]>>,
 
-  // The 'nest' parameter, if any, is passed in R10.
-  CCIfNest>,
-
   // Integer/FP values get stored in stack slots that are 8 bytes in size and
   // 8-byte aligned if there are no more registers to hold them.
   CCIfType<[i32, i64, f32, f64], CCAssignToStack<8, 8>>,


___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] [llvm] r46193 - /llvm/trunk/include/llvm/ADT/APInt.h

2008-01-19 Thread Ted Kremenek
Author: kremenek
Date: Sat Jan 19 11:21:43 2008
New Revision: 46193

URL: http://llvm.org/viewvc/llvm-project?rev=46193&view=rev
Log:
Changed argument name for 'Profile' method to potentially fix a name conflict
reported in pr1929 (http://llvm.org/PR1929).

Modified:
llvm/trunk/include/llvm/ADT/APInt.h

Modified: llvm/trunk/include/llvm/ADT/APInt.h
URL: 
http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/APInt.h?rev=46193&r1=46192&r2=46193&view=diff

==
--- llvm/trunk/include/llvm/ADT/APInt.h (original)
+++ llvm/trunk/include/llvm/ADT/APInt.h Sat Jan 19 11:21:43 2008
@@ -213,7 +213,7 @@
   
   /// Profile - Used to insert APInt objects, or objects that contain APInt 
   ///  objects, into FoldingSets.
-  void Profile(FoldingSetNodeID& ID) const;
+  void Profile(FoldingSetNodeID& id) const;
   
   /// @brief Used by the Bitcode serializer to emit APInts to Bitcode.
   void Emit(Serializer& S) const;


___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] [llvm-gcc-4.0] r46194 - /llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp

2008-01-19 Thread Anton Korobeynikov
Author: asl
Date: Sat Jan 19 18:22:06 2008
New Revision: 46194

URL: http://llvm.org/viewvc/llvm-project?rev=46194&view=rev
Log:
Propagate r40011 from 4.2 to 4.0. This also fixes PR1852

Modified:
llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp

Modified: llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp
URL: 
http://llvm.org/viewvc/llvm-project/llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp?rev=46194&r1=46193&r2=46194&view=diff

==
--- llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp (original)
+++ llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp Sat Jan 19 18:22:06 2008
@@ -4991,6 +4991,7 @@
 }
 
 bool TreeToLLVM::EmitBuiltinEHReturnDataRegno(tree exp, Value *&Result) {
+#ifdef EH_RETURN_DATA_REGNO
   tree arglist = TREE_OPERAND(exp, 1);
 
   if (!validate_arglist(arglist, INTEGER_TYPE, VOID_TYPE))
@@ -5012,6 +5013,7 @@
   iwhich = DWARF_FRAME_REGNUM (iwhich);
 
   Result = ConstantInt::get(ConvertType(TREE_TYPE(exp)), iwhich);
+#endif
 
   return true;
 }
@@ -5041,6 +5043,7 @@
 }
 
 bool TreeToLLVM::EmitBuiltinInitDwarfRegSizes(tree exp, Value *&Result) {
+#ifdef DWARF2_UNWIND_INFO
   unsigned int i;
   bool wrote_return_column = false;
   static bool reg_modes_initialized = false;
@@ -5094,6 +5097,8 @@
   Builder.CreateStore(Size, Builder.CreateGEP(Addr, Idx, "tmp"), false);
 #endif
 
+#endif /* DWARF2_UNWIND_INFO */
+
   // TODO: the RS6000 target needs extra initialization [gcc changeset 122468].
 
   return true;


___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] [llvm] r46195 - /llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp

2008-01-19 Thread Dale Johannesen
Author: johannes
Date: Sat Jan 19 19:18:38 2008
New Revision: 46195

URL: http://llvm.org/viewvc/llvm-project?rev=46195&view=rev
Log:
Do not generate a FP_ROUND of f64 to f64.


Modified:
llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp

Modified: llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
URL: 
http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp?rev=46195&r1=46194&r2=46195&view=diff

==
--- llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Sat Jan 19 19:18:38 2008
@@ -3608,10 +3608,11 @@
 MVT::ValueType SrcVT = Op.getOperand(0).getValueType();
 if (TLI.getConvertAction(SrcVT, DstVT) == TargetLowering::Expand) {
   if (SrcVT == MVT::ppcf128) {
-SDOperand Lo, Hi;
-ExpandOp(Node->getOperand(0), Lo, Hi);
+SDOperand Lo;
+ExpandOp(Node->getOperand(0), Lo, Result);
 // Round it the rest of the way (e.g. to f32) if needed.
-Result = DAG.getNode(ISD::FP_ROUND, DstVT, Hi, Op.getOperand(1));
+if (DstVT!=MVT::f64)
+  Result = DAG.getNode(ISD::FP_ROUND, DstVT, Result, Op.getOperand(1));
 break;
   }
   // The only other way we can lower this is to turn it into a STORE,


___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits