This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
cxx-mem-model merge [0 of 9]
- From: Andrew MacLeod <amacleod at redhat dot com>
- To: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 03 Nov 2011 19:42:15 -0400
- Subject: cxx-mem-model merge [0 of 9]
This is the patchset (9 diffs) for the cxx-mem-model branch which
implements the C++11 (and future C1x) memory model.
These patches have all been extracted from the branch. They were
individually applied to a mainline checkout where a bootstrap was
performed and a testsuite regression was run. The only changes were new
passes resulting from new tests.
Each patch I checked into this branch was reviewed by rth or bkoz before
it was committed, so it ought to be in fairly good shape having had an
extra set of eyes on it all along.
rth and I still have a few minor adjustments to perform, but we'll do
that on mainline once this is merged in.
I would expect to see very little impact on most targets. The new atomic
operations fall back to the old __sync builtins if there are no new
patterns. Its been developed on x86_64-unknown-linux-gnu, and I had
aldyh bootstrap and run regression test on a PPC and ia64 box a week or
two ago.
What use to work, should still work. Ha! famous last words :-)
I plan to spend the next couple of months writing testsuite cases to
fully flush out any bugs, as well as work on providing a buildable
atomic library as detailed in the wiki (
http://gcc.gnu.org/wiki/Atomic/GCCMM/LIbrary ) That link also has a few
details on GCC implementation of builtins.
Once approved, I dont think I need a slush, or at least not a very long
one. I plan to check in the code from the patchset rather than merge
from the branch. what you see here is what you get! (I'm rebuilding
from mainline again as I write this...)
Whats the deal on Changelogs? Do we just put the entire branch
changelog at the top of the current changelog with a comment 'merged
from cxx-mem-model' or something to that effect? It just buggers up the
date linearality of changelogs. Or do I add the ChangeLog.mm files and
make a comment in Changelog to look at ChangeLog.mm? This doesnt seem
intrusive enough to require its own.
Maybe the best bet is to just concatenate *all* the comments in the
various ChangeLog.mm, and make them a single ChangeLog entry in each
applicable ChangeLog file with the date of the merge. It could be a
long entry, but that seems like it might be best...
Anyway, have a look and what do you think?
Andrew
PS Next release we'll should get some atomic optimizations, all ports
'ported' to the new patterns (hopefully), C1x support, and just further
improvements as it starts to get used.