Displaying 10 results from an estimated 10 matches for "lbb1_7".
Did you mean:
lbb1_1
2010 Jun 13
2
[LLVMdev] Bignum development
...t;
> In other words, it just extends everything to an i128 and adds.
> There's no way to tell it that it can add a[i], b[i] and cy with a
> single adc. (Well it could if the loop iteration wasn't messing with
> the carry flag).
>
> Indeed, this compiles to:
>
>
> .LBB1_7: # %bb.i
> # Parent Loop BB1_6 Depth=1
> # => This Inner Loop Header: Depth=2
> addq (%rbx,%rsi,8), %rdi
> movl $0, %r8d
> adcq $0, %r8
>...
2010 Jun 12
0
[LLVMdev] Bignum development
...p.i, 999 ; <i1> [#uses=1]
In other words, it just extends everything to an i128 and adds.
There's no way to tell it that it can add a[i], b[i] and cy with a
single adc. (Well it could if the loop iteration wasn't messing with
the carry flag).
Indeed, this compiles to:
.LBB1_7: # %bb.i
# Parent Loop BB1_6 Depth=1
# => This Inner Loop Header: Depth=2
addq (%rbx,%rsi,8), %rdi
movl $0, %r8d
adcq $0, %r8
addq (%r14,%...
2010 Jun 13
0
[LLVMdev] Bignum development
...ends everything to an i128 and adds.
>> There's no way to tell it that it can add a[i], b[i] and cy with a
>> single adc. (Well it could if the loop iteration wasn't messing with
>> the carry flag).
>>
>> Indeed, this compiles to:
>>
>>
>> .LBB1_7: # %bb.i
>> # Parent Loop BB1_6 Depth=1
>> # => This Inner Loop Header: Depth=2
>> addq (%rbx,%rsi,8), %rdi
>> movl $0, %r8d
>>...
2010 Jun 13
2
[LLVMdev] Bignum development
...d adds.
>>> There's no way to tell it that it can add a[i], b[i] and cy with a
>>> single adc. (Well it could if the loop iteration wasn't messing with
>>> the carry flag).
>>>
>>> Indeed, this compiles to:
>>>
>>>
>>> .LBB1_7: # %bb.i
>>> # Parent Loop BB1_6 Depth=1
>>> # => This Inner Loop Header: Depth=2
>>> addq (%rbx,%rsi,8), %rdi
>>> movl $0, %r8d...
2006 Jul 09
2
[LLVMdev] Critical edges
...B1_3: ;no_exit
lis r4, 21845
ori r4, r4, 21846
mulhw r4, r2, r4
addi r5, r2, -1
li r6, -1
srwi r6, r4, 31
add r4, r4, r6
mulli r4, r4, 3
li r6, 1
subf r2, r4, r2
cmpwi cr0, r2, 0
beq cr0, LBB1_9 ;no_exit
LBB1_7: ;no_exit
mr r2, r6
LBB1_8: ;no_exit
cmpwi cr0, r5, 0
add r2, r2, r3
bgt cr0, LBB1_5 ;no_exit.no_exit_llvm_crit_edge
LBB1_9: ;no_exit
mr r2, r6
b LBB1_8 ;no_exit
LBB1_4: ;no_exit.loopexit_llvm_crit_edge
The code is this one below:
void Critic...
2010 Jun 11
3
[LLVMdev] Bignum development
On Fri, Jun 11, 2010 at 3:28 PM, Bill Hart <goodwillhart at googlemail.com> wrote:
> Hi Eli,
>
> On 11 June 2010 22:44, Eli Friedman <eli.friedman at gmail.com> wrote:
>> On Fri, Jun 11, 2010 at 10:37 AM, Bill Hart <goodwillhart at googlemail.com> wrote:
>>> a) What plans are there to support addition, subtraction,
>>> multiplication, division,
2006 Jul 09
0
[LLVMdev] Critical edges
...ori r4, r4, 21846
> mulhw r4, r2, r4
> addi r5, r2, -1
> li r6, -1
> srwi r6, r4, 31
> add r4, r4, r6
> mulli r4, r4, 3
> li r6, 1
> subf r2, r4, r2
> cmpwi cr0, r2, 0
> beq cr0, LBB1_9 ;no_exit
> LBB1_7: ;no_exit
> mr r2, r6
> LBB1_8: ;no_exit
> cmpwi cr0, r5, 0
> add r2, r2, r3
> bgt cr0, LBB1_5 ;no_exit.no_exit_llvm_crit_edge
> LBB1_9: ;no_exit
> mr r2, r6
> b LBB1_8 ;no_exit
> LBB1_4: ;no_exit.loopexit_llvm_crit_edge
&g...
2006 Jul 05
0
[LLVMdev] Critical edges
> If you don't want critical edges in the machine code CFG, you're going to
> have to write a machine code CFG critical edge splitting pass: LLVM
> doesn't currently have one.
>
> -Chris
Hey guys,
I've coded a pass to break the critical edges of the machine
control flow graph. The program works fine, but I am sure it is not
the right way of implementing it.
2010 Jun 11
4
[LLVMdev] Bignum development
Hi all,
After searching for a decent compiler backend for ages (google
sometimes isn't helpful), I recently stumbled upon LLVM. Woot!!
I work on bignum arithmetic (I'm a professional mathematician) and
have recently decided to switch from developing GPL'd bignum code to
BSD licensed code. (See http://www.mpir.org/ which I contributed to
for a while - a fork of GMP).
Please bear with
2006 Jul 04
2
[LLVMdev] Critical edges
On Tue, 4 Jul 2006, Fernando Magno Quintao Pereira wrote:
> However, it does not remove all the critical edges. I am getting a very
> weird dataflow graph (even without the Break Critical edges pass). The
> dataflow generated by MachineFunction::dump() for the program below is
> given here:
> http://compilers.cs.ucla.edu/fernando/projects/soc/images/loop_no_crit2.pdf
...
> The