search for: longty

Displaying 18 results from an estimated 18 matches for "longty".

2005 May 13
0
[LLVMdev] LongTy in LowerInvoke.cpp
On Fri, 13 May 2005, Markus F.X.J. Oberhumer wrote: > There is still one unneeded LongTy in LowerInvoke.cpp - something like this > pseudo-diff should probably get applied. What does this impact? -Chris > Index: LowerInvoke.cpp > =================================================================== > RCS file: /var/cvs/llvm/llvm/lib/Transforms/Scalar/LowerInvoke.cpp,v &gt...
2005 May 13
0
[LLVMdev] LongTy in LowerInvoke.cpp
On Fri, 13 May 2005, Markus F.X.J. Oberhumer wrote: > Chris Lattner wrote: >> On Fri, 13 May 2005, Markus F.X.J. Oberhumer wrote: >> >>> There is still one unneeded LongTy in LowerInvoke.cpp - something like >>> this pseudo-diff should probably get applied. >> >> >> What does this impact? > > This causes code like > > write(2, (&(l227_abortmsg[0ll])), 95); > > in the CBE, which not all 32-bit compilers do like. Ah...
2004 Dec 21
3
[LLVMdev] Help with code
...pointers to where I am wrong : Code Dump : Function *printFn=M.getNamedFunction(std::string("printf")); Constant *str=ConstantArray::get("Value : %d\n"); std::vector<Value *> Args(2); std::vector<Constant *> GEPIndices(2); GEPIndices[0]=Constant::getNullValue(Type::LongTy); GEPIndices[1]=Constant::getNullValue(Type::LongTy); Args[0]=ConstantExpr::getGetElementPtr(strcon,GEPIndices); Args[1]=ConstantInt::get(Type::IntTy, id); Instruction * cI= new CallInst(printFn, Args, "retprintf",instr); Thanks
2005 May 13
0
[LLVMdev] LongTy in LowerInvoke.cpp
...r/cvs/llvm/llvm/lib/Transforms/Scalar/LowerInvoke.cpp,v >>>>> retrieving revision 1.23 >>>>> diff -r1.23 LowerInvoke.cpp >>>>> 160c160 >>>>> < std::vector<Constant*> GEPIdx(2, >>>>> Constant::getNullValue(Type::LongTy)); >>>>> --- >>>>> >>>>>> std::vector<Constant*> GEPIdx(2, >>>>> >>>>> >>>>> Constant::getNullValue(XXX::IntPtrTy)); >>>>> 173c173 >>>>> < std::vector<C...
2010 Dec 26
0
[LLVMdev] Generating target dependent function calls
...you wish to use and then use TargetData to get some of the final parts: i.e. if you know you've got something like char GOMP_foo(pointer, pointer) you could declare in a function that would then inquire pointer size from TargetData like: FunctionType *geti8LongLong() { const PointerType *LongTy = Type::getIntNPtrTy(Context, TD.getPointerSizeInBits()); std::vector<const Type*> Params = { LongTy, LongTy }; const Type *ResultTy = Type::getInt8Ty(Context); return FunctionType::get(ResultTy, ArgTys, 0); } and then just use the return from geti8LongLong() as the function type when...
2010 Dec 26
2
[LLVMdev] Generating target dependent function calls
On 12/22/2010 03:12 PM, Peter Collingbourne wrote: > On Wed, Dec 22, 2010 at 01:38:06PM -0500, Tobias Grosser wrote: >> Hi, >> >> raghesh and I are working in Polly on automatically generating OpenMP >> calls. This works nicely on a 64bit architecture, >> however the functions we need to generate are slightly different on >> different platforms. >>
2005 May 13
1
[LLVMdev] LongTy in LowerInvoke.cpp
On Fri, 2005-05-13 at 08:06 +0200, Markus F.X.J. Oberhumer wrote: > Actually that's the only case I stumbled over this problem in a somewhat > larger C++ program, and it's clearly the wrong type in LowerInvoke.cpp - > it really should be IntPtrTy. But maybe we could use just IntTy here to > avoid target dependencies. Wait a minute. You want to lower a 64 bit thing to a 32
2004 Dec 21
0
[LLVMdev] Help with code
...ion(std::string("printf")); std::string() is unnecessary here as it's implicit. > Constant *str=ConstantArray::get("Value : %d\n"); > std::vector<Value *> Args(2); > std::vector<Constant *> GEPIndices(2); > GEPIndices[0]=Constant::getNullValue(Type::LongTy); > GEPIndices[1]=Constant::getNullValue(Type::LongTy); > Args[0]=ConstantExpr::getGetElementPtr(strcon,GEPIndices); You are using 'strcon', but you defined 'str' above. Where is 'strcon' coming from? > Args[1]=ConstantInt::get(Type::IntTy, id); > Instruction...
2010 Dec 26
1
[LLVMdev] Generating target dependent function calls
...some of the final parts: > > i.e. if you know you've got something like > > char GOMP_foo(pointer, pointer) > > you could declare in a function that would then inquire pointer size > from TargetData like: > > FunctionType *geti8LongLong() { > const PointerType *LongTy = Type::getIntNPtrTy(Context, TD.getPointerSizeInBits()); > std::vector<const Type*> Params = { LongTy, LongTy }; > const Type *ResultTy = Type::getInt8Ty(Context); > return FunctionType::get(ResultTy, ArgTys, 0); > } > > and then just use the return from geti8Long...
2004 Dec 21
3
[LLVMdev] Help with code
...;)); > > std::string() is unnecessary here as it's implicit. > > > Constant *str=ConstantArray::get("Value : %d\n"); > > std::vector<Value *> Args(2); > > std::vector<Constant *> GEPIndices(2); > > GEPIndices[0]=Constant::getNullValue(Type::LongTy); > > GEPIndices[1]=Constant::getNullValue(Type::LongTy); > > Args[0]=ConstantExpr::getGetElementPtr(strcon,GEPIndices); > > You are using 'strcon', but you defined 'str' above. Where is 'strcon' > coming from? > > > Args[1]=ConstantInt::get(Ty...
2006 Sep 12
1
[LLVMdev] ICE in LLVM GCC4 Front End
...is - // into a getelementptr instruction. - int64_t EltOffset = Offset/EltSize; - 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;...
2003 Nov 21
1
[LLVMdev] Linkage Types
...ined reference to `_index_' _index_ is defined like this: > %_index_ = external global long ; <long*> [#uses=12] But, that's not what I expected to get when I defined it in the compiler like this: > TheIndex = new GlobalVariable( > /*type=*/Type::LongTy, > /*isConstant=*/false, > /*Linkage=*/GlobalValue::LinkOnceLinkage, > /*initializer=*/0, > /*name=*/"_index_", > /*parent=*/TheModule > ); >...
2005 Apr 07
0
[LLVMdev] arguments to standard library functions
...; if( F->isExternal() ){ std::vector<Value*> paramList; Constant *fname = ConstantArray::get(F->getName()); Constant *GEP = ConstantExpr::getGetElementPtr(fname, std::vector<Constant*>(2,Constant::getNullValue(Type::LongTy))); paramList.push_back( GEP); paramList.push_back( ConstantUInt::get( Type::UIntTy, CI->getNumOperands()) ); CallInst* newCI = new CallInst( CF, paramList, "", bi ); } } } } }...
2003 Nov 21
2
[LLVMdev] Need Help With Verifier
...(StoreInst). Item 4 represents the StoreInst that the verifier is complaining about. So, below is how I did the above sequence. I thought it was pretty straight forward, but I've obviously done something wrong! In the following, note that "TheIndex" is a GlobalVariable of type "LongTy", "TheStack" is the [1024xint] array that I mentioned above. The BasicBlock variable bb is passed in from a higher level in the compiler's call sequence. void StackerCompiler::incr_stack_index( BasicBlock* bb ) { ConstantInt* ival = ConstantInt::get(Type::LongTy, 1);...
2005 Mar 21
3
[LLVMdev] arguments to standard library functions
HI , I understand that the standard C library functions are executed using the native library of the host machine. ( for example when we execute a bytecode to extract the profile info ) Is it possible to extract for each standard library function that is executed , the arguments that the function is called with. For example if printf ("%d", some_int ) when called during runtime
2006 Sep 02
0
[LLVMdev] gfortran calling convention
On Fri, 1 Sep 2006, Michael McCracken wrote: > Here's what works now, and I have a separate test case for each of these: > > statement functions > intrinsic functions (print, cos, etc) > loops, goto statments > scalarized array operations > function calls with *no arguments* > simple common blocks Great! > Function calls with more than one argument don't work.
2006 Sep 02
2
[LLVMdev] gfortran calling convention
The NIST F77 test suite doesn't seem to be compatible with gfortran at all, so I had to work from my own sample codes, and generate test cases from them. Here's what works now, and I have a separate test case for each of these: statement functions intrinsic functions (print, cos, etc) loops, goto statments scalarized array operations function calls with *no arguments* simple common
2005 Oct 16
2
[LLVMdev] Help on LLVM Instrumentation
Hi , I am using LLVM for my Post Graduate course project on Optimization. I am trying to do some insrtumentation to the bytecode.I 've been going through your Instrumentation code for the past few days in /llvm/lib/Transforms/Instrumentation folder and finally found two ways of instrumentation : 1) injecting LLVM bytecode instructions 2) calling an external C function. I am trying both and