Displaying 20 results from an estimated 80 matches for "bb0".
Did you mean:
b0
2009 Jun 09
1
Problem : solving a equation with R , fail with uniroot function
Hi ,
I would like to know if a R function have the same behaviour than the matlab
solve function.
I tried something with uniroot but I have some problems:
The equation I need to solve is :
exp(c0-r0)*(bb0+x)*(bb1-x)=(bb0+x+1)(bb1-x-1)
So I tried this:
STEP 1: my function test
test <- function(x,bb0=-3,bb1=5,c0=2,r0=0) {
+ ((exp(c0-r0)*(bb0+x)*(bb1-x))/((bb0+x+1)(bb1-x-1))-1)}
STEP 2:
> uniroot(test,c(-100,100))$root*
Erreur dans f(lower, ...) :
tentative d'appliquer un objet qui n...
2008 Jul 12
3
[LLVMdev] Little bug in LoopInfo after Rotate?
...; <i1> [#uses=1]
br i1 %exitcond10, label %bb6, label %bb1
bb6: ; preds = %bb3
ret i32 0
}
LoopInfo says: Loop Containing: %bb1, %bb3. Only detects the outer loop
By the way, if I separate the header of the outer loop, like:
define i32 @f() nounwind {
entry:
br label %bb0
bb0: ; preds = %entry, %bb3
%i.0.reg2mem.0.ph = phi i32 [ 0, %entry ], [ %indvar.next9, %bb3 ]
; <i32> [#uses=4]
br label %bb1
bb1: ; preds = %bb1, %bb0
%j.0.reg2mem.0 = phi i32 [ 0, %bb0 ], [ %indvar.next, %bb1 ] ;
<i32> [#uses=3]
%indvar.next...
2012 Jul 25
2
[LLVMdev] Question about an unusual jump instruction
...an optimization pass to make countable loops faster by
using this instruction.
The simplest loop that I would like to optimize is like:
//////////////////////////
int i = a;
do {
// loop body
--i;
} while (i != 0);
//////////////////////////
After code selection I've something like:
BB0:
%vreg0<def> = COPY %R0; // R0 contains 'a'
J <#BB1>
BB1:
%vreg1<def> = PHI %vreg0, <#BB0>, %vreg3, <#BB3>
J <#BB2>
BB2:
// loop body
BB3:
%vreg3<def> = ADDI %vreg1<kill>, 1
CMPNE %vreg3, 0, %SR<implicit,def>
JNZ...
2011 Feb 11
1
[LLVMdev] preserving an implicit def between basic blocks
Hi,
I have the following problem:
In BB0 there is an instruction that defines a flag (implicit def) and in BB1
there is one that reads the flag (implicit use). When i run llc with -O3,
the instruction in BB0 that defines the flag is removed. How can i prevent
this? BB0 and BB1 are consecutive basic blocks.
Thanks,
Alex
-------------- nex...
2012 Jul 25
0
[LLVMdev] Question about an unusual jump instruction
...truction.
>
> The simplest loop that I would like to optimize is like:
>
> //////////////////////////
> int i = a;
> do {
> // loop body
> --i;
> } while (i != 0);
> //////////////////////////
>
>
> After code selection I've something like:
>
> BB0:
> %vreg0<def> = COPY %R0; // R0 contains 'a'
> J <#BB1>
> BB1:
> %vreg1<def> = PHI %vreg0, <#BB0>, %vreg3, <#BB3>
> J <#BB2>
> BB2:
> // loop body
> BB3:
> %vreg3<def> = ADDI %vreg1<kill>, 1
>...
2017 Feb 06
2
Adding Extended-SSA to LLVM
On Sun, Feb 5, 2017 at 3:41 PM, Nuno Lopes <nunoplopes at sapo.pt> wrote:
> Thanks for the answers! The plan makes sense to me.
>
> Regarding phis, what about diamonds, e.g.:
>
>
> define i32 @f(i32 %x) {
> br .., label %bb0, label %bb1
> bb0:
> %cmp = icmp sge i32 %x, 0 ; x > 0
> br i1 %cmp, label %bb2, label %bb3
> bb1:
> %x2 = add nsw nuw %x, 1
> %cmp2 = icmp sge i32 %x2, 2 ; x+1 > 2 / x > 1
> br i1 %cmp2, label %bb2, label %bb3
> bb2:
> %x3 = phi i32 [ %x, %bb0 ]...
2005 Jun 08
2
policy or rules
...sh: SHA1
Dear all,
I''m a bit confused on the rules and would like your help.
I''ve 4 NIC,
eth0 --> WAN (net)
eth1 --> OSPF1 (bb1)
eth2 --> OSPF2 (bb2)
I would like to enable all the icmp function (ping and traceroute)
Wonder what effect will the following policy make.
bb0 all ACCEPT info
bb1 all ACCEPT info
net all ACCEPT info
all bb0 ACCEPT info
all bb1 ACCEPT info
all net ACCEPT...
2015 Jan 14
2
[LLVMdev] Bug in InsertElement constant propagation?
Hi,
When I run opt on the following LLVM IR:
define i32 @foo() {
bb0:
%0 = bitcast i32 2139171423 to float
%1 = insertelement <1 x float> undef, float %0, i32 0
%2 = extractelement <1 x float> %1, i32 0
%3 = bitcast float %2 to i32
ret i32 %3
}
->
It generates:
define i32 @foo() {
bb0:
ret i32 2143365727
}
While tracking the value I see t...
2019 Jan 20
2
Basic Blocks of a Function called inside Loop
Hello,
I have written pass to know basic blocks inside loops..
But for eg a function is called inside loop then all its basic block are
also considered part of the loop...
I am unable to detect that...
How to do so?
BB0.....if BB0 is part of Func0 and Func0 is called inside loop (L1) with
10 iterations then BB0 will be executed 10 times...
How to detect in LLVM pass that BB0 is inside loop L1?
Please help..
Regards
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.l...
2002 Nov 28
1
[LLVMdev] lli unreliable?
...--------------
%FILE = type { [16 x long] }
%__FILE = type { [16 x long] }
%struct.__FILE = type { [16 x long] }
%.LC0 = internal global [31 x sbyte] c"The value in the heap is \22%d\22\0A\00" ; <[31 x sbyte]*> [#uses=1]
implementation ; Functions:
internal void %__main() {
bb0: ; No predecessors!
ret void
}
declare int %printf(sbyte*, ...)
internal sbyte* %Create() {
bb0: ; No predecessors!
%reg2131 = alloca sbyte, uint 4 ; <sbyte*> [#uses=1]
ret sbyte* %reg2131
}
internal int %Function() {
bb0: ; No predecessors!
%reg214 = call sbyte* %Create( ) ; <...
2011 Nov 10
3
[LLVMdev] Alternate instruction sequences
...struction I1 is an alternative
> for instruction I2 --- in LLVM IR.
Could there be any interest in this functionality? Do you think bending
the meaning of existing constructs like
select i1 undef, <ty> <val0>, <ty> <val1>
(for instructions) or
switch i1 undef, label <bb0>, i1 1, label <bb1>
(for basic blocks) could be feasible/acceptable?
2018 May 25
0
LLVM Pass To Remove Dead Code In A Basic Block
...simpler to me.
I’m not sure whether you can have non-entry blocks with no predecessors in LLVM (need to look up the langref about that) but I can imagine it’s a fairly useful construct to support. e.g. something like (pseudo-IR):
.entry:
<this is the entry block>
<…>
br .exit
.bb0:
<this is by definition unreachable>
<…>
br .exit
.exit:
ret
This structure makes it easier for dead code elimination to determine that .bb0 is unreachable from .entry and can elide it safely. From your front-end, you can have a single ‘.exit’ block in a function and let the o...
2017 Feb 05
3
Adding Extended-SSA to LLVM
...> Any plans to support this? (i.e., is the current algorithm "easily"
> upgradable to support this scenario?)
>
It is easy to do, but it is ... messy, IMHO.
Note that such a thing is generally a mess.
Here is the degenerate case:
As an example:
define i32 @f1(i32 %x) {
bb0:
%cmp = icmp eq i32 %x, 0
br i1 %cmp, label %bb2, label %bb1
bb1:
br label %bb2
bb2:
%cond = phi i32 [ %x, %bb0 ], [ %x, %bb1 ]
%foo = add i32 %cond, %x
ret i32 %foo
}
the critical edge from bb0 to bb2 causes us to have no place to place
predicateinfo in the current algorithm...
2012 Jul 25
1
[LLVMdev] Question about an unusual jump instruction
...e to optimize is like:
>>
>> //////////////////////////
>> int i = a;
>> do {
>> // loop body
>> --i;
>> } while (i != 0);
>> //////////////////////////
>>
>>
>> After code selection I've something like:
>>
>> BB0:
>> %vreg0<def> = COPY %R0; // R0 contains 'a'
>> J <#BB1>
>> BB1:
>> %vreg1<def> = PHI %vreg0, <#BB0>, %vreg3, <#BB3>
>> J <#BB2>
>> BB2:
>> // loop body
>> BB3:
>> %vreg3<d...
2015 Feb 25
4
[LLVMdev] Jump Theading/GVN bug - moving discussion to llvm-dev
...is: If unreachable definitions dominate nothing, how are
> unreachable uses always dominated by their unreachable defs?
I think the comment is just just missing an "otherwise" at the start.
If we were to define dominance rules as you suggest, we would still accept
define void @f() {
bb0:
ret void
bb1:
%a = getelementptr inbounds i8* %b, i64 1
ret void
bb2:
%b = getelementptr inbounds i8* %a, i64 1
ret void
}
Since bb1 dominates bb2 and bb2 dominates bb1, no?
It looks like a case where we would just be getting a bigger rug to
swipe dirt under. I think the definition we...
2011 Nov 21
1
[LLVMdev] Fwd: Order of Basic Blocks
...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, where the block follow this path:
BB0->BB1 (T), BB8 (F)
BB1-> BB2 (T), BB3 (F)
BB2-> BB4
BB3-> BB5
BB4-> BB6
BB5-> BB8 (T), BB5 (F)
BB6-> BB7 (T), BB4 (F)
BB7-> BB8 (T), BB4 (F)
BB8 (end)
So, this is the basic block flow graph. When I iterate using the
ReversePostOrderTraversal iterator, the basic blocks vistie...
2019 Feb 25
3
getelementptr inbounds with offset 0
Hi Bruce,
On 25.02.19 13:10, Bruce Hoult wrote:
> LLVM has no idea whether the address computed by GEP is actually
> within a legal object. The "inbounds" keyword is just you, the
> programmer, promising LLVM that you know it's ok and that you don't
> care what happens if it is actually out of bounds.
>
>
2018 May 25
1
LLVM Pass To Remove Dead Code In A Basic Block
...ction's exit block. Then function can generate
return instruction by using local return variable or just ret void.
entry:
<this is the entry block>
<alloc local return variable>
<…>
<store return value into local return variable, if returns a value>
br .exit
.bb0:
<this is by definition unreachable>
<…>
<store return value into local return variables, if returns a value>
br .exit
.exit:
ret <local return value> OR ret void.
But this approach still does not resolve the issue I had. Front-end still
can create multiple &quo...
2020 Jul 09
3
question on analyzeBranch and getFallThrough
I am working on a back end for an architecture whose jump via table instruction
includes the range check. If the index is out of range, the jump table
instruction just falls through. I implemented a pass to remove the range check
generated before the jump table instruction because it is superfluous.
This causes as assertion in MachineBlockPlacement.cpp:
2018 May 24
2
LLVM Pass To Remove Dead Code In A Basic Block
Hi Dean,
Thanks for your reply.
That's exactly what I am doing, but I was looking for a default
optimization or pass implementation if there was.
I used BasicBlock::splitBasicBlock() but it puts "br" end of original basic
block. I tried to delete the br instruction by using eraseFromParent() but
it didn't work.
I had to rewrite my own splitBasicBlock() by modifying the