* cgraphunit.c (cgraph_estimate_size_after_inlining): Compute
call cost based on argument sizes.
(cgraph_mark_inline_edge): Avoid inline unit from shringking by
inlining.
* params.def: (max-inline-inssn-single): Set to 450.
(max-inline-insns-auto): Set to 90.
(max-inline-insns-recursive): Set to 450
(max-inline-insns-recursive-auto): Set to 450.
(large-function-insns): Set to 2700.
(inline-call-cost): New parameter.
* tree-inline.c (estimate_move_cost): New function.
(estimate_num_insns_1): Compute move sizes costs by estimate_move_cost
for non-gimple-regs, set cost to 0 for gimple-regs. Compute call size
based on arguments.
* tree-inline.h (estimate_move_cost): Declare.
* invoke.texi: (max-inline-inssn-single): Change default to 450.
(max-inline-insns-auto): Change default to 90.
(max-inline-insns-recursive): Change default to 450
(max-inline-insns-recursive-auto): Change default to 450.
(large-function-insns): Change default to 2700.
(inline-call-cost): Document new parameter.
* gcc.dg/winline-6.c: Modify so inlined function have nonzero cost.
Co-Authored-By: Jan Hubicka <jh@suse.cz>
From-SVN: r96892
PR target/20561
* cfglayout.c (reemit_insn_block_notes): Don't put block notes in
between jump table and its label.
* final.c (shorten_branches): Handle notes in between ADDR_VEC
resp. ADDR_DIFF_VEC and the label preceeding it.
(final_scan_insn): Likewise. Ensure ADDR_VEC resp. ADDR_DIFF_VEC
is emitted in the right section.
* gcc.dg/20050321-2.c: New test.
From-SVN: r96867
PR rtl-optimization/20527
* combine.c (can_combine_p) [AUTO_INC_DEC]: When INSN has an
REG_INC note, test that the register also isn't mentioned in PRED
or SUCC.
From-SVN: r96853
* gcc.misc-tests/options.exp (check_for_options): Create a real C
program, compile it into a real executable and then delete the .c
and .x files afterwards, to avoid problems on testglue targets.
From-SVN: r96844
2005-03-21 Chris Jefferson <chris@bubblescope.net>
PR libstdc++/20577
* include/bits/stl_algobase.h (iter_swap): Only delegate iter_swap
to swap when the iterator's reference_type is a reference to its
value_type.
* testsuite/25_algorithms/iter_swap/20577.cc: New.
From-SVN: r96837
PR middle-end/20557
* bb-reorder.c (duplicate_computed_gotos): Use can_duplicate_block_p
to determine whether a block can be duplicated, rather than test
whether the block contains noncopyable insns ourselves.
From-SVN: r96836
* Makefile.def: Remove libstdcxx_incdir, libsubdir, gxx_include_dir,
gcc_version, and gcc_version_trigger from set of flags to pass.
* Makefile.tpl: Remove definitions of above variables.
(config.status): Remove dependency on $(gcc_version_trigger).
* Makefile.in: Regenerate.
* configure.in: Do not reference config/gcc-version.m4 nor
config/gxx-include-dir.m4. Do not invoke TL_AC_GCC_VERSION nor
TL_AC_GXX_INCLUDE_DIR. Do not set gcc_version_trigger.
* configure: Regenerate.
From-SVN: r96827
config:
* gxx-include-dir.m4: In all substitutions, leave $(gcc_version)
to be expanded by the Makefile.
libjava:
* configure.ac: Do not invoke TL_AC_GCC_VERSION. Do not
set tool_include_dir. In all substitutions, leave $(gcc_version)
to be expanded by the Makefile.
* aclocal.m4, configure: Regenerate.
* Makefile.am: Set gcc_version. Replace all uses of
@gcc_version@ with $(gcc_version).
* external/Makefile.am, external/sax/Makefile.am
* external/w3c_dom/Makefile.am, gcj/Makefile.am
* testsuite/Makefile.am: Set gcc_version.
* include/Makefile.am: Set gcc_version and tool_include_dir.
* Makefile.in, external/Makefile.in, external/sax/Makefile.in
* external/w3c_dom/Makefile.in, gcj/Makefile.in, include/Makefile.in
* testsuite/Makefile.in: Regenerate.
From-SVN: r96825
* configure.ac: Do not invoke TL_AC_GCC_VERSION.
Do not set tool_include_dir.
* aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
Regenerate.
* include/Makefile.am: Set gcc_version and toollibffidir.
* include/Makefile.in: Regenerate.
From-SVN: r96823
(BASEVER_c, DEVPHASE_c, DATESTAMP_c)
(BASEVER_s, DEVPHASE_s, DATESTAMP_s, version): Set with :=.
(itoolsdir, itoolsdatadir): Move definition above new first use.
(install-itoolsdirs): New rule.
(install-mkheaders): Depend on install-itoolsdirs, not
install-include-dir.
From-SVN: r96821
* Makefile.in: Set gcc_version directly, not via substitution.
(libsubdir): Use $(gcc_version), not $(version).
(mkheaders.almost): New rule.
(mkheaders): Generate from mkheaders.almost.
(clean): Also delete mkheaders.almost.
* aclocal.m4: Do not include ../config/gcc-version.m4.
* configure.ac: Do not invoke TL_AC_GCC_VERSION. Generate
mkheaders.almost from mkheaders.in.
* configure: Regenerate.
From-SVN: r96819
* configure.ac: Do not invoke TL_AC_GCC_VERSION.
In all substitutions, leave gcc_version to be expanded by the Makefile.
* aclocal.m4, configure: Regenerate.
* Makefile.am: Set gcc_version.
* Makefile.in: Regenerate.
From-SVN: r96818
* configure.ac: Do not invoke TL_AC_GCC_VERSION.
In all substitutions, expand gcc_version in Makefile.
* aclocal.m4, configure: Regenerate.
* Makefile.am: Set gcc_version.
* Makefile.in, testsuite/Makefile.in: Regenerate.
From-SVN: r96817
* Makefile.in: Set gcc_version here.
* configure.ac: Do not invoke TL_AC_GCC_VERSION. Adjust quoting
in definition of toolexeclibdir so that $(gcc_version) is expanded
by the Makefile.
* aclocal.m4, configure: Regenerate.
From-SVN: r96816
2005-03-21 Richard Guenther <rguenth@gcc.gnu.org>
PR target/20166
* inclhack.def: Add fix for array of incomplete structures
in function prototype in pthread.h.
* fixincl.x: Regenerate.
* tests/base/pthread.h: Adjust.
From-SVN: r96812
2005-03-21 Richard Guenther <rguenth@gcc.gnu.org>
* tree-ssa-loop.c (gate_tree_complete_unroll): Run complete
unrolling if -fpeel-loops is specified, too.
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
Remove superfluous check for flag_unroll_loops.
From-SVN: r96808
* optabs.h (enum optab_index): Add new OTI_lrint and OTI_llrint.
(lrint_optab, llrint_optab): Define corresponding macros.
* optabs.c (init_optabs): Initialize lrint_optab and llrint_optab.
* genopinit.c (optabs): Implement lrint_optab using lrintsi2
pattern and llrint_optab using llrintdi2 patterns.
* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LRINT{,F,L}
using lrint_optab and BUILT_IN_LLRINT{,F,L} using llrint_optab.
(expand_builtin): Expand BUILT_IN_LRINT{,F,L} and
BUILT_IN_LLRINT{,F,L} using expand_builtin_mathfn if
flag_unsafe_math_optimizations is set.
testsuite:
* gcc.dg/builtins-46.c: Also check lrint* and llrint*.
From-SVN: r96802