This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GCC Status Report (2004-03-09)

> We could only zero out the "holes" between the fields.  That would be
> slower than zeroing the hole thing at once, but usually not much,
> especially since memzero will be inlined for small chunks of memory.

This can probably be awful in certain cases too (mix const/non-const, 
bitfields, packed fields, ...).  And this would defeat the clrstr patterns, 
on x86 for example.

> We could also disable the use of RTX_UNCHANGING_P in alias.c.

Could this be done somewhat selectively?

> We could make RTX_UNCHANGING_P a tri-state (with a don't-know option),
> which would probably be best.  That would allow us to keep most of the
> optimizations, but it's probably a lot more work and more invasive.
> We have to pessimize something because we have a poorly-designed feature
> (i.e., one with an incomplete specification) that results in generating
> wrong code.

Unfortunately, yes, this appears to be unavoidable.

> What solution do you dislike least?

Nice formulation :-)  Richard (rth) even proposed to disable entirely 
RTX_UNCHANGING_P in 3.4/3.5.  I personally think the 3.3.x code is cleaner 
(albeit probably not 100% safe).

> How about the idea above of just zeroing the holes?

If you're fine with the blockage approach...

Eric Botcazou

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]