Uros Bizjak
0f7b6776a3
i386.md (paritydi2, paritysi2): New expanders.
...
* config/i386/i386.md (paritydi2, paritysi2): New expanders.
(paritydi2_cmp, paritydi2_cmp): New insn and split patterns.
(*parityhi2_cmp, *parityqi2_cmp): New insn patterns.
testsuite/ChangeLog:
* gcc.target/i386/parity-1.c: New test.
* gcc.target/i386/parity-2.c: New test.
From-SVN: r121863
2007-02-12 22:08:25 +01:00
Eric Botcazou
6170a99877
tree.h (DECL_IGNORED_P): Document further effect for FUNCTION_DECL.
...
* tree.h (DECL_IGNORED_P): Document further effect for FUNCTION_DECL.
* cgraphunit.c (cgraph_expand_function): If DECL_IGNORED_P is set on
the function, temporarily point the debug interface to the null one.
From-SVN: r121861
2007-02-12 21:01:33 +00:00
Eric Botcazou
d996473d67
dwarf2out.c (round_up_to_align): New static function.
...
* dwarf2out.c (round_up_to_align): New static function.
(field_byte_offset): Use it to round the offset.
From-SVN: r121859
2007-02-12 20:52:37 +00:00
Richard Henderson
fffef1dc7a
alpha.md (bswapsi2, bswapdi2): New.
...
* config/alpha/alpha.md (bswapsi2, bswapdi2): New.
(inswl_const): Export.
From-SVN: r121853
2007-02-12 10:53:22 -08:00
Richard Henderson
7ab0aca2fe
calls.c (emit_library_call_value_1): If PROMOTE_MODE modifed the result mode of the libcall, convert back to outmode.
...
* calls.c (emit_library_call_value_1): If PROMOTE_MODE modifed the
result mode of the libcall, convert back to outmode.
From-SVN: r121852
2007-02-12 10:46:16 -08:00
Roger Sayle
d8d25baea6
i386.md (*bswapdi2_rex): Renamed from bswapdi2.
...
* config/i386/i386.md (*bswapdi2_rex): Renamed from bswapdi2.
(bswapdi2): New define_expand to implement 32-bit implementation.
* gcc.target/i386/builtin-bswap-3.c: New test case.
From-SVN: r121851
2007-02-12 18:41:08 +00:00
Nick Clifton
c662432e8c
invoke.texi (Overall Options): Document --help=.
...
* doc/invoke.texi (Overall Options): Document --help=.
* gcc.c (target_help_flag): Rename to print_subprocess_flag.
(cc1_options): Pass --help= on to cc1.
(display_help): Add description of --help=.
(process_command): Add code to handle --help=. Allow translated
--help and --target-help switches to be passed on to compiler sub-process.
(main): Remove unused if statement.
* opts.c (columns): Remove.
(LEFT_COLUMN): Define.
(wrap_help): Add columns argument.
(print_filtered_help): Change parameters to be an include bitmask,
an exclude bitmask, an any bitmask and the column width. Move the
code to display the params list here. Add code to display the
status of options rather than their descriptions if the quiet flag
is not active.
(print_specific_help): Change parameters to be an include bitmask,
an exclude bitmask and an any bitmask. Move code to look up the
column width here. Decide upon the title for an options listing.
(common_handle_options): Add code to handle --help=. Adapt code
for --help and --target-help to use the revised form of the
print_specific_help function.
(print_help): Delete.
(print_param_help): Delete.
(print_switch): Delete.
* opts.h (cl_lang_count): Add prototype.
(CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_MIN_OPTION_CLASS, CL_MAX_OPTION_CLASS): New defines.
* optc-gen.awk: Add construction of cl_lang_count.
* c.opt: Add Warning attribute to warning options and Optimization attribute to optimization options.
* common.opt: Likewise.
Add --help=.
Add -fhelp and -ftarget-help as aliases for the transformed --help and --target-help options.
* opt-functions.awk: Add code to handle Warning and Optimization attributes.
From-SVN: r121849
2007-02-12 16:25:14 +00:00
Richard Henderson
dfcbeaa576
constraints.md: New file.
...
* config/alpha/constraints.md: New file.
* config/alpha/alpha.c: Include tm-constrs.h.
(alpha_const_ok_for_letter_p, alpha_const_double_ok_for_letter_p,
alpha_extra_constraint): Remove.
(alpha_emit_conditional_branch): Use satisfies_constraint_*.
* config/alpha/alpha-protos.h: Update.
* config/alpha/alpha.h (REG_CLASS_FROM_LETTER): Remove.
(CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Remove.
(EXTRA_CONSTRAINT): Remove.
* config/alpha/alpha.md: Include constraints.md.
(adddi splitter): Use satisfies_constraint_*.
* config/alpha/predicates.md (add_operand): Likewise.
(sext_add_operand, addition_operation): Likewise.
From-SVN: r121847
2007-02-12 08:10:15 -08:00
Dorit Nuzman
9b3ffe5f7a
re PR tree-optimization/29145 (unsafe use of restrict qualifier)
...
PR tree-optimization/29145
* tree-data-ref.c (base_addr_differ_p): Make us more conservative
in our handling of restrict qualified pointers.
From-SVN: r121844
2007-02-12 13:14:52 +00:00
Manuel López-Ibáñez
27f33b1531
re PR middle-end/7651 (Define -Wextra strictly in terms of other warning flags)
...
2007-02-12 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR middle-end/7651
* doc/invoke.texi (Wunused-value): Update description.
(Wextra): Delete item.
* opts.c (set_Wextra): Don't use the value of Wextra to set the
value of Wunused-value.
* c-typeck.c (c_process_expr_stmt): Don't check extra_warnings.
(c_finish_stmt_expr): Don't check extra_warnings.
(emit_side_effect_warnings): The caller is responsible to check
warn_unused_value.
cp/
* cp-gimplify.c (gimplify_expr_stmt): Don't check extra_warnings.
Check warn_unused_value just once.
From-SVN: r121843
2007-02-12 09:32:08 +00:00
Roger Sayle
2376c58f22
simplify-rtx.c (simplify_relational_operation_1): Correct typo.
...
* simplify-rtx.c (simplify_relational_operation_1): Correct typo.
Co-Authored-By: Matt Thomas <matt@3am-software.com>
From-SVN: r121839
2007-02-12 04:19:42 +00:00
Roger Sayle
69fce32ff9
simplify-rtx.c (simplify_relational_operation_1): Optimize comparisons of POPCOUNT against zero.
...
* simplify-rtx.c (simplify_relational_operation_1): Optimize
comparisons of POPCOUNT against zero.
(simplify_const_relational_operation): Likewise.
* gcc.target/ia64/builtin-popcount-1.c: New test case.
* gcc.target/ia64/builtin-popcount-2.c: Likewise.
From-SVN: r121838
2007-02-12 01:43:50 +00:00
Manuel López-Ibáñez
10c5453183
invoke.texi (Wextra): Delete outdated paragraph.
...
2007-02-11 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
* doc/invoke.texi (Wextra): Delete outdated paragraph.
From-SVN: r121829
2007-02-11 22:29:27 +00:00
Manuel López-Ibáñez
b04e13e8be
dwarf2out.c (root_type): Delete unused function.
...
2007-02-11 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
* dwarf2out.c (root_type): Delete unused function.
From-SVN: r121828
2007-02-11 22:19:49 +00:00
Manuel López-Ibáñez
807331086b
genattrtab.c (contained_in_p): Delete unused function.
...
2007-02-11 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
* genattrtab.c (contained_in_p): Delete unused function.
(write_expr_attr_cache): Likewise.
From-SVN: r121827
2007-02-11 22:10:43 +00:00
Jan Hubicka
68e2e14118
ipa-inline.c (cgraph_edge_badness): Add "else" missing in the previous patch.
...
* ipa-inline.c (cgraph_edge_badness): Add "else" missing in the
previous patch.
From-SVN: r121825
2007-02-11 21:28:32 +00:00
Steven Bosscher
a31830a7ca
fwprop.c (try_fwprop_subst): Use set_unique_reg_note to add the REG_EQ* note.
...
* fwprop.c (try_fwprop_subst): Use set_unique_reg_note
to add the REG_EQ* note.
* see.c (see_merge_one_use_extension): Likewise.
* local-alloc.c (update_equiv_regs): Likewise. Also don't
turn REG_EQUAL notes into REG_EQUIV notes if the target
register may have more than one set.
* function.c (assign_parm_setup_reg): Use set_unique_reg_note.
* gcse.c (try_replace_reg): Likewise.
* alias.c (init_alias_analysis): Use find_reg_equal_equiv_note.
* calls.c (fixup_tail_calls): Likewise. Abort if there is
more than one REG_EQUIV note.
* reload1.c (gen_reload): Use set_unique_reg_note.
From-SVN: r121821
2007-02-11 19:53:11 +00:00
Uros Bizjak
4c38b6d942
i386.c (TARGET_VECTORIZE_BUILTIN_CONVERSION): Define.
...
* config/i386/i386.c (TARGET_VECTORIZE_BUILTIN_CONVERSION): Define.
(ix86_builtin_conversion): New function.
testsuite/ChangeLog:
* gcc.dg/vect/vect-intfloat-conversion-1.c: Loop gets vectorized
on i?86 and x86_64.
* gcc.dg/vect/vect-intfloat-conversion-2.c: Ditto.
* gcc.dg/vect/vect-floatint-conversion-1.c: New.
* gcc.dg/vect/vect-93.c: Another loop gets vectorized
on i?86 and x86_64.
* gcc.dg/vect/vect-113.c: Ditto.
From-SVN: r121820
2007-02-11 20:48:07 +01:00
Mark Mitchell
56fd65c7d9
re PR target/29487 (Shared libstdc++ fails to link)
...
PR target/29487
* tree.h (DECL_REPLACEABLE_P): New macro.
* except.c (set_nothrow_function_flags): Likewise.
PR target/29487
* decl.c (finish_function): Use DECL_REPLACEABLE.
* tree.c (cp_cannot_inline_tree_fn): Likewise.
PR c++/29487
* g++.dg/eh/weak1-C: New test.
* g++.dg/eh/weak1-a.cc: Likewise.
* g++.dg/eh/comdat1.C: Likewise.
From-SVN: r121819
2007-02-11 18:58:05 +00:00
Tehila Meyzels
f57d17f1fc
tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): New target hook.
...
* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): New target hook.
* targhooks.c (default_builtin_vectorized_conversion): New.
* targhooks.h (default_builtin_vectorized_function): New declaration.
* target.h (struct vectorize): Add builtin_conversion field.
* tree-vectorizer.h (type_conversion_vec_info_type): New enum
stmt_vec_info_type value.
(vectorizable_conversion): New declaration.
* tree-vect-analyze.c (vect_analyze_operations): Add
vectorizable_conversion call.
* target-def.h (TARGET_VECTORIZE_BUILTIN_CONVERSION): New.
* tree-vect-transform.c (vectorizable_conversion): New function.
(vect_transform_stmt): Add case for type_conversion_vec_info_type.
* tree-vect-generic.c (expand_vector_operations_1): Consider correct
mode.
* config/rs6000/rs6000.c (rs6000_builtin_conversion): New.
(TARGET_VECTORIZE_BUILTIN_CONVERSION): Defined.
(rs6000_expand_builtin): Add handling a case of ALTIVEC_BUILTIN_VCFUX or
ALTIVEC_BUILTIN_VCFSX.
Co-Authored-By: Dorit Nuzman <dorit@il.ibm.com>
Co-Authored-By: Ira Rosen <irar@il.ibm.com>
From-SVN: r121818
2007-02-11 11:46:07 +00:00
Uros Bizjak
3de8da2a3c
ChangeLog: Whitespace fixes.
...
* ChangeLog: Whitespace fixes.
* gcc/ChangeLog: Ditto.
* gcc/testsuite/ChangeLog: Ditto.
From-SVN: r121815
2007-02-11 09:09:03 +01:00
John David Anglin
51823d478c
re PR target/30634 (FAIL: gfortran.fortran-torture/execute/intrinsic_set_exponent.f90)
...
PR target/30634
* pa.md (movdf): For 64-bit target, fail if operand 1 is a non-zero
CONST_DOUBLE and operand 0 is a hard register.
(movdi): For 64-bit target, remove code to force CONST_DOUBLE to
memory. Fail if operand 1 is a non-zero CONST_INT and operand 0
is a hard floating-point register.
From-SVN: r121802
2007-02-10 19:51:40 +00:00
Richard Henderson
8893239dc4
Makefile.in (libgcc-support, [...]): Add emutls.c.
...
gcc/ChangeLog:
* Makefile.in (libgcc-support, libgcc.mvars): Add emutls.c.
* builtin-types.def (BT_WORD): Make unsigned.
(BT_FN_VOID_PTR_WORD_WORD_PTR): New.
* builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS): New.
(BUILT_IN_EMUTLS_REGISTER_COMMON): New.
* c-decl.c (grokdeclarator): Don't error if !have_tls.
* c-parser.c (c_parser_omp_threadprivate): Likewise.
* dwarf2out.c (loc_descriptor_from_tree_1): Don't do anything for
emulated tls.
* expr.c (emutls_var_address): New.
(expand_expr_real_1): Expand emulated tls.
(expand_expr_addr_expr_1): Likewise.
* libgcc-std.ver: Add __emutls_get_address, __emutls_register_common.
* output.h (emutls_finish): Declare.
* toplev.c (compile_file): Call it.
* tree-ssa-address.c (gen_addr_rtx): Check for const-ness of the
address before wrapping in CONST.
* varasm.c (emutls_htab, emutls_object_type): New.
(EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): New.
(get_emutls_object_name, get_emutls_object_type): New.
(get_emutls_init_templ_addr, emutls_decl): New.
(emutls_common_1, emutls_finish): New.
(assemble_variable): When emulating tls, swap decls; generate
constructor for the emutls objects.
(do_assemble_alias): When emulating tls, swap decl and target name.
(default_encode_section_info): Don't add SYMBOL_FLAG_TLS_SHIFT
for emulated tls.
* varpool.c (decide_is_variable_needed): Look at force_output.
Recurse for emulated tls.
(cgraph_varpool_remove_unreferenced_decls): Remove checks redundant
with decide_is_variable_needed.
* emutls.c: New file.
* config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Only emit
tls_object for real tls.
gcc/cp/ChangeLog:
* decl.c (grokvardecl): Don't error if !have_tls.
(grokdeclarator): Likewise.
* parser.c (cp_parser_omp_threadprivate): Likewise.
gcc/fortran/ChangeLog:
* f95-lang.c (gfc_init_builtin_functions): Add __emutls_get_address
and __emutls_register_common.
* openmp.c (gfc_match_omp_threadprivate): Don't error if !have_tls.
* trans-common.c (build_common_decl): Don't check have_tls.
* trans-decl.c (gfc_finish_var_decl): Likewise.
* types.def (BT_WORD, BT_FN_PTR_PTR): New.
(BT_FN_VOID_PTR_WORD_WORD_PTR): New.
gcc/testsuite/ChangeLog:
* lib/target-supports.exp (check_effective_target_tls): Redefine
to mean non-emulated tls.
* gcc.dg/tls/alias-1.c: Remove tls requirement.
* gcc.dg/tls/asm-1.c, gcc.dg/tls/debug-1.c, gcc.dg/tls/diag-1.c,
gcc.dg/tls/diag-2.c, gcc.dg/tls/diag-3.c, gcc.dg/tls/diag-4.c,
gcc.dg/tls/diag-5.c, gcc.dg/tls/init-1.c, gcc.dg/tls/nonpic-1.c,
gcc.dg/tls/opt-10.c, gcc.dg/tls/opt-5.c, gcc.dg/tls/opt-6.c,
gcc.dg/tls/opt-8.c, gcc.dg/tls/opt-9.c, gcc.dg/tls/pic-1.c,
gcc.dg/tls/struct-1.c, gcc.dg/tls/trivial.c: Likewise.
From-SVN: r121800
2007-02-10 19:19:10 +00:00
Kaz Kojima
4c9034c5e5
re PR rtl-optimization/29599 (ICE when building the kernel on SH4)
...
PR rtl-optimization/29599
* reload1.c (eliminate_regs_in_insn): Take the destination
mode into account when computing the offset.
From-SVN: r121792
2007-02-10 06:47:49 +00:00
Stuart Hastings
ebff937c19
i386.h (TARGET_KEEPS_VECTOR_ALIGNED_STACK): New.
...
* 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 01:17:03 +00:00
Manuel López-Ibáñez
692b647c4f
genautomata.c (longest_path_length): Delete unused function.
...
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
2007-02-10 01:05:18 +00:00
Jan Hubicka
d562c6687f
params.def (PARAM_INLINE_UNIT_GROWTH): Set to 30.
...
* params.def (PARAM_INLINE_UNIT_GROWTH): Set to 30.
* doc/invoke.texi (inline-unit-growth): Update default value.
From-SVN: r121781
2007-02-09 22:51:44 +00:00
Jan Hubicka
45a80bb9e8
Makefile.in (passes.o, [...]): Add dependencies.
...
* 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
2007-02-09 22:49:30 +00:00
Roger Sayle
f2477b062c
alpha.c (emit_insxl): Force the first operand of the insbl or inswl pattern 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
2007-02-09 22:36:34 +00:00
Roger Sayle
ff848f0e0f
ia64.md (bswapdi2): New define_insn.
...
* config/ia64/ia64.md (bswapdi2): New define_insn.
* gcc.target/ia64/builtin_bswap-1.c: New test case.
From-SVN: r121776
2007-02-09 21:33:36 +00:00
Richard Henderson
ed69105c95
constraints.md (Ym): New constraint.
...
* 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 10:17:09 -08:00
Dwarakanath Rajagopal
35a63f2131
driver-i386.c: Turn on -mtune=native for AMDFAM10.
...
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
2007-02-09 16:56:45 +00:00
Nathan Sidwell
10e96df47c
200x-xx-xx Nathan Sidwell <nathan@codesourcery.com> Richard Sandiford <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
2007-02-09 13:47:25 +00:00
Zdenek Dvorak
b44e7f07c5
re PR tree-optimization/23361 (Can't eliminate empty loops with power of two 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
2007-02-09 13:29:11 +00:00
Joseph Myers
46bd2beed4
calls.c (store_one_arg): Pass correct alignment to emit_push_insn for 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
2007-02-09 01:11:18 +00:00
DJ Delorie
67fc44cbd6
m32c.c (m32c_unpend_compare): Add default to silence warnings.
...
* 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
2007-02-08 19:49:48 -05:00
Paul Brook
4531703eaa
lib1funcs.asm (RETLDM): Pop directly into PC when no special interworking 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
2007-02-08 23:49:59 +00:00
Harsha Jagasia
c1d91dbdc5
xmmintrin.h: Make inclusion of emmintrin.h conditional to __SSE2__.
...
* 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
2007-02-08 22:37:01 +00:00
DJ Delorie
f9b8943888
m32c-protos.h (m32c_illegal_subreg_p): New.
...
* 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
2007-02-08 17:22:52 -05:00
Jan Hubicka
ff39b79b8f
tree-cfg.c (bsi_replace): Shortcut when replacing the statement with the 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
2007-02-08 22:04:22 +00:00
Diego Novillo
b3f7d793a9
passes.c (init_optimization_passes): Tidy comment.
...
* passes.c (init_optimization_passes): Tidy comment.
From-SVN: r121723
2007-02-08 16:38:41 -05:00
Roger Sayle
9f05adb09f
simplify-rtx.c (simplify_unary_operation_1): We can strip zero_extend, bswap 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
2007-02-08 17:10:56 +00:00
Diego Novillo
d37d06fef8
re PR tree-optimization/30562 (remove unused variable is removing a 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
2007-02-08 11:55:43 -05:00
Jan Hubicka
674474a525
value-prof.c (visit_hist, free_hist): Return 1 instead of 0.
...
* value-prof.c (visit_hist, free_hist): Return 1 instead of 0.
Co-Authored-By: Robert Kidd <rkidd@crhc.uiuc.edu>
From-SVN: r121711
2007-02-08 09:56:34 +00:00
Ian Lance Taylor
1f64a0811b
* lower-subreg.c (simple_move): Reject PARTIAL_INT modes.
...
From-SVN: r121707
2007-02-08 00:59:14 +00:00
Roger Sayle
e42ac3dede
rs6000.md (ctz<mode>2, [...]): Remove constraints from define_expand's 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
2007-02-08 00:25:06 +00:00
Roger Sayle
28890c8243
global.c (compute_regsets): Move declatation of "i" inside of #ifdef 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 21:29:17 +00:00
Jakub Jelinek
e02a048f46
re PR c++/30703 (ICE Segmentation fault on using OpenMP)
...
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
2007-02-07 13:16:22 +01:00
Jakub Jelinek
ca6e5fe994
* config/i386/i386.c (override_options): Set PTA_SSSE3 for core2.
...
From-SVN: r121687
2007-02-07 13:13:39 +01:00
J"orn Rennecke
6f8eec2991
re PR target/29746 (gcc fails to bootstrap on sh4-*-linux-gnu)
...
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
2007-02-06 23:12:35 +00:00