OSDN Git Service

2008-07-28 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 28 Jul 2008 14:33:56 +0000 (14:33 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 28 Jul 2008 14:33:56 +0000 (14:33 +0000)
Merge from gimple-tuples-branch.

* ChangeLog.tuples: ChangeLog from gimple-tuples-branch.
* gimple.def: New file.
* gsstruct.def: Likewise.
* gimple-iterator.c: Likewise.
* gimple-pretty-print.c: Likewise.
* tree-gimple.c: Removed.  Merged into ...
* gimple.c: ... here.  New file.
* tree-gimple.h: Removed.  Merged into ...
* gimple.h: ... here.  New file.

* Makefile.in: Add dependencies on GIMPLE_H and tree-iterator.h.
* configure.ac: Added support for ENABLE_GIMPLE_CHECKING and the
--enable-checking=gimple flag.
* config.in: Likewise.
* configure: Regenerated.

* tree-ssa-operands.h: Tuplified.
* tree-vrp.c: Likewise.
* tree-loop-linear.c: Likewise.
* tree-into-ssa.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-dump.c: Likewise.
* tree-complex.c: Likewise.
* cgraphbuild.c: Likewise.
* tree-ssa-threadupdate.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-pretty-print.c: Likewise.
* tracer.c: Likewise.
* gengtype.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-ssa-loop-unswitch.c: Likewise.
* cgraph.c: Likewise.
* cgraph.h: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* value-prof.c: Likewise.
* tree-ssa-loop-ch.c: Likewise.
* tree-tailcall.c: Likewise.
* value-prof.h: Likewise.
* tree.c: Likewise.
* tree.h: Likewise.
* tree-pass.h: Likewise.
* ipa-cp.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-scalar-evolution.h: Likewise.
* target.h: Likewise.
* lambda-mat.c: Likewise.
* tree-phinodes.c: Likewise.
* diagnostic.h: Likewise.
* builtins.c: Likewise.
* tree-ssa-alias-warnings.c: Likewise.
* cfghooks.c: Likewise.
* fold-const.c: Likewise.
* cfghooks.h: Likewise.
* omp-low.c: Likewise.
* tree-ssa-dse.c: Likewise.
* ipa-reference.c: Likewise.
* tree-ssa-uncprop.c: Likewise.
* toplev.c: Likewise.
* tree-gimple.c: Likewise.
* tree-gimple.h: Likewise.
* tree-chrec.c: Likewise.
* tree-chrec.h: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-sccvn.h: Likewise.
* cgraphunit.c: Likewise.
* tree-ssa-copyrename.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-nomudflap.c: Likewise.
* tree-call-cdce.c: Likewise.
* ipa-pure-const.c: Likewise.
* c-format.c: Likewise.
* tree-stdarg.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-dom.c: Likewise.
* tree-nrv.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* ipa-utils.c: Likewise.
* tree-ssa-propagate.h: Likewise.
* tree-ssa-alias.c: Likewise.
* gimple-low.c: Likewise.
* tree-ssa-sink.c: Likewise.
* ipa-inline.c: Likewise.
* c-semantics.c: Likewise.
* dwarf2out.c: Likewise.
* expr.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* predict.c: Likewise.
* tree-ssa-loop.c: Likewise.
* tree-parloops.c: Likewise.
* tree-ssa-address.c: Likewise.
* tree-ssa-ifcombine.c: Likewise.
* matrix-reorg.c: Likewise.
* c-decl.c: Likewise.
* tree-eh.c: Likewise.
* c-pretty-print.c: Likewise.
* lambda-trans.c: Likewise.
* function.c: Likewise.
* langhooks.c: Likewise.
* ebitmap.h: Likewise.
* tree-vectorizer.c: Likewise.
* function.h: Likewise.
* langhooks.h: Likewise.
* tree-vectorizer.h: Likewise.
* ipa-type-escape.c: Likewise.
* ipa-type-escape.h: Likewise.
* domwalk.c: Likewise.
* tree-if-conv.c: Likewise.
* profile.c: Likewise.
* domwalk.h: Likewise.
* tree-data-ref.c: Likewise.
* tree-data-ref.h: Likewise.
* tree-flow-inline.h: Likewise.
* tree-affine.c: Likewise.
* tree-vect-analyze.c: Likewise.
* c-typeck.c: Likewise.
* gimplify.c: Likewise.
* coretypes.h: Likewise.
* tree-ssa-phiopt.c: Likewise.
* calls.c: Likewise.
* tree-ssa-coalesce.c: Likewise.
* tree.def: Likewise.
* tree-dfa.c: Likewise.
* except.c: Likewise.
* except.h: Likewise.
* cfgexpand.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-live.h: Likewise.
* tree-predcom.c: Likewise.
* lambda.h: Likewise.
* tree-mudflap.c: Likewise.
* ipa-prop.c: Likewise.
* print-tree.c: Likewise.
* tree-ssa-copy.c: Likewise.
* ipa-prop.h: Likewise.
* tree-ssa-forwprop.c: Likewise.
* ggc-page.c: Likewise.
* c-omp.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-ssa-ter.c: Likewise.
* tree-nested.c: Likewise.
* tree-ssa.c: Likewise.
* lambda-code.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-inline.c: Likewise.
* tree-inline.h: Likewise.
* tree-iterator.c: Likewise.
* tree-optimize.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-vect-transform.c: Likewise.
* tree-object-size.c: Likewise.
* tree-outof-ssa.c: Likewise.
* cfgloop.c: Likewise.
* system.h: Likewise.
* tree-profile.c: Likewise.
* cfgloop.h: Likewise.
* c-gimplify.c: Likewise.
* c-common.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-flow.h: Likewise.
* c-common.h: Likewise.
* basic-block.h: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-ssa-structalias.h: Likewise.
* tree-cfg.c: Likewise.
* passes.c: Likewise.
* ipa-struct-reorg.c: Likewise.
* ipa-struct-reorg.h: Likewise.
* tree-ssa-reassoc.c: Likewise.
* cfgrtl.c: Likewise.
* varpool.c: Likewise.
* stmt.c: Likewise.
* tree-ssanames.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* langhooks-def.h: Likewise.
* tree-ssa-operands.c: Likewise.
* config/alpha/alpha.c: Likewise.
* config/frv/frv.c: Likewise.
* config/s390/s390.c: Likewise.
* config/m32c/m32c.c: Likewise.
* config/m32c/m32c-protos.h: Likewise.
* config/spu/spu.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/i386/i386.c: Likewise.
* config/sh/sh.c: Likewise.
* config/xtensa/xtensa.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/pa/pa.c: Likewise.
* config/mips/mips.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138207 138bc75d-0d04-0410-961f-82ee72b054a4

251 files changed:
gcc/ChangeLog
gcc/ChangeLog.tuples [new file with mode: 0644]
gcc/Makefile.in
gcc/ada/ChangeLog
gcc/ada/Make-lang.in
gcc/ada/ada-tree.h
gcc/ada/gigi.h
gcc/ada/trans.c
gcc/ada/utils.c
gcc/basic-block.h
gcc/builtins.c
gcc/c-common.c
gcc/c-common.h
gcc/c-decl.c
gcc/c-format.c
gcc/c-gimplify.c
gcc/c-omp.c
gcc/c-pretty-print.c
gcc/c-semantics.c
gcc/c-typeck.c
gcc/calls.c
gcc/cfgexpand.c
gcc/cfghooks.c
gcc/cfghooks.h
gcc/cfgloop.c
gcc/cfgloop.h
gcc/cfgrtl.c
gcc/cgraph.c
gcc/cgraph.h
gcc/cgraphbuild.c
gcc/cgraphunit.c
gcc/config.in
gcc/config/alpha/alpha.c
gcc/config/frv/frv.c
gcc/config/i386/i386.c
gcc/config/ia64/ia64.c
gcc/config/m32c/m32c-protos.h
gcc/config/m32c/m32c.c
gcc/config/mips/mips.c
gcc/config/pa/pa.c
gcc/config/rs6000/rs6000.c
gcc/config/s390/s390.c
gcc/config/sh/sh.c
gcc/config/sparc/sparc.c
gcc/config/spu/spu.c
gcc/config/stormy16/stormy16.c
gcc/config/xtensa/xtensa.c
gcc/configure
gcc/configure.ac
gcc/coretypes.h
gcc/cp/ChangeLog
gcc/cp/Make-lang.in
gcc/cp/cp-gimplify.c
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/decl2.c
gcc/cp/except.c
gcc/cp/init.c
gcc/cp/optimize.c
gcc/cp/semantics.c
gcc/diagnostic.h
gcc/domwalk.c
gcc/domwalk.h
gcc/dwarf2out.c
gcc/ebitmap.h
gcc/except.c
gcc/except.h
gcc/expr.c
gcc/fold-const.c
gcc/fortran/ChangeLog
gcc/fortran/Make-lang.in
gcc/fortran/f95-lang.c
gcc/fortran/trans-array.c
gcc/fortran/trans-array.h
gcc/fortran/trans-decl.c
gcc/fortran/trans-expr.c
gcc/fortran/trans-intrinsic.c
gcc/fortran/trans-io.c
gcc/fortran/trans-openmp.c
gcc/fortran/trans-stmt.c
gcc/fortran/trans.c
gcc/fortran/trans.h
gcc/function.c
gcc/function.h
gcc/gengtype.c
gcc/ggc-page.c
gcc/gimple-iterator.c [new file with mode: 0644]
gcc/gimple-low.c
gcc/gimple-pretty-print.c [new file with mode: 0644]
gcc/gimple.c [new file with mode: 0644]
gcc/gimple.def [new file with mode: 0644]
gcc/gimple.h [new file with mode: 0644]
gcc/gimplify.c
gcc/gsstruct.def [new file with mode: 0644]
gcc/ipa-cp.c
gcc/ipa-inline.c
gcc/ipa-prop.c
gcc/ipa-prop.h
gcc/ipa-pure-const.c
gcc/ipa-reference.c
gcc/ipa-struct-reorg.c
gcc/ipa-struct-reorg.h
gcc/ipa-type-escape.c
gcc/ipa-type-escape.h
gcc/ipa-utils.c
gcc/java/ChangeLog
gcc/java/Make-lang.in
gcc/java/expr.c
gcc/java/java-gimplify.c
gcc/java/java-tree.h
gcc/lambda-code.c
gcc/lambda-mat.c
gcc/lambda-trans.c
gcc/lambda.h
gcc/langhooks-def.h
gcc/langhooks.c
gcc/langhooks.h
gcc/matrix-reorg.c
gcc/objc/ChangeLog
gcc/objc/Make-lang.in
gcc/objc/objc-act.c
gcc/objc/objc-act.h
gcc/objcp/Make-lang.in
gcc/omp-low.c
gcc/passes.c
gcc/predict.c
gcc/print-tree.c
gcc/profile.c
gcc/stmt.c
gcc/system.h
gcc/target.h
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/torture/pr36826.C [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/compile/20080721-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/20080615-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/fold-alloca-1.c
gcc/testsuite/gcc.dg/gomp/block-1.c
gcc/testsuite/gcc.dg/gomp/block-2.c
gcc/testsuite/gcc.dg/gomp/block-3.c
gcc/testsuite/gcc.dg/gomp/block-4.c
gcc/testsuite/gcc.dg/gomp/block-5.c
gcc/testsuite/gcc.dg/gomp/block-6.c
gcc/testsuite/gcc.dg/gomp/block-7.c
gcc/testsuite/gcc.dg/gomp/block-8.c
gcc/testsuite/gcc.dg/torture/20080716-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/20030728-1.c
gcc/testsuite/gcc.dg/tree-ssa/20080530.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/pr21658.c
gcc/testsuite/gcc.dg/tree-ssa/pr30375.c
gcc/testsuite/gcc.dg/tree-ssa/tailcall-3.c [new file with mode: 0644]
gcc/testsuite/gfortran.dg/gomp/block-1.f90
gcc/toplev.c
gcc/tracer.c
gcc/tree-affine.c
gcc/tree-call-cdce.c
gcc/tree-cfg.c
gcc/tree-cfgcleanup.c
gcc/tree-chrec.c
gcc/tree-chrec.h
gcc/tree-complex.c
gcc/tree-data-ref.c
gcc/tree-data-ref.h
gcc/tree-dfa.c
gcc/tree-dump.c
gcc/tree-eh.c
gcc/tree-flow-inline.h
gcc/tree-flow.h
gcc/tree-gimple.c [deleted file]
gcc/tree-gimple.h [deleted file]
gcc/tree-if-conv.c
gcc/tree-inline.c
gcc/tree-inline.h
gcc/tree-into-ssa.c
gcc/tree-iterator.c
gcc/tree-loop-distribution.c
gcc/tree-loop-linear.c
gcc/tree-mudflap.c
gcc/tree-nested.c
gcc/tree-nomudflap.c
gcc/tree-nrv.c
gcc/tree-object-size.c
gcc/tree-optimize.c
gcc/tree-outof-ssa.c
gcc/tree-parloops.c
gcc/tree-pass.h
gcc/tree-phinodes.c
gcc/tree-predcom.c
gcc/tree-pretty-print.c
gcc/tree-profile.c
gcc/tree-scalar-evolution.c
gcc/tree-scalar-evolution.h
gcc/tree-sra.c
gcc/tree-ssa-address.c
gcc/tree-ssa-alias-warnings.c
gcc/tree-ssa-alias.c
gcc/tree-ssa-ccp.c
gcc/tree-ssa-coalesce.c
gcc/tree-ssa-copy.c
gcc/tree-ssa-copyrename.c
gcc/tree-ssa-dce.c
gcc/tree-ssa-dom.c
gcc/tree-ssa-dse.c
gcc/tree-ssa-forwprop.c
gcc/tree-ssa-ifcombine.c
gcc/tree-ssa-live.c
gcc/tree-ssa-live.h
gcc/tree-ssa-loop-ch.c
gcc/tree-ssa-loop-im.c
gcc/tree-ssa-loop-ivcanon.c
gcc/tree-ssa-loop-ivopts.c
gcc/tree-ssa-loop-manip.c
gcc/tree-ssa-loop-niter.c
gcc/tree-ssa-loop-prefetch.c
gcc/tree-ssa-loop-unswitch.c
gcc/tree-ssa-loop.c
gcc/tree-ssa-math-opts.c
gcc/tree-ssa-operands.c
gcc/tree-ssa-operands.h
gcc/tree-ssa-phiopt.c
gcc/tree-ssa-phiprop.c
gcc/tree-ssa-pre.c
gcc/tree-ssa-propagate.c
gcc/tree-ssa-propagate.h
gcc/tree-ssa-reassoc.c
gcc/tree-ssa-sccvn.c
gcc/tree-ssa-sccvn.h
gcc/tree-ssa-sink.c
gcc/tree-ssa-structalias.c
gcc/tree-ssa-structalias.h
gcc/tree-ssa-ter.c
gcc/tree-ssa-threadedge.c
gcc/tree-ssa-threadupdate.c
gcc/tree-ssa-uncprop.c
gcc/tree-ssa.c
gcc/tree-ssanames.c
gcc/tree-stdarg.c
gcc/tree-switch-conversion.c
gcc/tree-tailcall.c
gcc/tree-vect-analyze.c
gcc/tree-vect-generic.c
gcc/tree-vect-patterns.c
gcc/tree-vect-transform.c
gcc/tree-vectorizer.c
gcc/tree-vectorizer.h
gcc/tree-vrp.c
gcc/tree.c
gcc/tree.def
gcc/tree.h
gcc/value-prof.c
gcc/value-prof.h
gcc/varpool.c

index 545f711..d950a3a 100644 (file)
@@ -1,3 +1,204 @@
+2008-07-28  Richard Guenther  <rguenther@suse.de>
+
+       Merge from gimple-tuples-branch.
+
+       * ChangeLog.tuples: ChangeLog from gimple-tuples-branch.
+       * gimple.def: New file.
+       * gsstruct.def: Likewise.
+       * gimple-iterator.c: Likewise.
+       * gimple-pretty-print.c: Likewise.
+       * tree-gimple.c: Removed.  Merged into ...
+       * gimple.c: ... here.  New file.
+       * tree-gimple.h: Removed.  Merged into ...
+       * gimple.h: ... here.  New file.
+
+       * Makefile.in: Add dependencies on GIMPLE_H and tree-iterator.h.
+       * configure.ac: Added support for ENABLE_GIMPLE_CHECKING and the
+       --enable-checking=gimple flag.
+       * config.in: Likewise.
+       * configure: Regenerated.
+
+       * tree-ssa-operands.h: Tuplified.
+       * tree-vrp.c: Likewise.
+       * tree-loop-linear.c: Likewise.
+       * tree-into-ssa.c: Likewise.
+       * tree-ssa-loop-im.c: Likewise.
+       * tree-dump.c: Likewise.
+       * tree-complex.c: Likewise.
+       * cgraphbuild.c: Likewise.
+       * tree-ssa-threadupdate.c: Likewise.
+       * tree-ssa-loop-niter.c: Likewise.
+       * tree-pretty-print.c: Likewise.
+       * tracer.c: Likewise.
+       * gengtype.c: Likewise.
+       * tree-loop-distribution.c: Likewise.
+       * tree-ssa-loop-unswitch.c: Likewise.
+       * cgraph.c: Likewise.
+       * cgraph.h: Likewise.
+       * tree-ssa-loop-manip.c: Likewise.
+       * value-prof.c: Likewise.
+       * tree-ssa-loop-ch.c: Likewise.
+       * tree-tailcall.c: Likewise.
+       * value-prof.h: Likewise.
+       * tree.c: Likewise.
+       * tree.h: Likewise.
+       * tree-pass.h: Likewise.
+       * ipa-cp.c: Likewise.
+       * tree-scalar-evolution.c: Likewise.
+       * tree-scalar-evolution.h: Likewise.
+       * target.h: Likewise.
+       * lambda-mat.c: Likewise.
+       * tree-phinodes.c: Likewise.
+       * diagnostic.h: Likewise.
+       * builtins.c: Likewise.
+       * tree-ssa-alias-warnings.c: Likewise.
+       * cfghooks.c: Likewise.
+       * fold-const.c: Likewise.
+       * cfghooks.h: Likewise.
+       * omp-low.c: Likewise.
+       * tree-ssa-dse.c: Likewise.
+       * ipa-reference.c: Likewise.
+       * tree-ssa-uncprop.c: Likewise.
+       * toplev.c: Likewise.
+       * tree-gimple.c: Likewise.
+       * tree-gimple.h: Likewise.
+       * tree-chrec.c: Likewise.
+       * tree-chrec.h: Likewise.
+       * tree-ssa-sccvn.c: Likewise.
+       * tree-ssa-sccvn.h: Likewise.
+       * cgraphunit.c: Likewise.
+       * tree-ssa-copyrename.c: Likewise.
+       * tree-ssa-ccp.c: Likewise.
+       * tree-ssa-loop-ivopts.c: Likewise.
+       * tree-nomudflap.c: Likewise.
+       * tree-call-cdce.c: Likewise.
+       * ipa-pure-const.c: Likewise.
+       * c-format.c: Likewise.
+       * tree-stdarg.c: Likewise.
+       * tree-ssa-math-opts.c: Likewise.
+       * tree-ssa-dom.c: Likewise.
+       * tree-nrv.c: Likewise.
+       * tree-ssa-propagate.c: Likewise.
+       * ipa-utils.c: Likewise.
+       * tree-ssa-propagate.h: Likewise.
+       * tree-ssa-alias.c: Likewise.
+       * gimple-low.c: Likewise.
+       * tree-ssa-sink.c: Likewise.
+       * ipa-inline.c: Likewise.
+       * c-semantics.c: Likewise.
+       * dwarf2out.c: Likewise.
+       * expr.c: Likewise.
+       * tree-ssa-loop-ivcanon.c: Likewise.
+       * predict.c: Likewise.
+       * tree-ssa-loop.c: Likewise.
+       * tree-parloops.c: Likewise.
+       * tree-ssa-address.c: Likewise.
+       * tree-ssa-ifcombine.c: Likewise.
+       * matrix-reorg.c: Likewise.
+       * c-decl.c: Likewise.
+       * tree-eh.c: Likewise.
+       * c-pretty-print.c: Likewise.
+       * lambda-trans.c: Likewise.
+       * function.c: Likewise.
+       * langhooks.c: Likewise.
+       * ebitmap.h: Likewise.
+       * tree-vectorizer.c: Likewise.
+       * function.h: Likewise.
+       * langhooks.h: Likewise.
+       * tree-vectorizer.h: Likewise.
+       * ipa-type-escape.c: Likewise.
+       * ipa-type-escape.h: Likewise.
+       * domwalk.c: Likewise.
+       * tree-if-conv.c: Likewise.
+       * profile.c: Likewise.
+       * domwalk.h: Likewise.
+       * tree-data-ref.c: Likewise.
+       * tree-data-ref.h: Likewise.
+       * tree-flow-inline.h: Likewise.
+       * tree-affine.c: Likewise.
+       * tree-vect-analyze.c: Likewise.
+       * c-typeck.c: Likewise.
+       * gimplify.c: Likewise.
+       * coretypes.h: Likewise.
+       * tree-ssa-phiopt.c: Likewise.
+       * calls.c: Likewise.
+       * tree-ssa-coalesce.c: Likewise.
+       * tree.def: Likewise.
+       * tree-dfa.c: Likewise.
+       * except.c: Likewise.
+       * except.h: Likewise.
+       * cfgexpand.c: Likewise.
+       * tree-cfgcleanup.c: Likewise.
+       * tree-ssa-pre.c: Likewise.
+       * tree-ssa-live.c: Likewise.
+       * tree-sra.c: Likewise.
+       * tree-ssa-live.h: Likewise.
+       * tree-predcom.c: Likewise.
+       * lambda.h: Likewise.
+       * tree-mudflap.c: Likewise.
+       * ipa-prop.c: Likewise.
+       * print-tree.c: Likewise.
+       * tree-ssa-copy.c: Likewise.
+       * ipa-prop.h: Likewise.
+       * tree-ssa-forwprop.c: Likewise.
+       * ggc-page.c: Likewise.
+       * c-omp.c: Likewise.
+       * tree-ssa-dce.c: Likewise.
+       * tree-vect-patterns.c: Likewise.
+       * tree-ssa-ter.c: Likewise.
+       * tree-nested.c: Likewise.
+       * tree-ssa.c: Likewise.
+       * lambda-code.c: Likewise.
+       * tree-ssa-loop-prefetch.c: Likewise.
+       * tree-inline.c: Likewise.
+       * tree-inline.h: Likewise.
+       * tree-iterator.c: Likewise.
+       * tree-optimize.c: Likewise.
+       * tree-ssa-phiprop.c: Likewise.
+       * tree-vect-transform.c: Likewise.
+       * tree-object-size.c: Likewise.
+       * tree-outof-ssa.c: Likewise.
+       * cfgloop.c: Likewise.
+       * system.h: Likewise.
+       * tree-profile.c: Likewise.
+       * cfgloop.h: Likewise.
+       * c-gimplify.c: Likewise.
+       * c-common.c: Likewise.
+       * tree-vect-generic.c: Likewise.
+       * tree-flow.h: Likewise.
+       * c-common.h: Likewise.
+       * basic-block.h: Likewise.
+       * tree-ssa-structalias.c: Likewise.
+       * tree-switch-conversion.c: Likewise.
+       * tree-ssa-structalias.h: Likewise.
+       * tree-cfg.c: Likewise.
+       * passes.c: Likewise.
+       * ipa-struct-reorg.c: Likewise.
+       * ipa-struct-reorg.h: Likewise.
+       * tree-ssa-reassoc.c: Likewise.
+       * cfgrtl.c: Likewise.
+       * varpool.c: Likewise.
+       * stmt.c: Likewise.
+       * tree-ssanames.c: Likewise.
+       * tree-ssa-threadedge.c: Likewise.
+       * langhooks-def.h: Likewise.
+       * tree-ssa-operands.c: Likewise.
+       * config/alpha/alpha.c: Likewise.
+       * config/frv/frv.c: Likewise.
+       * config/s390/s390.c: Likewise.
+       * config/m32c/m32c.c: Likewise.
+       * config/m32c/m32c-protos.h: Likewise.
+       * config/spu/spu.c: Likewise.
+       * config/sparc/sparc.c: Likewise.
+       * config/i386/i386.c: Likewise.
+       * config/sh/sh.c: Likewise.
+       * config/xtensa/xtensa.c: Likewise.
+       * config/stormy16/stormy16.c: Likewise.
+       * config/ia64/ia64.c: Likewise.
+       * config/rs6000/rs6000.c: Likewise.
+       * config/pa/pa.c: Likewise.
+       * config/mips/mips.c: Likewise.
+
 2008-07-28  Simon Baldwin  <simonb@google.com>
 
        * c-pragma.c (handle_pragma_message): New function.
diff --git a/gcc/ChangeLog.tuples b/gcc/ChangeLog.tuples
new file mode 100644 (file)
index 0000000..d5e3383
--- /dev/null
@@ -0,0 +1,8231 @@
+2008-07-28  Richard Guenther  <rguenther@suse.de>
+
+       Merge with mainline @138201.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-07-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-low.c (expand_omp_atomic_fetch_op): Fix a merge glitch.
+
+2008-07-27  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       * config/spu/spu.c (spu_gimplify_va_arg_expr): Unshare the args
+       and skip trees.
+
+2008-07-27  Richard Guenther  <rguenther@suse.de>
+
+       * tree-eh.c (lookup_expr_eh_region): Do not allocate a tree
+       annotation.
+       * tree-dfa.c (create_tree_common_ann): Set eh region to -1.
+       * tree-flow.h (struct tree_ann_common_d): Reorder rn member
+       to pack with type.
+
+2008-07-26  Richard Guenther  <rguenther@suse.de>
+
+       Merge with mainline @138159.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-07-26  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.h (CALL_STMT_CANNOT_INLINE_P): Remove.
+
+2008-07-26  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-inline.c (cgraph_decide_inlining_of_small_function): Use
+       gimple_call_set_cannot_inline.
+       (cgraph_decide_inlining): Likewise.
+       (cgraph_decide_inlining_incrementally): Likewise.
+
+2008-07-26  Richard Guenther  <rguenther@suse.de>
+
+       Merge with mainline @138092.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-07-26  Richard Guenther  <rguenther@suse.de>
+
+       Merge with mainline @138091.
+
+2008-07-25  Richard Guenther  <rguenther@suse.de>
+
+       * config/ia64/ia64.c (ia64_gimplify_va_arg): Unshare valist
+       before reusing it.
+
+2008-07-25  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * tree-tailcall.c (process_assignment): Prevent tail call
+       optimization if the modes of the return types don't match.
+
+2008-07-24  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-inline.c (expand_call_inline): Allow casts in assert.
+
+2008-07-24  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/36885
+       * tree.c (walk_tree_1): Also walk CHANGE_DYNAMIC_TYPE_EXPR operands.
+       * gimple.c (gss_for_code): GIMPLE_CHANGE_DYNAMIC_TYPE is GSS_WITH_OPS.
+       * gsstruct.def (GSS_CHANGE_DYNAMIC_TYPE): Remove. 
+
+2008-07-24  Richard Guenther  <rguenther@suse.de>
+
+       * tree-sra.c (sra_walk_expr): Also handle CONVERT_EXPR.
+       (sra_walk_gimple_assign): Correctly detect assigns we can handle.
+       * expr.c (expand_expr_real_1): Pass MOVE_NONTEMPORAL to
+       expand_assignment.
+
+2008-07-23  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-dse.c (get_kill_of_stmt_lhs): Tuplify correct.
+       * gimple-pretty-print.c (dump_gimple_label): Dump non-local flag.
+       * tree.h (maybe_fold_stmt_addition): Declare.
+       * tree-ssa-ccp.c (maybe_fold_stmt_addition): Export.
+       (fold_gimple_assign): Return the new rhs instead of modifying the stmt.
+       (fold_stmt): Deal with that.
+       (fold_stmt_inplace): Only replace the rhs of a statement if
+       that has enough operand space to hold the new operands.
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Fix
+       POINTER_PLUS_EXPR handling.
+
+2008-07-23  Richard Guenther  <rguenther@suse.de>
+
+       * tree-eh.c (record_in_goto_queue): Fix bootstrap with
+       --disable-checking.
+
+2008-07-23  Aldy Hernandez  <aldyh@redhat.com>
+
+       Merge with mainline @138071.
+       
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+                       
+2008-07-23  Richard Guenther  <rguenther@suse.de>
+
+       * tree-eh.c (union treemple): Add tree * member.
+       (find_goto_replacement): Adjust.
+       (replace_goto_queue_cond_clause): Use the address of the
+       individual labels as unique identifier.
+       (replace_goto_queue_1): Use the statement as unique identifier
+       for GIMPLE_GOTO.
+       (record_in_goto_queue): Add checking.
+       (record_in_goto_queue_label): Adjust.
+       (maybe_record_in_goto_queue): Likewise.
+       (do_goto_redirection): Get leh_tf_state.
+       (lower_try_finally_nofallthru): Pass it.
+       (lower_try_finally_onedest): Likewise.
+       (lower_try_finally_copy): Likewise.
+       (lower_try_finally_switch): Likewise.
+
+2008-07-22  Aldy Hernandez  <aldyh@redhat.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       * gimplify.c (gimple_do_not_emit_location_p): New.
+       (gimple_set_do_not_emit_location): New.
+       (annotate_one_with_location): Do not annotate if
+       gimple_do_not_emit_location_p.
+       (gimplify_cond_expr): Do not optimize if the COND_EXPR and
+       GOTO_EXPR have different locations.
+       Do not emit location information for some GIMPLE_COND's.
+
+2008-07-22  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-ccp.c (ccp_fold): Use gimple_expr_type.
+       (fold_gimple_assign): Likewise.
+       * tree-inline.c (remap_gimple_op_r): Do not set TREE_BLOCK on
+       non-statements.  Recurse to copy_tree_body_r with NULL block.
+       (copy_phis_for_bb): Likewise.
+       * tree-cfg.c (move_stmt_op): Do not set TREE_BLOCK on
+       non-statements.
+
+2008-07-22  Diego Novillo  <dnovillo@google.com>
+           Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-dom.c (hashable_expr_equal_p): Do nothing if
+       either TYPE0 or TYPE1 is NULL.
+
+2008-07-21  Diego Novillo  <dnovillo@google.com>
+
+       * tree-ssa-alias-warnings.c (struct gimple_tree_map): New.
+       Change every use of struct tree_map to struct gimple_tree_map.
+       (gimple_tree_map_eq): New.
+       (gimple_tree_map_hash): New.
+       * tree-ssa-ccp.c (evaluate_stmt): Remove stale FIXME note.
+       * gimplify.c (gimplify_expr): Remove stale FIXME note.
+       * tree-ssa-pre.c: Remove stale references to GIMPLE_MODIFY_STMT.
+       * tree-vect-generic.c (expand_vector_operations_1): Change
+       FIXME tuples to NOTE.
+
+2008-07-21  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-phiprop.c (propagate_with_phi): Only look through
+       SSA_NAME copies.
+
+2008-07-21  Richard Guenther  <rguenther@suse.de>
+
+       * gimplify.c (gimplify_init_constructor): Clear TREE_SIDE_EFFECTS
+       on the remaining empty constructor.
+
+2008-07-21  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-ccp.c (fold_gimple_assign): Handle pointer conversions
+       like fold_stmt_r did.
+       * gimple-pretty-print.c (dump_gimple_cond): Place semicolons
+       where trunk did.
+       * tree-inline.c (copy_bb): Do not insert GIMPLE_NOPs.
+
+2008-07-21  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/36826
+       * tree-ssa-pre.c (eliminate): Do not eliminate in unused
+       statements.
+
+2008-07-20  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.h (gimple_expr_type): The expression type is always
+       the base type of an integral sub-type result type.
+       * tree-eh.c (replace_goto_queue_cond_clause): Copy the sequence
+       before handing it off to gsi_insert_seq_after.
+       * tree-sra.c (insert_edge_copies_seq): Make sure to not keep an
+       uninserted but marked for update sequence.
+
+2008-07-20  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (DEFTREECODE): Add REALIGN_LOAD_EXPR.
+
+2008-07-19  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.h (get_constant_value_id): Declare.
+       (vn_constant_eq_with_type): Make sure an integral type is
+       never equal to a non-integral type.
+       (vn_hash_constant_with_type): Adjust.
+       * tree-ssa-sccvn.c (get_constant_value_id): New function.
+       * tree-ssa-pre.c (get_expr_value_id): For newly created
+       constant value-ids make sure to add the expression to its
+       expression-set.
+
+2008-07-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimple.c (gimple_regimplify_operands): Moved to...
+       * gimplify.c (gimple_regimplify_operands): ... here.  Rework using
+       lower_omp_1 regimplification code, if regimplified LHS of
+       GIMPLE_ASSIGN or GIMPLE_CALL requires simpler RHS, create a temporary.
+       * omp-low.c (gimple_regimplify_operands): Use
+       gimple_regimplify_operands.
+
+2008-07-18  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-reassoc.c (get_rank): For single rhs process its
+       operands.
+
+2008-07-18  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-loop-niter.c (expand_simple_operations): Expand
+       as much as trunk does.
+       * tree-ssa-sccvn.c (simplify_binary_expression): For comparisons
+       always expand the first operand.
+
+2008-07-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimple-pretty-print.c (dump_gimple_cond): Print a semicolon if
+       goto or else goto has been printed.
+       (dump_gimple_goto): Print as goto instead of gimple_goto, print
+       a semicolon at the end.
+       (dump_gimple_asm): Print a semicolon at the end.
+
+       * gimplify.c (gimplify_cond_expr): If COND_EXPR has both non-trivial
+       THEN and ELSE statements and the THEN sequence can't fallthru, avoid
+       adding label_cont and jump to it.
+
+2008-07-18  Aldy Hernandez  <aldyh@redhat.com>
+
+       * Makefile.in.  Remove TREE_GIMPLE_H definition.
+       Rename all TREE_GIMPLE_H uses to GIMPLE_H.
+       Depend on tree-iterator.h when necessary.
+       * tree-into-ssa.c: Include gimple.h instead of tree-gimple.h.
+       * tree-complex.c: Same.
+       * cgraphbuild.c: Same.
+       * cgraph.c: Same.
+       * builtins.c: Same.
+       * tree-ssa-sccvn.c: Same.
+       * tree-ssa-copyrename.c: Same.
+       * tree-nomudflap.c: Same.
+       * tree-call-cdce.c: Same.
+       * ipa-pure-const.c: Same.
+       * ipa-utils.c: Same.
+       * tree-ssa-alias.c: Same.
+       * tree-ssa-sink.c: Same.
+       * langhooks.c: Same.
+       * function.c: Same.
+       * ipa-type-escape.c: Same.
+       * tree-affine.c: Same.
+       * c-typeck.c: Same.
+       * tree-dfa.c: Same.
+       * tree-ssa-pre.c: Same.
+       * tree-sra.c: Same.
+       * c-omp.c: Same.
+       * tree-ssa-dce.c: Same.
+       * tree-nested.c: Same.
+       * tree-ssa.c: Same.
+       * tree-inline.c: Same.
+       * tree-iterator.c: Same.
+       * c-gimplify.c: Same.
+       * tree-vect-generic.c: Same.
+       * tree-flow.h: Same.
+       * tree-ssa-structalias.c: Same.
+       * ipa-struct-reorg.c: Same.
+       * tree-ssa-reassoc.c: Same.
+       * config/alpha/alpha.c: Same.
+       * config/s390/s390.c: Same.
+       * config/m32c/m32c.c: Same.
+       * config/spu/spu.c: Same.
+       * config/sparc/sparc.c: Same.
+       * config/i386/i386.c: Same.
+       * config/sh/sh.c: Same.
+       * config/xtensa/xtensa.c: Same.
+       * config/stormy16/stormy16.c: Same.
+       * config/ia64/ia64.c: Same.
+       * config/rs6000/rs6000: Same.
+       * config/mips/mips.c: Same.
+       * varpool.c: Same.
+       * cgraphunit.c: Same.  Include tree-iterator.h
+       * tree-mudflap.c: Same.
+       * gimplify.c: Same.
+       * c-decl.c: Same.
+       * omp-low.c: Same.
+       * c-semantics: Same.
+       * gimple-low.c: Same.
+       * tree-gimple.c: Merge contents into...
+       * gimple.c: ...here.
+       * tree-gimple.h: Merge contents into...
+       * gimple.h: ...here.
+
+2008-07-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-low.c (expand_omp_atomic_pipeline): Call
+       force_gimple_operand_gsi on RHS for IADDR initialization.
+
+       * gimplify.c (gimplify_cond_expr): Push statements in between
+       gimple_push_condition and gimple_pop_condition into a new
+       gimple_seq, append it after gimple_pop_condition cleanups.
+
+2008-07-17  Richard Guenther  <rguenther@suse.de>
+
+       * tree-complex.c (init_dont_simulate_again): Handle
+       {REAL,IMAG}PART_EXPR correctly.
+       * gimple-pretty-print.c (dump_unary_rhs): Dump VIEW_CONVERT_EXPR
+       and ASSERT_EXPR the same way as on trunk.
+       * tree-ssa-dom.c (initialize_hash_element): Do not record
+       the type for single rhs assigns.
+       (hashable_expr_equal_p): Deal with NULL types.
+       (eliminate_redundant_computations): Use print_gimple_expr.
+       * tree-vrp.c (stmt_interesting_for_vrp): Fix builtin call check.
+       (vrp_visit_stmt): Likewise.
+       * tree-ssa-forwprop.c (simplify_gimple_switch): Fix typo.
+
+2008-07-16  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/36792
+       * tree-ssa-pre.c (get_or_alloc_expr_for): Handle unary
+       expressions inserted by SCCVN.
+       (do_SCCVN_insertion): Adjust comment.
+       (execute_pre): Allow insertion for FRE again.
+
+       * tree-ssa-sccvn.c (simplify_unary_expression): Deal with
+       the GIMPLE_SINGLE_RHS statemens we get.
+       (init_scc_vn): Init VN_INFO->expr to NULL.
+
+2008-07-16  Richard Guenther  <rguenther@suse.de>
+
+       Revert
+       2008-07-16  Richard Guenther  <rguenther@suse.de>
+       * tree-ssa-pre.c (get_constant_for_value_id): Only hand out
+       constants of the correct type.
+       (fully_constant_expression): Pass the required type to
+       get_constant_for_value_id.
+
+       * tree-ssa-sccvn.h (vn_hash_constant_with_type): New function.
+       (vn_constant_eq_with_type): Likewise.
+       * tree-ssa-sccvn.c (vn_constant_eq): Use vn_constant_eq_with_type.
+       (get_or_alloc_constant_value_id): Use vn_hash_constant_with_type.
+       * tree-ssa-pre.c (pre_expr_eq): Use vn_constant_eq_with_type.
+       (pre_expr_hash): Use vn_hash_constant_with_type.
+       (get_representative_for): Use constants as their representative.
+       (fully_constant_expression): Use constant parts in expressions
+       directly.
+
+2008-07-15  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-propagate.c (valid_gimple_expression_p): Remove.
+       * tree-ssa-propagate.h (valid_gimple_expression_p): Remove.
+       * tree-eh.c: Factor out common code in operation_could_trap_p and 
+       stmt_could_throw_1_p into...
+       (operation_could_trap_helper_p): New.
+       * gimplify.c (gimplify_expr): Rephrase fixme.
+       * tree-mudflap.c: Remove fixme.
+
+2008-07-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-eh.c (collect_finally_tree): Call collect_finally_tree_1
+       with region as second argument for GIMPLE_TRY_FINALLY's cleanup.
+
+       * gimplify.c (gimplify_expr): Call gimple_try_set_catch_is_cleanup
+       for TRY_CATCH_EXPR.
+
+2008-07-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-gimple.c (is_gimple_reg_rhs): Don't check for CALL_EXPRs
+       with side-effects.
+       * gimple.c (extract_ops_from_tree): Remove assert.
+       * gimplify.c (is_gimple_reg_or_call_rhs): New function.
+       (rhs_predicate_for): Return it instead of is_gimple_reg_rhs.
+       (gimplify_expr): Handle is_gimple_reg_or_call_rhs.
+
+       * tree-ssa-threadedge.c (record_temporary_equivalences_for_stmts,
+       simplify_control_stmt_condition): Pass stmt instead of NULL as second
+       argument to simplify callback.
+
+       * tree-vect-patterns.c (vect_recog_pow_pattern): Don't call
+       gimple_call_set_lhs with lhs of last_stmt.
+       * tree-vect-transform.c (vectorizable_call): Build a new dummy
+       assignment, replace the call with it and move over stmt_info.
+
+       * tree-ssa-loop-niter.c (infer_loop_bounds_from_array): Use
+       is_gimple_assign instead of gimple_code () == GIMPLE_ASSIGN and
+       is_gimple_call instead of gimple_code () == GIMPLE_CALL.
+       * tree-ssa-propagate.c (update_call_from_tree, substitute_and_fold):
+       Likewise.
+       * tree-ssa-sccvn.c (visit_use): Likewise.
+       * tree-eh.c (stmt_could_throw_p): Likewise.
+       * tree-optimize.c (execute_fixup_cfg): Likewise.
+       * omp-low.c (check_omp_nesting_restrictions, scan_omp_1_stmt,
+       optimize_omp_library_calls): Likewise.
+       * tree-ssa-loop-im.c (movement_possibility, stmt_cost,
+       determine_invariantness_stmt): Likewise.
+       * tree-ssa-phiprop.c (phivn_valid_p, phiprop_insert_phi,
+       propagate_with_phi): Likewise.
+       * tree-ssa-ccp.c (get_default_value, surely_varying_stmt_p,
+       ccp_fold_builtin, gimplify_and_update_call_from_tree): Likewise.
+       * ipa-struct-reorg.c (is_result_of_mult, create_general_new_stmt):
+       Likewise.
+       * tree-ssa-coalesce.c (build_ssa_conflict_graph): Likewise.
+       * tree-object-size.c (alloc_object_size, call_object_size,
+       check_for_plus_in_loops): Likewise.
+       * tree-ssa.c (verify_ssa): Likewise.
+       * predict.c (expr_expected_value_1, tree_bb_level_predictions,
+       tree_estimate_probability): Likewise.
+       * tree-cfg.c (verify_stmt): Likewise.
+       * tree-ssa-loop-ch.c (should_duplicate_loop_header_p,
+       copy_loop_headers): Likewise.
+       * tree-ssa-ter.c (is_replaceable_p): Likewise.
+       * ipa-prop.c (ipa_count_arguments, ipa_compute_jump_functions):
+       Likewise.
+       * tree-ssa-dom.c (gimple_assign_unary_useless_conversion_p,
+       record_equivalences_from_stmt, optimize_stmt,
+       get_lhs_or_phi_result): Likewise.
+       * tree-ssa-sink.c (is_hidden_global_store): Likewise.
+       * tree-nrv.c (tree_nrv, execute_return_slot_opt): Likewise.
+       * value-prof.c (gimple_divmod_fixed_value,
+       gimple_mod_pow2, gimple_mod_subtract): Likewise.
+       * tree-predcom.c (name_for_ref, find_looparound_phi,
+       replace_ref_with, remove_name_from_operation): Likewise.
+       * tree-ssa-math-opts.c (is_division_by, execute_cse_reciprocals,
+       execute_cse_sincos, execute_convert_to_rsqrt): Likewise.
+       * tree-complex.c (expand_complex_move, expand_complex_operations_1):
+       Likewise.
+       * tree-outof-ssa.c (identical_copies_p): Likewise.
+       * tree-ssa-pre.c (is_exception_related): Likewise.
+       * tree-sra.c (scalarize_use, scalarize_copy): Likewise.
+       * tree-ssa-alias.c (count_uses_and_derefs, update_alias_info_1,
+       is_escape_site): Likewise.
+       * lambda-code.c (can_put_in_inner_loop,
+       cannot_convert_bb_to_perfect_nest): Likewise.
+       * tree-tailcall.c (find_tail_calls, eliminate_tail_call): Likewise.
+       * ipa-type-escape.c (look_for_casts_stmt, is_cast_from_non_pointer):
+       Likewise.
+       * tree-vect-transform.c (vectorizable_reduction): Likewise.
+       * tree-ssa-threadedge.c (record_temporary_equivalences_from_stmts):
+       Likewise.
+       * tree-ssa-phiopt.c (nt_init_block): Likewise.
+       * tree-ssa-structalias.c (find_func_aliases): Likewise. 
+       * tree-ssa-forwprop.c (can_propagate_from,
+       forward_propagate_comparison, simplify_not_neg_expr,
+       simplify_gimple_switch, tree_ssa_forward_propagate_single_use_vars):
+       Likewise.
+       * tree-ssa-dce.c (eliminate_unnecessary_stmts): Likewise.
+       * tree-ssa-dse.c (get_kill_of_stmt_lhs, dse_possible_dead_store_p,
+       dse_optimize_stmt, execute_simple_dse): Likewise.
+       * tree-ssa-loop-ivopts.c (find_interesting_uses_op,
+       find_interesting_uses_stmt, rewrite_use_nonlinear_expr): Likewise.
+       * tree-vrp.c (stmt_overflow_infinity, vrp_stmt_computes_nonzero,
+       register_edge_assert_for_2, register_edge_assert_for,
+       find_assert_locations, check_all_array_refs,
+       remove_range_assertions, stmt_interesting_for_vrp, vrp_visit_stmt,
+       simplify_stmt_using_ranges): Likewise.
+       * tree-ssa-loop-prefetch.c (gather_memory_references): Likewise.
+       * tree-ssa-copy.c (may_propagate_copy_into_stmt,
+       propagate_tree_value_into_stmt): Likewise.
+       * tree-inline.c (copy_bb, expand_call_inline,
+       gimple_expand_calls_inline, fold_marked_statements): Likewise.
+
+       * tree-ssa-copyrename.c (rename_ssa_copies): Use
+       gimple_assign_ssa_name_copy_p.
+
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Check
+       gimple_assign_rhs_code, type of rhs is TREE_TYPE (lhs), update
+       rhs_code.
+
+2008-07-16  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-pre.c (get_constant_for_value_id): Only hand out
+       constants of the correct type.
+       (fully_constant_expression): Pass the required type to
+       get_constant_for_value_id.
+
+2008-07-15  Aldy Hernandez  <aldyh@redhat.com>
+
+       Merge with mainline @137837.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-07-15  Jakub Jelinek  <jakub@redhat.com>
+
+       * common.opt (-fgimple-conversion=): Remove.
+
+       * tree-affine.c (aff_combination_expand): Tuplify.
+       * cfgexpand.c (gimple_assign_rhs_to_tree): Remove prototype.
+       * tree-outof-ssa.c (gimple_assign_rhs_to_tree): Likewise.
+       * tree-gimple.h (gimple_assign_rhs_to_tree): New prototype.
+
+2008-07-15  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree.h: Remove gimple_unreachable_1 prototype.
+
+2008-07-15  Aldy Hernandez  <aldyh@redhat.com>
+
+       * Makefile.in (gimple-dummy.o): Remove.
+       * gimple-dummy.c: Delete.
+       * tree-ssa-propagate.c (valid_gimple_expression_p): Change
+       gimple_unreachable to gcc_unreachable.
+       * tree-affine.c (aff_combination_expand): Same.
+       * tree-vect-transform.c (vectorizable_call): Same.
+
+2008-07-15  Richard Guenther  <rguenther@suse.de>
+
+       * gimplify.c (gimplify_expr): Gimplify an unused volatile load
+       properly.
+
+2008-07-15  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-pre.c: Tuplify.  Enable FRE and PRE.
+       (execute_pre): Disable SCCVN insertion even for FRE.
+       * tree-ssa-sccvn.h (copy_reference_ops_from_call): Declare.
+       * tree-ssa-sccvn.c (copy_reference_ops_from_call): Export.
+       (vn_get_expr_for): Handle more expression kinds.
+       (visit_reference_op_load): Properly set a value id for
+       inserted names.
+       (simplify_binary_expression): Use valid_gimple_rhs_p instead of
+       valid_gimple_expression_p.
+       (simplify_unary_expression): Likewise.
+       (process_scc): Clear the cached/simplified expressions at the
+       start of the iteration.
+       (free_scc_vn): Do not clear SSA_NAME_VALUE.
+       (run_scc_vn): Remove broken special case in printing VNs.
+       * tree-ssa-propagate.c (valid_gimple_rhs_p): Allow
+       gimple-min-invariants and SSA names.
+
+2008-07-14  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.c: (s390_gimplify_va_arg) Unshare the args* tree.
+
+2008-07-14  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-math-opts.c (execute_cse_reciprocals): Process
+       SSA_NAME defs of calls.
+       * gimple-pretty-print.c (dump_unary_rhs): Do not prefix
+       CONSTRUCTOR with [constructor].
+
+2008-07-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/alpha/alpha.c (va_list_skip_additions): Change
+       GIMPLE_STMT_OPERAND to TREE_OPERAND.
+
+2008-07-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-vect-transform.c (vect_create_data_ref_ptr): Update comment.
+       * config/s390/s390.c (s390_va_start): Build MODIFY_EXPR instead of
+       GIMPLE_MODIFY_STMT.
+       (s390_gimplify_va_arg): Use gimplify_assign.
+       * config/sh/sh.c (sh_va_start): Build MODIFY_EXPR instead of
+       GIMPLE_MODIFY_STMT.
+       (sh_gimplify_va_arg_expr): Use gimplify_assign.
+       * config/sparc/sparc.c (sparc_gimplify_va_arg): Likewise.
+       * config/spu/spu.c (spu_va_start): Build MODIFY_EXPR instead of
+       GIMPLE_MODIFY_STMT.
+       (spu_gimplify_va_arg_expr): Use gimplify_assign.
+       * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
+       Build MODIFY_EXPR instead of GIMPLE_MODIFY_STMT.
+       (xstormy16_gimplify_va_arg_expr): Likewise.  Use gimplify_assign.
+       * config/xtensa/xtensa.c (xtensa_va_start): Build MODIFY_EXPR
+       instead of GIMPLE_MODIFY_STMT.
+       (xtensa_gimplify_va_arg_expr): Use gimplify_assign.
+
+2008-07-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/alpha/alpha.c (va_list_skip_additions): Rename
+       GIMPLE_MODIFY_STMT to MODIFY_EXPR.
+       (alpha_va_start): Same.
+       (alpha_gimplify_va_arg_1): Use gimplify_assign.
+       (alpha_gimplify_va_arg): Same.
+       * config/frv/frv.c (frv_expand_builtin_va_start): Rename
+       GIMPLE_MODIFY_STMT to MODIFY_EXPR.
+       * config/ia64/ia64.c (ia64_gimplify_va_arg): Use gimplify_assign.
+       * config/alpha/mips.c (mips_va_start): Rename GIMPLE_MODIFY_STMT to
+       MODIFY_EXPR or use gimplify_assign when appropriate.
+       (mips_gimplify_va_arg_expr): Same.
+
+2008-07-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.c (rs6000_va_start): Change
+       GIMPLE_MODIFY_STMT to MODIFY_EXPR.
+       (rs6000_gimplify_va_arg): Use gimplify_assign.
+       Build GIMPLE_GOTO directly.
+
+2008-07-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-dump.c (dequeue_and_dump): Remove GIMPLE_MODIFY_STMT case.
+       * tree-ssa-loop-niter.c (simplify_replace_tree): Remove GIMPLE_STMT_P
+       call.
+       * tree-pretty-print.c (dump_generic_node): Remove any references to
+       GIMPLE_MODIFY_STMT, GIMPLE_STMT_P, GIMPLE_TUPLE_P.
+       (op_prio): Same.
+       (op_symbol_code): Same.
+       * java/java-gimplify.c (java_gimplify_expr): Same.
+       (java_gimplify_modify_expr): Same.
+       * java/java-tree.h: Rename GENERIC_NEXT to TREE_CHAIN.
+       * tree-tailcall.c (find_tail_calls): Update comment.
+       * tree.c (tree_code_class_string): Remove "gimple_stmt".
+       (tree_node_kind): Remove "gimple statments".
+       (tree_code_size): Remove tcc_gimple_stmt.
+       (make_node_stat): Same.
+       (copy_node_stat): Remove any references to
+       GIMPLE_MODIFY_STMT, GIMPLE_STMT_P, GIMPLE_TUPLE_P, tcc_gimple_stmt,
+       TS_GIMPLE_STATEMENT, GENERIC_TREE_OPERAND, GENERIC_TREE_TYPE,
+       GIMPLE_TUPLE_HAS_LOCUS_P, GIMPLE_STMT_LOCUS, GIMPLE_STMT_BLOCK,
+       IS_GIMPLE_STMT_CODE_CLASS, GIMPLE_STMT_BLOCK.
+       (expr_align): Same.
+       (tree_node_structure): Same.
+       (build2_stat): Same.
+       (set_expr_locus): Same.
+       (walk_tree_1): Same.
+       (tree_block): Same.
+       (build_gimple_modify_stmt_stat): Remove.
+       (expr_location): Remove.
+       (set_expr_location): Remove.
+       (expr_hash_location): Remove.
+       (expr_locus): Remove.
+       (expr_filename): Remove.
+       (expr_lineno): Remove.
+       (generic_tree_operand): Remove.
+       (generic_tree_type): Remove.
+       * tree.h (tree_code_class): Remove tcc_gimple_stmt.
+       (IS_GIMPLE_STMT_CODE_CLASS): Remove.
+       (struct gimple_stmt): Remove.
+       (GIMPLE_STMT_CHECK): Remove.
+       (TREE_OPERAND_CHECK): Remove GIMPLE_TUPLE_P.
+       (TREE_CHAIN): Same.
+       (GIMPLE_STMT_OPERAND_CHECK): Remove.
+       (GIMPLE_STMT_OPERAND_CHECK): Remove.
+       (GIMPLE_STMT_P): Remove.
+       (GIMPLE_TUPLE_P): Remove.
+       (GIMPLE_TUPLE_HAS_LOCUS_P): Remove.
+       (GENERIC_TREE_OPERAND): Remove.
+       (GENERIC_TREE_TYPE): Remove.
+       (GENERIC_NEXT): Remove.
+       (IS_CONVERT_EXPR_CODE_P): Rename GENERIC_TREE_TYPE to TREE_TYPE.
+       (MOVE_NONTEMPORAL): Remove GIMPLE_MODIFY_STMT_CHECK.
+       Remove GIMPLE_STMT_OPERAND, GIMPLE_STMT_LOCUS, GIMPLE_STMT_BLOCK.
+       (EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_HAS_LOCATION, EXPR_LOCUS,
+       EXPR_FILENAME, EXPR_LINENO): Do ont call functions.
+       (CAN_HAVE_LOCATION_P): Remove GIMPLE_STMT_P.
+       (union tree_node): Remove gstmt.
+       (build_gimple_modify_stmt*): Remove.
+       (expr_location, set_expr_location, expr_has_location,
+       expr_locus, expr_filename, expr_lineno, generic_tree_operand,
+       generic_tree_type): Remove.
+       * tree-scalar-evolution.c (follow_ssa_edge): Update comment.
+       (interpret_condition_phi): Same.
+       * gimple.h (gimplify_assign): New.
+       * builtins.c, fold-const.c, omp-low.c, tree-ssa-dse.c, tree-gimple.c,
+       tree-ssa-math-opts.c, tree-nrv.c, gimple-low.c, dwarf2out.c,
+       expr.c, tree-parloops.c, matrix-reorg.c, c-decl.c, tree-eh.c,
+       c-pretty-print.c, langhooks.c, function.c, tree-affine.c,
+       gimplify.c, tree.def, cfgexpand.c, tree-predcom.c, print-tree.c,
+       tree-ssa-ter.c, tree-ssa.c, tree-inline.c, gimple.c, gimple.h,
+       tree-cfg.c, config/i386/i386.c, stmt.c, tree-ssa-operands.c)
+       Remove any references to
+       GIMPLE_MODIFY_STMT, GIMPLE_STMT_P, GIMPLE_TUPLE_P, tcc_gimple_stmt,
+       TS_GIMPLE_STATEMENT, GENERIC_TREE_OPERAND, GENERIC_TREE_TYPE,
+       GIMPLE_TUPLE_HAS_LOCUS_P, GIMPLE_STMT_LOCUS, GIMPLE_STMT_BLOCK,
+       IS_GIMPLE_STMT_CODE_CLASS, GIMPLE_STMT_BLOCK.
+       Call gimplify_assign or generate a GIMPLE_ASSIGN directly when
+       appropriate.
+
+2008-07-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * cfgexpand.c (gimple_cond_pred_to_tree): New function.
+       (gimple_to_tree) <case GIMPLE_COND>: Use it.
+       (release_stmt_tree): New function.
+       (expand_gimple_cond): Call just gimple_cond_pred_to_tree
+       instead of gimple_to_tree, ggc_free pred before returning.
+       (expand_gimple_tailcall): Call release_stmt_tree.
+       (expand_gimple_basic_block): Call release_stmt_tree instead
+       of ggc_free.
+
+       * gimplify.c (internal_get_tmp_var, gimplify_decl_expr,
+       gimplify_init_ctor_eval, gimplify_target_expr): Call ggc_free
+       on the INIT_EXPR.
+
+2008-07-14  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-ccp.c (ccp_fold): Move ADDR_EXPR handing to
+       GIMPLE_SINGLE_RHS case.
+       * tree-ssa-ifcombine.c (ifcombine_iforif): Fix typo.
+
+2008-07-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * system.h (CONST_CAST2): Avoid using a union for all GCCs <= 4.0.x.
+
+2008-07-12  Diego Novillo  <dnovillo@google.com>
+
+       * tree-loop-distribution.c: Tuplify.
+       * tree-ssa-propagate.c (substitute_and_fold): Remove
+       stale FIXME tuples note.
+
+2008-07-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-dump.c (dump_options): Don't set TDF_RHS_ONLY for -all.
+
+       * omp-low.c (lower_omp_1): Only use rhs_predicate_for if
+       GIMPLE_SINGLE_RHS.
+
+       * tree-vect-analyze.c (vect_determine_vectorization_factor): Handle
+       GIMPLE_CALL with non-NULL lhs.
+       (vect_build_slp_tree): Likewise.  Fix reversed check for references.
+       * tree-vectorizer.c (stmt_vec_info_htab, stmt_vec_info_eq,
+       stmt_vec_info_hash, init_stmt_vec_info_htab,
+       free_stmt_vec_info_htab): Remove.
+       (stmt_vec_info_vec): New variable.
+       (init_stmt_vec_info_vec, free_stmt_vec_info_vec): New functions.
+       (new_loop_vec_info): Clear stmt uid before calling
+       set_vinfo_for_stmt.
+       (vect_is_simple_use): Handle GIMPLE_CALL with non-NULL lhs.
+       (vectorize_loops): Call {init,free}_stmt_vec_info_vec instead of
+       {init,free}_stmt_vec_info_htab.
+       * tree-parloops.c (parallelize_loops): Likewise.
+       * tree-ssa-operands.c (get_expr_operands): Handle VEC_COND_EXPR.
+       * tree-vectorizer.h (stmt_vec_info_htab): Removed.
+       (init_stmt_vec_info_htab, free_stmt_vec_info_htab): Remove
+       prototypes.
+       (stmt_vec_info_vec): New extern decl.
+       (init_stmt_vec_info_vec, free_stmt_vec_info_vec): New prototypes.
+       (vinfo_for_stmt, set_vinfo_for_stmt): Rewritten using stmt uid
+       and vector instead of a hash table.
+       * tree-vect-patterns.c (vect_recog_pow_pattern): Request
+       a GIMPLE_CALL with non-NULL lhs instead of GIMPLE_ASSIGN.
+       (vect_pattern_recog_1): Use is_gimple_call instead of comparing
+       gimple_code with GIMPLE_CALL.
+       * gimple.c (gimple_rhs_class_table): Use GIMPLE_SINGLE_RHS for
+       DOT_PROD_EXPR and VEC_COND_EXPR.
+       * tree-vect-transform.c (vect_get_slp_vect_defs): Use gimple_get_lhs
+       instead of gimple_assign_lhs.
+       (get_initial_def_for_induction): Use build_int_cst even for
+       pointers.  Use POINTER_PLUS_EXPR for POINTER_TYPE_P (scalar_type).
+       (vect_get_vec_def_for_operand): Use is_gimple_call instead of
+       comparing gimple_code with GIMPLE_CALL.
+       (vectorizable_call): Likewise.  Use gimple_call_lhs instead of
+       gimple_assign_lhs.  Build a vector of arguments, use
+       gimple_build_call_vec.
+       (vect_get_vec_def_for_stmt_copy): Use gimple_get_lhs.
+       (vectorizable_live_operation): Handle GIMPLE_SINGLE_RHS operands.
+
+2008-07-11  Doug Kwan  <dougkwan@google.com>
+
+       * gimple-dummy.c (vectorizable_induction, vectorizable_type_promotion,
+       vectorizable_type_demotion, vectorizable_conversion,
+       vectorizable_operation, vectorizable_assignment,
+       vectorizable_load, vectorizable_call, vectorizable_store,
+       vectorizable_condition, vectorizable_reduction,
+       vectorizable_live_operation, vectorizable_function,
+       vect_estimate_min_profitable_iters, vect_model_simple_cost,
+       vect_model_store_cost, vect_model_load_cost, vect_transform_loop):
+       Remove DUMMY_FNs.
+       * tree-ssa-loop.c (gate_tree_vectorize): Reenable vectorizer.
+       * tree-vectorizer.c (vect_is_simple_use): Fix handling of
+       GIMPLE_NOP.
+       * tree-vectorizer.h (vectorizable_load, vectorizable_store,
+       vectorizable_operation, vectorizable_type_promotion,
+       vectorizable_type_demotion, vectorizable_conversion,
+       vectorizable_assignment, vectorizable_call, vectorizable_condition,
+       vectorizable_live_operation, vectorizable_reduction,
+       vectorizable_induction): Adjust prototypes.
+       * tree-vect-transform.c (vectorizable_load, vectorizable_store,
+       vectorizable_operation, vectorizable_type_promotion,
+       vectorizable_type_demotion, vectorizable_conversion,
+       vectorizable_assignment, vectorizable_call, vectorizable_condition,
+       vectorizable_live_operation, vectorizable_reduction,
+       vectorizable_induction, vect_transform_stmt,
+       vect_create_data_ref_ptr, vect_create_addr_base_for_vector_ref,
+       vect_get_vec_def_for_operand, vect_init_vector,
+       vect_finish_stmt_generation, vect_create_epilog_for_reduction,
+       get_initial_def_for_reduction, cost_for_stmt,
+       vect_estimate_min_profitable_iters, vect_model_reduction_cost,
+       vect_cost_strided_group_size, vect_model_load_cost, bump_vector_ptr,
+       vect_get_constant_vectors, vect_get_slp_vect_defs,
+       vect_get_slp_defs, get_initial_def_for_induction,
+       vect_get_vec_def_for_stmt_copy, vect_get_vec_defs,
+       vectorizable_function, vect_gen_widened_results_half,
+       vect_permute_store_chain, vect_setup_realignment,
+       vect_permute_load_chain, vect_transform_strided_load,
+       vect_is_simple_cond, vect_build_loop_niters,
+       vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer,
+       vect_do_peeling_for_loop_bound, vect_gen_niters_for_prolog_loop,
+       vect_do_peeling_for_alignment, vect_create_cond_for_align_checks,
+       vect_create_cond_for_alias_checks, vect_loop_versioning,
+       vect_remove_stores, vect_schedule_slp_instance,
+       vect_transform_loop): Tuplify.
+
+2008-07-10  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.h (gimple_assign_ssa_name_copy_p): Declare.
+       (gimple_has_lhs): New function.
+       * gimple.c (gimple_assign_ssa_name_copy_p): New function.
+       * tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove
+       redundant gimple_set_location call.
+       * gimple-iterator.c (gsi_remove): Do not free stmt operands.
+       * tree-ssa-structalias.c (find_func_aliases): Correctly let
+       all things with pointers escape.
+       * tree-pass.h (TDF_RHS_ONLY): New flag.
+       * diagnostic.h (print_gimple_expr): Declare.
+       * gimple-pretty-print.c (print_gimple_expr): New function.
+       (dump_gimple_assign): Dump the RHS as expression if TDF_RHS_ONLY.
+       (dump_gimple_call): Likewise.
+       (dump_gimple_cond): Likewise.
+       * tree-ssa-propagate.c (fold_predicate_in): Use print_gimple_expr.
+       * tree-ssa-sccvn.c (visit_use): Use gimple_has_lhs.
+       Use print_gimple_expr.  Handle tcc_expression correctly.
+
+2008-07-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimplify.c (struct gimplify_ctx): Move to tree-gimple.h.
+       (push_gimplify_context): Don't allocate bind_expr_stack,
+       temp_htab nor c itself here.  Add c argument.
+       (pop_gimplify_context): Allow bind_expr_stack being NULL.  Check
+       c->temp_htab instead of optimize whether htab_delete should be called.
+       Don't free c.
+       (gimple_push_bind_expr): Create bind_expr_stack lazily.
+       (lookup_tmp_var): Create temp_htab lazily.
+       (gimplify_scan_omp_clauses, gimplify_omp_parallel, gimplify_omp_task,
+       gimplify_body, force_gimple_operand): Adjust push_gimplify_context
+       callers.
+       * omp-low.c (lower_omp_sections, lower_omp_single, lower_omp_master,
+       lower_omp_ordered, lower_omp_critical, lower_omp_for,
+       create_task_copyfn, lower_omp_taskreg, execute_lower_omp): 
+       * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Likewise.
+       * tree-sra.c (generate_element_init): Likewise.
+       * tree-mudflap.c (execute_mudflap_function_ops,
+       execute_mudflap_function_decls): Likewise.
+       * tree-inline.c (setup_one_parameter, optimize_inline_calls): Likewise.
+       * tree-gimple.h (struct gimplify_ctx): New type.
+       (push_gimplify_context): Adjust prototype.
+
+       * gimple.h (gimple_rhs_class_table): New extern decl.
+       (get_gimple_rhs_class): Change into inline.
+       * gimple.c (get_gimple_rhs_class): Removed.
+       (gimple_rhs_class_table): New variable.
+
+2008-07-09  Doug Kwan  <dougkwan@google.com>
+           Diego Novillo  <dnovillo@google.com>
+
+       * tree-ssa-ccp.c (fold_stmt_r): Remove gcc_unreachable
+       call from COND_EXPR handler.
+       * tree-if-conv.c: Tuplify.
+       * gimple.c (gimple_could_trap_p_1): Factor out of ...
+       (gimple_could_trap_p): ... here.
+       Call it.
+       (gimple_assign_rhs_could_trap_p): New.
+       * gimple.h (gimple_assign_rhs_could_trap_p): Declare.
+       * tree-ssa-operands.c (get_expr_operands): Handle
+       COND_EXPR.
+
+2008-07-08  Jakub Jelinek  <jakub@redhat.com>
+
+       Merge with mainline @137633.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-07-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-cfg.c (remove_useless_stmts_cond): Avoid calling
+       fold_binary.
+
+2008-07-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimple-pretty-print.c (dump_gimple_return): Don't print space
+       after return if return has no argument.
+       (dump_gimple_seq): Don't print newline after last statement in
+       the sequence.
+       (dump_gimple_fmt, dump_gimple_try, dump_gimple_omp_for,
+       dump_gimple_omp_single, dump_gimple_omp_sections,
+       dump_gimple_omp_block, dump_gimple_omp_critical,
+       dump_gimple_omp_parallel, dump_gimple_omp_task): Use
+       newline_and_indent after dump_gimple_seq instead of INDENT.
+       (dump_gimple_bind): Likewise.  If there are no bind vars, don't
+       print two newlines before the sequence, just one.
+       * tree-cfg.c (dump_function_to_file): Fix dumping lowered gimple
+       before CFG is built.
+
+2008-07-07  Diego Novillo  <dnovillo@google.com>
+
+       * tree-vrp.c (ssa_name_nonnegative_p): Tuplify.
+       (ssa_name_nonzero_p): Tuplify.
+       (extract_range_from_comparison): Tidy.
+       (vrp_evaluate_conditional_warnv_with_ops): Tidy.
+       (vrp_evaluate_conditional): Change STMT argument to gimple.
+       Update all users.
+       (simplify_stmt_for_jump_threading): Change WITHIN_STMT argument
+       to gimple.
+       Update all users.
+       (identify_jump_threads): Tidy.
+       * tree-tailcall.c (find_tail_calls): Remove stale FIXME note.
+       * tree.c (tree_node_structure): Likewise.
+       * tree.h (struct tree_base): Likewise.
+       (struct gimple_stmt): Likewise.
+       * builtins.c (expand_builtin_memcpy): Likewise.
+       (expand_builtin_memset_args): Likewise.
+       * tree-chrec.h (build_polynomial_chrec): Do not initialize VAL.
+       * tree-ssa-ccp.c (fold_stmt_r): Do not handle COND_EXPR.
+       (fold_stmt): Remove #if 0 code.
+       * tree-ssa-dom.c (EXTRA_DETAILS): Remove.
+       Update all users.
+       (hashable_expr_equal_p): Remove stale FIXME note.
+       (simplify_stmt_for_jump_threading): Convert WITHIN_STMT
+       argument to gimple.  Update all users.
+       * tree-ssa-propagate.c: Include gimple.h
+       (get_rhs): Remove.
+       (set_rhs): Remove.
+       (fold_predicate_in): Tuplify.
+       * Makefile.in (tree-ssa-propagate.o): Add dependency on
+       GIMPLE_H.
+       * tree-ssa-propagate.h (get_rhs, set_rhs): Remove.
+       * tree-parloops.c (create_parallel_loop): Remove FIXME
+       tuples note.
+       * tree-eh.c (lookup_stmt_eh_region): Remove FIXME tuples
+       editorial note.
+       * cfgexpand.c (gimple_to_tree): Likewise.
+       * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Tidy.
+       Do not handle GIMPLE_BIND.
+       * tree-inline.c (remap_gimple_op_r): Remove stale FIXME notes.
+       * tree-optimize.c (execute_fixup_cfg): Likewise.
+       * tree-flow.h (struct tree_ann_common_d): Remove stale
+       FIXME tuples notes.
+       (tree_vrp_evaluate_conditional): Change last argument type to
+       gimple.  Update all users.
+       (thread_across_edge): Likewise.
+       * gimple.c (gimple_has_side_effects): If any argument has
+       TREE_SIDE_EFFECTS set, assert that S has volatile operands.
+       (gimple_rhs_has_side_effects): Likewise.
+       * gimple.h (gimple_phi_capacity): Remove stale FIXME tuples note.
+       * tree-cfg.c (group_case_labels): Remove FIXME tuples note.
+       Assert that the new size is smaller than the old size.
+       (remove_useless_stmts_warn_notreached): Remove #if 0 code.
+       (remove_useless_stmts_cond): Remove stale FIXME tuples note.
+       (remove_useless_stmts_1): Likewise.
+       (verify_types_in_gimple_assign): Likewise.
+       * passes.c (init_optimization_passes): Re-enable
+       pass_ipa_increase_alignment.
+       * tree-ssa-threadedge.c
+       (record_temporary_equivalences_from_stmts_at_dest):
+       Change SIMPLIFY to accept two arguments of type gimple.
+       Update all users.
+       (simplify_control_stmt_condition): Likewise.
+       (thread_accross_edge): Likewise.
+       * tree-ssa-operands.c (add_call_clobber_ops): Re-enable
+       calls to ipa_reference_get_not_read_globals and
+       ipa_reference_get_not_written_global.
+
+2008-07-07  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-dom.c: Remove FIXME tuples.
+
+2008-07-07  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-cfg.c (verify_types_in_gimple_assign): Remove
+       FIXME tuples.
+
+2008-07-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * cfgexpand.c (gimple_to_tree) <case GIMPLE_CALL>: Copy
+       CALL_EXPR_VA_ARG_PACK.
+
+       * gimple.c (gimple_build_bind): Set gimple_bind_block rather
+       than gimple_block.
+       (gimple_copy) <case GIMPLE_BIND>: Don't unshare gimple_bind_block.
+
+       * gimple.h (GF_ASM_INPUT, GF_ASM_VOLATILE, GF_CALL_CANNOT_INLINE,
+       GF_CALL_FROM_TRUNK, GF_CALL_RETURN_SLOT_OPT, GF_CALL_TAILCALL,
+       GF_CALL_VA_ARG_PACK, GF_OMP_PARALLEL_COMBINED, GF_OMP_RETURN_NOWAIT,
+       GF_OMP_SECTION_LAST, GF_PREDICT_TAKEN): Change from static const ints
+       into enum values.
+       (struct gimple_statement_base): Move subcode after flags to make it
+       16-bit aligned.
+
+       * tree-ssa-structalias.c (find_func_aliases): Handle ADDR_EXPR
+       as GIMPLE_SINGLE_RHS instead of GIMPLE_UNARY_RHS.
+
+       * tree-ssa-operands.c (get_expr_operands): Don't handle
+       OMP_FOR, OMP_PARALLEL, OMP_TASK, OMP_SECTIONS and PREDICT_EXPR
+       here.
+
+       * gimple.def (GIMPLE_PREDICT): New.
+       * gimple.h: Update comment above GF_* flags.
+       (GF_PREDICT_TAKEN): New.
+       (gimple_build_predict): New prototype.
+       (gimple_predict_predictor, gimple_predict_outcome,
+       gimple_predict_set_predictor, gimple_predict_set_outcome): New
+       inlines.
+       * gimple.c (gss_for_code): Handle GIMPLE_PREDICT.
+       (gimple_size, walk_gimple_op): Likewise.
+       (gimple_build_predict): New function.
+       * gimple-pretty-print.c (dump_gimple_stmt): Handle GIMPLE_PREDICT.
+       * predict.c (tree_bb_level_predictions): Likewise.
+       * cfgexpand.c (gimple_to_tree): Likewise.
+       * tree-inline.c (estimate_num_insns): Likewise.
+       * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
+       * gimple-low.c (lower_stmt): Likewise.
+       * tree-cfg.c (verify_types_in_gimple_seq_2): Likewise.
+       (verify_types_in_gimple_stmt): Likewise.  Don't handle PREDICT_EXPR.
+       * gimplify.c (gimplify_expr): Gimplify PREDICT_EXPR into
+       GIMPLE_PREDICT.
+       * expr.c (expand_expr_real): Don't handle PREDICT_EXPR.
+
+2008-07-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-forwprop.c (rhs_to_tree): Remove fixme.
+       (forward_propagate_into_cond): Add comment.
+       (forward_propagate_into_gimple_cond): Add comment.
+       (forward_propagate_addr_expr_1): Enable optimization.
+
+2008-07-04  David Edelsohn  <edelsohn@gnu.org>
+
+       Revert:
+       * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Unshare t.
+
+       * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Unshare reg.
+
+2008-07-03  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Unshare t.
+
+2008-07-03  Doug Kwan  <dougkwan@google.com>
+
+       * gimple-dummy.c (vectorizable_function): New dummy.
+       (vect_pattern_recog): Remove dummy.
+       * tree-vectorizer.h (vect_recog_func_ptr): Adjust types for tuples.
+       * tree-vect-patterns.c (File): Re-enable all code.
+       (widened_name_p): Tuplify.
+       (vect_recog_temp_ssa_var): New.
+       (vect_recog_dot_prod_pattern): Tuplify.
+       (vect_recog_widen_mult_pattern): Same.
+       (vect_recog_pow_pattern): Same.
+       (vect_recog_widen_sum_pattern): Same.
+       (vect_pattern_recog_1): Tuplify. Factor out code to create SSA
+       temporaries to vect_recog_temp_ssa_var.  Remove code for building
+       assignment statement.
+       (vect_pattern_recog): Tuplify.
+
+2008-07-03  Janis Johnson  <janis187@us.ibm.com>
+            David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_va_start): Unshare valist.
+       (rs6000_gimplify_va_arg): Unshare valist, reg, addr, ovf.
+
+2008-07-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-inline.c (remap_gimple_op_r): Remap TREE_BLOCK of
+       expressions.
+
+       * tree-switch-conversion.c (gen_inbound_check): Force RHS to be
+        gimple operand.  Use fold_build* instead of build*.
+       (build_arrays): Likewise.  Convert RHS to LHS's type.
+
+       * tree-switch-conversion.c (struct switch_conv_info): Change
+       arr_ref_first and arr_ref_last to gimple.
+       (check_range, check_final_bb, gather_default_values,
+       build_constructors, build_one_array, build_arrays, gen_def_assign,
+       fix_phi_nodes, gen_inbound_check, process_switch, do_switchconv):
+       Tuplify.
+       (create_temp_arrays): Formatting.
+
+       * gimple.h (gimple_try_set_kind): New inline function.
+       * tree-eh.c (same_handler_p, optimize_double_finally,
+       refactor_eh_r, refactor_eh): Tuplify.
+       * passes.c (init_optimization_passes): Reenable pass_refactor_eh.
+
+2008-07-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-parloops.c (struct reduction_info): Change reduc_stmt,
+       reduc_phi, keep_res and new_phi field types to gimple.
+       (struct elv_data): Add info field.
+       (reduction_phi, loop_parallel_p, take_address_of,
+       initialize_reductions, eliminate_local_variables_stmt,
+       eliminate_local_variables, expr_invariant_in_region_p,
+       separate_decls_in_region_name, separate_decls_in_region_stmt,
+       create_phi_for_local_result, create_call_for_reduction_1,
+       create_call_for_reduction, create_loads_for_reductions,
+       create_final_loads_for_reduction, create_stores_for_reduction,
+       create_loads_and_stores_for_name, separate_decls_in_region,
+       canonicalize_loop_ivs, transform_to_exit_first_loop,
+       create_parallel_loop, gen_parallel_loop,
+       loop_has_vector_phi_nodes, parallelize_loops): Tuplify.
+       * tree-cfg.c (gimple_duplicate_sese_tail): Tuplify.
+       (move_block_to_fn): Don't call gsi_next after calling
+       remove_phi_node.
+
+2008-07-02  Aldy Hernandez  <aldyh@redhat.com>
+           Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-forwprop.c (can_propagate_from): Exclude loads
+        from decls explicitly.
+       (gate_forwprop): Enable.
+
+2008-07-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-vectorizer.h (vinfo_for_stmt): Use htab_find_slot_with_hash.
+       (set_vinfo_for_stmt): Likewise.  If info is NULL, delete entry from
+       hash table.
+       * tree-vectorizer.c (stmt_vec_info_eq, stmt_vec_info_hash): New
+       functions.
+       (init_stmt_vec_info_htab): Use them instead of htab_hash_pointer
+       and htab_eq_pointer.
+       (free_stmt_vec_info): Free stmt_info only after set_vinfo_for_stmt
+       call.
+
+       Merge with mainline @137346.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+       * builtins.c (gimple_rewrite_call_expr): Fix -Wc++-compat and/or
+       -Wcast-qual warnings.
+       * gimple.c (gimple_alloc_stat, gimple_build_omp_for,
+       gimple_range_check_failed, gimple_copy): Likewise.
+       * tree-mudflap.c (mx_xfn_xform_decls): Likewise.
+       * tree-nested.c (convert_nonlocal_reference_stmt,
+       convert_local_reference_stmt): Likewise.
+       * gimple-iterator.c (gsi_insert_before_without_update,
+       gsi_insert_after_without_update): Likewise.
+       * tree-ssa-loop-im.c (init_lim_data, get_lim_data,
+       clear_lim_data): Likewise.
+       * tree-ssa-sccvn.c (vn_nary_op_insert_stmt): Likewise.
+       * tree-vrp.c (check_all_array_refs): Likewise.
+       * value-prof.c (histogram_eq): Likewise.
+       * cgraphbuild.c (record_reference): Don't handle OMP_PARALLEL
+       and OMP_TASK here.
+       (build_cgraph_edges): Handle GIMPLE_OMP_{PARALLEL,TASK}.
+       * cgraph.c (cgraph_add_new_function): Call gimple_register_cfg_hooks
+       instead of tree_register_cfg_hooks.
+       * omp-low.c (finalize_task_copyfn): Ensure the new function's
+       body is a gimple_seq with just GIMPLE_BIND in it.
+       (scan_omp_1_stmt): Fix -Wc++-compat and/or -Wcast-qual warnings.
+       * tree-cfg.c (move_stmt_op, have_similar_memory_accesses_1,
+       ref_base_address_1): Likewise.
+       (move_stmt_r): Handle gimple_block updating.
+       * tree-ssa-alias.c (update_alias_info_1): Tuplify.
+       (update_alias_info): Likewise.
+       * tree-switch-conversion.c: Stub out temporarily.
+
+2008-06-30  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-forwprop.c: Remove obsolete comment.
+       (get_prop_source_stmt): Wrap call to gimple_assign_lhs with a
+       TREE_TYPE.
+       (forward_propagate_comparison): Use build2 instead of
+       fold_binary.
+       
+2008-06-27  Diego Novillo  <dnovillo@google.com>
+
+       * cfgexpand.c (gimple_assign_rhs_to_tree): Factor out of ...
+       (gimple_to_tree): ... here.
+       Update comments referring to mainline merge.
+       * tree-ssa-ter.c: Tuplify.
+       * tree-outof-ssa.c (gimple_assign_rhs_to_tree): Declare.
+       (replace_use_variable): Call it.
+       (rewrite_trees): Tuplify.
+       (remove_ssa_form): Call it.
+       * gimple.h: Tidy some formatting.
+       * ipa-struct-reorg.c: Include gimple.h
+       * Makefile.in (ipa-struct-reorg.o): Add dependency on
+       GIMPLE_H.
+
+2008-06-27  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.c (vn_get_expr_for): New function.
+       (vuses_to_vec): Tuplify.
+       (copy_vuses_from_stmt): Likewise.
+       (vdefs_to_vec): Likewise.
+       (copy_vdefs_from_stmt): Likewise.
+       (shared_vuses_from_stmt): Likewise.
+       (copy_reference_ops_from_call): New function split out from
+       copy_reference_ops_from_ref.
+       (create_reference_ops_from_call): New function.
+       (shared_reference_ops_from_call): Likewise.
+       (get_def_ref_stmt_vuses): Tuplify.
+       (vn_reference_lookup): Likewise.
+       (vn_nary_op_lookup_stmt): New function.
+       (vn_nary_op_insert_stmt): Likewise.
+       (vn_phi_lookup): Tuplify.
+       (vn_phi_insert): Likewise.
+       (defs_to_varying): Likewise.
+       (visit_unary_op): Likewise.
+       (visit_binary_op): Likewise.
+       (visit_reference_op_call): New function.
+       (visit_reference_op_load): Tuplify.
+       (visit_reference_op_store): Likewise.
+       (visit_phi): Likewise.
+       (stmt_has_constants): New function.
+       (simplify_binary_expression): Tuplify.
+       (simplify_unary_expression): Likewise.
+       (try_to_simplify): Likewise.
+       (visit_use): Likewise.
+       (compare_ops): Likewise.
+       (DFS): Likewise.
+       (run_scc_vn): Likewise.
+       * tree-ssa-sccvn.h (shared_vuses_from_stmt): Adjust prototype.
+       (copy_vuses_from_stmt): Likewise.
+       (vn_get_expr_for): Declare.
+       (vn_nary_op_lookup_stmt): Likewise.
+       (vn_nary_op_insert_stmt): Likewise.
+       * tree-dfa.c (get_single_def_stmt): Tuplify.
+       (get_single_def_stmt_from_phi): Likewise.
+       (get_single_def_stmt_with_phi): Likewise.
+       * tree-ssa-pre.c (do_SCCVN_insertion): Use vn_get_expr_for.
+       (eliminate): Likewise.
+       (execute_pre): Enable SCCVN.
+       (gate_fre): Enable.
+       * tree-flow.h (get_single_def_stmt): Adjust prototype.
+       (get_single_def_stmt_from_phi): Likewise.
+       (get_single_def_stmt_with_phi): Likewise.
+       (vn_lookup_or_add_with_stmt): Likewise.
+       (vn_lookup_with_stmt): Likewise.
+       * gimple.c (gimple_fold): Fix.
+       * tree-vn.c (vn_add): Disable call to add_to_value.
+       (vn_add_with_vuses): Likewise.
+       (vn_lookup_with_stmt): Tuplify.
+       (vn_lookup_or_add_with_stmt): Likewise.
+
+2008-06-27  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple.c (gimple_cond_get_ops_from_tree): Handle TRUTH_NOT_EXPR.
+       
+2008-06-25  Diego Novillo  <dnovillo@google.com>
+
+       * gimple.h (enum gimple_rhs_class): Move from tree-gimple.h
+       (struct gimple_statement_base): Change CODE field to 8
+       bits.
+       Change SUBCODE field to 16 bits.
+       (gimple_set_subcode): Move to gimple.c.
+       (gimple_subcode): Remove.
+       (gimple_expr_type): Handle GIMPLE_ASSIGN, GIMPLE_CALL and
+       GIMPLE_COND explicitly.
+       Move earlier in the file.
+       (gimple_expr_code): New.
+       (gimple_omp_subcode): New.
+       (gimple_omp_set_subcode): New.
+       (gimple_omp_return_nowait_p): Call gimple_omp_subcode.
+       (gimple_omp_section_last_p): Likewise.
+       (gimple_omp_parallel_combined_p): Likewise.
+       (gimple_assign_rhs_code): New.
+       (gimple_assign_set_rhs_code): New.
+       (gimple_assign_cast_p): Call gimple_assign_rhs_code.
+       Handle VIEW_CONVERT_EXPR.
+       (gimple_call_tail_p): Access subcode field directly.
+       (gimple_call_cannot_inline_p): Likewise.
+       (gimple_call_return_slot_opt_p): Likewise.
+       (gimple_call_from_thunk_p): Likewise.
+       (gimple_call_va_arg_pack_p): Likewise.
+       (gimple_call_copy_flags): Likewise.
+       (gimple_cond_code): Likewise.
+       (gimple_cond_set_code): Likewise.
+       (gimple_cond_make_false): Likewise.
+       (gimple_cond_make_true): Likewise.
+       (gimple_asm_volatile_p): Likewise.
+       (gimple_asm_input_p): Likewise.
+       (gimple_eh_filter_must_not_throw): Likewise.
+       (gimple_eh_filter_set_must_not_throw): Likewise.
+       (gimple_try_kind): Likewise.
+       (gimple_try_catch_is_cleanup): Likewise.
+       (gimple_wce_cleanup_eh_only): Likewise.
+
+       * tree-vrp.c (simplify_div_or_mod_using_ranges): Call
+       gimple_assign_set_rhs_code instead of gimple_set_subcode.
+       (simplify_abs_using_ranges): Likewise.
+       * tree-complex.c (init_dont_simulate_again): Call
+       gimple_expr_code instead of gimple_subcode.
+       (complex_visit_stmt): Likewise.
+       (expand_complex_move): Call gimple_assign_rhs_code
+       instead of gimple_subcode.
+       (expand_complex_operations_1): Likewise.
+       * value-prof.c (gimple_divmod_fixed_value): Likewise.
+       (gimple_mod_pow2): Likewise.
+       (gimple_mod_subtract): Likewise.
+       (gimple_divmod_values_to_profile): Likewise.
+       * tree-ssa-alias-warnings.c (find_alias_site_helper):
+       Call gimple_assign_cast_p.
+       (already_warned_in_frontend_p): Likewise.
+       * gimple.def: Add comments warning about code orderings.
+       * omp-low.c (expand_omp_taskreg): Call gimple_omp_set_subcode.
+       (expand_omp_atomic_fetch_op): Call gimple_assign_rhs_code.
+       * tree-gimple.c (get_gimple_rhs_class): Move to gimple.c
+       (get_gimple_rhs_num_ops): Likewise.
+       (gimple_assign_rhs_code): Move to gimple.h.
+       * tree-gimple.h (enum gimple_rhs_class): Move to gimple.h.
+       * tree-ssa-ccp.c (fold_gimple_assign): Call
+       gimple_assign_rhs_code instead of gimple_subcode.
+       * tree-stdarg.c (va_list_counter_bump): Likewise.
+       (check_all_va_list_escapes): Likewise.
+       (execute_optimize_stdarg): Likewise.
+       * tree-ssa-math-opts.c (is_division_by): Likewise.
+       (replace_reciprocal): Likewise.
+       (execute_cse_reciprocals): Likewise.
+       (execute_convert_to_rsqrt): Likewise.
+       * tree-ssa-dom.c (initialize_hash_element): Likewise.
+       (simple_iv_increment_p): Likewise.
+       (gimple_assign_unary_useless_conversion_p): Likewise.
+       * tree-ssa-alias.c (is_escape_site): Call gimple_assign_cast_p.
+       * predict.c (expr_expected_value_1): Call gimple_assign_rhs_code
+       instead of gimple_subcode.
+       * tree-eh.c (tree_could_trap_p): Call gimple_expr_code
+       instead of gimple_subcode.
+       * ipa-type-escape.c (is_array_access_through_pointer_and_index):
+       Call gimple_assign_rhs_code instead of gimple_subcode.
+       (check_assign): Likewise.
+       * gimplify.c (gimplify_omp_parallel): Call gimple_omp_set_subcode
+       instead of gimple_set_subcode.
+       * tree-mudflap.c (mf_xform_derefs): Call gimple_assign_rhs_code
+       instead of gimple_subcode.
+       * tree-ssa-forwprop.c (get_prop_source_stmt): Likewise.
+       (can_propagate_from): Likewise.
+       (remove_prop_source_from_use): Likewise.
+       (forward_propagate_addr_into_variable_array): Likewise.
+       * tree-object-size.c (plus_stmt_object_size): Likewise.
+       (collect_object_sizes_for): Likewise.
+       (check_for_plus_in_loops_1): Likewise.
+       (check_for_plus_in_loops): Likewise.
+       * gimple.c (gimple_set_subcode): Move from gimple.h
+       (gimple_check_failed): Access subcode field directly.
+       (gimple_assign_single_p): Call gimple_assign_rhs_code
+       instead of gimple_subcode.
+       (gimple_assign_unary_nop_p): Likewise.
+       (gimple_get_lhs): Change argument type to const_gimple.
+       (gimple_could_trap_p): Call gimple_assign_rhs_code
+       instead of gimple_subcode.
+       (get_gimple_rhs_class): Move from tree-gimple.c.
+       (get_gimple_rhs_num_ops): Likewise.
+       * tree-ssa-structalias.c (update_alias_info): Call
+       gimple_assign_rhs_code instead of gimple_subcode.
+       (find_func_aliases): Likewise.
+       * tree-ssa-threadedge.c (record_temporary_equivalences_from_phis):
+       Likewise.
+
+2008-06-25  Doug Kwan  <dougkwan@google.com>
+
+       * gimple-dummy.c: (vect_free_slp_tree) Remove dummy.
+       (vect_analyze_loop): Same.
+       (vectorizable_induction): New dummy.
+       (vectorizable_type_promotion): Same.
+       (vectorizable_type_demotion): Same.
+       (vectorizable_conversion): Same.
+       (vectorizable_operation): Same.
+       (vectorizable_assignment): Same.
+       (vectorizable_load): Same.
+       (vectorizable_call): Same.
+       (vectorizable_store): Same.
+       (vectorizable_condition): Same.
+       (vectorizable_reduction): Same.
+       (vectorizable_live_operation): Same.
+       (vect_estimate_min_profitable_iters): Same.
+       (vect_model_simple_cost): Same.
+       (vect_model_store_cost): Same.
+       (vect_model_load_cost): Same.
+       (vect_pattern_recog): Same.
+       * tree-vectorizer.h (struct _stmt_vec_info): Change fields FIRST_DR
+       and NEXT_DR from tree to gimple type.
+       (vectorizable_load): Change type of parameter STMT to gimple.
+       (vectorizable_store): Same.
+       (vectorizable_operation): Same.
+       (vectorizable_type_promotion): Same.
+       (vectorizable_type_demotion): Same.
+       (vectorizable_conversion): Same.
+       (vectorizable_assignment): Same.
+       (vectorizable_function): Same.
+       (vectorizable_call): Same.
+       (vectorizable_condition): Same.
+       (vectorizable_live_operation): Same.
+       (vectorizable_reduction): Same.
+       (vectorizable_induction): Same.
+       * tree-vect-analyze.c (File): Re-enable all previously disabled code.
+       (vect_determine_vectorization_factor): Tuplify.
+       (vect_analyze_operations): Same.
+       (exist_non_indexing_operands_for_use_p): Same.
+       (vect_analyze_scalar_cycles_1): Same.
+       (vect_insert_into_interleaving_chain): Same.
+       (vect_same_range_drs): Same.
+       (vect_compute_data_ref_alignment): Same.
+       (vect_verify_datarefs_alignment): Same.
+       (vector_alignment_reachable_p): Same.
+       (vect_enhance_data_refs_alignment): Same.
+       (vect_analyze_group_access): Same.
+       (vect_analyze_data_ref_access): Same.
+       (vect_free_slp_tree): Same.
+       (vect_get_and_check_slp_defs): Same.
+       (vect_build_slp_tree): Same.
+       (vect_print_slp_tree): Same.
+       (vect_mark_slp_stmts): Same.
+       (vect_analyze_slp_instance): Same.
+       (vect_analyze_slp): Same.
+       (vect_detect_hybrid_slp_stmts): Same.
+       (vect_analyze_data_refs): Same.
+       (vect_mark_relevant): Same.
+       (process_use): Same.
+       (vect_mark_stmts_to_be_vectorized): Same.
+       (vect_can_advance_ivs_p): Same.
+       (vect_get_loop_niters): Same.
+       (vect_analyze_loop_form): Same.
+
+2008-06-25  Diego Novillo  <dnovillo@google.com>
+
+       * tree-vectorizer.c (hash_gimple_stmt): Remove.
+       (eq_gimple_stmt): Remove.
+       (init_stmt_vec_info_htab): Use htab_hash_pointer and
+       htab_eq_pointer for STMT_VEC_INFO_HTAB.
+
+2008-06-24  Doug Kwan  <dougkwan@google.com>
+
+       * gimple-dummy.c (vect_set_verbosity_level): Remove.
+       (vectorize_loops): Same.
+       (vect_free_slp_tree): New dummy.
+       (vect_analyze_loop): Same.
+       (vect_transform_loop): Same.
+       * tree-vectorize.c (hashtab.h): New include.
+       (File): Re-enable all previously commented out code.    
+       (stmt_vec_info_htab): New var.
+       (rename_variables_in_bb): Tuplify.
+       (slpeel_update_phis_for_duplicate_loop): Same.
+       (slpeel_update_phi_nodes_for_guard1): Same.
+       (slpeel_update_phi_nodes_for_guard2): Same.
+       (slpeel_make_loop_iterate_ntimes): Same.
+       (slpeel_tree_duplicate_loop_to_edge_cfg): Same.
+       (slpeel_add_loop_guard): Same.
+       (slpeel_can_duplicate_loop_p): Same.
+       (set_prologue_iterations): Same.
+       (find_loop_location): Same.
+       (new_stmt_vec_info): Same.
+       (hash_gimple_stmt): New function.
+       (init_stmt_vec_info_htab): New function.
+       (free_stmt_vec_info_htab): New function.
+       (free_stmt_vec_info): Replace statement info with hash table entry.
+       (new_loop_vec_info): Tuplify.
+       (destroy_loop_vec_info): Same.
+       (vect_supportable_dr_alignment): Same
+       (vect_is_simple_use): Same.
+       (supportable_widening_operation): Same.
+       (supportable_narrowing_operation): Same.
+       (report_vec_op): New function. Code factored out from ...
+       (vect_is_simple_reduction): Call it. Tuplify.
+       (vectorize_loops): Set up and tear down stmt_vec_info hash table.
+       * tree-vectorizer.h (struct _slp_tree): Change statement fields
+       (struct _loop_vec_info): Same.
+       (struct _stmt_vec_info):
+       (nested_in_vect_loop): Re-enable.
+       (init_stmt_vec_info_htab): New prototype.
+       (free_stmt_vec_info_htab): New prototype.
+       (vinfo_for_stmt): Use hash table instead of statement info.
+       (set_stmt_info): Remove.
+       (set_vinfo_for_stmt): New inline.
+       (is_pattern_stmt_p): Tuplify.
+       (vect_is_simple_use): Tuplify prototype.
+       (vect_is_simple_reduction): Same.
+       (supportable_widening_operation): Same.
+       (supportable_narrowing_operation): Same.
+       (new_stmt_vec_info): Same.
+       (free_stmt_vec_info): Same.
+       Makefile.in (tree-vectorize.o): Add HASTAB_H dependency.
+
+2008-06-22  Andrew Pinski  <pinskia@gmail.com>
+
+       * gimple-pretty-print.c (dump_binary_rhs): Print out MIN_EXPR and
+       MAX_EXPR specially.
+
+2008-06-20  Doug Kwan  <dougkwan@google.com>
+
+       * tree-loop-linear.c (File): Re-enable all previously disabled code.
+       (gather_interchange_stats): Tuplify.
+       (linear_transform_loops): Likewise.
+       * gimple-dummy.c (get_type): Remove unused dummy.
+       (ipa_add_method): Same.
+       (ipa_callsite_callee): Same.
+       (ipa_callsite_compute_count): Same.
+       (ipa_callsite_compute_param): Same.
+       (ipa_callsite_param): Same.
+       (ipa_callsite_param_count): Same.
+       (ipa_callsite_param_count_set): Same.
+       (ipa_edges_create): Same.
+       (ipa_edges_free): Same.
+       (ipa_free): Same.
+       (ipa_jf_get_info_type): Same.
+       (ipa_method_compute_modify): Same.
+       (ipa_method_compute_tree_map): Same.
+       (ipa_method_formal_compute_count): Same.
+       (ipa_method_formal_count): Same.
+       (ipa_method_formal_count_set): Same.
+       (ipa_method_get_tree): Same.
+       (ipa_method_modify_print): Same.
+       (ipa_method_tree_print): Same.
+       (ipa_methodlist_init): Same.
+       (ipa_methodlist_not_empty): Same.
+       (ipa_node_create): Same.
+       (ipa_nodes_create): Same.
+       (ipa_nodes_free): Same.
+       (ipa_remove_method): Same.
+       (vec_set_verbosity_level): Same.
+       * tree-ssa-loop.c (tree_linear_transform): Re-enable.
+
+2008-06-19  Jan Hubicka  <jh@suse.cz>
+
+       * gimple.c (gimple_alloc): Annotate with MEM_STAT_INFO
+       (gimple_build_with_ops): Likewise.
+       (gimple_build_assign): Likewise.
+       (gimple_build_assign_with_ops): Likewise.
+       * gimple.h (gimple_build_assign, gimple_build_assign_with_ops):
+       Annotate with MEM_STAT_INFO.
+
+2008-06-17  Jan Hubicka  <jh@suse.cz>
+
+       * config/i386.c (ix86_gimplify_va_arg): Fix sharing issue.
+
+2008-06-17  Jan Hubicka  <jh@suse.cz>
+
+       * gimplify.c (gimplify_modify_expr): Unshare only returned value when
+       want_value is set instead of copying operands all the time.
+
+2008-06-17  Diego Novillo  <dnovillo@google.com>
+
+       * tree-ssa-loop-niter.c (get_val_for): Fix FIXME note.
+
+2008-06-17  Steven Bosscher  <stevenb.gcc@gmail.com>
+
+       * gimple-dummy.c (canonicalize_induction_variables): Remove dummy.
+       (remove_empty_loops): Likewise.
+       (tree_unroll_loops_completely): Likewise.
+       * tree-ssa-ivcanon.c (tree_num_loop_insns): Replace bsi with gsi.
+       (create_canonical_iv): Convert to tuples.
+       (try_unroll_loop_completely): Likewise.
+       (empty_loop_p): Likewise.
+       (remove_empty_loop): Likewise.
+       * tree-ssa-loop.c (tree_ssa_loop_ivcanon): Re-enable.
+       (tree_ssa_empty_loop): Likewise.
+       (tree_complete_unroll): Likewise.
+       (tree_complete_unroll_inner): Likewise.
+
+2008-06-16  Doug Kwan  <dougkwan@google.com>
+
+       * tree-ssa-ifcombine.c (File): Re-enable all previously diabled code.
+       (bb_no_side_effects_p): Tuplify.
+       (same_phi_args_p): Likewise.
+       (get_name_for_bit_test): Likewise.
+       (operand_precision): New.
+       (integral_operand_p): New.
+       (recognize_single_bit_test): Tuplify.
+       (regcognize_bits_test): Tuplify.
+       (ifcombine_ifandif): Likewise.
+       (ifcombine_iforif): Likewise.
+       (tree_ssa_ifcombine): Likewise.
+       * passes.c: Re-enable pass_tree_ifcombine.
+
+2008-06-16  Doug Kwan  <dougkwan@google.com>
+
+       * tree-ssa-loop-unswitch.c (File): Re-enable all previously disabled
+       code.
+       (tree_may_unswitch_on):  Tuplify.
+       (simplify_using_entry_checks):  Likewise.
+       (tree_unswitch_single_loop): Likewise.
+       * gimple-dummy.c (tree_ssa_unswitch_loops): Remove dummy.
+       * tree-ssa-loop.c (gate_tree_ssa_loop_unswitch):  Re-enable.
+
+2008-06-16  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * tree-ssa-reassoc.c: Convrt to tuples.
+
+2008-06-15  Diego Novillo  <dnovillo@google.com>
+
+       * tree-ssa-live.c (mark_all_vars_used_1): Mark as used
+       the TREE_BLOCK of any _EXPR node.
+
+2008-06-13  Doug Kwan  <dougkwan@google.com>
+
+       * tree-mudflap.c (File): Re-enable previously disabled code.
+       (mf_decl_cache_locals): Tuplify.
+       (mf_build_check_statement_for): Likewise.
+       (mf_xform_derefs_1): Re-enable.
+       (mf_xform_derefs): Tuplify.
+       (execute_mudflap_function_decls): Likewise.
+       (mx_register_decls): Tuplify.  Add a new formal parameter for
+       the location of newly generated statements.  Change function to
+       return modified gimple sequence instead of of modifying in-place.
+       (mx_xfn_xform_decls): Tuplify.
+       (mf_xform_decls): Tuplify.
+       * passes.c (init_optimization_passes): Re-enable mudflap passes.
+
+2008-06-13  Jakub Jelinek  <jakub@redhat.com>
+
+       Merge with mainline @136757.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-06-13  Doug Kwan  <dougkwan@google.com>
+
+       * ipa-reference.c (scan_stmt_for_static_refs): Rename walk_subtrees
+       parameter to handled_ops_p and correct bug of using walk_tree callback
+       semantics.
+       * ipa-pure-const.c (scan_function_stmt): Likewise.
+       * tree-inline.c (mark_local_labes_stmt): Rename walk_subtrees
+       parameter to handle_ops_p.
+       (replace_locals_stmt): Likewise.
+
+2008-06-10  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * passes.c (init_optimization_passes): Re-enable pass_uncprop.
+       * tree-ssa-uncprop (associate_equivalences_with_edges): Convert
+       to tuples.
+       (uncprop_into_successor_phis): Likewise.
+
+2008-06-09  Diego Novillo  <dnovillo@google.com>
+
+       * ipa-cp.c (cgraph_gate_cp): Fix 'FIXME tuples' note.
+       * cfg.c (compact_blocks): Likewise.
+       * dominance.c (free_dominance_info): Likewise.
+       * gimple-low.c (gimple_stmt_may_fallthru): Likewise
+       * c-gimplify.c (add_block_to_enclosing): Likewise.
+       * lambda-mat.c: Include tree-flow.h.
+       * lambda-trans.c: Likewise.
+       * Makefile.in (lambda-mat.o, lambda-trans.o): Add dependency
+       on $(TREE_FLOW_H).
+       * builtins.c (expand_builtin_setjmp_receiver): Remove #if 0 markers.
+       (fold_call_stmt): Call gimple_call_va_arg_pack_p.
+       * tree-gimple.h (gimple_bind_expr_stack): Declare.
+       * cgraphunit.c (update_call_expr): Do not try to access operand 0
+       of a FUNCTION_DECL.
+       * tree-ssa-loop-ivopts.c (stmt_invariant_in_loop_p): New.
+       * tree-flow.h (stmt_invariant_in_loop_p): Declare.
+       * gimple-dummy.c (remove_iv): Remove.
+       (gimple_stmt_may_fallthru):
+       * ipa-type-escape.c (check_tree): Call DECL_P before testing
+       DECL_INITIAL.
+       (check_assign): Do not access TREE_OPERAND 0 on the RHS
+       operand.
+       * gimplify.c (gimple_bind_expr_stack): New.
+       * gimple.h (struct gimple_statement_bind): Add more comments
+       for field BLOCK.
+       (gimple_cond_set_condition): New.
+       * gimple.c (gimple_cond_set_condition_from_tree): Call it.
+       (gimple_copy_no_def_use): Remove.  Update all users.
+       (gimple_has_side_effects):
+       (gimple_rhs_has_side_effects):
+       * passes.c (init_optimization_passes): Enable
+       pass_release_ssa_names, pass_ipa_type_escape, pass_ipa_pta,
+       pass_ipa_struct_reorg, pass_record_bounds,
+       pass_late_warn_uninitialized and pass_rename_ssa_copies.
+
+       * lambda-code.c: Tuplify.
+       * ipa-struct-reorg.c: Tuplify.
+       * ipa-struct-reorg.h: Tuplify.
+
+2008-06-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimplify.c (gimplify_omp_for): Call gimple_omp_for_set_incr
+       with the RHS of the GIMPLE_MODIFY_STMT instead of the
+       GIMPLE_MODIFY_STMT itself.
+       * gimple-pretty-print.c (dump_gimple_omp_for): Adjust for it.
+       * tree-nested.c (walk_gimple_omp_for): Likewise.
+       * omp-low.c (extract_omp_for_data, lower_omp_for): Likewise.
+
+2008-06-09  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-forwprop.c (forward_propagate_into_cond): First argument is
+       a GSI.
+       (forward_propagate_addr_into_variable_array_index): Accept a GSI
+       instead of a gimple statement.  Update accordingly.
+       (forward_propagate_addr_expr_1): Same.
+       (forward_propagate_addr_expr): Pass a GSI to
+       forward_propagate_addr_expr_1.
+       (simplify_not_neg_expr): Argument is a GSI.
+       Adjust accordingly.
+       (tree_ssa_forward_propagate_single_use_va): Pass GSI to
+       simplify_not_neg_expr and forward_propagate_into_cond.
+
+2008-06-09  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree.h (IS_CONVERT_EXPR_P): New.
+       (CONVERT_EXPR_P): Use IS_CONVERT_EXPR_P.
+       * tree-ssa-forwprop.c (get_prop_dest_stmt): Convert to tuples.
+       (get_prop_source_stmt): Same.
+       (can_propagate_from): Same.
+       (remove_prop_source_from_use): Same.
+       (combine_cond_expr_cond): Same.
+       (forward_propagate_into_cond): Same.
+       (tidy_after_forward_propagate_addr): Same.
+       (forward_propagate_addr_into_variable_array_index): Same.
+       (forward_propagate_addr_expr_1): Same.
+       (forward_propagate_addr_expr): Same.
+       (forward_propagate_comparison): Same.
+       (simplify_not_neg_expr): Same.
+       (tree_ssa_forward_propagate_single_use_vars): Same.
+       (simplify_gimple_switch): Rename from -simplify_switch_expr.
+       (rhs_to_tree): New.
+       (forward_propagate_into_gimple_cond): New.
+       * Makefile.in (tree-ssa-forwprop.o): Depend on GIMPLE_H.
+       * passes.c (init_optimization_passes): Enable pass_forwprop.
+
+2008-06-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree.def (OMP_SECTIONS_SWITCH, OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE):
+       Removed.
+       * tree-gimple.c (is_gimple_stmt): Don't handle them.
+       * gimplify.c (gimplify_expr): Likewise.
+       * tree-pretty-print.c (dump_generic_node): Likewise.
+       * tree-ssa-operands.c (get_expr_operands): Likewise.
+       * expr.c (expand_expr_real_1): Likewise.
+       * omp-low.c (expand_omp_atomic_pipeline): Adjust comment.
+
+2008-06-09  Jakub Jelinek  <jakub@redhat.com>
+
+       Merge with mainline @136433.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-06-08  Diego Novillo  <dnovillo@google.com>
+
+       Merge with mainline @136432.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-06-08  Diego Novillo  <dnovillo@google.com>
+
+       * tree-call-cdce.c: Tuplify.
+
+2008-06-06  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-06/msg00353.html
+
+       * gimple.def: Add a third argument to all GIMPLE codes.
+       Update all users.
+       * calls.c (gimple_alloca_call_p): Fix comment.
+       * system.h (CONST_CAST_GIMPLE): Define.
+       * gimple.c (gimple_ops_offset_): Declare.  Fill in from
+       third argument in gimple.def.
+       (gimple_set_stored_syms, gimple_set_loaded_syms): Move
+       from tree-ssa-operands.c
+       (gimple_alloc): Add argument NUM_OPS.  Update all users.
+       Compute size by adding enough space for NUM_OPS operands.
+       (gimple_alloc_ops): Remove.  Update all users.
+       (gimple_assign_set_rhs_from_tree): Change first argument
+       to gimple_stmt_iterator *.  Update all users.
+       Allocate a new statement, if there are more operands that
+       can fit in the old one.
+       (gimple_assign_set_rhs_with_ops): Likewise.
+       (gimple_copy): Fix clearing of stores/loads sets in the
+       copied statement.
+       * gimple.h (struct gimple_statement_base): Remove fields
+       UNUSED_1, UNUSED_2, UNUSED_3.
+       Add fields MODIFIED, HAS_VOLATILE_OPS, REFERENCES_MEMORY_P,
+       UID and NUM_OPS.
+       Re-organize existing fields to eliminate holes on 64 bit
+       hosts.
+       Update all users.
+       (struct gimple_statement_with_ops_base): Define.
+       Factor out struct gimple_statement_with_ops.  Include fields GSBASE,
+       ADDRESSES_TAKEN, DEF_OPS and USE_OPS.
+       (struct gimple_statement_with_ops): Include struct
+       gimple_statement_with_ops_base.
+       Remove field NUM_OPS.
+       (struct gimple_statement_with_memory_ops_base): Define.
+       Factor out of struct gimple_statement_with_memory_ops.
+       Include fields OPBASE, VDEF_OPS, VUSE_OPS, STORES and
+       LOADS.
+       Remove fields HAS_VOLATILE_OPS and REFERENCES_MEMORY_P.
+       (struct gimple_statement_with_memory_ops): Include
+       struct gimple_statement_with_memory_ops_base.
+       (struct gimple_statement_phi): Change size_t fields to
+       unsigned.  Update all users.
+       (struct gimple_statement_asm): Include struct
+       gimple_statement_with_memory_ops_base.
+       Change fields NI and NO to unsigned char.
+       Change field NC to short.
+       Update all users.
+       Add field OP.
+       (struct gimple_statement_change_dynamic_type): Remove.
+       Update all users.
+       (union gimple_statement_d): Rename field WITH_OPS to GSOPS.
+       Rename field WITH_MEM_OPS to GSMEM.
+       Update all users.
+       (gimple_addresses_taken): New.
+       (gimple_addresses_taken_ptr): New.
+       (gimple_set_addresses_taken): New.
+       (gimple_num_ops): Move earlier.
+       (gimple_ops): Use gimple_ops_offset_ to compute address
+       of the operand vector.
+       (gimple_op): Call gimple_ops.
+       (gimple_op_ptr): Likewise.
+       (gimple_set_op): Likewise.
+       (gimple_switch_num_labels): Call gimple_num_ops.
+       (gimple_switch_set_num_labels): Call gimple_set_num_ops.
+       (gimple_switch_set_label): Call gimple_num_ops.
+       (gimple_return_retval_ptr): Likewise.
+       (gimple_return_retval): Likewise.
+       (gimple_set_retval): Likewise.
+       (gimple_cdt_new_type): Use operand 1.
+       (gimple_cdt_new_type_ptr): Likewise.
+       (gimple_cdt_set_new_type): Likewise.
+       * tree-cfg.c (gimple_block_ends_with_call_p): Use
+       CONST_CAST_BB.
+       * tree-ssa-operands.c (gimple_set_stored_syms,
+       gimple_set_loaded_syms): Declare.
+       * value-prof.c (gimple_divmod_fixed_value_transform,
+       gimple_mod_pow2_value_transform,
+       gimple_mod_subtract_transform): Change argument to
+       gimple_stmt_iterator *.  Update all users.
+       * tree-ssa-ccp.c (fold_gimple_assign): Change parameter
+       to gimple_stmt_iterator *.  Update all users
+
+2008-06-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimplify.c (gimplify_modify_expr_to_memcpy): Use gimplify_arg
+       for gimplification of call arguments.
+       (gimplify_modify_expr_to_memset): Likewise.
+
+2008-06-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/36389
+       * gimplify.c (gimplify_cond_expr): If one or both branches are
+       GOTO_EXPRs jumping to LABEL_DECLs, don't create unnecessary
+       extra LABEL_DECLs and jumps around.
+       * tree-cfg.c (remove_useless_stmts_cond): Set may_branch also
+       for GIMPLE_COND stmts.
+       * tree-eh.c (replace_goto_queue_cond_clause): Set label to
+       create_artificial_label () rather than LABEL_EXPR.
+
+2008-05-30  Diego Novillo  <dnovillo@google.com>
+
+       * calls.c (gimple_alloca_call_p): Fix detection of
+       alloca() calls.
+
+2008-05-30  Diego Novillo  <dnovillo@google.com>
+
+       * toplev.c: Include gimple.h.
+       (dump_memory_report): Call dump_gimple_statistics.
+       * Makefile.in (toplev.o): Add dependency on GIMPLE_H.
+       * gimple-low.c (pass_lower_cf): Restore disabled bits.
+       * tree-dfa.c (pass_referenced_vars): Likewise.
+       * cfgexpand.c (pass_expand): Likewise.
+       * tree-outof-ssa.c (pass_del_ssa): Likewise.
+       * gimple.c (gimple_alloc): Fix non-C99 declaration.
+       * gimplify.c (gimplify_function_tree): Remove calls to
+       dump_tree_statistics and dump_gimple_statistics.
+
+2008-05-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-low.c (diagnose_omp_structured_block_errors): Temporarily
+       switch cfun to DECL_STRUCT_FUNCTION (fndecl).
+
+       * omp-low.c (scan_sharing_clauses): Call scan_omp on
+       OMP_CLAUSE_REDUCTION_GIMPLE_{INIT,MERGE} instead of
+       scan_omp_op on OMP_CLAUSE_REDUCTION_{INIT,MERGE}.
+       (lower_rec_input_clauses): Clear
+       OMP_CLAUSE_REDUCTION_GIMPLE_{INIT,MERGE} instead of
+       OMP_CLAUSE_REDUCTION_{INIT,MERGE}.  Call lower_omp
+       on OMP_CLAUSE_REDUCTION_GIMPLE_MERGE before gimple_seq_add_seq
+       to replace all occurences of placeholder in the seq.
+       * gimplify.c (gimplify_scan_omp_clauses): Clear
+       OMP_CLAUSE_REDUCTION_{INIT,MERGE} after gimplifying it.
+
+       * tree-nested.c (init_tmp_var_with_call, init_tmp_var, save_tmp_var):
+       Only set location if not gsi_end_p.
+       (walk_gimple_omp_for): Avoid adding an empty statement to seq.
+
+       * tree-inline.c (remap_gimple_stmt): Remap body of
+       GIMPLE_OMP_{MASTER,ORDERED,SECTION,SECTIONS,SINGLE}.
+
+2008-05-28  Andrew Pinski  <pinskia@gmail.com>
+
+       * gimple-pretty-print.c (dump_unary_rhs): Handle conversions correctly.
+       Handle PAREN_EXPR, ABS_EXPR, and NEGATE_EXPR.
+
+2008-05-29  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-low.c (lower_omp_1): Handle regimplification of GIMPLE_ASM.
+       Fix GIMPLE_ASSIGN regimplification.
+       * gimple-pretty-print.c (dump_gimple_omp_sections,
+       dump_gimple_omp_block, dump_gimple_omp_critical): New functions.
+       (dump_gimple_omp_parallel): Formatting.
+       (dump_gimple_stmt): Handle remaining GIMPLE_OMP_* statements.
+
+2008-05-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-inline.c (remap_gimple_stmt): Handle GIMPLE_OMP_* cases.
+
+2008-05-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-pretty-print.c (dump_gimple_stmt): Add cases for
+       GIMPLE_OMP_MASTER and GIMPLE_OMP_ORDERED.
+
+2008-05-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       * omp-low.c (expand_omp_parallel): Parse an assignment from an
+       ADDR_EXPR correctly.
+       * gimple-pretty-print.c (dump_gimple_omp_parallel): Print braces when
+       appropriate.
+
+2008-05-29  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-low.c (lower_omp_1): Fix regimplification of GIMPLE_COND and
+       GIMPLE_CALL.
+
+2008-05-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimple.c (gimple_regimplify_operands): Don't call gimple_num_ops
+       twice.  Write regimplified operand to the correct operand slot.
+       * gimplify.c (rhs_predicate_for): No longer static.
+       * tree-gimple.h (rhs_predicate_for): New prototype.
+       * omp-low.c (lower_omp_1): Don't call gimple_regimplify_operands,
+       instead forcefully gimplify_expr each operand with the right
+       predicate.
+
+       * gimple.h (gimple_omp_atomic_store_val_ptr,
+       gimple_omp_atomic_load_lhs_ptr, gimple_omp_atomic_load_rhs_ptr): New
+       inlines.
+       * gimple.c (walk_gimple_op): Handle GIMPLE_OMP_ATOMIC_LOAD and
+       GIMPLE_OMP_ATOMIC_STORE.
+       * omp-low.c (lower_omp_1): Handle GIMPLE_OMP_ATOMIC_LOAD.
+
+       * gimple-pretty-print.c (dump_gimple_omp_for): Don't indent twice
+       before gimple_omp_body, don't emit extra newline after it.
+       (dump_gimple_omp_single): Likewise.
+
+2008-05-27  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-nested.c (walk_omp_for): Rename to...
+       (walk_gimple_omp_for): Enable and convert to tuples.
+       (convert_nonlocal_reference_stmt): Enable call to walk_gimple_omp_for.
+       (convert_local_reference_stmt): Same.
+       * gimple.c (walk_gimple_op): Remove fixme note.
+
+2008-05-27  Diego Novillo  <dnovillo@google.com>
+
+       * tree-gimple.c (get_gimple_rhs_class): Handle
+       POLYNOMIAL_CHREC.
+       * tree-cfg.c (verify_types_in_gimple_assign): Do not
+       check every operand against the LHS type for tcc_binary
+       expressions.
+
+2008-05-26  Diego Novillo  <dnovillo@google.com>
+
+       Merge with mainline @135951.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-05-22  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-cfg.c (make_edges): Change OMP_SECTION to GIMPLE_OMP_SECTIONS.
+       Update comments.
+       (verify_types_in_gimple_stmt): Update comments.
+       (verify_stmt): Same.
+
+2008-05-21 Andreas Tobler  <a.tobler@schweiz.org>
+
+       * ../configure: Regenerate with the correct autoconf version: 2.59.
+
+2008-05-21  Aldy Hernandez  <aldyh@redhat.com>
+
+       * omp-low.c (lower_reduction_clauses): Generate OMP_ATOMIC_* directly.
+       Concatenate atomic code correctly.
+
+2008-05-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       * omp-low.c (WALK_SUBSTMTS): New.
+       (check_combined_parallel): Walk sub-statements.
+       (diagnose_sb_1): Same.
+       (diagnose_sb_2): Same.
+       Handle switch labels and return statements correctly.
+       * testsuite/gcc.dg/gomp/block-7.c: Adjust for new error message.
+       * testsuite/gcc.dg/gomp/block-2.c: Same.
+       * testsuite/gcc.dg/gomp/block-4.c: Same.
+       * testsuite/gcc.dg/gomp/block-6.c: Same.
+       * testsuite/gcc.dg/gomp/block-8.c: Same.
+       * testsuite/gcc.dg/gomp/block-1.c: Same.
+       * testsuite/gcc.dg/gomp/block-3.c: Same.
+       * testsuite/gcc.dg/gomp/block-5.c: Same.
+
+2008-05-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       * omp-low.c (lower_omp_single): Append to bind variables.
+       (lower_omp_master): Same.
+       (lower_omp_ordered): Same.
+       (lower_omp_critical): Same.
+       * gimplify.c (gimplify_modify_expr_to_memcpy): Make sure we are
+       fully gimplified.
+       (gimplify_omp_for): Same.
+       * gimple.h (gimple_bind_set_vars): New.
+
+2008-05-16  Andreas Tobler  <a.tobler@schweiz.org>
+
+       * config/alpha/alpha.c (alpha_gimplify_va_arg): Adjust arguments.
+       * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
+       * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
+       * config/m32c/m32c-protos.h (m32c_gimplify_va_arg_expr): Likewise.
+       * config/spu/spu.c (spu_gimplify_va_arg_expr): Likewise.
+       * config/stormy16/stormy16.c (xstormy16_gimplify_va_arg_expr): Likewise.
+       * config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Likewise.
+
+       * config/sparc/sparc.c (sparc_gimplify_va_arg): Adjust arguments.
+
+2008-05-16  Diego Novillo  <dnovillo@google.com>
+
+       * tree-into-ssa.c (rewrite_uses_p): Fix return type.
+       * tree-vectorizer.h (nested_in_vect_loop_p): Add return value.
+       * tree-ssa-pre.c (execute_pre): Add return value.
+
+2008-05-15  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/s390/s390.c (s390_gimplify_va_arg): Adjust for tuples.
+
+2008-05-15  Diego Novillo  <dnovillo@google.com>
+
+       * Makefile.in (STRICT_WARN): Revert to mainline behaviour.
+       (builtins.o-warn, expr.o-warn, dse.o-warn,
+       ebitmap.o-warn, lower-subreg.o-warn, tree-chrec.o-warn,
+       tree-ssa-structalias.o-warn, varasm.o-warn): Remove.
+       * config/arm/arm.c (arm_return_in_memory): Fix return type.
+       * config/arm/arm-protos.h (arm_return_in_memory): Likewise.
+
+2008-05-15  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimplify.c (gimplify_omp_for): Handle a MODIFY_EXPR in
+       gimple_omp_for_incr.
+       * cfgexpand.c (gimple_to_tree): Do not die on compile errors.
+
+2008-05-15  Aldy Hernandez  <aldyh@redhat.com>
+
+       * omp-low.c (check_omp_nesting_restrictions): Fetch clauses from for.
+       (expand_omp_atomic): Parse GIMPLE_OMP_ATOMIC correctly.
+       (lower_omp_single_simple): Create GIMPLE_COND with both tlabel and
+       flabel.
+       (lower_omp_for): Make sure we have a body before look inside.
+       * gimple-low.c (lower_stmt): Add case for GIMPLE_OMP_SECTIONS_SWITCH.
+       * gimple-pretty-print.c (dump_gimple_omp_single): New.
+       (dump_gimple_stmt): Add case for GIMPLE_OMP_SINGLE.
+       * gimplify.c (gimplify_omp_workshare): Remove fixme.  Enable code.
+       * gimple.c (gss_for_code): Add case for GIMPLE_OMP_{RETURN,
+       SECTIONS_SWITCH}.
+       (gimple_regimplify_operands):  Do not regimplify GIMPLE_ASM
+       operands.  Do not look inside empty operands.
+       * gimple.h (is_gimple_omp): Fix typo for GIMPLE_OMP_ATOMIC*.
+       * tree-cfg.c (make_edges): Rename OMP_SECTION to GIMPLE_OMP_SECTION.
+
+2008-05-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       * omp-low.c (optimize_omp_library_calls): Make sure statement is
+       a GIMPLE_CALL before we look inside of it.
+       * tree-cfg.c (move_stmt_op): Exit gracefully.
+
+2008-05-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       * omp-low.c (scan_omp_op): Remove walk_subtrees.  Call walk_tree.
+       (scan_omp_for): Scan OMP body.
+       (scan_omp_1_stmt): Set handled_ops_p.
+       (expand_omp_parallel): Parse ADDR_EXPR correctly.
+       (diagnose_sb_1): Rename walk_subtrees to handled_ops_p and set
+       appropriately.
+       (diagnose_sb_2): Same.
+       * gimple-pretty-print.c (dump_gimple_omp_for): Print braces around
+       OMP body.
+       * tree-inline.c (estimate_num_insns): GIMPLE_OMP_CONTINUE does not
+       have a body.
+       * tree-cfg.c (move_stmt_op): Parse move_stmt_d out of data correctly.
+       (move_stmt_r): Rename walk_subtrees to handled_ops_p and set
+       appropriately.
+
+2008-05-12  Diego Novillo  <dnovillo@google.com>
+
+       Merge with mainline @135126.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-05-11 Doug Kwan  <dougkwan@google.com>
+
+       * gimplify.c (gimple_pop_condition): Clear
+       conditional_cleanups field after the associated gimple sequence has
+       been freed implicitly.
+       (gimplify_cleanup_point_expr): Clear conditional_cleanups field
+       of gimplfiy_ctxp after resetting the conditions field.
+       * gimple.h (gimple_call_return_type): Handle REFERENCE_TYPE like
+       POINTER_TYPE. 
+
+2008-05-10  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (sh_gimplify_va_arg_expr): Change pre_p and
+       post_p types to gimple_seq *.
+
+2008-05-09  Aldy Hernandez  <aldyh@redhat.com>
+
+       * omp-low.c (maybe_catch_exception): Return body when no exceptions.
+       (gate_lower_omp): Enable pass.
+       * gimple-low.c (lower_stmt): Add GIMPLE_OMP_ATOMIC_* cases.
+
+2008-05-08  Aldy Hernandez  <aldyh@redhat.com>
+
+       * omp-low.c (extract_omp_for_data): Update comment.
+       (get_ws_args_for): Same.
+       (lower_send_shared_vars): Same.
+       (expand_omp_parallel): Same.
+       (expand_omp_for_static_nochunk): Same.
+       (expand_omp_for_static_chunk): Same.
+       (expand_omp_sections): Same.
+       (expand_omp_atomic_fetch_op): Same.
+       (expand_omp_atomic_pipeline): Same.
+       (build_omp_regions_1): Same.
+       (lower_omp_for): Same.
+       (expand_omp_atomic_mutex): Change OMP_ATOMIC_STORE to
+       GIMPLE_OMP_ATOMIC_STORE.
+       * gimple-pretty-print.c (dump_gimple_omp_parallel): Print child fn
+       and data_arg.
+       * tree-cfg.c (make_edges): Enable commented out code and convert
+       to tuples.
+       (replace_by_duplicate_decl): Same.
+       (replace_ssa_name): Same.
+       (move_stmt_r): Same.
+       (move_stmt_op): New.
+       (mark_virtual_ops_in_bb): Enable and convert to tuples.
+       (makr_virtual_ops_in_region): Same.
+       (move_block_to_fn): Convert to tuples.
+       (find_outermost_region_in_block): Enable and convert to tuples.
+       (move_sese_region_to_fn): Same.
+
+2008-05-05  Aldy Hernandez  <aldyh@redhat.com>
+
+       * omp-low.c (expand_omp_parallel): Remove fixmes.
+       (expand_omp_for_static_chunk): Enable and tuplify code.
+       (expand_omp_sections): Remove fixmes.  Tuplify.
+       (lower_omp_sections): Same.
+       (diagnose_sb_0): Remove fixme.
+       * tree-ssa.c (redirect_edge_var_map_dup): Fix typo in comment.
+       * gimple.c (gimple_size): Add case for GIMPLE_OMP_SECTIONS_SWITCH.
+       (gimple_build_omp_sections): New.
+       * gimple.h (gimple_build_omp_sections_switch): New prototype.
+
+2008-05-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * omp-low.c (diagnose_sb_0): Tuplify and enable.
+       (diagnose_sb_1): Same.
+       (diagnose_sb_2): Same.
+       (diagnose_omp_structured_block_errors): Tuplify.
+       * gimple-dummy.c (DUMMY_FN): Remove
+       diagnose_omp_structured_block_errors.
+       * c-decl.c (c_gimple_diagnostics_recursively): Remove fixme
+       and enable call to diagnose_omp_structured_block_errors.
+       * Makefile.in (GTFILES): Add omp-low.c again.
+
+2008-05-02  Rafael Espindola  <espindola@google.com>
+
+       * tree-gimple.c (is_gimple_condexpr): Do not allow
+       trapping comparisons.
+       * tree-eh.c (tree_could_trap_p): Fix handling of floating
+       point comparisons.
+
+2008-05-02  Doug Kwan  <dougkwan@google.com>
+
+       * value-prof.c (gimple_divmod_fixed_value): Remove formal parameters
+       OPERATION, OP1 and OP2 and derive their values from parameter STMT
+       instead.  Update prototype and caller.
+       (gimple_mod_pow2): Remove formal parameters OPERATION, OP1 and OP2
+       and derive their values from parameter STMT instead.  Update prototype
+       and caller.
+       (gimple_mod_pow2_value_transform): Remove temporares OP, OP1 and OP2.
+       Use a new tempory LHS_TYPE to store assignment LHS type.
+       (gimple_mode_subtract): Remove formal parameters OPERATION, OP1 and OP2
+       and derive their values from parameter STMT instead.  Update prototype
+       and caller.  Fix a bug in a call to gimple_build_assign_with_ops.
+       (gimple_mod_subtract_transform): Remove temporares OP, OP1 and OP2.
+       Use a new tempory LHS_TYPE to store assignment LHS type.
+       (gimple_ic, gimple_indirect_call_to_profile): Fix bug in tree-code
+       tests.
+       * tree-profile.c (File): Re-enable all previously disabled code.
+       (tree_gen_edge_profiler): Tuplify.
+       (prepare_instrumented_value): Ditto.
+       (tree_gen_interval_profiler): Ditto.
+       (tree_gen_pow2_profiler): Ditto.
+       (tree_gen_one_value_profiler): Ditto.
+       (tree_gen_ic_profiler): Ditto.
+       (tree_gen_ic_func_profiler): Ditto.
+       (tree_gen_const_delta_profiler): Re-format formal parameters for
+       proper alignement.
+       (tree_gen_average_profiler): Tuplify.
+       (tree_gen_ior_profiler): Ditto.
+       (do_tree_profiling): Re-enable previously disabled code.  Remove
+       FIXME.
+       (tree_profiling): Ditto.
+       * gimple.c (gimple_set_bb):  Remove assertion.
+       * tree-cfg.c (change_bb_for_stmt): Remove.  Redirect callers to
+       gimple_set_bb.
+       (gimple_merge_blocks): Call gimple_set_bb instead of
+       change_bb_for_stmt.
+       (gimple_split_block): Ditto.
+       (verify_stmts): Add code to check that label_to_block_map and labels
+       are consistent.
+
+2008-04-22  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @134843.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-05-01  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-05/msg00053.html
+
+       * tree-vrp.c (vrp_visit_phi_node): Cast variable I to int
+       for printing.
+       * cgraph.c (cgraph_release_function_body): Only call
+       gimple_set_body if NODE->DECL has a struct function.
+       * tree.c (make_node_stat): Do not call gimple_set_body.
+       * cp/Make-lang.in (cp/semantics.o): Add dependency on
+       $(GIMPLE_H).
+       * cp/semantics.c: Include gimple.h
+       (expand_or_defer_fn): Assert that FN has a gimple body.
+       * function.h (struct function): Add field GIMPLE_BODY.
+       * gimple.c (gimple_bodies_vec): Remove.
+       (gimple_bodies_map): Remove.
+       (gimple_set_body): Re-write to use GIMPLE_BODY in FN's
+       function object.
+       (gimple_body): Likewise.
+
+2008-05-01  Oleg Ryjkov  <olegr@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-05/msg00053.html
+
+       * tree-eh.c (record_in_goto_queue, record_in_goto_queue_label):
+       New functions.
+       (maybe_record_in_goto_queue): Refactored and added support for
+       recording labels embedded in GIMPLE_CONDs.
+       (lower_catch, lower_cleanup): Fix 3 typos that were introduced
+       during the conversion to tuples.
+       (lower_eh_constructs_2): Call maybe_record_in_goto_queue for
+       GIMPLE_CONDs.
+
+2008-05-01  Rafael Espindola <espindola@google.com>
+
+       * gimple-pretty-print.c (dump_gimple_try): Print like trunk does.
+       (dump_gimple_catch): Print like trunk does.
+
+2008-05-01  Rafael Espindola <espindola@google.com>
+
+       * passes.c (gimple_verify_flow_info): Enable remaining
+       pass_rename_ssa_copies passes.
+
+2008-05-01  Rafael Espindola <espindola@google.com>
+
+       * tree-cfg.c (gimple_verify_flow_info): Handle switches with only the
+       default label.
+
+2008-04-30  Doug Kwan  <dougkwan@google.com>
+
+       * cfgexpand.c (gimple_to_tree): Change code to annotate EH region
+       numbers only if numbers are greater than zero.  Also propagate EH
+       region number to CALL_EXPRs nested in assignments.
+
+2008-04-29  Doug Kwan  <dougkwan@google.com>
+
+       * tree-eh.c (lower_try_finally_dup_block): Call
+       copy_gimple_seq_and_replace_locals instead of gimple_seq_copy.
+       (optimize_double_finally): Add a note about replacing unsave_expr_now
+       with copy_gimple_seq_and_replace_locals.
+       * tree-inline.c (mark_local_labels_stmt, replace_locals_op,
+       replace_locals_stmt, copy_gimple_seq_and_replace_locals): New.
+       * tree-inline.h (copy_gimple_seq_and_replace_locals): New prototype.
+
+2008-04-29  Rafael Espindola <espindola@google.com>
+
+       * gimple-pretty-print.c (dump_gimple_return): Add missing space.
+       * tree-ssa-threadedge.c (simplify_control_stmt_condition): Fix type
+       of variable.
+
+2008-04-29  Rafael Espindola <espindola@google.com>
+
+       * gimple-pretty-print.c (pp_cfg_jump): add missing ";".
+
+2008-04-29  Rafael Espindola <espindola@google.com>
+
+       * gimple-pretty-print.c (dump_gimple_assign): print ";" at the end.
+       (dump_gimple_return):print ";" at the end.
+       (dump_gimple_call): print ";" at the end.
+       (dump_gimple_cond): use op_symbol_code instead of tree_code_name.
+       (pp_cfg_jump): print ";" at the end.
+
+2008-04-29  Rafael Espindola <espindola@google.com>
+
+       * ipa-cp.c (ipcp_driver): Disable.
+       * matrix-reorg.c (matrix_reorg): Comment body.
+       (gate_matrix_reorg): Disable.
+       * passes.c (init_optimization_passes): Enable first pass_merge_phi,
+       pass_ipa_cp and pass_ipa_matrix_reorg.
+
+2008-04-29  Doug Kwan  <dougkwan@google.com>
+
+       * tree-eh.c (lower_catch): Fix bug of accessing sub-statements
+       using gimple_catch_handler.  Fix bug of mixing up GIMPLE_GOTO and
+       GIMPLE_LABEL in statement building.
+       (lower_cleanup): Fix bug of mixing up gimple_try_clean and
+       gimple_try_eval.
+       (lower_cleanup): Use gimple codes instead of tree codes in switch
+       statement.
+       (tree-cfg.c): Add code to generate EH edges of GIMPLE_ASSIGN.
+
+2008-04-28  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-04/msg02051.html
+
+       * tree-ssa-phiprop.c (phiprop_insert_phi): Remove
+       OLD_ARG_CODE.  Use TREE_CODE (ARG) instead.
+       Assert that NEW_VAR is a GIMPLE register.
+       (propagate_with_phi): Fix test of is_gimple_reg_type for
+       ARG.
+       Do not set subcode of USE_STMT to NOP_EXPR.
+
+2008-04-28  Doug Kwan  <dougkwan@google.com>
+
+       * tree-inline.c (remap_gimple_op_r): Remove code to handle RESX_EXPR
+       region number remapping.
+       (remap_gimple_stmt): Add code to handle GIMPLE_RESX region number
+       remapping.
+
+2008-04-28  Rafael Espindola <espindola@google.com>
+
+       * cfgexpand.c (gimple_to_tree): Add support for switch stmts without
+       a default label.
+       * fold-const.c (tree_call_nonnegative_warnv_p): Remove the code
+       argument.
+       (tree_invalid_nonnegative_warnv_p): Update call to
+       tree_call_nonnegative_warnv_p.
+       * gimple.h (gimple_location_ptr): New.
+       * tree-flow.h (simplify_stmt_using_ranges): Change signature.
+       * tree-ssa-propagate.c (substitute_and_fold): Call
+       simplify_stmt_using_ranges.
+       * tree-vrp.c (struct assert_locus_d): Tuplify.
+       (switch_update): Tuplify.
+       (stmt_overflow_infinity): New.
+       (gimple_assign_nonnegative_warnv_p): New.
+       (gimple_call_nonnegative_warnv_p): New.
+       (gimple_stmt_nonnegative_warnv_p): New.
+       (gimple_assign_nonzero_warnv_p): New.
+       (gimple_stmt_nonzero_warnv_p): New.
+       (vrp_stmt_computes_nonzero): Tuplify.
+       (extract_range_basic): Tuplify.
+       (extract_range_from_expr): Tuplify. Rename to
+       extract_range_from_assignment.
+       (adjust_range_with_scev): Tuplify.
+       (vrp_var_may_overflow): Tuplify.
+       (build_assert_expr_for): Tuplify.
+       (fp_predicate): Tuplify.
+       (infer_value_range): Tuplify.
+       (dump_asserts_for): Tuplify.
+       (register_new_assert_for): Tuplify.
+       (register_edge_assert_for_2): Tuplify.
+       (register_edge_assert_for_1): Tuplify.
+       (register_edge_assert_for): Tuplify.
+       (find_conditional_asserts): Tuplify.
+       (find_switch_asserts): Tuplify.
+       (find_assert_locations): Tuplify.
+       (process_assert_insertions_for): Tuplify.
+       (process_assert_insertions): Tuplify.
+       (check_array_ref): Tuplify.
+       (search_for_addr_array): Tuplify.
+       (check_array_bounds): Tuplify.
+       (check_all_array_refs): Tuplify.
+       (remove_range_assertions): Tuplify.
+       (stmt_interesting_for_vrp): Tuplify.
+       (vrp_initialize): Tuplify.
+       (vrp_visit_assignment): Tuplify. Rename to vrp_visit_assignment_or_call.
+       (vrp_visit_cond_stmt): Tuplify.
+       (find_case_label_index): Tuplify.
+       (find_case_label_range): Tuplify.
+       (vrp_visit_switch_stmt): Tuplify.
+       (vrp_visit_stmt): Tuplify.
+       (vrp_visit_phi_node): Tuplify.
+       (simplify_div_or_mod_using_ranges): Tuplify.
+       (simplify_abs_using_ranges): Tuplify.
+       (simplify_cond_using_ranges): Tuplify.
+       (simplify_switch_using_ranges): Tuplify.
+       (simplify_stmt_using_ranges): Tuplify.
+       (simplify_stmt_for_jump_threading): Tuplify.
+       (identify_jump_threads): Tuplify.
+       (execute_vrp): Tuplify.
+       (gate_vrp): Enable.
+       * tree.h (tree_call_nonnegative_warnv_p): Remove the code argument.
+
+2008-04-28  Doug Kwan  <dougkwan@google.com>
+
+       * cp/cp-gimplify.c (finish_bc_block):  Tuplify.
+       (build_bc_goto):  Renamed to get_bc_label.  Return a label
+       only.  Uupdate  callers.
+       (get_bc_label): New
+       (gimplify_cp_loop): Tuplify.  Also check COND for error_mark_node
+       before gimplifying it.
+       (gimplify_for_stmt): Tuplify.
+       (gimplify_while_stmt): Tuplify.
+       (gimplify_for_stmt): Tuplify.
+       (gimplify_do_stmt): Tuplify.
+       (gimplify_switch_stmt): Tuplify.
+       (cp_gimplify_omp_switch_stmt): Add temporary code to pop block
+       label stack.
+       (cp_gimplify_expr): Pass pre_p to gimplify_while_stmt,
+       gimplify_do_stmt and gimplify_switch_stmt.  Tuplify
+       gimplification of CONTINUE_STMT and BREAK_STMT.
+
+2008-04-26  Rafael Espindola <espindola@google.com>
+
+       * gimple.c (gimple_build_assign_with_ops): Don't set SSA_NAME_DEF_STMT.
+       * gimple.h (gimple_assign_set_lhs): Set SSA_NAME_DEF_STMT.
+       (gimple_call_set_lhs): Set SSA_NAME_DEF_STMT.
+       * omp-low.c (expand_parallel_call): Don't set SSA_NAME_DEF_STMT if not
+       needed.
+       (expand_omp_for_generic): Same.
+       (expand_omp_for_static_nochunk): Same.
+       (expand_omp_for_static_chunk): Same.
+       (expand_omp_sections): Same.
+       (expand_omp_atomic_mutex): Same.
+       * predict.c (strip_builtin_expect): Same.
+       * tree-cfg.c (gimple_merge_blocks): Same.
+       * tree-inline.c (remap_ssa_name): Same.
+       (setup_one_parameter): Same.
+       * tree-predcom.c (replace_ref_with): Same.
+       (replace_ref_with): Same.
+       (initialize_root_vars_lm): Same.
+       (reassociate_to_the_same_stmt): Same.
+       * tree-scalar-evolution.c (scev_const_prop): Same.
+       * tree-ssa-loop-im.c (rewrite_reciprocal): Same.
+       * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Same.
+       * tree-ssa-loop-manip.c (create_iv): Same.
+       * tree-ssa-math-opts.c (execute_cse_sincos_1): Same.
+       * tree-ssa-phiopt.c (minmax_replacement): Same.
+       (abs_replacement): Same.
+
+2008-04-25  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-04/msg01965.html
+
+       * gimplify.c (annotate_all_with_location_after): New.
+       (gimplify_expr): Call it.
+
+2008-04-25  Diego Novillo  <dnovillo@google.com>
+
+       Merge with mainline @134692.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-04-25  Doug Kwan  <dougkwan@google.com>
+
+       * tree-inline.c (expand_call_inline):  Save old call statement
+       and use it to look up correct EH region.
+
+2008-04-24  Doug Kwan  <dougkwan@google.com>
+
+       * Makefile.in (STRICT_WARN): Remove -Wno-format and
+       -Wno-missing-format-attribute.
+       * gimplify.c (gimple_pop_condition): Remove redundant and incorrect
+       gimple_seq_free.
+       (gimplify_init_ctor_eval_range): Add a fall-through label for
+       GIMPLE_COND statement.
+
+2008-04-25  Rafael Espindola <espindola@google.com>
+
+       * tree-ssa-dom.c (avail_expr_eq): Return false if the hashes don't
+       match.
+
+2008-04-24  Oleg Ryjkov  <olegr@google.com>
+
+       * gimplify.c (gimplify_expr): Fix the assertion that verifies validity
+       of parameters.
+       * tree-inline.c (estimate_num_insns): Handle
+       GIMPLE_CHANGE_DYNAMIC_TYPE.
+       * tree-cfg.c (verify_types_in_gimple_stmt): Likewise.
+
+2008-04-24  Rafael Espindola <espindola@google.com>
+
+       * tree-ssa-dom.c (initialize_hash_element): Fix the type of the code
+       variable.
+
+2008-04-23  Rafael Espindola <espindola@google.com>
+
+       * omp-low.c (gate_lower_omp): Return 0.
+       * passes.c (init_optimization_passes): Enable all passes whose
+       corresponding dump options are used in the testsuite.
+       * tree-loop-distribution.c (tree_loop_distribution): Comment body.
+       (gate_tree_loop_distribution): Return 0.
+       * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
+       Comment body.
+       (gate_forwprop): Return 0.
+       * tree-ssa-loop.c (gate_tree_ssa_loop_unswitch): Return 0.
+       (gate_tree_vectorize): Return 0.
+       (gate_tree_ssa_loop_ivcanon): Return 0.
+       (tree_ssa_empty_loop): Return 0.
+       (gate_tree_complete_unroll): Return 0.
+       * tree-ssa-pre.c (gate_fre): Return 0.
+       * tree-ssa-reassoc.c (execute_reassoc): Comment body.
+       (gate_tree_ssa_reassoc): Return 0.
+       * tree-stdarg.c (gate_optimize_stdarg): Return 0.
+       (execute_optimize_stdarg): Comment body.
+       * tree-vrp.c (execute_vrp): Comment body.
+       (gate_vrp): Return 0.
+
+2008-04-22  Aldy Hernandez  <aldyh@redhat.com>
+
+       * omp-low.c (lower_omp_parallel): Add new argument to
+       gimple_omp_parallel_set_combined_p.
+       (lower_omp_1): Remove debugging code.
+       * gimple.h (gimple_omp_parallel_combined_p): Add new argument.
+
+2008-04-22  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @134552.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-04-21  Doug Kwan  <dougkwan@google.com>
+
+       * tree-ssa-phiopt.c (FILE): Uncomment all previously disabled code.
+       (tree_ssa_phiopt): Remove FIXME and re-enable code.
+       (tree_ssa_cs_elim): Remove FIXME and re-enable code.
+       (tree_ssa_phiopt_worker): Tuplify.
+       (replace_phi_edge_with_variable): Tuplify.
+       (conditional_replacement): Tuplify and simplify optimization logic.
+       Construct a boolean tree and let fold and force_gimple_operand_gsi
+       do optimization and code genaration.
+       (value_replacement): Tuplify.
+       (minmax_replacement): Tuplify.
+       (abs_replacement): Tuplify.
+       (nt_init_block): Tuplify.
+       (cond_store_replacement): Tuplify.
+       * gimple.h (gimple_seq_singleton_p): Fix empty sequence bug.
+       * passes.c (init_optimization_passes): Re-enable pass_cselim
+       and pass_phiopt.
+
+2008-04-21  Diego Novillo  <dnovillo@google.com>
+
+       * tree.c (make_node_stat): Clear gimple_body() for newly
+       created FUNCTION_DECLs.
+       * tree-gimple.c (rhs_predicate_for): Move to gimplify.c.
+       * tree-gimple.h (rhs_predicate_for): Remove declaration.
+       * gimple-pretty-print.c (dump_gimple_assign): Add support
+       for showing volatile operands.
+       (dump_gimple_call): Likewise.
+       Add support for showing __builtin_va_arg_pack, static
+       chains, return slot optimized and tail calls.
+       (dump_gimple_phi): Remove code to print memory symbols.
+       * gimplify.c (is_gimple_formal_tmp_or_call_rhs): New.
+       (is_gimple_mem_or_call_rhs): New.
+       (rhs_predicate_for): Call them.
+       (internal_get_tmp_var): Use is_gimple_formal_tmp_or_call_rhs as
+       the gimplification predicate.
+       Use the last statement in *PRE_P to get the temporary to
+       be updated when in SSA form.
+       (gimplify_bind_expr): Clear out *EXPR_P before returning.
+       (gimplify_call_expr): Do not build a GIMPLE_CALL if
+       WANT_VALUE is true.
+       Call gimple_build_call_from_tree if WANT_VALUE is false.
+       Remove local variable ARGS.
+       (gimplify_modify_expr): If after gimplification *FROM_P
+       is a CALL_EXPR, create a GIMPLE_CALL instead of a
+       GIMPLE_ASSIGN.
+       Document why the gimplification of the RHS should accept
+       CALL_EXPRs.
+       (gimplify_expr): Document where the generated statement
+       is stored.
+       Accept is_gimple_formal_tmp_or_call_rhs and
+       is_gimple_mem_or_call_rhs as gimplification predicates.
+       When gimplifying statements, clear out *EXPR_P before
+       returning.
+       When generating an rvalue, call is_gimple_formal_tmp_or_call_rhs
+       to test *EXPR_P.
+       * tree-dfa.c (mark_symbols_for_renaming): Remove
+       ATTRIBUTE_UNUSED.
+       * tree-flow.h (stmt_references_memory_p): Remove.
+       * gimple.c (gimple_build_call_from_tree): New.
+       * gimple.h (struct gimple_statement_with_memory_ops): Add
+       bitfield references_memory_p.
+       (gimple_build_call_from_tree): Declare.
+       (gimple_references_memory_p): Rename from
+       stmt_references_memory_p.  Move here.  Update all users.
+       (gimple_set_references_memory): New.
+       (gimple_assign_set_rhs1): When the assignment has more
+       than one operand on the RHS, assert that the operands are
+       gimple values.
+       (gimple_assign_set_rhs2): Assert that the operand is a
+       gimple value.
+       (gimple_call_set_return_slot_opt): Fix mask clearing.
+       (gimple_call_set_from_thunk): Likewise.
+       (gimple_call_set_va_arg_pack): Likewise.
+       * tree-cfg.c (dump_function_to_file): Do not indent when
+       doing a GIMPLE dump.
+       * tree-ssa-operands.c (add_virtual_operand): Call
+       gimple_set_references_memory.
+       (get_addr_dereference_operands): Likewise.
+       (get_tmr_operands): Likewise.
+       (maybe_add_call_clobbered_vops): Likewise.
+       (get_asm_expr_operands): Likewise.
+       (parse_ssa_operands): Likewise.
+       (build_ssa_operands): Likewise.
+       (stmt_references_memory_p): Remove.
+
+2008-04-21  Rafael Espindola <espindola@google.com>
+
+       Cherry pick http://gcc.gnu.org/ml/gcc-patches/2008-04/msg01213.html
+
+       * params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Set default
+       to zero, thus disable creation of SFTs.
+       * gcc.dg/tree-ssa/salias-1.c: Remove.
+       * gcc.dg/tree-ssa/pr26421.c: Adjust pattern.
+       * gcc.dg/tree-ssa/alias-15.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-lim-3.c: Run at -O2.
+
+2008-04-20  Zdenek Dvorak  <ook@ucw.cz>
+
+       * passes.c (init_optimization_passes): Enable pass_dce_loop.
+
+2008-04-20  Zdenek Dvorak  <ook@ucw.cz>
+
+       * tree-data-ref.c (split_constant_offset_1): Use POINTER_PLUS_EXPR
+       for pointer addition.
+       (split_constant_offset): Set VAR to EXP before conversions are
+       stripped, when no offset is removed.  Handle chrec_dont_know.
+       * tree-predcom.c: Tuplified.
+       * passes.c (init_optimization_passes): Enable pass_predcom.
+
+2008-04-18  Aldy Hernandez  <aldyh@redhat.com>
+
+       * omp-low.c (lower_rec_input_clauses): Remove fixme and
+       ATTRIBUTE_UNUSED.
+       (lower_lastprivate_clauses): Same.
+       (lower_reduction_clauses): Same.
+       (lower_copyprivate_clauses): Same.
+       (lower_send_clauses): Same.
+       (lower_send_shared_vars): Same.
+       (maybe_catch_exception): Convert to tuples.
+       (lower_omp_sections): Same.
+       (lower_omp_single_simple): Same.
+       (lower_omp_single_copy): Same.
+       (lower_omp_single): Same.
+       (lower_omp_master): Same.
+       (lower_omp_ordered): Same.
+       (lower_omp_critical): Same.
+       (lower_omp_for_lastprivate): Same.
+       (lower_omp_for): Same.
+       (check_combined_parallel): Same.
+       (lower_omp_parallel): Same.
+       (lower_omp_1): Same.
+       (execute_lower_omp): Enable.
+       * gimple-dummy.c: Remove dummy functions for lower_omp_*.
+       * gimple-low.c (lower_omp_directive): Convert to tuples.
+       (lower_stmt): Remove fixme.
+       * gimple.h (gimple_seq_alloc_with_stmt): New.
+       (gimple_omp_section_set_last): New.
+       (gimple_omp_parallel_set_combined_p): New.
+       (gimple_bind_add_stmt): New.
+       (gimple_bind_add_seq): New.
+       * tree-cfg.c (verify_node_sharing): Fix typo in comment.
+
+2008-04-17  Oleg Ryjkov  <olegr@google.com>
+
+       * Reverting forwprop patch.
+
+       2008-04-16  Oleg Ryjkov  <olegr@google.com>
+
+               * tree-ssa-forwprop.c (get_prop_dest_stmtm get_prop_source_stmt,
+               can_propagate_from, remove_prop_source_from_use,
+               tidy_after_forward_propagate_addr,
+               forward_propagate_addr_into_variable_array_index,
+               forward_propagate_addr_expr_1, forward_propagate_addr_expr,
+               forward_propagate_comparison, simplify_not_neg_expr,
+               simplify_switch_expr,
+               tree_ssa_forward_propagate_single_use_variables): Tuplified.
+               (forward_propagate_into_cond): Tuplified and moved some functionality
+               into forward_propagate_into_cond_gimple.
+               (rhs_to_tree, forward_propagate_into_cond_gimple): New functions.
+               * passes.c (init_optimization_passes): Enabled pass_forwprop.
+               * tree-cfg.c (find_taken_edge_cond_expr): Fixed comment.
+
+2008-04-16  Oleg Ryjkov  <olegr@google.com>
+
+       * tree-ssa-forwprop.c (get_prop_dest_stmtm get_prop_source_stmt,
+       can_propagate_from, remove_prop_source_from_use,
+       tidy_after_forward_propagate_addr,
+       forward_propagate_addr_into_variable_array_index,
+       forward_propagate_addr_expr_1, forward_propagate_addr_expr,
+       forward_propagate_comparison, simplify_not_neg_expr,
+       simplify_switch_expr,
+       tree_ssa_forward_propagate_single_use_variables): Tuplified.
+       (forward_propagate_into_cond): Tuplified and moved some functionality
+       into forward_propagate_into_cond_gimple.
+       (rhs_to_tree, forward_propagate_into_cond_gimple): New functions.
+       * passes.c (init_optimization_passes): Enabled pass_forwprop.
+       * tree-cfg.c (find_taken_edge_cond_expr): Fixed comment.
+
+2008-04-16  Doug Kwan  <dougkwan@google.com>
+
+       * Makefile.in (STRICT_WARN): Disable -Wmissing-format-attribute
+       and -Wformat temporarily for bootstrapping.
+       * lambda-code.c (invariant_in_loop_and_outer_loops): Comment out
+       to avoid defined-and-not-used warning.
+       * tree-cfg.c (gather_blocks_in_sese_region): Comment out to avoid
+       defined-and-not-used warning.
+2008-04-16  Doug Kwan  <dougkwan@google.com>
+
+       * Makefile.in (GTFILES): Add back ipa-reference.h and ipa-reference.c.
+       * gimple-dummy.c (memory_identifier_string): Remove.
+       * ipa-cp.c (constant_val_insert): Tuplify.
+       * ipa-prop.c (File): Uncomment all previously disabled code.
+       (ipa_method_modify_stmt): Tuplify.
+       (ipa_method_compute_modify): Tuplify.
+       (ipa_callsite_tree): Renamed to ipa_callsite_stmt.  Update callers.
+       (ipa_callsite_stmt): New.
+       (ipa_callsite_compute_count): Tuplify.
+       (ipa_callsite_compute_param): Tuplify.
+       * ipa-reference.c (File): Uncomment all previously disabled code.
+       (get_asm_stmt_operands): Tuplify.
+       (check_call): Tuplify.  Also add code to handle assignment of
+       returned value.
+       (scan_for_static_refs): Remove.  Tuplify body and split into two
+       new functions scan_stmt_for_static_refs and scan_op_for_static_refs.
+       Update callers.
+       (scan_stmt_for_static_refs): New.  Split from scan_for_static_refs.
+       (scan_op_for_static_refs): New.  Split from scan_for_static_refs.
+       (analyze_variable): Update walk_tree call.
+       (analyze_function): Tuplify.
+       * passes.c (init_optimization_passes): Re-enable pass_ipa_reference.
+       * tree-flow.h (struct function_ann_d): Uncomment field
+       ipa_reference_vars_info.
+
+2008-04-15  Doug Kwan  <dougkwan@google.com>
+
+       * tree-eh.c (operation_could_trap_p): Fix filtering logic.
+
+2008-04-15  Bill Maddox  <maddox@google.com>
+
+       * tree-ssa-dom.c: (degenerate_phi_result, remove_stmt_or_phi,
+       get_rhs_or_phi_arg, get_lhs_or_phi_result, propagate_rhs_into_lhs,
+       eliminate_const_or_copy, eliminate_degenerate_phis_1,
+       eliminate_degenerate_phis): Convert to tuples.
+       * passes.c (init_optimization_passes): Enable pass_phi_only_cprop.
+       
+2008-04-15  Oleg Ryjkov  <olegr@google.com>
+
+       * tree-ssa-dom.c (record_const_or_copy): Moving a variable declaration to
+       the top of a block.
+
+2008-04-15  Doug Kwan  <dougkwan@google.com>
+
+       * tree-ssa-sink.c (File): Uncomment all previously disabled code.
+       (find_bb_for_arg): Tuplify.
+       (all_immediate_uses_sample_place): Tuplify.
+       (nearest_common_dominator_of_uses): Tuplify.
+       (statement_sink_location): Tuplify.  Remove parameter tobb and update
+       caller.
+       (sink_code_in_bb): Tuplify.
+       * passes.c (init_optimization_passes): Re-enable pass_sink_code.
+
+2008-04-14  Bill Maddox  <maddox@google.com>
+
+       * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edge,
+       create_edge_and_update_destination_phis, redirection_block_p):
+       Convert to tuples.
+       * tree.c (iterative_hash_exprs_commutative): New function.
+       * tree.h (iterative_hash_exprs_commutative): Declare.
+       * tree-ssa_dom.c (enum expr_kind, struct hashable_expr,
+       struct cond_equivalence): New types.
+       (struct edge_info): Use struct cond_equivalence.
+       (avail_exprs_stack): Stack of expr_hash_elt*, not expressions.
+       (stmts_to_rescan): Use type gimple for statements.
+       (struct expr_hash_elt): Represent statement RHS with hashable_expr,
+       not a tree.  Add unique stamp to each entry for efficient and reliable
+       element removal.
+       (struct eq_expr_value): Delete unused type.
+       (initialize_hash_element): Convert to tuples.  Now applies
+       only to statements.
+       (initialize_expr_from_cond, initialize_hash_element_from_expr):
+       New functions.  Replace former functionality of initialize_hash_element
+       for conditions presented as trees.
+       (hashable_expr_equal_p, iterative_hash_hashable_expr): New functions.
+       (print_expr_hash_elt): New function.
+       (free_expr_hash_elt): New function.
+       (tree_ssa_dominator_optimize): Convert to tuples
+       (canonicalize_comparison): Convert to tuples.
+       (remove_local_expressions_from_table): Use new avail_exprs_stack
+       representation.  Add optional extra diagnostic details.
+       (simplify_stmt_for_jump_threading, dom_thread_across_edge,
+       dom_opt_finalize_block): Convert to tuples.
+       (record_cond, build_and_record_new_cond): Convert to tuples.
+       Use new hashable_expr type.  Extra diagnostic details.
+       (record_const_or_copy_1): Extra diagnostic details.
+       (record_const_or_copy): Add assertion.
+       (simple_iv_increment_p, cprop_into_successor_phis, record_edge_info):
+       Convert to tuples.
+       (eliminate_redundant_computations): Convert to tuples.
+       Additional diagnostic details.
+       (gimple_assign_unary_useless_conversion_p): New function.
+       (record_equivalences_from_statement): Convert to tuples.
+       Additional diagnostic details.
+       (cprop_operand, cprop_into_stmt): Convert to tuples.
+       (optimize_stmt): Convert to tuples.
+       (lookup_avail_expr): Use hashable_expr.  Additional diagnostic details.
+       (avail_expr_hash, avail_expr_eq): Use hashable_expr.
+       * tree-ssa-copy.c (may_propagate_copy_into_stmt,
+       propagate_tree_value_into_stmt): New functions.
+       * tree-flow.h: (may_propagate_copy_into_stmt,
+       propagate_tree_value_into_stmt): Declare.
+       (thread_across_edge): Change declaration of callback to accept a
+       gimple statement.
+       * gimple.c (gimple_call_flags): Declare argument as a constant.
+       (gimple_has_side_effects): Declare argument as a constant.
+       Examine function arguments for side-effects.
+       (gimple_rhs_has_side_effects): New function.
+       * gimple.h (gimple_call_flags): Declare argument as a constant.
+       (gimple_has_side_effects): Declare argument as a constant.
+       (gimple_rhs_has_side_effects): Declare new function.
+       (is_gimple_assign): New inline function.
+       (gimple_switch_index_ptr): New function.
+       * passes.c (init_optimization_passes): Enable pass_dominator.
+       * tree-ssa_threadedge.c (potentially_threadable_block,
+       lhs_of_dominating_assert, record_temporary_equivalences_from_phis):
+       Convert to tuples.
+       (fold_assignment_stmt): New function.
+       (record_temporary_equivalences_from_stmts_at_dest,
+       simplify_control_stmt_condition, thread_across_edge): Convert to tuples.
+
+2008-04-14  Doug Kwan  <dougkwan@google.com>
+
+       * c-typeck.c (convert_for_assignment): Call c_common_unsigned_type
+
+2008-04-14  Doug Kwan  <dougkwan@google.com>
+
+       * gimple-iterator.c (gsi_move_to_bb_end): Use gsi_last_bb
+       instead of calling both gsi_last and bb_seq.
+       * passes.c (init_optimization_passes): Re-eanble second tail-recursion
+       pass.
+
+2008-04-14  Doug Kwan  <dougkwan@google.com>
+
+       * tree-nrv.c (dest_safe_for_nrv_p):  Uncomment.
+       (execute_return_slot_opt): Tuplify.
+       * passes.c (init_optimization_passes): Re-enable pass_return_slot.
+
+2008-04-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-cfg.c (gimple_can_merge_blocks_p): Fix typo.
+       * omp-low.c (maybe_lookup_ctx): Uncomment and set ATTRIBUTE_UNUSED.
+       (lower_lastprivate_clauses): Same.
+       (lower_reduction_clauses): Same.
+       (lower_send_clauses): Same.
+       (expand_omp_for_generic): Uncomment and convert for tuples.
+       (expand_omp_for): Remove fixme.
+       (expand_omp_sections): Same.
+       (lower_omp_parallel): Partially convert for tuples.
+       (lower_omp_regimplify_p): Rename from lower_omp_2.
+       (lower_omp_1): Convert for tuples.
+       (lower_omp): Same.
+       (gimple-dummy.c): Add lower_omp_parallel, lower_omp_for,
+       lower_omp_sections, lower_omp_single, lower_omp_master,
+       lower_omp_ordered, lower_omp_critical.
+
+2008-04-13  Diego Novillo  <dnovillo@google.com>
+
+       * tree-cfg.c (need_fake_edge_p): Initialize CALL_FLAGS.
+
+2008-04-12  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @134237.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-04-13  Rafael Espindola <espindola@google.com>
+
+       * config/extensions.m4: Add. Was missing from previous merge.
+
+2008-04-12  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133860.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-04-11  Oleg Ryjkov  <olegr@google.com>
+
+       * tree-sra.c (scalarize_use): Moving a variable declaration to
+       the top of a block.
+
+2008-04-11  Oleg Ryjkov  <olegr@google.com>
+
+       * tree-sra.c (insert_edge_copies_seq): Removed unused variable.
+
+2008-04-11  Oleg Ryjkov  <olegr@google.com>
+
+       * tree-sra.c (sra_build_assignment): Tuplified.
+       (mark_all_v_defs): Removed.
+       (mark_all_v_defs_seq, mark_all_v_defs_stmt): New functions.
+       (sra_walk_expr): Tuplified.
+       (sra_walk_tree_list): Removed.
+       (sra_walk_call_expr, sra_walk_gimple_asm,
+       sra_walk_gimple_modifY_stmt, ): Tuplified and renamed.
+       (sra_walk_gimple_call, sra_walk_gimple_asm,
+       sra_walk_gimple_assign): New names for tuplified functions.
+       (sra_walk_function, find_candidates_for_sra, scan_use, scan_copy,
+       scan_ldst, instantiate_element, decide_instantiations,
+       mark_all_v_defs_1, sra_build_assignment, sra_build_bf_assignment,
+       sra_build_elt_assignment, generate_copy_inout,
+       generate_element_copy, generate_element_zero,
+       generate_one_element_init, generate_element_init_1): Tuplified.
+       (insert_edge_copies): Removed.
+       (insert_edge_copies_seq): New function.
+       (sra_insert_before, sra_insert_after, sra_replace,
+       sra_explode_bitfield_assignment, sra_sync_for_bitfield_assignment,
+       scalarize_use, scalarize_copy, scalarize_init, mark_no_trap,
+       scalarize_ldst, scalarize_parms, scalarize_function): Tuplified.
+       (tree_sra, tree_sra_early): Enabled
+       (sra_init_cache): Removed extra space.
+       * tree-flow.h (insert_edge_copies_seq): New declaration.
+       * gimple.h (gimple_asm_input_op_ptr, gimple_asm_output_op_ptr,
+       gimple_return_retval_ptr): New functions.
+       * passes.c (init_optimization_passes): Enabled pass_sra,
+       pass_early_sra.
+
+2008-04-11  Doug Kwan  <dougkwan@google.com>
+
+       * ipa-pure-const.c (get_asm_expr_operands): Tuplify.
+       (get_asm_expr_operands): Tuplify.
+       (check_call): Tuplify. Add code to handle return value assignment.
+       (scan_function): Remove. Original code is tuplified and split into
+       two new functions scan_function_op and scan_function_stmt.
+       (scan_function_op): New function.
+       (scan_function_stmt): New function.
+       (analyze_function): Tuplify and re-enable previously disabled code. 
+       * passes.c (init_optimization_passes): Re-enable pass_ipa_pure_const.
+
+2008-04-11 Oleg Ryjkov  <olegr@google.com>
+
+       * builtins.c (fold_call_stmt): Return the proper value.
+       * tree-ssa-ccp.c (maybe_fold_stmt_addition): Modify arguments to
+       allow this function to be called on a GIMPLE_ASSIGN.
+       (fold_stmt_r): Update the call to maybe_fold_stmt_addition.
+       (fold_gimple_assign): Manually call maybe_fold_stmt_addition to
+       fold a POINTER_PLUS_EXPR.
+
+2008-04-11  Doug Kwan  <dougkwan@google.com>
+
+       * tree-ssa-phiprop.c (File): Uncomment all previously disabled code.
+       (struct phiprop_d): Change type of vop_stmt to gimple.
+       (phivn_valid_p): Tuplify.
+       (phiprop_insert_phi): Tuplify.
+       (propagate_with_phi): Tuplify.
+       (tree_ssa_phiprop_1): Tuplify.
+       (tree_ssa_phiprop): Tuplify.
+       * passes.c (init_optimization_passes): Re-enable pass_phiprop.
+
+2008-04-11  Rafael Espindola <espindola@google.com>
+
+       * tree-ssa-math-opts.c (execute_cse_sincos_1): fix warning.
+
+2008-04-10  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-04/msg00913.html
+
+       * ipa-inline.c (cgraph_clone_inlined_nodes): Change uses
+       of DECL_SAVED_TREE with gimple_body.
+       (cgraph_decide_inlining_incrementally): Likewise.
+       * gimple-iterator.c (gsi_insert_seq_before_without_update):
+       Do nothing if SEQ is NULL.
+       (gsi_insert_seq_after_without_update): Likewise.
+       * tree-ssa-live.c (mark_all_vars_used_1): Do not handle
+       EXPR trees.
+       (remove_unused_locals): Mark the gimple_block of every
+       statement as used.
+       * tree-inline.c (remap_gimple_stmt): Forward declare.
+       (remap_decls): Tidy comments.
+       (remap_gimple_seq): New.
+       (copy_gimple_bind): New.
+       (remap_gimple_stmt): Call it.
+       Handle High GIMPLE statements.
+       (copy_bb): Regimplify operands on COPY_GSI instead of
+       GSI.
+       (copy_cfg_body): Tidy.
+       (copy_generic_body): Remove unused function.
+       (clone_body): Tuplify.
+       * c-common.c (c_warn_unused_result): Remove assertion for
+       FUNCTION_TYPE.
+       * gimple.c (gimple_seq_copy): Rename from
+       gimple_seq_deep_copy.  Update all users.
+       (walk_gimple_stmt): Assert that STMT has no substatements
+       in the default case.
+       (gimple_copy_1): Merge into gimple_copy.
+       (gimple_copy): Always do deep copying.
+       Handle statements with substatements.
+       (gimple_shallow_copy): Remove unused function.
+       (gimple_deep_copy): Remove.  Update all users.
+       * gimple.h: Tidy comments and structure fields
+       everywhere.
+       (gimple_has_substatements): New.
+       (walk_stmt_fn): Change last argument to struct walk_stmt_info *.
+       Update all users.
+
+2008-04-10 Oleg Ryjkov  <olegr@google.com>
+
+       * tree.h (struct tree_base): Added a new flag default_def_flag.
+       (SSA_NAME_IS_DEFAULT_DEF): Changed to use the new flag.
+
+2008-04-08  Doug Kwan  <dougkwan@google.com>
+
+       * gimplify.c (gimple_push_cleanup): Initialize cleanup_stmts to NULL.
+
+2008-04-08  Doug Kwan  <dougkwan@google.com>
+       
+       * tree-tailcall.c (struct tailcall): Remove call_block and replace
+       call_bsi by call_gsi.
+       (independent_of_stmt_p): Change type of parameter 'at' to GIMPLE and
+       change all tree using code to GIMPLE using equivalent.
+       Remove parameter block_stmt_iterator type parameter bsi with
+       gimple_stmt_iterator type parameter gsi. Replace uses of bsi with
+       that of gsi in function body as appropriate.
+       (process_assignment):  Remove parameter 'ass' and change type of
+       parameter 'stmt' to GIMPLE.  Change all tree using code to GIMPLE
+       using equivalent.
+       (propagate_through_phis, eliminate_tail_call, optimize_tail_call):
+       Change all tree using code to GIMPLE using equivalent.
+       (find_tail_calls): Change all tree using code to GIMPLE using
+       equivalent.  Remove code that handles GIMPLE_MODIFY_STMT containing
+       a CALL_EXPR.
+       (add_successor_phi_arg, adjust_return_value_with_ops,
+       update_accumulator_with_ops, adjust_accumulator_values,
+       create_tailcall_accumulator): New functions from refactoring of
+       duplicated logic.
+       (adjust_accumulator_values, adjust_return_value): Refactor.
+       (tree_optimize_tail_calls_1): Refactor and change all tree using code
+       to GIMPLE using equivalent.  Remove code to reverse phi list.
+       * passes.c (init_optimization_passes):  Re-enable pass_tail_recursion
+       and pass_tail_calls.
+
+2008-04-04  Doug Kwan  <dougkwan@google.com>
+
+       * tree-ssa-math-opts.c (struct occurrence): Change field type of
+       recip_def_stmt to gimple.
+       (is_division_by): Tuplify.
+       (insert_reciprocals): Tuplify.
+       (replace_reciprocals): Tuplify.
+       (execute_cse_reciprocals_1): Tuplify.
+       (execute_cse_reciprocals): Tuplify.
+       (maybe_record_sincos): Use vector of gimples instead of vector of
+       trees.
+       (execute_cse_sincos_1): Tuplify.  When adjusting recorded old call
+       sites, generate new gimple assign statements and remove old gimple
+       call statements.
+       (execute_cse_sincos): Tuplify.
+       (execute_convert_to_rsqrt): Tuplify.
+       * passes.c (init_optimization_passes): Enable pass_cse_sincos,
+       pass_cse_reciprocals and pass_convert_to_rsqrt.
+
+2008-04-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * omp-low.c (gimple_build_cond_empty): New.
+       (expand_parallel_call): Convert COND_EXPR to GIMPLE_COND.
+       (expand_omp_for_generic): Same.
+       (expand_omp_for_static_nochunk): Same. 
+       (expand_omp_for_static_chunk): Same.
+       (expand_omp_atomic_pipeline): Same.
+
+2008-04-04  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-04/msg00413.html
+
+       * tree-ssa-loop-im.c (movement_possibility): Return
+       MOVE_IMPOSSIBLE if that statement makes no assignment.
+       * tree-complex.c (get_component_ssa_name): Fix comment.
+       (set_component_ssa_name): Assert that COMP's definition
+       is LAST.
+       * cgraph.c (cgraph_update_edges_for_call_stmt): Tuplify.
+       (dump_cgraph_node): Likewise.
+       * tree.c (auto_var_in_fn_p): Fix comment.
+       * cgraphunit.c (verify_cgraph_node): Remove tuples hack
+       that avoided verifying nodes.
+       * gimple-pretty-print.c (dump_gimple_asm): Show the
+       volatile flag.
+
+       * gimple-dummy.c (optimize_inline_calls): Remove.
+       (tree_function_versioning): Remove.
+       (tree_versionalbe_function_p): Remove.
+       * ipa-inline.c (cgraph_clone_inlined_bodies): Re-format.
+       (cgraph_decide_inlining): Re-format.
+       (cgraph_decide_inlining_incrementally): Re-format.
+       (pass_ipa_inline): Re-format.
+       * gimplify.c (gimplify_call_expr): Carry all the
+       CALL_EXPR flags to the newly created GIMPLE_CALL.
+       (gimplify_asm_expr): Carry ASM_VOLATILE_P and ASM_INPUT_P
+       over to the new GIMPLE_ASM.
+       * tree-dfa.c (find_new_referenced_vars): Change argument
+       to gimple.  Update all callers.
+       * cfgexpand.c (set_expr_location_r): New private.
+       (gimple_to_tree): Call it.
+       Set ASM_VOLATILE_P and ASM_INPUT_P for ASM_EXPRs.
+       Carry flags from GIMPLE_CALL for CALL_EXPRs.
+       Set TREE_BLOCK on the newly created expression.
+       * tree-inline.c: Tuplify.
+       * tree-inline.h: Tuplify.
+       * tree-optimize.c (execute_fixup_cfg): Tuplify.
+       * gimple.c (gimple_build_call_vec): Change second
+       argument type to VEC(tree, heap).  Update all callers.
+       (gimple_build_assign_with_ops): If the LHS is an
+       SSA_NAME, set SSA_NAME_DEF_STMT on it.
+       (walk_gimple_seq): Change return type to gimple.  Update
+       all users.
+       If walk_gimple_stmt returned a value, store it in
+       WI->CALLBACK_RESULT.
+       (walk_gimple_op): Walk gimple_call_chain_ptr() and
+       gimple_call_fn_ptr() for GIMPLE_CALL.
+       (walk_gimple_stmt): Add new local HANDLED_OPS.
+       If callback_stmt() sets HANDLED_OPS, return its return
+       value.
+       If any call to walk_gimple_seq returns a non-NULL value,
+       return WI->CALLBACK_RESULT.
+       (gimple_copy_1): New function.
+       (gimple_deep_copy): Rename from gimple_copy.  Update all
+       users.
+       Call gimple_copy_1.
+       (gimple_shallow_copy): New.
+       (gimple_regimplify_operands): New.
+       * gimple.h (GF_ASM_INPUT): Define.
+       (GF_ASM_VOLATILE): Define.
+       (GF_CALL_CANNOT_INLINE): Define.
+       (GF_CALL_FROM_THUNK): Define.
+       (GF_CALL_RETURN_SLOT_OPT): Define.
+       (GF_CALL_VA_ARG_PACK): Define.
+       (gimple_stmt_iterator): Move earlier in the file.
+       (gimple_omp_return_nowait_p): Fix return expression.
+       (gimple_omp_section_last_p): Likewise.
+       (gimple_omp_parallel_combined_p): Likewise.
+       (gimple_call_noreturn_p): Likewise.
+       (gimple_call_nothrow_p): Likewise.
+       (gimple_asm_volatile_p): Likewise.
+       (gimple_try_catch_is_cleanup): Likewise.
+       (gimple_assign_set_rhs1): assert that RHS is a gimple
+       operand.
+       (is_gimple_call): New.  Change all users that tested
+       gimple_code() == GIMPLE_CALL.
+       (gimple_call_fn_ptr): New.
+       (gimple_call_chain_ptr): New.
+       (gimple_call_set_chain): Accept NULL values for CHAIN.
+       (gimple_call_set_tail): Add bool argument specifying the
+       value of the flag.  Update all users.
+       (gimple_asm_set_volatile): Likewise.
+       (gimple_call_set_cannot_inline): Rename from
+       gimple_call_mark_uninlinable.  Add bool argument
+       specifying the value of the flag.  Update all users.
+       (gimple_call_set_return_slot_opt): New.
+       (gimple_call_return_slot_opt_p): New.
+       (gimple_call_set_from_thunk): New.
+       (gimple_call_from_thunk_p): New.
+       (gimple_call_va_arg_pack_p): New.
+       (gimple_call_copy_flags): New.
+       (gimple_asm_set_input): New.
+       (gimple_asm_input_p): New.
+       (gimple_asm_clear_volatile): Remove.
+       (walk_stmt_fn): Add second argument bool *.  Update all
+       users.
+       (struct walk_stmt_info): Add new field callback_result.
+       * tree-cfg.c (gimple_split_block): Tuplify.
+       (gimple_block_ends_with_condjump_p): Tuplify.
+       (need_fake_edge_p): Tuplify.
+       (gimple_flow_call_edges_add): Tuplify.
+       (gimple_purge_dead_abnormal_call_edges): Tuplify.
+       (gimple_purge_dead_eh_edges): Remove ATTRIBUTE_UNUSED.
+       (gimple_cfg_hooks): Add gimple_block_ends_with_condjump_p
+       and gimple_flow_call_edges_add
+       * passes.c (init_optimization_passes): Enable
+       pass_cleanup_cfg, pass_inline_parameters,
+       pass_ipa_inline and pass_apply_inline.
+       (execute_todo): Re-enable check for TODO_update_ssa_any
+       if need_ssa_update_p() returns true.
+       * tree-ssa-operands.c (ssa_operands_active): Return false
+       if cfun is NULL.
+
+
+2008-04-04  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133632.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-04-04  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133631.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-04-04  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133630.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-04-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * omp-low.c (expand_omp_sections): Use
+       gimple_omp_sections_control.
+       (lower_omp_sections): Same.
+       * gimplify.c (gimplify_omp_workshare): Adjust OMP clauses before
+       creating gimple tuple.
+       Add gimple tuple to sequence.
+       Set OMP_SECTIONS_CONTROL in newly created tuple.
+       * gimple.h (gimple_statement_omp_sections): Add control.
+       (gimple_omp_sections_control): New.
+       (gimple_omp_sections_control_ptr): New.
+       (gimple_omp_sections_set_control): New.
+
+2008-04-03  Oleg Ryjkov  <olegr@google.com>
+
+       * tree-nested.c (convert_nl_goto_receiver): Changed to hadle gimple
+       statements instead of trees.
+       (lower_nested_functions): Pass convert_nl_goto_receiver as the first
+       parameter to walk_all_functions.
+
+2008-04-03  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133624.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-04-03  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133612.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-04-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-pretty-print.c (dump_generic_node): Remove
+       OMP_{RETURN,CONTINUE} cases.
+       * tree.h (OMP_RETURN_NOWAIT): Remove.
+       * omp-low.c (dump_omp_region): Rename OMP_{CONTINUE,RETURN} to
+       GIMPLE_OMP_{CONTINUE,RETURN}.
+       (expand_omp_for_generic): Handle new arguments to
+       GIMPLE_OMP_CONTINUE.
+       (expand_omp_for_static_nochunk): Same.
+       (expand_omp_for_static_chunk): Same.
+       (expand_omp_sections): Same.
+       (expand_omp): Rename all OMP_* to GIMPLE_OMP_*.
+       (lower_omp_sections): Rename OMP_CONTINUE to GIMPLE_OMP_CONTINUE.
+       (lower_omp_for): Same.
+       * tree-gimple.c (is_gimple_stmt): Remove OMP_{RETURN,CONTINUE}
+       cases.
+       * gsstruct.def: Add GSS_OMP_CONTINUE.
+       * gimple-pretty-print.c (dump_gimple_omp_continue): New.
+       (dump_gimple_omp_return): New.
+       (dump_gimple_stmt): Add cases for GIMPLE_OMP_{CONTINUE,RETURN}.
+       * gimplify.c (gimplify_expr): Remove cases for
+       OMP_{CONTINUE,RETURN}.
+       * tree.def (DEFTREECODE): Remove OMP_{RETURN,CONTINUE}.
+       * tree-cfgcleanup.c (cleanup_omp_return): Rename
+       OMP_SECTIONS_SWITCH to GIMPLE_OMP_SECTIONS_SWITCH.
+       * gimple.c (gss_for_code): GIMPLE_OMP_RETURN returns GSS_BASE.
+       GIMPLE_OMP_CONTINUE return GSS_OMP_CONTINUE.
+       (gimple_size): Adjust size of GIMPLE_OMP_{RETURN,CONTINUE}.
+       (gimple_build_omp_continue): Change arguments.
+       (walk_gimple_op): Walk GIMPLE_OMP_CONTINUE operands.
+       (walk_gimple_stmt): Remove GIMPLE_OMP_CONTINUE case.
+       * gimple.h (struct gimple_statement_omp_continue): New.
+       (union gimple_statement_d): Add gimple_omp_continue.
+       (gimple_build_omp_continue): Change argument types in prototype.
+       (gimple_omp_return_set_nowait): Rename OMP_RETURN to
+       GIMPLE_OMP_RETURN.
+       (gimple_omp_continue_control_def): New.
+       (gimple_omp_continue_control_def_ptr): New.
+       (gimple_omp_continue_set_control_def): New.
+       (gimple_omp_continue_control_use): New.
+       (gimple_omp_continue_control_use_ptr): New.
+       (gimple_omp_continue_set_control_use): New.
+       * tree-cfg.c (make_edges): Rename OMP_ to GIMPLE_OMP_.
+       (gimple_redirect_edge_and_branch): Same.
+       * tree-ssa-operands.c (get_expr_operands): Remove OMP_CONTINUE
+       case.
+
+2008-04-02  Doug Kwan  <dougkwan@google.com>
+
+       * tree-complex.c (expand_complex_comparison): Set condition code
+       correctly for the NE_EXPR case.
+       * cfgexpand.c (gimple_to_tree): Generate assignment to return value
+       if necessary.
+
+2008-04-02  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133597.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-04-02  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133527.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-04-02  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133519.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-04-02  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133453.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-04-01  Doug Kwan  <dougkwan@google.com>
+           Bill Maddox  <maddox@google.com>.
+
+       * value-prof.c (interesting_stringop_to_profile_p) Call
+       validate_gimple_arglist instead of validate_arglist.
+       * tree.h (validate_arglist): New declaration.
+       * builtins.c (expand_builtin_setjmp_receiver, expand_builtin_longjmp,
+       expand_builtin_nonlocal_goto, expand_builtin_nonlocal_goto,
+       expand_builtin_update_setjmp_buf, expand_builtin_prefetch,
+       expand_builtin_apply, expand_builtin_return, expand_builtin_mathfn,
+       expand_builtin_mathfn_2, expand_builtin_mathfn_3,
+       expand_builtin_interclass_mathfn, expand_builtin_sincos,
+       expand_builtin_cexpi, expand_builtin_int_roundingfn,
+       expand_builtin_int_roundingfn_2, expand_builtin_pow,
+       expand_builtin_powi, expand_builtin_strlen, expand_builtin_strlen,
+       expand_builtin_strstr, expand_builtin_strchr, expand_builtin_strrchr,
+       expand_builtin_memcpy, expand_builtin_memcpy,
+       expand_builtin_mempcpy_args, expand_builtin_bcopy, expand_movstr,
+       expand_builtin_stpcpy, expand_builtin_strncpy, builtin_memset_gen_str,
+       expand_builtin_bzero, expand_builtin_memchr, expand_builtin_memcmp,
+       expand_builtin_strcmp, expand_builtin_strncmp, expand_builtin_strcat,
+       expand_builtin_strncat, expand_builtin_strspn, expand_builtin_alloca,
+       expand_builtin_bswap, expand_builtin_unop, expand_builtin_fputs,
+       expand_builtin_fabs, expand_builtin_copysign,
+       expand_builtin___clear_cache, expand_builtin_init_trampoline,
+       expand_builtin_adjust_trampoline, expand_builtin_signbit,
+       expand_builtin, validate_arg, expand_builtin_object_size,
+       expand_builtin_object_size, expand_builtin_memory_chk) Re-enable code
+       previously disabled for GIMPLE.
+       (expand_builtin_memcpy, expand_builtin_memset_args): Re-enable code
+       previously disabled for GIMPLE.  Look up tree attribute for original
+       GIMPLE statement.
+       (validate_arglist): Use old interface of tree node instead of GIMPLE
+       statement.
+       (validate_gimple_arglist):  New function.
+       * cfgexpand.c (gimple_to_tree): Set GIMPLE statement tree attribute
+       for builtin function calls.
+       * tree-flow.h (struct tree_ann_common_d): New field stmt.
+       * gimple.h (validate_gimple_arglist): New declaration.
+       (validate_arglist): Moved to tree.h.
+
+2008-03-31  Oleg Ryjkov  <olegr@google.com>
+
+       * gimplify.c (gimplify_switch_expr): Verify the return value from
+       gimplify_expr.
+
+2008-03-31  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133452.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-31  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133440.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-31  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133423.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-30  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133342.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-28  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133341.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-28  Oleg Ryjkov  <olegr@google.com>
+
+       * tree-eh.c (replace_goto_queue_1): Do a deep copy of the replacement
+       sequence.
+       (maybe_record_in_goto_queue): Set is_label flag when recording
+       GIMPLE_GOTOs.
+       (do_return_redirection, do_return_redirection): Changed to set
+       cont_stmt.
+       (lower_try_finally_onedest): Fix the code that assumes that gotos
+       themselves(instead of the labels) are recorded in the goto_queue.
+       (lower_try_finally_copy): Likewise.
+       (lower_try_finally_switch): Likewise, also fix the VEC_* operations.
+       * gimple.h (gimple_build_switch): Fixed comment.
+
+2008-03-28  Doug Kwan  <dougkwan@google.com>
+
+       * omp-low.c (expand_omp_sections): Fix build breakage due to an
+       uninitialized variable.
+
+2008-03-28  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133315.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-28  Diego Novillo  <dnovillo@google.com>
+
+       * omp-low.c (expand_omp_for_static_chunk): Initialize
+       V_MAIN and V_BACK.
+       (expand_omp_for): Initialize VIN.
+
+2008-03-28  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133313.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-27  Doug Kwan  <dougkwan@google.com>
+
+       * c-decl.c (merge_decls): Also copy gimple bodies of decls.
+       * gimplify.c (gimplify_call_expr): Do not exit early when
+       gimplifying __builtin_va_start().
+
+2008-03-27  Oleg Ryjkov  <olegr@google.com>
+
+       * gimple.c (walk_gimple_op): Add a check for assignments with more
+       than one operand on the LHS.
+
+2008-03-27  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree.c (empty_body_p): Remove.
+       * tree.h (empty_body_p): Remove prototype.
+       * omp-low.c (struct omp_context): Convert to tuples.
+       (struct omp_context): Comment and convert to tuples.
+       (scan_omp_op): New.
+       (is_parallel_ctx): Convert to tuples.
+       (extract_omp_for_data): Same.
+       (workshare_safe_to_combine_p): Same.
+       (get_ws_args_for): Same.
+       (determine_parallel_type): Same.
+       (use_pointer_for_field): Same.
+       (dump_omp_region): Same.
+       (debug_all_omp_regions): Same.
+       (new_omp_region): Same.
+       (new_omp_context): Same.
+       (scan_sharing_clauses): Same.
+       (create_omp_child_function): Same.
+       (scan_omp_parallel): Same.
+       (scan_omp_for): Same.
+       (scan_omp_sections): Same.
+       (scan_omp_single): Same.
+       (check_omp_nesting_restrictions): Same.
+       (scan_omp_1_op): New.
+       (scan_omp_1_stmt): Rename from scan_omp_1.  Rewrite for tuples.
+       (scan_omp): Convert to tuples.
+       (build_omp_barrier): Same.
+       (maybe_lookup_ctx): Same.
+       (lower_rec_input_clauses): Same.
+       (lower_lastprivate_clauses): Same.
+       (lower_reduction_clauses): Same.
+       (lower_copyprivate_clauses): Same.
+       (lower_send_clauses): Same.
+       (lower_send_shared_vars): Same.
+       (expand_parallel_call): Same.
+       (remove_exit_barrier): Same.
+       (remove_exit_barriers): Same.
+       (optimize_omp_library_calls): Same.
+       (expand_omp_parallel): Same.
+       (expand_omp_for_generic): Comment out, and convert to tuples.
+       (expand_omp_for_static_nochunk): Convert to tuples.
+       (expand_omp_for_static_chunk): Same.
+       (expand_omp_for): Same.
+       (expand_omp_sections): Same.
+       (expand_omp_synch): Same.
+       (expand_omp_atomic_fetch_op): Same.
+       (expand_omp_atomic_pipeline): Same.
+       (expand_omp_atomic_mutex): Same.
+       (expand_omp_atomic): Same.
+       (expand_omp): Same.
+       (build_omp_regions_1): Same. 
+       (execute_expand_omp): Enable.
+       (execute_lower_omp): Enable and convert to tuples.
+       * gimple-dummy.c (omp_reduction_init): Remove.
+       * tree-flow.h (struct omp_region): Convert 'type' to tuples.
+       (new_omp_region): Adjust prototype for tuples.
+       * gimple.c (empty_stmt_p): New.
+       (empty_body_p): New.
+       * gimple.h (empty_body_p): New prototype.
+       (gimple_has_location): Remove fixmes.
+       * tree-cfg.c (gimple_block_label): Remove ATTRIBUTE_UNUSED.
+
+2008-03-27  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133311.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-27  Rafael Espindola <espindola@google.com>
+
+       * gcc/tree-nested.c (save_tmp_var): Use gsi_insert_after_without_update
+       instead of gsi_insert_after.
+
+2008-03-26 Jakub Staszak <kuba@et.pl>
+
+       * gimple.h (gimple_uid, gimple_set_uid): Defined.
+       (gimple_statement_base): Field UID added.
+       * tree-ssa-dse.c (execute_simple_dse): #if 0 removed, bitmap_empty_p
+       condition added. (memory_ssa_name_same, memory_address_same,
+       get_kill_of_stmt_lhs, dse_possible_dead_store_p, dse_optimize_stmt,
+       dse_record_phis, dse_finalize_block, tree_ssa_dse): Tuplified.
+       * passes.c (init_optimization_passes): pass_simple_dse and pass_dse
+       enabled.
+       * testsuite/gcc.dg/tree-ssa/ssa-dse-10.c: {dg-final} changed.
+       * testsuite/gcc.dg/tree-ssa/pr30375.c: {dg-final} changed.
+
+2008-03-26  Rafael Espindola <espindola@google.com>
+       * gcc/tree-ssa-operands.c (ssa_operands_active): Assert that cfun is
+       not NULL.
+       * gcc/tree-nested.c (init_tmp_var): Use
+       gsi_insert_before_without_update instead of gsi_insert_before.
+
+2008-03-25  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133309.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-25  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133306.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-25  Bill Maddox  <maddox@google.com>
+
+       * tree-ssa-dom.c (loop_depth_of_name): Tuplify.
+       * tree-ssa-copy.c (stmt_may_generate_copy,
+       copy_prop_visit_assignment, copy_prop_visi_cond_stmt,
+       copy_prop_visit_stmt, copy_prop_visit_phi_node,
+       init_copy_prop, execute_copy_prop): Tuplify.
+       * passes.c (init_optimization_passes):
+       Enable pass_copy_prop.
+
+2008-03-25  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133257.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-25  Oleg Ryjkov  <olegr@google.com>
+
+       * gimple.c (gimple_build_bind): Added a new parameter - the 
+       containing block.
+       * gimple.h (gimple_build_bind): Changed the header accordingly.
+       * gimplify.c (gimplify_bind_expr, gimplify_function_tree): Updated
+       the callers of gimple_build_bind.
+       (gimplify_body): Updated the call to gimple_build_bind and moved
+       the copying of block information into gimplify_bind_expr.
+
+2008-03-25  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133255.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-25  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133251.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-25  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133250.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-24  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133246.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-24  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133222.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-24  Andrew Pinski  <pinskia@gmail.com>
+
+       * passes.c (init_optimization_passes): Enable pass_split_crit_edges.
+
+2008-03-24  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133169.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-21  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133168.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-21  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133167.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-20  Oleg Ryjkov  <olegr@google.com>
+
+       * tree-eh.c (lower_try_finally): Correctly set the lowered sequence.
+
+2008-03-20  Jakub Staszak  <kuba@et.pl>
+            Oleg Ryjkov  <olegr@google.com>
+
+       * tree-ssa-sink.c (is_hidden_global_store): Tuplified.
+       * tree-ssa-dce.c (mark_stmt_necessary, mark_operand_necessary,
+       mark_stmt_if_obviously_necessary,
+       mark_control_dependent_edges_necessary,
+       find_obviously_necessary_stmts, propagate_necessity,
+       remove_dead_phis, eliminate_unnecessary_stmts, tree_dce_init,
+       tree_dce_done): Tuplified.
+       * tree-flow.h (is_hidden_global_store): Tuplified the declaration.
+       * passes.c (init_optimization_passes): Enabled pass_dce and
+       pass_cd_dce.
+
+2008-03-20  Oleg Ryjkov <olegr@google.com>
+
+       * tree-complex.c (init_dont_simulate_again, complex_visit_stmt,
+       update_complex_components, expand_complex_operations_1): Consider
+       GIMPLE_CALLs with a lhs, not only GIMPLE_ASSIGNs.
+       * gimplify.c (get_tmp_var_for): Removed.
+       (gimplify_call_expr): Remove call to get_tmp_var_for, set
+       gimple_register on a new lhs in some cases.
+
+2008-03-20  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133162.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-20  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133161.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-20  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133140.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-20  Rafael Espindola <espindola@google.com>
+
+       Merge with mainline @133138.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-18  Bill Maddox  <maddox@google.com>
+
+       * builtins.c (fold_builtin_object_size):
+       Enable call to compute_builtin_object_size, previously
+       stubbed out awaiting tuplification.
+       * tree-ssa-ccp.c (valid_gimple_rhs_p, valid_gimple_call_p,
+       move_ssa_defining_stmt_for_defs, update_call_from_tree):
+       Deleted, moved to tree-ssa-propagate.c.
+       (get_maxval_strlen): Use gimple_assign_single_p.
+       Handle assignment with unary NOP correctly.
+       * tree-ssa-propagate.c (valid_gimple_rhs_p, valid_gimple_call_p,
+       move_ssa_defining_stmt_for_defs, update_call_from_tree):
+       Moved here from tree-ssa-ccp.c.
+       * tree-ssa-propagate.h (valid_gimple_rhs_p, valid_gimple_call_p,
+       move_ssa_defining_stmt_for_defs, update_call_from_tree): Declared.
+       * gimple-dummy.c (compute_builtin_object_size): Removed dummy.
+       * tree_object_size.c (addr_object_size, alloc_object_size)
+       Tuplified.
+       (pass_through_call, compute_builtin_object_size): Tuplified.
+       (expr_object_size): Tuplified.  Some cases broken out.
+       (plus_expr_object_size): Deleted.
+       (call_object_size, unknown_object_size, plus_stmt_object_size):
+       New functions.  Handle cases broken out from expr_object_size.
+       (cond_expr_object_size): Fix comment.
+       (collect_object_sizes_for): Tuplify.
+       (check_for_plus_in_loops_1, check_for_plus_in_loops): Tuplify.
+       (compute_object_sizes): Tuplify.
+       * gimple.c (gimple_assign_single_p, gimple_assign_unary_nop_p):
+       New functions.
+       * gimple.h (gimple_assign_single_p, gimple_assign_unary_nop_p):
+       Declare.
+       * passes.c (init_optimization_passes): Enable pass_object_sizes.
+
+2008-03-18  Diego Novillo  <dnovillo@google.com>
+            Oleg Ryjkov  <olegr@google.com>
+
+       * gimplify.c (gimplify_body): Copy the block information from
+       the tree function body to gimple function body.
+       (gimplify_function_tree): Correctly wrap the function body
+       into the try/finally block if creating one.
+       * gimple.c (gimple_seq_has_side_effects): Removed.
+       * gimple.h (gimple_seq_has_side_effects): Removed declaration.
+       * tree-cfg.c (remove_useless_stmts_tf, remove_useless_stmts_tc):
+       Modified to use gimple_seq_empty_p instead of
+       gimple_seq_has_side_effects.
+
+2008-03-18  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple.c (walk_gimple_stmt): Collapse common code.
+       Add case for GIMPLE_WITH_CLEANUP_EXPR.
+
+2008-03-17  Zdenek Dvorak  <ook@ucw.cz>
+
+       * gimple-iterator.c (gsi_for_stmt): Use gsi_start_phis.
+       (gsi_start_phis): New function.
+       * gimple.h (gsi_start_phis): Declare.
+       * tree-into-ssa.c (initialize_flags_in_bb, rewrite_initialize_block,
+       rewrite_add_phi_arguments, rewrite_update_init_block,
+       prepare_block_for_update): Use gsi_start_phis.
+       * tree-complex.c (init_dont_simulate_again, update_phi_components):
+       Ditto.
+       * tree-ssa-loop-manip.c (find_uses_to_rename_bb,
+       verify_loop_closed_ssa, split_loop_exit_edge,
+       tree_transform_and_unroll_loop): Ditto.
+       * tree-scalar-evolution.c (loop_closed_phi_def,
+       analyze_scalar_evolution_for_all_loop_phi_nodes, scev_const_prop):
+       Ditto.
+       * tree-phinodes.c (reserve_phi_args_for_new_edge, remove_phi_args):
+       Ditto.
+       * tree-ssa-copyrename.c (rename_ssa_copies): Ditto.
+       * tree-ssa-ccp.c (ccp_initialize): Ditto.
+       * tree-ssa-loop-ivopts.c (find_bivs, mark_bivs,
+       find_interesting_uses_outside, find_interesting_uses,
+       determine_set_costs): Ditto.
+       * tree-ssa-propagate.c (simulate_block, ssa_prop_init,
+       substitute_and_fold): Ditto.
+       * tree-ssa-alias.c (dump_points_to_info, create_structure_vars): Ditto.
+       * gimple-pretty-print.c (dump_phi_nodes): Ditto.
+       * tree-data-ref.c (stmts_from_loop): Ditto.
+       * tree-ssa-coalesce.c (build_ssa_conflict_graph,
+       create_outofssa_var_map, coalesce_partitions): Ditto.
+       * tree-dfa.c (collect_dfa_stats): Ditto.
+       * tree-cfgcleanup.c (phi_alternatives_equal, remove_forwarder_block,
+       remove_forwarder_block_with_phi, merge_phi_nodes): Ditto.
+       * tree-ssa-live.c (remove_unused_locals, calculate_live_on_exit,
+       verify_live_on_entry): Ditto.
+       * tree-ssa.c (ssa_redirect_edge, flush_pending_stmts, verify_ssa,
+       execute_late_warn_uninitialized, execute_update_addresses_taken):
+       Ditto.
+       * tree-outof-ssa.c (eliminate_build, eliminate_virtual_phis,
+       rewrite_trees, remove_ssa_form, insert_backedge_copies):
+       Ditto.
+       * cfgloop.c (find_subloop_latch_edge_by_ivs): Ditto.
+       * tree-ssa-structalias.c (compute_points_to_sets, ipa_pta_execute):
+       Ditto.
+       * tree-cfg.c (remove_phi_nodes_and_edges_for_unreachable_block,
+       reinstall_phi_args, verify_stmts, gimple_make_forwarder_block,
+       add_phi_args_after_copy_edge, gimple_lv_adjust_loop_header_phi):
+       Ditto.
+
+2008-03-16  Zdenek Dvorak  <ook@ucw.cz>
+
+       * tree-ssa-loop-ivopts.c: Tuplify.
+       * gimple-dummy.c (multiplier_allowed_in_address_p, multiply_by_cost,
+       tree_ssa_iv_optimize): Removed.
+       * tree-ssa-phiopt.c (empty_block_p): Tuplify.
+       * gimple.h (gimple_cond_lhs_ptr, gimple_cond_rhs_ptr): New.
+       * passes.c (init_optimization_passes): Enable pass_iv_optimize.
+
+       * gimplify.c (gimplify_omp_workshare, gimplify_expr): Avoid using
+       uninitialized sequence.
+
+2008-03-13  Bill Maddox  <maddox@google.com>
+
+       * tree.h (fold_call_stmt, gimple_fold_builtin_snprintf_chk):
+       Declare new functions.
+       * builtins.c (fold_builtin_object_size): Disable call to
+       compute_builtin_object_size, which has not been converted.
+       (gimple_rewrite_call_expr, gimple_fold_builtin_sprintf_chk,
+       gimple_fold_builtin_snprintf_chk, gimple_fold_builtin_varargs,
+       fold_call_stmt): New functions.
+       * tree-chrec.h (build_polynomial_chrec): Silence uninitialized
+       variable warning.
+       * tree-ssa-ccp.c (likely_value): Recognize additional cases
+       of constant values.
+       (surely_varying_stmt_p): Note that return statements are not
+       interesting to CCP as they no longer contain assignments.
+       (ccp_fold): Add missing spaces.
+       (valid_gimple_call_p): New function.
+       (get_maxval_strlen): Don't trip over unary operator.
+       (ccp_fold_builtin): Use fold_call_stmt and
+       gimple_fold_builtin_snprintf_chk.  Enable disabled
+       call now that target has been converted for tuples.
+       Add missing spaces.
+       (move_ssa_defining_stmt_for_defs): New function.
+       (update_call_from_tree): New function.
+       (fold_gimple_call): Use update_call_from_tree.
+       (fold_stmt_inplace): Assert that operand folding tree
+       walk goes to completion, i.e., does not return non-null.
+       (optimize_stack_restore, optimize_stdarg_builtin):
+       Convert to tuples
+       (convert_to_gimple_builtin): Removed.
+       (gimplify_and_update_call_from_tree): New function.
+       Replaces convert_to_gimple_builtin.
+       (execute_fold_all_builtins): Convert to tuples.
+       * tree-ssa-propagate.c (replace_uses_in): Removed
+       replaced_address argument.  Made function static.
+       (replace_vuses_in): Removed replaced_address argument.
+       (substitute_and_fold): Removed replaced_address boolean,
+       which was set but never examined.
+       * tree-ssa-propagate.h (replace_uses_in): Removed declaration.
+       * gimple-iterator.c (update_modified_stmt): Moved to
+       head of file to avoid a forward declaration.
+       (update_modified_stmts): New function.
+       (gsi_insert_seq_before_without_update,
+       gsi_insert_before_without_update,
+       gsi_insert_seq_after_without_update,
+       gsi_insert_after_without_update): New functions.
+       (gsi_insert_before, gsi_insert_seq_before,
+       gsi_insert_after, gsi_insert_seq_after): Call the
+       _without_update variants.
+       * gimplify.c (gimplify_seq_add_stmt, gimplify_seq_add_seq):
+       New functions.
+       (gimple_pop_condition, gimplify_return_expr, gimplify_loop_expr,
+       gimplify_switch_expr, gimplify_case_label_expr,
+       gimplify_self_mod_expr, gimplify_call_expr,
+       gimplify_modify_expr_to_memcpy, gimplify_modify_expr_to_memset,
+       gimplify_init_ctor_eval_range, gimpllify_modify_expr_complex_part,
+       gimplify_modify_expr, gimplify_asm_expr, gimplify_cleanup_point_expr,
+       gimple_push_cleanup, gimplify_omp_parallel, gimplify_omp_atomic,
+       gimplify_expr, gimplify_body, gimplify_function_tree): When adding
+       to statement sequences in the gimplifier, do not update operands.
+       * tree-dfa.c (find_new_referenced_vars): Convert to tuples.
+       * tree-flow.h (find_new_referenced_vars): Declare with new signature.
+       * gimple.h (gimple_return_set_retval): Fix argument validation.
+       (gsi_insert_seq_before_without_update,
+       gsi_insert_before_without_update,
+       gsi_insert_seq_after_without_update,
+       gsi_insert_after_without_update): Declare new functions.
+       * gimple.c (gimple_build_return): Rely on gimple_return_set_retval
+       to perform argument validation.
+       * passes.c (init_optimization_passes): Enable pass_fold_builtins.
+       
+2008-03-13  Oleg Ryjkov  <olegr@google.com>
+
+       * tree-cfg.c (gimplify_val): Removed.
+       (gimplify_build1, gimplify_build2, gimplify_build3): Use
+       force_gimple_operand_gsi instead of gimplify_val.
+       * tree-complex.c (extract_component): Use force_gimple_operand_gsi
+       instead of gimplify_val.
+       * tree-vect-generic.c (expand_vector_parallel): Ditto.
+
+2008-03-13  Diego Novillo  <dnovillo@google.com>
+           Oleg Ryjkov  <olegr@google.com>
+
+       * tree-ssa-operands.c (get_expr_operands): Handle FILTER_EXPR and
+       EXC_PTR_EXPR.
+
+2008-03-12  Diego Novillo  <dnovillo@google.com>
+           Oleg Ryjkov  <olegr@google.com>
+
+       * cfgexpand.c (gimple_to_tree): Record the correct type when
+       converting GIMPLE_CALL.
+
+2008-03-12  Zdenek Dvorak  <ook@ucw.cz>
+
+       * tree-ssa-loop-im.c (stmt_cost, rewrite_bittest,
+       determine_invariantness_stmt, gather_mem_refs_stmt):
+       Use gimple_assign_rhs_code.
+       * cfgexpand.c (gimple_to_tree): Ditto.
+       * tree-inline.c (estimate_num_insns): Ditto.
+       * tree-vect-generic.c (expand_vector_operations_1): Ditto.
+       * tree-ssa-ccp.c (likely_value, ccp_fold, evaluate_stmt,
+       * gimple.c (gimple_fold, gimple_assign_set_rhs_with_ops): Ditto.
+       * tree-ssa-structalias.c (handle_ptr_arith): Ditto.
+       fold_gimple_assign): Ditto.
+       * value-prof.c (gimple_divmod_fixed_value_transform): Ditto.
+       * tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
+       * tree-ssa-propagate.c (stmt_makes_single_load,
+       substitute_and_fold): Ditto.
+       * tree-ssa-loop-niter.c (chain_of_csts_start): Exclude memory loads.
+       (get_val_for): Assert that the statement is an assignment.
+       (derive_constant_upper_bound_assign,
+       expand_simple_operations): Use gimple_assign_rhs_code.
+       * tree-ssa-loop-manip.c (create_iv, ip_normal_pos,
+       standard_iv_increment_position, determine_exit_conditions,
+       tree_transform_and_unroll_loop): Tuplify.
+       * tree-scalar-evolution.c (interpret_expr): Fail for chrecs.
+       (interpret_gimple_assign, follow_ssa_edge_in_rhs): Use
+       gimple_assign_rhs_code.
+       * tree-gimple.c (gimple_assign_rhs_code): New function.
+       * tree-gimple.h (gimple_assign_rhs_code): Declare.
+       * tree-ssa-loop-ivopts.c (single_dom_exit): Enable.
+       * gimple-dummy.c (compute_data_dependences_for_loop, dump_ddrs,
+       free_data_refs, free_dependence_relations,
+       gimple_duplicate_loop_to_header_edge, tree_ssa_prefetch_arrays,
+       estimated_loop_iterations_int): Removed.
+       * tree-ssa-loop-ivcanon.c (tree_num_loop_insns): Tuplify.
+       * predict.c, tree-data-ref.c, tree-ssa-loop-prefetch.c: Tuplify.
+       * tree-data-ref.h (struct data_reference, struct rdg_vertex): Change
+       the type of stmt to gimple.
+       (get_references_in_stmt, create_data_ref, rdg_vertex_for_stmt,
+       stores_from_loop, remove_similar_memory_refs,
+       have_similar_memory_accesses): Declaration changed.
+       * gimple-iterator.c (gsi_insert_seq_on_edge_immediate): New.
+       * gimple-pretty-print.c (dump_gimple_assign): Dump nontemporal
+       move.  Use gimple_assign_rhs_code.
+       (dump_unary_rhs, dump_binary_rhs): Use gimple_assign_rhs_code.
+       * gimplify.c (gimplify_modify_expr): Set lhs of the assignment to
+       the new SSA name.
+       * tree-ssa-coalesce.c (build_ssa_conflict_graph,
+       create_outofssa_var_map): Use gimple_assign_copy_p.
+       * tree-predcom.c (mark_virtual_ops_for_renaming): Enable.
+       * tree-inline.c (estimate_num_insns): Use gimple_assign_rhs_code.
+       * tree-flow.h (mark_virtual_ops_for_renaming): Declaration changed.
+       * gimple.h (struct gimple_statement_base): Change unused_4 flag
+       to nontemporal_move flag.
+       (gimple_assign_nontemporal_move_p, gimple_assign_set_nontemporal_move):
+       New functions.
+       (gsi_insert_seq_on_edge_immediate): Declare.
+       (gimple_assign_rhs2): Return NULL if the statement does not have two
+       operands.
+       (gimple_assign_subcode): Removed.
+       * tree-cfg.c (verify_types_in_gimple_assign): Use
+       gimple_assign_rhs_code.
+       (gimple_lv_adjust_loop_header_phi, gimple_lv_add_condition_to_bb):
+       Tuplify.
+       (gimple_cfg_hooks): Enable lv_add_condition_to_bb and
+       lv_adjust_loop_header_phi hooks.
+       * passes.c (init_optimization_passes): Enable pass_profile,
+       pass_check_data_deps and pass_loop_prefetch.
+
+2008-03-11  Diego Novillo <dnovillo@google.com>
+
+       * tree-ssa-operands.h: Added declaration of add_to_addressable_set.
+       * tree-ssa-operands.h (add_to_addressable_set): New function.
+       (gimple_add_to_addresses_taken): Moved most of the logic to
+       add_addressable_set.
+       * tree-ssa-structalias.c (update_alias_info): Record the variables
+       whose address is taken inside a phi node.
+
+2008-03-11  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-phinodes.c (allocate_phi_node): Update for tuples.
+       * gimplify.c (gimplify_function_tree): Dump memory stats.
+       * gimple.c:  Declare gimple_alloc_counts, gimple_alloc_sizes,
+       and gimple_alloc_kind_names.
+       (gimple_alloc): Gather statistics for tuples.
+       (gimple_build_asm_1): Same.
+       (gimple_seq_alloc): Same.
+       (dump_gimple_statistics): New.
+       * gimple.h: Define gimple_alloc_kind.
+       (gimple_alloc_kind): New.
+       (dump_gimple_statistics): Protoize.
+       * tree-ssa-copy.c (replace_exp_1): Mark for_propagation as unused
+       (merged from mainline).
+
+2008-03-11  Diego Novillo  <dnovillo@google.com>
+
+       Merge with mainline @133081.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-06  Diego Novillo  <dnovillo@google.com>
+
+       Merge with mainline @132948
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-03-06  Diego Novillo  <dnovillo@google.com>
+
+       * config/rs6000/rs6000.c (rs6000_alloc_sdmode_stack_slot):
+       Call walk_gimple_op.
+       * tree-complex.c (expand_complex_div_wide): Call
+       split_block with STMT.
+
+2008-03-06  Diego Novillo  <dnovillo@google.com>
+
+       * gimple.h (struct gimple_statement_base): Rename field
+       'locus' to 'location'.  Update all users.
+       (gimple_location): Rename from gimple_locus.  Update all
+       users.
+       (gimple_set_location): Rename from gimple_set_locus.
+       Update all users.
+       (gimple_has_location): Rename from gimple_location_empty_p.
+       Change sign of return value.  Update all users.
+       * gimplify.c (tree_annotate_all_with_location): Rename
+       from tree_annotate_all_with_locus.
+       (annotate_all_with_location): Rename from
+       annotate_all_with_locus.
+
+2008-03-05  Diego Novillo  <dnovillo@google.com>
+
+       * gimple.c (gimple_set_lhs): Remove return keywords.
+
+2008-03-05  David Daney  <ddaney@avtrex.com>
+
+       * builtins.c (expand_builtin___clear_cache): Disable call to
+       validate_arglist.
+       * config/mips/mips.c (mips_gimplify_va_arg_expr): Tuplify.
+
+2008-03-05  Bill Maddox  <maddox@google.com>
+
+       * tree-ssa-ccp.c (dump_lattice_value, debug_lattice_value):
+       Re-enable functions #if'd out.
+       (test_default_value, likely_value, surely_varying_stmt_p,
+       ccp_initialize, ccp_visit_phi_node, ccp_fold, evaluate_stmt,
+       visit_assignment, visit_cond_stmt, ccp_visit_stmt):
+       Convert to tuples.
+       (fold_gimple_call):  Don't trip over call that simplifies to
+       another call, not a constant.
+       * tree-ssa-propagate.c (ssa_prop_init): Initialize in-worklist
+       flag for phi nodes as well as statements.
+       (valid_gimple_expression_p): Add fixme comment to remove this.
+       function.  It currently has static uses, but asserts when called.
+       (stmt_makes_single_load, stmt_makes_single_store):
+       Convert to tuples
+       (replace_phi_args_in): Convert to tuples.  Fix typo in comment.
+       * gimple.c (gimple_copy_no_def_use, gimple_get_lhs,
+       gimple_set_lhs): New function.
+       * gimple.h (gimple_copy_no_def_use, gimple_get_lhs,
+       gimple_set_lhs): Declare new function.
+       * tree-cfg.c (replace_uses_by): Add comment regarding empty
+       operands.
+       * passes.c (init_optimization_passes): Enable pass_ccp and
+       pass_store_ccp.
+       
+2008-03-05  David Daney  <ddaney@avtrex.com>
+
+       * tree-phinodes.c (allocate_phi_node): Fix syntax errors from
+       previous commit.
+
+2008-03-05  Rafael Espindola  <espindola@google.com>
+
+       * tree-phinodes.c (allocate_phi_node): free free_phinodes[bucket]
+       if empty.
+
+2008-03-05  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc/2008-03/msg00256.html
+
+       * fold-const.c (tree_binary_nonnegative_warnv_p): Fix
+       invalid C90 declaration.
+       (tree_single_nonnegative_warnv_p): Likewise.
+       * gimplify.c (gimplify_bind_expr): Likewise.
+       (gimplify_return_expr): Likewise.
+
+2008-03-04  Zdenek Dvorak  <ook@ucw.cz>
+
+       * tree-ssa-loop-niter.c, tree-scalar-evolution.c: Tuplified.
+       * tree-ssa-loop-manip.c (split_loop_exit_edge): Ditto.
+       * tree-chrec.c (chrec_fold_plus, chrec_apply, chrec_convert_1,
+       convert_affine_scev, chrec_convert_rhs, chrec_convert,
+       chrec_convert_aggressive): Pass statements as gimple.
+       * tree-scalar-evolution.h (get_loop_exit_condition, simple_iv):
+       Type changed.
+       * tree-chrec.h (chrec_convert, chrec_convert_rhs): Ditto.
+       * tree-ssa-loop-ivopts.c (abnormal_ssa_name_p,
+       idx_contains_abnormal_ssa_name_p, contains_abnormal_ssa_name_p,
+       expr_invariant_in_loop_p, tree_int_cst_sign_bit): Enabled.
+       * gimple-dummy.c (chrec_dont_know, chrec_known, chrec_not_analyzed_yet,
+       analyze_scalar_evolution, chrec_contains_symbols_defined_in_loop,
+       estimate_numbers_of_iterations, expr_invariant_in_loop_p,
+       free_numbers_of_iterations_estimates,
+       free_numbers_of_iterations_estimates_loop, get_loop_exit_condition,
+       instantiate_parameters, nowrap_type_p. scev_const_prop. scev_finalize,
+       scev_initialize, scev_probably_wraps_p, scev_reset,
+       tree_int_cst_sign_bit, number_of_iterations_exit, loop_niter_by_eval,
+       substitute_in_loop_info): Removed.
+       * tree-ssa-loop.c (tree_loop_optimizer_init): Merged into...
+       (tree_ssa_loop_init): ... here.  Enable scev_initialize call.
+       (tree_ssa_loop_done): Enable scev finalization.
+       * gimple-iterator.c (gsi_insert_seq_nodes_before): Allow inserting
+       at the end of basic block.
+       (gsi_for_stmt): Handle phi nodes.
+       * cfgloop.h (struct nb_iter_bound): Change type of stmt field to gimple.
+       * tree-flow.h (scev_probably_wraps_p, convert_affine_scev,
+       stmt_dominates_stmt_p): Types changed.
+       * Makefile.in (gt-tree-scalar-evolution.h): Enable.
+       * gimple.c (extract_ops_from_tree): Export.
+       (gimple_copy): Do not share bitmaps.
+       * gimple.h (extract_ops_from_tree): Declare.
+       (gimple_call_set_lhs): Allow lhs to be NULL.
+       * tree-cfg.c (add_phi_args_after_copy_edge,
+       add_phi_args_after_copy_bb): Tuplify.
+       * passes.c (init_optimization_passes): Enable pass_ch, pass_scev_cprop.
+
+2008-03-04  Oleg Ryjkov  <olegr@google.com>
+
+       * tree-ssa-dse.c (execute_simple_dse): Commented out.
+       * passes.c (init_optimization_passes): Disabling pass_simple_dse.
+
+2008-03-04  Bill Maddox  <maddox@google.com>
+
+       * tree-cfg.c (remove_useless_stmts_1):
+       Correctly distinguish try-catch and try-finally.
+       
+2008-03-04  Oleg Ryjkov  <olegr@google.com>
+
+       * tree-ssa-dse.c (execute_simple_dse): Tuplified.
+       * gimplify.c (gimplify_return_expr): Copy the NO_WARNING flag
+       to the newly created expr from the tree.
+       * tree-cfg.c (gimplify_build1): Tuplified.
+       * passes.c (init_optimization_passes): Enabled
+       pass_warn_function_return, pass_update_address_taken,
+       pass_simple_dse and pass_build_alias passes.
+
+2008-03-04  Rafael Espindola  <espindola@google.com>
+
+       * fold-const.c (tree_simple_nonnegative_warnv_p): New.
+       (tree_unary_nonnegative_warnv_p): New.
+       (tree_binary_nonnegative_warnv_p): New.
+       (tree_single_nonnegative_warnv_p): New.
+       (tree_invalid_nonnegative_warnv_p): New.
+       (tree_expr_nonnegative_warnv_p): Redefine in term of the new functions.
+
+2008-03-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple.c (walk_gimple_seq): Do not set wi->gsi.
+       (walk_gimple_stmt): Set wi->gsi.
+       * tree-cfg.c (verify_stmt): Use walk_gimple_op instead of
+       walk_gimple_stmt.
+       (verify_stmts): Same.
+
+2008-03-04  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-03/msg00219.html
+
+       * expr.c (expand_expr_real): Call lookup_expr_eh_region.
+       * tree-eh.c (lookup_stmt_eh_region_fn):
+       (lookup_stmt_eh_region): Fix comment.
+       (lookup_expr_eh_region): Handle missing cfun and missing
+       EH table.
+       (record_in_finally_tree): Fix comment.
+       (collect_finally_tree_1): Remove handler for
+       GIMPLE_SWITCH.
+       (maybe_record_in_goto_queue): Remove local variable
+       NEW_IS_LABEL.
+       Record GIMPLE_GOTOs instead of their label.
+       (verify_norecord_switch_expr): Retrieve the CASE_LABEL
+       from the case label expression.
+       (do_return_redirection): Change sign of assertion.
+       (lower_try_finally_onedest): Assert that
+       TF->GOTO_QUEUE[0] contains a GIMPLE statement.
+       (lower_try_finally_copy): Assert that Q contains a GIMPLE
+       statement.
+       (lower_try_finally_switch): Build a new GIMPLE label for
+       CONT_STMT.
+       (mark_eh_edge): Tuplify.
+       (verify_eh_edges): Tuplify.
+       (tree_can_throw_external): Remove unused function.
+       (optimize_double_finally): Remove #if 0.
+       * gimple-pretty-print.c (GIMPLE_NIY): Tidy.
+       (dump_gimple_resx): Fix format string for
+       dump_gimple_fmt.
+       * gimplify.c (gimplify_cleanup_point_expr): Initialize
+       BODY_SEQUENCE.
+       * calls.c (emit_call_1): Remove ATTRIBUTE_UNUSED markers.
+       * cfgexpand.c (gimple_to_tree) <GIMPLE_NOP>: Assign new
+       expression to T.
+       <GIMPLE_RESX>: Handle.
+       Always assign the value from lookup_stmt_eh_region to
+       ANN->RN.
+       * tree-cfg.c (start_recording_case_labels):
+       (recording_case_labels_p): Re-enable.
+       (get_cases_for_edge): Likewise.
+       (gimple_verify_flow_info): Re-enable call to
+       verify_eh_edges.
+       (gimple_redirect_edge_and_branch): Re-enable handling of
+       GIMPLE_SWITCH.
+       (gimple_block_ends_with_call_p): Tuplify.
+       (struct gimple_cfg_hooks): Enable block_ends_with_call_p
+       callback.
+
+2008-03-04  Rafael Espindola  <espindola@google.com>
+
+       * fold-const.c (tree_unary_nonzero_warnv_p): New.
+       (tree_binary_nonzero_warnv_p): New.
+       (tree_single_nonzero_warnv_p): New.
+       (tree_expr_nonzero_warnv_p): Redefine using the new functions.
+
+2008-03-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple.c (walk_gimple_op): Update comment.
+       (walk_gimple_stmt): Same.
+
+2008-03-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * cgraphbuild.c (build_cgraph_edges): Use walk_gimple_op instead of
+       walk_gimple_stmt.
+       * tree-ssa-alias-warnings.c (find_references_in_function): Same.
+       * tree-ssa-ccp.c (fold_stmt): Change walk_gimple_stmt call to
+       walk_gimple_op.
+       * tree-nrv.c (tree_nrv): Same.
+       * tree-ssa-alias.c (count_uses_and_derefs): Same.
+       * cfgexpand.c (discover_nonconstant_array_refs_r): Same.
+       * tree-nested.c (convert_nonlocal_reference_stmt): Make first
+       argument a GSI.
+       (convert_local_reference_op): Same.
+       (convert_nl_goto_reference): Same.
+       (convert_tramp_reference_stmt): Same.
+       (convert_gimple_call): Same.
+       * tree-inline.c (inline_forbidden_p_stmt): Same.
+       * tree-ssa.c (execute_early_warn_uninitialized): Change
+       walk_gimple_stmt call to walk_gimple_op.
+       * gimple.c (walk_gimple_seq): Pass GSI to walk_gimple_stmt.
+       (walk_gimple_stmt): Move operand walking code to...
+       (walk_gimple_op): ...here.
+       (walk_gimple_stmt): First argument is now a GSI.
+       * gimple.h: Change walk_stmt_fn argument to a GSI.
+       (walk_gimple_stmt): Make first argument is a GSI.
+       (walk_gimple_op): New prototype.
+       * tree-cfg.c (verify_stmt): Change argument to a GSI.  Adjust
+       accordingly.
+
+2008-02-29  Zdenek Dvorak  <ook@ucw.cz>
+
+       * tree-ssa-alias.c (is_escape_site): Detect pure/const functions
+       correctly.
+
+2008-02-28  Zdenek Dvorak  <ook@ucw.cz>
+
+       * tree-ssa-loop-im.c: Tuplify.
+       * tree-ssa-loop-manip.c (add_exit_phis_edge, find_uses_to_rename_stmt,
+       find_uses_to_rename_bb, check_loop_closed_ssa_use,
+       check_loop_closed_ssa_stmt, verify_loop_closed_ssa): Ditto.
+       * gimple-dummy.c (rewrite_into_loop_closed_ssa, tree_ssa_lim,
+       verify_loop_closed_ssa, replace_exp): Removed.
+       * tree-ssa-loop.c (tree_ssa_loop_init, tree_ssa_loop_done): Comment
+       out scev initialization and finalization.
+       * gimple-iterator.c (gsi_remove): Rename remove_eh_info to
+       remove_permanently.  Do not free operands if remove_permanently
+       is false.
+       (gimple_find_edge_insert_loc): Use gsi_last_bb.
+       * tree-eh.c (operation_could_trap_p): Factored out of ...
+       (tree_could_trap_p): ... here.
+       * tree-ssa-copy.c (replace_exp): Enable.
+       * tree-flow.h (movement_possibility): Declaration changed.
+       (operation_could_trap_p): Declare.
+       * Makefile.in (tree-ssa-loop-im.o): Add pointer-set.h dependency.
+       (gimple.o): Add FLAGS_H dependency.
+       * gimple.c: Include flags.h.
+       (gimple_could_trap_p): New function.
+       * gimple.h (gimple_could_trap_p): Declare.
+       * tree-cfg.c (replace_uses_by): Check that op is not null.
+       * passes.c (init_optimization_passes): Enable pass_lim.
+
+2008-02-28  Rafael Espindola  <espindola@google.com>
+
+       * tree-outof-ssa.c (insert_backedge_copies): Don't build
+       uninitialized assignment.
+
+2008-02-28  Rafael Espindola  <espindola@google.com>
+
+       * tree-dfa.c (dump_dfa_stats): cast dfa_stats.max_num_phi_args to long.
+
+2008-02-26  Diego Novillo  <dnovillo@google.com>
+
+       * tree-ssa-copyrename.c (rename_ssa_copies): Do not mix
+       declarations with code.
+       * tree-ssa-coalesce.c (create_outofssa_var_map): Likewise.
+       * tree-dfa.c (dump_dfa_stats): Use %ld for
+       dfa_stats.max_num_phi_args.
+
+2008-02-26  Bill Maddox  <maddox@google.com>
+       
+       * tree-ssa-ccp.c (maybe_fold_stmt_addition):
+       Reinstated this function for tuples as-is.
+       (valid_gimple_rhs_p): New function.  Mostly lifted from
+       valid_gimple_epxression_p, which is likely obsolete.
+       (fold_stmt_r): Reinstated commented-out cases for
+       tuples. Replaced call to obsolete function set_rhs.
+       (get_maxval_strlen): Convert to tuples.
+       (ccp_fold_builtin): Partial conversion to tuples.
+       (fold_gimple_assign): New function.
+       (fold_gimple_cond): New function.
+       (fold_gimple_call): New function.
+       (fold_stmt): Convert to tuples.
+       (fold_stmt_inplace): Convert to tuples.
+       * tree-ssa-propagate.c (substitute_and_fold):
+       Update call to fold_stmt for revised argument signature.
+       * gimple-dummy.c (fold_stmt): Removed dummy definition.
+       * gimplify.c (gimplify_call_expr): Removed obsolete
+       manipulation of TREE_NOTHROW flag.
+       * cfgexpand.c (gimple_to_tree): Set nothrow flag
+       of call expression based on call statement flags.
+       Handle GIMPLE_NOP statement.
+       * tree-flow.h (notice_special_calls, fold_stmt):
+       Update prototypes for tuples.
+       * gimple.c (gimple_cond_set_condition_from_tree):
+       New function.
+       (gimple_seq_has_side_effects): New function.
+       * gimple.h (gimple_cond_set_condition_from_tree,
+       gimple_seq_has_side_effects): New prototypes.
+       (gimple_call_nothrow_p): New function.
+       (gsi_stmt_ptr): Add comment regarding usage of this
+       function vs. gsi_replace.
+       * tree-cfg.c (struct rus_data): Convert to tuples.
+       (remove_useless_stmts_1, remove_useless_stmts_warn_notreached,
+       remove_useless_stmts_cond, remove_useless_stmts_tf,
+       remove_useless_stmts_tc, remove_useless_stmts_goto,
+       remove_useless_stmts_label, notice_special_calls,
+       remove_useless_stmts): Convert to tuples.
+       (update_call_expr_flags): Removed.
+       * passes.c (init_optimization_passes): Enable
+       pass_remove_useless_stmts.
+       
+2008-02-25  Bill Maddox  <maddox@google.com>
+
+       * tree-into-ssa.c (rewrite_initialize_block):
+       Avoid declaration following statement in block.
+       * tree-nrv.c (tree_nrv):
+       Avoid declaration following statement in block.
+       * tree-eh.c (collect_finally_tree): Fix typo in comment.
+       Avoid cast to union type.
+       (replace_goto_queue_cond_clause, replace_goto_queue_1,
+       maybe_record_in_goto_queue, verify_norecord_switch_expr,
+       lower_try_finally_fallthru_label): Avoid cast to union type.
+       * fortran/Make-lang.in: Add -Wno-missing-format-attribute
+       to fortran-warn options to avoid conflict with -Wno-format.
+       * gimplify.c (gimplify_switch_expr):  Change assignment
+       to initialiation.
+       (gimplify_case_label_expr): Avoid declaration following
+       statement in block.
+       * tree-ssa-coalesce.c (create_outofssa_var_map): Avoid
+       declaration following statement in block.
+       * tree-ssa.c (ssa_redirect_edge, flush_pending_stmts):
+       Avoid declaration following statements in block.
+       * Makefile.in: Add -Wno-missing-format-attribute
+       to builtins.o-warn and expr.o-warn options to avoid conflict
+       with -Wno-format.  Removed fortran/*-warn options, -Wno-format
+       and -Wno-uninitialized, which belong in fortran/Make-lang.in,
+       and are applied to all fortran files there.
+
+2008-02-25  Oleg Ryjkov  <olegr@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-02/msg01236.html
+
+       * tree-ssa-copyrename.c: Include gimple.h
+       Tuplify.
+       * tree-ssa.c (warn_uninit): Pass &LOCUS to warning().
+       * passes.c (init_optimization_passes): Enable
+       pass_early_warn_uninitialized, pass_rebuild_cgraph_edges
+       and pass_early_inline.
+
+2008-02-25  Diego Novillo  <dnovillo@google.com>
+
+       * Makefile.in (tree-ssa-copyrename.o): Add dependency on
+       gimple.h.
+
+2008-02-25  Diego Novillo  <dnovillo@google.com>
+
+       * tree-cfgcleanup.c (tree_forwarder_block_p): Revert
+       previous change.
+
+2008-02-25  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-02/msg01217.html
+
+       * tree-ssa-alias-warnings.c: Tuplify.
+       * cgraphunit.c (cgraph_process_new_functions): Remove
+       calls to gimple_unreachable.
+       (cgraph_expand_function): Likewise.
+       * omp-low.c (execute_expand_omp): Return 0 after call to
+       gimple_unreachable.
+       * tree-scalar-evolution.c (scev_const_prop): Likewise.
+       (execute_lower_omp): Likewise.
+       * tree-ssa-dse.c (execute_simple_dse): Likewise.
+       * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
+       (eliminate_degenerate_phis): Likewise.
+       * tree-ssa-propagate.c (get_rhs): Likewise.
+       (valid_gimple_expression_p): Likewise.
+       (set_rhs): Likewise.
+       (fold_predicate_in): Likewise.
+       * tree-nrv.c (execute_return_slot_opt): Likewise.
+       * predict.c (tree_estimate_probability): Likewise.
+       * tree-parloops.c (parallelize_loops): Likewise.
+       * tree-if-conv.c (main_tree_if_conversion): Likewise.
+       * tree-ssa-phiopt.c (tree_ssa_phiopt): Likewise.
+       (tree_ssa_cs_elim): Likewise.
+       * tree-sra.c (tree_sra): Likewise.
+       (tree_sra_early): Likewise.
+       * tree-predcom.c (tree_predictive_commoning): Likewise.
+       * tree-ssa-copy.c (execute_copy_prop): Likewise.
+       * lambda-code.c (gcc_loop_to_lambda_loop): Likewise.
+       (perfect_nest_p): Likewise.
+       (can_convert_to_perfect_nest): Likewise.
+       (perfect_nestify): Likewise.
+       * tree-optimize.c (execute_fixup_cfg): Likewise.
+       * tree-object-size.c (compute_object_sizes): Likewise.
+       * tree-cfg.c (remove_useless_stmts): Likewise.
+       (gimple_duplicate_sese_tail): Likewise.
+       (move_sese_region_to_fn): Likewise.
+       (gimple_purge_dead_abnormal_call_edges): Likewise.
+       (execute_warn_function_return): Likewise.
+       * value-prof.c (gimple_histogram_value): Remove calls to
+       gimple_unreachable.
+       (gimple_stringop_fixed_value): Likewise.
+       * tree-flow-inline.h (op_iter_next_use): Likewise.
+       * tree-dfa.c (dump_variable): Likewise.
+       * tree-ssa-copy.c (may_propagate_copy): Likewise.
+       (may_propagate_copy_into_asm): Likewise.
+       (merge_alias_info): Likewise.
+       (replace_exp_1): Likewise.
+       * tree-ssa.c (delete_tree_ssa): Likewise.
+       * tree-cfg.c (make_edges): Likewise.
+       (remove_useless_stmts): Likewise.
+       (gimple_duplicate_sese_tail): Likewise.
+       (move_sese_region_to_fn): Likewise.
+       (gimple_purge_dead_abnormal_call_edges): Likewise.
+       (execute_warn_function_return): Likewise.
+       * passes.c (finish_optimization_passes): Likewise.
+       (init_optimization_passes): Likewise.
+       * tree-ssa-operands.c (add_call_clobber_ops): Likewise.
+       * tree-eh.c (lookup_expr_eh_region): New.
+       (tree_can_throw_external): Return false after call to
+       gimple_unreachable.
+       (maybe_clean_or_replace_eh_stmt): Re-enable.
+       Call stmt_could_throw_p.
+       * expr.c (expand_expr_real): Call lookup_expr_eh_region.
+       * profile.c: Tuplify.
+       * calls.c: Include tree-flow.h.
+       (emit_call_1): Call lookup_expr_eh_region.
+       (expand_call): Likewise.
+       * cfgexpand.c (gimple_to_tree): Call SET_EXPR_LOCATION on
+       generated expression tree T.
+       Set EH region number on T's annotation.
+       * common.opt (fgimple-conversion=): Add RejectNegative
+       and Joined attributes.
+       * tree-inline.c (unsave_r): Abort if *TP is a
+       STATEMENT_LIST.
+       (unsave_expr_now): Re-enable.
+       * tree-flow.h (struct tree_ann_common_d): Add field RN.
+       * Makefile.in (builtins.o-warn): Add -Wno-format.
+       (expr.o-warn): Likewise.
+       (fortran/check.o-warn): Likewise.
+       (fortran/interface.o-warn): Likewise.
+       (fortran/resolve.o-warn): Likewise.
+       (fortran/simplify.o-warn): Likewise.
+       (fortran/target-memory.o-warn): Likewise.
+       (calls.o): Add dependency on tree-flow.h
+       * gimple.c (gimple_build_asm_1): Call ggc_alloc_string to
+       copy STRING.
+       * gimple.h (gimple_filename): New.
+       (gimple_lineno): New.
+       * passes.c (init_optimization_passes): Disable
+       pass_remove_useless_stmts pass_mudflap_1,
+       pass_warn_function_return and pass_lower_omp.
+       * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Tuplify.
+       (rs6000_alloc_sdmode_stack_slot): Likewise.
+       * tree-cfgcleanup.c (tree_forwarder_block_p): Fix test
+       for PHI_WANTED.
+
+2008-02-25  Rafael Espindola  <espindola@google.com>
+
+       * tree-cfgcleanup.c (tree_forwarder_block_p): fix thinko.
+
+2008-02-24  Rafael Espindola  <espindola@google.com>
+
+       * gimple-iterator.c (gsi_split_seq_before): Don't abort if at the
+       beginning.
+
+2008-02-23  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-02/msg01025.html
+
+       * gimplify.c (gimplify_one_sizepos): Call gimplify_expr with
+       STMT_P.
+
+2008-02-22  Zdenek Dvorak  <ook@ucw.cz>
+
+       * gimple.c (gimple_assign_copy_p): Do not consider unary operations
+       to be copies.
+
+2008-02-22  Diego Novillo  <dnovillo@google.com>
+
+       * Makefile.in (fortran/parse.o-warn,
+       fortran/simplify.o-warn): New.
+
+2008-02-22  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00961.html
+
+       Revert
+
+       2008-02-20  Zdenek Dvorak  <ook@ucw.cz>
+
+               * tree-tailcall.c: Tuplify.
+               * gimplify.c (force_gimple_operand): Remove ATTRIBUTE_UNUSED.
+               * gimple.c (gimple_assign_copy_p): Do not
+               consider unary operations to be copies.
+               (copy_or_nop_cast_stmt_rhs): New.
+               * gimple.h (copy_or_nop_cast_stmt_rhs): Declare.
+
+2008-02-21  Rafael Espindola  <espindola@google.com>
+
+       * gimple.h (gimple_cond_true_p): Define.
+       (gimple_cond_false_p): Define.
+       (gimple_cond_single_var_p): Define.
+
+2008-02-21  Rafael Espindola  <espindola@google.com>
+
+       * tree-tailcall.c (adjust_accumulator_values): Check that a phi was
+       found.
+
+2008-02-21  Rafael Espindola  <espindola@google.com>
+
+       * tree-tailcall.c (adjust_accumulator_values): Initialize phi.
+
+2008-02-20  Zdenek Dvorak  <ook@ucw.cz>
+
+       * tree-tailcall.c: Tuplify.
+       * gimplify.c (force_gimple_operand): Remove ATTRIBUTE_UNUSED.
+       * gimple.c (gimple_assign_copy_p): Do not consider unary operations
+       to be copies.
+       (copy_or_nop_cast_stmt_rhs): New.
+       * gimple.h (copy_or_nop_cast_stmt_rhs): Declare.
+
+2008-02-20  Oleg Ryjkov  <olegr@google.com>
+
+       * gimplify.c (gimplify_expr): Save locus into the right
+       sequence.
+
+2008-02-20  Rafael Espindola  <espindola@google.com>
+
+       * passes.c (init_optimization_passes): Enable pass_mark_used_blocks
+       and pass_cleanup_cfg_post_optimizing.
+       * tree-optimize.c (execute_cleanup_cfg_post_optimizing): call cleanup_tree_cfg.
+
+2008-02-20  Rafael Espindola  <espindola@google.com>
+
+       * passes.c (init_optimization_passes):  Enable pass_nrv.
+       * tree-nrv.c (finalize_nrv_r): data is now a walk_stmt_info.
+       (tree_nrv): port to gimple.
+
+2008-02-19  Oleg Ryjkov  <olegr@google.com>
+
+       * gimple-pretty-print.c: Introduce support for TDF_RAW
+       flag.
+       (dump_gimple_fmt): New function.
+       (dump_gimple_assign, dump_gimple_return): Update to print
+       RAW gimple.
+       (dump_gimple_call_args): New function.
+       (dump_gimple_call, dump_gimple_switch, dump_gimple_cond,
+       dump_gimple_label, dump_gimple_bind, dump_gimple_try):
+       Update to print RAW gimple.
+       (dump_gimple_catch, dump_gimple_eh_filter,
+       dump_gimple_resx): New functions.
+       (dump_gimple_omp_for, dump_gimple_asm, dump_gimple_phi):
+       Update to print RAW gimple.
+       (dump_gimple_omp_parallel, dump_gimple_omp_atomic_load,
+       dump_gimple_omp_atomic_store): New, code moved from 
+       dump_gimple_stmt, then added support to print RAW gimple.
+       (gimple_dump_stmt): Some code refactored into helper
+       subroutines.
+       * tree-cfg.c(dump_function_to_file): Print RAW gimple when
+       TDF_RAW is set.
+
+2008-02-19  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00793.html
+
+       * tree-complex.c (expand_complex_div_wide): Call gsi_bb.
+       * tree.h (std_gimplify_va_arg_expr): Change gimple_seq
+       arguments to gimple_seq *.
+       Update all users.
+       (gimplify_parameters): Change return type to gimple_seq.
+       Update all users.
+       * target.h (struct gcc_target)<gimplify_va_arg_expr>:
+       Change gimple_seq arguments to gimple_seq *.
+       Update all users.
+       * tree-phinodes.c (free_phinodes): Convert to VEC.
+       Update all users.
+       * omp-low.c (lower_rec_input_clauses): Change gimple_seq
+       arguments to gimple_seq *.  Update all users.
+       (lower_reduction_clauses): Convert sub_list to
+       gimple_seq.
+       (lower_regimplify): Convert PRE to gimple_seq.
+       (lower_regimplify): Call gimple_seq_insert_before instead
+       of tsi_link_before.
+       * tree-gimple.h (get_initialized_tmp_var,
+       get_formal_tmp_var, gimplify_expr, gimplify_type_sizes,
+       gimplify_one_sizepos, gimplify_stmt, gimplify_and_add,
+       gimplify_va_arg_expr): Change gimple_seq arguments to
+       gimple_seq *.  Update all users.
+       * gimple-iterator.c: Include value-prof.h.
+       (gsi_link_seq_before): Remove.  Update all users.
+       (gsi_link_seq_after): Remove.  Update all users.
+       (gsi_link_after): Remove.  Update all users.
+       (gsi_link_before): Remove.  Update all users.
+       (update_bb_for_stmts): New.
+       (gsi_insert_seq_nodes_before): New.
+       (gsi_insert_seq_nodes_after): New.
+       (gsi_insert_seq_before): Re-write.  Call
+       gsi_insert_seq_nodes_before.
+       (gsi_insert_seq_after): Re-write.  Call
+       gsi_insert_seq_nodes_after.
+       (gsi_replace): Re-enable EH updating.
+       (update_modified_stmt): Move earlier in the file.
+       (gsi_insert_after): Re-write.  Call
+       gsi_insert_seq_nodes_after.
+       (gsi_insert_before): Re-write.  Call
+       gsi_insert_seq_nodes_before.
+       (gsi_remove): Move from gimple.h.  Re-write.
+       * langhooks.h (struct lang_hooks): Change gimple_seq
+       arguments for gimplify_expr to gimple_seq *.
+       Update all users.
+       * coretypes.h (struct gimple_seq_d): Rename from struct
+       gimple_sequence.  Update all users.
+       (struct gimple_seq_node_d): New.
+       (gimple_seq_node): New.
+       (const_gimple_seq_node): New.
+       * tree-flow.h (force_gimple_operand): Change gimple_seq
+       argument to gimple_seq *.  Update all users.
+       * c-common.h (c_gimplify_expr): Change gimple_seq
+       argument to gimple_seq *.  Update all users.
+       * Makefile.in (build):
+       * gimple.c (gimple_seq_cache): New.
+       (gimple_seq_alloc): Take sequences from gimple_seq_cache,
+       if possible.
+       (gimple_seq_free): New.
+       (gimple_seq_add_stmt): Rename from gimple_seq_add.
+       Change gimple_seq argument to gimple_seq *.  Update all users.
+       (gimple_seq_add_seq): Rename from gimple_seq_append.
+       Update all users.
+       (gimple_remove): Remove.  Update all users.
+       (gimple_seq_reverse): Remove unused function.
+       (gimple_set_bb): Only update block-to-labels map if
+       CFUN->CFG exists.
+       * gimple.h (struct gimple_seq_node_d): New.
+       (struct gimple_seq_d): Change fields 'first' and 'last'
+       to type gimple_seq_node.  Update all users.
+       Add field 'next_free'.
+       (gimple_seq_first): Change return type to
+       gimple_seq_node.  Update all users.
+       (gimple_seq_first_stmt): New.
+       (gimple_seq_last): Change return type to gimple_seq_node.
+       Update all users.
+       (gimple_seq_last_stmt): New.
+       (gimple_seq_set_first): Change second argument to type
+       gimple_seq_node.  Update all users.
+       (gimple_seq_set_last): Change second argument to type
+       gimple_seq_node.  Update all users.
+       (gimple_seq_init): Remove.  Update all users.
+       (struct gimple_statement_base): Remove field 'next' and
+       'prev'.  Update all users.
+       (struct gimple_statement_omp): Change fields of type
+       struct gimple_sequence to type gimple_seq.  Update all
+       users.
+       (struct gimple_statement_bind): Likewise.
+       (struct gimple_statement_catch): Likewise.
+       (struct gimple_statement_eh_filter): Likewise.
+       (struct gimple_statement_try): Likewise.
+       (struct gimple_statement_wce): Likewise.
+       (struct gimple_statement_omp_for): Likewise.
+       (gimple_set_prev): Remove.  Update all users.
+       (gimple_set_next): Remove.  Update all users.
+       (gimple_next): Remove.  Update all users.
+       (gimple_prev): Remove.  Update all users.
+       (gimple_seq_bb): New.
+       (gimple_catch_handler_ptr): New.
+       (gimple_stmt_iterator): Remove field 'stmt'.
+       Add field 'ptr'.  Update all users.
+       (gsi_remove): Move to gimple-iterator.c
+       * tree-cfg.c (pass_build_cfg): Re-enable PROP_gimple_leh.
+       * Makefile.in (builtins.o-warn, expr.o-warn, dse.o-warn,
+       ebitmap.o-warn, lower-subreg.o-warn, tree-chrec.o-warn):
+       Change -Wno-error to -Wno-uninitialized.
+
+2008-02-19  Rafael Espindola  <espindola@google.com>
+
+       * tree-eh.c (collect_finally_tree): handle GIMPLE_SWITCH.
+
+2008-02-19  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple.h (gimple_cond_invert): Remove prototype.
+       (update_stmt_if_modified): Fix typo in comment.
+       * gimple.c (walk_gimple_asm): Fix typo in comment.
+
+2008-02-13  Bill Maddox  <maddox@google.com>
+
+       * tree-inline.c (estimate_operator_cost): 
+       Removed operators superseded by tuplified statement forms.
+       Small cosmetic reordering of a few switch cases.
+
+2008-02-13  Oleg Ryjkov  <olegr@google.com>
+
+       * tree.h: New function declaration.
+       * gimple-dummy.c (tree_inlinable_function_p): Removed.
+       * ipa-inline.c (compute_inline_parameters): Removed
+       gcc_unreachable ().
+       * calls.c (gimple_alloca_call_p): New function.
+       * tree-inline.c (inline_forbidden_p_1): Split in two and removed.
+       (inline_forbidden_p_op, inline_forbidden_p_stmt): New functions.
+       (inline_forbidden_p): Tuplified.
+       (estimate_operator_cost): Added missing cases.
+       * passes.c (init_optimization_passes): Enabled pass_inline_parameters,
+       pass_ipa_function_and_variable_visibility, pass_ipa_early_inline,
+       pass_inline_parameters, pass_rebuild_cgraph_edges passes.
+
+2008-02-13  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00459.html
+
+       * gimple.def (GIMPLE_TRY): Tidy comment.
+       * gimple-pretty-print.c (dump_gimple_stmt): Handle TDF_VOPS and
+       TDF_MEMSYMS.
+
+2008-02-13  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00455.html
+
+       * tree-complex.c (update_complex_components): Handle
+       GIMPLE_CALL and GIMPLE_ASSIGN.
+       (expand_complex_libcall): Set SSA_NAME_DEF_STMT on LHS.
+       * tree-ssa-operands.c (maybe_add_call_clobbered_vops):
+       Rename from get_call_expr_operands.  Update all users.
+       Convert to handle GIMPLE_CALL instead of CALL_EXPR.
+       (get_modify_stmt_operands): Remove.  Update all users.
+       (get_expr_operands): Do not handle CALL_EXPR, COND_EXPR,
+       VEC_COND_EXPR, GIMPLE_MODIFY_STMT, BLOCK, EXC_PTR_EXPR
+       and FILTER_EXPR.
+       (parse_ssa_operands): Call maybe_add_call_clobbered_vops
+       after parsing operands if STMT is a GIMPLE_CALL.
+
+2008-02-12  Zdenek Dvorak  <ook@ucw.cz>
+           Bill Maddox  <maddox@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00429.html
+
+       * tree-inline.h (estimate_num_insns_fn): Declare.
+       * cgraphunit.c (cgraph_process_new_functions):
+       Use estimate_num_insns_fn.
+       * ipa-inline.c (compute_inline_parameters): Ditto.
+       * gimple-dummy.c (estimate_move_cost, estimate_num_insns):
+       Removed.
+       * tree-inline.c (struct eni_data, estimate_num_insns_1):
+       Removed.
+       (estimate_num_insns): Rewritten.
+       (operation_cost, estimate_num_insns_fn): New functions.
+       * gimple.c (gimple_copy): Unshare operands.  Update
+       operand caches.
+       * gimple.h (gimple_set_no_warning): New.
+       (gimple_cond_set_true_label, gimple_cond_set_false_label):
+       Allow setting the label to NULL.
+       * tree-ssa-operands.c (copy_virtual_operands): Handle statements
+       without virtual operands.
+
+2008-02-12  Zdenek Dvorak  <ook@ucw.cz>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00429.html
+
+       * tree-into-ssa.c (update_ssa): Remove ATTRIBUTE_UNUSED.
+       * tree-ssa-loop-ch.c: Tuplified.
+       * gimple-iterator.c (gsi_commit_one_edge_insert): Ditto.
+       * tree-cfg.c (gimple_redirect_edge_and_branch,
+       gimple_try_redirect_by_replacing_jump, gimple_merge_blocks,
+       gimple_block_label, gimple_redirect_edge_and_branch_force,
+       gimple_duplicate_bb): Ditto.
+       (make_cond_expr_edges): Remove the labels.
+       (cleanup_dead_labels): Handle conditions without labels.
+       (gimple_make_forwarder_block): Do not reverse the list
+       of phi nodes.
+       (gimple_duplicate_sese_region): Enable ssa updates.
+       (gimple_cfg_hooks): Enable edge redirection and bb duplication.
+       * gimple-pretty-print.c (dump_gimple_cond): Do not dump
+       branches if labels are null.
+       (dump_implicit_edges): Dump implicit GIMPLE_COND edges.
+
+2008-02-12  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00429.html
+
+       * tree-vrp.c (range_includes_zero_p): Partially re-enable.
+       (ssa_name_nonnegative_p): Partially re-enable.
+       (ssa_name_nonzero_p): Likewise.
+       * gimple-dummy.c (ssa_name_nonzero_p): Remove.
+       (ssa_name_nonnegative_p): Remove.
+       * tree-cfg.c (gimple_split_block): Convert to tuples.
+
+2008-02-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       Merge with mainline @132177
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2008-02-08  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00273.html
+       
+       * gimplify.c (gimplify_call_expr): Remove code to set
+       TREE_SIDE_EFFECTS.
+       * gimple.c (gimple_has_side_effects): New.
+       * gimple.h (gimple_has_side_effects): Declare.
+       * tree-cfg.c (stmt_can_make_abnormal_goto): Call.
+
+2008-02-07  Diego Novillo  <dnovillo@google.com>
+
+       * gimple.h (gimple_call_num_args): Rename from
+       gimple_call_nargs.  Update all users.
+
+2008-02-07  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimplify.c: Remove various FIXMEs that have been resolved.
+
+2008-02-06  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple.def: Add GIMPLE_OMP_ATOMIC_{LOAD,STORE} entires.
+       * gsstruct.def: Add GSS_OMP_ATOMIC_{LOAD,STORE} entries.
+       * gimple-pretty-print.c (dump_gimple_stmt): Add case for
+       GIMPLE_OMP_ATOMIC_{LOAD,STORE}.
+       * gimplify.c (gimplify_omp_atomic): Enable and convert to tuples.
+       * tree.def: Add FIXME notes.
+       * gimple.c (gss_for_code): Add cases for
+       GIMPLE_OMP_ATOMIC_{LOAD,STORE}.
+       (gimple_size): Same.
+       (gimple_build_omp_atomic_load): New.
+       (gimple_build_omp_atomic_store): New.
+       * gimple.h (struct gimple_statement_omp_atomic_{load,store}): New.
+       (union gimple_statement_d): Add gimple_omp_atomic_{load,store}.
+       (gimple_omp_atomic_store_set_val): New.
+       (gimple_omp_atomic_store_val): New.
+       (gimple_omp_atomic_load_set_lhs): New.
+       (gimple_omp_atomic_load_lhs): New.
+       (gimple_omp_atomic_load_set_rhs): New.
+       (gimple_omp_atomic_load_rhs): New.
+       * tree-cfg.c (verify_types_in_gimple_seq_2): Add cases for
+       GIMPLE_OMP_ATOMIC_{LOAD,STORE}.
+
+2008-02-05  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00161.html
+
+       * gimple-iterator.c (gsi_split_seq_after): Change
+       argument type to gimple_stmt_iterator.  Update all users.
+       (gsi_for_stmt): Return gimple_stmt_iterator.  Update all users.
+       (gimple_find_edge_insert_loc): Change GSI argument to
+       gimple_stmt_iterator.  Update all users.
+       * gimple.c (gimple_seq_deep_copy): Change argument to gimple_seq.
+       Update all users.
+       * gimple.h (gsi_alloc): Remove.  Update all users.
+       (gsi_start): Return gimple_stmt_iterator.  Update all users.
+       (gsi_start_bb): Likewise.
+       (gsi_last): Likewise.
+       (gsi_last_bb): Likewise.
+       (gsi_end_p): Change argument to gimple_stmt_iterator.
+       Update all users.
+       (gsi_one_before_end_p): Likewise.
+       (gsi_stmt): Likewise.
+       (gsi_bb): Likewise.
+       (gsi_seq): Likewise.
+       (gsi_split_seq_after): Likewise.
+       (gsi_for_stmt): Likewise.
+       (gsi_after_labels): Return gimple_stmt_iterator.  Update all users.
+
+2008-02-05  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-pretty-print.c (dump_gimple_stmt): Print clauses for
+       GIMPLE_OMP_PARALLEL.
+       Handle GIMPLE_OMP_FOR.
+       (dump_gimple_omp_for): New.
+       * tree-pretty-print.c (dump_omp_clauses): Remove static.
+       * diagnostic.h (dump_omp_clauses): Add prototype.
+       * gimplify.c (gimplify_omp_for): Convert to tuples and enable.
+       (gimplify_omp_workshare): Same.
+       (gimplify_expr) [OMP_MASTER, OMP_ORDERED, OMP_CRITICAL]: Same.
+
+2008-02-04  Oleg Ryjkov <olegr@google.com>
+
+       * tree-gimple.c (get_gimple_rhs_class): Handle
+       FILTER_EXPR.
+       * tree-eh.c (union treemple): Declare.
+       Convert to tuples.
+       * except.c:
+       * except.h (lang_protect_cleanup_actions): Change return
+       type to 'gimple'.  Update all users.
+       * tree-inline.c (count_insns_seq): New.
+       * tree-inline.h (count_insns_seq): Declare.
+       * gimple.c (gimple_seq_deep_copy): New.
+       * gimple.h (gimple_seq_deep_copy): Declare.
+       (gimple_singleton_p): New.
+       * passes.c (init_optimization_passes): Enable
+       pass_lower_eh.
+
+2008-02-02  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree.h (OMP_CLAUSE_REDUCTION_GIMPLE_INIT): New.
+       (OMP_CLAUSE_REDUCTION_GIMPLE_MERGE): New.
+       (struct tree_omp_clause): Add gimple_reduction_{init,merge} fields.
+       * gimplify.c (gimplify_scan_omp_clauses): Gimplify reduction
+       init/merge fields into separate sequences.
+       (gimplify_and_add): Use gimplify_expr directly.
+       * omp-low.c (lower_rec_input_clauses): Extract reduction info from
+       gimple tuples in structure.
+       (lower_reduction_clauses): Same.
+
+2008-02-01  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00036.html
+
+       * tree-complex.c (expand_complex_comparison): Set the RHS
+       of the new comparison to boolean_true_node.
+       * gimplify.c (gimplify_call_expr): Fix creation of new
+       GIMPLE_CALL.  Create the vector of arguments in the same
+       order as the original expression.
+
+2008-02-01  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00032.html
+
+       * tree-pas.h (struct tree_opt_pass): Remove field
+       WORKS_WITH_TUPLES_P.  Adjust all users.
+       * opts.c (decode_options): Force -O0.
+       * cfgexpand.c (gimple_to_tree): Handle GIMPLE_RETURN,
+       GIMPLE_ASM, GIMPLE_CALL and GIMPLE_SWITCH.
+       Show unrecognized tuple when failing.
+       (expand_gimple_basic_block): Do not use
+       gimple_stmt_iterator to go through the statements in BB.
+       Handle GIMPLE_CALL instead of CALL_EXPR.
+       (gimple_expand_cfg): Rename from tree_expand_cfg.  Update
+       all users.
+       Remove PROP_gimple_leh.
+       * gimple.c (walk_gimple_seq): Guard against WI == NULL.
+       * tree-cfg.c (execute_warn_function_return): Move #if 0
+       markers.
+       * passes.c (init_optimization_passes): Adjust #if 0
+       markers to execute pass_expand.
+       Guard more passes under #if 0.
+
+2008-02-01  Rafael Espindola  <espindola@google.com>
+
+       * passes.c (init_optimization_passes): Enable pass_del_ssa.
+
+       * tree-outof-ssa.c (insert_copy_on_edge): Port to tuples.
+       (eliminate_build): Likewise.
+       (eliminate_virtual_phis): Likewise.
+       (rewrite_trees): Likewise. Remove stmt_ann_t ann.
+       (stmt_list): Changed from tree to gimple_seq.
+       (identical_copies_p): Port to tuples.
+       (identical_stmt_lists_p): Likewise.
+       (init_analyze_edges_for_bb): Likewise.
+       (fini_analyze_edges_for_bb): Likewise.
+       (process_single_block_loop_latch): Likewise.
+       (analyze_edges_for_bb): LIkewise.
+       (remove_ssa_form): Likewise.
+       (insert_backedge_copies):
+       (rewrite_out_of_ssa):Likewise.
+       (pass_del_ssa): flip works_with_tuples_p. Don't require PROP_alias.
+
+       * tree-ssa-coalesce.c (build_ssa_conflict_graph): Port to tuples.
+       (abnormal_corrupt): Port to tuples.
+       (fail_abnormal_edge_coalesce): Port to tuples.
+       (create_outofssa_var_map):Port to tuples.
+       (coalesce_partitions): Port to tuples.
+
+2008-02-01  Rafael Espindola  <espindola@google.com>
+
+       * tree-ssa-operands.c (free_stmt_operands): Only free
+       with_ops.addresses_taken if stmt has ops.
+
+2008-01-31  Rafael Espindola  <espindola@google.com>
+
+       * tree-optimize.c (pass_free_cfg_annotations): Flip
+       works_with_tuples_p.
+       * passes.c (init_optimization_passes): Enable
+       pass_free_cfg_annotations.
+
+2008-01-30  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-01/msg01461.html
+
+       * tree-into-ssa.c (compute_global_livein): Initialize
+       PHI with call to gsi_stmt.
+       (rewrite_update_init_block): Likewise.
+       * tree-complex.c (expand_complex_comparison): Initialize
+       TYPE.
+       (expand_complex_operations_1): Initialize BR and BI.
+       * ebitmap.h (ebitmap_iter_init): Initialize OURN.
+       * Makefile.in (dse.o-warn, ebitmap.o-warn,
+       lower-subreg.o-warn, tree-chrec.o-warn, varasm.o-warn):
+       New.
+
+2008-01-30  Rafael Espindola  <espindola@google.com>
+
+       * gimplify.c (gimplify_scan_omp_clauses): Comment out
+       pop_gimplify_context calls
+
+2008-01-30  Rafael Espindola  <espindola@google.com>
+
+       * gimple.h (gsi_after_labels): Add.
+
+2008-01-30  Rafael Espindola  <espindola@google.com>
+
+       * Makefile.in (tree-complex.o): Uncomment gt-tree-vect-generic.h.
+       (GTFILES): Add tree-vect-generic.c.
+       * passes.c (init_optimization_passes): Enable pass_lower_vector.
+       * tree-vect-generic.c: uncomment all the file.
+       (elem_op_func): Use gimple_stmt_iterator instead of
+       block_stmt_iterator.
+       (tree_vec_extract): Likewise. Rename bsi to gsi.
+       (do_unop): Likewise.
+       (do_binop): Likewise.
+       (do_plus_minus): Likewise.
+       (do_negate): Likewise.
+       (expand_vector_piecewise): Likewise.
+       (expand_vector_parallel): Likewise.
+       (expand_vector_addition): Likewise.
+       (expand_vector_operation): Likewise. Remove "tree rhs" param. Add
+       "gimple assign" param. Use gimple_assign_rhs1|2 instead of
+       TREE_OPERAND.
+       (expand_vector_operations_1): Use gimple_stmt_iterator instead of
+       block_stmt_iterator. Rename bsi to gsi. Use gsi_stmt instead of
+       bsi_stmt. Use gimple_assign_* instead of GIMPLE_STMT_OPERAND. Use
+       gimple_assign_set_rhs_from_tree instead of setting *p_rhs.
+       (gate_expand_vector_operations): Use gimple_stmt_iterator instead
+       of block_stmt_iterator. Use gsi_* instead of bsi_*
+       (pass_lower_vector): flip works_with_tuples_p
+       (pass_lower_vector_ssa) flip works_with_tuples_
+
+2008-01-29  Rafael Espindola  <espindola@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-01/msg01434.html
+
+       * gimple.c (gimple_assign_set_rhs_with_ops): Fix
+       allocation of operand vector.
+
+2008-01-29  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-01/msg01434.html
+
+       * tree-into-ssa.c (prepare_block_for_update): Initialize
+       PHI.
+       * tree.c (build_gimple_modify_stmt): Fix documentation.
+
+       * tree-complex.c: Convert to tuples.
+       (pass_lower_complex_O0): Re-enable.
+
+       * ipa-cp.c (constant_val_insert): Disable.
+       * tree-gimple.c (get_gimple_rhs_class): Handle SSA_NAME.
+
+       * tree-ssa-propagate.c: Fix documentation to refer to
+       prop_simulate_again_p.
+       (add_ssa_edge): Call prop_simulate_again_p.
+       (simulate_stmt): Likewise.
+       (simulate_block): Fix loop iterating over PHI nodes.
+       * tree-ssa-propagate.h (prop_set_simulate_again): New.
+       (prop_simulate_again_p): New.
+       * gimple-iterator.c (gsi_insert_seq_after): Re-write to
+       avoid use of gimple_stmt_iterator.
+       (gimple_find_edge_insert_loc): Move from tree-cfg.c.
+       Re-enable.
+       (gsi_commit_edge_inserts): Likewise.
+       (gsi_commit_one_edge_insert): Likewise.
+       (gsi_insert_on_edge): Likewise.
+       (gsi_insert_on_edge_immediate): Likewise.
+       (gsi_insert_seq_on_edge): New.
+       * gimplify.c (gimplify_cond_expr): Call
+       gimple_cond_get_ops_from_tree.
+       * tree-optimize.c (pass_all_optimizations): Enable.
+       * gimple.c (gimple_cond_get_ops_from_tree): New.
+       (gimple_build_cond_from_tree): New.
+       * basic-block.h (struct edge_def): Replace field
+       edge_def_insns.t with gimple_seq edge_def_insns.g.
+       Update all users.
+       * gimple.h (gimple_stmt_iterator):
+       * tree-cfg.c (change_bb_for_stmt):
+       * passes.c (init_optimization_passes): Move #if0 around
+       to disable passes in groups instead of individually.
+       (execute_function_todo): Re-enable call to update_ssa.
+
+2008-01-25  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-pretty-print.c (dump_gimple_stmt): Handle
+       GIMPLE_OMP_PARALLEL.
+       * gimplify.c (pop_gimplify_context): Add comment.
+       (gimplify_and_return_first): New.
+       (gimplify_scan_omp_clauses): Remove unused 'gs'.
+       Remove #if 0.
+       (gimplify_omp_parallel): Convert to tuples.
+       (gimplify_omp_workshare): Remove redundant retval.
+       (gimplify_expr): Adapt to lack of retval for gimplify_omp_variable and
+       gimplify_omp_workshare.
+       Abort on OMP_ATOMIC_{LOAD,STORE} case.
+
+2008-01-21  Diego Novillo  <dnovillo@google.com>
+
+       Merge with mainline @131695
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge
+       string.
+       * configure: Regenerate.
+
+2008-01-15  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00674.html
+
+       * tree-into-ssa.c (mark_def_sites): Force operand scan.
+       * gimple.def (GIMPLE_ASSIGN): Move into section of
+       statements with memory operands.
+       * gimple-dummy.c (remove_unused_locals): Remove.
+       * tree-flow-inline.h (noreturn_call_p,
+       mark_stmt_modified, update_stmt, update_stmt_if_modified,
+       stmt_modified_p): Remove.
+       * tree-ssa-live.c: Convert to tuples.
+       * gimple.c (gimple_set_modified): Replace
+       mark_stmt_modified.  Update all callers.
+       (gimple_remove): Call free_stmt_operands.
+       * gimple.h: Include tree-ssa-operands.h
+       Move extern function declarations earlier in the file.
+       (GIMPLE_CHECK2): Remove.
+       (GIMPLE_RANGE_CHECK): Remove.
+       (struct gimple_statement_with_ops): Fix GTY markers.
+       (struct gimple_statement_with_memory_ops): Likewise.
+       (gimple_modified_p): Replace stmt_modifed_p.  Update all
+       users.
+       (update_stmt): Move from tree-flow-inline.h.  Update all
+       users.
+       (update_stmt_if_modified): Likewise.
+       (gimple_has_ops): Use range GIMPLE_COND ... GIMPLE_RETURN
+       (gimple_has_mem_ops): Use range GIMPLE_ASSIGN ... GIMPLE_RETURN
+       (gimple_num_ops): Call gimple_has_ops.
+       (gimple_ops): Likewise.
+       (gimple_op): Likewise.
+       (gimple_op_ptr): Likewise.
+       (gimple_set_op): Likewise.
+       (gimple_set_addresses_taken): Remove.  Update all users.
+       (gimple_add_to_addresses_taken): Likewise.
+       (gimple_call_noreturn_p): Replace noreturn_call_p.
+       Update all users.
+       (gimple_phi_arg): Assert that INDEX is smaller than
+       CAPACITY.
+       * passes.c (init_optimization_passes): Enable
+       pass_referenced_vars, pass_reset_cc_flags and pass_build_ssa.
+       * tree-ssa-operands.c (gimple_set_stored_syms): Do not
+       free the STORES field if SYMS is empty.
+       (gimple_set_loaded_syms): Likewise.
+       (finalize_ssa_stmt_operands): Only call
+       finalize_ssa_vdefs and finalize_ssa_vuses if STMT has
+       memory operands.
+       (get_expr_operands): Handle CASE_LABEL_EXPR.
+       (free_stmt_operands): Free bitmaps ADDRESSES_TAKEN,
+       STORES and LOADS.
+       (gimple_add_to_addresses_taken): Rename from
+       add_to_addressable_set.
+
+2008-01-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-dfa.c (dump_dfa_stats): Add %z modifier to size_t argument.
+
+2008-01-11  Andrew MacLeod  <amacleod@redhat.com>
+           Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00493.html
+
+       * tree.h (struct ssa_use_operand_d): Replace field STMT
+       with a union field LOC containing the fields STMT and
+       SSA_NAME.
+       Update all users.
+       * tree-flow.h (struct immediate_use_iterator_d): Document
+       how immediate use iteration works.
+
+2008-01-10  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00444.html
+
+       * Makefile.in (tree-complex.o): Remove gt-tree-vect-generic.h
+
+2008-01-10  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00436.html
+
+       * tree-ssa-operands.h (PHI_RESULT_PTR): Call
+       gimple_phi_result_ptr.
+       (PHI_ARG_DEF_PTR): Call gimple_phi_arg_imm_use_ptr.
+       (free_ssa_operands): Remove.
+       (copy_virtual_operands, create_ssa_artificial_load_stmt,
+       add_to_addressable_set, discard_stmt_changes,
+       FOR_EACH_PHI_OR_STMT_USE, FOR_EACH_PHI_OR_STMT_DEF): Convert
+       to use 'gimple'.
+       * tree-into-ssa.c: Convert to use 'gimple'.
+       (rewrite_uses_p): New.  Use instead of REWRITE_THIS_STMT.
+       (set_rewrite_uses): New.  Use instead of REWRITE_THIS_STMT.
+       (register_defs_p): New.  Use instead of
+       REGISTER_DEFS_IN_THIS_STMT.
+       (set_register_defs): New.  Use instead of
+       REGISTER_DEFS_IN_THIS_STMT.
+       (REWRITE_THIS_STMT): Remove.
+       (REGISTER_DEFS_IN_THIS_STMT): Remove.
+       * tree-pretty-print.c (dump_vops): Remove.  Update all
+       users.
+       (dump_generic_node): Do not handle PHI_NODE.
+       * tree.c (tree_node_kind): Remove "phi_nodes" entry.
+       (tree_code_size): Do not handle PHI_NODE.
+       (tree_size): Likewise.
+       (make_node_stat): Likewise.
+       (tree_node_structure): Likewise.
+       (phi_node_elt_check_failed): Remove.
+       * tree.h (PHI_NODE_ELT_CHECK): Remove.
+       (PHI_RESULT_TREE): Remove.
+       (PHI_ARG_DEF_TREE): Remove.
+       (PHI_CHAIN): Remove.
+       (PHI_NUM_ARGS): Remove.
+       (PHI_ARG_CAPACITY): Remove.
+       (PHI_ARG_ELT): Remove.
+       (PHI_ARG_EDGE): Remove.
+       (PHI_BB): Remove.
+       (PHI_ARG_IMM_USE_NODE): Remove.
+       (struct tree_phi_node): Remove.
+       (union tree_node): Remove field 'phi'.
+       (release_phi_node): Change argument to gimple.
+       (duplicate_ssa_name): Change second argument to gimple.
+       (swap_tree_operands): Remove.
+       (enum tree_node_kind): Remove phi_kind entry.
+       * tree-phinodes.c: Convert to use gimple.
+       * tree-gimple.c (is_gimple_stmt): Do not handle PHI_NODE.
+       * cgraphunit.c (cgraph_process_new_functions): Call
+       gimple_unreachable to mark unconverted sections.
+       (verify_cgraph_node): Do not ICE if THIS_CFUN is NULL.
+       Convert statement verification to use gimple.
+       (cgraph_expand_function): Call gimple_unreachable to mark
+       unconverted sections.
+       * tree-ssa-propagate.c: Convert to use gimple.
+       (STMT_IN_SSA_EDGE_WORKLIST): Use flag GF_PLF_1 as marker.
+       (DONT_SIMULATE_AGAIN): Remove.  Use gimple_visited.
+       * gimple-dummy.c: Remove converted functions.
+       * tree-ssa-alias.c (may_be_aliased): Re-enable.
+       * tree-flow-inline.h (gimple_phi_arg_imm_use_ptr): Rename
+       from get_phi_arg_def_ptr.
+       (bsi_start, bsi_after_labels, bsi_last, bsi_end_p,
+       bsi_next, bsi_prev, bsi_stmt, bsi_stmt_ptr): Remove.
+       * tree.def (PHI_NODE): Remove.  Update most users.
+       * tree-dfa.c: Convert to use gimple.
+       * common.opt (fgimple-conversion): Default to 0.
+       * tree-ssa.c: Convert to use gimple.
+       * tree-optimize.c (pass_early_local_passes,
+       pass_all_early_optimization, pass_init_datastructures):
+       Enable.
+       * tree-flow.h (tree_ann_type): Remove STMT_ANN.  Update
+       all users.
+       (struct stmt_ann_d): Remove.  Update all users.
+       * Makefile.in (GIMPLE_H): Add tree-ssa-operands.h.
+       (tree-ssa-copy.o, tree-phi-nodes.o, tree-complex.o):
+       Re-enable.
+       * gimple.h (enum plf_mask): Define.
+       (GF_NO_WARNING): Remove
+       (bb_seq): Return NULL if BB->il.gimple is NULL.
+       (struct gimple_statement_base): Add bitfields no_warning,
+       visited, unused_1, unused_2, unused_3, unused_4 and plf.
+       (gimple_flags, gimple_set_flags, gimple_add_flag):
+       Remove.  Update all users.
+       (gimple_set_visited): New.
+       (gimple_visited_p): New.
+       (gimple_set_plf): New.
+       (gimple_plf): New.
+       (gimple_has_volatile_ops): New.
+       (gimple_set_has_volatile_ops): New.
+       (gimple_addresses_taken): New.
+       (gimple_set_addresses_taken): New.
+       (gimple_add_to_addresses_taken): New.
+       (gimple_phi_result_ptr): New.
+       (gsi_stmt_ptr): New.
+       (gsi_bb): New.
+       (gsi_seq): New.
+       * tree-cfg.c (execute_build_cfg): Do not call
+       gimple_set_body after building the CFG.
+       (pass_build_cfg): Do not require PROP_gimple_leh.
+       (gimplify_val): Convert to gimple.
+       * passes.c (init_optimization_passes): Disable all of
+       pass_all_early_optimizations.
+       * tree-ssanames.c: Convert to gimple.
+       * tree-ssa-operands.c: Convert to gimple.
+       (gimple_set_stored_syms): New.
+       (gimple_set_loaded_syms): New.
+
+2008-01-03  Diego Novillo  <dnovillo@google.com>
+
+       Merge with mainline @131303
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge
+       string.
+       * configure: Regenerate.
+
+2007-12-20  Diego Novillo  <dnovillo@google.com>
+
+       * Makefile.in (builtins.o-warn, expr.o-warn): Add
+       -Wno-error.
+
+2007-12-05  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2007-12/msg00221.html
+
+       * gimple.c (walk_gimple_asm): Guard against WI being
+       NULL.
+       (walk_gimple_stmt): Likewise.
+
+2007-12-05  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2007-12/msg00216.html
+
+       * tree.h (gimple_unreachable_1): Declare.
+       (gimple_unreachable): Define.
+       Replace calls to gcc_unreachable with gimple_unreachable
+       in unconverted code.
+       * gimple-dummy.c (gimple_unreachable_1): New function.
+       * common.opt (fgimple-only): Remove.
+       (fgimple-conversion): Define.
+       * Makefile.in (STRICT_WARN): Add -Wno-return-type.
+
+2007-11-30  Diego Novillo  <dnovillo@google.com>
+
+       Merge with mainline @130470
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge
+       string.
+       * configure: Regenerate.
+       * tree-inline.c (copy_decl_no_change,
+       copy_decl_for_dup_finish): Re-enable.
+
+2007-11-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple.h (gimple_bind_block): Update comment.
+       
+2007-11-19  Diego Novillo  <dnovillo@google.com>
+
+       Merge with mainline @130291.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2007-11-19  Diego Novillo  <dnovillo@google.com>
+
+       * tree-flow-inline.h (get_lineno): Call IS_LOCATION_EMPTY
+       and LOCATION_LINE instead of accessing location fields
+       directly.
+       * gimple-low.c (lower_function_body): Use
+       UNKNOWN_LOCATION instead of unknown_location.
+
+2007-11-16  Diego Novillo  <dnovillo@google.com>
+
+       * cgraph.c (cgraph_create_edge): Call gimple_body
+       instead of DECL_SAVED_TREE.
+       (dump_cgraph_node): Likewise.
+       * cgraphunit.c (verify_cgraph_node): Likewise.
+       (cgraph_analyze_functions): Likewise.
+       (cgraph_mark_functions_to_output): Likewise.
+       (cgraph_optimize): Likewise.
+       * tree-eh.c (lower_eh_constructs): Add notes for future
+       changes to calls to DECL_SAVED_TREE.
+       (refactor_eh_r): Likewise.
+       * cfgexpand.c (gimple_to_tree): New function.
+       (maybe_dump_rtl_for_gimple_stmt): Rename from
+       maybe_dump_rtl_for_tree_stmt.  Convert to tuples.
+       (label_rtx_for_bb): Convert to tuples.
+       (expand_gimple_cond): Rename from
+       expand_gimple_cond_expr.  Convert to tuples.
+       (expand_gimple_tailcall): Convert to tuples.
+       (expand_gimple_basic_block): Convert to tuples.
+       (discover_nonconstant_array_refs_r): Convert to tuples.
+       (discover_nonconstant_array_refs): Convert to tuples.
+       * tree-mudflap.c (execute_mudflap_function_decls): Add
+       deprecation comment for DECL_SAVED_TREE call.
+       * tree-inline.c (copy_generic_body): Call gimple_body
+       instead of DECL_SAVED_TREE.
+       (inlinable_function_p): Likewise.
+       (clone_body): Add deprecation comment for DECL_SAVED_TREE
+       call.
+       * tree-cfg.c (remove_useless_stmts_bind): Call
+       gimple_body instead of DECL_SAVED_TREE.
+       (remove_useless_stmts): Likewise.
+
+2007-11-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-cfg.c (verify_types_in_gimple_call): OBJ_TYPE_REF are allowed
+       as function types.
+
+       [objc]
+       * objc-act.c (objc_gimplify_expr): Change pre and post to sequences.
+       * objc-act.h (objc_gimplify_expr): Change prototype accordingly.
+       
+       [testsuite]
+       * lib/objc.exp: Set -I regardless of libobjc.
+
+2007-11-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-gimple.h (tree_annotate_all_with_locus): New.
+       * gimple-dummy.c: Add omp_reduction_init and
+       diagnose_omp_structured_block_errors.
+       * gimplify.c (tree_should_carry_locus_p): New.
+       (tree_annotate_one_with_locus): New.
+       (tree_annotate_all_with_locus): New.
+
+2007-11-08  Diego Novillo  <dnovillo@google.com>
+
+       Merge with mainline @129982
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2007-11-01  Diego Novillo  <dnovillo@google.com>
+
+       * cgraphbuild.c (initialize_inline_failed): Re-enable.
+       (build_cgraph_edges): Adapt to use tuples.
+       (pass_build_cgraph): Re-enable.
+       (rebuild_cgraph_edges): Adapt to use tuples.
+       * cgraph.c (cgraph_release_function_body): Also NULLify the
+       gimple body.
+       (debug_cgraph_node): New.
+       (debug_cgraph): New.
+       * cgraph.h (struct cgraph_edge): Change field CALL_STMT to
+       type gimple.  Update all users.
+       * cgraphunit.c (cgraph_analyze_functions): If DECL does not
+       have a struct function entry, discard it.
+       * gimple.h (GF_CALL_CANNOT_INLINE): New.
+       (gimple_call_lhs_ptr): New.
+       (gimple_call_mark_uninlinable): New.
+       (gimple_call_cannot_inline_p): New.
+       (struct walk_stmt_info): Add field PSET.
+
+2007-11-01  Diego Novillo  <dnovillo@google.com>
+
+       * tree-optimize.c (tree_rest_of_compilation): Call
+       gimple_set_body to remove the body if not inlining.
+       * gimple.c (walk_gimple_stmt): Update documentation.
+       Pass WI->PSET to every call to walk_tree.
+
+2007-11-01  Diego Novillo  <dnovillo@google.com>
+
+       * langhooks.h (struct lang_hooks_for_callgraph): Remove third
+       argument from function pointer ANALYZE_EXPR.  Update all
+       users.
+
+2007-10-30  Diego Novillo  <dnovillo@google.com>
+
+       * gimple.c (gimple_build_omp_return): Call
+       gimple_omp_return_set_nowait if needed.
+       * gimple.h (GIMPLE_CHECK, GIMPLE_CHECK2, GIMPLE_RANGE_CHECK):
+       Move earlier in the file.
+       (GF_NO_WARNING): Change to static const unsigned.
+       (GF_CALL_TAILCALL): New.
+       (GF_OMP_PARALLEL_COMBINED): Rename from
+       OMP_PARALLEL_COMBINED_FLAG.  Change to static const unsigned.
+       Update all users.
+       (GF_OMP_RETURN_NOWAIT): Rename from OMP_RETURN_NOWAIT_FLAG.
+       Change to static const unsigned.
+       Update all users.
+       (GF_OMP_SECTION_LAST): Rename from OMP_SECTION_LAST_FLAG.
+       Change to static const unsigned.
+       Update all users.
+       (gimple_omp_return_set_nowait): New.
+       (gimple_call_set_tail): New.
+       (gimple_call_tail_p): New.
+
+2007-10-30  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimplify.c (get_tmp_var_for): Remove reference to IS_FORMAL in
+       opening comment.
+       (gimplify_return_expr): Return GS_ERROR if we have errored.
+       (gimplify_statement_list): Handle case where voidify_wrapper returns a
+       temporary.
+       (gimplify_call_expr): Return gracefully on error.
+       (gimplify_cond_expr): Same.
+       * gimple.h (gimple_call_return_type): Do not error on methods.
+
+2007-10-29  Diego Novillo  <dnovillo@google.com>
+           Tom Tromey  <tromey@redhat.com>
+
+       * gimple.h (gimple_locus): Update comment.
+       (gimple_set_locus): Likewise.
+       (gimple_locus_empty_p): Add support for mapped locations.
+
+2007-10-29  Diego Novillo  <dnovillo@google.com>
+
+       * tree-optimize.c (execute_cleanup_cfg_pre_ipa): Re-enable.
+       * gimple.c (walk_gimple_asm): Tidy comment.
+
+2007-10-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-gimple.h (build_gimple_eh_filter_tree): Remove.
+       * gimplify.c (build_gimple_eh_filter_tree): Move from here...
+       * cp/cp-gimplify.c: ...to here.
+       (cp_gimplify_init_expr): Convert to tuples.
+       (gimplify_must_not_throw_expr): Make function return a
+       gimplify_status and convert to tuples.
+       (cp_gimplify_expr): Convert MUST_NOT_THROW_EXPR, INIT_EXPR, and
+       USING_STMT to tuples.
+
+2007-10-28  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimplify.c (gimplify_body): Make work when body contains more than
+       a GIMPLE_BIND statement.
+
+2007-10-26  Diego Novillo  <dnovillo@google.com>
+
+       Merge with mainline @129659.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2007-10-26  Diego Novillo  <dnovillo@google.com>
+
+       * gimple-low.c (lower_builtin_setjmp): Pass ARG to first
+       call to gimple_build_call.
+
+2007-10-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-gimple.c (get_gimple_rhs_class): Add case for EXC_PTR_EXPR.
+       * gimplify.c (gimple_conditional_context): Enable.
+       (gimplify_cleanup_point_expr): Enable.  Adjust for tuples.
+       (gimple_push_cleanup): Enable.
+       (gimplify_target_expr): Do not gimplify TARGET_EXPR_CLEANUP before
+       calling gimple_push_cleanup.
+       (gimplify_expr): Rename `try' to `try_'.
+       Enable CLEANUP_POINT_EXPR case.
+       Gimplify CATCH_EXPR and EH_FILTER_EXPR cases correctly.
+
+2007-10-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple.c (gimple_size): Handle GIMPLE_WITH_CLEANUP_EXPR.
+       * gimple.h (struct gimple_statement_catch): Make handler a structure,
+       not a pointer.
+       (struct gimple_statement_eh_filter): Make failure a structure, not a
+       pointer.
+       document EH_FILTER_MUST_NOT_THROW subcode flag.
+       (gimple_catch_handler): Handler is now a struct.
+       (gimple_catch_set_handler): Same.
+       (gimple_eh_filter_failure): Failure is now a struct.
+       (gimple_eh_filter_set_failure): Same.
+       (gimple_eh_filter_must_not_throw): New.
+       (gimple_eh_filter_set_must_not_throw): New.
+       (gsi_next): Update comment.
+       (gsi_prev): Same.
+       * tree-cfg.c (verify_types_in_gimple_seq_2): Handle GIMPLE_EH_FILTER.
+
+2007-10-18  Diego Novillo  <dnovillo@google.com>
+
+       * gimple-iterator.c (gsi_delink): Remove.
+       * gimple.h (gsi_delink): Remove.
+
+2007-10-17  Diego Novillo  <dnovillo@google.com>
+
+       * coretypes.h (const_gimple_seq): New typedef.
+       * gimple.h (gimple_seq_first): Constify argument.
+       (gimple_seq_last): Likewise.
+       (gimple_seq_copy): Likewise.
+       (gimple_seq_empty_p): Likewise.
+       (gimple_set_prev): Rename from set_gimple_prev.
+       Update all users.
+       (gimple_set_next): Rename from set_gimple_next.
+       Update all users.
+       (gimple_set_flags): Rename from set_gimple_flags.
+       Update all users.
+       (gimple_add_flag): Rename from add_gimple_flag.
+       Update all users.
+       (gimple_set_subcode): Rename from set_gimple_subcode.  
+       Update all users.
+       (gimple_set_block): Rename from set_gimple_block.
+       Update all users.
+       (gimple_set_locus): Rename from set_gimple_locus.
+       Update all users.
+       (gimple_locus_empty_p): Constify argument.
+       (gimple_has_ops): Likewise.
+       (gimple_has_mem_ops): Likewise.
+       (gimple_def_ops): Likewise.
+       (gimple_set_def_ops): Rename from set_gimple_def_ops.
+       Update all users.
+       (gimple_use_ops): Constify argument.
+       (gimple_set_use_ops): Rename from set_gimple_use_ops.
+       Update all users.
+       (gimple_vuse_ops): Constify argument.
+       (gimple_set_vuse_ops): Rename from set_gimple_vuse_ops.
+       Update all users.
+       (gimple_vdef_ops): Constify argument.
+       (gimple_set_vdef_ops): Rename from set_gimple_vdef_ops.
+       Update all users.
+       (gimple_loaded_syms): Constify argument.
+       (gimple_stored_syms): Constify argument.
+       (gimple_modified): Constify argument.
+       (gimple_set_modified): Rename from set_gimple_modified.
+       Update all users.
+       (gimple_omp_return_nowait_p): Constify argument.
+       (gimple_omp_section_last_p): Constify argument.
+       (gimple_omp_parallel_combined_p): Constify argument.
+       (gimple_build_return): Rename from build_gimple_return.
+       Update all users.
+       (gimple_build_assign): Rename from build_gimple_assign.
+       Update all users.
+       (gimple_build_assign_with_ops): Rename from
+       build_gimple_assign_with_ops.
+       Update all users.
+       (gimple_build_call_vec): Rename from build_gimple_call_vec.
+       Update all users.
+       (gimple_build_call): Rename from build_gimple_call.
+       Update all users.
+       (gimple_build_cond): Rename from build_gimple_cond.
+       Update all users.
+       (gimple_build_label): Rename from build_gimple_label.
+       Update all users.
+       (gimple_build_goto): Rename from build_gimple_goto.
+       Update all users.
+       (gimple_build_nop): Rename from build_gimple_nop.
+       Update all users.
+       (gimple_build_asm): Rename from build_gimple_asm.
+       Update all users.
+       (gimple_build_asm_vec): Rename from build_gimple_asm_vec.
+       Update all users.
+       (gimple_build_catch): Rename from build_gimple_catch.
+       Update all users.
+       (gimple_build_eh_filter): Rename from build_gimple_eh_filter.
+       Update all users.
+       (gimple_build_try): Rename from build_gimple_try.
+       Update all users.
+       (gimple_build_wce): Rename from build_gimple_wce.
+       Update all users.
+       (gimple_build_resx): Rename from build_gimple_resx.
+       Update all users.
+       (gimple_build_switch): Rename from build_gimple_switch.
+       Update all users.
+       (gimple_build_switch_vec): Rename from
+       build_gimple_switch_vec.  Update all users.
+       (gimple_build_omp_parallel): Rename from
+       build_gimple_omp_parallel.  Update all users.
+       (gimple_build_omp_for): Rename from build_gimple_omp_for.
+       Update all users.
+       (gimple_build_omp_critical): Rename from
+       build_gimple_omp_critical.
+       Update all users.
+       (gimple_build_omp_section): Rename from
+       build_gimple_omp_section.  Update all users.
+       (gimple_build_omp_continue): Rename from
+       build_gimple_omp_continue.  Update all users.
+       (gimple_build_omp_master): Rename from
+       build_gimple_omp_master.  Update all users.
+       (gimple_build_omp_ordered): Rename from
+       build_gimple_omp_ordered.  Update all users.
+       (gimple_build_omp_sections): Rename from
+       build_gimple_omp_sections.  Update all users.
+       (gimple_build_omp_single): Rename from
+       build_gimple_omp_single.  Update all users.
+       (gimple_set_body): Rename from set_gimple_body.  Update all
+       users.
+       (gimple_set_bb): Rename from set_gimple_bb.  Update all users.
+       (is_gimple_operand): Constify argument.
+       (gimple_ops): Likewise.
+       (gimple_op_ptr): Likewise.
+       (gimple_call_lhs): Likewise.
+       (gimple_call_return_type): Likewise.
+       (gimple_call_chain): Likewise.
+       (gimple_call_arg_ptr): Likewise.
+       (gimple_cond_true_label): Likewise.
+       (gimple_bind_vars): Likewise.
+       (gimple_bind_set_body): Likewise.
+       (gimple_bind_block): Likewise.
+       (gimple_asm_ninputs): Likewise.
+       (gimple_asm_noutputs): Likewise.
+       (gimple_asm_nclobbers): Likewise.
+       (gimple_asm_input_op): Likewise.
+       (gimple_asm_output_op): Likewise.
+       (gimple_asm_clobber_op): Likewise.
+       (gimple_asm_string): Likewise.
+       (gimple_asm_volatile_p): Likewise.
+       (gimple_catch_types): Likewise.
+       (gimple_catch_handler): Likewise.
+       (gimple_eh_filter_types): Likewise.
+       (gimple_eh_filter_failure): Likewise.
+       (gimple_try_kind): Likewise.
+       (gimple_try_set_eval): Likewise.
+       (gimple_try_set_cleanup): Likewise.
+       (gimple_wce_set_cleanup): Likewise.
+       (gimple_wce_cleanup_eh_only): Likewise.
+       (gimple_phi_capacity): Likewise.
+       (gimple_phi_num_args): Likewise.
+       (gimple_phi_result): Likewise.
+       (gimple_resx_region): Likewise.
+       (gimple_switch_num_labels): Likewise.
+       (gimple_switch_label): Likewise.
+       (gimple_switch_default_label): Likewise.
+       (gimple_omp_set_body): Likewise.
+       (gimple_omp_critical_name): Likewise.
+       (gimple_omp_for_clauses): Likewise.
+       (gimple_omp_for_index): Likewise.
+       (gimple_omp_for_initial): Likewise.
+       (gimple_omp_for_final): Likewise.
+       (gimple_omp_for_incr): Likewise.
+       (gimple_omp_for_set_pre_body): Likewise.
+       (gimple_omp_parallel_clauses): Likewise.
+       (gimple_omp_parallel_child_fn): Likewise.
+       (gimple_omp_parallel_data_arg): Likewise.
+       (gimple_omp_single_clauses): Likewise.
+       (gimple_omp_sections_clauses): Likewise.
+       (gimple_omp_for_cond): Likewise.
+       (gimple_return_retval): Likewise.
+       (is_gimple_omp): Likewise.
+       (gimple_nop_p): Likewise.
+       (gimple_expr_type): Likewise.
+
+2007-10-17  Diego Novillo  <dnovillo@google.com>
+
+       * tree-ssa-loop-manip.c (gimple_duplicate_loop_to_header_edge): Rename
+       from tree_duplicate_loop_to_header_edge.
+       Update all users.
+       * value-prof.c: Convert and enable all functions in the file.
+       (gimple_divmod_fixed_value): Rename from
+       tree_divmod_fixed_value.
+       (gimple_mod_pow2): Rename from tree_mod_pow2.
+       (gimple_mod_subtract): Rename from tree_mod_subtract.
+       (gimple_divmod_fixed_value_transform): Rename from
+       tree_divmod_fixed_value_transform.
+       (gimple_mod_pow2_value_transform): Rename from
+       tree_mod_pow2_value_transform.
+       (gimple_mod_subtract_transform): Rename from
+       tree_mod_subtract_transform.
+       (gimple_stringops_transform): Rename from tree_stringops_transform.
+       (gimple_ic_transform): Rename from tree_ic_transform.
+       Update all users.
+       * value-prof.h (gimple_register_value_prof_hooks): Rename from
+       tree_register_value_prof_hooks.  Update all users.
+       * tree.h (OMP_DIRECTIVE_P): Remove.  Update all users.
+       (validate_arglist): Move to gimple.h.
+       * builtins.c: (validate_arglist): Change first argument to
+       const_gimple.  Disable most callers.
+       * gimple.def: Document all GIMPLE codes.
+       * tree-gimple.c (is_gimple_operand): New.
+       (get_gimple_rhs_class)<ADDR_EXPR>: Accept as a
+       GIMPLE_SINGLE_RHS.
+       <WITH_SIZE_EXPR>: Likewise.
+       (get_gimple_rhs_num_ops): New.
+       (is_gimple_call_addr): Tidy.
+       * tree-gimple.h (get_gimple_rhs_num_ops): Declare.
+       * gimple-dummy.c (free_histograms, stringop_block_profile):
+       Remove.
+       * gimple-low.c (lower_function_body): Tidy.
+       * predict.c (gimple_predicted_by_p): Rename from
+       tree_predicted_by_p.  Update all users.
+       (gimple_predict_edge): Rename from tree_predict_edge.  Update
+       all users.
+       * gimple-iterator.c (gsi_link_seq_after): Update documentation.
+       (gsi_link_after): Likewise.
+       * tree-eh.c (stmt_could_throw_1_p): New.
+       (stmt_could_throw_p): New.
+       * gimple-pretty-print.c (dump_unary_rhs): Print ADDR_EXPR as
+       a single operand.
+       (dump_gimple_switch): Support NULL case labels.
+       (dump_gimple_asm): Dump outputs first.
+       * gimplify.c (compare_case_labels): Make the default label
+       sort first.
+       (sort_case_labels): Do not special case the default label.
+       (gimplify_init_ctor_eval): Gimplify initializer expressions.
+       (gimplify_modify_expr): Unshare the operands before setting
+       them on the new GIMPLE_ASSIGN statement.
+       (gimplify_asm_expr): NULLify the chain on operands before
+       putting them on the input/output vectors.
+       * tree-cfgcleanup.c: Convert and enable CFG cleanup functions.
+       (cleanup_control_expr_graph): Call gimple_fold.
+       * tree-flow.h (gimple_block_label): Rename from
+       tree_block_label.  Update all users.
+       (gimple_duplicate_sese_region): Rename from
+       tree_duplicate_sese_region.  Update all users.
+       (gimple_duplicate_sese_tail): Rename from
+       tree_duplicate_sese_tail.  Update all users.
+       (gimple_purge_dead_abnormal_call_edges): Rename from
+       tree_purge_dead_abnormal_call_edges.  Update all users.
+       (gimple_purge_all_dead_eh_edges): Rename from
+       tree_purge_all_dead_eh_edges.  Update all users.
+       (stmt_could_throw_p): Declare.
+       (add_stmt_to_eh_region_fn): Move from except.h.
+       (remove_stmt_from_eh_region_fn): Likewise.
+       (lookup_stmt_eh_region_fn): Likewise.
+       (lookup_stmt_eh_region): Likewise.
+       (verify_eh_edges): Likewise.
+       * Makefile.in (GIMPLE_H): Add dependencies on GGC_H, TM_H and
+       TARGET_H.
+       (ipa-inline.o): Add dependency on TREE_FLOW_H.
+       (out_object_file): Add dependency on TREE_GIMPLE_H.
+       * gimple.c (gimple_set_code): Rename from set_gimple_code.
+       (gimple_size): New.
+       (gimple_alloc): New.
+       (gimple_alloc_ops): New.
+       (build_gimple_with_ops): Call them.
+       (build_gimple_return): Only call gimple_return_set_retval if
+       RETVAL is not NULL.
+       (build_gimple_call): Validate argument FN.
+       (extract_ops_from_tree): New.
+       (build_gimple_assign_with_ops): New.
+       (build_gimple_assign): Call them.
+       (build_gimple_nop):  Call gimple_alloc.
+       (build_gimple_bind): Likewise.
+       (build_gimple_asm_1): Tidy.
+       (build_gimple_asm_vec): Tidy.
+       (build_gimple_asm): Tidy.
+       (build_gimple_catch): Call gimple_alloc.
+       (build_gimple_eh_filter): Likewise.
+       (build_gimple_try): Likewise.
+       (build_gimple_wce): Likewise.
+       (build_gimple_phi): Remove.
+       (build_gimple_resx): Call gimple_alloc.
+       (build_gimple_switch_1): Tidy.
+       (build_gimple_switch): Tidy.
+       (build_gimple_omp_critical): Call gimple_alloc.
+       (build_gimple_omp_for): Likewise.
+       (build_gimple_omp_parallel): Likewise.
+       (build_gimple_omp_section): Likewise.
+       (build_gimple_omp_master): Likewise.
+       (build_gimple_omp_continue): Likewise.
+       (build_gimple_omp_ordered): Likewise.
+       (build_gimple_omp_return): Likewise.
+       (build_gimple_omp_sections): Likewise.
+       (build_gimple_omp_single): Likewise.
+       (gimple_check_failed): Change GS to const_gimple.  Update all
+       users.
+       (gimple_range_check_failed): Likewise.
+       (walk_gimple_seq): Change return type to tree.  Update all
+       users.
+       If the call to walk_gimple_stmt returns non-NULL,
+       return it immediately.
+       (walk_gimple_asm): Change return type to tree.  Update all
+       users.
+       If the call to walk_tree returns non-NULL, return it.
+       (walk_gimple_stmt): Likewise.
+       (gimple_fold): New.
+       (gimple_assign_set_rhs_from_tree): New.
+       (gimple_assign_set_rhs_with_ops): New.
+       (gimple_copy): New.
+       * basic-block.h (gimple_predicted_by_p): Rename from
+       tree_predicted_by_p.  Update all users.
+       (gimple_predict_edge): Rename from tree_predict_edge.  Update
+       all users.
+       * gimple.h: Add documentation to all inline functions.
+       (gimple_seq_first): Return NULL if S is NULL.
+       (gimple_seq_last): Likewise.
+       (GF_ASM_VOLATILE): Define.
+       (GF_NO_WARNING): Rename from GIMPLE_NO_WARNING.  Update all
+       users.
+       (build_gimple_assign_with_ops): Declare.
+       (build_gimple_asm): Change unsigned arguments to size_t.
+       Update all users.
+       (build_gimple_switch): Likewise.
+       (build_gimple_phi): Remove.
+       (validate_arglist): Declare.
+       (gimple_fold): Declare.
+       (gimple_assign_set_rhs_from_tree): Declare.
+       (gimple_assign_set_rhs_with_ops): Declare.
+       (gimple_copy): Declare.
+       (is_gimple_operand): Declare.
+       (gimple_num_ops): Change argument to const_gimple.
+       Return 0 if GS is not one of the statements that has tree
+       operands.
+       (gimple_ops): New.
+       (gimple_op): Change argument to const_gimple.
+       If GS is not a statement that has tree operands, return NULL.
+       (gimple_op_ptr): Likewise.
+       (gimple_assign_subcode): Change argument to const_gimple.
+       (gimple_assign_operand): Remove.  Update all users.
+       (gimple_assign_set_operand): Remove.  Update all users.
+       (gimple_assign_lhs): Change argument type to const_gimple.
+       (gimple_assign_rhs1): Likewise.
+       (gimple_assign_rhs2): Likewise.
+       (gimple_assign_set_rhs1): Assert that RHS is a valid operand.
+       (gimple_assign_set_rhs2): Likewise.
+       (gimple_call_lhs): Call gimple_op.
+       (gimple_call_set_lhs): Assert that LHS is a valid operand.
+       Call gimple_set_op.
+       (gimple_call_set_fn): New.
+       (gimple_call_fndecl): Change argument type to const_gimple.
+       Call gimple_call_fn.
+       (gimple_call_chain): Call gimple_op.
+       (gimple_call_set_chain): Assert that CHAIN is valid.
+       Call gimple_set_op.
+       (gimple_call_nargs): Change argument to const_gimple.
+       Call gimple_op.
+       (gimple_call_arg_ptr): Call gimple_op_ptr.
+       (gimple_call_set_arg): Assert that ARG is valid.
+       Call gimple_set_op.
+       (gimple_cond_code): Change argument to const_gimple.
+       (gimple_cond_lhs): Change argument to const_gimple.
+       (gimple_cond_set_lhs): Assert that the operand is valid.
+       Call gimple_set_op.
+       (gimple_cond_rhs): Change argument to const_gimple.
+       Call gimple_op.
+       (gimple_cond_true_label): Call gimple_op.
+       (gimple_cond_false_label): Likewise.
+       (gimple_label_label): Likewise.
+       (gimple_cond_set_true_label): Assert that the operand is
+       valid.
+       Call gimple_set_op.
+       (gimple_cond_set_false_label): Likewise.
+       (gimple_goto_dest): Change argument to const_gimple.
+       Call gimple_set_op.
+       (gimple_goto_set_dest): Assert that the operand is valid.
+       Call gimple_set_op.
+       (gimple_asm_ninputs): Change return type to size_t.  Update
+       all users.
+       (gimple_asm_noutputs): Likewise.
+       (gimple_asm_nclobbers): Rename from gimple_asm_nclobbered.
+       Change return type to size_t.
+       Update all users.
+       (gimple_asm_set_input_op): Assert that the argument is
+       valid.
+       (gimple_asm_set_output_op): Likewise.
+       (gimple_asm_set_clobber_op): Likewise.
+       (gimple_asm_volatile_p): New.
+       (gimple_asm_set_volatile): New.
+       (gimple_asm_clear_volatile): New.
+       (gimple_phi_set_capacity): Remove.
+       (gimple_phi_set_nargs): Remove.
+       (gimple_expr_type): New.
+       (struct walk_stmt_info): Remove fields want_bind_expr and
+       want_return_expr.  Update all users.
+       * tree-cfg.c: Convert all functions for CFG cleanup and
+       verification.
+       (gimple_redirect_edge_and_branch): Rename from
+       tree_redirect_edge_and_branch.
+       (gimple_try_redirect_by_replacing_jump): Rename from
+       tree_try_redirect_by_replacing_jump.
+       (gimple_verify_flow_info): Rename from tree_verify_flow_info.
+       (gimple_make_forwarder_block): Rename from
+       tree_make_forwarder_block.
+       (gimple_cfg2vcg): Rename from tree_cfg2vcg.
+       (gimple_merge_blocks): Rename from tree_merge_blocks.
+       (gimple_can_merge_blocks_p): Rename from tree_merge_blocks_p.
+       (gimple_can_remove_branch_p): Rename from tree_can_remove_branch_p.
+       (gimple_redirect_edge_and_branch): Rename from
+       tree_redirect_edge_and_branch.
+       (gimple_move_block_after): Rename from tree_move_block_after.
+       (gimple_predict_edge): Rename from tree_predict_edge.
+       (gimple_predicted_by_p): Rename from tree_predicted_by_p.
+       (gimple_duplicate_bb): Rename from tree_duplicate_bb.
+       (gimple_can_duplicate_bb_p): Rename from tree_can_duplicate_bb_p.
+       (gimple_split_edge): Rename from tree_split_edge.
+       (gimple_make_forwarder_block): Rename from tree_make_forwarder_block.
+       (gimple_block_ends_with_call_p): Rename from
+       tree_block_ends_with_call_p.
+       (gimple_block_ends_with_condjump_p): Rename from
+       tree_block_ends_with_condjump_p.
+       (gimple_flow_call_edges_add): Rename from
+       tree_flow_call_edges_add.
+       (gimple_execute_on_growing_pred): Rename from
+       tree_execute_on_growing_pred.
+       (gimple_execute_on_shrinking_pred): Rename from
+       tree_execute_on_shrinking_pred.
+       (gimple_duplicate_loop_to_header_edge): Rename from
+       tree_duplicate_loop_to_header_edge.
+       (gimple_lv_add_condition_to_bb): Rename from
+       tree_lv_add_condition_to_bb.
+       (gimple_lv_adjust_loop_header_phi): Rename from
+       tree_lv_adjust_loop_header_phi.
+       (struct pass_build_cfg): Enable TODO_verify_stmts and
+       TODO_cleanup_cfg.
+       * passes.c (execute_function_todo): Enable call to
+       cleanup_tree_cfg.
+
+2007-10-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple.def: Add GIMPLE_WITH_CLEANUP_EXPR.
+       * gsstruct.def: Add GSS_WCE.
+       * gimple-iterator.c (gsi_delink): New.
+       (gsi_split_seq_*): Update comment.
+       * gimple.c (gss_for_code): Handle GIMPLE_WCE.  Adjust whitespace.
+       (build_gimple_wce): New.
+       * gimple.h (struct gimple_statement_wce): New.
+       (union gimple_statement_d): Add gimple_wce.
+       (build_gimple_wce): Protoize.
+       (gimple_wce_cleanup): New.
+       (gimple_wce_set_cleanup): New.
+       (gimple_wce_cleanup_eh_only): New.
+       (gimple_wce_set_cleanup_eh_only): New.
+       (gsi_delink): Protoize.
+
+2007-10-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       * Makefile.in (GIMPLE_H): Depend on TARGET_H.
+       * gimple.h (gsi_alloc): New.
+       (_ALLOC_GSI): Remove.
+       Replace _ALLOC_GSI uses by gsi_alloc.
+
+2007-10-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple.h (_ALLOC_GSI): New.
+       Use it throughout when allocating a new gimple_stmt_iterator.
+
+2007-10-11  Aldy Hernandez  <aldyh@redhat.com>
+
+       Merge with mainline @129233.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2007-10-11  Aldy Hernandez  <aldyh@redhat.com>
+
+       * cfg.c: Include tree-flow.h.
+       (remove_edge_raw): Call redirect_edge_var_map_clear.
+       (redirect_edge_succ_nodup): Call redirect_edge_var_map_dup.
+       * tree-flow-inline.h (redirect_edge_var_map_def): New.
+       (redirect_edge_var_map_result): New.
+       * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Replace
+       PENDING_STMT use with redirect_edge_var_map_*.
+       * tree-ssa.c (edge_var_maps): New definition.
+       (redirect_edge_var_map_add): New.
+       (redirect_edge_var_map_clear): New.
+       (redirect_edge_var_map_dup): New.
+       (redirect_edge_var_map_vector): New.
+       (redirect_edge_var_map_destroy): New.
+       (ssa_redirect_edge): Replace PENDING_STMT use with
+       redirect_edge_var_map_*.
+       (flush_pending_stmts): Same.
+       (delete_tree_ssa): Destroy edge var map.
+       * tree-flow.h (struct _edge_var_map): New.
+       Define edge_var_map vector type.
+       Declare redirect_edge_var_map_* prototypes.
+       * Makefile.in (cfg.o): Depend on TREE_FLOW_H.
+       * tree-cfg.c (reinstall_phi_args): Replace
+       PENDING_STMT use with redirect_edge_var_map_*.
+
+2007-10-02  Diego Novillo  <dnovillo@google.com>
+
+       Merge with mainline @128957.
+
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2007-09-24  Diego Novillo  <dnovillo@google.com>
+
+       Merge with mainline @128708.
+       
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+
+2007-09-24  Diego Novillo  <dnovillo@google.com>
+
+       * gimple.h (gimple_code): Change argument type to
+       const_gimple.
+       (gimple_flags): Likewise.
+       (gimple_subcode): Likewise.
+       (gimple_next): Likewise.
+       (gimple_prev): Likewise.
+       (gimple_bb): Likewise.
+       (gimple_block): Likewise.
+       (gimple_locus): Likewise.
+
+2007-09-15  Diego Novillo  <dnovillo@google.com>
+
+       * gimple-iterator.c (gsi_replace): Call gsi_insert_before and
+       gsi_remove to do the replacement.
+       (gsi_insert_before): Take the basic block from the iterator.
+       (gsi_insert_after): Likewise.
+       * gimple-iterator.h: Move inside gimple.h.
+       * tree-eh.c (make_eh_edge, make_eh_edges): Enable.
+       * gimple-pretty-print.c (dump_gimple_seq, dump_gimple_cond,
+       dump_gimple_bind, dump_gimple_try): Do not handle TDF_DETAILS.
+       (dump_gimple_switch): Fix display of case labels.
+       (dump_gimple_stmt): Handle TDF_DIAGNOSTIC.
+       (pp_cfg_jump): New.
+       (dump_implicit_edges): New.
+       (gimple_dump_bb_buff): Call it.
+       * domwalk.c (walk_dominator_tree):
+       * gimplify.c (gimplify_switch_expr): Fix generation of
+       GIMPLE_SWITCH labels.
+       (gimplify_case_label_expr): Emit a label for CASE_LABEL
+       instead of the CASE_LABEL_EXPR.
+       * Makefile.in (GIMPLE_H): Add dependency on BASIC_BLOCK_H.
+       * gimple.c (walk_gimple_stmt): Reverse meaning of return value
+       of CALLBACK_STMT.  Update all users.
+       Walk sub-statements of statements with bodies.
+       * gimple.h (GCC_GIMPLE_H): Rename from GCC_GIMPLE_IR_H.
+       Include vec.h, tm.h, hard-reg-set.h and basic-block.h.
+       (bb_seq, set_bb_seq): Move from tree-flow-inline.h
+       (gimple_label_set_label): Do not allow CASE_LABEL_EXPR.
+       (gsi_start_bb): New.  Update all users that were calling
+       gsi_start (bb_seq ()).
+       (struct gimple_stmt_iterator): Add field 'bb'.
+       * tree-cfg.c (build_gimple_cfg): Enable.
+       (create_bb): Create a new sequence if the given one is NULL.
+       (make_gimple_switch_edges): Rename from make_switch_expr_edges.
+       Update all users.
+       (cleanup_dead_labels): Fix handling of GIMPLE_SWITCH.
+       (group_case_labels): Likewise.
+       (verify_types_in_gimple_stmt): Do not allow CASE_LABEL_EXPR in
+       a GIMPLE_LABEL.
+
+2007-09-13  Diego Novillo  <dnovillo@google.com>
+
+       * tree-pretty-print.c (dump_symbols, dump_generic_bb,
+       dump_bb_header, dump_bb_end, dump_phi_nodes, pp_cfg_jump,
+       dump_implicit_edges, dump_generic_bb_buff): Remove.
+       * value-prof.c (histogram_eq): Enable.
+       (dump_histograms_for_stmt): Adapt to tuples.
+       * value-prof.h (struct):
+       * cfghooks.h (struct cfg_hooks)<dump_bb>: Add int argument.
+       Update all users.
+       * gimple-dummy.c (gimple_remove_stmt_histograms,
+       remove_stmt_from_eh_region): Remove.
+       * gimple-iterator.h (gsi_start): Support NULL sequences.
+       * tree-eh.c (add_stmt_to_eh_region): Enable.
+       (remove_stmt_from_eh_region): Enable.
+       (lookup_stmt_eh_region): Enable.
+       (tree_could_throw_p): Enable.
+       (stmt_can_throw_internal): Enable.
+       * gimple-pretty-print.c: Include value-prof.h
+       (dump_gimple_cond): Do not insert a newline initially.
+       (dump_gimple_bind): Likewise.
+       (dump_gimple_try): Likewise.
+       (dump_gimple_asm): Likewise.
+       (dump_symbols): Move from tree-pretty-print.c
+       (dump_gimple_phi): New.
+       (dump_gimple_stmt): Call it..
+       (dump_bb_header): Move from tree-pretty-print.c
+       (dump_bb_end): Likewise.
+       (dump_phi_nodes): Likewise.
+       (gimple_dump_bb_buff): New.
+       (gimple_dump_bb): New.
+       * Makefile.in (gimple-pretty-print.o): Add dependency
+       value-prof.h
+       * tree-cfg.c (fold_cond_expr_cond): Handle cases where
+       fold_binary returns NULL.
+       (make_cond_expr_edges): Take locus from the first statement of
+       the destination blocks.
+       (tree_dump_bb): Remove.
+       (gimple_debug_bb): Rename from debug_tree_bb.
+       Update all users.
+       (gimple_debug_bb_n): Rename from debug_tree_bb_n.
+       Update all users.
+       (gimple_debug_cfg): Rename from debug_tree_cfg.
+       Update all users.
+       (gimple_dump_cfg): Rename from dump_tree_cfg.
+       Update all users.
+       (is_ctrl_altering_stmt): Call gimple_call_flags to determine
+       whether the function is const/pure.
+       * tree-ssa-operands.c (stmt_references_memory_p): Enable.
+
+2007-09-11  Diego Novillo  <dnovillo@google.com>
+
+       * tree.h (struct tree_ssa_name): Add field def_stmt.
+       (SSA_NAME_DEF_STMT): Return it.
+       * tree-phinodes.c (create_phi_node): Return gimple.
+       Update all callers.
+       (add_phi_args): Change PHI argument to gimple.  Update all
+       callers.
+       (remove_phi_node): Call gimple_remove.
+       (phi_reverse): Remove.  Update all users.
+       * tree-ssa-alias-warnings.c: Disable.
+       * input.h (IS_LOCATION_EMPTY): Fix comparison of LOCATION_LINE.
+       * fold-const.c: Include gimple.h.
+       (fold_undefer_overflow_warnings): Change type of argument STMT to
+       gimple.  Update all users.
+       * cfghooks.h (struct cfg_hooks)<can_merge_blocks_p>: Change
+       arguments to basic_block.  Update all users.
+       * tree-gimple.c (get_gimple_rhs_class): Change argument to
+       enum tree_code.  Update all users.  Move calls to
+       is_gimple_lvalue and is gimple_val...
+       (is_gimple_formal_tmp_rhs): ... here.
+       * tree-ssa-ccp.c (fold_stmt_r): Enable.
+       (fold_stmt): Enable.
+       (fold_stmt_inplace): Enable.  Adapt to tuples.
+       * ipa-pure-const.c (analyze_function): Disable.
+       * tree-ssa-propagate.c (get_rhs): Adapt to tuples.  Update all
+       users.
+       * gimple-dummy.c (ssa_operands_active): Remove dummy function.
+       (remove_stmt_from_eh_region, create_phi_node, add_phi_arg,
+       substitute_in_loop_info, release_defs, push_stmt_changes,
+       pop_stmt_changes, replace_exp): Add dummy functions.
+       * predict.c: Disable.
+       * gimple-iterator.c: Include tm.h and tree-flow.h
+       (gsi_delink): Remove.  Update all users.
+       (update_modified_stmt): Move from tree-cfg.c.
+       (gsi_insert_before): New.
+       (gsi_insert_seq_before): New.
+       (gsi_insert_after): New.
+       (gsi_insert_seq_after): New.
+       (gsi_for_stmt): New.
+       (gsi_move_after): New.
+       (gsi_move_before): New.
+       (gsi_move_to_bb_end): New.
+       * gimple-iterator.h (gsi_remove): New.
+       * tree-eh.c (add_stmt_to_eh_region_fn): Add comment
+       (add_stmt_to_eh_region): Likewise.
+       (remove_stmt_from_eh_region_fn): Likewise.
+       (remove_stmt_from_eh_region): Likewise.
+       (lookup_stmt_eh_region_fn): Likewise.
+       (lookup_stmt_eh_region): Likewise.
+       (tree_could_throw_p): Likewise.
+       (stmt_can_throw_internal): Likewise.
+       (tree_can_throw_external): Likewise.
+       * gimple-pretty-print.c (op_gimple_cond): Remove.  Update all
+       users.
+       * tree-affine.c (tree_to_aff_combination_expand): Disable.
+       * tree-flow-inline.h (op_iter_init_vdef): Call gimple_code
+       instead of TREE_CODE.
+       * gimplify.c (gimplify_cond_expr): Use enum tree_code instead
+       of enum gimple_cond as the subcode for GIMPLE_COND.
+       Do not switch around the conditional when the then clause is empty.
+       (tree_to_gimple_tuple): Remove.  Update all users.
+       (gimplify_omp_for):
+       (force_gimple_operand_gsi): Rename from force_gimple_operand_bsi.  Update all users.
+       * tree-dfa.c (find_referenced_vars): Disable.
+       (collect_dfa_stats): Likewise.
+       (collect_dfa_stats_r): Likewise.
+       * cfgexpand.c: Disable.
+       * tree-mudflap.c: Disable.
+       * print-tree.c: Include diagnostic.h.
+       (print_node): Call print_gimple_stmt when printing SSA_NAMEs.
+       * lambda-code.c: Disable.
+       * tree-profile.c (tree_init_edge_profiler): Disable.
+       (tree_gen_edge_profiler): Disable.
+       * tree-flow.h (block_stmt_iterator): Remove.  Update all users.
+       (const_block_stmt_iterator): Likewise.
+       * Makefile.in (print-tree.o): Add dependency on $(DIAGNOSTIC_H).
+       (gimple-iterator.o): Add dependency on $(TREE_FLOW_H) and
+       value-prof.h.
+       (gimple.o): Likewise.
+       (fold-const.o): Add dependency on $(GIMPLE_H).
+       * gimple.c: Include tm.h, hard-reg-set.h, basic-block.h,
+       tree-flow.h and value-prof.h.
+       (build_gimple_with_ops): Do not allocate operands if NUM_OPS == 0.
+       (build_gimple_return): Remove argument RESULT_DECL_P.  Update
+       all users.
+       (build_gimple_cond): Use enum tree_code instead of enum
+       gimple_cond as the subcode.  Update all users.
+       (gimple_cond_invert): Remove.  Update all users.
+       (walk_gimple_seq): Add arguments CALLBACK_STMT and
+       CALLBACK_OP.  Update all users.
+       (walk_gimple_asm): Likewise.
+       (walk_gimple_stmt): Likewise.
+       (gimple_remove): New.
+       (gimple_seq_reverse): New.
+       (set_gimple_bb): New.
+       * gimple.h (gimple_statement_base): Split field 'flags' into
+       fields 'subcode' and 'flags'.  Update all users.
+       (gimple_statement_with_ops): Rename field 'base' to
+       'gsbase'.  Update all users.
+       (gimple_statement_omp): Likewise.
+       (gimple_statement_bind): Likewise.
+       (gimple_statement_catch): Likewise.
+       (gimple_statement_eh_filter): Likewise.
+       (gimple_statement_phi): Likewise.
+       (gimple_statement_resx): Likewise.
+       (gimple_statement_try): Likewise.
+       (gimple_statement_omp_parallel): Likewise.
+       (enum gimple_cond): Remove.  Update all users.
+       (GIMPLE_NO_WARNING): Define.
+       (set_gimple_flags): Assert that FLAGS fits in 8 bits.
+       (add_gimple_flag): Likewise.
+       (set_gimple_subcode): New.  Use instead of set_gimple_flags
+       everywhere.
+       (gimple_subcode): New.  Use instead of gimple_flags
+       everywhere.
+       (gimple_no_warning_p): New.
+       (gimple_cond_set_code): New.
+       (gimple_cond_make_false): New.
+       (gimple_cond_make_true): New.
+       (gimple_phi_num_args): Rename from gimple_phi_nargs.  Update
+       all users.
+       * tree-cfg.c (build_gimple_cfg): Return immediately.
+       (set_bb_for_stmt): Remove.  Move functionality to
+       set_gimple_bb.  Update all users.
+       (factor_computed_gotos):
+       (bsi_for_stmt): Remove.
+       (bsi_insert_before): Remove.
+       (bsi_insert_seq_before): Remove.
+       (bsi_insert_after): Remove.
+       (bsi_insert_seq_after): Remove.
+       (bsi_remove): Remove.
+       (bsi_move_after): Remove.
+       (bsi_move_before): Remove.
+       (bsi_move_to_bb_end): Remove.
+       (bsi_replace): Remove.
+       (tree_verify_flow_info): Adapt to tuples.
+       (tree_make_forwarder_block): Likewise.
+       (tree_try_redirect_by_replacing_jump): Likewise.
+       (tree_redirect_edge_and_branch): Likewise.
+       (tree_purge_dead_eh_edges): Likewise.
+       (gimple_cfg_hooks): Enable some hooks.
+       * tree-ssanames.c (make_ssa_name): Change type of STMT to
+       gimple.  Update all users.
+       * tree-ssa-operands.c (ssa_operands_active): Enable.
+
+2007-08-31  Diego Novillo  <dnovillo@google.com>
+
+       * tree-gimple.c (is_gimple_addressable): Tidy.
+       * Makefile.in (tree-ssa-structalias.o): Disable dependency on
+       GTY header file.
+       (tree-ssa-propagate.o): Likewise.
+       (tree-phinodes.o): Likewise.
+       (tree-scalar-evolution.o): Likewise.
+       (tree-vect-generic.o): Likewise.
+       * gimple.h (struct gimple_statement_phi): Change type of
+       fields 'capacity' and 'nargs' to size_t.
+       Update all users.
+       * tree-cfg.c (verify_gimple_unary_expr): Remove.  Update all
+       users.
+       (verify_gimple_binary_expr): Remove.  Update all users.
+       (verify_types_in_gimple_min_lval): Rename from
+       verify_gimple_min_lval.
+       (verify_types_in_gimple_reference): Rename from
+       verify_gimple_reference.
+       (verify_gimple_tree_expr): Remove.
+       Move checks to verify_types_in_gimple_assign.
+       (verify_types_in_gimple_call): Rename from verify_gimple_call.
+       (verify_types_in_gimple_cond): Rename from verify_gimple_cond.
+       (verify_types_in_gimple_assign): Rename from verify_gimple_assign.
+       (verify_types_in_gimple_switch): Rename from verify_gimple_switch.
+       (verify_types_in_gimple_phi): New.
+       verify_types_in_gimple_return): Rename from
+       verify_gimple_return.
+       (verify_types_in_gimple_stmt): Rename from verify_gimple_stmt.
+       (verify_types_in_gimple_seq): Rename from verify_gimple_seq.
+
+2007-08-30  Chris Matthews  <chrismatthews@google.com>
+           Diego Novillo  <dnovillo@google.com>
+
+       * gimplify.c (gimplify_body): Call verify_gimple_seq if
+       ENABLE_TYPES_CHECKING is set.
+       * gimple.h (is_gimple_omp): New.
+       * tree-cfg.c (verify_gimple_tree_expr): Rename from
+       verify_gimple_expr.
+       Verify tree nodes that should disappear after conversion to
+       GIMPLE.
+       Do not handle COND_EXPR, CALL_EXPR.
+       (verify_gimple_modify_stmt): Remove.
+       (verify_gimple_call): New.
+       (verify_gimple_cond): New.
+       (verify_gimple_assign): New.
+       (verify_gimple_return): New.
+       (verify_gimple_switch): New.
+       (verify_gimple_stmt):  Change input argument to type gimple.
+       Call new verifiers.
+       (verify_gimple_seq): Rename from verify_gimple_1.
+
+2007-08-30  Diego Novillo  <dnovillo@google.com>
+
+       * gimple-low.c (gimple_try_catch_may_fallthru): Call
+       gimple_code instead of gimple_flags.
+       * gimple.c (set_gimple_body): Use gimple_seq instead of gimple
+       when accessing vector gimple_bodies_vec.
+       (gimple_body): Likewise.
+       (gimple_assign_copy_p): New.
+       * gimple.h (enum gimple_try_kind): New.
+       (GIMPLE_TRY_CATCH): Move inside enum gimple_try_kind.
+       (GIMPLE_TRY_FINALLY): Likewise.
+       (gimple_assign_copy_p): Declare.
+       (gimple_assign_rhs_code): New.
+       Update callers that used to call gimple_flags.
+       (gimple_cond_code): New.
+       Update callers that used to call gimple_flags.
+       (gimple_try_kind): New.
+       (gimple_nop_p): Tidy comment.
+       * gimple-pretty-print.c (dump_unary_rhs): New.
+       (dump_gimple_assign): Call it.
+
+2007-08-30  Diego Novillo  <dnovillo@google.com>
+
+       * gimplify.c (gimplify_cond_expr): When gimplifying a ?: call
+       gimplify_stmt with the expression just built instead of the
+       original expression.
+       Use the correct labels when calling build_gimple_cond.
+
+
+2007-08-30  Diego Novillo  <dnovillo@google.com>
+
+       * tree-vrp.c: Disable.
+       * tree-loop-linear.c: Disable.
+       * tree-into-ssa.c: Disable.
+       * tree-ssa-loop-im.c: Disable.
+       * tree-complex.c: Disable.
+       * cgraphbuild.c: Disable most functions.
+       * tree-ssa-threadupdate.c: Disable.
+       * tree-ssa-loop-niter.c: Disable.
+       * tree-pretty-print.c: Disable.
+       * tree-ssa-loop-unswitch.c: Disable.
+       * tree-ssa-loop-manip.c: Disable.
+       * value-prof.c: Disable.
+       * tree-tailcall.c: Disable.
+       * tree-ssa-loop-ch.c: Disable.
+       * tree-scalar-evolution.c: Disable.
+       * tree-phinodes.c: Disable.
+       * omp-low.c: Disable.
+       * tree-ssa-dse.c: Disable.
+       * ipa-reference.c: Disable.
+       * tree-ssa-uncprop.c: Disable.
+       * tree-ssa-sccvn.c: Disable.
+       * cgraphunit.c (verify_cgraph_node): Disable basic block traversal.
+       * tree-ssa-copyrename.c: Disable.
+       * tree-ssa-ccp.c: Disable most functions.
+       * tree-ssa-loop-ivopts.c: Disable.
+       * tree-stdarg.c: Disable.
+       * tree-ssa-math-opts.c: Disable.
+       * tree-ssa-dom.c: Disable most functions.
+       * tree-nrv.c: Disable.
+       * tree-ssa-propagate.c: Disable.
+       * gimple-dummy.c: New file.
+       * tree-ssa-alias.c: Disable most functions.
+       * tree-ssa-sink.c: Disable.
+       * expr.c (expand_expr_real): Disable call to
+       lookup_stmt_eh_region.
+       * tree-ssa-loop-ivcanon.c: Disable.
+       * predict.c (strip_builtin_expect): Disable.
+       (tree_predict_by_opcode): Disable.
+       (return_prediction): Disable.
+       (apply_return_prediction): Disable.
+       (tree_bb_level_predictions): Disable.
+       (tree_estimate_probability): Disable.
+       (predict_paths_leading_to): Disable.
+       * gimple-iterator.c (gsi_replace): Mark unused arguments with
+       ATTRIBUTE_UNUSED.
+       * tree-ssa-ifcombine.c: Disable.
+       * matrix-reorg.c: Disable.
+       * c-decl.c (c_gimple_diagnostics_recursively): Disable call to
+       diagnose_omp_structured_block_errors.
+       * tree-eh.c: Disable most functions.
+       * tree-vectorizer.c: Disable.
+       * tree-vectorizer.h (nested_in_vect_loop_p): Disable.
+       * ipa-type-escape.c: Disable.
+       * tree-if-conv.c: Disable.
+       * profile.c: Disable.
+       * tree-data-ref.c: Disable.
+       * tree-flow-inline.h (bsi_start): Set bsi.gsi to NULL if the
+       block is invalid.
+       (bsi_last): Likewise.
+       (op_iter_next_use): Disable call to PHI_ARG_DEF_PTR.
+       * tree-vect-analyze.c: Disable.
+       * gimplify.c (gimple_conditional_context): Disable.
+       (gimple_push_cleanup): Disable.
+       (gimplify_omp_parallel): Disable calls to
+       push_gimplify_context and pop_gimplify_context.
+       * tree-ssa-phiopt.c: Disable.
+       * calls.c (emit_call_1): Disable calls to lookup_stmt_eh_region.
+       (expand_call): Likewise.
+       (emit_library_call_value_1): Initialize low_to_save and
+       high_to_save.
+       * tree-ssa-coalesce.c: Disable.
+       * tree-dfa.c (make_rename_temp): Disable call to
+       mark_sym_for_renaming.
+       (find_new_referenced_vars_1): Likewise.
+       (collect_dfa_stats): Disable CFG iteration.
+       (collect_dfa_stats_r): Disable.
+       (mark_symbols_for_renaming): Disable.
+       * cfgexpand.c (maybe_dump_rtl_for_tree_stmt): Disable.
+       (label_rtx_for_bb): Disable.
+       (expand_gimple_cond_expr): Disable.
+       (expand_gimple_tailcall): Disable.
+       (expand_gimple_basic_block): Disable.
+       * tree-cfgcleanup.c: Disable.
+       * tree-ssa-pre.c: Disable.
+       * tree-ssa-live.c: Disable.
+       * tree-sra.c: Disable most functions..
+       * tree-predcom.c: Disable.
+       * tree-mudflap.c: Disable.
+       * ipa-prop.c: Disable.
+       * tree-ssa-copy.c (may_propagate_copy): Disable.
+       (propagate_value): Disable.
+       (execute_copy_prop): Disable.
+       (do_copy_prop): Disable.
+       (store_copy_prop): Disable.
+       * tree-ssa-forwprop.c: Disable.
+       * tree-ssa-dce.c: Disable.
+       * tree-vect-patterns.c: Disable.
+       * tree-ssa-ter.c: Disable.
+       * tree-ssa.c: Disable.
+       * lambda-code.c: Disable.
+       * tree-ssa-loop-prefetch.c: Disable.
+       * tree-inline.c: Disable most functions.
+       * tree-optimize.c (execute_fixup_cfg_pre_ipa): Disable.
+       (execute_fixup_cfg): Disable.
+       (execute_cleanup_cfg_post_optimizing): Disable.
+       (execute_fixup_cfg): Disable.
+       * tree-vect-transform.c: Disable.
+       * tree-object-size.c: Disable.
+       * tree-outof-ssa.c: Disable.
+       * cfgloop.c (find_subloop_latch_edge_by_profile): Disable.
+       (find_subloop_latch_edge_by_ivs): Disable.
+       * tree-profile.c: Disable most functions.
+       * c-gimplify.c (add_block_to_enclosing): Disable.
+       * tree-vect-generic.c: Disable.
+       * tree-flow.h (struct function_ann_d): Disable field
+       reference_vars_info.
+       * Makefile.in: Force -Werror even during stage 1.
+       (OBJS-common): Add gimple-dummy.o.
+       (GTFILES): Remove tree-scalar-evolution.c,
+       tree-ssa-propagate.c, tree-vect-generic.c,
+       tree-ssa-structalias.h, tree-ssa-structalias.c,
+       ipa-reference.h, omp-low.c, tree-phinodes.c, ipa-reference.c
+       * tree-ssa-structalias.c: Disable.
+       * tree-cfg.c: Disable most functions.
+       * passes.c (finish_optimization_passes): Disable call to
+       end_branch_prob.
+       (init_optimization_passes): Disable the registration of
+       several passes.
+       (execute_function_todo): Disable calls to update_ssa and
+       need_ssa_update_p.
+       * tree-ssa-reassoc.c: Disable.
+       * tree-ssanames.c: Disable.
+       * tree-ssa-threadedge.c: Disable.
+       * tree-ssa-operands.c: Disable.
+
+2007-08-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-operands.h (pop_stmt_changes, push_stmt_changes):
+       Argument is gimple.
+       (struct ssa_operand_iterator_d): Member phi_stmt is gimple.
+       * value-prof.c (gimple_add_histogram_value): Adjust for tuples.
+       (gimple_duplicate_stmt_histograms): Same.
+       * value-prof.h (gimple_add_histogram_value): Same.
+       (gimple_duplicate_stmt_histograms): Same.
+       * tree-flow-inline.h (clear_and_done_ssa_iter): Same.
+       (op_iter_init): Same.
+       (op_iter_init_phiuse): Same.
+       * tree-flow.h (stmt_references_memory_p): Same.
+       * tree-cfg.c (tree_can_merge_blocks_p): Same.
+       (remove_bb): Same.
+       (find_taken_edge): Same.
+       (tree_cfg2vcg): Same.
+       (first_stmt): Same.
+       (last_stmt): Same.
+       (bsi_move_after): Same.
+       (bsi_move_before): Same.
+       (tree_find_edge_insert_loc): Same.
+       Remove code handling a GIMPLE_MODIFY_STMT inside a RETURN_EXPR.
+       (delete_tree_cfg_annotations): Remove code to remove annotations.
+       * tree-ssa-operands.c (struct scb_d): Stmt_p is a gimple *.
+       (push_stmt_changes): Adjust for tuples.
+       (mark_difference_for_renaming): Same.
+       (pop_stmt_changes): Same.
+       (stmt_references_memory_p): Same.
+
+2007-08-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-operands.h: Remove DEF_OPS, USE_OPS, VUSE_OPS,
+       VDEF_OPS, LOADED_SYMS, STORED_SYMS.
+       * tree-pretty-print.c (dump_generic_node): Adjust accordingly.
+       (dump_vops): use gimple_v*_ops.  Adjust accordingly.
+       * gimple.def: Add to comment.
+       * tree-ssa-alias.c (create_structure_vars): Adjust for tuples.
+       * tree-flow-inline.h (op_iter_init): Make stmt gimple.  Use
+       gimple_*_ops functions.
+       (op_iter_init_use): Make stmt gimple.
+       (op_iter_init_def): Same.
+       (op_iter_init_vdef): Same.
+       (single_ssa_tree_operand): Same.
+       (single_ssa_use_operand): Same.
+       (single_ssa_def_operand): Same.
+       (zero_ssa_operands): Same.
+       (num_ssa_operands): Same.
+       (compare_ssa_operands_equal): Make stmt[12] gimple.
+       (link_use_stmts_after): Adjust for tuples.
+       * tree-ssa-structalias.c (update_alias_info): Use
+       gimple_stored_syms and gimple_loaded_syms.
+       * gimple.h (gimple_has_mem_ops): New.
+       (gimple_def_ops): New.
+       (set_gimple_def_ops): New.
+       (gimple_use_ops): New.
+       (set_gimple_use_ops): New.
+       (gimple_vuse_ops): New.
+       (set_gimple_vuse_ops): New.
+       (gimple_vdef_ops): New.
+       (set_gimple_vdef_ops): New.
+       (gimple_loaded_syms): New.
+       (gimple_stored_syms): New.
+       * tree-ssa-operands.c (finalize_ssa_defs): Adjust for tuples.
+       (copy_virtual_operands): Same.
+       (swap_tree_operands): Same.
+
+2007-08-28  Aldy Hernandez  <aldyh@redhat.com>
+
+       * Revert the parts of Kaveh's constification patch.that duplicate
+       API calls.
+
+2007-08-27  Diego Novillo  <dnovillo@google.com>
+
+       Merge with mainline @127831.
+       
+       * configure.ac (ACX_PKGVERSION): Update revision merge string.
+       * configure: Regenerate.
+       
+2007-08-25  Diego Novillo  <dnovillo@google.com>
+
+       * tree.c (build_gimple_modify_stmt_stat): Add depecrate note.
+       * omp-low.c (scan_omp_1): Disable.
+       (scan_omp): Likewise.
+       (lower_omp_for): Likewise.
+       (lower_omp_parallel): Likewise.
+       (lower_omp_1): Likewise.
+       (lower_omp): Likewise.
+       (diagnose_sb_1): Likewise.
+       (diagnose_sb_2): Likewise.
+       (diagnose_omp_structured_block_errors): Likewise.
+       * tree-gimple.h (_TREE_GIMPLE_H): Rename from _TREE_SIMPLE_H.
+       (gimplify_body): Return the new GIMPLE body.
+       (struct walk_stmt_info): Move to gimple.h.
+       * gimple-low.c (lower_function_body): Assert that the function
+       body is a single GIMPLE_BIND statement.
+       Create a new gimple sequence to lower the existing body.
+       Replace the function body with the new lowered sequence.
+       (pass_lower_cf): Enable GIMPLE lowering.
+       (lower_omp_directive): Disable.
+       (lower_stmt): Do not call lower_omp_directive.
+       (gimple_stmt_may_fallthru): Factor out of ...
+       (gimple_seq_may_fallthru): ... here.
+       * gimple-iterator.c (gsi_replace): New.
+       * gimple-iterator.h (gsi_replace): Declare.
+       * gimple-pretty-print.c: Do not include gimple-iterator.h
+       * gimplify.c (gimplify_asm_expr): Tidy.
+       Store the whole TREE_LIST node in the inputs and outputs vectors.
+       (gimple_push_cleanup): Disable completely.
+       (gimplify_body): Return a GIMPLE_BIND holding the gimplified
+       body.
+       Update all users.
+       (gimplify_function_tree): Create a GIMPLE sequence to hold
+       the gimplified body.
+       * tree-flow.h (gimple_stmt_may_fallthru): Declare.
+       * Makefile.in (GIMPLE_H): Add gimple-iterator.h.
+
+2007-08-25  Diego Novillo  <dnovillo@google.com>
+
+       * tree-nested.c: Re-implement to use GIMPLE tuples.
+       (init_tmp_var_with_call): New.
+       (init_tmp_var): Adapt to GIMPLE tuples.
+       (save_tmp_var): Likewise.
+       (convert_nl_goto_receiver): Likewise.
+       (finalize_nesting_tree_1): Likewise.
+       (gsi_gimplify_val): Likewise.
+       Rename from tsi_gimplify_val.  Update all users.
+       (walk_asm_expr): Remove.
+       (walk_stmts): Remove.
+       (walk_body): Call walk_gimple_seq.
+       Add new argument callback_op.  Update all users.
+       (walk_function): Add argument callback_op.  Update all users.
+       (convert_nonlocal_reference_op): Rename from
+       convert_nonlocal_omp_reference.  Update all users.
+       (convert_nonlocal_reference_stmt): New.  Handle GIMPLE
+       statements that used to be tree nodes.
+       (convert_local_reference_op): Rename from
+       convert_local_reference.  Update all users.
+       (convert_local_reference_stmt): New.  Handle GIMPLE statements
+       that used to be tree nodes.
+       (convert_nl_goto_reference): Convert to walk_stmt_fn callback.
+       Update all users.
+       (convert_tramp_reference_op): Rename from
+       convert_tramp_reference.  Update all users.
+       (convert_tramp_reference_stmt): New.  Handle GIMPLE statements
+       that used to be tree nodes.
+       (convert_gimple_call): Rename from convert_call_expr.  Convert
+       to be a walk_stmt_fn callback.
+       * gimple.c (gimple_seq_add): Rename from gimple_add.  Update
+       all users.
+       (walk_gimple_seq): Rename from walk_seq_ops.  Update all
+       users.
+       (walk_gimple_stmt): Rename from walk_tuple_ops.  Update all
+       users.
+       Use two callback functions one for statements and another for
+       operands.  If either is NULL do not invoke it.
+       Allow callbacks to replace operands.
+       (WALKIT): Remove.
+       (walk_gimple_asm): New.
+       * gimple.h: Include ggc.h
+       (gimple_seq_alloc): New.  Use everywhere a GIMPLE sequence is
+       allocated.
+       (gimple_op_ptr): New.
+       (gimple_call_arg_ptr): New.
+       (gimple_catch_types_ptr): New.
+       (gimple_eh_filter_types_ptr): New.
+       (gimple_omp_critical_name_ptr): New.
+       (gimple_omp_for_clauses_ptr): New.
+       (gimple_omp_for_index_ptr): New.
+       (gimple_omp_for_initial_ptr): New.
+       (gimple_omp_for_final_ptr): New.
+       (gimple_omp_for_incr_ptr): New.
+       (gimple_omp_parallel_clauses_ptr): New.
+       (gimple_omp_parallel_child_fn_ptr): New.
+       (gimple_omp_parallel_data_arg_ptr): New.
+       (gimple_omp_single_clauses_ptr): New.
+       (gimple_omp_sections_clauses_ptr): New.
+       (walk_stmt_fn): New type.
+       (struct walk_stmt_info): Move from tree-gimple.h.
+       Rename field callback to callback_op.
+       Add new field callback_stmt.
+       Replace field tsi with gsi of type gimple_stmt_iterator.
+       (walk_gimple_seq): Declare.
+       (walk_gimple_stmt): Declare.
+       * tree-cfg.c (execute_build_cfg): Do not call
+       build_gimple_cfg.
+       (pass_build_cfg): Enable.
+       Disable TODO_verify_stmts and TODO_cleanup_cfg.
+
+2007-08-22  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-phinodes.c (reserve_phi_args_for_new_edge): Comment out
+       call to phi_nodes_ptr.
+       (remove_phi_node): Same.
+       * tree-flow-inline.h (get_lineno): Work with empty statements or
+       empty locations.
+       (phi_nodes_ptr): Remove.
+       (phi_arg_index_from_use): Adjust for tuples.
+       (bsi_stmt_ptr): Add ATTRIBUTE_UNUSED.
+       (op_iter_init): Remove assertion.
+       (next_imm_use_stmt): Change NULL_TREE to NULL.
+       * tree-dfa.c (mark_symbols_for_renaming): Adjust for tuples.
+       * tree-flow.h: Remove bb_for_stmt prototype.
+       (mark_symbols_for_renaming): Make argument gimple.
+
+2007-08-22  Aldy Hernandez  <aldyh@redhat.com>
+
+       Change all instances of bb_for_stmt to gimple_bb throughout.
+
+       * gimple.h (gimple_omp_parallel_combined_p): New.
+       * tree-ssa-operands.h (update_stmt_operands): Argument is now
+       gimple.
+       * tree-ssa-threadupdate.c (rederiction_block_p): Use gimple_nop_p
+       instead of IS_EMPTY_STMT.
+       * tree-ssa-loop-niter.c: Disable use of COND_EXPR_COND.
+       * tree-pretty-print.c (dump_bb_header): Adjust for tuples.
+       * cgraph.c (cgraph_add_new_function): Rename
+       tree_register_cfg_hooks to gimple_register_cfg_hooks.
+       * value-prof.c (set_histogram_value): Stmt type is now gimple.
+       (gimple_histogram_value): Same.
+       (gimple_remove_histogram_value): Same.
+       (gimple_remove_stmt_histograms): Same.
+       * tree.h (struct ssa_use_operand_d): Same.
+       * value-prof.h (struct histogram_value_t): Same.
+       Change gimple_*histogram* prototypes to use gimple instead of
+       tree.
+       * ipa-cp.c (ipcp_insert_stage): Rename tree_register_cfg_hooks to
+       gimple_register_cfg_hooks.
+       * cfghooks.c (gimple_register_cfg_hooks): Rename from
+       tree_register_cfg_hooks.  Initialize cfg_hooks to gimple_cfg_hooks.
+       (current_ir_type): Rename tree_cfg_hooks to gimple_cfg_hooks.
+       * input.h (IS_LOCATION_EMPTY): New.
+       * cfghooks.h: Rename tree_cfg_hooks to gimple_cfg_hooks.  Rename
+       tree_register_cfg_hooks to gimple_register_cfg_hooks.
+       * omp-low.c (determine_parallel_type): Adjust for tuples.
+       (expand_omp_parallel): Rename bb_stmt_list to bb_seq.
+       (expand_omp_for_generic): Call gimple_omp_return_nowait_p.
+       (expand_omp_for_static_nochunk): Same.
+       (expand_omp_sections): Call gimple_omp_section_last_p.
+       (expand_omp_single): Comment out call to find_omp_clause.
+       Call gimple_omp_return_nowait_p.
+       * cgraphunit.c: Rename tree_register_cfg_hooks to
+       gimple_register_cfg_hooks.
+       * tree-ssa-propagate.c: Comment out non working code.
+       * matrix-reorg.c (matrix_reorg): Rename tree_register_cfg_hooks to
+       gimple_register_cfg_hooks.
+       * tree-eh.c (add_stmt_to_eh_region_fn): Change `t' type to gimple.
+       Adjust accordingly.
+       (add_stmt_to_eh_region): Same.
+       (remove_stmt_from_eh_region_fn): Same.
+       (remove_stmt_from_eh_region): Same.
+       (lookup_stmt_eh_region_fn): Same.
+       (lookup_stmt_eh_region): Same.
+       (make_eh_edges): Adjust for tuples.
+       (stmt_can_throw_internal): Rename from tree_can_throw_internal.
+       Adjust for tuples.
+       (maybe_clean_or_replace_eh_stmt): Arg types are now gimple.
+       * tree-vectorizer.c: Rename tree_register_cfg_hooks to
+       gimple_register_cfg_hooks.
+       * tree-if-conv.c (combine_blocks): Adjust for tuples.
+       * profile.c (branch_prob): Same.
+       * tree-flow-inline.h (bb_for_stmt): Remove.
+       (get_lineno): Adjust for tuples.
+       (noreturn_call_p): Same.
+       (mark_stmt_modified): Same.
+       (update_stmt): Same.
+       (update_stmt_if_modified): Same.
+       (stmt_modified_p): Same.
+       (link_imm_use_stmt): Same.
+       (relink_imm_use_stmt): Same.
+       (single_imm_use): Same.
+       (gimple_phi_arg_def): New.
+       (gimple_phi_arg_edge): New.
+       (phi_nodes): Adjust for tuples.
+       (phi_nodes_ptr): Same.
+       (set_phi_nodes): Same.
+       (bb_seq): Rename from bb_stmt_list and adjust for tuples.
+       (set_bb_seq): Rename from set_bb_stmt_list and adjust for tuples.
+       (bsi_start): Adjust for tuples.
+       (bsi_after_labels): Adjust for tuples.
+       (bsi_last): Same.
+       (bsi_next): Same.
+       (bsi_prev): Same.
+       (bsi_stmt): Same.
+       (bsi_stmt_ptr): Same.
+       (loop_containing_stmt): Same.
+       (delink_stmt_imm_use): Same.
+       (first_imm_use_stmt): Same.
+       (next_imm_use_stmt): Same.
+       * gimplify.c (force_gimple_operand_bsi): Same.
+       * coretypes.h (const_gimple): New.
+       * tree-ssa-phiopt.c (empty_block_p): Call gimple_nop_p.
+       (conditional_replacement): Comment out COND_EXPR_COND.
+       (value_replacement): Comment out COND_EXPR_COND.
+       (minmax_replacement): Same.
+       (abs_replacement): Same.
+       * except.h (*eh_region*): Change trees to gimple.
+       (struct throw_stmt_node): Change stmt type to gimple.
+       * cfgexpand.c (label_rtx_for_bb): Adjust for tuples.
+       (expand_gimple_cond_expr): Same.
+       (expand_gimple_basic_block): Same.
+       * tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Same.
+       * tree-ssa-pre.c (realify_fake_stores): Comment out non working
+       code.
+       * tree-ssa-forwprop.c (propagate_with_phi): Rename
+       tree_can_throw_internal stmt_can_throw_internal.
+       * tree-inline.c (copy_edges_for_bb): Rename
+       tree_can_throw_internal to stmt_can_throw_internal.
+       (initialize_cfun): Same.
+       (copy_cfg_body): Same.
+       (gimple_expand_calls_inline): Same.
+       (make_nonlocal_label_edges): Rename tree_can_make_abnormal_goto to
+       stmt_can_make_abnormal_goto.
+       * tree-optimize.c (tree_lowering_passes): Rename
+       tree_register_cfg_hooks to gimple_register_cfg_hooks.
+       (tree_rest_of_compilation): Same.
+       * tree-flow.h (struct gimple_df): Make modified_noreturn_calls a
+       vector of gimple types.
+       Adjust prototypes for tuples.
+       (struct block_stmt_iterator): Make iterator a gimple iterator.
+       (enum bsi_iterator_update): Remove BSI_CHAIN_START and
+       BSI_CHAIN_END.
+       * Makefile.in (tree-cfg.o): Depend on GIMPLE_H.
+       (GTFILES): Move gimple.[hc] entries before tree-flow.h.
+       * basic-block.h (struct edge_def): Make goto_locus of type
+       location_t.
+       (union basic_block_il_dependent): Adjust for tuples.
+       (gimple_bb_info): Rename from tree_bb_info.  Adjust for tuples.
+       * tree-cfg.c: Include gimple.h.
+       Adjust prototypes for tuples.
+       (build_gimple_cfg): Rename from build_tree_cfg.  Adjust for
+       tuples.
+       (execute_build_cfg): Rename build_tree_cfg call to
+       build_gimple_cfg.
+       (factor_computed_gotos): Adjust for tuples.
+       (make_blocks): Same.
+       (create_bb): Same.
+       (fold_cond_expr_cond): Same.
+       (make_edges): Same.
+       (make_cond_expr_edges): Same.
+       (make_switch_expr_edges): Same.
+       (make_goto_expr_edges): Same.
+       (cleanup_dead_labels): Same.
+       (group_case_labels): Same.
+       (tree_can_merge_blocks_p): Same.
+       (replace_uses_by): Same.
+       (tree_merge_blocks): Same.
+       (is_ctrl): Same.
+       (is_ctrl_altering_stmt): Same.
+       (computed_goto_p): Same.
+       (simple_goto_p): Same.
+       (stmt_can_make_abnormal_goto): Rename from
+       tree_can_make_abnormal_goto.
+       Adjust for tuples.
+       (stmt_starts_bb_p): Adjust for tuples.
+       (stmt_ends_bb_p): Same.
+       (first_stmt): Same.
+       (last_stmt): Same.
+       (last_and_only_stmt): Same.
+       (set_bb_for_stmt): Same.
+       (change_bb_for_stmt): Same.
+       (bsi_for_stmt): Same.
+       (update_modified_stmt): Rename from update_modified_stmts.
+       Adjust for tuples.
+       Handle only one statement.
+       (bsi_insert_before): Adjust for tuples.
+       (bsi_insert_after): Same.
+       (bsi_insert_seq_before): New.
+       (bsi_insert_seq_after): New.
+       (bsi_remove): Ajust for tuples.
+       (bsi_replace): Same.
+       (verify_stmt): Same.
+       (gimple_split_block): Rename from tree_split_block.
+       Adjust for tuples.
+       (tree_purge_dead_abnormal_call_edges): Adjust for tuples.
+       (tree_cfg_hooks): Same.
+       * tree-ssa-operands.c (update_stmt_operands): Same.
+
+2007-08-22  Aldy Hernandez  <aldyh@redhat.com>
+
+       * Makefile.in (TREE_GIMPLE_H): Depend on GIMPLE_H.
+       * gimple-iterator.h: Do not include gimple.h.
+       * gimple.h (OMP_SECTION_LAST_FLAG): New.
+       (gimple_omp_return_nowait_p): New.
+       (gimple_omp_section_last_p): New.
+       (gimple_switch_set_num_labels): New.
+       (gimple_nop_p): New.
+       
+2007-08-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       Revert this change:
+
+       2007-08-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple.c (gimple_call_flags): Make sure this is a GIMPLE_CALL.
+       
+2007-08-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-iterator.c (gsi_split_seq_after): New.
+       (gsi_split_seq_before): New.
+       * gimple-iterator.h: Prototype above two functions.
+       
+2007-08-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple.h (gimple_has_ops): New.
+       (gimple_modified): New.
+       (set_gimple_modified): New.
+       (gimple_switch_default_label): Call gimple_switch_label.
+       (gimple_switch_set_default_label): Call gimple_switch_set_label.
+
+2007-08-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple.c (gimple_call_flags): Make sure this is a GIMPLE_CALL.
+       
+2007-08-14  Diego Novillo  <dnovillo@google.com>
+
+       Merge with mainline @127480.
+
+       * version.c (VERSUFFIX): Update.
+       
+2007-08-09  Diego Novillo  <dnovillo@google.com>
+
+       * gimple-low.c: Document conversion to Low GIMPLE.
+       * Makefile.in (gimple.o): Add dependency on gt-gimple.h
+       (GTFILES): Add gimple.c.
+       * gimple.c (gimple_bodies_vec): New.
+       (gimple_bodies_map): Rename from gimple_bodies.
+       (gss_for_code): Return GSS_ASM for GIMPLE_ASM.
+       (walk_tuple_ops): Handle GSS_ASM like GSS_WITH_OPS.
+       (set_gimple_body): Push body into gimple_bodies_vec and create
+       a mapping to array index in gimple_bodies_map.
+       (gimple_body): Corresponding changes to use gimple_bodies_map
+       and gimple_bodies_vec.
+       * gimple.h: Create VEC templates for gimple_seq.
+
+2007-08-08  Aldy Hernandez  <aldy@quesejoda.com>
+
+       * gimple-low.c (struct return_statements_t): Declare.
+       (struct lower_data): Make return_statements a vector.
+       (lower_function_body): Adjust for tuples.
+       (pass_lower_cf): Add PROP_gimple_any to properties_required.
+       (lower_sequence): Rename from lower_stmt_body.
+       Adjust for tuples.
+       (lower_omp_directive): Adjust for tuples.
+       (lower_stmt): Same.
+       (lower_gimple_bind): Rename from lower_bind_expr.
+       Adjust for tuples.
+       (gimple_try_catch_may_fallthru): New.
+       (gimple_seq_may_fallthru): New.
+       (lower_gimple_return): Rename from lower_return_expr and adjust
+       for tuples.
+       (lower_builtin_setjmp): Adjust for tuples.
+       * gimple-iterator.c: New.
+       * gimple-iterator.h: Include gimple.h.
+       (enum gsi_iterator_update): Declare.
+       (gsi_link_seq_before): New prototype.
+       (gsi_link_before): Same.
+       (gsi_link_seq_after): Same.
+       (gsi_link_after): Same.
+       (gsi_delink): Same.
+       * gimplify.c (gimplify_body): Comment out verify_gimple_1 call.
+       * tree-flow.h (gimple_seq_may_fallthru): New prototype.
+       * Makefile.in (OBJS-common): Add gimple-iterator.o.
+       (gimple-iterator.o): New.
+       (gimple-pretty-print.o): Do not depend on gimple-iterator.h.
+       * gimple.c (set_gimple_prev): Move to gimple.h.
+       (set_gimple_next): Same.
+       (gimple_call_flags): New.
+       * gimple.h (struct gimple_sequence): Add GTY marker.
+       (struct gimple_statement_bind): Add block field.
+       (set_gimple_prev): New.
+       (set_gimple_next): New.
+       (gimple_call_flags): Protoize.
+       (gimple_call_fndecl): New.
+       (gimple_bind_block): New.
+       (gimple_bind_set_block): New.
+
+
+2007-08-08  Diego Novillo  <dnovillo@google.com>
+
+       * gimple.h (GIMPLE_CHECK, GIMPLE_CHECK2, GIMPLE_RANGE_CHECK):
+       Do not return the checked statement.  Update all users.
+       Enable on compilers other than GCC.
+
+2007-08-07  Chris Matthews  <chrismatthews@google.com>
+
+       * gimple_iterator.h (gsi_start): Changed to produce a pointer instead of
+       struct.  Updated clients.
+       (gsi_last): Same.
+       (gsi_end_p): Changed to operate on a pointer instead of struct.  Updated
+       clients.
+       (gsi_one_before_end_p): Same.
+       (gsi_next): Same.
+       (gsi_prev): Same.
+       (gsi_stmt): Same.
+       
+2007-08-07  Diego Novillo  <dnovillo@google.com>
+
+       Merge with mainline @127277.
+
+       * version.c (VERSUFFIX): Update.
+
+2007-08-07  Diego Novillo  <dnovillo@google.com>
+
+       * gimple.h (gimple_call_return): New.
+       * gimplify.c (get_tmp_var_for): Call it.
+
+2007-08-02  Chris Matthews  <chrismatthews@google.com>
+
+       * gimplify.c (gimplify_asm_expr): Created new gimple tuple.
+       * gimple-pretty-printer.c (dump_gimple_asm): Added function to dump a
+       GIMPLE_ASM statement.
+       (dump_gimple_stmt): Updated to use the dump_gimple_asm function.
+       * gimple.c (gss_for_code): Made asm statements return as with_mem_ops.
+       (build_gimple_with_ops): Asm statements are added as a specal case for
+       allocation because they have extra fields that are not
+       allocated correctly in the current generic op allocator.
+       (build_gimple_asm_1): Added a helper function to setup the basics of a
+       GIMPLE_ASM tuple.
+       (build_gimple_asm_vec): Create a GIMPLE_ASM tuple from vector arguments.
+       (build_gimple_asm): Changed to call the new helper function.
+
+2007-08-03  Diego Novillo  <dnovillo@google.com>
+
+       * gimple-pretty-print.c (INDENT): Tidy.
+       (dump_binary_rhs): New.
+       (dump_gimple_assign): Call it.
+       * gimplify.c (gimplify_modify_expr_complex_part): If the value
+       is not interesting, nullify *EXPR_P.
+       (gimplify_body): Do not add the sequence to the GIMPLE_BIND more
+       than once.
+
+2007-08-01  Diego Novillo  <dnovillo@google.com>
+
+       * gimplify.c (gimplify_switch_expr): Remove switch_body_seq_.
+       Change switch_body_seq to struct gimple_sequence.
+       Adjust all uses.
+       Call gimplify_stmt instead of gimplify_statement_list
+       (gimplify_to_stmt_list): Remove.
+       Update all users.
+       * tree-mudflap.c: Include gimple.h
+       (mf_decl_cache_locals): Convert to emit GIMPLE.
+       (mf_build_check_statement_for): Add FIXME and unreachable
+       markers to convert to GIMPLE.
+       * Makefile.in (tree-mudflap.o): Depend on $(GIMPLE_H).
+       * config/i386/i386.c (ix86_gimplify_va_arg): Adapt to emit
+       GIMPLE.
+
+2007-08-01  Diego Novillo  <dnovillo@google.com>
+
+       * gimplify.c (gimplify_switch_expr): Do not call sort_case_labels
+       if there are no labels other than 'default'.
+       * gimple.h (gimple_num_ops, gimple_op, gimple_set_op): Use
+       result of GIMPLE_RANGE_CHECK call.
+
+2007-08-01  Diego Novillo  <dnovillo@google.com>
+
+       * DEV-PHASE: Revert to mainline version.
+       * version.c (VERSUFFIX): Add branch name and revision number
+       of latest mainline merge.
+
+2007-07-31  Diego Novillo  <dnovillo@google.com>
+
+       Mainline merge (@127100).
+       * DEV-PHASE: Updated.
+
+2007-07-31  Diego Novillo  <dnovillo@google.com>
+
+       * dominance.c (free_dominance_info): If there is no CFG,
+       do nothing.
+       * cfg.c (compact_blocks): Likewise.
+
+2007-07-30  Diego Novillo  <dnovillo@google.com>
+
+       * gimplify.c (get_tmp_var_for): When creating a new temporary
+       for a GIMPLE_CALL, use the type returned by the function call
+       instead of the type of the function decl.
+       * gimple.c (build_gimple_return): Accept NULL and RESULT_DECL
+       return values.
+
+2007-07-30  Diego Novillo  <dnovillo@google.com>
+
+       * gimplify.c (gimplify_init_constructor): If both sides
+       of the constructor are in GIMPLE form but the assignment
+       has not been emitted, emit it.
+
+2007-07-28  Diego Novillo  <dnovillo@google.com>
+
+       * gimplify.c (gimplify_return_expr): Do not create a MODIFY_EXPR
+       as return argument
+       * gimple.c (build_gimple_return): Assert that the returned value
+       is a GIMPLE value.
+
+2007-07-27  Diego Novillo  <dnovillo@google.com>
+
+       * tree-gimple.c (get_gimple_rhs_class): New.
+       (is_gimple_formal_tmp_rhs): Call it.
+       * tree-gimple.h (enum gimple_rhs_class): New.
+       * gimple-iterator.h (gsi_next): Assert that there is nothing
+       beyond the end of the sequence.
+       (gsi_prev): Assert that there is nothing before the start of
+       the sequence.
+       * gimplify.c (gimplify_switch_expr): Tidy creation of default label.
+       (gimplify_expr): Fix concatenation of internal sequences to PRE_P.
+       * gimple.c (get_num_ops_for): Remove.  Update users.
+       (build_gimple_assign): Call get_gimple_rhs_class to determine
+       how many operands to allocate.
+       (gimple_add): Assert that GS does not have previous or next
+       statements.
+       (gimple_seq_append): Move from gimple.h.
+
+2007-07-27  Aldy Hernandez  <aldy@quesejoda.com>
+
+       * cgraph.c: Fix line wrap.
+       * cgraph.h: Same.
+       * tree-pass.h (struct tree_opt_pass): Add works_with_tuples_p
+       field.
+       * cgraphunit.c (cgraph_analyze_functions): Remove check for
+       DECL_SAVED_TREE.
+       (cgraph_expand_function): Comment out TREE_ASM_WRITTEN assertion.
+       * tree-optimize.c (tree_lowering_passes): Comment out call to
+       compact_blocks.
+       * passes.c (execute_one_pass): Return if pass has not been
+       converted to tuples.
+       * tree-vrp.c, regrename.c, fwprop.c, tree-into-ssa.c,
+       tree-complex.c, see.c, cgraphbuild.c, tracer.c, cgraph.c,
+       postreload-gcse.c, postreload.c, tree-ssa-loop-ch.c,
+       tree-tailcall.c, tree-pass.h, ipa-cp.c, final.c, omp-low.c,
+       tree-ssa-dse.c, ipa-reference.c, tree-ssa-uncprop.c,
+       auto-inc-dec.c, reorg.c, tree-ssa-copyrename.c, tree-ssa-ccp.c,
+       df-core.c, mode-switching.c, tree-nomudflap.c, modulo-sched.c,
+       ipa-pure-const.c, cse.c, web.c, tree-stdarg.c,
+       tree-ssa-math-opts.c, tree-ssa-dom.c, tree-nrv.c,
+       tree-ssa-alias.c, loop-init.c, gimple-low.c, tree-ssa-sink.c,
+       ipa-inline.c, global.c, jump.c, ifcvt.c, predict.c,
+       tree-ssa-loop.c, recog.c, dse.c, tree-ssa-ifcombine.c,
+       matrix-reorg.c, c-decl.c, tree-eh.c, regmove.c, local-alloc.c,
+       function.c, tree-vectorizer.c, gcse.c, ipa-type-escape.c,
+       tree-if-conv.c, init-regs.c, ipa.c, tree-ssa-phiopt.c,
+       rtl-factoring.c, lower-subreg.c, bt-load.c, tree-dfa.c except.c,
+       emit-rtl.c, cfgexpand.c, tree-cfgcleanup.c, cfgcleanup.c,
+       tree-ssa-pre.c, tree-sra.c, tree-mudflap.c, tree-ssa-copy.c,
+       cfglayout.c, tree-ssa-forwprop.c, tree-ssa-dce.c, tree-ssa.c,
+       regclass.c, integrate.c, tree-optimize.c, tree-object-size.c,
+       combine.c, tree-outof-ssa.c, bb-reorder.c, stack-ptr-mod.c,
+       var-tracking.c, tree-profile.c, tree-vect-generic.c, reg-stack.c,
+       sched-rgn.c, tree-ssa-structalias.c, tree-cfg.c, passes.c,
+       tree-ssa-reassoc.c, combine-stack-adj.c, cfgrtl.c, dce.c,
+       tree-ssanames.c: Set works_with_tuples_p field to 0.
+
+2007-07-25  Diego Novillo  <dnovillo@google.com>
+
+       * gimple.c: Use ENABLE_GIMPLE_CHECKING instead of
+       ENABLE_TREE_CHECKING.
+       (set_gimple_code): New.
+       (set_gimple_prev): New.
+       (set_gimple_next): New.
+       * gimple.h: Use ENABLE_GIMPLE_CHECKING instead of
+       ENABLE_TREE_CHECKING.
+       (gimple_code): Inline function replacement for GIMPLE_CODE.
+       (gimple_flags): Inline function replacement for GIMPLE_SUBCODE_FLAGS.
+       (gimple_next): Inline function replacement for GIMPLE_NEXT.
+       (gimple_prev): Inline function replacement for GIMPLE_PREV.
+       (gimple_locus): Inline function replacement for GIMPLE_LOCUS.
+       (gimple_locus_empty_p): Inline function replacement for
+       GIMPLE_LOCUS_EMPTY_P.
+       (struct gimple_statement_base): Rename field 'subcode_flags'
+       to 'flags'.
+       (set_gimple_flags): New.
+       (gimple_bb): New.
+       (set_gimple_bb): New.
+       (set_gimple_block): New.
+       (set_gimple_locus): New.
+       (add_gimple_flag): Rename from gimple_add_subcode_flag.
+
+2007-07-25  Diego Novillo  <dnovillo@google.com>
+
+       * tree-gimple.h (build_gimple_eh_filter_tree): Rename from
+       gimple_build_eh_filter_tree.
+       * gimple.h (build_gimple_return): Rename from gimple_build_return.
+       (build_gimple_assign): Rename from gimple_build_assign.
+       (build_gimple_call_vec): Rename from gimple_build_call_vec.
+       (build_gimple_call): Rename from gimple_build_call.
+       (build_gimple_label): Rename from gimple_build_label.
+       (build_gimple_goto): Rename from gimple_build_goto.
+       (build_gimple_nop): Rename from gimple_build_nop.
+       (build_gimple_bind): Rename from gimple_build_bind.
+       (build_gimple_asm): Rename from gimple_build_asm.
+       (build_gimple_catch): Rename from gimple_build_catch.
+       (build_gimple_eh_filter): Rename from gimple_build_eh_filter.
+       (build_gimple_try): Rename from gimple_build_try.
+       (build_gimple_phi): Rename from gimple_build_phi.
+       (build_gimple_resx): Rename from gimple_build_resx.
+       (build_gimple_switch): Rename from gimple_build_switch.
+       (build_gimple_switch_vec): Rename from gimple_build_switch_vec.
+       (build_gimple_omp_parallel): Rename from gimple_build_omp_parallel.
+       (build_gimple_omp_for): Rename from gimple_build_omp_for.
+       (build_gimple_omp_critical): Rename from gimple_build_omp_critical.
+       (build_gimple_omp_section): Rename from gimple_build_omp_section.
+       (build_gimple_omp_continue): Rename from gimple_build_omp_continue.
+       (build_gimple_omp_master): Rename from gimple_build_omp_master.
+       (build_gimple_omp_return): Rename from gimple_build_omp_return.
+       (build_gimple_omp_ordered): Rename from gimple_build_omp_ordered.
+       (build_gimple_omp_sections): Rename from gimple_build_omp_sections.
+       (build_gimple_omp_single): Rename from gimple_build_omp_single.
+       Update all users.
+
+2007-07-24  Chris Matthews  <chrismatthews@google.com>
+
+       * configure.ac: Added support for ENABLE_GIMPLE_CHECKING and the
+       --enable-checking=gimple flag.
+       * config.in: Same.
+       * configure: Regenerated.
+       * gimplify.c (cpt_same_type): Same.
+       (gimple_push_condition): Same.
+       (gimplify_addr_expr): Same.
+       (gimplify_expr): Same.
+       (gimplify_body): Same.
+       (check_pointer_types_r): Same.
+
+2007-07-24  Diego Novillo  <dnovillo@google.com>
+
+       * gimple.def: Re-organize codes that take tree operands so
+       they are consecutive.
+       * gsstruct.def (GSS_LABEL, GSS_ASSIGN_BINARY, GSS_ASSIGN_UNARY_REG,
+       GSS_ASSIGN_UNARY_MEM, GSS_COND, GSS_GOTO, GSS_SWITCH, GSS_CALL,
+       GSS_RETURN): Remove.  Update al users.
+       * gimple.c (gss_for_code): New.
+       (gimple_statement_structure): Call it.
+       (get_num_ops_for): New.
+       (gimple_build_with_ops): New.
+       (gimple_build_return, gimple_build_call_1, gimple_build_assign,
+       gimple_build_cond, gimple_build_label, gimple_build_goto,
+       gimple_build_switch_1, ): Call it.
+       (gss_for_assign): Remove.  Update all users.
+       (gimple_check_failed): Do not assume that subcode is a valid tree
+       code.
+       (gimple_range_check_failed): New.
+       (walk_tuple_ops): Implement in terms of gimple_num_ops and
+       gimple_op when dealing with GSS_WITH_OPS and GSS_WITH_MEM_OPS
+       statements.
+       * gimple.h (struct gimple_statement_with_ops): Add fields 'num_ops'
+       and 'op'.
+       (struct gimple_statement_label, gimple_statement_assign_binary,
+       gimple_statement_assign_unary_reg, gimple_statement_assign_unary_mem,
+       gimple_statement_cond, gimple_statement_goto, gimple_statement_switch,
+       gimple_statement_call, gimple_statement_return): Remove.
+       Update all users.
+       (gimple_range_check_failed): Declare.
+       (GIMPLE_RANGE_CHECK): Define.
+       (gimple_num_ops): New.
+       (gimple_op): New.
+       (gimple_set_op): New.
+       (gimple_assign_rhs1): Rename from gimple_assign_binary_rhs1.
+       (gimple_assign_set_rhs1): Rename from gimple_assign_binary_set_rhs1.
+       (gimple_assign_rhs2): Rename from gimple_assign_binary_rhs2.
+       (gimple_assign_set_rhs2): Rename from gimple_assign_binary_set_rhs2.
+       (gimple_assign_unary_rhs): Remove.  Update all users.
+       (gimple_assign_unary_set_rhs): Likewise.
+       (gimple_switch_num_labels): Rename from gimple_switch_nlabels.
+       (gimple_call_fn, gimple_call_lhs, gimple_call_chain,
+       gimple_call_set_chain, gimple_call_nargs, gimple_call_arg,
+       gimple_call_set_arg, gimple_cond_lhs, gimple_cond_set_lhs,
+       gimple_cond_rhs, gimple_cond_set_rhs, gimple_cond_true_label,
+       gimple_cond_false_label, gimple_cond_set_true_label,
+       gimple_cond_set_false_label, gimple_label_label,
+       gimple_label_set_label, gimple_goto_dest,
+       gimple_goto_set_dest, gimple_asm_input_op,
+       gimple_asm_set_input_op, gimple_asm_output_op,
+       gimple_asm_set_output_op, gimple_asm_clobber_op,
+       gimple_asm_set_clobber_op, gimple_switch_num_labels,
+       gimple_switch_index, gimple_switch_set_index,
+       gimple_switch_default_label, gimple_switch_set_default_label,
+       gimple_switch_label, gimple_switch_set_label,
+       gimple_return_retval, gimple_return_set_retval): Implement
+       using the array of operands in field 'with_ops'.
+       (gimple_asm_set_ninputs, gimple_asm_set_noutputs,
+       gimple_asm_set_nclobbered, gimple_asm_set_string): Remove.
+       Update all users.
+
+
+2007-07-24  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree.c (get_callee_fndecl): Revert previous change.
+       * gimplify.c (gimplify_call_expr): Use result from
+       get_callee_fndecl if available.
+       * c-common.c (c_warn_unused_result): Do not use
+       get_callee_fndecl.
+       Add assertion.
+
+2007-07-24  Diego Novillo  <dnovillo@google.com>
+
+       Merge with mainline (@126872)
+
+2007-07-23  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree.c (get_callee_fndecl): Work when only the CALL_EXPR_FN has
+       been passed.
+       * c-common.c (c_warn_unused_result): Use get_callee_fndecl.
+       
+2007-07-23  Aldy Hernandez  <aldyh@redhat.com>
+
+       * c-decl.c: Include gimple.h.
+       (c_gimple_diagnostics_recursively): Call c_warn_unused_result with
+       tuplified body.
+       Exit if -fgimple-only.
+       * gimplify.c (gimplify_call_expr): Call gimple_build_call_vec with
+       the correct callee.
+       * c-gimplify.c (c_genericize): Remove exit.
+       * c-common.c: Include gimple.h.
+       (c_warn_unused_result): Tuplify.
+       * c-common.h (c_warn_unused_result): Protoize.
+       * Makefile.in (c-decl.o): Depend on GIMPLE_H.
+       (c-common.o): Same.
+       * gimple.c (gimple_build_catch): Handler is a sequence.
+       Adjust accordingly.
+       (gimple_build_eh_filter): Failure is a sequence.
+       Adjust accordingly.
+       (walk_tuple_ops): case GIMPLE_CATCH: Walk handler as a sequence.
+       case GIMPLE_EH_FILTER: Walkder failure as a sequence.
+       * gimple.h (gimple_statement_catch): Make handler a sequence.
+       (gimple_statement_eh_filter): Make failure a sequence.
+       (gimple_build_catch): Make second argument a sequence.
+       (gimple_build_eh_filter): Same.
+       (gimple_catch_handler): Return a sequence.
+       (gimple_catch_set_handler): Make second argument a sequence.
+       (gimple_eh_filter_failure): Return a sequence.
+       (gimple_eh_filter_set_failture): Make second argument a sequence.
+
+2007-07-20  Aldy Hernandez  <aldyh@redhat.com> 
+
+       * gimplify.c (gimplify_return_expr): Handle an empty ret_expr
+       gracefully.
+
+2007-07-19  Aldy Hernandez  <aldyh