This is the mail archive of the gcc-bugs@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]
Other format: [Raw text]

[Bug rtl-optimization/38740] [4.4 Regression] Incorrect delayed branch optimization



------- Comment #10 from danglin at gcc dot gnu dot org  2009-01-17 22:34 -------
This is the last output of the register usage information prior to the dbr
pass.  I am somewhat puzzled as to why register 124 doesn't appear as
allocated to %r28 in the "lr  in" and "lr  use" lines for blocks 4 and 9.

;; Start of basic block ( 4) -> 9
;; bb 9 artificial_defs: { }
;; bb 9 artificial_uses: { u-1(3){ }u-1(30){ }}
;; lr  in        3 [%r3] 30 [%r30] 124
;; lr  use       3 [%r3] 30 [%r30] 124
;; lr  def       140

;; Pred edge  4
(code_label 35 466 453 9 774 "" [1 uses])

(note 453 35 36 9 [bb 9] NOTE_INSN_BASIC_BLOCK)

(insn 36 453 37 9 LZMAEncoder.cc:3105 (set (reg:SI 19 %r19 [140])
        (const_int 1105 [0x451])) 37 {*pa.md:2552} (nil))

(jump_insn 37 36 454 9 LZMAEncoder.cc:3105 (set (pc)
        (if_then_else (eq (reg:SI 28 %r28 [orig:124 D.7781 ] [124])
                (reg:SI 19 %r19 [140]))
            (label_ref 124)
            (pc))) 25 {*pa.md:1780} (nil))
;; End of basic block 9 -> ( 25 10)
;; lr  out       3 [%r3] 30 [%r30] 124

;; Succ edge  25
;; Succ edge  10 (fallthru)

;; Start of basic block ( 9) -> 10
;; bb 10 artificial_defs: { }
;; bb 10 artificial_uses: { u-1(3){ }u-1(30){ }}
;; lr  in        3 [%r3] 30 [%r30] 124
;; lr  use       3 [%r3] 30 [%r30] 124
;; lr  def       141

;; Pred edge  9 (fallthru)
(note 454 37 38 10 [bb 10] NOTE_INSN_BASIC_BLOCK)

(insn 38 454 39 10 LZMAEncoder.cc:3105 (set (reg:SI 19 %r19 [141])
        (const_int 1105 [0x451])) 37 {*pa.md:2552} (nil))

(jump_insn 39 38 455 10 LZMAEncoder.cc:3105 (set (pc)
        (if_then_else (gtu (reg:SI 28 %r28 [orig:124 D.7781 ] [124])
                (reg:SI 19 %r19 [141]))
            (label_ref 44)
            (pc))) 25 {*pa.md:1780} (nil))
;; End of basic block 10 -> ( 13 11)
;; lr  out       3 [%r3] 30 [%r30] 124

;; Start of basic block ( 9) -> 25
;; bb 25 artificial_defs: { };; bb 25 artificial_uses: { u-1(3){ }u-1(30){ }}
;; lr  in        3 [%r3] 30 [%r30]
;; lr  use       3 [%r3] 30 [%r30]
;; lr  def       118 177 178
;; Pred edge  9
(code_label 124 482 125 25 771 "" [1 uses])
(note 125 124 126 25 [bb 25] NOTE_INSN_BASIC_BLOCK)

(insn 126 125 127 25 LZMAEncoder.cc:3128 (set (reg/f:SI 28 %r28 [177])
        (mem/f/c/i:SI (plus:SI (reg/f:SI 3 %r3)
                (const_int 48 [0x30])) [0 prop+0 S4 A64])) 37 {*pa.md:2552}
(nil
))


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38740


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