Displaying 5 results from an estimated 5 matches for "skipcond".
2010 Dec 15
2
[LLVMdev] Optimization passes break machine instructions on new backend
But in the first version it's used on the next row:
%reg16388<def> = CMPrr %reg16384, %reg16385, %CFR<imp-def,dead>;
IntRegs:%reg16388,16384,16385
SKIPCOND 1, *%CFR<imp-use>*
Or doesn't that count?
Following are patters for cmp and skipcond:
def cmpcc : SDNode<"CSISD::CMP", SDTIntBinOp, [SDNPOutFlag]>;
let Defs = [CFR] in {
def CMPrr : InstCS<(outs IntRegs:$dst), (ins IntRegs:$b, IntRegs:$c),
"c...
2010 Dec 15
1
[LLVMdev] Optimization passes break machine instructions on new backend
It just occured to me that perhaps what happens is that since the
cmp-instruction is initially followed by the pseudo-instruction - which
doesn't have Uses = [CFR] - that it's marked dead initially, and never
changed back when the SKIPCOND is inserted by the custom emitter? But I feel
that this would happen in e.g. MSP430 too then...
On Wed, Dec 15, 2010 at 10:14 AM, Anton Korobeynikov <
anton at korobeynikov.info> wrote:
> Hello Per,
>
> > SKIPCOND 1, %CFR<imp-use>
> > Or doesn't that count?...
2010 Dec 15
2
[LLVMdev] Optimization passes break machine instructions on new backend
...16385<def> = COPY %R1; IntRegs:%reg16385
%reg16384<def> = COPY %R0; IntRegs:%reg16384
%reg16390<def> = MOVE %reg16386; IntRegs:%reg16390,16386
%reg16388<def> = CMPrr %reg16384, %reg16385, %CFR<imp-def,dead>;
IntRegs:%reg16388,16384,16385
SKIPCOND 1, %CFR<imp-use>
Successors according to CFG: BB#2 BB#1
BB#1: derived from LLVM BB %entry
Predecessors according to CFG: BB#0
%reg16391<def> = MOVE %reg16387; IntRegs:%reg16391,16387
Successors according to CFG: BB#2
BB#2: derived from LLVM BB %entry
Predecesso...
2010 Dec 15
0
[LLVMdev] Optimization passes break machine instructions on new backend
Hello Per,
> The CMPrr instruction is moved down to after the PHI node. My guess is that
> the 'dead' in CFR<imp-def,dead> is to blame, but I can't see what I'm doing
> differently from MSP430/sparc that makes this not work. Any help GREATLY
> appreciated!
It seems like no use of CFR after CMP, indeed. How condbranches on
your platform look like (patterns, etc.)
2010 Dec 15
0
[LLVMdev] Optimization passes break machine instructions on new backend
Hello Per,
> SKIPCOND 1, %CFR<imp-use>
> Or doesn't that count?
Ah, sorry, I didn't recognize the stuff due to funky name. Let me
think on the issue more thoroughly then :)
--
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University