[PATCH]Incorrect TREE_OVERFLOW copying
Joseph S. Myers
jsm@polyomino.org.uk
Mon Aug 16 18:08:00 GMT 2004
On Mon, 16 Aug 2004, Nathan Sidwell wrote:
> > This seems illustrative of the problems of TREE_OVERFLOW and
> > TREE_CONSTANT_OVERFLOW - I don't have much more confidence in the accuracy
> > of their settings or uses after this patch than before it - and as I've
> > noted I'd like to get rid of them, leaving front ends to receive and track
> I think we're on the same page about that!
Well, I'd hope to be able to get rid of them but don't know when. Are
there any specific benefits of removing them with regard to sharing
constants (i.e. a significant number of constants differing only in those
flags) or are the benefits simply the general ones of getting rid of
ill-defined and badly used flags? (And are there any other flags used on
INTEGER_CSTs?)
Unlike many features listed on my C99 roadmap for which the listed
ordering is fairly arbitrary, for getting rid of the overflow flags there
is a total ordering of dependencies:
(a) The next bit of the objc-improvements-branch merge.
(b) Conversion of C declarators away from trees (I have a patch, which
depends on (a)). Hopefully this might also show a small performance
improvement.
(c) Further such conversions, e.g. of declaration specifiers (so that
various flags can be tracked in the associated structures).
(d) Constant expressions reimplementation (the main present use of the
overflow flags being to do a particular aspect of this, warning for
overflow in constant expressions, being one aspect that actually works
reasonably well at present), which causes overflow to be tracked
separately according to a precise model. This is not something I
specifically propose as a feature for 3.5, although it would solve some
current testsuite regressions, unless it should happen to be done by the
end of Stage 2.
(e) At this point consequent various cleanups are possible, which don't
depend on each other. One is getting rid of overflow flags.
--
Joseph S. Myers http://www.srcf.ucam.org/~jsm28/gcc/
jsm@polyomino.org.uk (personal mail)
jsm28@gcc.gnu.org (Bugzilla assignments and CCs)
More information about the Gcc-patches
mailing list