public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "steven at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/48441] [4.7 Regression] ICE in mark_oprs_set Date: Tue, 05 Apr 2011 05:54:00 -0000 [thread overview] Message-ID: <bug-48441-4-sfTphnQk2A@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-48441-4@http.gcc.gnu.org/bugzilla/> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48441 --- Comment #6 from Steven Bosscher <steven at gcc dot gnu.org> 2011-04-05 05:54:08 UTC --- Not really. I meant: Breakpoint 3, mark_oprs_set (insn=0x7ffff6edc140) at ../../trunk/gcc/cprop.c:538 538 struct df_insn_info *insn_info = DF_INSN_INFO_GET (insn); (gdb) p debug_rtx(insn) (jump_insn 171 170 248 31 (set (pc) (if_then_else (eq (reg/v:SI 158 [ rval ]) (const_int 7 [0x7])) (label_ref:SI 248) (pc))) ../../gcc/libcpp/charset.c:481 25 {*pa.md:1330} (expr_list:REG_BR_PROB (const_int 9550 [0x254e]) (nil)) -> 248) $12 = void (gdb) p insn_info $14 = (struct df_insn_info *) 0x14ca078 (gdb) call df_insn_debug(insn,false,stderr) insn 171 luid 0 defs { } uses { u226(158)} eq uses { } mws (gdb) cont Continuing. Breakpoint 3, mark_oprs_set (insn=0x7ffff6edc140) at ../../trunk/gcc/cprop.c:538 538 struct df_insn_info *insn_info = DF_INSN_INFO_GET (insn); (gdb) p debug_rtx(insn) (jump_insn/v 171 170 257 29 (set (pc) (if_then_else (eq (reg/v:SI 158 [ rval ]) (const_int 7 [0x7])) (label_ref:SI 257) (pc))) ../../gcc/libcpp/charset.c:481 25 {*pa.md:1330} (expr_list:REG_BR_PROB (const_int 9550 [0x254e]) (nil)) -> 257) $13 = void (gdb) p insn_info $15 = (struct df_insn_info *) 0x0 (gdb) # So the insn is not even known anymore in DF (gdb) call df_insn_debug(insn,false,stderr) Program received signal SIGSEGV, Segmentation fault. 0x000000000063d9cb in df_insn_uid_debug (uid=171, follow_chain=0 '\0', file=0x7ffff7bd8860) at ../../trunk/gcc/df-core.c:2113 2113 fprintf (file, "insn %d luid %d", The program being debugged was signaled while in a function called from GDB. GDB remains in the frame where the signal was received. To change this behavior use "set unwindonsignal on" Evaluation of the expression containing the function (df_insn_debug) will be abandoned. (gdb) eq uses { } mws The problem here is that INSN has been deleted (its INSN_DELETED_P flag is set) and the basic block referencing it is empty: (gdb) p debug_bb_n(29) ;; basic block 29, loop depth 1, count 0 ;; prev block 28, next block 39 ;; pred: 27 ;; succ: 30 [100.0%] (fallthru) ;; bb 29 artificial_defs: { } ;; bb 29 artificial_uses: { u223(3){ }u224(30){ }u225(89){ }} ;; lr in 3 [%r3] 30 [%r30] 89 [sfp] 96 158 196 197 198 199 ;; lr use 3 [%r3] 30 [%r30] 89 [sfp] 158 ;; lr def ;; live in 3 [%r3] 30 [%r30] 89 [sfp] 96 158 196 197 198 199 ;; live gen ;; live kill (code_label 169 19 170 29 211 "" [1 uses]) (note 170 169 257 29 [bb 29] NOTE_INSN_BASIC_BLOCK) ;; lr out 3 [%r3] 30 [%r30] 89 [sfp] 96 158 196 197 198 199 ;; live out 3 [%r3] 30 [%r30] 89 [sfp] 96 158 196 197 198 199 Could you please try if this patch restores bootstrap for you? Index: cprop.c =================================================================== --- cprop.c (revision 171948) +++ cprop.c (working copy) @@ -1797,8 +1797,8 @@ one_cprop_pass (void) /* Keep track of everything modified by this insn. */ /* ??? Need to be careful w.r.t. mods done to INSN. Don't call mark_oprs_set if we turned the - insn into a NOTE. */ - if (! NOTE_P (insn)) + insn into a NOTE, or deleted the insn. */ + if (! NOTE_P (insn) && ! INSN_DELETED_P (insn)) mark_oprs_set (insn); } }
next prev parent reply other threads:[~2011-04-05 5:54 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-04-04 22:27 [Bug middle-end/48441] New: " danglin at gcc dot gnu.org 2011-04-04 22:31 ` [Bug middle-end/48441] " dave at hiauly1 dot hia.nrc.ca 2011-04-04 22:37 ` danglin at gcc dot gnu.org 2011-04-04 22:46 ` steven at gcc dot gnu.org 2011-04-04 22:50 ` steven at gcc dot gnu.org 2011-04-05 1:12 ` danglin at gcc dot gnu.org 2011-04-05 5:54 ` steven at gcc dot gnu.org [this message] 2011-04-05 11:05 ` rguenth at gcc dot gnu.org 2011-04-05 12:21 ` steven at gcc dot gnu.org 2011-04-05 18:15 ` steven at gcc dot gnu.org 2011-04-05 18:16 ` steven at gcc dot gnu.org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-48441-4-sfTphnQk2A@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).