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< Args;
+ std::vector<std::string> 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