similar to: [LLVMdev] Verifier & abort()

Displaying 20 results from an estimated 8000 matches similar to: "[LLVMdev] Verifier & abort()"

2004 Apr 01
0
[LLVMdev] Verifier & abort()
On Thu, Apr 01, 2004 at 05:54:27PM -0800, Reid Spencer wrote: > Would anyone mind if I changed the Verifier to allow installation of a > failure handler function that defaults to abort()? I would also like > to change the verifier to print to an arbitrary iostream instead of > always to std::cerr. This will help me capture the verifier's output > and produce it to the user
2004 Apr 01
4
[LLVMdev] Verifier & abort()
On Thu, 2004-04-01 at 18:04, Misha Brukman wrote: > Perhaps another solution would be to throw an exception with the error > message? Perhaps, but that would violate the programming contract already in place. Right now LLVM and its users expect failed verifications to cause an abort(). I wouldn't want to unleash on LLVM the new semantics of now handling exceptions in every place the
2004 Jun 23
2
[LLVMdev] weird issue with mem2reg, still
On Wed, 23 Jun 2004, Patrick Meredith wrote: > Somehow it fails with operand out of bounds when the number of operands > is 2 and I am asking for the second operand. Second meaning operand 1. Okay, so you have something like this: if (CallInst *CI = dyn_cast<CallInst>(...)) { ... = CI->getOperand(1); } Can you send in this snippet of code, the assertion, and the
2004 Jun 23
0
[LLVMdev] weird issue with mem2reg, still
void MetaSplit::handleProgramUses(Value *V){ if(!isa<BasicBlock>(V)) programValues.insert(V); if(User *U = dyn_cast<User>(V)){ User::op_iterator OB = U->op_begin(), OE = U->op_end(); for(; OB != OE; ++OB){ if(CallInst *CI = dyn_cast<CallInst>(*OB)){ Function *F = CI->getCalledFunction(); if(F == ii || F == fi || F == vi || F == di || F == ci
2004 Jun 23
4
[LLVMdev] weird issue with mem2reg, should have guessed
On Wed, 23 Jun 2004, Patrick Meredith wrote: > What's different about code that's been mem2reg'd from straight front end > code, or anything that mem2reg hasn't been run on? PHINODES! Yup, front-ends generally don't produce SSA form. :) > It appears to be crashing when I try to cast a Value* that's really a > BB* (from the PHInode operands) to a User*,
2004 Jun 23
0
[LLVMdev] weird issue with mem2reg, still
Somehow it fails with operand out of bounds when the number of operands is 2 and I am asking for the second operand. ----- Original Message ----- From: "Chris Lattner" <sabre at nondot.org> To: <llvmdev at cs.uiuc.edu> Sent: Wednesday, June 23, 2004 4:24 PM Subject: Re: [LLVMdev] weird issue with mem2reg, should have guessed > On Wed, 23 Jun 2004, Patrick Meredith
2004 Jun 23
0
[LLVMdev] weird issue with mem2reg, should have guessed
What's different about code that's been mem2reg'd from straight front end code, or anything that mem2reg hasn't been run on? PHINODES! It appears to be crashing when I try to cast a Value* that's really a BB* (from the PHInode operands) to a User*, insteresting since I am dyn_casting. I just caught this on cerr though (printing out what the Value* was each time). Let me
2005 Jan 08
0
[LLVMdev] Primer with LLVM
On Sat, Jan 08, 2005 at 06:16:47PM +0100, Francisco Puentes wrote: > I have points 0-4 working, but I am confused about point 5 and maybe 6. [snip and reorder] > (5) Generate native (x86) code from generated module The JIT currently is built to generate native code for a given module, a function-at-a-time. That means that first, main() is generated, and anything main() calls is not. As
2004 Nov 18
3
[LLVMdev] A few beginner level questions..
1. If we run a few passes in a sequence ..is the bytecode file transformed after each pass in sequence i.e if we have a) opt -pass1 -pass2 -pass3 < in.bc > out.bc b)opt -pass1 -pass2 < in.bc > tmp.bc opt -pass3 < tmp.bc > out.bc are the above two equivalent ? what I basically want is to run my pass on an optimised bytecode , so should i optimize it and get a new bytecode
2004 Jun 23
3
[LLVMdev] weird issue with mem2reg
On Wed, Jun 23, 2004 at 03:50:09PM -0500, Patrick Meredith wrote: > MetaSplit is an anlysis I just finished writing. It doesn't alter > anything, all it does is build a set of "program instructions". For > some reason even though if I run it with any other combination of > passes I've found, anytime I run it with mem2reg I get a seg fault in > dyn_cast!
2005 May 17
2
[LLVMdev] Register Allocation problem
Ok, i'm having a problem with understanding the allocating of registers. I've written in the "addPassesToEmitAssembly()" the passes to create the assembly code, as in the PowerPC example. I'ved tried filling up as much of the code in <Target>RegisterInfo.cpp (Register/Frame code) to handle writing and reading from stack. The allocation method I used was
2005 Jan 08
3
[LLVMdev] Primer with LLVM
> >>> Would be great if we append into the documentation several "patters" > >>> to show how perform with LLVM. It would accelerate the learn curve for > >>> beginners like me, avoiding basic errors and mistakes. If I reach a > >>> good level with LLVM I can make these. > >> > >> I'm not sure if I understand what you
2005 Aug 27
4
[LLVMdev] unoptimised LLVM, not in SSA form
Hi, I am interested in obtaining LLVM IR without any optimization performed on it.( IR obtained from cfrontend's AST). Is this LLVM IR in SSA form? Secondly, I want to make a transformation on this unoptimized IR, and convert it back to C. I believe llc -c does that. Thirdly, is it possible to use LLVM tool suite on LLVM IR that's not in SSA form, if we have such LLVM so.
2007 Nov 08
3
[LLVMdev] Newbie JITter
Hi, I'm experimenting with using LLVM to generate dynamic FFI bridges in VisualWorks Smalltalk. LLVM is an amazing thing! I'm going from dynamically generated assembler source to machine code, and I have that all working, copied from the llc tool and the JIT example. I have two questions: 1. What optimization passes, if any, should I run on the module before I pass it to the
2006 Dec 07
7
[LLVMdev] #include <iostream>
Hi all, With the newest patches to LLVM, there should be no reason for having "#include <iostream>" in any library source code file, except for lib/ Support/Streams.cpp. Please use the following instead: OLD NEW --- --- std::ostream llvm::OStream std::istream llvm::IStream std::cerr llvm::cerr std::cerr llvm::cout
2004 Apr 01
0
[LLVMdev] Verifier & abort()
On Thu, 1 Apr 2004, Reid Spencer wrote: > On Thu, 2004-04-01 at 18:04, Misha Brukman wrote: > > > Perhaps another solution would be to throw an exception with the error > > message? > > Perhaps, but that would violate the programming contract already in > place. Right now LLVM and its users expect failed verifications to cause > an abort(). I wouldn't want to
2006 Dec 08
0
[LLVMdev] #include <iostream>
On Thu, 7 Dec 2006, Bill Wendling wrote: > With the newest patches to LLVM, there should be no reason for having > "#include <iostream>" in any library source code file, except for lib/ > Support/Streams.cpp. Please use the following instead: > > OLD NEW > --- --- > std::ostream llvm::OStream > std::istream
2004 May 05
2
[LLVMdev] Plea for help
Chris Lattner wrote: >Could you try compiling and running this program: > >--- >#include <limits> >#include <iostream> >int main() { > std::cerr << std::numeric_limits<float>::infinity() << "\n"; >} >--- > > Sure thing. It prints "0". Calling that inifinity is somewhat of a stretch, isn't it ? What on earth
2008 Nov 18
2
[LLVMdev] print out instruction
When I try to print out a instruction by the following way, I am getting the error message below. Anyone knows what's the problem? Instruction* inst; ... inst-print(cerr); testbuild.cpp:178: error: no matching function for call to 'llvm::Instruction::print(llvm::OStream&)' /x/pchsu/llvm/llvm-2.4/include/llvm/Value.h:83: note: candidates are: void
2004 May 04
0
[LLVMdev] Plea for help
On Tue, 4 May 2004, Finn S Andersen wrote: > Chris wrote in a followup: > > > Can you send the output of 'llc -o - foo.bc -debug -print-machineinstrs'? > > > Attached as "linscan". (But added the "-regalloc=linearscan" to provoke > the error). Yes, that's exactly what I meant... thanks for reading my mind! :) It looks like this is where