Displaying 20 results from an estimated 30000 matches similar to: "[LLVMdev] reducing indentation"
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) {
2012 Dec 17
0
[LLVMdev] BasicBlock back()
On 12/17/12 10:34 AM, Alexandru Ionut Diaconescu wrote:
> Hello,
>
> I am a beginner of LLVM. I am trying to move among the instructions of
> a BasicBlock and I cannot. In this particular example, I try to get
> the previous instruction of the end instruction. I am trying 2 methods:
>
>
>
> 1. I have the following sequence of code:
>
> bool
2012 Dec 18
1
[LLVMdev] BasicBlock back()
PS:
I works when I use Instruction* prev = current->getPrevNode();
But then I have runtime error Stack dump that is very frequent...
On Mon, Dec 17, 2012 at 6:20 PM, John Criswell <criswell at illinois.edu>wrote:
> On 12/17/12 10:34 AM, Alexandru Ionut Diaconescu wrote:
>
> Hello,
>
> I am a beginner of LLVM. I am trying to move among the instructions of a
>
2011 Dec 02
5
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On 11/23/2011 05:52 PM, Hal Finkel wrote:
> On Mon, 2011-11-21 at 21:22 -0600, Hal Finkel wrote:
>> > On Mon, 2011-11-21 at 11:55 -0600, Hal Finkel wrote:
>>> > > Tobias,
>>> > >
>>> > > I've attached an updated patch. It contains a few bug fixes and many
>>> > > (refactoring and coding-convention) changes inspired
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
2015 Apr 01
2
[LLVMdev] Why the fault?
for (BasicBlock::reverse_iterator I = BB.rbegin(), E = BB.rend(); I != E; ) {
Instruction& inst = *I;
++I; <-- iterator should be advanced to the previous instruction
// Happens to be an Instruction::SExt.
// Works fine if I iterate forwards
if (isInstructionTriviallyDead(&inst, TLI))
inst.eraseFromParent();
}
Sorry for the inexperienced question, but
2009 Sep 27
5
[LLVMdev] A basicblock iterator bug in llvm
Dear developers:
When I am doing basicblock pass, I meet a bug: there is an
iterator "I" in a basicblock, and it is not pointing to the first
instruction in this basicblock. However, "I--;" will fail by an
assertion.
The basic block ("I" is pointing to the second instruction) in test.ll:
bb: ; preds = %bb1
%1 = call i32 (i8*, ...)* @printf(i8* noalias
2012 Feb 08
2
[LLVMdev] BackedgeTakenCount calculation for fortran loops and DragonEgg gfortran-4.6
Attached
2012/2/8 Marcello Maggioni <hayarms at gmail.com>:
> Mmm, sorry, the patch I posted crashes if ExitBr is null (which it may
> be ...) , this one should be ok (and passess all the ScalarEvolution
> tests in LLVM):
>
> diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp
> index daf7742..b10fab2 100644
> ---
2009 Sep 27
0
[LLVMdev] A basicblock iterator bug in llvm
On 27 Sep., 05:45, hc2... at columbia.edu wrote:
> Dear developers:
> When I am doing basicblock pass, I meet a bug: there is an
> iterator "I" in a basicblock, and it is not pointing to the first
> instruction in this basicblock. However, "I--;" will fail by an
> assertion.
Hi hc!
are you on SVN trunk?
Cheers,
Gabor
>
> The basic block
2012 Feb 08
2
[LLVMdev] BackedgeTakenCount calculation for fortran loops and DragonEgg gfortran-4.6
Well, it wasn't intended as a "real" patch to be included , but more
as a "proof of concept" for a solution. Do you think it is a valid
solution and I'm correct in my assumption? If so then I'll clean up
the patch and attach a testcase for inclusion.
Thanks!
Marcello
2012/2/9 Nick Lewycky <nlewycky at google.com>:
> Your patch should include a testcase,
2012 Aug 25
2
[LLVMdev] How to Check whether BasicBlock resides in a conditional branch
2012/8/25 Iaroslav Markov <ymarkov at cs.stonybrook.edu>:
> Can't you do it by performing some analysis on CFG? You can traverse that structure with BFS. And after that for all the BB you have visited more than once, you try to find a parent that has a branch instruction as a terminator. Additionally you ensure that there are no BB with branches as terminators on your way. If such
2009 Sep 27
0
[LLVMdev] A basicblock iterator bug in llvm
AAAH!
I see you are still at 2.5. Then this patch (the fix)
is relevant for you:
<http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/
ilist.h?r1=66061&r2=68785&diff_format=h>
Cheers,
Gabor
On 27 Sep., 05:45, hc2... at columbia.edu wrote:
> Dear developers:
> When I am doing basicblock pass, I meet a bug: there is an
> iterator "I" in
2012 Feb 08
0
[LLVMdev] BackedgeTakenCount calculation for fortran loops and DragonEgg gfortran-4.6
Your patch should include a testcase, see test/Analysis/ScalarEvolution for
examples. "BranchInst* " should be "BranchInst *". You should have spaces
after the // in your comments. One of the comment lines isn't indented
properly.
Nick
On 8 February 2012 12:05, Marcello Maggioni <hayarms at gmail.com> wrote:
> Attached
>
> 2012/2/8 Marcello Maggioni
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
2012 Aug 25
0
[LLVMdev] How to Check whether BasicBlock resides in a conditional branch
Can't you do it by performing some analysis on CFG? You can traverse that structure with BFS. And after that for all the BB you have visited more than once, you try to find a parent that has a branch instruction as a terminator. Additionally you ensure that there are no BB with branches as terminators on your way. If such parent exist, you mark that there is exist a direct connection between
2012 Feb 09
2
[LLVMdev] BackedgeTakenCount calculation for fortran loops and DragonEgg gfortran-4.6
This is the .ll for that graph (attached). I think I understand what
you are saying.
This particular testcase returns CNC not because the exit block
doesn't have a unique predecessor, but because the unique predecessor
(the inner loop block) has a successor that is inside the loop (in
this case itself, because it's the inner loop block).
That doesn't change, anyway, the assuption that
2012 Dec 17
4
[LLVMdev] BasicBlock back()
Hello,
I am a beginner of LLVM. I am trying to move among the instructions of a
BasicBlock and I cannot. In this particular example, I try to get the
previous instruction of the end instruction. I am trying 2 methods:
1. I have the following sequence of code:
bool patternDC::runOnBasicBlock(BasicBlock &BB) {
...
if (BB.getTerminator())
{
Instruction* current =
2012 Dec 19
3
[LLVMdev] LLVM segmentation fault / need use Instruction instead of Instruction*
Hello everyone,
I have a segmentation fault while running an LLVM pass. I need to use
BBterminators array outside the iterating "for" loop for basic blocks. It
seems that LLVM does not protect the addresses ( note: TerminatorInst
*BasicBlock::getTerminator() ) when iterating through the loop, so I need
to keep in BBterminators "Instruction" type elements, not
2011 Oct 06
1
[LLVMdev] replacing a global variable by a constant
I would delete the Loop. I used the following code.
cout << "begin to delete loop" << endl;
for (Loop::block_iterator bi = L->block_begin(), bi2; bi !=
L->block_end(); bi = bi2) {
bi2 = bi;
bi2++;
BasicBlock * BB = *bi;
for (BasicBlock::iterator ii = BB->begin(), ii2; ii != BB->end();
ii= ii2) {
ii2 = ii;
2013 Mar 06
1
[LLVMdev] LLVM load instruction query
Duncan Sands <baldrick <at> free.fr> writes:
>
> Hi Anshul,
>
> > I am creating a pass that will pass loaded value by load instruction to an
> > external function.
> > I don't know how to do it.Please Help.
>
> your question is too vague for anyone to be able to help you. Add details,
> for example provide the code for your pass.
>
>