search for: curbb

Displaying 9 results from an estimated 9 matches for "curbb".

Did you mean: curb
2006 Sep 12
1
[LLVMdev] ICE in LLVM GCC4 Front End
...- if (EltOffset*EltSize == Offset) { - // If this is a subtract, we want to step backwards. - if (Opc == Instruction::Sub) - EltOffset = -EltOffset; - Constant *C = ConstantSInt::get(Type::LongTy, EltOffset); - Value *V = new GetElementPtrInst(LHS, C, "tmp", CurBB); - return CastToType(V, TREE_TYPE(exp)); + // If EltSize exactly divides Offset, then we know that we can turn + // this into a getelementptr instruction. + int64_t EltOffset = Offset/EltSize; + if (EltOffset*EltSize == Offset) { + // If this is a subtract, we wan...
2006 Mar 03
0
[LLVMdev] Re: Re: New GCC4-based C/C++/ObjC front-end for LLVM
...t;Value*> Ops; Ops.push_back(CastToType(DestPtr, SBP)); Ops.push_back(CastToType(SrcPtr, SBP)); - Ops.push_back(CastToType(Size, Type::UIntTy)); + Ops.push_back(CastToType(Size, IntPtr)); Ops.push_back(ConstantUInt::get(Type::UIntTy, Align)); new CallInst(MemCpy, Ops, "", CurBB); } @@ -811,14 +815,17 @@ void TreeToLLVM::EmitMemMove(Value *Dest unsigned Align) { const Type *SBP = PointerType::get(Type::SByteTy); static Function *MemMove = 0; - if (!MemMove) - MemMove = TheModule->getOrInsertFunction("llvm.memmove", Type...
2007 Apr 20
2
[LLVMdev] llvm-gcc Bug, Looking for Advice on Fix
...Align) }; new CallInst(Intrinsic::getDeclaration(TheModule, (IntPtr == Type::Int32Ty) ? Intrinsic::memcpy_i32 : Intrinsic::memcpy_i64), Ops, 4, "", CurBB); } The problem is that Intrinsic::getDeclaration takes four parameters but is only passed two: Function *Intrinsic::getDeclaration(Module *M, ID id, const Type **Tys, unsigned numTys) So it sees bogus data from Tys and numTys. This probably works in the off...
2006 Mar 02
4
[LLVMdev] Re: Re: New GCC4-based C/C++/ObjC front-end for LLVM
On Thu, 2 Mar 2006, Vladimir Prus wrote: >>> The instructions seem to have one path wrong. It says to get: >> >> I'll put together a tarball today. That will be easier than dealing with >> a patch, and it will include a bunch of bugfixes since the previous email. > Further into process, I get this error: > In file included from
2007 Apr 06
1
[LLVMdev] Integrating LLVM in an existing project
...ached patch helps a bit but it needs more work. Also, I suppose you might need to uncomment this bit in llvm-backend.cpp as well: // Disabled until PR1224 is resolved. //if (flag_exceptions) // Args.push_back("--enable-eh"); Some comments on the patch: (1) new UnreachableInst(CurBB); + } else { + new UnwindInst(UnwindBB); } -#endif +#else new UnwindInst(UnwindBB); +#endif This avoid generating an unwind instruction straight after an unreachable instruction, i.e. two terminators in a row. (2) - FuncCPPPersonality = cast<Function>( + FuncCPPPersonal...
2007 Apr 06
0
[LLVMdev] Integrating LLVM in an existing project
On Fri, 6 Apr 2007, Nicolas Geoffray wrote: > Like you say, it's not functional for non-calls instructions. Besides, > having to change all CalInst to InvokeInst is just too much pain in our > current vm. ok. > Actually, why is it missing? What's the difference between the code > generator and the JIT? There are two things missing: 1. Testing and working out the set
2007 Apr 06
2
[LLVMdev] Integrating LLVM in an existing project
Hi Chris, Chris Lattner wrote: >> We can not use current exception handling in llvm, see >> http://www.nondot.org/sabre/LLVMNotes/ExceptionHandlingChanges.txt. >> > > Why not? > > Like you say, it's not functional for non-calls instructions. Besides, having to change all CalInst to InvokeInst is just too much pain in our current vm. > There are two
2006 Apr 18
0
[LLVMdev] LLVM-based JVM JIT for libgcj
...r everything, and everything will still work fine) but are quite handy when trying to read the LLVM code. It would be straight-forward to add a new "easy" interface for creating LLVM instructions. Would something like this work well for you? class InstructionCreator { BasicBlock *CurBB; public: void setCurrentBlock(BasicBlock *); Value *createAdd(Value *LHS, Value *RHS, const std::string &Name = ""); Value *createSub(Value *LHS, Value *RHS, const std::string &Name = ""); ... }; Given this, use would be much more implicit: InstructionCrea...
2006 Apr 18
2
[LLVMdev] LLVM-based JVM JIT for libgcj
>>>>> "Chris" == Chris Lattner <sabre at nondot.org> writes: >> FWIW I actually did this work twice, once for libjit and once for >> LLVM. I'm happy to provide a comparison, from a jit-writing >> perspective, if you're interested. Chris> Given your experience with both, I'd be very interested in any Chris> thoughts you have on