We have maintained the gupc (GNU Unified Parallel C) branch for a couple of years now, and would like to merge these changes into the GCC trunk.
The purpose of this note is to ask for suggestions on the best way to proceed through the GUPC review and merge process. For reference, The GUPC project page is here: http://gcc.gnu.org/projects/gupc.html The current GUPC release is distributed here: http://gccupc.org Roughly a year ago, we described the front-end related changes at the time: http://gcc.gnu.org/ml/gcc-patches/2011-07/msg00081.html Status: We merge the trunk into the gupc branch on approximately a weekly basis. The current set of changes relative to the GCC trunk are shown here: http://gccupc.org/gupc-changes In order to make the changes easier to review, we are planning to present the changes in the following groups. - Configure and Make - Other Languages - C Pre-processor - Front-End/Parser - Options/Command Processing - Documentation - Maintenance and Support - Debugging Information (DWARF) - GCC, Trees, Declarations, Types, Statements - UPC Language Specific, Front-end, Middle-end - UPC language header files - UPC Runtime Library Configure/Make - UPC Runtime library - UPC Runtime Library: collectives - UPC Testsuite A detailed list of files in each category is attached. Does this sound like a workable plan? Are there any planned/ongoing current GCC trunk development activities that we should be aware of for planning and integration purposes? Thanks, - Gary
Configure and Make ------------------ configure.ac contrib/gcc_update gcc/c-family/stub-upc.c gcc/c/Make-lang.in gcc/config/darwin.c gcc/config/darwin.h gcc/config/i386/i386.c gcc/config.in gcc/config/rs6000/rs6000.c gcc/configure.ac gcc/cp/Make-lang.in gcc/fortran/Make-lang.in gcc/java/Make-lang.in gcc/lto/Make-lang.in gcc/Makefile.in gcc/objc/Make-lang.in gcc/upc/config-lang.in gcc/upc/Makefile.in gcc/upc/Make-lang.in Makefile.def Makefile.in Makefile.tpl Other Languages --------------- gcc/cp/lex.c gcc/cp/tree.c gcc/c/c-decl.c gcc/c/c-objc-common.h C Pre-processor --------------- gcc/c-family/c-cppbuiltin.c libcpp/include/cpplib.h libcpp/init.c Front-End/Parser ---------------- gcc/c/c-parser.c gcc/c-family/c-lex.c gcc/c-family/c-pragma.c Options/Command Processing -------------------------- gcc/c-family/c.opt gcc/c-family/c-opts.c gcc/flags.h gcc/gcc.c gcc/upc/gupcspec.c gcc/upc/lang-specs.h Documentation ------------- gcc/doc/tm.texi gcc/doc/tm.texi.in gcc/upc/gupc.texi Maintenance and Support ----------------------- gcc/c-family/c-pretty-print.c gcc/ChangeLog.upc gcc/DATESTAMP gcc/DEV-PHASE gcc/print-tree.c gcc/timevar.def gcc/tree-dump.c gcc/tree-pretty-print.c gcc/upc/ChangeLog libgupc/ChangeLog Debugging Information (DWARF) ----------------------------- gcc/dwarf2out.c GCC, Trees, Declarations, Types, Statements ------------------------------------------- gcc/c/c-convert.c gcc/c/c-tree.h gcc/c/c-typeck.c gcc/c-family/c-common.c gcc/c-family/c-common.h gcc/convert.c gcc/defaults.h gcc/dojump.c gcc/explow.c gcc/fold-const.c gcc/function.c gcc/gimple.h gcc/gimplify.c gcc/stor-layout.c gcc/tree.c gcc/tree.h gcc/tree-sra.c gcc/tree-ssa.c gcc/varasm.c UPC Language Specific, Front-end, Middle-end -------------------------------------------- gcc/langhooks-def.h gcc/c-family/c-upc.h gcc/langhooks.h gcc/upc/upc-act.c gcc/upc/upc-act.h gcc/upc/upc-gasp.c gcc/upc/upc-gasp.h gcc/upc/upc-genericize.c gcc/upc/upc-genericize.h gcc/upc/upc-lang.c gcc/upc/upc-pts.h gcc/upc/upc-pts-packed.c gcc/upc/upc-pts-struct.c gcc/upc/upc-rts-names.h gcc/upc/upc-tree.def gcc/upc/upc-tree.h UPC Runtime Library Configure/Make ---------------------------------- libgupc/acinclude.m4 libgupc/aclocal.m4 libgupc/config/darwin/upc-crt-config.h libgupc/config/default/upc-crt-config.h libgupc/config/default/upc-crtstuff.mak libgupc/config.h.in libgupc/configure libgupc/configure.ac libgupc/configure.tgt libgupc/gen-inline-libgupc.pl libgupc/gen-upc-ld-script.pl libgupc/libgupc.spec.in libgupc/libgupc.texi libgupc/Makefile.am libgupc/Makefile.in libgupc/smp/gcc-upc-lib.in libgupc/upc-crtbegin.spec.in libgupc/upc-crtend.spec.in libgupc/upc-crtstuff.c UPC language header files ------------------------- libgupc/include/gasp.h libgupc/include/gasp_upc.h libgupc/include/gcc-upc.h libgupc/include/pupc.h libgupc/include/upc_collective.h libgupc/include/upc.h libgupc/include/upc_relaxed.h libgupc/include/upc_strict.h UPC Runtime library ------------------- libgupc/smp/upc_access.c libgupc/smp/upc_accessg.c libgupc/smp/upc_access.h libgupc/smp/upc_addr.c libgupc/smp/upc_affinity.c libgupc/smp/upc_affinity.h libgupc/smp/upc_affinity_stub.c libgupc/smp/upc_allocg.upc libgupc/smp/upc_alloc.upc libgupc/smp/upc_backtrace.c libgupc/smp/upc_backtrace.h libgupc/smp/upc_backtrace_sup.c libgupc/smp/upc_barrier.upc libgupc/smp/upc_config.h libgupc/smp/upc_debug.h libgupc/smp/upc_defs.h libgupc/smp/upc_gasp.c libgupc/smp/upc_gum.c libgupc/smp/upc_libg.c libgupc/smp/upc_lib.h libgupc/smp/upc_lock.c libgupc/smp/upc_main.c libgupc/smp/upc_mem.c libgupc/smp/upc_mem.h libgupc/smp/upc_numa.c libgupc/smp/upc_numa.h libgupc/smp/upc_numa_stub.c libgupc/smp/upc_pgm_info.c libgupc/smp/upc_pts.h libgupc/smp/upc_pupc.c libgupc/smp/upc_pupc.h libgupc/smp/upc_sup.h libgupc/smp/upc_sync.h libgupc/smp/upc_sysdep.c libgupc/smp/upc_sysdep.h libgupc/smp/upc_vm.c UPC Runtime Library: collectives -------------------------------- libgupc/collectives/gen-upc-coll-reduce.pl libgupc/collectives/upc_coll_broadcast.upc libgupc/collectives/upc_coll_err.upc libgupc/collectives/upc_coll_exchange.upc libgupc/collectives/upc_coll_gather_all.upc libgupc/collectives/upc_coll_gather.upc libgupc/collectives/upc_coll.h libgupc/collectives/upc_coll_init.upc libgupc/collectives/upc_coll_permute.upc libgupc/collectives/upc_coll_prefix_reduce.in libgupc/collectives/upc_coll_prefix_reduce.upc libgupc/collectives/upc_coll_readme.txt libgupc/collectives/upc_coll_reduce.in libgupc/collectives/upc_coll_reduce.upc libgupc/collectives/upc_coll_scatter.upc libgupc/collectives/upc_coll_sort.upc UPC Testsuite ------------- gcc/testsuite/lib/target-supports.exp gcc/testsuite/lib/upc-dg.exp gcc/testsuite/lib/upc.exp gcc/testsuite/upc.dg/ChangeLog gcc/testsuite/upc.dg/compile/compile.exp gcc/testsuite/upc.dg/execute/execute.exp gcc/testsuite/upc.dg/noncompile/noncompile.exp libgupc/testsuite/config/default.exp libgupc/testsuite/libgupc.upc/intrepid/ChangeLog libgupc/testsuite/libgupc.upc/intrepid/test00.upc libgupc/testsuite/libgupc.upc/intrepid/test01.upc libgupc/testsuite/libgupc.upc/intrepid/test02.upc libgupc/testsuite/libgupc.upc/intrepid/test03.upc libgupc/testsuite/libgupc.upc/intrepid/test04.upc libgupc/testsuite/libgupc.upc/intrepid/test05.upc libgupc/testsuite/libgupc.upc/intrepid/test06.upc libgupc/testsuite/libgupc.upc/intrepid/test07.upc libgupc/testsuite/libgupc.upc/intrepid/test08.upc libgupc/testsuite/libgupc.upc/intrepid/test09.upc libgupc/testsuite/libgupc.upc/intrepid/test10.upc libgupc/testsuite/libgupc.upc/intrepid/test11.upc libgupc/testsuite/libgupc.upc/intrepid/test12.upc libgupc/testsuite/libgupc.upc/intrepid/test13.upc libgupc/testsuite/libgupc.upc/intrepid/test14.upc libgupc/testsuite/libgupc.upc/intrepid/test15.upc libgupc/testsuite/libgupc.upc/intrepid/test16.upc libgupc/testsuite/libgupc.upc/intrepid/test17.upc libgupc/testsuite/libgupc.upc/intrepid/test18.upc libgupc/testsuite/libgupc.upc/intrepid/test19.upc libgupc/testsuite/libgupc.upc/intrepid/test20.upc libgupc/testsuite/libgupc.upc/intrepid/test21.upc libgupc/testsuite/libgupc.upc/intrepid/test22.upc libgupc/testsuite/libgupc.upc/intrepid/test23.upc libgupc/testsuite/libgupc.upc/intrepid/test24.upc libgupc/testsuite/libgupc.upc/intrepid/test25.upc libgupc/testsuite/libgupc.upc/intrepid/test26.upc libgupc/testsuite/libgupc.upc/intrepid/test27.upc libgupc/testsuite/libgupc.upc/intrepid/test28.upc libgupc/testsuite/libgupc.upc/intrepid/test29.upc libgupc/testsuite/libgupc.upc/intrepid/test30.upc libgupc/testsuite/libgupc.upc/upc.exp libgupc/testsuite/lib/libgupc-dg.exp libgupc/testsuite/lib/libgupc.exp libgupc/testsuite/Makefile.am libgupc/testsuite/Makefile.in