[lno] ICE with large unsigned loop bound
Falk Hueffner
hueffner@informatik.uni-tuebingen.de
Sun May 9 18:46:00 GMT 2004
Hi,
on Alpha (when adding #define UNITS_PER_WORD 8) I get an ICE with gcc
-O -ftree-vectorize for this code:
extern char call_used_regs[64];
void dw2_build_landing_pads(void)
{
unsigned int j;
for (j = 0; j < 0xffff0000; ++j) {
if (call_used_regs[j]) { }
}
}
test.c: In function `dw2_build_landing_pads':
test.c:4: internal compiler error: in tree_low_cst, at tree.c:3559
(the -ftree-vectorize and "if" seems to be just needed to get the loop
analyzer interested in the loop)
The problem seems to be that the number of iterations (niter) in
canonicalize_loop_induction_variables is "overflow -65536". This
eventually comes from first_iteration_non_satisfying_ev_noev calling
fold with integer_type_node, which seems wrong. Shouldn't it rather be
size_type_node or the actual type of the iv?
--
Falk
More information about the Gcc
mailing list