Displaying 3 results from an estimated 3 matches for "skipcc".
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
2
[LLVMdev] Optimization passes break machine instructions on new backend
..."cmp $c, $dst",
[(set IntRegs:$dst, (cmpcc IntRegs:$b, IntRegs:$c)),
(implicit CFR)]>;
}
let Uses = [CFR], isBranch = 1, isTerminator = 1 in
def SKIPCOND : InstCS<(outs), (ins CCOp:$cc),
"s$cc",
[(skipcc imm:$cc)]>;
On Wed, Dec 15, 2010 at 10:02 AM, Anton Korobeynikov <
anton at korobeynikov.info> wrote:
> 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...
2010 Dec 15
2
[LLVMdev] Optimization passes break machine instructions on new backend
Hello!
I'm working on a new back-end and have hit a bit of a snag. I'm working on
getting selectcc working and have followed the MSP430 model of emitting a
custom CMP and SELECT_CC node and matching that with a pseudo-instruction
that has useCustomEmitter=1. However, my output ends up very wrong, despite
the Machine code being initially correct:
# Machine code for function func:
Function