From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30229 invoked by alias); 17 Jan 2009 22:34:17 -0000 Received: (qmail 30185 invoked by uid 48); 17 Jan 2009 22:34:07 -0000 Date: Sat, 17 Jan 2009 22:34:00 -0000 Message-ID: <20090117223407.30184.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug rtl-optimization/38740] [4.4 Regression] Incorrect delayed branch optimization In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "danglin at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2009-01/txt/msg01970.txt.bz2 ------- 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