This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: vax optimization breakage?


On Sun, Jul 23, 2000 at 04:14:52PM -0600, Jeffrey A Law wrote:

> I think the return insn was inserted into the wrong place.  It really
> shouldn't have been inserted inside the loop notes, but instead should
> have been placed after the LOOP_END note.
> 
> 
> What do the .rtl and .jump rtl dumps look like?

attached.

;; Function func

(note 2 0 3 NOTE_INSN_DELETED -1347440721)

(note 3 2 6 NOTE_INSN_FUNCTION_BEG -1347440721)

(note 6 3 9 0x4027d580 NOTE_INSN_BLOCK_BEG -1347440721)

(insn 9 6 11 (set (mem/f:SI (symbol_ref:SI ("cnt")) 4)
        (const_int 0 [0x0])) -1 (nil)
    (nil))

(insn 11 9 12 (set (reg/v:SI 21)
        (const_int 0 [0x0])) -1 (nil)
    (nil))

(note 12 11 30 NOTE_INSN_LOOP_BEG -1347440721)

(jump_insn 30 12 31 (set (pc)
        (label_ref 13)) -1 (nil)
    (nil))

(barrier 31 30 29)

(code_label 29 31 18 6 "" "" [0 uses])

(code_label 18 29 22 5 "" "" [0 uses])

(insn 22 18 23 (set (reg:SI 22)
        (mem/f:SI (symbol_ref:SI ("cnt")) 4)) -1 (nil)
    (nil))

(insn 23 22 26 (set (mem/f:SI (symbol_ref:SI ("cnt")) 4)
        (plus:SI (reg:SI 22)
            (const_int 1 [0x1]))) -1 (nil)
    (nil))

(note 26 23 27 NOTE_INSN_LOOP_CONT -1347440721)

(code_label 27 26 28 4 "" "" [0 uses])

(insn 28 27 13 (set (reg/v:SI 21)
        (plus:SI (reg/v:SI 21)
            (const_int 1 [0x1]))) -1 (nil)
    (nil))

(code_label 13 28 14 2 "" "" [0 uses])

(insn 14 13 15 (set (cc0)
        (compare (reg/v:SI 21)
            (const_int 4 [0x4]))) -1 (nil)
    (nil))

(jump_insn 15 14 16 (set (pc)
        (if_then_else (le (cc0)
                (const_int 0 [0x0]))
            (label_ref 18)
            (pc))) -1 (nil)
    (nil))

(jump_insn 16 15 17 (set (pc)
        (label_ref 35)) -1 (nil)
    (nil))

(barrier 17 16 32)

(jump_insn 32 17 33 (set (pc)
        (label_ref 29)) -1 (nil)
    (nil))

(barrier 33 32 34)

(note 34 33 35 NOTE_INSN_LOOP_END -1347440721)

(code_label 35 34 37 3 "" "" [0 uses])

(note 37 35 38 0x4027d580 NOTE_INSN_BLOCK_END -1347440721)

(note 38 37 40 NOTE_INSN_FUNCTION_END -1347440721)

(jump_insn 40 38 41 (return) -1 (nil)
    (nil))

(barrier 41 40 0)

;; Function func

(note 2 0 3 NOTE_INSN_DELETED -1347440721)

(note 3 2 6 NOTE_INSN_FUNCTION_BEG -1347440721)

(note 6 3 42 0x4027d580 NOTE_INSN_BLOCK_BEG -1347440721)

(note 42 6 9 [bb 0] NOTE_INSN_BASIC_BLOCK -1347440721)

(insn 9 42 11 (set (mem/f:SI (symbol_ref:SI ("cnt")) 4)
        (const_int 0 [0x0])) -1 (nil)
    (nil))

(insn 11 9 46 (set (reg/v:SI 21)
        (const_int 0 [0x0])) -1 (nil)
    (nil))

(insn 46 11 47 (set (cc0)
        (compare (reg/v:SI 21)
            (const_int 4 [0x4]))) -1 (nil)
    (nil))

(jump_insn 47 46 51 (set (pc)
        (if_then_else (le (cc0)
                (const_int 0 [0x0]))
            (label_ref 18)
            (pc))) -1 (nil)
    (nil))

(note 51 47 48 [bb 1] NOTE_INSN_BASIC_BLOCK -1347440721)

(jump_insn 48 51 49 (return) -1 (nil)
    (nil))

(barrier 49 48 12)

(note 12 49 18 NOTE_INSN_LOOP_BEG -1347440721)

(code_label 18 12 43 5 "" "" [2 uses])

(note 43 18 22 [bb 2] NOTE_INSN_BASIC_BLOCK -1347440721)

(insn 22 43 23 (set (reg:SI 22)
        (mem/f:SI (symbol_ref:SI ("cnt")) 4)) -1 (nil)
    (nil))

(insn 23 22 26 (set (mem/f:SI (symbol_ref:SI ("cnt")) 4)
        (plus:SI (reg:SI 22)
            (const_int 1 [0x1]))) -1 (nil)
    (nil))

(note 26 23 28 NOTE_INSN_LOOP_CONT -1347440721)

(insn 28 26 50 (set (reg/v:SI 21)
        (plus:SI (reg/v:SI 21)
            (const_int 1 [0x1]))) -1 (nil)
    (nil))

(note 50 28 14 NOTE_INSN_LOOP_VTOP -1347440721)

(insn 14 50 15 (set (cc0)
        (compare (reg/v:SI 21)
            (const_int 4 [0x4]))) -1 (nil)
    (nil))

(jump_insn 15 14 45 (set (pc)
        (if_then_else (le (cc0)
                (const_int 0 [0x0]))
            (label_ref 18)
            (pc))) -1 (nil)
    (nil))

(note 45 15 16 [bb 3] NOTE_INSN_BASIC_BLOCK -1347440721)

(jump_insn 16 45 17 (return) 141 {return} (nil)
    (nil))

(barrier 17 16 34)

(note 34 17 37 NOTE_INSN_LOOP_END -1347440721)

(note 37 34 0 0x4027d580 NOTE_INSN_BLOCK_END -1347440721)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]