similar to: [LLVMdev] PHI and Allocas

Displaying 20 results from an estimated 200 matches similar to: "[LLVMdev] PHI and Allocas"

2009 Oct 01
0
[LLVMdev] PHI and Allocas
On Thu, Oct 1, 2009 at 4:35 PM, Renato Golin <rengolin at systemcall.org> wrote: > Hi, > > I'm incrementing my toy compiler to account for variable mutations > around if/else blocks. > > Reading the Kaleidoscope tutorial, I've learnt that I can substitute > the PHI node creation by allocas and retrieving the value later, if > needed. The Kaleidoscope example
2010 Feb 17
2
[LLVMdev] Kaleidoscope toy4 failure seg fault on llvm::ExecutionEngine::getTargetData (this=0x0)
I am new to llvm so I might be missing a critical step. My system is Fedora 12 but this also happens in Mac OS X 10.6.2. Here are the steps I used to compile llvm: export TARGETS=x86,x86_64,cpp export INSTALLDIR=/home/rovitotv/llvm ../llvm-2.6/configure --prefix=$INSTALLDIR --enable-bindings=none --enable-targets=$TARGETS --enable-optimized --with-llvmgccdir=$INSTALLDIR
2010 Feb 17
0
[LLVMdev] Kaleidoscope toy4 failure seg fault on llvm::ExecutionEngine::getTargetData (this=0x0)
First, you have to call llvm-g++ to use the llvm-gcc front end, but it doesn't matter here. I'd like to suggest that you use pastebin to put your code and the send us the link, so that we can download it. The problem is that TheExecutionEngine is set to NULL (maybe because of a previous error), but it will be really better if you use pastebin. On Wed, Feb 17, 2010 at 6:01 AM, Todd Rovito
2011 Feb 08
1
[LLVMdev] Question about linker error
Hello all, When extending the tutorial to support global variables I'm getting the following linker error: glob.o:glob.cpp:(.text+0x12241): undefined reference to `vtable for GlobalExprAST' collect2: ld returned 1 exit status GlobalExprAST class is: /// GlobalExprAST - Expression class for globals class GlobalExprAST : public ExprAST { std::string Name; ExprAST *Init; public:
2010 Feb 17
1
[LLVMdev] Kaleidoscope toy4 failure seg fault on llvm::ExecutionEngine::getTargetData (this=0x0)
On Wed, Feb 17, 2010 at 6:29 AM, Conrado Miranda <miranda.conrado at gmail.com> wrote: > First, you have to call llvm-g++ to use the llvm-gcc front end, but it > doesn't matter here. I got the compile command from the Kaleidoscope documentation. > I'd like to suggest that you use pastebin to put your code and the send us > the link, so that we can download it. The
2008 Feb 22
1
[LLVMdev] tutorial typos
There were some typos in the tutorial. This patch should fix them: index b7f968b..50619e0 100644 --- a/docs/tutorial/LangImpl2.html +++ b/docs/tutorial/LangImpl2.html @@ -933,7 +933,7 @@ public: /// of arguments the function takes). class PrototypeAST { std::string Name; - std::vector&lt; Args; + std::vector&lt;std::string&gt; Args; public: PrototypeAST(const std::string
2007 Nov 05
0
[LLVMdev] 'Implementing a language with LLVM' tutorial
Very nice. Here's a couple comments on the first 6 chapters: http://llvm.org/docs/tutorial/LangImpl1.html "We handle comments by skipping to the end of the line and then returning the next comment." Shouldn't this say "returning the next comment"? http://llvm.org/docs/tutorial/LangImpl2.html I was a bit confused at first because the AST node classes are called ASTs.
2019 Nov 18
2
Crash using exceptions
Hello, I get a crash in my program that uses exceptions and the LLVM JIT, even though the exceptions are controlled and thrown/catched in a part that doesn't deal with LLVM. I noticed that llvm-config --cxxflags includes the -fno-exceptions flag. Do I need to throw no exceptions whatsoever in my application to use LLVM JIT? As a minimal example, I modified the code in
2015 Feb 05
4
[LLVMdev] Fwd: [cfe-dev] freebsd-mips64 unhandled .cpsetup
Moving to llvmdev, as this is not a clang issue. David > Begin forwarded message: > > Date: 5 February 2015 17:00:34 GMT > From: Sean Bruno <sbruno at ignoranthack.me> > To: cfe-dev at cs.uiuc.edu > Subject: [cfe-dev] freebsd-mips64 unhandled .cpsetup > Reply-To: sbruno at freebsd.org > > > I'm taking a journey to try and get a clang/llvm build of
2007 Nov 05
5
[LLVMdev] 'Implementing a language with LLVM' tutorial
On Mon, 5 Nov 2007, Aaron Gray wrote: >> Anyone have thoughts or feedback? :) > > Nice job. The only bit that is not immediately clear is the 'Proto' > variable, but is clear when looking through the code at the end of the page. Where in the tutorial? What would you suggest that I say? > Could do with a link to the LLVMBuilder class reference material. I added a link
2011 Feb 01
0
[LLVMdev] Loop simplification
Here's what I've got so far - it seems to work, aside from the fact that DeleteDeadPHIs is not removing at least one dead PHI in my test program. --------------------- static bool mergeBlockIntoSuccessor(BasicBlock *pred, BasicBlock *succ) { if (succ == pred) return false; if (pred->getFirstNonPHI() != pred->getTerminator()) return false; //
2013 Nov 09
1
[LLVMdev] Variable-length Phi-node
You can call addIncoming(). /// addIncoming - Add an incoming value to the end of the PHI list /// void addIncoming(Value *V, BasicBlock *BB) { assert(V && "PHI node got a null value!"); assert(BB && "PHI node got a null basic block!"); assert(getType() == V->getType() && "All operands to PHI node must be the same
2015 Feb 16
2
[LLVMdev] [cfe-dev] freebsd-mips64 unhandled .cpsetup
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 On 02/09/15 09:09, Toma Tabacu wrote: > >> Toma: >> >> Hey, I'm the bsd nerd trying to get our mips target switched over >> to clang/llvm. I looked at switching the mips asm parser over >> to parseExpression() but I am unfamiliar with the syntax to do >> this for .cpsetup. >> >> If you do
2010 Jun 21
2
[LLVMdev] MC: Object file specific parsing
Hi Daniel, attached is a patch that pushes most of the object file specific parsing out of AsmParser and down into MachOAsmParser. This was done as a cleanup for the ELF work. I know that you're not happy with this approach, particularly the fact that as we add more object file formats and assembler dialects, it's going to cause a class explosion. But I was hoping that we could use this
2012 Mar 08
0
[LLVMdev] Updating value from PHI
I guess I thought that once I redirected the branches and created new PHIs that LLVM would correct the variable usage when I return true (changed CFG) from the pass. Is this not the case? On Wed, Mar 7, 2012 at 4:08 PM, Ryan Taylor <ryta1203 at gmail.com> wrote: > Here is the code snippet that I am using to create the PHIs in the loop > according to the PHIs in the new preheader. At
2012 Mar 08
2
[LLVMdev] Updating value from PHI
Here is the code snippet that I am using to create the PHIs in the loop according to the PHIs in the new preheader. At this point I have already redirected the loop backedge and removed the preheader from the loop. for (BasicBlock::iterator II = loopHeaderBB->begin(); (PN=dyn_cast<PHINode>(II)); ++II) { // remove loop back PHI and add it to split BB
2008 Feb 27
1
[LLVMdev] adding asserts to PHINode::addIncoming
I noticed that addIncoming doesn't check if the passed in arguments are null or not, so I added a check for it. -e
2012 Aug 02
1
[LLVMdev] Adding Value to use_list of instruction
I have a new block with new PHI instructions. I addIncoming for the PHIs but this apparently doesn't update the use list, which I am trying to use later on to update any instructions who are no longer dominated. On Thu, Aug 2, 2012 at 2:55 PM, Eli Friedman <eli.friedman at gmail.com> wrote: > On Thu, Aug 2, 2012 at 2:52 PM, Ryan Taylor <ryta1203 at gmail.com> wrote: > >
2011 Feb 01
3
[LLVMdev] Loop simplification
On Feb 1, 2011, at 1:34 PM, Andrew Trick wrote: > On Feb 1, 2011, at 1:08 PM, Andrew Clinton wrote: > >> I have a (non-entry) basic block that contains only PHI nodes and an >> unconditional branch (that does not branch to itself). Is it always >> possible to merge this block with it's successor and produce a >> semantically equivalent program? I'm
2011 Feb 01
0
[LLVMdev] Loop simplification
On Feb 1, 2011, at 1:08 PM, Andrew Clinton wrote: > I have a (non-entry) basic block that contains only PHI nodes and an > unconditional branch (that does not branch to itself). Is it always > possible to merge this block with it's successor and produce a > semantically equivalent program? I'm trying to undo some of the loop > optimizations that LLVM has applied to my