I'm defining some peepholes for my machine. But I've
got some troubles :

I want to use peephole to reduce : 

ADD R4, 1
CMP R4, a    ------------------> CMPD1 R4, a - 1.

The assembly code that cc1.exe generates has two
instruction :
ADD R4, 1
CMP R4, a

But when I define peepholes to reduce it, there's
nothing change. When I look at the  rtl expression, I
see that there something beetween the instruction ADD
and CMP :

(insn 18 16 19 0x0 (set (reg/v:HI 22)
        (plus:HI (reg/v:HI 22)
            (const_int 1 [0x1]))) -1 (nil) -----> ADD 
    (nil))

(note 19 18 20 NOTE_INSN_LOOP_CONT)  -----> st that I 
                                      don't understand
(code_label 20 19 22 5 "" [0 uses])

(insn 22 20 23 0x0 (set (cc0)
        (compare (reg/v:HI 22)
            (const_int 4 [0x4]))) -1 (nil) ------> CMP
    (nil))


so does that strange expressions prevent my peepholes
from running ? 

And in my case, what do I have to do ? 

If you know why, please help me. Thank you very much.



      

Reply via email to