diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-09-30 14:23:29 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-09-30 14:23:29 +0000 |
commit | 92b17925e053f1044328100acee8e6ddca553d05 (patch) | |
tree | 56dda32931a24ed4b4924be0c66a5f961af318ec /gcc/plugin.c | |
parent | 833adb8d7a201ed21bff6fa9d2f9ed95c105dbc3 (diff) | |
download | gcc-92b17925e053f1044328100acee8e6ddca553d05.tar.gz |
2009-09-30 Basile Starynkevitch <basile@starynkevitch.net>
[merged with trunk while LTO is merging inside trunk, however the
trunk's gengtype should now work for MELT, unchanged except by
addition of "melt-runtime.h"]
MELT branch merged with trunk rev 152324
--This line, and those below, will be ignored-
-
_M .
M configure
M Makefile.in
M libgomp/configure
M libgomp/ChangeLog
M libgomp/acinclude.m4
M config.guess
M gcc/tree-vrp.c
M gcc/doc/plugins.texi
M gcc/doc/extend.texi
M gcc/doc/tm.texi
M gcc/doc/invoke.texi
M gcc/doc/gty.texi
M gcc/doc/install.texi
M gcc/tree-into-ssa.c
M gcc/targhooks.c
M gcc/tree-complex.c
M gcc/targhooks.h
M gcc/gengtype.c
M gcc/java/builtins.c
M gcc/java/ChangeLog
M gcc/java/lang.c
M gcc/optabs.c
M gcc/optabs.h
M gcc/DATESTAMP
M gcc/value-prof.c
M gcc/tree.c
M gcc/tree.h
M gcc/tree-pass.h
M gcc/target.h
M gcc/configure
M gcc/builtins.c
M gcc/final.c
M gcc/fold-const.c
M gcc/cfgloopanal.c
M gcc/toplev.c
M gcc/ChangeLog
A + gcc/testsuite/gcc.c-torture/execute/pr41463.c
M gcc/testsuite/gcc.c-torture/execute/980526-2.c
A + gcc/testsuite/gcc.c-torture/execute/pr41395-2.c
A + gcc/testsuite/gcc.c-torture/execute/ifcvt-onecmpl-abs-1.c
A + gcc/testsuite/gcc.c-torture/execute/pr41395-1.c
A + gcc/testsuite/gcc.c-torture/compile/pr39779.c
A + gcc/testsuite/gcc.c-torture/compile/pr41469.c
A + gcc/testsuite/gcc.target/alpha/pr22093.c
M gcc/testsuite/gcc.target/i386/i386.exp
M gcc/testsuite/gcc.target/i386/isa-1.c
A + gcc/testsuite/gcc.target/i386/isa-12.c
A + gcc/testsuite/gcc.target/i386/fma4-maccXX.c
A + gcc/testsuite/gcc.target/i386/fma4-256-maccXX.c
A + gcc/testsuite/gcc.target/i386/fma4-check.h
A + gcc/testsuite/gcc.target/i386/fma4-msubXX.c
A + gcc/testsuite/gcc.target/i386/isa-3.c
A + gcc/testsuite/gcc.target/i386/fma4-256-msubXX.c
M gcc/testsuite/gcc.target/i386/isa-14.c
A + gcc/testsuite/gcc.target/i386/fma4-fma.c
M gcc/testsuite/gcc.target/i386/isa-5.c
A + gcc/testsuite/gcc.target/i386/isa-7.c
A + gcc/testsuite/gcc.target/i386/funcspec-2.c
A + gcc/testsuite/gcc.target/i386/isa-9.c
M gcc/testsuite/gcc.target/i386/funcspec-4.c
M gcc/testsuite/gcc.target/i386/pr12329.c
A + gcc/testsuite/gcc.target/i386/ifcvt-onecmpl-abs-1.c
M gcc/testsuite/gcc.target/i386/funcspec-6.c
A + gcc/testsuite/gcc.target/i386/fma4-vector.c
A + gcc/testsuite/gcc.target/i386/fma4-256-vector.c
M gcc/testsuite/gcc.target/i386/funcspec-8.c
A + gcc/testsuite/gcc.target/i386/sse-12.c
M gcc/testsuite/gcc.target/i386/avx-2.c
A + gcc/testsuite/gcc.target/i386/isa-11.c
A + gcc/testsuite/gcc.target/i386/sse-14.c
M gcc/testsuite/gcc.target/i386/sse-23.c
A + gcc/testsuite/gcc.target/i386/isa-2.c
A + gcc/testsuite/gcc.target/i386/isa-13.c
A + gcc/testsuite/gcc.target/i386/isa-4.c
A + gcc/testsuite/gcc.target/i386/fma4-nmaccXX.c
M gcc/testsuite/gcc.target/i386/isa-6.c
A + gcc/testsuite/gcc.target/i386/fma4-nmsubXX.c
A + gcc/testsuite/gcc.target/i386/isa-8.c
A + gcc/testsuite/gcc.target/i386/fma4-256-nmaccXX.c
M gcc/testsuite/gcc.target/i386/funcspec-5.c
A + gcc/testsuite/gcc.target/i386/fma4-256-nmsubXX.c
M gcc/testsuite/gcc.target/i386/avx-1.c
R + gcc/testsuite/gcc.target/i386/funcspec-9.c
A + gcc/testsuite/gcc.target/i386/isa-10.c
A + gcc/testsuite/gcc.target/i386/sse-13.c
A + gcc/testsuite/gcc.target/i386/sse-22.c
_M gcc/testsuite/gcc.target/x86_64/abi/callabi
A + gcc/testsuite/gcc.target/vsx-vectorize-1.c
M gcc/testsuite/gcc.target/mips/code-readable-1.c
M gcc/testsuite/gcc.target/mips/code-readable-2.c
M gcc/testsuite/gcc.target/mips/code-readable-3.c
A + gcc/testsuite/gcc.target/vsx-vectorize-2.c
A + gcc/testsuite/gcc.target/vsx-vectorize-3.c
A + gcc/testsuite/gcc.target/vsx-vectorize-4.c
A + gcc/testsuite/gcc.target/vsx-vectorize-5.c
A + gcc/testsuite/gcc.target/vsx-vectorize-6.c
A + gcc/testsuite/gcc.target/vsx-vectorize-7.c
A + gcc/testsuite/gcc.target/vsx-vectorize-8.c
M gcc/testsuite/gnat.dg/array7.adb
M gcc/testsuite/gnat.dg/array7.ads
A + gcc/testsuite/gnat.dg/nested_proc.adb
A + gcc/testsuite/gnat.dg/array9.adb
A + gcc/testsuite/gnat.dg/sse_nolib.adb
A + gcc/testsuite/gnat.dg/tagged_alloc_free.adb
A + gcc/testsuite/gcc.dg/pr41470.c
A + gcc/testsuite/gcc.dg/guality/pr41353-1.c
M gcc/testsuite/gcc.dg/guality/guality.h
M gcc/testsuite/gcc.dg/guality/guality.exp
A + gcc/testsuite/gcc.dg/debug/dwarf2/global-used-types.c
M gcc/testsuite/gcc.dg/debug/dwarf2/const-1.c
A + gcc/testsuite/gcc.dg/cond-constqual-1.c
A + gcc/testsuite/gcc.dg/20090922-1.c
A + gcc/testsuite/gcc.dg/pr40209.c
M gcc/testsuite/gcc.dg/builtins-44.c
A + gcc/testsuite/gcc.dg/pr41454.c
M gcc/testsuite/gcc.dg/torture/builtin-math-7.c
_M gcc/testsuite/gcc.dg/torture/pr36227.c
A + gcc/testsuite/gcc.dg/tree-ssa/pr41469-1.c
M gcc/testsuite/gcc.dg/tree-ssa/fre-vce-1.c
M gcc/testsuite/gcc.dg/tree-ssa/forwprop-6.c
A + gcc/testsuite/gcc.dg/pr41248.c
A + gcc/testsuite/gcc.dg/pr41295.c
M gcc/testsuite/gcc.dg/vect/vect.exp
M gcc/testsuite/ChangeLog
M gcc/testsuite/gcc.test-framework/dg-bogus-exp-XF.c
M gcc/testsuite/gcc.test-framework/dg-warning-exp-P.c
M gcc/testsuite/g++.dg/other/i386-2.C
M gcc/testsuite/g++.dg/other/i386-6.C
M gcc/testsuite/g++.dg/other/i386-3.C
M gcc/testsuite/g++.dg/other/i386-5.C
M gcc/testsuite/g++.dg/tree-ssa/pr19637.C
A + gcc/testsuite/g++.dg/tree-ssa/pr41428.C
M gcc/testsuite/g++.dg/dg.exp
A + gcc/testsuite/g++.dg/debug/dwarf2/global-used-types-1.C
M gcc/testsuite/g++.dg/debug/dwarf2/explicit-constructor.C
M gcc/testsuite/g++.dg/debug/dwarf2/imported-module-2.C
M gcc/testsuite/g++.dg/debug/dwarf2/imported-module-3.C
M gcc/testsuite/g++.dg/debug/dwarf2/const1.C
M gcc/testsuite/g++.dg/debug/dwarf2/imported-module-4.C
M gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-4.C
M gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-7.C
M gcc/testsuite/g++.dg/debug/dwarf2/namespace-1.C
M gcc/testsuite/g++.dg/debug/dwarf2/template-params-4.C
M gcc/testsuite/g++.dg/vect/vect.exp
A + gcc/testsuite/g++.dg/cpp0x/lambda
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-lookup-neg.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-copy-neg.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-type.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nested.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-field-names.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-errloc.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-copy-default.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const-neg.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce-ext-neg.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ref-default.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-mangle.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-pass.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-mixed.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-capture-const-ref-neg.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-copy.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ref.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-std-function.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ctor-neg.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-non-const.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce-ext-neg2.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-in-class-neg.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce-ext.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ns-scope.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-defarg.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-mutable.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ctors.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-use.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-eh.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nop.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce-neg.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-capture-const-ref.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-copy-default-neg.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-recursive.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-in-class.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template.C
A + gcc/testsuite/g++.dg/cpp0x/lambda/lambda-array.C
_M gcc/testsuite/g++.dg/cpp0x/decltype-38655.C
A + gcc/testsuite/g++.dg/gomp/pr41429.C
A + gcc/testsuite/g++.dg/torture/pr38747.C
A + gcc/testsuite/g++.dg/dfp
A + gcc/testsuite/g++.dg/dfp/dfp.exp
A + gcc/testsuite/g++.dg/dfp/mangle-mode.C
M gcc/testsuite/objc.dg/dwarf-2.m
M gcc/testsuite/lib/profopt.exp
M gcc/testsuite/lib/scanasm.exp
M gcc/testsuite/lib/prune.exp
M gcc/testsuite/lib/target-supports.exp
M gcc/testsuite/gfortran.dg/warnings_are_errors_1.f
A + gcc/testsuite/gfortran.dg/block_2.f08
A + gcc/testsuite/gfortran.dg/block_4.f08
A + gcc/testsuite/gfortran.dg/round_1.f03
A + gcc/testsuite/gfortran.dg/block_6.f08
M gcc/testsuite/gfortran.dg/debug/pr37738.f
M gcc/testsuite/gfortran.dg/debug/pr35154-dwarf2.f
A + gcc/testsuite/gfortran.dg/block_8.f08
A + gcc/testsuite/gfortran.dg/empty_label.f
M gcc/testsuite/gfortran.dg/f2003_io_3.f03
A + gcc/testsuite/gfortran.dg/block_1.f08
A + gcc/testsuite/gfortran.dg/block_5.f08
A + gcc/testsuite/gfortran.dg/block_3.f90
A + gcc/testsuite/gfortran.dg/block_7.f08
A + gcc/testsuite/gfortran.dg/empty_label.f90
M gcc/testsuite/gfortran.dg/vect/vect.exp
M gcc/testsuite/c-c++-common/dfp/func-vararg-mixed.c
M gcc/testsuite/c-c++-common/dfp/func-vararg-alternate-d32.c
M gcc/testsuite/c-c++-common/dfp/func-vararg-mixed-2.c
M gcc/testsuite/c-c++-common/dfp/func-vararg-dfp.c
M gcc/unwind-dw2-fde-glibc.c
M gcc/df-scan.c
M gcc/objcp/Make-lang.in
M gcc/objcp/ChangeLog
M gcc/objcp/objcp-lang.c
M gcc/cp/typeck.c
M gcc/cp/class.c
M gcc/cp/decl.c
M gcc/cp/method.c
M gcc/cp/error.c
M gcc/cp/tree.c
M gcc/cp/ChangeLog
M gcc/cp/cp-gimplify.c
M gcc/cp/typeck2.c
M gcc/cp/cp-lang.c
M gcc/cp/pt.c
M gcc/cp/semantics.c
M gcc/cp/parser.c
M gcc/cp/cp-tree.def
M gcc/cp/cp-objcp-common.c
M gcc/cp/cp-objcp-common.h
_M gcc/cp/ChangeLog-2007
_M gcc/cp/ChangeLog-2008
M gcc/cp/mangle.c
M gcc/cp/cp-tree.h
M gcc/cp/search.c
M gcc/cp/name-lookup.c
M gcc/cp/lex.c
M gcc/tree-ssa-ccp.c
M gcc/builtins.def
M gcc/tree-ssa-dom.c
M gcc/tree-ssa-propagate.c
M gcc/tree-ssa-propagate.h
M gcc/crtstuff.c
M gcc/ifcvt.c
M gcc/dwarf2out.c
M gcc/expr.h
M gcc/libgcc2.c
M gcc/ada/ChangeLog
M gcc/ada/gcc-interface/utils.c
M gcc/ada/gcc-interface/Makefile.in
M gcc/ada/gcc-interface/decl.c
M gcc/ada/gcc-interface/targtyps.c
M gcc/ada/gcc-interface/utils2.c
M gcc/ada/gcc-interface/gigi.h
M gcc/ada/gcc-interface/trans.c
M gcc/ada/gcc-interface/ada-tree.h
M gcc/ada/gcc-interface/ada.h
M gcc/ada/gcc-interface/misc.c
M gcc/melt-runtime.c
M gcc/c-decl.c
M gcc/tree-eh.c
M gcc/fortran/decl.c
M gcc/fortran/gfortran.h
M gcc/fortran/error.c
M gcc/fortran/ChangeLog
M gcc/fortran/trans-stmt.c
M gcc/fortran/trans-stmt.h
M gcc/fortran/trans.c
M gcc/fortran/trans.h
M gcc/fortran/io.c
M gcc/fortran/resolve.c
M gcc/fortran/f95-lang.c
M gcc/fortran/st.c
M gcc/fortran/match.c
M gcc/fortran/trans-decl.c
M gcc/fortran/match.h
M gcc/fortran/parse.c
M gcc/fortran/parse.h
M gcc/fortran/simplify.c
M gcc/configure.ac
M gcc/function.c
M gcc/langhooks.h
M gcc/function.h
M gcc/stor-layout.c
M gcc/alias.c
M gcc/ggc.h
M gcc/c-typeck.c
M gcc/gcc-plugin.h
M gcc/calls.c
M gcc/tree-ssa-coalesce.c
M gcc/ggc-common.c
M gcc/tree-dfa.c
M gcc/except.c
M gcc/emit-rtl.c
M gcc/except.h
M gcc/cfgexpand.c
M gcc/c-opts.c
M gcc/loop-iv.c
M gcc/print-tree.c
M gcc/tree-ssa-copy.c
M gcc/tree-ssa-forwprop.c
M gcc/common.opt
M gcc/varasm.c
M gcc/tree-nested.c
M gcc/target-def.h
M gcc/rtl.h
M gcc/tree-vect-stmts.c
M gcc/tree-inline.c
M gcc/var-tracking.c
M gcc/system.h
M gcc/plugin.c
M gcc/c-common.c
M gcc/tree-flow.h
M gcc/c-common.h
M gcc/config.gcc
M gcc/Makefile.in
M gcc/tree-cfg.c
M gcc/passes.c
M gcc/c-parser.c
M gcc/config/alpha/vms.h
M gcc/config/alpha/alpha.c
M gcc/config/alpha/alpha.h
M gcc/config/alpha/openbsd.h
M gcc/config/alpha/alpha.md
M gcc/config/frv/frv.h
M gcc/config/frv/frv-protos.h
M gcc/config/frv/frv.c
M gcc/config/s390/s390.c
M gcc/config/s390/s390.h
M gcc/config/s390/s390-protos.h
M gcc/config/m32c/m32c.c
M gcc/config/m32c/m32c.h
M gcc/config/m32c/m32c-protos.h
M gcc/config/spu/spu-protos.h
M gcc/config/spu/spu.c
M gcc/config/spu/spu.h
M gcc/config/sparc/sparc.md
M gcc/config/sparc/sparc-protos.h
M gcc/config/sparc/sparc.c
M gcc/config/sparc/sparc.h
M gcc/config/mep/mep-protos.h
M gcc/config/mep/mep.c
M gcc/config/mep/mep.h
M gcc/config/m32r/m32r.c
M gcc/config/m32r/m32r.h
A + gcc/config/openbsd-stdint.h
M gcc/config/i386/i386.h
M gcc/config/i386/cygming.h
M gcc/config/i386/cygwin.h
M gcc/config/i386/i386.md
M gcc/config/i386/smmintrin.h
M gcc/config/i386/cpuid.h
M gcc/config/i386/x86intrin.h
M gcc/config/i386/sse.md
M gcc/config/i386/i386-c.c
M gcc/config/i386/i386.opt
A + gcc/config/i386/fma4intrin.h
M gcc/config/i386/openbsdelf.h
D gcc/config/i386/mmintrin-common.h
M gcc/config/i386/mingw32.h
M gcc/config/i386/i386-protos.h
M gcc/config/i386/i386.c
D gcc/config/sh/symbian.c
M gcc/config/sh/sh-protos.h
A + gcc/config/sh/symbian-base.c
A + gcc/config/sh/symbian-cxx.c
M gcc/config/sh/symbian-post.h
M gcc/config/sh/sh.c
A + gcc/config/sh/sh-symbian.h
M gcc/config/sh/sh.h
A + gcc/config/sh/symbian-c.c
M gcc/config/sh/t-symbian
M gcc/config/pdp11/pdp11.c
M gcc/config/pdp11/pdp11.h
M gcc/config/avr/avr.c
M gcc/config/avr/avr.h
M gcc/config/crx/crx.h
M gcc/config/xtensa/xtensa.c
M gcc/config/xtensa/xtensa.h
M gcc/config/xtensa/xtensa-protos.h
M gcc/config/stormy16/stormy16.c
M gcc/config/stormy16/stormy16.h
M gcc/config/fr30/fr30.h
M gcc/config/fr30/fr30.c
M gcc/config/moxie/moxie.c
M gcc/config/moxie/moxie.h
M gcc/config/m68hc11/m68hc11-protos.h
M gcc/config/m68hc11/m68hc11.c
M gcc/config/m68hc11/m68hc11.h
A + gcc/config/openbsd-libpthread.h
M gcc/config/cris/cris.c
M gcc/config/cris/cris.h
M gcc/config/netbsd.h
M gcc/config/iq2000/iq2000.h
M gcc/config/iq2000/iq2000.c
M gcc/config/mn10300/mn10300.c
M gcc/config/mn10300/mn10300.h
M gcc/config/ia64/predicates.md
M gcc/config/ia64/ia64.c
M gcc/config/ia64/ia64.h
M gcc/config/ia64/ia64.md
M gcc/config/ia64/ia64-protos.h
M gcc/config/m68k/openbsd.h
M gcc/config/m68k/m68k.c
M gcc/config/m68k/netbsd-elf.h
M gcc/config/m68k/m68k.h
M gcc/config/rs6000/predicates.md
M gcc/config/rs6000/rs6000-protos.h
M gcc/config/rs6000/rs6000.c
M gcc/config/rs6000/vsx.md
M gcc/config/rs6000/rs6000.h
M gcc/config/rs6000/rs6000.md
M gcc/config/picochip/picochip.c
M gcc/config/picochip/picochip.h
M gcc/config/picochip/picochip-protos.h
M gcc/config/arc/arc.c
M gcc/config/arc/arc.h
M gcc/config/mcore/mcore.c
M gcc/config/mcore/mcore.h
M gcc/config/darwin.c
M gcc/config/darwin.h
M gcc/config/score/score3.c
M gcc/config/score/score7.c
M gcc/config/score/score3.h
M gcc/config/score/score-protos.h
M gcc/config/score/score7.h
M gcc/config/score/score.c
M gcc/config/score/score.h
M gcc/config/arm/arm.c
M gcc/config/arm/arm.h
M gcc/config/pa/pa-protos.h
M gcc/config/pa/pa.c
M gcc/config/pa/pa.h
M gcc/config/mips/openbsd.h
M gcc/config/mips/mips.c
M gcc/config/mips/mips.h
M gcc/config/t-freebsd
M gcc/config/openbsd.h
M gcc/config/freebsd-spec.h
M gcc/config/vax/vax.c
M gcc/config/vax/openbsd.h
M gcc/config/vax/vax.h
M gcc/config/h8300/h8300.c
M gcc/config/h8300/h8300.h
M gcc/config/v850/v850.c
M gcc/config/v850/v850.h
M gcc/config/mmix/mmix.h
M gcc/config/mmix/mmix-protos.h
M gcc/config/mmix/mmix.c
M gcc/config/bfin/bfin-protos.h
M gcc/config/bfin/bfin.c
M gcc/config/bfin/bfin.h
M gcc/stmt.c
M gcc/collect2.c
M gcc/langhooks-def.h
M gcc/reload1.c
M config.sub
M libstdc++-v3/configure
M libstdc++-v3/doc/xml/manual/intro.xml
M libstdc++-v3/doc/html/ext/lwg-closed.html
M libstdc++-v3/doc/html/ext/lwg-active.html
M libstdc++-v3/doc/html/ext/lwg-defects.html
M libstdc++-v3/include/parallel/multiway_merge.h
M libstdc++-v3/include/parallel/find_selectors.h
M libstdc++-v3/include/parallel/losertree.h
M libstdc++-v3/include/parallel/list_partition.h
M libstdc++-v3/include/parallel/for_each.h
M libstdc++-v3/include/parallel/multiseq_selection.h
M libstdc++-v3/include/parallel/workstealing.h
M libstdc++-v3/include/parallel/base.h
M libstdc++-v3/include/parallel/par_loop.h
M libstdc++-v3/include/parallel/numeric
M libstdc++-v3/include/parallel/equally_split.h
M libstdc++-v3/include/parallel/for_each_selectors.h
M libstdc++-v3/include/parallel/omp_loop_static.h
M libstdc++-v3/include/parallel/random_shuffle.h
M libstdc++-v3/include/parallel/merge.h
M libstdc++-v3/include/parallel/multiway_mergesort.h
M libstdc++-v3/include/parallel/numericfwd.h
M libstdc++-v3/include/parallel/search.h
M libstdc++-v3/include/parallel/partition.h
M libstdc++-v3/include/parallel/algobase.h
M libstdc++-v3/include/parallel/find.h
M libstdc++-v3/include/parallel/algo.h
M libstdc++-v3/include/parallel/omp_loop.h
M libstdc++-v3/include/parallel/checkers.h
M libstdc++-v3/include/parallel/sort.h
M libstdc++-v3/include/bits/random.tcc
M libstdc++-v3/include/tr1/random.tcc
M libstdc++-v3/libsupc++/eh_terminate.cc
M libstdc++-v3/libsupc++/vec.cc
M libstdc++-v3/libsupc++/vterminate.cc
M libstdc++-v3/libsupc++/new_opnt.cc
M libstdc++-v3/ChangeLog
_M libstdc++-v3/testsuite/27_io/basic_ofstream/cons/char/1.cc
_M libstdc++-v3/testsuite/27_io/basic_ofstream/pthread2.cc
_M libstdc++-v3/testsuite/27_io/basic_fstream/open/char/1.cc
_M libstdc++-v3/testsuite/27_io/basic_fstream/cons/1.cc
_M libstdc++-v3/testsuite/27_io/basic_ostringstream/pthread3.cc
_M libstdc++-v3/testsuite/18_support/pthread_guard.cc
_M libstdc++-v3/testsuite/21_strings/basic_string/pthread18185.cc
_M libstdc++-v3/testsuite/21_strings/basic_string/pthread4.cc
_M libstdc++-v3/testsuite/30_threads/condition_variable/members
_M libstdc++-v3/testsuite/30_threads/this_thread
_M libstdc++-v3/testsuite/30_threads/thread/members
_M libstdc++-v3/testsuite/30_threads/thread/swap
A + libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/constants.cc
A + libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/constants.cc
A + libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/constants.cc
A + libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constants.cc
_M libstdc++-v3/testsuite/ext/rope/pthread7-rope.cc
A + libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/requirements/constants.cc
A + libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/requirements/constants.cc
A + libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/requirements/constants.cc
A + libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/constants.cc
A + libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/requirements/constants.cc
A + libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/requirements/constants.cc
_M libstdc++-v3/testsuite/23_containers/list/pthread1.cc
_M libstdc++-v3/testsuite/23_containers/list/pthread5.cc
_M libstdc++-v3/testsuite/23_containers/map/pthread6.cc
_M libstdc++-v3/testsuite/20_util/unique_ptr/assign/assign_neg.cc
_M libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc
_M libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc
M libstdc++-v3/acinclude.m4
M configure.ac
M libgfortran/configure
M libgfortran/ChangeLog
M libgfortran/config.h.in
M libgfortran/configure.ac
M libgfortran/io/io.h
M libgfortran/io/unit.c
M libgfortran/io/transfer.c
M libgfortran/io/format.c
M libgfortran/io/write_float.def
M Makefile.tpl
M libmudflap/ChangeLog
M libmudflap/mf-runtime.c
M include/ChangeLog
M include/demangle.h
M include/dwarf2.h
M libiberty/ChangeLog
M libiberty/testsuite/demangle-expected
M libiberty/cplus-dem.c
M libiberty/Makefile.in
M libiberty/choose-temp.c
M libiberty/cp-demangle.c
M ChangeLog
M ChangeLog.MELT
M libffi/src/arm/sysv.S
M libffi/src/x86/win64.S
M libffi/ChangeLog
M libjava/Makefile.in
M libjava/libltdl/Makefile.in
M libjava/libltdl/ltdl.h
M libjava/libltdl/ChangeLog
M libjava/libltdl/Makefile.am
M libjava/configure.host
M libjava/configure.ac
_M libjava/classpath
M libjava/ChangeLog
M libjava/sysdep/i386/backtrace.h
M libjava/configure
M libjava/Makefile.am
M libcpp/configure
M libcpp/files.c
M libcpp/ChangeLog
M libcpp/configure.ac
M MAINTAINERS
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@152327 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/plugin.c')
-rw-r--r-- | gcc/plugin.c | 195 |
1 files changed, 7 insertions, 188 deletions
diff --git a/gcc/plugin.c b/gcc/plugin.c index 906068387b7..414d5783fa5 100644 --- a/gcc/plugin.c +++ b/gcc/plugin.c @@ -57,6 +57,7 @@ const char *plugin_event_name[] = "PLUGIN_GGC_MARKING", "PLUGIN_GGC_END", "PLUGIN_REGISTER_GGC_ROOTS", + "PLUGIN_REGISTER_GGC_CACHES", "PLUGIN_START_UNIT", "PLUGIN_EVENT_LAST" }; @@ -77,20 +78,6 @@ struct callback_info /* An array of lists of 'callback_info' objects indexed by the event id. */ static struct callback_info *plugin_callbacks[PLUGIN_EVENT_LAST] = { NULL }; -/* List node for an inserted pass instance. We need to keep track of all - the newly-added pass instances (with 'added_pass_nodes' defined below) - so that we can register their dump files after pass-positioning is finished. - Registering dumping files needs to be post-processed or the - static_pass_number of the opt_pass object would be modified and mess up - the dump file names of future pass instances to be added. */ -struct pass_list_node -{ - struct opt_pass *pass; - struct pass_list_node *next; -}; - -static struct pass_list_node *added_pass_nodes = NULL; -static struct pass_list_node *prev_added_pass_node; #ifdef ENABLE_PLUGIN /* Each plugin should define an initialization function with exactly @@ -286,179 +273,6 @@ parse_plugin_arg_opt (const char *arg) XDELETEVEC (name); } - -/* Insert the plugin pass at the proper position. Return true if the pass - is successfully added. - - PLUGIN_PASS_INFO - new pass to be inserted - PASS_LIST - root of the pass list to insert the new pass to */ - -static bool -position_pass (struct plugin_pass *plugin_pass_info, - struct opt_pass **pass_list) -{ - struct opt_pass *pass = *pass_list, *prev_pass = NULL; - bool success = false; - - for ( ; pass; prev_pass = pass, pass = pass->next) - { - /* Check if the current pass is of the same type as the new pass and - matches the name and the instance number of the reference pass. */ - if (pass->type == plugin_pass_info->pass->type - && pass->name - && !strcmp (pass->name, plugin_pass_info->reference_pass_name) - && ((plugin_pass_info->ref_pass_instance_number == 0) - || (plugin_pass_info->ref_pass_instance_number == - pass->static_pass_number) - || (plugin_pass_info->ref_pass_instance_number == 1 - && pass->todo_flags_start & TODO_mark_first_instance))) - { - struct opt_pass *new_pass = plugin_pass_info->pass; - struct pass_list_node *new_pass_node; - - /* The following code (if-statement) is adopted from next_pass_1. */ - if (new_pass->static_pass_number) - { - new_pass = XNEW (struct opt_pass); - memcpy (new_pass, plugin_pass_info->pass, sizeof (*new_pass)); - new_pass->next = NULL; - - new_pass->todo_flags_start &= ~TODO_mark_first_instance; - - plugin_pass_info->pass->static_pass_number -= 1; - new_pass->static_pass_number = - -plugin_pass_info->pass->static_pass_number; - } - else - { - new_pass->todo_flags_start |= TODO_mark_first_instance; - new_pass->static_pass_number = -1; - } - - /* Insert the new pass instance based on the positioning op. */ - switch (plugin_pass_info->pos_op) - { - case PASS_POS_INSERT_AFTER: - new_pass->next = pass->next; - pass->next = new_pass; - - /* Skip newly inserted pass to avoid repeated - insertions in the case where the new pass and the - existing one have the same name. */ - pass = new_pass; - break; - case PASS_POS_INSERT_BEFORE: - new_pass->next = pass; - if (prev_pass) - prev_pass->next = new_pass; - else - *pass_list = new_pass; - break; - case PASS_POS_REPLACE: - new_pass->next = pass->next; - if (prev_pass) - prev_pass->next = new_pass; - else - *pass_list = new_pass; - new_pass->sub = pass->sub; - new_pass->tv_id = pass->tv_id; - pass = new_pass; - break; - default: - error ("Invalid pass positioning operation"); - return false; - } - - /* Save the newly added pass (instance) in the added_pass_nodes - list so that we can register its dump file later. Note that - we cannot register the dump file now because doing so will modify - the static_pass_number of the opt_pass object and therefore - mess up the dump file name of future instances. */ - new_pass_node = XCNEW (struct pass_list_node); - new_pass_node->pass = new_pass; - if (!added_pass_nodes) - added_pass_nodes = new_pass_node; - else - prev_added_pass_node->next = new_pass_node; - prev_added_pass_node = new_pass_node; - - success = true; - } - - if (pass->sub && position_pass (plugin_pass_info, &pass->sub)) - success = true; - } - - return success; -} - - -/* Hook into the pass lists (trees) a new pass registered by a plugin. - - PLUGIN_NAME - display name for the plugin - PASS_INFO - plugin pass information that specifies the opt_pass object, - reference pass, instance number, and how to position - the pass */ - -static void -register_pass (const char *plugin_name, struct plugin_pass *pass_info) -{ - if (!pass_info->pass) - { - error ("No pass specified when registering a new pass in plugin %s", - plugin_name); - return; - } - - if (!pass_info->reference_pass_name) - { - error ("No reference pass specified for positioning the pass " - " from plugin %s", plugin_name); - return; - } - - /* Try to insert the new pass to the pass lists. We need to check all - three lists as the reference pass could be in one (or all) of them. */ - if (!position_pass (pass_info, &all_lowering_passes) - && !position_pass (pass_info, &all_ipa_passes) - && !position_pass (pass_info, &all_passes)) - error ("Failed to position pass %s registered by plugin %s. " - "Cannot find the (specified instance of) reference pass %s", - pass_info->pass->name, plugin_name, pass_info->reference_pass_name); - else - { - /* OK, we have successfully inserted the new pass. We need to register - the dump files for the newly added pass and its duplicates (if any). - Because the registration of plugin passes happens after the - command-line options are parsed, the options that specify single - pass dumping (e.g. -fdump-tree-PASSNAME) cannot be used for new - plugin passes. Therefore we currently can only enable dumping of - new plugin passes when the 'dump-all' flags (e.g. -fdump-tree-all) - are specified. While doing so, we also delete the pass_list_node - objects created during pass positioning. */ - while (added_pass_nodes) - { - struct pass_list_node *next_node = added_pass_nodes->next; - enum tree_dump_index tdi; - register_one_dump_file (added_pass_nodes->pass); - if (added_pass_nodes->pass->type == SIMPLE_IPA_PASS - || added_pass_nodes->pass->type == IPA_PASS) - tdi = TDI_ipa_all; - else if (added_pass_nodes->pass->type == GIMPLE_PASS) - tdi = TDI_tree_all; - else - tdi = TDI_rtl_all; - /* Check if dump-all flag is specified. */ - if (get_dump_file_info (tdi)->state) - get_dump_file_info (added_pass_nodes->pass->static_pass_number) - ->state = get_dump_file_info (tdi)->state; - XDELETE (added_pass_nodes); - added_pass_nodes = next_node; - } - } -} - - /* Register additional plugin information. NAME is the name passed to plugin_init. INFO is the information that should be registered. */ @@ -489,7 +303,7 @@ register_callback (const char *plugin_name, { case PLUGIN_PASS_MANAGER_SETUP: gcc_assert (!callback); - register_pass (plugin_name, (struct plugin_pass *) user_data); + register_pass ((struct register_pass_info *) user_data); break; case PLUGIN_INFO: gcc_assert (!callback); @@ -499,6 +313,10 @@ register_callback (const char *plugin_name, gcc_assert (!callback); ggc_register_root_tab ((const struct ggc_root_tab*) user_data); break; + case PLUGIN_REGISTER_GGC_CACHES: + gcc_assert (!callback); + ggc_register_cache_tab ((const struct ggc_cache_tab*) user_data); + break; case PLUGIN_FINISH_TYPE: case PLUGIN_START_UNIT: case PLUGIN_FINISH_UNIT: @@ -566,6 +384,7 @@ invoke_plugin_callbacks (enum plugin_event event, void *gcc_data) case PLUGIN_PASS_MANAGER_SETUP: case PLUGIN_EVENT_LAST: case PLUGIN_REGISTER_GGC_ROOTS: + case PLUGIN_REGISTER_GGC_CACHES: default: gcc_assert (false); } |