similar to: [LLVMdev] bitcast function calls

Displaying 20 results from an estimated 300 matches similar to: "[LLVMdev] bitcast function calls"

2010 Sep 29
3
[LLVMdev] spilling & xmm register usage
Hello everybody, I have stumbled upon a test case (the attached module is a slightly reduced version) that shows extremely reduced performance on linux compared to windows when executed using LLVM's JIT. We narrowed the problem down to the actual code being generated, the source IR on both systems is the same. Try compiling the attached module: llc -O3 -filetype=asm -o BAD.s BAD.ll Under
2010 Sep 29
0
[LLVMdev] spilling & xmm register usage
On Sep 29, 2010, at 8:35 AMPDT, Ralf Karrenberg wrote: > Hello everybody, > > I have stumbled upon a test case (the attached module is a slightly > reduced version) that shows extremely reduced performance on linux > compared to windows when executed using LLVM's JIT. > > We narrowed the problem down to the actual code being generated, the > source IR on both systems
2008 Jan 12
1
[LLVMdev] Labels
I'm attempting to modify a parser generator to emit LLVM code instead of C. So far the experience has been trivial, but I am now running into an error regarding labels that I can't seem to solve. Situation 1: A label is used immediately after a void function call (l6 in this case): <snip> %tmp26 = load i32* @yybegin, align 4 %tmp27 = load i32* @yyend, align 4 call void
2008 Feb 10
2
[LLVMdev] Instrumenting virtual function calls
I'm attempting to instrument virtual function calls in my code. After each virtual call I'm calling my own registerMethod function, with an integer marking the location of the call and a pointer to the function that was called. However, and this is where I get confused, the function pointer doesn't match any of the functions in my module. I'd hoped to call
2011 Jan 28
3
[LLVMdev] Call to non-constant memset() being generated where libc is not available
I am compiling something without standard libraries, including no libc. Somehow, this bitcode is being generated by plain array manipulation code: %12 = add i8 %11, -19 %tmp35 = icmp sgt i32 %9, 1 %smax36 = select i1 %tmp35, i32 %9, i32 1 call void @llvm.memset.p0i8.i32(i8* getelementptr inbounds ([100 x i8]* @global_array_char, i32 0, i32 0), i8 %12, i32 %smax36, i32 1, i1 false)
2008 Jan 14
3
[LLVMdev] llvm-gcc miscompilation or it's the gcc's rule?
Hi, Here is C function: uint64_t mul(uint32_t x, uint32_t y) { return x * y; } current llvm-gcc-4.0 with -O3 will compile it to: define i64 @mul(i32 %x, i32 %y) nounwind { entry: %tmp3 = mul i32 %y, %x ; <i32> [#uses=1] %tmp34 = zext i32 %tmp3 to i64 ; <i64> [#uses=1] ret i64 %tmp34 } This seems incorrect. I think it should extend %x, %y to i64 first and
2011 Jan 31
0
[LLVMdev] Call to non-constant memset() being generated where libc is not available
David Meyer wrote: > I am compiling something without standard libraries, including no libc. > > Somehow, this bitcode is being generated by plain array manipulation code: > > %12 = add i8 %11, -19 > %tmp35 = icmp sgt i32 %9, 1 > %smax36 = select i1 %tmp35, i32 %9, i32 1 > call void @llvm.memset.p0i8.i32(i8* getelementptr inbounds ([100 x > i8]*
2007 Jan 29
2
[LLVMdev] A question about GetElementPtr common subexpression elimination/loop invariant code motion
Hello. I have a problem which is quite basic for array optimization, amd I wonder whether I am missing something, but I could not find the LLVM pass that does it. Consider the following code snippet: int test() { int mat[7][7][7]; int i,j,k,sum=0; for(i=0;i<7;i++){ for(j=0;j<7;j++){ for(k=0;k<7;k++){ sum+=mat[i][j][k]^mat[i][j][k^1]; } } } return
2008 Jun 10
3
[LLVMdev] DejaGNU test fixes
Hi all, while writing a testcase thate needed to do a grep containg {, I found that the DejaGNU test framework didn't handle those very well. It's a bit of a fuss to escape accolades properly, but most of all the framework seemed to silently ignore errors in the escaping (and just not run the command then). See [1]. Fixing the framework resulted in 80 of the tests failing. I spent the
2008 Feb 01
1
[LLVMdev] Code Extractor Issue
I'm having an issue with the CodeExtractor. When I try to extract the lone basic block from the following function, I get an assertion error. define i32 @test(i32 %x) { %tmp = call i32 @test3( i32 %x ) ; <i32> [#uses=1] ret i32 %tmp } The assertion error is: lli: Dominators.cpp:71: void llvm::DominatorTree::splitBlock(llvm::BasicBlock*): Assertion
2004 Aug 06
1
ices and libshout.so.1
> "./ices: error while loading shared libraries: libshout.so.1: cannot > open shared object file: No such file or directory" >>Is libshout installed? What I know I haven't installed it, is there a debian package of it so I can install or reinstall it mayne? >>Did you run ldconfig? When I do a ldconfig I get this back in return " ldconfig:
2000 Apr 17
0
Samba 2.0.7pre4
Dear Sirs: I wish to report my experience with the package. I have compiled and used Samba 2.0.7pre 2, pre3, and pre4. I have not had any trouble connecting to Samba's shares (from an NT client), but I would like to report a problem with SMBFS and SMBMOUNT. NT4, SP5 shares mounted into the filespace of the Linux box can disconnect over time with two possible outcomes. The activity is
2008 Apr 17
0
[LLVMdev] Call Stacks
I see that you'll have a Stack Frame object with a Call Stack being accessible from a RuntimeInfo object. I'm having trouble finding out how to access this RuntimeInfo object or the Call Stack. What is the easiest way to do this? Thanks, Ben Mayne x245 -------------- next part -------------- An HTML attachment was scrubbed... URL:
2007 Dec 20
1
[LLVMdev] Code Generation Problem llvm 1.9
I sent a long message yesterday describing a problem I thought had to do with the JIT stubs. After further investigating, the problem seems to be in the code generation. The following basic block seems to have an error in it's code generation: __exp.exit: ; preds = %codeRepl258, %__exp_bb_bb.exit phi double [ 1.000000e+00, %codeRepl258 ], [ %.reload.reload.i,
2008 Jan 14
0
[LLVMdev] llvm-gcc miscompilation or it's the gcc's rule?
I don't think C has a way to express 32b x 32b -> 64b multiply, even though there is (on x86 anyway) a hardware instruction that does it. The type of your expression (x * y) is still uint32_t. The implicit type coercion up to uint64_t as part of the return statement doesn't change this. On Jan 13, 2008, at 10:29 PM, Zhou Sheng wrote: > Hi, > > Here is C function: >
2008 Apr 04
0
[LLVMdev] Problem using 'bitcast'
I have been trying to compile some Llvm code that I generate, and I am running into a problem assembling my ll code. Here is a snippet of the code I am trying to compile: %loc0 = alloca i32 call void @llvm.dbg.declare( { }* bitcast(i32* %loc0 to { }*), { }* bitcast (%llvm.dbg.variable.type* @llvm.dbg.variable1 to { }*) ) I get an error from the second line of code: Invalid
2008 Apr 05
0
[LLVMdev] Problem using 'bitcast'
> call void @llvm.dbg.declare( { }* bitcast(i32* %loc0 to { }*), { }* bitcast (%llvm.dbg.variable.type* @llvm.dbg.variable1 to { }*) ) This is not legal. The distinction here is that the bitcast as an argument is a constant expression and requires constant arguments, and %loc0 is not constant. Introducing the temp variable is the "right way" to do this. - Daniel -----
2008 May 07
0
[LLVMdev] bitcast function calls
Hello, Ben > This may be more related to gcc, but we're wondering why the initial > call to a function without a prototype contained a bitcast while a > function with a prototype does not. We can go into the code and add > prototypes and get around the problem, but we'd like to better > understand what's going on to see if a better solution exists. This is correct
2008 Aug 19
0
[LLVMdev] bitcast of function
Hello, > The function is declared in a header file. How? As 'void openBMPJPG()' ? > After linkingall the files together, the callee function is called in > the way bellow: 'void openBMPJPG()' will give you varargs function declaration. So, actually you're calling no-args function via vargargs declaration. Thus bitcast there. -- With best regards, Anton
2008 Nov 17
0
[LLVMdev] Assertion `castIsValid(getOpcode(), S, Ty) && "Illegal BitCast"' faile
ok.. you are right. I had not inserted the AllocaInst in the function. Thanks a lot for solving my problem yet again :) --- On Mon, 11/17/08, Eli Friedman <eli.friedman at gmail.com> wrote: > From: Eli Friedman <eli.friedman at gmail.com> > Subject: Re: Assertion `castIsValid(getOpcode(), S, Ty) && "Illegal BitCast"' faile > To: bhavi63 at yahoo.com