Breakage caused by "eliminate instruction ctors that take vectors": http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070212/044423.html
No idea if this is the right approach, but it compiles! Ciao, Duncan.
Index: gcc.llvm.master/gcc/llvm-convert.cpp =================================================================== --- gcc.llvm.master.orig/gcc/llvm-convert.cpp 2007-02-13 11:48:58.000000000 +0100 +++ gcc.llvm.master/gcc/llvm-convert.cpp 2007-02-13 11:58:39.000000000 +0100 @@ -1000,7 +1000,7 @@ Ops.push_back(CastToType(Instruction::BitCast, SrcPtr, SBP)); Ops.push_back(CastToSIntType(Size, IntPtr)); Ops.push_back(ConstantInt::get(Type::Int32Ty, Align)); - new CallInst(MemCpy, Ops, "", CurBB); + new CallInst(MemCpy, &Ops[0], Ops.size(), "", CurBB); } void TreeToLLVM::EmitMemMove(Value *DestPtr, Value *SrcPtr, Value *Size, @@ -1019,7 +1019,7 @@ Ops.push_back(CastToType(Instruction::BitCast, SrcPtr, SBP)); Ops.push_back(CastToSIntType(Size, IntPtr)); Ops.push_back(ConstantInt::get(Type::Int32Ty, Align)); - new CallInst(MemMove, Ops, "", CurBB); + new CallInst(MemMove, &Ops[0], Ops.size(), "", CurBB); } void TreeToLLVM::EmitMemSet(Value *DestPtr, Value *SrcVal, Value *Size, @@ -1039,7 +1039,7 @@ Ops.push_back(CastToSIntType(SrcVal, Type::Int8Ty)); Ops.push_back(CastToSIntType(Size, IntPtr)); Ops.push_back(ConstantInt::get(Type::Int32Ty, Align)); - new CallInst(MemSet, Ops, "", CurBB); + new CallInst(MemSet, &Ops[0], Ops.size(), "", CurBB); } @@ -2116,12 +2116,13 @@ Value *Call; if (!UnwindBlock) { - Call = new CallInst(Callee, CallOperands, "", CurBB); + Call = new CallInst(Callee, &CallOperands[0], CallOperands.size(), "", + CurBB); cast<CallInst>(Call)->setCallingConv(CallingConvention); } else { BasicBlock *NextBlock = new BasicBlock("invcont"); - Call = new InvokeInst(Callee, NextBlock, UnwindBlock, CallOperands, "", - CurBB); + Call = new InvokeInst(Callee, NextBlock, UnwindBlock, &CallOperands[0], + CallOperands.size(), "", CurBB); cast<InvokeInst>(Call)->setCallingConv(CallingConvention); // Lazily create an unwind block for this scope, which we can emit a fixup @@ -3211,8 +3212,8 @@ Value *Asm = InlineAsm::get(FTy, NewAsmStr, ConstraintStr, ASM_VOLATILE_P(exp) || !ASM_OUTPUTS(exp)); - CallInst *CV = new CallInst(Asm, CallOps, StoreCallResultAddr ? "tmp" : "", - CurBB); + CallInst *CV = new CallInst(Asm, &CallOps[0], CallOps.size(), + StoreCallResultAddr ? "tmp" : "", CurBB); // If the call produces a value, store it into the destination. if (StoreCallResultAddr) @@ -3746,7 +3747,7 @@ Ops.push_back(Ptr); Ops.push_back(ReadWrite); Ops.push_back(Locality); - new CallInst(llvm_prefetch_fn, Ops, "", CurBB); + new CallInst(llvm_prefetch_fn, &Ops[0], Ops.size(), "", CurBB); return true; } Index: gcc.llvm.master/gcc/llvm-debug.cpp =================================================================== --- gcc.llvm.master.orig/gcc/llvm-debug.cpp 2007-02-13 11:59:21.000000000 +0100 +++ gcc.llvm.master/gcc/llvm-debug.cpp 2007-02-13 11:59:47.000000000 +0100 @@ -376,7 +376,7 @@ Args.push_back(ConstantInt::get(Type::Int32Ty, CurLineNo)); Args.push_back(ConstantInt::get(Type::Int32Ty, 0)); Args.push_back(getCastValueFor(Unit)); - new CallInst(StopPointFn, Args, "", CurBB); + new CallInst(StopPointFn, &Args[0], Args.size(), "", CurBB); } /// EmitGlobalVariable - Emit information about a global variable. Index: gcc.llvm.master/gcc/config/i386/llvm-i386.cpp =================================================================== --- gcc.llvm.master.orig/gcc/config/i386/llvm-i386.cpp 2007-02-13 12:00:16.000000000 +0100 +++ gcc.llvm.master/gcc/config/i386/llvm-i386.cpp 2007-02-13 12:01:55.000000000 +0100 @@ -507,7 +507,7 @@ CallOps.push_back(new BitCastInst(Ops[1], v4f32, "tmp", CurBB)); } CallOps.push_back(Pred); - Result = new CallInst(cmpps, CallOps, "tmp", CurBB); + Result = new CallInst(cmpps, &CallOps[0], CallOps.size(), "tmp", CurBB); TargetIntrinsicCastResult(Result, ResultType, ResIsSigned, ExpIsSigned, CurBB); return true; @@ -560,7 +560,7 @@ CallOps.push_back(new BitCastInst(Ops[0], v4f32, "tmp", CurBB)); CallOps.push_back(new BitCastInst(Ops[1], v4f32, "tmp", CurBB)); CallOps.push_back(Pred); - Result = new CallInst(cmpss, CallOps, "tmp", CurBB); + Result = new CallInst(cmpss, &CallOps[0], CallOps.size(), "tmp", CurBB); TargetIntrinsicCastResult(Result, ResultType, ResIsSigned, ExpIsSigned, CurBB); return true; @@ -637,7 +637,7 @@ CallOps.push_back(new BitCastInst(Ops[1], v2f64, "tmp", CurBB)); } CallOps.push_back(Pred); - Result = new CallInst(cmpps, CallOps, "tmp", CurBB); + Result = new CallInst(cmpps, &CallOps[0], CallOps.size(), "tmp", CurBB); TargetIntrinsicCastResult(Result, ResultType, ResIsSigned, ExpIsSigned, CurBB); return true; @@ -688,7 +688,7 @@ CallOps.push_back(new BitCastInst(Ops[0], v2f64, "tmp", CurBB)); CallOps.push_back(new BitCastInst(Ops[1], v2f64, "tmp", CurBB)); CallOps.push_back(Pred); - Result = new CallInst(cmpss, CallOps, "tmp", CurBB); + Result = new CallInst(cmpss, &CallOps[0], CallOps.size(), "tmp", CurBB); TargetIntrinsicCastResult(Result, ResultType, ResIsSigned, ExpIsSigned, CurBB); return true;
_______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits