Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Iterating thru CF edges in a CFG"
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
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;
//
2008 Jan 22
3
[LLVMdev] Walking all the predecessors for a basic block
Hi all,
Is there a way to walk through ALL the predecessors of a basic block
in a CFG. I tried to iterate over the preds using this method
for (pred_iterator PI = pred_begin(BB), E = pred_end(BB); PI != E; ++I) {
BasicBlock *PredBB = *PI;
}
but this only gives the immediate predecessors for a basic block.
For example, in this sample control flow graph.
entry -> bb1 -> bb2 -> bb4
2019 Sep 30
2
[RFC] Propeller: A frame work for Post Link Optimizations
On Mon, Sep 30, 2019 at 1:27 PM Eric Christopher <echristo at gmail.com> wrote:
> On Mon, Sep 30, 2019 at 12:31 PM Sriraman Tallam <tmsriram at google.com>
> wrote:
> >
> >
> >
> > On Mon, Sep 30, 2019 at 12:26 PM Eric Christopher <echristo at gmail.com>
> wrote:
> >>
> >> On Sat, Sep 28, 2019 at 8:25 AM Sriraman Tallam
2011 Oct 14
0
[LLVMdev] BasicBlock succ iterator
Hi
I have checked all blocks, each block have a Terminator instruction and each
blocks belongs to a function.
I'm really confused. I guess the problem is caused by the removal of the
Loop,The code is as follows:
* //every block to header (except the ones in the loop), will now
redirect to newblock
for (pred_iterator PI = pred_begin(header); PI != pred_end(header);
++PI) {
2019 Sep 30
2
[RFC] Propeller: A frame work for Post Link Optimizations
I guess Eric means full program optimization/cross module optimization
using MIR. This is in theory workable in full LTO style, but not in
ThinLTO style which works on summary data. As we have discussed,
eliminating monolithic style optimization is the key design goal.
This was also briefly discussed in one of the previous replies I sent.
There are other benefits of doing this in linker such
2011 Oct 13
6
[LLVMdev] BasicBlock succ iterator
Hi, All
I want to implement DSWP Which is used for parallelization of loops. For
this purpose, the loop was replaced with a new basic block in main function.
And new functions were created and basic blocks of Loop assigned to them.I
have checked blocks and branches for Succ and Pred relation and I have not
found any problems.
However I get the following error:
*
**opt:
2019 Sep 30
2
[RFC] Propeller: A frame work for Post Link Optimizations
On Mon, Sep 30, 2019 at 12:26 PM Eric Christopher <echristo at gmail.com>
wrote:
> On Sat, Sep 28, 2019 at 8:25 AM Sriraman Tallam <tmsriram at google.com>
> wrote:
> >
> >
> >
> > On Fri, Sep 27, 2019 at 10:36 PM Eric Christopher <echristo at gmail.com>
> wrote:
> >>
> >> On Fri, Sep 27, 2019 at 2:08 PM Sriraman Tallam via
2019 Oct 08
2
[RFC] Propeller: A frame work for Post Link Optimizations
Some more information about the relaxation pass whose effectiveness
and convergence guarantees were listed as a concern:
TLDR; Our relaxation pass is similar to what LLVM’s MCAssembler does
but with a caveat for efficiency. Our experimental results show it is
efficient and convergence is guaranteed.
Our relaxation pass is very similar to what MCAssembler does as it
needs to solve the same
2019 Sep 28
2
[RFC] Propeller: A frame work for Post Link Optimizations
On Fri, Sep 27, 2019 at 10:36 PM Eric Christopher <echristo at gmail.com>
wrote:
> On Fri, Sep 27, 2019 at 2:08 PM Sriraman Tallam via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
> >
> > On Fri, Sep 27, 2019 at 1:16 PM Eli Friedman <efriedma at quicinc.com>
> wrote:
> > >
> > > > -----Original Message-----
> > > > From:
2019 Sep 27
5
[RFC] Propeller: A frame work for Post Link Optimizations
On Thu, Sep 26, 2019 at 5:13 PM Eli Friedman <efriedma at quicinc.com> wrote:
>
> > -----Original Message-----
> > From: Sriraman Tallam <tmsriram at google.com>
> > Sent: Thursday, September 26, 2019 3:24 PM
> > To: Eli Friedman <efriedma at quicinc.com>
> > Cc: Xinliang David Li <xinliangli at gmail.com>; llvm-dev <llvm-dev at
2008 Jan 22
0
[LLVMdev] Walking all the predecessors for a basic block
Hi Pabhat,
Have you checked out DepthFirstIterator? (include/llvm/ADT/
DepthFirstIterator.h). It provides an iterator abstraction to perform
a forward/reverse DFS traversal of a graph.
Many of the LLVM datatypes that represent graphs have a template
specialization of the GraphTraits<> class which allows separate
algorithms to treat them as graphs, walk them, etc. (Both BasicBlock
2019 Sep 27
3
[RFC] Propeller: A frame work for Post Link Optimizations
On Fri, Sep 27, 2019 at 1:16 PM Eli Friedman <efriedma at quicinc.com> wrote:
>
> > -----Original Message-----
> > From: Sriraman Tallam <tmsriram at google.com>
> > Sent: Friday, September 27, 2019 9:43 AM
> > To: Eli Friedman <efriedma at quicinc.com>
> > Cc: Xinliang David Li <xinliangli at gmail.com>; llvm-dev <llvm-dev at
2019 Oct 07
2
[RFC] Propeller: A frame work for Post Link Optimizations
We would also like to clarify on the misconceptions around CFI Instructions:
There are two things that need to be clarified here:
1) Extra CFI FDE entries for basic blocks does not mean more dynamic
instructions are executed. In fact, they do not increase at all. Krys
talked about this earlier.
2) We do deduplication of common static CFI instructions in the FDE
and move it to the CIE . Hence,
2008 Jan 23
1
[LLVMdev] Walking all the predecessors for a basic block
Hi,
Well, yes i did try your suggestion but i keep on running into a
compilation problem.
The error is:
llvm[0]: Compiling Hello.cpp for Release build (PIC)
/home/saraswat/llvm/llvm-2.1/include/llvm/ADT/GraphTraits.h: In
instantiation of
`llvm::GraphTraits<llvm::ilist_iterator<llvm::BasicBlock> >':
Hello.cpp:59: instantiated from here
2019 Sep 26
2
[RFC] Propeller: A frame work for Post Link Optimizations
On Thu, Sep 26, 2019 at 12:39 PM Eli Friedman <efriedma at quicinc.com> wrote:
>
>
>
> From: Xinliang David Li <xinliangli at gmail.com>
> Sent: Wednesday, September 25, 2019 5:58 PM
> To: Eli Friedman <efriedma at quicinc.com>
> Cc: Sriraman Tallam <tmsriram at google.com>; llvm-dev <llvm-dev at lists.llvm.org>
> Subject: [EXT] Re: [llvm-dev]
2019 Sep 27
3
[RFC] Propeller: A frame work for Post Link Optimizations
On Thu, Sep 26, 2019 at 6:16 PM Eli Friedman <efriedma at quicinc.com> wrote:
>
> > -----Original Message-----
> > From: Sriraman Tallam <tmsriram at google.com>
> > Sent: Thursday, September 26, 2019 5:31 PM
> > To: Eli Friedman <efriedma at quicinc.com>
> > Cc: Xinliang David Li <xinliangli at gmail.com>; llvm-dev <llvm-dev at
2007 Dec 20
4
[LLVMdev] First time!
Hi!
I want to know
How to count the number of predecessors for each basic
block?
Thank You
____________________________________________________________________________________
Never miss a thing. Make Yahoo your home page.
http://www.yahoo.com/r/hs
2004 Dec 21
3
[LLVMdev] Help with code
Constant *strcon==ConstantArray::get("Value : %d\n");
Sorry Typo.
On Tue, 21 Dec 2004, Misha Brukman wrote:
> On Tue, Dec 21, 2004 at 03:45:33PM -0700, Sriraman Tallam wrote:
> > I have this call instruction to printf inserted which is causing
> > an assertion failure. Any pointers to where I am wrong :
> >
> > Function
2005 Jan 16
2
[LLVMdev] getting all def-uses
Hi,
I want to get all the d-u pairs exercised at run-time. I am doing
two things for this. I am useing the d-u iterator to instrument all uses.
I also want to get an address trace. What are the instructions I should
insttrument. Is load and store sufficient. Also, how do I go abt doing
this ?
Thanks
-Sriraman.