From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6452 invoked by alias); 8 Oct 2002 14:36:39 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 6433 invoked by uid 61); 8 Oct 2002 14:36:39 -0000 Date: Tue, 08 Oct 2002 07:36:00 -0000 Message-ID: <20021008143639.6432.qmail@sources.redhat.com> To: gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, green@redhat.com, nobody@gcc.gnu.org From: aph@gcc.gnu.org Reply-To: aph@gcc.gnu.org, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, green@redhat.com, nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org Subject: Re: optimization/8154: gcj not emitting switch table X-SW-Source: 2002-10/txt/msg00290.txt.bz2 List-Id: Synopsis: gcj not emitting switch table State-Changed-From-To: open->analyzed State-Changed-By: aph State-Changed-When: Tue Oct 8 07:36:37 2002 State-Changed-Why: Looks like try_optimize_cfg is making a mess of this -- we end up with (insn 53 84 54 1 0x400d0fd0 (set (reg/f:SI 80) (label_ref:SI 57)) 38 {*movsi_1} (nil) (insn_list:REG_LABEL 57 (expr_list:REG_EQUAL (label_ref:SI 57) (nil)))) (insn 54 53 55 1 0x400d0fd0 (set (reg:SI 81) (mem/u:SI (plus:SI (mult:SI (reg:SI 78) (const_int 4 [0x4])) (reg/f:SI 80)) [0 S4 A8])) 38 {*movsi_1} (nil) (nil)) (jump_insn 55 54 56 1 0x400d0fd0 (parallel [ (set (pc) (reg:SI 81)) (use (label_ref 57)) ]) 370 {*tablejump_1} (nil) (nil)) ;; End of basic block 1, registers live: (nil) (barrier 56 55 57) ;; Insn is not within a basic block (code_label 57 56 58 10 "" [2 uses]) ;; Insn is not within a basic block (jump_insn 58 57 59 (nil) (addr_vec:SI [ (label_ref:SI 19) (label_ref:SI 23) (label_ref:SI 27) (label_ref:SI 31) (label_ref:SI 35) (label_ref:SI 39) (label_ref:SI 43) ]) -1 (nil) (nil)) turning into (insn 53 84 54 1 0x400d0fd0 (set (reg/f:SI 80) (label_ref:SI 57)) 38 {*movsi_1} (nil) (insn_list:REG_LABEL 57 (expr_list:REG_EQUAL (label_ref:SI 57) (nil)))) (insn 54 53 45 1 0x400d0fd0 (set (reg:SI 81) (mem/u:SI (plus:SI (mult:SI (reg:SI 78) (const_int 4 [0x4])) (reg/f:SI 80)) [0 S4 A8])) 38 {*movsi_1} (insn_list 53 (nil)) (expr_list:REG_DEAD (reg:SI 78) (expr_list:REG_DEAD (reg/f:SI 80) (expr_list:REG_UNUSED (reg:SI 81) (nil))))) (insn 45 54 60 1 0x400d0a50 (set (reg/v/f:SI 60) (mem/u:SI (const:SI (plus:SI (symbol_ref:SI ("_CD_linkbug")) (const_int 32 [0x20]))) [0 S4 A32])) 38 {*movsi_1} (nil) (nil)) ;; End of basic block 1, registers live: 6 [bp] 7 [sp] 16 [] 20 [frame] 59 60 Yes, the jump_insn 55 has disappeared altogether. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8154