Displaying 7 results from an estimated 7 matches for "isonlyreachablebyfallthrough".
2010 Feb 08
0
[LLVMdev] How to check for "SPARC code generation" in MachineBasicBlock.cpp?
...%L3<def> = ANDrr %L3<kill>, %L5<kill>
> %L3<def,dead> = SUBCCri %L3<kill>, 0, %ICC<imp-def>
> BCOND <BB#8>, 9, %ICC<imp-use,kill>
> NOP
> BA <BB#68>
> NOP
>
> which leads MachineBasicBlock::isOnlyReachableByFallthrough() to
> return TRUE for BB#8, since the final NOP is not a 'barrier
> instruction', and so the label is skipped.
Yep, that sounds like the problem.
> So I guess the question I have is, are MBBs like BB#7 above legal,
Funny question :). When I was working on the sparc backend...
2010 Feb 08
2
[LLVMdev] How to check for "SPARC code generation" in MachineBasicBlock.cpp?
...i %L5<kill>, 1
%L3<def> = ANDrr %L3<kill>, %L5<kill>
%L3<def,dead> = SUBCCri %L3<kill>, 0, %ICC<imp-def>
BCOND <BB#8>, 9, %ICC<imp-use,kill>
NOP
BA <BB#68>
NOP
which leads MachineBasicBlock::isOnlyReachableByFallthrough() to return TRUE for BB#8, since the final NOP is not a 'barrier instruction', and so the label is skipped. Assuming I've got this right so far, I'd expect this to be affecting MIPS as well as SPARC.
So I guess the question I have is, are MBBs like BB#7 above legal, and if so woul...
2010 Feb 09
3
[LLVMdev] How to check for "SPARC code generation" in MachineBasicBlock.cpp?
...L3<kill>, %L5<kill>
>> %L3<def,dead> = SUBCCri %L3<kill>, 0, %ICC<imp-def>
>> BCOND <BB#8>, 9, %ICC<imp-use,kill>
>> NOP
>> BA <BB#68>
>> NOP
>>
>> which leads MachineBasicBlock::isOnlyReachableByFallthrough() to return TRUE for BB#8, since the final NOP is not a 'barrier instruction', and so the label is skipped.
>
> Yep, that sounds like the problem.
>
>> So I guess the question I have is, are MBBs like BB#7 above legal,
>
> Funny question :). When I was working on th...
2009 Dec 11
2
[LLVMdev] How to check for "SPARC code generation" in MachineBasicBlock.cpp?
Hi, Chris
> That is target independent code, so you should not put sparc specific changes there. It sounds like one of the sparc-specific target hooks is wrong.
Since sparc does not provide any hooks for operation of branches (e.g.
AnalyzeBranch and friends) it might be possible that generic codegen
code is broken in absence of these hooks.
--
With best regards, Anton Korobeynikov
Faculty
2010 Feb 14
0
[LLVMdev] sparc status llvm 2.7?
...>
>>> %L3<def,dead> = SUBCCri %L3<kill>, 0, %ICC<imp-def>
>>> BCOND <BB#8>, 9, %ICC<imp-use,kill>
>>> NOP
>>> BA <BB#68>
>>> NOP
>>>
>>> which leads MachineBasicBlock::isOnlyReachableByFallthrough() to return TRUE for BB#8, since the final NOP is not a 'barrier instruction', and so the label is skipped.
>>>
>> Yep, that sounds like the problem.
>>
>>
>>> So I guess the question I have is, are MBBs like BB#7 above legal,
>>>...
2009 Dec 10
2
[LLVMdev] How to check for "SPARC code generation" in MachineBasicBlock.cpp?
...lete and seemingly working build of
LLVM-GCC (trunk) for SPARC (32-bit only, for now).
The only remaining problem is the code generation for one single
file (namely cp-demangle.c) where some labels are not put into
the assembler/object file due to some (until now) unknown
inconsistencies with 'isOnlyReachableByFallthrough' and
(most likely) the SPARC code generator.
For now, I'm looking for a way to determine within that function
if LLVM is supposed to generate code for SPARC and then
implement the logic that's needed.
Any 'quick' suggestions?
Regards,
Juergen
--
Sun Microsystems GmbH Ju...
2009 Dec 10
0
[LLVMdev] How to check for "SPARC code generation" in MachineBasicBlock.cpp?
...ld of
> LLVM-GCC (trunk) for SPARC (32-bit only, for now).
>
> The only remaining problem is the code generation for one single
> file (namely cp-demangle.c) where some labels are not put into
> the assembler/object file due to some (until now) unknown
> inconsistencies with 'isOnlyReachableByFallthrough' and
> (most likely) the SPARC code generator.
>
> For now, I'm looking for a way to determine within that function
> if LLVM is supposed to generate code for SPARC and then
> implement the logic that's needed.
That is target independent code, so you should not put spar...