This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Ada bootstrap failure due to loop optimization and builtin_stack_alloc
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: rakdver at atrey dot karlin dot mff dot cuni dot cz
- Cc: gcc at gcc dot gnu dot org
- Date: Thu, 29 Jul 04 09:40:45 EDT
- Subject: Re: Ada bootstrap failure due to loop optimization and builtin_stack_alloc
I don't quite understand what should be a problem there. Unless some
statement in the example has some hideous semantics I do not
understand, the elements to T.7[whatever] are not really accessed in
that piece of dump; just the address of the array is taken and the
pointer is casted to some different type. So unless T.10_29 is later
dereferenced, I do not see a problem.
But it is, in the next statement after what I showed. Here's the full
executable part of the .t36.dce3 dump of a further cut-down test case.
What was deleted were the assignments to T.1.
<bb 0>:
T.0[-2147483648]{lb: -2147483648 sz: 1} = 0;
T.0[-2147483647]{lb: -2147483648 sz: 1} = 0;
T.3_14 = &T.1[1 ...]{lb: 1 sz: 1};
T.4_15 = (boolean[-2147483648 .. -2147483647] *)T.3_14;
T.5_16 = __builtin_memcmp (T.4_15, &T.0, 2);
if (T.5_16 != 0) goto <L1>; else goto <L3>;
<L1>:;
__gnat_rcheck_16 ("c41203a.adb", 14);
<L3>:;
return;