similar to: [LLVMdev] va_start

Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] va_start"

2009 Mar 24
0
[LLVMdev] va_start
Hi, When I try to use va_start(ptr), I got the following problem : Type *Tys = Type::VoidTy; Or Type *Tys = PointerType::get(IntegerType::get(8), 0); return Intrinsic::getDeclaration(llvm_module,Intrinsic::vastart,&Tys,1); ............... The Name generated is "llvm.va_start.p0i8", so, it's not found, abending the process. and Len = 18 In intrinsics.gen : if (Len == 13
2009 May 15
1
[LLVMdev] Intrinsic
Hi, I'm trying to use exception control by LLVM. In the demo page, I got : declare i8* @llvm.eh.exception() nounwind But, when a try to emit the code by llvm engine, the name is generate with the sufix .132 ( llvm.eh.exception.132 ) and the Function::getIntrinsicID abort the program. It was so : Intrinsic::getDeclaration(llvm_module,Intrinsic::memset,&Tys,1); Now, it's
2009 Jun 04
1
[LLVMdev] Structure Alignment
struct xfirstStru { int var1; double var2; int var3; char *var4; }; %FIRSTSTRU_PLUSPLUS_TOTVS. = type { i32, double, i32, i8* } Hi, I had not applied the layout at run time, only during the emission of the .bc. Now it's running ok when I allocate the structure point at LLVM side, but, when I allocate the structure pointer in the C
2009 Jun 09
1
[LLVMdev] Structure alignment
Hi, It's not ok yet. When a C function calls a LLVM function, or a LLVM function calls a C function, the offset of the variables are wrong. When a don't mix LLVM with C, it's ok, but I need call extern functions using structs. Ciao Manoel Subject: Re: [LLVMdev] Structure alignment To: LLVM Developers Mailing List <llvmdev at cs.uiuc.edu> Message-ID:
2009 Jun 08
3
[LLVMdev] Structure alignment
%FIRSTSTRU = type { i32, double, i32, i8* } struct { int var1; double var2; int var3; char *var4; }firstStru ; Could someone help? If, running a application in windows with MSVC, I allocate a memmory buffer and call a LLVM function with such buffer, there's a structure alignment problem. If the LLVM function call a C function using the same buffer, it runs fine. Any ideas?
2009 Jan 08
0
[LLVMdev] LLVMdev Digest, Vol 55, Issue 16
1. Re: LLVM optmization (Bill Wendling) Hi, The IR is not wrong. I said that the assembler generated by MSVC is quicker. We can see that the for loop, in the TESTE function, is done without jump's in the MSVC and with jumps in LLVM. I think thats the point. If we don't use threads, the result is the same. My test were done with one billion interactions in the for loop. The MSVC
2007 Apr 20
0
[LLVMdev] llvm-gcc Bug, Looking for Advice on Fix
David Greene wrote: > 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) It turns out that this happens all over llvm-convert.c. Tys and numTys default to zero, which is why it builds. The problem is,
2007 Apr 20
2
[LLVMdev] llvm-gcc Bug, Looking for Advice on Fix
Ok, I've tracked down the problem I've had bootstrapping llvm-gcc. The culprit is in TreeToLLVM::EmitMemCpy: void TreeToLLVM::EmitMemCpy(Value *DestPtr, Value *SrcPtr, Value *Size, unsigned Align) { const Type *SBP = PointerType::get(Type::Int8Ty); const Type *IntPtr = TD.getIntPtrType(); Value *Ops[4] = { CastToType(Instruction::BitCast,
2009 Jan 06
2
[LLVMdev] LLVM Optmizer
The following C code : #include <stdio.h> #include <stdlib.h> int TESTE2( int parami , int paraml ,double paramd ) { int varx=0,vary; int nI =0; //varx= parami; if( parami > 0 ) { varx = parami; vary = varx + 1; } else { varx = vary + 1; vary = paraml; } varx = varx + parami + paraml; for( nI = 1 ; nI <= paraml; nI++) { varx =
2009 Sep 07
0
[LLVMdev] PR4882
Hi Jakub, looks good. > + LLVMContext *Context = &SI->getContext(); I guess this could be LLVMContext &Context = SI->getContext(); which means you can use Context rather than *Context below. > - const Type *Ty = Type::getInt64Ty(SI->getContext()); > - MemSetF = Intrinsic::getDeclaration(M, Intrinsic::memset, &Ty, 1); > + const Type *Tys[] =
2009 Sep 07
1
[LLVMdev] PR4882
On Sep 7, 2009, at 5:02 PM, Duncan Sands wrote: > Hi Jakub, looks good. > >> + LLVMContext *Context = &SI->getContext(); > > I guess this could be > LLVMContext &Context = SI->getContext(); > which means you can use Context rather than *Context below. Right, C bad habit ;) Fixed. >> - const Type *Ty = Type::getInt64Ty(SI->getContext());
2008 Feb 20
1
[LLVMdev] Invalid intrinsic name error
Hi, Thank You for the advice and we were able to solve that problem by the following modifications to the Instrinsics.td file. But I now have an "Invalid Intrinsic name" error This error occurs presumably because the created intrinsic is named: llvm.migrate_begin.i32 Intrinsics.gen checks for a string length of 18 (i.e. the length without the .i32). Kindly help me through it.
2012 Jul 04
0
[LLVMdev] Bogus assert in VMCore/Instructions.cpp CallInst::Create?
Andrew Ruef wrote: > Evening, > > I was writing some code that tried to insert calls to the > llvm.annotation intrinsic function, which has a signature of (i32, > i8*, i8*, i32). The code is below. > > void addAnnotation( BasicBlock *block, Function *F) > { > string foo = "foo"; > string bar = "barr"; > > Type
2008 Feb 12
0
[LLVMdev] Inrinsic Creation Problem
Hi, I tried creating intrinsics which are to be placeholders for some instructions which should not be executed by the backend. Kindly help me with the errors in my "migrate_begin" intrinsic creation The following are the additions made to the Intrinsics.td file def llvm_migrate_begin : LLVMType<iAny>; def int_migrate_begin : Intrinsic<[llvm_migrate_begin,llvm_vararg_ty],
2012 Jul 04
2
[LLVMdev] Bogus assert in VMCore/Instructions.cpp CallInst::Create?
Evening, I was writing some code that tried to insert calls to the llvm.annotation intrinsic function, which has a signature of (i32, i8*, i8*, i32). The code is below. void addAnnotation( BasicBlock *block, Function *F) { string foo = "foo"; string bar = "barr"; Type *charTy = Type::getInt8Ty(block->getContext()); ArrayType *s1Ty =
2008 Feb 19
2
[LLVMdev] Problem with variable argument intrinsics
Hi, I tried creating variable argument intrinsics which are to be placeholders for some instructions which should not be executed by the backend. Kindly help me with the errors in my "migrate_begin" intrinsic creation //Additions made to Intrinsics.td file: def llvm_migrate_begin : LLVMType<iAny>; def int_migrate_begin :
2015 Nov 15
3
Why is llvm.maxnum.f32 coming through unreduced?
I have a smallish compilation that contains calls on intrinsics @llvm.maxnum.f32 and @llvm.fabs.f32: %fminmax = call float @llvm.maxnum.f32(float %fabs5, float %fabs) %fabs = call float @llvm.fabs.f32(float %v.6) The latter is reduced to machine code by llc, the former is not, instead coming through as an external function call, which then fails to link. I can't see any differences
2009 Mar 10
1
[LLVMdev] llvm + stdcxx
I tried to compile LLVM + stdcxx and I got a lot of compiling errors. Did anyone got that? Manoel Teixeira
2015 Apr 18
2
[LLVMdev] how can I create an SSE instrinsics sqrt?
I want to create a vector version sqrt as the following. Value *Approx::CreateFSqrt(IRBuilder<> &builder, Value *v, const char* Name) { Type *tys[] = {v->getType()}; Module* M = currF->getParent(); Value* sqrtv = Intrinsic::getDeclaration(M, Intrinsic::x86_sse2_sqrt_pd); CallInst *CI = builder.CreateCall(sqrtv, v, Name); return CI; } Here is Value *v is <2 x
2009 Mar 05
0
[LLVMdev] LLVM +stdcxx
Is there some preprocess directive to compile LLVM using stdcxx in Windows + MSVC 2005? Manoel Teixeira