similar to: [LLVMdev] Block in multiple Paths

Displaying 20 results from an estimated 50000 matches similar to: "[LLVMdev] Block in multiple Paths"

2011 Nov 20
1
[LLVMdev] Order of Basic Blocks
Sorry, forgot to add group to CC. On Sun, Nov 20, 2011 at 6:14 PM, Ryan Taylor <ryta1203 at gmail.com> wrote: > Cameron, > > To make it less vague, I would ideally like to traverse top down. I > believe what you suggested is what I want, I will have a look at it. > > Currently, I am iterating over the BBs in a Function, so > Function::iterator BBitr=F->begin(),
2011 Nov 21
0
[LLVMdev] Order of Basic Blocks
Is there a way to cast the rpo_iterator to a basic block pointer? I need to use the functions of the class Basic Block. On Sun, Nov 20, 2011 at 3:15 PM, Ryan Taylor <ryta1203 at gmail.com> wrote: > Sorry, forgot to add group to CC. > > On Sun, Nov 20, 2011 at 6:14 PM, Ryan Taylor <ryta1203 at gmail.com> wrote: > >> Cameron, >> >> To make it less vague,
2011 Nov 21
1
[LLVMdev] Fwd: Order of Basic Blocks
---------- Forwarded message ---------- From: Ryan Taylor <ryta1203 at gmail.com> Date: Mon, Nov 21, 2011 at 10:30 AM Subject: Re: [LLVMdev] Order of Basic Blocks To: Benjamin Kramer <benny.kra at googlemail.com> This worked, though the RPO_iterator apparently wasn't what I was looking for anyways, it seems it doesn't rreally go top->down. I have a simple example code,
2011 Nov 20
3
[LLVMdev] Order of Basic Blocks
LLVMers, Is there any way to guarantee iteration of the basic blocks from top down or path to path? Currently it looks sort of semi-random, sometimes visiting loop heads first and other times loop tails, is there a way I can visit the BBs top down or path to path? Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL:
2011 Nov 17
2
[LLVMdev] Fwd: Problem getting LoopInfo inside non-LoopPass
Nick, Thanks for this info, though this didn't help my problem at all. On Wed, Nov 16, 2011 at 7:21 PM, Nick Lewycky <nicholas at mxc.ca> wrote: > Never create a Twine as a local variable. > > V->setName(Twine("new_name")); > > should work fine, however. Note that Twine itself has an implicit > constructor from const char *, so this code: > >
2011 Nov 17
0
[LLVMdev] Fwd: Problem getting LoopInfo inside non-LoopPass
So is this simply not possible? On Thu, Nov 17, 2011 at 10:31 AM, Ryan Taylor <ryta1203 at gmail.com> wrote: > Nick, > > Thanks for this info, though this didn't help my problem at all. > > > On Wed, Nov 16, 2011 at 7:21 PM, Nick Lewycky <nicholas at mxc.ca> wrote: > >> Never create a Twine as a local variable. >> >>
2011 Nov 17
2
[LLVMdev] Fwd: Problem getting LoopInfo inside non-LoopPass
Basically I have two separate passes (first is a loop pass) which are two different files and two different opts but I need to keep the data consistent (ie, I want the changes to show up the resulting .bc output file from the first (loop) pass so the second pass can use these new names. Currently, when I print out "BB->getName().str()" after the code below, I get the correct renaming
2011 Nov 17
0
[LLVMdev] Fwd: Problem getting LoopInfo inside non-LoopPass
Never create a Twine as a local variable. V->setName(Twine("new_name")); should work fine, however. Note that Twine itself has an implicit constructor from const char *, so this code: V->setName("new_name"); should also work fine. Nick Ryan Taylor wrote: > Basically I have two separate passes (first is a loop pass) which are > two different files and
2016 Mar 14
2
Inline Spiller spilling multiple duplicate copies
Hi Ryan, > On Mar 14, 2016, at 7:49 AM, Ryan Taylor via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > I looked at this again and it appears that while spillAroundUses sets the register as 'dead', there is no checking to see if it's dead in subsequent iterations of the bundle loop. > > Is this intentional? > > On Mon, Mar 7, 2016 at 3:28 PM, Ryan
2016 Mar 07
2
Inline Spiller spilling multiple duplicate copies
Looks like spillAroundUses is spilling multiple duplicate copies to the stack, for example, with some regs we get 1 storeRegToStack call, for others we get multiple (2-6+) and then these instructions are never eliminated. Looking at spillAroundUses it looks like multiple duplicate COPYs are being generated, why? One for each use? The reg_bundle holds these multiple copies so that we are
2011 Nov 21
5
[LLVMdev] Fwd: Problem getting LoopInfo inside non-LoopPass
I would have thought this would have been possible. On Thu, Nov 17, 2011 at 3:49 PM, Ryan Taylor <ryta1203 at gmail.com> wrote: > So is this simply not possible? > > > On Thu, Nov 17, 2011 at 10:31 AM, Ryan Taylor <ryta1203 at gmail.com> wrote: > >> Nick, >> >> Thanks for this info, though this didn't help my problem at all. >> >>
2011 Nov 10
4
[LLVMdev] Problem getting LoopInfo inside non-LoopPass
John, This did not work. It compiles (isDeclaration was the name of the function) and I passed a reference (&F) (F is a function pointer). I still get the opt load error from the original message (UNREACHABLE exectuted!). Thanks. On Thu, Nov 10, 2011 at 10:00 AM, Ryan Taylor <ryta1203 at gmail.com> wrote: > 1. Ok will do. > 2. Ok, will do. > 3. It's a CallGraphPass. I
2011 Nov 10
0
[LLVMdev] Fwd: Problem getting LoopInfo inside non-LoopPass
---------- Forwarded message ---------- From: Ryan Taylor <ryta1203 at gmail.com> Date: Thu, Nov 10, 2011 at 10:31 AM Subject: Re: [LLVMdev] Problem getting LoopInfo inside non-LoopPass To: Devang Patel <dpatel at apple.com> I need to iterate bottom up on the nodes, but within that I want to break up BBs within a loop. I could just create a loop pass as another opt and call that, I
2011 Nov 17
0
[LLVMdev] Problem getting LoopInfo inside non-LoopPass
LLVMers, So, I'm trying to write a pass that changes the names of the basic blocks through the use of Value, so: Value *V = *BasicBlockPtr; const Twine Tname("new_name"); V->setName(Tname); But when I run the opt and look at the IR output nothing is changed? Not sure what I'm doing wrong. Thanks. -------------- next part -------------- An HTML attachment was
2012 Mar 22
1
[LLVMdev] StructLayout getSizeInBits()
LLVMers, I have a const StructType *StTy where I call TargetData->getStructLayout(const_cast<StructType*>(StTy))->getSizeInBits() but it continues to return 64 regardless of the actual size of the struct? I want the size of the structure in bits, including alignment padding for offset calculations, is this not the right function call? Thanks. -------------- next part
2011 Nov 28
1
[LLVMdev] Branch Question
LLVMers, What is the best way to look at the BBs (or get their pointers) when hitting a branch such as a true/false branch? I want to evaluate just the immediate child nodes of the BB, without interrupting the way in which I am iterating the blocks? Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL:
2012 Mar 12
1
[LLVMdev] [cfe-dev] Compiling Multiple Files
James, Thanks. It wouldn't take the LTO option; however, I can get it to inline using -cppgen=inline. However, when I run clang the second time it gives me an error, stating that it expects a top level entity. I think I've run into this issue before. Any ideas? On Mon, Mar 12, 2012 at 11:30 AM, James Molloy <James.Molloy at arm.com> wrote: > Hi Ryan, > > I see. Well,
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 12
2
[LLVMdev] [cfe-dev] Compiling Multiple Files
James, Sure. I want to inline functions in a C program that has no external node, or "main". So the "top" function is not main and there does not exist a main in the file. Thanks. On Mon, Mar 12, 2012 at 11:23 AM, James Molloy <James.Molloy at arm.com> wrote: > Hi Ryan, > > > Do you know if it's possible to inline functions without an external >
2012 Mar 12
0
[LLVMdev] [cfe-dev] Compiling Multiple Files
Hi Ryan, I see. Well, that shouldn't be an issue. If you link the bitcode files together with llvm-link you can then do several things: (1) Run clang on it as you normally would with -O3 for maximum inlining (2) Run 'llc' manually with -O3 and LTO, which will do the maximum link time optimisations. (3) Run 'opt' manually with -O3, LTO which will produce another bitcode file,