Displaying 20 results from an estimated 20000 matches similar to: "[LLVMdev] immediate predecessors"
2008 Jan 02
2
[LLVMdev] immediate predecessors
hi,
how to get the number of immediate predecessors for
each basic block (arguements of remarks statement at
the beginning of the basic block)
thank you
aditya
____________________________________________________________________________________
Never miss a thing. Make Yahoo your home page.
http://www.yahoo.com/r/hs
2007 Dec 20
0
[LLVMdev] First time!
Hi aditya,
There are two ways to cound the number of predecessors for each basic block.
You can generate the control flow graph using the CallGraphScc pass with the
granularity of basic block and can simply traverse the graph bottom up till
the root. The number of nodes encountered would be the number of
predecessors.
The second way would be to use the special ;preds marker in the llvm IR.
Each
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
2008 Jan 25
1
[LLVMdev] variable arguement intrinsics
hi
I want to use two intrinsic functions which should be
placeholders
for some instructions which should not be executed by
the backend.
So these two intrinsics should just keep the data
dependencies while i
try to
separate set of instructions(with more of data flow)
to be executed on
hardware.
One intrinsic which takes care of the data
dependencies required for
proper
execution of the
2008 Mar 17
1
[LLVMdev] Adapting created intrinsics to PowerPC backend
Hi,
I have implemented intrinsics which are placeholders
for instructions executed elsewhere (e.g. in HW).
So i have two types of intrinsics migrate_begin and
migrate_end. Now i would like to make these intrinsics
known to the PowerPC backend. Since the hardware
initialization can not be implemented by one
instruction it has to be expanded to a library call or
lowered to something the ppc
2008 Feb 20
1
[LLVMdev] Invalid intrinsic name error
Hi,
Thank You for the advice and we were able to solve
that problem by the following modifications to the
Instrinsics.td file.
But I now have an "Invalid Intrinsic name" error
This error occurs presumably because the created
intrinsic is named:
llvm.migrate_begin.i32
Intrinsics.gen checks for a string length of 18
(i.e. the length without the .i32).
Kindly help me through it.
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
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
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
2008 Feb 19
0
[LLVMdev] Problem with variable argument intrinsics
On Feb 19, 2008, at 1:11 AM, aditya vishnubhotla wrote:
> Hi,
> I tried creating variable argument intrinsics which
> are to be placeholders for some instructions which
> should not be executed by the backend.
>
> Kindly help me with the errors in my "migrate_begin"
> intrinsic creation
>
> //Additions made to Intrinsics.td file:
>
> def
2020 May 17
2
Question about the order of predecessors in LoopVectorizer with VPlanNatviePath
Hi All,
I have got one domination error after running LoopVectorizer with
VPlanNatviePath.
Let's see simple IR snippet after loop vectorization with VPlanNatviePath.
vector.body:
...
br label %for.body10.preheader67
for.body10.preheader67: ; preds =
%for.cond.cleanup972, %vector.body
%vec.phi = phi <4 x i64> [ zeroinitializer, %for.cond.cleanup972 ],
[ %8,
2012 Oct 24
2
Handling timeouts?
Hi Guys,
Thanks for Unicorn, it makes my world rock. You guy have done a wonderful job and also huge thanks to the predecessors too.
The default timeout on my Rails app is 30 seconds. The app works fine most of the time but there are some parts of the app which are slow and occasionally totter over the 30 sec response time and timeout. Is there a clean way for me to hook into timeouts and notify
2008 Sep 27
2
[LLVMdev] SwitchInstr::removeCase() doesn't remove PHINodes' predecessors
Hi,
I've been writing an optimization pass (described on the ML previously).
Sometimes this pass removes some case entries from switch instructions,
which cause an abort because removeCase() doesn't fix the PHINodes
predecessors when needed.
e.g.:
define i32 @foo() nounwind {
ifthen:
%call = call i32 @bar()
switch i32 %call, label %myphi [
i32 0, label %ifelse
i32 1, label
2008 May 07
0
[LLVMdev] Creation of Intrinsics with Pointer Return Types
Hello,
LLVM's intrinsic overloading mechanism does not currently support
overloading on pointer types. Patches to implement this would be
welcome.
Dan
On May 7, 2008, at 9:25 AM, aditya vishnubhotla wrote:
> Hi,
> I tried creating intrinsics which are to be
> placeholders for a set of instructions (actually a section of a
> basic block) to be executed elsewhere(for e.g. in
2014 Sep 23
2
[LLVMdev] On restricting predecessors of basic blocks
Hi,
I plan to implement an algorithm which requires BasicBlocks to have at
most two predecessors. simplifycfg pass is not a choice since it doesn't do
what I want, going by its description.
Could someone point me to an existing pass which does this job?
Thanks,
--
Rekha
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2017 Nov 09
2
[GlobalISel] [X86] unable to legalize instruction
Hi ,
Currently GobalIsel like FastIsel designed to use fallback to DAGIsel in case of failure.
You can use -global-isel-abort=2 option.
llc -global-isel -pass-remarks-missed="gisel-*" -global-isel-abort=2 simple_foo.ll
Regards,
Igor
From: S. Bharadwaj Yadavalli [mailto:bharadwajy at gmail.com]
Sent: Thursday, November 09, 2017 03:36
To: Aditya Nandakumar <proaditya at
2010 Jul 08
0
[LLVMdev] Why shouldn't function entry blocks have predecessors?
Hello Félix-
Consider the following snippet of IR:
define i32 @foo(i32 %n) nounwind {
entry:
br label %loop
loop:
%loop.n = phi i32 [0, %entry], [%tmp, %loop]
call void @bar() nounwind
%tmp = sub nsw i32 %loop.n, 1
%cmp = icmp eq i32 %tmp, 0
br i1 %cmp, label %exit, label %loop
exit:
ret i32 0
}
declare void @bar() nounwind
Try to merge the blocks "entry" and "loop"
2010 Jul 08
2
[LLVMdev] Why shouldn't function entry blocks have predecessors?
The title says it all. verifyFunction checks it (Verifier.cpp, line 728).
Why can't BasicBlocks that serve as a function's entry point also have predecessors? What keeps a function from looping back to its beginning?
Félix
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2010 Jul 08
1
[LLVMdev] Why shouldn't function entry blocks have predecessors?
It's past 3 AM here, so maybe I really shouldn't be answering in this state of awakeness. However, what I understand from your example is that loops with counters must be entered from another block in order to use the phi instruction correctly, not that it should be invalid to branch to the entry block.
It seems to me that it makes sense to go back to the entry point if looping is not
2012 Apr 04
0
[LLVMdev] BasicBlock predecessors list
Hi Cristianno,
> I'm trying to get a list of predecessors of a BasicBlock. I'm using a code
> similar to that on here
> <http://llvm.org/docs/ProgrammersManual.html#iterate_preds>, but it appears to
> be more nodes been iterating that it should. Now, when I print out the llvm IR,
> I get something like:
> […]
> while.body: ; preds = %7, %while.cond
> […]
>