New assert in haifa-sched.c
Maxim Kuvyrkov
maxim@codesourcery.com
Thu Sep 18 13:09:00 GMT 2008
Eric Botcazou wrote:
>> Yes, the assert is really checking exactly that. Several pieces of
>> haifa-sched.c assume that the instruction has been recognized during
>> scheduler initialization to speed up checking if instruction is normal
>> or some kind of use/clobber/asm.
>
> What happens if an instruction hasn't been recognized upon reaching these
> parts of haifa-sched.c? Will it be only mis-scheduled, i.e. will this only
> result in inferior, but still correct code?
The code will still be correct, but I think there's more than 1 assert
relying on this property, so GCC is likely to ICE.
> If so, the assertion shouldn't
> be enabled in release mode but only if ENABLE_CHECKING is defined.
I don't see the logic here. It is certainly not that hard to fix the
code to make this assertion trivial, simple loop through all insns in
sched_init() will do it. There is a bug and it should get fixed rather
than suppressed.
Or maybe I misunderstood you?
--
Maxim
More information about the Gcc
mailing list