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