gcc/gcc/doc
Paolo Bonzini bc23502b7f re PR tree-optimization/23109 (compiler generates wrong code leading to spurious division by zero with -funsafe-math-optimizations (instead of -ftrapping-math))
gcc:
2006-01-11  Paolo Bonzini  <bonzini@gnu.org>

	PR tree-optimization/23109
	PR tree-optimization/23948
	PR tree-optimization/24123

	* Makefile.in (tree-ssa-math-opts.o): Adjust dependencies.
        * tree-cfg.c (single_noncomplex_succ): New.
        * tree-flow.h (single_noncomplex_succ): Declare it.
        * tree-ssa-math-opts.c (enum place_reciprocal): Remove.
        * tree-ssa-math-opts.c (enum place_reciprocal): Remove.
        (struct occurrence, occ_head, occ_pool, is_divide_by, compute_merit,
	insert_bb, register_division_in, insert_reciprocals,
	replace_reciprocal, free_bb): New.
        (execute_cse_reciprocals_1): Rewritten.
        (execute_cse_reciprocals): Adjust calls to execute_cse_reciprocals_1.
        Do not commit any edge insertion.  Always compute dominators and
        create the allocation pool.
        * target-def.h (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): New.
	* target.h (struct gcc_target): Add min_divistions_for_recip_mul.
	* targhooks.c (default_min_divistions_for_recip_mul): New.
	* targhooks.h (default_min_divistions_for_recip_mul): New prototype.
        * passes.c (init_optimization_passes): Run recip after tree loop
        optimizations.
        * doc/tm.texi (Misc): Document TARGET_MIN_DIVISIONS_FOR_RECIP_MUL.

gcc/testsuite:
2006-01-11  Paolo Bonzini  <bonzini@gnu.org>
        
        PR tree-optimization/23109
        PR tree-optimization/23948
        PR tree-optimization/24123

        * gcc.dg/tree-ssa/recip-3.c, gcc.dg/tree-ssa/recip-4.c,
        gcc.dg/tree-ssa/recip-5.c, gcc.dg/tree-ssa/recip-6.c,
        gcc.dg/tree-ssa/recip-7.c, gcc.dg/tree-ssa/pr23109.c,
        g++.dg/tree-ssa/pr23948.C: New testcases.
        * gcc.dg/tree-ssa/recip-2.c, gcc.dg/tree-ssa/pr23234.c: Provide
	three divisions in order to do the optimization.

From-SVN: r109578
2006-01-11 13:02:18 +00:00
..
include
bugreport.texi
c-tree.texi
cfg.texi
collect2.texi
compat.texi
configfiles.texi
configterms.texi
contrib.texi
contribute.texi
cpp.texi
cppenv.texi
cppinternals.texi
cppopts.texi
extend.texi
fragments.texi
frontends.texi
gcc.texi
gccint.texi
gcov.texi
gnu.texi
gty.texi
headerdirs.texi
hostconfig.texi re PR driver/20425 (-print-search-dirs doesn't honor mutil-os/multilib settings) 2005-12-16 20:16:22 +10:30
implement-c.texi
install-old.texi
install.texi configure.ac: Enable C extension for decimal float if invoked with --enable-decimal-float. 2005-12-21 11:43:21 +11:00
install.texi2html
interface.texi
invoke.texi invoke.texi (Objective-C and Objective-C++ Dialect Options -fobjc-exceptions): Don't imply this doesn't work with the GNU runtime. 2005-12-29 19:39:29 +00:00
languages.texi
libgcc.texi
makefile.texi
md.texi
objc.texi * doc/objc.texi (Type encoding): Fix typo. 2005-12-18 09:49:15 +00:00
options.texi
passes.texi
portability.texi
rtl.texi
service.texi
sourcebuild.texi
standards.texi
tm.texi re PR tree-optimization/23109 (compiler generates wrong code leading to spurious division by zero with -funsafe-math-optimizations (instead of -ftrapping-math)) 2006-01-11 13:02:18 +00:00
tree-ssa.texi
trouble.texi