public inbox for gcc-prs@sourceware.org help / color / mirror / Atom feed
From: gabor@mac.com To: gcc-gnats@gcc.gnu.org Subject: target/10282: ICE: unable to find a register to spill in class `Q_REGS' Date: Mon, 31 Mar 2003 23:36:00 -0000 [thread overview] Message-ID: <20030331232407.24324.qmail@sources.redhat.com> (raw) >Number: 10282 >Category: target >Synopsis: ICE: unable to find a register to spill in class `Q_REGS' >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: ice-on-legal-code >Submitter-Id: net >Arrival-Date: Mon Mar 31 23:26:01 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Gabor Greif >Release: gcc (GCC) 3.4 20030325 (experimental) >Organization: >Environment: Linux cantor 2.2.20 #1 Sat Apr 20 11:45:28 EST 2002 i686 unknown >Description: compiling attachment this way: gcc -I. -O2 -fomit-frame-pointer -x c -fno-strict-aliasing bug2.c I get: bug2.c: In function `formatZformatZbuf_format_integer_METH_INT_next_digit': bug2.c:248: error: unable to find a register to spill in class `Q_REGS' bug2.c:248: error: this is the insn: (insn:HI 294 427 296 10 0x4013e3c8 (set (mem:QI (plus:SI (plus:SI (subreg:SI (reg/v:DI 89 [ L_value_6 ]) 0) (subreg:SI (reg/v:DI 88 [ L_value_5 ]) 4)) (const_int 16 [0x10])) [0 S1 A8]) (subreg:QI (reg/v:SI 5 edi [orig:84 L_PCTelement ] [84]) 0)) 48 {*movqi_1} (nil) (expr_list:REG_DEAD (reg/v:SI 5 edi [orig:84 L_PCTelement ] [84]) (expr_list:REG_DEAD (reg/v:DI 89 [ L_value_6 ]) (expr_list:REG_DEAD (reg/v:DI 88 [ L_value_5 ]) (nil))))) bug2.c:248: internal compiler error: in spill_failure, at reload1.c:1917 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions. >How-To-Repeat: compile attachment (sorry for the size) May be related to PR#9929 ? >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: text/plain; name="bug2.c" Content-Disposition: inline; filename="bug2.c" typedef struct heapobj *heapptr_t; typedef struct descriptor { heapptr_t heapptr; union { long l; float f; void *ptr; } dataword; } descriptor_t; typedef descriptor_t *(*entry_t)(); extern heapptr_t allocate(int bytes); extern descriptor_t *allocate_stack(void); extern void destroy(void* ptr); extern heapptr_t make_trampoline(void *func, descriptor_t closure, int nkeys, char *signature); extern descriptor_t *catch(descriptor_t *(*fn)(descriptor_t *sp, void *state, heapptr_t thunk), descriptor_t *sp, heapptr_t func); extern void throw(void *state, descriptor_t *stack_top); extern descriptor_t *pad_cluster(descriptor_t *start, descriptor_t *end, int min_values); extern descriptor_t *values_sequence(descriptor_t *sp, heapptr_t vector); extern heapptr_t make_double_float(double value); extern double double_float_value(heapptr_t df); extern heapptr_t make_extended_float(long double value); extern long double extended_float_value(heapptr_t xf); extern heapptr_t make_double_integer(long long value); extern long long double_integer_value(heapptr_t xf); extern heapptr_t initial_symbols; extern void not_reached(void); extern void no_core_dumps(void); extern heapptr_t dylanZdylan_visceraZas_METH_7(descriptor_t *orig_sp, heapptr_t A0, long A1, heapp\ tr_t A2); extern struct heapobj dylanZdylan_visceraZCLS_extended_integer_HEAP; extern struct heapobj dylanZliteral_ROOT_4; extern struct mv_result_0 dylanZdylan_visceraZfloorSLASH_METH(descriptor_t *orig_sp, heapptr_t A0,\ heapptr_t A1, heapptr_t A2); extern struct heapobj dylanZliteral_ROOT_46; extern long dylanZdylan_visceraZas_METH_8(descriptor_t *orig_sp, heapptr_t A0, heapptr_t A1, heapp\ tr_t A2); struct mv_result_0 { heapptr_t R0; heapptr_t R1; }; extern descriptor_t formatZliteral_2; extern struct heapobj dylanZdylan_visceraZCLS_integer_HEAP; extern descriptor_t formatZformatZCdigits; extern struct heapobj dylanZliteral_ROOT_61; extern struct heapobj formatZliteral_ROOT_4; extern struct heapobj dylanZstr_ROOT_7; void formatZformatZbuf_format_integer_METH_INT_next_digit(descriptor_t *orig_sp, heapptr_t A_bd , \ long A_radix , heapptr_t A_buf , heapptr_t A_next , heapptr_t A_size , heapptr_t A_arg ) { descriptor_t *cluster_0_top; heapptr_t L_arg1; struct mv_result_0 L_temp; heapptr_t L_quo; heapptr_t L_rem; long L_bignum_digit; int L_res; descriptor_t L_value; long L_typed; descriptor_t L_value_2; descriptor_t L_value_3; heapptr_t L_buffer; descriptor_t L_temp_2; long L_next_ele; descriptor_t L_temp_3; long L_limit; descriptor_t L_temp_4; long L_arg1_2; int L_condition; long L_PCTelement; long L_value_4; int L_condition_2; long L_temp_5; descriptor_t L_value_5; descriptor_t L_value_6; int L_condition_3; descriptor_t L_value_7; descriptor_t L_temp_6; descriptor_t L_temp_7; descriptor_t L_temp_8; L_arg1 = dylanZdylan_visceraZas_METH_7(orig_sp, &dylanZdylan_visceraZCLS_extended_integer_HEAP\ , A_radix, &dylanZliteral_ROOT_4); L_temp = dylanZdylan_visceraZfloorSLASH_METH(orig_sp, A_arg, L_arg1, &dylanZliteral_ROOT_46); L_quo = L_temp.R0; L_rem = L_temp.R1; if (((*(long *)((char *)L_quo + 4)) == 1)) { L_bignum_digit = (*(unsigned short *)((char *)L_quo + 8 + 0 * sizeof(unsigned short))); L_res = (L_bignum_digit == 0); } else { L_res = 0; } if (L_res) { } else { formatZformatZbuf_format_integer_METH_INT_next_digit(orig_sp, A_bd, A_radix, A_buf, A_next\ , A_size, L_quo); } L_value = (*(descriptor_t *)((char *)A_next + 4)); L_typed = L_value.dataword.l; L_value_2 = (*(descriptor_t *)((char *)A_size + 4)); if ((L_value_2.dataword.l == L_typed)) { L_value_3 = (*(descriptor_t *)((char *)A_next + 4)); formatZformatZget_next_output_buffer_FUN(orig_sp, A_bd, L_value_3.dataword.l); L_buffer = (*(heapptr_t *)((char *)A_bd + 8)); L_temp_2.heapptr = L_buffer; L_temp_2.dataword.l = 0; (*(descriptor_t *)((char *)A_buf + 4)) = L_temp_2; L_next_ele = (*(long *)((char *)A_bd + 12)); L_temp_3.heapptr = formatZliteral_2.heapptr; L_temp_3.dataword.l = L_next_ele; (*(descriptor_t *)((char *)A_next + 4)) = L_temp_3; L_limit = (*(long *)((char *)A_bd + 16)); L_temp_4.heapptr = formatZliteral_2.heapptr; L_temp_4.dataword.l = L_limit; (*(descriptor_t *)((char *)A_size + 4)) = L_temp_4; } L_arg1_2 = dylanZdylan_visceraZas_METH_8(orig_sp, &dylanZdylan_visceraZCLS_integer_HEAP, L_rem\ , &dylanZliteral_ROOT_4); if ((L_arg1_2 < 0)) { L_condition = 0; } else { L_condition = (L_arg1_2 < (*(long *)((char *)formatZformatZCdigits.heapptr + 4))); } if (L_condition) { L_PCTelement = (*(unsigned char *)((char *)formatZformatZCdigits.heapptr + 8 + L_arg1_2 * \ sizeof(unsigned char))); L_value_4 = L_PCTelement; L_condition_2 = dylanZdylan_visceraZPCTinstanceQUERY_METH_8(orig_sp, L_value_4, &dylanZlit\ eral_ROOT_61, &formatZliteral_ROOT_4); if (L_condition_2) { L_temp_5 = L_value_4; L_value_5 = (*(descriptor_t *)((char *)A_next + 4)); L_value_6 = (*(descriptor_t *)((char *)A_buf + 4)); if ((L_value_5.dataword.l < 0)) { L_condition_3 = 0; } else { L_condition_3 = (L_value_5.dataword.l < (*(long *)((char *)L_value_6.heapptr + 12)\ )); } if (L_condition_3) { (*(unsigned char *)((char *)L_value_6.heapptr + 16 + L_value_5.dataword.l * sizeof\ (unsigned char))) = L_temp_5; L_value_7 = (*(descriptor_t *)((char *)A_next + 4)); L_temp_6.heapptr = formatZliteral_2.heapptr; L_temp_6.dataword.l = (L_value_7.dataword.l + 1); (*(descriptor_t *)((char *)A_next + 4)) = L_temp_6; return; } else { dylanZdylan_visceraZelement_error_FUN(orig_sp, L_value_6, L_value_5.dataword.l); not_reached(); } } else { L_temp_7.heapptr = formatZliteral_2.heapptr; L_temp_7.dataword.l = L_value_4; L_temp_8.heapptr = &dylanZstr_ROOT_7; L_temp_8.dataword.l = 0; dylanZdylan_visceraZtype_error_with_location_FUN(orig_sp, L_temp_7, &dylanZliteral_ROO\ T_61, L_temp_8); not_reached(); } } else { dylanZdylan_visceraZelement_error_FUN(orig_sp, formatZformatZCdigits, L_arg1_2); not_reached(); } }
reply other threads:[~2003-03-31 23:26 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=20030331232407.24324.qmail@sources.redhat.com \ --to=gabor@mac.com \ --cc=gcc-gnats@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).