Age | Commit message (Collapse) | Author | Files | Lines |
|
* gcc.dg/tree-ssa/loop-25.c: Verify the result in the profile pass.
From-SVN: r121793
|
|
PR rtl-optimization/29599
* reload1.c (eliminate_regs_in_insn): Take the destination
mode into account when computing the offset.
From-SVN: r121792
|
|
* gfortran.dg/secnds.f: Replace time tolerance with a
before-and-after bracket.
* gfortran.dg/secnds-1.f: Likewise.
From-SVN: r121791
|
|
* gcc/config/i386/i386.h (TARGET_KEEPS_VECTOR_ALIGNED_STACK): New.
* gcc/config/i386/darwin.h: (TARGET_KEEPS_VECTOR_ALIGNED_STACK): New.
* gcc/config/i386/i386.md (fixuns_trunc<mode>si2, fixuns_truncsfhi2,
fixuns_truncdfhi2): New.
(fix_truncsfdi_sse): Call ix86_expand_convert_sign_didf_sse.
(floatunsdidf2): Call ix86_expand_convert_uns_didf_sse.
(floatunssisf2): Add call to ix86_expand_convert_uns_sisf_sse.
(floatunssidf2): Allow nonimmediate source.
* gcc/config/i386/sse.md (movdi_to_sse): New. (vec_concatv2di): Drop '*'.
* gcc/config/i386/i386-protos.h (ix86_expand_convert_uns_si_sse,
ix86_expand_convert_uns_didf_sse, ix86_expand_convert_uns_sidf_sse,
ix86_expand_convert_uns_sisf_sse, ix86_expand_convert_sign_didf_sse): New.
* gcc/config/i386/i386.c (ix86_expand_convert_uns_si_sse,
ix86_expand_convert_uns_didf_sse, ix86_expand_convert_uns_sidf_sse,
ix86_expand_convert_uns_sisf_sse, ix86_expand_convert_sign_didf_sse,
ix86_build_const_vector, ix86_expand_vector_init_one_nonzero): New.
(ix86_build_signbit_mask): Fix decl of v, refactor to call ix86_build_const_vector.
(x86_emit_floatuns): Rewrite.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r121790
|
|
2007-02-10 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
* genautomata.c (longest_path_length): Delete unused function.
(struct state): Delete unused longest_path_length.
(UNDEFINED_LONGEST_PATH_LENGTH): Delete unused macro.
(get_free_state): Delete unused.
From-SVN: r121789
|
|
From-SVN: r121785
|
|
* params.def (PARAM_INLINE_UNIT_GROWTH): Set to 30.
* doc/invoke.texi (inline-unit-growth): Update default value.
From-SVN: r121781
|
|
* Makefile.in (passes.o, ipa-inline.o): Add dependencies.
* cgraphbuild.c (build_cgraph_edges): Compute frequencies.
(rebuild_cgraph_edges): Likewise.
* cgraph.c (cgraph_set_call_stmt): Add new argument frequency.
(dump_cgraph_node): Dump frequencies.
(cgraph_clone_edge): Add frequency scales.
(cgraph_clone_node): Add freuqnecy.
* cgraph.h (cgraph_edge): Add freuqnecy argument.
(CGRAPH_FREQ_BASE, CGRAPH_FREQ_MAX): New constants.
(cgraph_create_edge, cgraph_clone_edge, cgraph_clone_node): Update.
* tree-pass.h (TODO_rebuild_frequencies): New constant.
* cgraphunit.c (verify_cgraph_node): Verify frequencies.
(cgraph_copy_node_for_versioning): Update call of cgraph_clone_edge.
(save_inline_function_body): Likewise.
* ipa-inline.c: inluce rtl.h
(cgraph_clone_inlined_nods): Update call of cgraph_clone_node.
(cgraph_edge_badness): Use frequencies.
(cgraph_decide_recursive_inlining): Update clonning.
(cgraph_decide_inlining_of_small_function): Dump frequency.
* predict.c (estimate_bb_frequencies): Export.
* predict.h (estimate_bb_frequencies): Declare.
* tree-inline.c (copy_bb): Watch overflows.
(expand_call_inline): Update call of cgraph_create_edge.
(optimize_inline_calls): Use TODO flags to update frequnecies.
* passes.h: Include predict.h
(init_optimization_passes): Move profile ahead.
(execute_function_todo): Handle TODO_rebuild_frequencies.
From-SVN: r121780
|
|
into a register.
* config/alpha/alpha.c (emit_insxl): Force the first operand of
the insbl or inswl pattern into a register.
From-SVN: r121779
|
|
and for -HUGE-1 maximum values.)
fortran/
2007-02-09 Tobias Burnus <burnus@net-b.de>
PR fortran/30512
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc,
gfc_conv_intrinsic_minmaxval): Use HUGE-1 for most negative integer.
testsuite/
2007-02-09 Tobias Burnus <burnus@net-b.de>
PR fortran/30512
* gfortran.dg/maxlocval_1.f90: New test.
libgfortran/
2007-02-09 Thomas Koenig <Thomas.Koenig@online.de>
Tobias Burnus <burnus@net-b.de>
PR fortran/30512
* m4/iparm.m4: Use HUGE-1 for most negative integer.
* generated/maxloc1_8_i4.c: Regenerate.
* generated/maxloc0_8_i8.c: Regenerate.
* generated/maxloc1_16_i4.c: Regenerate.
* generated/maxloc0_16_i8.c: Regenerate.
* generated/maxval_i4.c: Regenerate.
* generated/maxloc1_4_i8.c: Regenerate.
* generated/maxloc0_16_i16.c: Regenerate.
* generated/maxloc1_4_i16.c: Regenerate.
* generated/maxloc0_8_i16.c: Regenerate.
* generated/maxloc0_4_i4.c: Regenerate.
* generated/maxloc1_8_i8.c: Regenerate.
* generated/maxloc0_8_i4.c: Regenerate.
* generated/maxloc0_16_i4.c: Regenerate.
* generated/maxloc1_16_i8.c: Regenerate.
* generated/maxloc1_4_i4.c: Regenerate.
* generated/maxval_i8.c: Regenerate.
* generated/maxloc0_4_i16.c: Regenerate.
* generated/maxloc1_8_i16.c: Regenerate.
* generated/maxloc0_4_i8.c: Regenerate.
* generated/maxloc1_16_i16.c: Regenerate.
* generated/maxval_i16.c: Regenerate.
From-SVN: r121777
|
|
* config/ia64/ia64.md (bswapdi2): New define_insn.
* gcc.target/ia64/builtin_bswap-1.c: New test case.
From-SVN: r121776
|
|
allocating a negative amount of memory)
PR fortran/30720
* trans-array.c (gfc_trans_create_temp_array): Remove use of the
function argument. Always generate code for negative extent.
Simplify said code.
* trans-array.h (gfc_trans_create_temp_array): Change prototype.
* trans-expr.c (gfc_conv_function_call): Remove use of last argument
of gfc_trans_create_temp_array.
* trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Likewise.
* trans-stmt.c (gfc_conv_elemental_dependencies): Likewise.
* gfortran.dg/array_function_1.f90: New test.
From-SVN: r121773
|
|
* config/i386/constraints.md (Ym): New constraint.
* config/i386/i386.md (movsi_1): Change Y2 to Yi constraints.
(movdi_1_rex64): Split sse and xmm general register moves from
memory move alternatives. Use conditional register constraints.
(movsf_1, movdf_integer): Likewise.
(zero_extendsidi2_32, zero_extendsidi2_rex64): Likewise.
(movdf_integer_rex64): New.
(pushsf_rex64): Fix output constraints.
* config/i386/sse.md (sse2_loadld): Split rm alternative, use Yi.
(sse2_stored): Likewise.
(sse2_storeq_rex64): New.
* config/i386/i386.c (x86_inter_unit_moves): Enable for not
amd and not generic.
(ix86_secondary_memory_needed): Don't bypass TARGET_INTER_UNIT_MOVES
for optimize_size. Remove SF/DFmode hack.
From-SVN: r121767
|
|
2007-02-09 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
* config/i386/driver-i386.c: Turn on -mtune=native for AMDFAM10.
(bit_SSE4a): New.
From-SVN: r121763
|
|
* lib/target-supports.exp (check_effective_target_lax_strtofp)
(check_effective_target_dummy_wcsftime): New functions.
libstdc++-v3/testsuite/
* 22_locale/time_put/put/wchar_t/1.cc: XFAIL if dummy_wcsftime.
* 22_locale/time_put/put/wchar_t/5.cc: Likewise.
* 22_locale/time_put/put/wchar_t/9.cc: Likewise.
* 22_locale/time_put/put/wchar_t/10.cc: Likewise.
* 22_locale/num_get/get/wchar_t/2.cc: XFAIL if lax_strtofp.
* 22_locale/num_get/get/char/2.cc: Likewise.
* 27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc: Likewise.
* 27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc: Likewise.
* 27_io/basic_istream/extractors_arithmetic/char/12.cc: Likewise.
* 27_io/basic_istream/extractors_arithmetic/char/09.cc: Likewise.
* 27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc: Likewise.
* 27_io/basic_ostream/inserters_arithmetic/char/6.cc: Likewise.
* 26_numerics/cmath/c99_classification_macros_c++.cc: XFAIL
for uClibc.
* 26_numerics/cmath/c99_classification_macros_c.cc: Likewise.
From-SVN: r121749
|
|
gcc/testsuite/
* gcc.c-torture/execute/20030125-1.x: Return 1 for uClibc targets.
* lib/target-supports.exp (check_effective_target_uclibc): New
function.
From-SVN: r121748
|
|
gcc/testsuite/
* gcc.c-torture/execute/builtins/lib/chk.c: Include <sys/types.h>.
(vsnprintf): Don't define for uClibc targets.
From-SVN: r121747
|
|
gcc/testsuite/
* gcc.c-torture/execute/builtins/memops-asm-lib.c: Do the copy or
set before checking whether it was allowed.
* gcc.c-torture/execute/builtins/lib/memset.c: Do the memset
before checking inside_main.
From-SVN: r121746
|
|
gcc/testsuite/
* gcc.dg/compat/struct-layout-1.h (v16sf): Define to v4sf on
uClinux targets.
(u16sf): Likewise u4sf.
* g++.dg/compat/struct-layout-1.h: Likewise.
From-SVN: r121745
|
|
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_coldfire_fpu): New
procedure.
* gcc.c-torture/execute/ieee/mul-subnormal-single-1.x: XFAIL on
m68k targets if check_effective_target_coldfire_fpu returns true.
From-SVN: r121744
|
|
<richard@codesourcery.com>
gcc/
200x-xx-xx Nathan Sidwell <nathan@codesourcery.com>
Richard Sandiford <richard@codesourcery.com>
* config.gcc (m68010-*-netbsdelf*, m68k*-*-netbsdelf*)
(m68k*-*-openbsd*, m68k-*-linux*): Set default_cf_cpu.
(m68k-*-aout*, m68k-*-coff*, m68k-*-uclinux*, m68k-*-rtems*): Add
m68k/t-mlib to tmake_file.
(m68020-*-elf*, m68k-*-elf*): Likewise. Add t-m68kbare as well.
(m68k*-*-*): Use --with-arch to pick a default for --with-cpu.
(m680[012]0-*-*, m68k*-*-*): Add support for --with-arch.
Allow it to be cf or m68k. Set m68k_arch_family. If that
variable is not empty, add t-$m68k_arch_family to tmake_file.
Add t-mlibs to tmake_file.
* doc/install.texi: Document --with-arch=m68k and --with-arch=cf.
* config/m68k/t-cf: New file.
* config/m68k/t-m68k: Likewise.
* config/m68k/t-mlibs: Likewise.
* config/m68k/t-m68kbare (MULTILIB_OPTIONS, MULTILIB_DIRNAMES)
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Delete.
(M68K_MLIB_DIRNAMES, M68K_MLIB_OPTIONS): Define.
* config/m68k/t-m68kelf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES)
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS, LIBGCC, INSTALL_LIBGCC):
Delete.
* config/m68k/t-openbsd (MULTILIB_OPTIONS, LIBGCC): Delete.
(INSTALL_LIBGCC): Delete.
(M68K_MLIB_DIRNAMES, M68K_MLIB_OPTIONS): Define.
* config/m68k/t-rtems (MULTILIB_OPTIONS, MULTILIB_DIRNAMES)
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Delete.
(M68K_MLIB_CPU): Define.
* config/m68k/t-uclinux (MULTILIB_OPTIONS, MULTILIB_DIRNAMES)
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Delete.
(M68K_MLIB_CPU, M68K_MLIB_OPTIONS, M68K_MLIB_DIRNAMES): Define.
Co-Authored-By: Richard Sandiford <richard@codesourcery.com>
From-SVN: r121743
|
|
step and variable bounds)
2007-02-09 Zdenek Dvorak <dvorakz@suse.cz>
Richard Guenther <rguenther@suse.de>
PR middle-end/23361
* fold-const.c (fold_comparison): Handle obfuscated comparisons
against INT_MIN/INT_MAX.
* tree-ssa-loop-ivcanon.c (remove_empty_loop): Print to dump
file if a loop is removed.
* gcc.dg/fold-compare-3.c: New testcase.
* gcc.dg/tree-ssa/loop-24.c: Likewise.
Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r121742
|
|
* gcc.dg/pr26570.c: Clean up coverage files.
* gcc.dg/pr30172-1.c: Clean up gimple tree dump.
* gcc.dg/lower-subreg-1.c: Clean up subreg rtl dump file.
* gcc.dg/tree-ssa/tailrecursion-1.c: Clean up all tailr dump files.
* gcc.dg/tree-ssa/tailrecursion-2.c: Ditto.
* gcc.dg/tree-ssa/tailrecursion-3.c: Ditto.
* gcc.dg/tree-ssa/tailrecursion-4.c: Ditto.
* gcc.dg/tree-ssa/pr21658.c: Clean up all ccp dump files.
* gcc.dg/tree-ssa/pr21829.c: Clean up all phicprop dump files.
* gcc.dg/tree-ssa/pr15349.c: Clean up all mergephi dump files.
* gcc.dg/tree-ssa/pr25501.c: Ditto.
* gcc.dg/fold-compare-2.c: Clean up vrp dump files.
* gcc.dg/vect/vect-recip.c: Clean up vect dump file.
* gcc.dg/vect/pr28952.c: Ditto.
* gcc.dg/vect/pr27151.c: Ditto.
* gcc.dg/gomp/macro-3.c: Clean up omplower dump file.
* g++.dg/gomp/macro-3.C: Ditto.
From-SVN: r121739
|
|
non-BLKmode values.
* calls.c (store_one_arg): Pass correct alignment to
emit_push_insn for non-BLKmode values.
* expr.c (emit_push_insn): If STRICT_ALIGNMENT, copy to an
unaligned stack slot via a suitably aligned slot.
From-SVN: r121736
|
|
* config/m32c/m32c.c (m32c_unpend_compare): Add default to silence
warnings.
(legal_subregs): Use unsigned char, make const.
(m32c_illegal_subreg_p): Use ARRAY_SIZE. Delete unused variables.
From-SVN: r121733
|
|
From-SVN: r121731
|
|
needed.
2007-02-08 Paul Brook <paul@codesourcery.com>
* config/arm/lib1funcs.asm (RETLDM): Pop directly into PC when no
special interworking needed.
From-SVN: r121727
|
|
* config/i386/xmmintrin.h: Make inclusion of emmintrin.h
conditional to __SSE2__.
(Entries below should have been added to first ChangeLog
entry for amdfam10 dated 2007-02-05)
* config/i386/emmintrin.h: Generate #error if __SSE2__ is not
defined.
* config/i386/pmmintrin.h: Generate #error if __SSE3__ is not
defined.
* config/i386/tmmintrin.h: Generate #error if __SSSE3__ is not
defined.
From-SVN: r121726
|
|
* config/m32c/m32c-protos.h (m32c_illegal_subreg_p): New.
* config/m32c/m32c.c (legal_subregs): New.
(m32c_illegal_subreg_p): New.
* config/m32c/predicates.md (m32c_any_operand): Use it to reject
unsupported subregs of hard regs.
From-SVN: r121725
|
|
same one; always update histograms.
* tree-cfg.c (bsi_replace): Shortcut when replacing the statement with
the same one; always update histograms.
From-SVN: r121724
|
|
* passes.c (init_optimization_passes): Tidy comment.
From-SVN: r121723
|
|
* gcc.dg/vect/vect-strided-same-dr.c (main): Fix terminate condition
of the loop.
From-SVN: r121718
|
|
and rotates from POCOUNT's argument.
* simplify-rtx.c (simplify_unary_operation_1) <POPCOUNT>: We can
strip zero_extend, bswap and rotates from POCOUNT's argument.
<PARITY>: Likewise, we can strip not, bswap, sign_extend,
zero_extend and rotates from PARITY's argument.
<BSWAP>: A byte-swap followed by a byte-swap is an identity.
(simplify_const_unary_operation) <BSWAP>: Evaluate the byte-swap
of an integer constant at compile-time.
* gcc.target/i386/builtin-bswap-2.c: New test case.
From-SVN: r121716
|
|
referenced variable (in STORED_SYMS or LOADED_SYMS))
PR 30562
* tree-flow.h (struct var_ann_d): Remove field 'is_used'.
Update all users.
* tree-ssa-alias.c (compute_is_aliased): Remove. Update all
users.
(init_alias_info):
* tree-ssa-live.c (remove_unused_locals): Do not remove
TREE_ADDRESSABLE variables.
* tree-ssa-structalias.c (compute_points_to_sets): Tidy.
* tree-ssa-operands.c (add_virtual_operand): Remove argument
FOR_CLOBBER. Update all users.
If VAR has an associated alias set, add a virtual operand for
it if no alias is found to conflict with the memory reference.
From-SVN: r121715
|
|
expression is a compile-time constant...
* trans-stmt.c (gfc_trans_forall_1): Optimize the cases where the
mask expression is a compile-time constant (".true." or ".false.").
* gfortran.dg/forall_8.f90: New test case.
* gfortran.dg/forall_9.f90: Likewise.
From-SVN: r121714
|
|
* value-prof.c (visit_hist, free_hist): Return 1 instead of 0.
Co-Authored-By: Robert Kidd <rkidd@crhc.uiuc.edu>
From-SVN: r121711
|
|
* gcc.dg/builtins-20.c: Add some -~ complex cases.
From-SVN: r121710
|
|
From-SVN: r121707
|
|
match_operands.
* config/rs6000/rs6000.md (ctz<mode>2, ffs<mode>2, popcount<mode>2,
parity<mode>2, smulsi3_highpart, abstf2_internal, allocate_stack,
tablejumpdi, movsi_to_cr_one): Remove constraints from
define_expand's match_operands.
From-SVN: r121706
|
|
From-SVN: r121704
|
|
ELIMINABLE_REGS to avoid unused...
* global.c (compute_regsets): Move declatation of "i" inside of
#ifdef ELIMINABLE_REGS to avoid unused variable bootstrap failure.
From-SVN: r121697
|
|
2007-02-07 Andrew Haley <aph@redhat.com>
* class.c (uncache_this_class_ref): New.
* expr.c (build_jni_stub): Initialize the class.
(expand_byte_code): Call uncache_this_class_ref after generating
code.
From-SVN: r121695
|
|
PR c++/30703
* gimplify.c (gimplify_scan_omp_clauses): Remove special casing
of INDIRECT_REF <RESULT_DECL>.
* cp-gimplify.c (cp_genericize_r): Don't dereference invisiref
parameters and result decls in omp clauses.
(cxx_omp_privatize_by_reference): Pass also invisiref PARM_DECLs
by reference.
* testsuite/libgomp.c++/pr30703.C: New test.
From-SVN: r121688
|
|
From-SVN: r121687
|
|
From-SVN: r121683
|
|
_uleb128_t and _Unwind_SWord with _sleb128_t.
2007-02-07 Andreas Krebbel <krebbel1@de.ibm.com>
* raise-gcc.c (get_region_description_for, get_call_site_action_for,
get_action_description_for): Replaced _Unwind_Word with _uleb128_t
and _Unwind_SWord with _sleb128_t.
From-SVN: r121681
|
|
From-SVN: r121676
|
|
PR target/29746
* config/sh/sh.c (expand_cbranchdi4): Use scratch register
properly.
(sh_initialize_trampoline): Add parentheses to avoid a warning.
Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org>
From-SVN: r121671
|
|
multiple latches.
* doc/loop.texi: Document possibility not to perform disambiguation
of loops with multiple latches.
* cfgloopmanip.c (alp_enum_p): Removed.
(add_loop): Handle subloops. Use get_loop_body_with_size.
(create_preheader): Do not allow ENTRY_BLOCK_PTR to be preheader.
* cfghooks.c (redirect_edge_and_branch_force): Set dominator for
the new forwarder block.
(make_forwarder_block): Only call new_bb_cbk if it is not NULL.
Handle the case latch is NULL.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Avoid cfg modifications
when marking loop exits.
* ifcvt.c (if_convert): Ditto. Mark loop exits even if cfg cannot
be modified.
* loop-init.c (loop_optimizer_init): Do not modify cfg. Call
disambiguate_loops_with_multiple_latches.
* tree-cfgcleanup.c (cleanup_tree_cfg_loop): Calculate dominators
before fix_loop_structure.
* cfgloop.c: Include pointer-set.h and output.h.
(canonicalize_loop_headers, HEADER_BLOCK, LATCH_EDGE,
update_latch_info, mfb_keep_just, mfb_keep_nonlatch): Removed.
(get_loop_latch_edges, find_subloop_latch_edge_by_profile,
find_subloop_latch_edge_by_ivs, find_subloop_latch_edge,
mfb_redirect_edges_in_set, form_subloop, merge_latch_edges,
disambiguate_multiple_latches, get_loop_body_with_size,
disambiguate_loops_with_multiple_latches): New functions.
(flow_loop_dump): Dump multiple latch edges.
(flow_loop_nodes_find): Handle loops with multiple latches.
(flow_loops_find): Ditto. Do not call canonicalize_loop_headers.
(glb_enum_p): Modified.
(get_loop_body): Use get_loop_body_with_size.
* cfgloop.h (LOOPS_HAVE_RECORDED_EXITS): New flag.
(AVOID_CFG_MODIFICATIONS): New constant.
(disambiguate_loops_with_multiple_latches, add_loop,
get_loop_body_with_size): Declare.
* Makefile.in (cfgloop.o): Add pointer-set.h and output.h.
* gcc.dg/tree-ssa/loop-25.c: New test.
From-SVN: r121670
|
|
PR java/30714:
* jvspec.c (lang_specific_driver): Check for the '-' in '-I'.
From-SVN: r121666
|