From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olivier Hainque To: Franz.Sirl-kernel@lauterbach.com Cc: gcc@gcc.gnu.org Subject: Problem with recent fixes in loop_iterations ? Date: Tue, 27 Nov 2001 09:26:00 -0000 Message-ID: X-SW-Source: 2001-11/msg01355.html Message-ID: <20011127092600.Ba3e7hcMhUujw3TRfozSIiOor4vbqg5sKDvQrUq0LCQ@z> Hello, Hoping you would be able to help with a problem we face :) Trying to bootstrap Ada on hpux with our internal GNAT tree leads to SEGV from within loop_iterations. Basically, we get to /* If there are multiple conditionalized loop exit tests, they may jump back to differing CODE_LABELs. */ if (loop->top && loop->cont) { rtx temp = PREV_INSN (last_loop_insn); do { if (GET_CODE (temp) == JUMP_INSN /* Previous unrolling may have generated new insns not covered by the uid_luid array. */ && INSN_UID (JUMP_LABEL (temp)) < max_uid_for_loop with a temp looking like the following : (jump_insn 5407 5406 5408 (addr_vec:DI[ (label_ref:SI 5389) ... GET_CODE (temp) is indeed JUMP_INSN, but the associated JUMP_LABEL is NULL and INSN_UID dereferences it. Is having this kind of insn here something expected never to happen ... or should the test be refined, or ... ? Thank you very much in advance for your help, Kind Regards, Olivier Hainque -- hainque@act-europe.fr