Displaying 9 results from an estimated 9 matches for "j2_jumpt".
Did you mean:
j2_jump
2017 Jul 27
2
Tail merging "undef" with a defined register: wrong code
The comment in test/CodeGen/X86/branchfolding-undef.mir states that such
merging is legal, however doing so can actually generate wrong code:
Consider this (valid code):
---
name: fred
tracksRegLiveness: true
body: |
bb.0:
successors: %bb.1, %bb.2
J2_jumpt undef %p0, %bb.2, implicit-def %pc
J2_jump %bb.1, implicit-def %pc
bb.1:
successors: %bb.3
%r0 = L2_loadruh_io undef %r0, 0
PS_storerhabs 0, killed %r0
J2_jump %bb.3, implicit-def %pc
bb.2:
successors: %bb.3
PS_storerhabs 0, undef %r0
J2_j...
2017 Jul 28
2
Tail merging "undef" with a defined register: wrong code
I've looked into that and it's not going to be simple, unfortunately.
Here's the original example again:
---
name: fred
tracksRegLiveness: true
body: |
bb.0:
successors: %bb.1, %bb.2
J2_jumpt undef %p0, %bb.2, implicit-def %pc
J2_jump %bb.1, implicit-def %pc
bb.1:
successors: %bb.3
%r0 = L2_loadruh_io undef %r0, 0
PS_storerhabs 0, killed %r0
J2_jump %bb.3, implicit-def %pc
bb.2:
successors: %bb.3
PS_storerhabs 0, undef %r0
J2_j...
2017 Jul 27
2
Tail merging "undef" with a defined register: wrong code
...tes that such merging is legal, however doing so can actually generate wrong code:
>>
>> Consider this (valid code):
>>
>> ---
>> name: fred
>> tracksRegLiveness: true
>>
>> body: |
>> bb.0:
>> successors: %bb.1, %bb.2
>> J2_jumpt undef %p0, %bb.2, implicit-def %pc
>> J2_jump %bb.1, implicit-def %pc
>>
>> bb.1:
>> successors: %bb.3
>> %r0 = L2_loadruh_io undef %r0, 0
>> PS_storerhabs 0, killed %r0
>> J2_jump %bb.3, implicit-def %pc
>>
>> bb...
2017 Jul 28
2
Tail merging "undef" with a defined register: wrong code
...ve looked into that and it's not going to be simple, unfortunately.
>>
>> Here's the original example again:
>>
>> ---
>> name: fred
>> tracksRegLiveness: true
>>
>> body: |
>> bb.0:
>> successors: %bb.1, %bb.2
>> J2_jumpt undef %p0, %bb.2, implicit-def %pc
>> J2_jump %bb.1, implicit-def %pc
>>
>> bb.1:
>> successors: %bb.3
>> %r0 = L2_loadruh_io undef %r0, 0
>> PS_storerhabs 0, killed %r0
>> J2_jump %bb.3, implicit-def %pc
>>
>> bb...
2017 Oct 31
2
Reaching definitions on Machine IR post register allocation
...ined in BB#1. Both definitions can reach the use of R0 in BB#2:
>
>
> ***
> Before Hexagon RDF optimizations
> # Machine code for function fred: IsSSA, NoPHIs, TracksLiveness, NoVRegs
>
> BB#0:
> Live Ins: %P0
> %R0<def> = IMPLICIT_DEF
> J2_jumpt %P0, <BB#2>, %PC<imp-def> ; Conditional branch to BB#2
> Successors according to CFG: BB#1 BB#2
>
> BB#1:
> Predecessors according to CFG: BB#0
> %R0<def> = IMPLICIT_DEF
> Successors according to CFG: BB#2
>
> BB#2:
> Live...
2017 Sep 12
6
Reaching definitions on Machine IR post register allocation
Hi Venu,
> On Sep 11, 2017, at 11:00 PM, Raghavan, Venugopal via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Hi Krzysztof,
>
> Thanks for your reply.
>
> I agree that adding extra register units for x86 would be the right way to fix this. Do you know if there is a plan to fix this?
No concrete plan, no. We've been thinking about for quite some time now, but
2017 Nov 01
2
Reaching definitions on Machine IR post register allocation
...n BB#1. Both definitions can reach the use of R0 in BB#2:
>
>
> ***
> Before Hexagon RDF optimizations
> # Machine code for function fred: IsSSA, NoPHIs, TracksLiveness,
> NoVRegs
>
> BB#0:
> Live Ins: %P0
> %R0<def> = IMPLICIT_DEF
> J2_jumpt %P0, <BB#2>, %PC<imp-def> ; Conditional branch to
> BB#2
> Successors according to CFG: BB#1 BB#2
>
> BB#1:
> Predecessors according to CFG: BB#0
> %R0<def> = IMPLICIT_DEF
> Successors according to CFG: BB#2
>
> BB#2:
> ...
2017 Nov 13
2
Reaching definitions on Machine IR post register allocation
...> ***
> Before Hexagon RDF optimizations
> # Machine code for function fred: IsSSA, NoPHIs, TracksLiveness,
> NoVRegs
>
> BB#0:
> Live Ins: %P0
> %R0<def> = IMPLICIT_DEF
> J2_jumpt %P0, <BB#2>, %PC<imp-def> ; Conditional
> branch to
> BB#2
> Successors according to CFG: BB#1 BB#2
>
> BB#1:
> Predecessors according to CFG: BB#0
> %R0<def> = IMPLICIT_DEF
>...
2017 Nov 24
2
Reaching definitions on Machine IR post register allocation
...izations
>>> # Machine code for function fred: IsSSA, NoPHIs, TracksLiveness,
>>> NoVRegs
>>>
>>> BB#0:
>>> Live Ins: %P0
>>> %R0<def> = IMPLICIT_DEF
>>> J2_jumpt %P0, <BB#2>, %PC<imp-def> ; Conditional
>>> branch to
>>> BB#2
>>> Successors according to CFG: BB#1 BB#2
>>>
>>> BB#1:
>>> Predecessors according to CFG: BB#0
>>>...