Displaying 20 results from an estimated 28 matches for "bb13".
Did you mean:
bb1
2013 Apr 23
2
[LLVMdev] 'loop invariant code motion' and 'Reassociate Expression'
...s (likely after 'Canonicalize natural loops'),
and group loop-invariant parts of the expression ?
Or is there another pass that I can/should enable to have this effect ?
Greetings,
Jeroen Dobbelaere
---
llvm-3.1
while.cond: ; preds = %sw.bb, %sw.bb13, %sw.bb18, %sw.bb23, %if.end, %entry
%next.0 = phi i32 [ 0, %entry ], [ %next.0, %if.end ], [ 8, %sw.bb23 ], [ 8, %sw.bb18 ], [ 8, %sw.bb13 ], [ 4, %sw.bb ]
%total.0 = phi i32 [ 0, %entry ], [ %total.1, %if.end ], [ %total.1, %sw.bb23 ], [ %total.1, %sw.bb18 ], [ %total.1, %sw.bb13 ], [ %total....
2013 Apr 23
0
[LLVMdev] 'loop invariant code motion' and 'Reassociate Expression'
...and group loop-invariant parts of the expression ?
> Or is there another pass that I can/should enable to have this effect ?
>
> Greetings,
>
> Jeroen Dobbelaere
>
> ---
>
> llvm-3.1
>
>
> while.cond: ; preds = %sw.bb, %sw.bb13, %sw.bb18, %sw.bb23, %if.end, %entry
> %next.0 = phi i32 [ 0, %entry ], [ %next.0, %if.end ], [ 8, %sw.bb23 ], [ 8, %sw.bb18 ], [ 8, %sw.bb13 ], [ 4, %sw.bb ]
> %total.0 = phi i32 [ 0, %entry ], [ %total.1, %if.end ], [ %total.1, %sw.bb23 ], [ %total.1, %sw.bb18 ], [ %total.1, %sw.bb13...
2013 Apr 25
2
[LLVMdev] 'loop invariant code motion' and 'Reassociate Expression'
...at I can/should enable to have this effect ?
> >>
> >> Greetings,
> >> Jeroen Dobbelaere
> >>
> >> ---
> >>
> >> llvm-3.1
> >>
> >>
> >> while.cond: ; preds = %sw.bb,
%sw.bb13, %sw.bb18, %sw.bb23, %if.end, %entry
> >> %next.0 = phi i32 [ 0, %entry ], [ %next.0, %if.end ], [ 8, %sw.bb23
], [ 8, %sw.bb18 ], [ 8, %sw.bb13 ], [ 4, %sw.bb ]
> >> %total.0 = phi i32 [ 0, %entry ], [ %total.1, %if.end ], [ %total.1,
%sw.bb23 ], [ %total.1, %sw.bb18 ], [ %to...
2013 Apr 25
0
[LLVMdev] 'loop invariant code motion' and 'Reassociate Expression'
...> >>
> > >> Greetings,
> > >> Jeroen Dobbelaere
> > >>
> > >> ---
> > >>
> > >> llvm-3.1
> > >>
> > >>
> > >> while.cond: ; preds = %sw.bb, %sw.bb13, %sw.bb18, %sw.bb23, %if.end, %entry
> > >> %next.0 = phi i32 [ 0, %entry ], [ %next.0, %if.end ], [ 8, %sw.bb23 ], [ 8, %sw.bb18 ], [ 8, %sw.bb13 ], [ 4, %sw.bb ]
> > >> %total.0 = phi i32 [ 0, %entry ], [ %total.1, %if.end ], [ %total.1, %sw.bb23 ], [ %total.1, %sw.bb1...
2013 Apr 25
1
[LLVMdev] 'loop invariant code motion' and 'Reassociate Expression'
...gs,
> > > >> Jeroen Dobbelaere
> > > >>
> > > >> ---
> > > >>
> > > >> llvm-3.1
> > > >>
> > > >>
> > > >> while.cond: ; preds = %sw.bb,
%sw.bb13, %sw.bb18, %sw.bb23, %if.end, %entry
> > > >> %next.0 = phi i32 [ 0, %entry ], [ %next.0, %if.end ], [ 8,
%sw.bb23 ], [ 8, %sw.bb18 ], [ 8, %sw.bb13 ], [ 4, %sw.bb ]
> > > >> %total.0 = phi i32 [ 0, %entry ], [ %total.1, %if.end ], [
%total.1, %sw.bb23 ], [ %total....
2013 Apr 25
3
[LLVMdev] 'loop invariant code motion' and 'Reassociate Expression'
...ession ?
>> Or is there another pass that I can/should enable to have this effect ?
>>
>> Greetings,
>> Jeroen Dobbelaere
>>
>> ---
>>
>> llvm-3.1
>>
>>
>> while.cond: ; preds = %sw.bb, %sw.bb13, %sw.bb18, %sw.bb23, %if.end, %entry
>> %next.0 = phi i32 [ 0, %entry ], [ %next.0, %if.end ], [ 8, %sw.bb23 ], [ 8, %sw.bb18 ], [ 8, %sw.bb13 ], [ 4, %sw.bb ]
>> %total.0 = phi i32 [ 0, %entry ], [ %total.1, %if.end ], [ %total.1, %sw.bb23 ], [ %total.1, %sw.bb18 ], [ %total.1, %sw...
2008 Dec 07
1
[LLVMdev] How to extract loop body into a new function?
False Alarm!!
Still don't know how to do it!
I am trying to write a transformation pass to extract a loop body into a function.
For example:
The Loop in question is:
for (i2 = 0; i2 < LOOP_SIZE; i2++) {
A[B[i2]] = 2 * B[i2];
}
The IR for which is:
bb13: ; preds = %bb13, %bb
%i2.0.reg2mem.0 = phi i32 [ 0, %bb ], [ %indvar.next62, %bb13 ] ; <i32> [#uses=2]
%tmp15 = getelementptr [25 x i32]* %B, i32 0, i32 %i2.0.reg2mem.0 ; <i32*> [#uses=1]
%tmp16 = load i32* %tmp15, align 4...
2013 Nov 15
2
[LLVMdev] dominator, post-dominator and memory leak
...is
possible for multiple free's to be inserted on the path from malloc to an
exit. For example, in the following CFG:
BB10 (malloc)
/ \
BB11 BB12
... / \ / \ ...
\ / \ / \ /
BB13 BB14 BB15
| ...
| /
BB16
The block BB10 dominates BB11, BB12 and BB14. The dominance frontier of
BB10 contains BB13, BB15 and BB16. So if the predecessors of the dominance
frontier contains BB11, BB12 and BB14. If a...
2012 Nov 26
2
[LLVMdev] LSR pass
...mp46 = inttoptr i16 %_tmp45 to i16*
%_tmp47 = load i16* %_tmp46, align 1
bb8: ; preds = %bb7
%_tmp52 = add i16 %_tmp41, %_tmp51
%_tmp53 = inttoptr i16 %_tmp52 to i16*
%_tmp54 = load i16* %_tmp53, align 1
...
br i1 %_tmp64, label %bb7, label %bb13.loopexit
(latch)
*** IR Dump After Loop Strength Reduction ***
bb7: ; preds = %bb7.lr.ph, %bb11
%_tmp39 = sub i16 %_tmp35, %_tmp38
%2 = mul i16 %_tmp39, -10
%3 = add i16 %_tmp44, %subframeCount.12.014
%4 = add i16 %3, %2
%_tmp46 = inttoptr i1...
2013 Nov 15
0
[LLVMdev] dominator, post-dominator and memory leak
Try breaking the critical edges (-break-crit-edges).
This way, a new block will be created between BB13 and BB11 (call this
BB11.break) and BB15 and BB12 (call this BB12.break).
The predecessors of the dominance frontier will, thus, be BB11.break,
BB12.break, and BB14.
When we enter through a block with a call to malloc(), we will end up in
one of the blocks in the dominance frontier (kind of). Thes...
2008 Dec 07
0
[LLVMdev] How to extract loop body into a new function?
Sorry!
It worked with ExtractBasicBlock()
----- Original Message -----
From: "Mrunal J Shah" <mrunal.shah at gatech.edu>
To: "llvmdev" <llvmdev at cs.uiuc.edu>
Sent: Saturday, December 6, 2008 8:30:33 PM GMT -05:00 US/Canada Eastern
Subject: [LLVMdev] How to extract loop body into a new function?
Hi All,
I am having trouble extracting loop body into a new
2007 Sep 17
0
[LLVMdev] constructing 'for' statement from LLVM bitcode
...gt;bb1: ; preds = %bb8
> %tmp4 = call i32 (...)* @norm( i32 0, i32 1 )
> %indvar.next = add i32 %i.0, 1
> br label %bb8
>
>bb8: ; preds = %bb16, %bb1
> %i.0 = phi i32 [ %indvar.next, %bb1 ], [ 0, %bb16 ]
> %tmp11 = icmp slt i32 %i.0, %n
> br i1 %tmp11, label %bb1, label %bb13
>
>bb13:
> %indvar.next1 = add i32 %sim.0, 1
> br label %bb16
>
>bb16:
> %sim.0 = phi i32 [ 0, %entry ], [ %indvar.next1, %bb13 ]
> %tmp19 = icmp slt i32 %sim.0, %pM
> br i1 %tmp19, label %bb8, label %return
>
>return:
> ret void
>}
>-----------------------...
2008 Dec 07
2
[LLVMdev] How to extract loop body into a new function?
Hi All,
I am having trouble extracting loop body into a new function. The ExtractLoop() or ExtractBasicBlock() extracts the entire loop along with the header into a new function. All I want is to extract the body of the loop into a new function(without the header).
Is this possible?
Thanks,
Mrunal
2007 Sep 19
1
[LLVMdev] constructing 'for' statement from LLVM bitcode
...w what you had suggested upto
opt -analyze -loops bsloop-opt.bc
Therefore, I could get the prints you had showed me as follows:
--------------------------------------------------------
Printing analysis 'Natural Loop Construction' for function 'bsloop':
Loop Containing: %bb16, %bb13, %bb8, %bb1
Loop Containing: %bb8, %bb1
--------------------------------------------------------
In your reply, you could re-construct the simple 'for' from the info above like this:
--------------------------------------------------------
FOR %i.0 = 0 TO %n - 1 STEP 1:
%tmp4 = ca...
2007 Aug 25
2
[LLVMdev] constructing 'for' statement from LLVM bitcode
Hello, guys.
I am trying to construct higher-level 'for' from the low-level LLVM bitcode(ver 1.9).
It's partly successful thanks to David A. Greene's advice suggested to use Control Dependence Graph(CDG).
I could find which BB contributes to form which loop with CDG.
For example, for this simple function:
-----------------------------------------------------------
void bsloop(int
2013 Nov 13
3
[LLVMdev] dominator, post-dominator and memory leak
...eak. I wonder whether there is
>> any pass that does similar analysis in order to avoid duplication of
>> efforts.
>>
>> BB10 (entry)
>> / \
>> BB11 BB12 (malloc)
>> / / \
>> BB13 / BB15
>> \ / / \
>> \ / BB18 BB19
>> \ / \ /
>> BB20 BB21 BB22
>> \ | /
>> \ | /
>>...
2013 Nov 13
0
[LLVMdev] dominator, post-dominator and memory leak
...gt;>> any pass that does similar analysis in order to avoid duplication of
>>> efforts.
>>>
>>> BB10 (entry)
>>> / \
>>> BB11 BB12 (malloc)
>>> / / \
>>> BB13 / BB15
>>> \ / / \
>>> \ / BB18 BB19
>>> \ / \ /
>>> BB20 BB21 BB22
>>> \ | /
>>> \ |...
2013 Nov 13
2
[LLVMdev] dominator, post-dominator and memory leak
...aths from BB12 to all exits
after all users of malloc to avoid memory leak. I wonder whether there is
any pass that does similar analysis in order to avoid duplication of
efforts.
BB10 (entry)
/ \
BB11 BB12 (malloc)
/ / \
BB13 / BB15
\ / / \
\ / BB18 BB19
\ / \ /
BB20 BB21 BB22
\ | /
\ | /
\ | /
\ | /
BB...
2012 Dec 01
1
[LLVMdev] LSR pass
...= load i16* %_tmp46, align 1
>
>
>
>
>
> bb8: ; preds = %bb7
>
> %_tmp52 = add i16 %_tmp41, %_tmp51
>
> %_tmp53 = inttoptr i16 %_tmp52 to i16*
>
> %_tmp54 = load i16* %_tmp53, align 1
>
>
>
> ...
>
> br i1 %_tmp64, label %bb7, label %bb13.loopexit
>
> (latch)
>
>
>
> *** IR Dump After Loop Strength Reduction ***
>
> bb7: ; preds = %bb7.lr.ph, %bb11
>
>
>
> %_tmp39 = sub i16 %_tmp35, %_tmp38
>
> %2 = mul i16 %_tmp39, -10
>
> %3 = add i16 %_tmp44, %subframeCount.12.014
>
&g...
2012 Dec 04
0
[LLVMdev] LSR pass
...= load i16* %_tmp46, align 1
>
>
>
>
>
> bb8: ; preds = %bb7
>
> %_tmp52 = add i16 %_tmp41, %_tmp51
>
> %_tmp53 = inttoptr i16 %_tmp52 to i16*
>
> %_tmp54 = load i16* %_tmp53, align 1
>
>
>
> ...
>
> br i1 %_tmp64, label %bb7, label %bb13.loopexit
>
> (latch)
>
>
>
> *** IR Dump After Loop Strength Reduction ***
>
> bb7: ; preds = %bb7.lr.ph, %bb11
>
>
>
> %_tmp39 = sub i16 %_tmp35, %_tmp38
>
> %2 = mul i16 %_tmp39, -10
>
> %3 = add i16 %_tmp44, %subframeCount.12.014
>
&g...