[tree-ssa] fix latent & real bugs in BIT_FIELD_REFs

Paolo Bonzini paolo.bonzini@polimi.it
Wed Mar 24 13:41:00 GMT 2004


> Hmm, this is not safe, get_virtual_var should only be called for
> aggregates, which are always non-registers.  The test for !is_gimple_reg
> in get_virtual_var should not be necessary.

No, it can because get_virtual_var is called whenever a non-register is 
found.  BIT_FIELD_REFs themselves are not registers, but their first operand 
can be a register.  Indeed if I simply add BIT_FIELD_REF without the test 
for !is_gimple_reg bootstrap fails in cfgcleanup.c, with a "VUSE found for 
GIMPLE register" self-check error.

Another possibility can be to return NULL_TREE whenever such a BIT_FIELD_REF 
is found?

Paolo

-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/



More information about the Gcc-patches mailing list