[M3commit] CVS Update: cm3
Jay Krell
jkrell at elego.de
Sun Nov 21 21:00:16 CET 2010
CVSROOT: /usr/cvs
Changes by: jkrell at birch. 10/11/21 21:00:16
Modified files:
cm3/m3-sys/m3cc/src/: m3makefile clean_marker.txt
cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c
Log message:
significant fixes for configure -enable-checking
- Continue using bitfield_refs for load/store, but
mark the parameter addressable.
Hopefully this isn't as bad as volatile, though
given how effective it is, I suspect it might be.
We can do better in future using component/array_ref.
- don't inline nested functions whose parents are not inlinable
(e.g. parent has barrier label)
- don't inline any function that manipulate static link (load/pop)
- ie: nested functions can be inlined, but only in the absence
of exception handling or accessing parent frame;
i.e. when they are used for scoping the name of the function
- remove a chunk in volatilize that had the tree types wrong
- add another m3_cast, that I suspected was needed anyway
but couldn't prove via an error, now I have seen it error
- remove the recent addition of stabilize_reference,
it makes me nervous; it might be an optimization
or a deoptimization
and then:
- allow many optimizations that we previously did not allow,
in fact, all of them, but suppress a new one, flag_tree_forwprop,
which I suspect actually is a simple valuable one, but
I think this is the right compromise at the moment.
I'm "dancing" between types, optimizations, checking, and
also disabling some checks.
- enable the checking in all builds
not quite all checking, as all is really really really slow,
though we should find a way to run that occasionally
We'll want to dial this down for release to speed it back up.
I think for dialing it up, maybe dedicate a host or task,
and don't have that one make releases/snapshots. It could
be a second host of the same type as another, e.g. a second
I386_LINUX host. (We also need to enable optimizations
in Hudson sometimes.)
Only tested on AMD64_DARWIN.
More information about the M3commit
mailing list