Eric Botcazou [Thu, 5 May 2011 11:49:05 +0000 (11:49 +0000)]
tree.h (get_pending_sizes): Remove prototype.
* tree.h (get_pending_sizes): Remove prototype.
(put_pending_size): Likewise.
(put_pending_sizes): Likewise.
* stor-layout.c (pending_sizes): Delete.
(get_pending_sizes): Likewise.
(put_pending_size): Likewise.
(put_pending_sizes): Likewise.
(variable_size): Do not call put_pending_size and tidy up.
* function.h (struct function): Remove dont_save_pending_sizes_p.
* lto-streamer-in.c (input_function): Do not stream it.
* lto-streamer-out.c (output_function): Likewise.
* tree-inline.c (initialize_cfun): Do not copy it.
* c-decl.c (store_parm_decls): Do not set it.
* omp-low.c (create_task_copyfn): Likewise.
* tree-optimize.c (tree_rest_of_compilation): Likewise.
cp/
* decl.c (start_preparsed_function): Likewise.
fortran/
* trans-decl.c (trans_function_start): Likewise.
ada/
* gcc-interface/utils.c (begin_subprog_body): Do not call
get_pending_sizes.
(end_subprog_body): Likewise.
From-SVN: r173424
Uros Bizjak [Thu, 5 May 2011 11:43:14 +0000 (13:43 +0200)]
i386.md (*movdf_internal_rex64): Simplify nested "if" conditions.
* config/i386/i386.md (*movdf_internal_rex64): Simplify nested "if"
conditions.
(*movdf_internal): Ditto.
(*movdf_internal_nointeger): Ditto.
(*movsf_internal): Ditto.
From-SVN: r173423
Joseph Myers [Thu, 5 May 2011 10:20:31 +0000 (11:20 +0100)]
c-decl.c (finish_decl): Don't call get_pending_sizes.
* c-decl.c (finish_decl): Don't call get_pending_sizes.
(grokparm): Add parameter expr. Pass it to grokdeclarator.
(push_parm_decl): Add parameter expr. Pass it to grokdeclarator.
(c_variable_size): Remove.
(grokdeclarator): Use save_expr instead of c_variable_size. Don't
call put_pending_sizes.
(get_parm_info): Add parameter expr. Use it to set
arg_info->pending_sizes.
(store_parm_decls): Use arg_info->pending_sizes instead or calling
get_pending_sizes.
* c-parser.c (c_parser_parms_declarator): Update call to
c_parser_parms_list_declarator.
(c_parser_parms_list_declarator): Take parameter expr. Update
call to push_parm_decl. Update recursive call. Don't call
get_pending_sizes. Update calls to get_parm_info.
(c_parser_objc_method_definition): Update calls to
c_parser_objc_method_decl and objc_start_method_definition.
(c_parser_objc_methodproto): Update call to
c_parser_objc_method_decl.
(c_parser_objc_method_decl): Add parameter expr. Update call to
grokparm.
(c_parser_objc_try_catch_finally_statement): Update call to
grokparm.
* c-tree.h (struct c_arg_info.pending_sizes): Change to a tree.
(get_parm_info, grokparm, push_parm_decl): Update prototypes.
c-family:
* c-objc.h (objc_start_method_definition): Update prototype.
* stub-objc.c (objc_start_method_definition): Add extra parameter.
cp:
* parser.c (cp_parser_objc_method_definition_list): Update call to
objc_start_method_definition.
objc:
* objc-act.c (objc_start_method_definition): Add parameter expr.
Update call to start_method_def.
(objc_generate_cxx_ctor_or_dtor, objc_synthesize_getter,
objc_synthesize_setter) Update calls to
objc_start_method_definition.
(objc_get_parm_info): Add parameter expr. Update call to
get_parm_info.
(start_method_def): Add parameter expr. Update call to
objc_get_parm_info.
* objc-gnu-runtime-abi-01.c (build_module_initializer_routine):
Update call to objc_get_parm_info.
* objc-runtime-shared-support.h (objc_get_parm_info): Add extra
parameter.
From-SVN: r173422
Michael Hope [Thu, 5 May 2011 09:52:12 +0000 (09:52 +0000)]
For Michael Hope.
2011-05-05 Michael Hope <michael.hope@linaro.org>
PR pch/45979
* config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for
__ARM_EABI__ hosts.
From-SVN: r173421
Ulrich Weigand [Thu, 5 May 2011 09:41:53 +0000 (09:41 +0000)]
spu.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
* config/spu/spu.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
(TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
(spu_output_mi_thunk): New function.
From-SVN: r173420
Rainer Orth [Thu, 5 May 2011 09:10:19 +0000 (09:10 +0000)]
sol2.h (ASM_OUTPUT_CALL): Use targetm.asm_out.print_operand.
* config/sparc/sol2.h (ASM_OUTPUT_CALL): Use
targetm.asm_out.print_operand.
* config/sol2.c: Include target.h.
From-SVN: r173419
Ian Lance Taylor [Thu, 5 May 2011 05:22:12 +0000 (05:22 +0000)]
Use backend interface for slice types.
From-SVN: r173415
Janis Johnson [Thu, 5 May 2011 02:38:55 +0000 (02:38 +0000)]
* MAINTAINERS: Add myself (write after approval).
From-SVN: r173413
Jason Merrill [Thu, 5 May 2011 02:20:12 +0000 (22:20 -0400)]
re PR c++/48749 (internal compiler error: tree check: expected field_decl)
PR c++/48749
* class.c (resolves_to_fixed_type_p): Don't look closely
in templates.
From-SVN: r173412
Joern Rennecke [Thu, 5 May 2011 01:47:47 +0000 (01:47 +0000)]
* config-list.mk: New file.
From-SVN: r173410
Jerry DeLisle [Thu, 5 May 2011 01:23:46 +0000 (01:23 +0000)]
re PR libfortran/48787 (Invalid UP/DOWN rounding with F editing)
2011-05-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/48787
gfortran.dg/round_3.f08: Add more checks to test case.
From-SVN: r173409
Jerry DeLisle [Thu, 5 May 2011 01:19:30 +0000 (01:19 +0000)]
re PR libfortran/48787 (Invalid UP/DOWN rounding with F editing)
2011-05-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/48787
* io/write_float.def (output_float): Adjust up and down rounding for
cases where 'd' = 0. Gather common code to one location.
From-SVN: r173408
GCC Administrator [Thu, 5 May 2011 00:19:27 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r173407
Mike Stump [Wed, 4 May 2011 23:42:26 +0000 (23:42 +0000)]
Regenerate.
From-SVN: r173402
Mike Stump [Wed, 4 May 2011 23:34:37 +0000 (23:34 +0000)]
Remove extra spacing at the end of the line.
From-SVN: r173401
Marc Glisse [Wed, 4 May 2011 23:23:54 +0000 (23:23 +0000)]
PR libstdc++/47913 (again)
2011-05-04 Marc Glisse <marc.glisse@normalesup.org>
PR libstdc++/47913 (again)
* include/std/ratio (ratio_add, ratio_less): Rewrite.
* testsuite/20_util/ratio/operations/47913.cc: Extend.
* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust dg-error
line numbers.
* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
From-SVN: r173400
Jan Hubicka [Wed, 4 May 2011 22:48:54 +0000 (00:48 +0200)]
ipa-inline.c (reset_edge_caches): New function.
* ipa-inline.c (reset_edge_caches): New function.
(update_caller_keys): Add check_inlinablity_for; do not
reset edge caches; remove now unnecesary loop.
(update_callee_keys): Add comments; reset
node_growth_cache of callee.
(update_all_callee_keys): Likewise.
(inline_small_functions): Sanity check cache; update code
recomputing it.
From-SVN: r173399
Hans-Peter Nilsson [Wed, 4 May 2011 21:46:42 +0000 (21:46 +0000)]
pr47878.f90, [...]: Gate test on effective_target fd_truncate.
* gfortran.dg/pr47878.f90, gfortran.dg/endfile_3.f90,
gfortran.dg/endfile_4.f90, gfortran.dg/ftell_3.f90,
gfortran.dg/fmt_cache_1.f, gfortran.dg/namelist_66.f90:
Gate test on effective_target fd_truncate.
From-SVN: r173397
Joseph Myers [Wed, 4 May 2011 21:44:32 +0000 (22:44 +0100)]
configure.ac: Remove code setting special library locations for hppa*64*-*-hpux11*.
* configure.ac: Remove code setting special library locations for
hppa*64*-*-hpux11*. Remove code setting compiler for
sparc-sun-solaris2*.
* configure: Regenerate.
From-SVN: r173396
Bernd Schmidt [Wed, 4 May 2011 20:24:15 +0000 (20:24 +0000)]
re PR rtl-optimization/47612 (RTL crash when cc0 setter moved away from cc0 user)
PR rtl-optimization/47612
* df-problems.c (can_move_insns_across): Don't pick a cc0 setter
as the last insn of the sequence to be moved.
From-SVN: r173393
Chris Demetriou [Wed, 4 May 2011 18:59:31 +0000 (11:59 -0700)]
morestack.S (__i686.get_pc_thunk.bx): Rename to...
2011-05-04 Chris Demetriou <cgd@google.com>
* config/i386/morestack.S (__i686.get_pc_thunk.bx): Rename to...
(__x86.get_pc_thunk.bx): ...this.
(__morestack): Adjust for rename, remove undef of __i686.
From-SVN: r173391
Uros Bizjak [Wed, 4 May 2011 18:59:04 +0000 (20:59 +0200)]
recip-vec-divf.c: Decrease array sizes.
* gcc.target/i386/recip-vec-divf.c: Decrease array sizes.
* gcc.target/i386/recip-vec-sqrtf.c: Ditto.
* gcc.target/i386/recip-vec-divf-avx.c: Increase array sizes.
* gcc.target/i386/recip-vec-sqrtf-avx.c: Ditto. Update scan times.
* gcc.target/i386/ssefn-1.c: Add -mno-sse2 to dg-options.
* gcc.target/i386/pr38824.c: Ditto.
* gcc.target/i386/vecinit-1.c: Add -mno-sse4 to dg-options.
* gcc.target/i386/vecinit-2.c: Ditto.
* gcc.target/i386/sse-19.c: Add -mno-ssse3 to dg-options.
* gcc.target/i386/parity-1.c: Add -mno-popcnt to dg-options.
* gcc.target/i386/parity-2.c: Ditto.
* gcc.target/i386/incoming-8.c: Add -mno-avx to dg-options.
From-SVN: r173390
Mike Stump [Wed, 4 May 2011 18:25:20 +0000 (18:25 +0000)]
Fixup whitespacing.
From-SVN: r173388
Nathan Froyd [Wed, 4 May 2011 17:21:22 +0000 (17:21 +0000)]
remove gfc_chainon_list
remove gfc_chainon_list
* trans.h (gfc_chainon_list): Delete.
* trans.c (gfc_chainon_list): Delete.
From-SVN: r173386
Tobias Burnus [Wed, 4 May 2011 17:10:15 +0000 (19:10 +0200)]
re PR fortran/48864 (-Ofast should imply -fno-protect-parens)
gcc/
2011-05-04 Tobias Burnus <burnus@net-b.de>
PR fortran/48864
* doc/invoke.texi (Ofast): Document that it
enables Fortran's -fno-protect-parens.
gcc/fortran
2011-05-04 Tobias Burnus <burnus@net-b.de>
PR fortran/48864
* invoke.texi (fno-protect-parens): Document
that -Ofast implies -fno-protect-parens.
* options.c (gfc_init_options, gfc_post_options):
Make -Ofast imply -fno-protect-parens.
From-SVN: r173385
Nathan Froyd [Wed, 4 May 2011 17:08:04 +0000 (17:08 +0000)]
don't use TYPE_ARG_TYPES in c-family/
don't use TYPE_ARG_TYPES in c-family/
* c-common.c (check_main_parameter_types): Reindent. Don't use
TYPE_ARG_TYPES directly.
(handle_nonnull_attribute): Likewise.
(sync_resolve_params): Likewise.
* c-format.c (handle_format_arg_attribute): Likewise. Adjust call
to check_format_string.
(handle_format_attribute): Likewise.
(check_format_string): Take a function type to examine instead of
a type list. Use a function_arg_iterator to step through argument
types.
From-SVN: r173384
Uros Bizjak [Wed, 4 May 2011 17:07:03 +0000 (19:07 +0200)]
i386.c (ix86_reorg): Run move_or_delete_vzeroupper first.
* config/i386/i386.c (ix86_reorg): Run move_or_delete_vzeroupper first.
From-SVN: r173383
Eric Botcazou [Wed, 4 May 2011 16:48:18 +0000 (16:48 +0000)]
* stor-layout.c (variable_size): Do not issue errors.
From-SVN: r173381
Ian Lance Taylor [Wed, 4 May 2011 15:42:18 +0000 (15:42 +0000)]
Use backend interface for named types and array types.
* go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
(Gcc_backend::fill_in_struct): New function.
(Gcc_backend::array_type): Implement.
(Gcc_backend::fill_in_array): New function.
(Gcc_backend::placeholder_pointer_type): New function.
(Gcc_backend::set_placeholder_pointer_type): New function.
(Gcc_backend::set_placeholder_function_type): New function.
(Gcc_backend::placeholder_struct_type): New function.
(Gcc_backend::set_placeholder_struct_type): New function.
(Gcc_backend::placeholder_array_type): New function.
(Gcc_backend::set_placeholder_array_type): New function.
(Gcc_backend::named_type): New function.
(Gcc_backend::circular_pointer_type): New function.
(Gcc_backend::is_circular_pointer_type): New function.
From-SVN: r173380
Richard Guenther [Wed, 4 May 2011 14:58:51 +0000 (14:58 +0000)]
coverage.c (tree_coverage_counter_ref): Use integer_type_node for array-ref indices.
2011-05-04 Richard Guenther <rguenther@suse.de>
* coverage.c (tree_coverage_counter_ref): Use integer_type_node
for array-ref indices.
(tree_coverage_counter_addr): Likewise.
(build_fn_info_type): Use size_int for index types.
(build_gcov_info): Likewise.
From-SVN: r173379
Richard Guenther [Wed, 4 May 2011 14:56:14 +0000 (14:56 +0000)]
c-decl.c (check_bitfield_type_and_width): Do not pass NULL to build_int_cst.
2011-05-04 Richard Guenther <rguenther@suse.de>
* c-decl.c (check_bitfield_type_and_width): Do not pass NULL
to build_int_cst.
* c-typeck.c (really_start_incremental_init): Use bitsize_int
for constructor indices.
(push_init_level): Likewise.
c-family/
* c-common.c (fix_string_type): Use size_int for index type bounds.
(start_fname_decls): Do not pass NULL to build_int_cst.
(c_init_attributes): Likewise.
* c-lex.c (c_lex_with_flags): Likewise.
From-SVN: r173378
Richard Guenther [Wed, 4 May 2011 13:51:01 +0000 (13:51 +0000)]
explow.c (promote_mode): Move variable declarations before code.
2011-05-04 Richard Guenther <rguenther@suse.de>
* explow.c (promote_mode): Move variable declarations before code.
From-SVN: r173376
Nathan Froyd [Wed, 4 May 2011 13:44:48 +0000 (13:44 +0000)]
tree.h (build_function_type_array): Declare.
gcc/
* tree.h (build_function_type_array): Declare.
(build_varargs_function_type_array): Declare.
(build_function_type_vec, build_varargs_function_type_vec): Define.
* tree.c (build_function_type_array_1): New function.
(build_function_type_array): New function.
(build_varargs_function_type_array): New function.
gcc/fortran/
* trans-decl.c (build_library_function_decl_1): Call
build_function_type_vec. Adjust argument list building accordingly.
* trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Likewise.
* trans-types.c (gfc_get_function_type): Likewise.
From-SVN: r173375
Richard Guenther [Wed, 4 May 2011 13:18:34 +0000 (13:18 +0000)]
trans-array.c (gfc_trans_array_constructor_value): Use size_int for bounds of range types.
2011-05-04 Richard Guenther <rguenther@suse.de>
* trans-array.c (gfc_trans_array_constructor_value): Use
size_int for bounds of range types.
(gfc_trans_array_constructor_value): Use size_type_node
for memcpy argument.
* trans-common.c (build_field): Use gfc_charlen_type_node
for lengths.
* trans-openmp.c (gfc_trans_omp_clauses): Do not pass NULL
as type to build_int_cst.
* trans-const.c (gfc_build_string_const): Use size_int
for bounds of range types.
(gfc_build_wide_string_const): Likewise.
* trans-stmt.c (gfc_trans_label_assign): Use gfc_charlen_type_node
for lengths.
(gfc_trans_character_select): Likewise.
(gfc_trans_character_select): Do not pass NULL
as type to build_int_cst.
(gfc_trans_character_select): Use size_int for bounds of range types.
* trans-io.c (gfc_build_io_library_fndecls): Likewise.
(add_case): Do not pass NULL as type to build_int_cst.
(transfer_expr): Likewise.
(transfer_array_desc): Likewise.
* trans-decl.c (gfc_add_assign_aux_vars): Use gfc_charlen_type_node
for lengths.
(gfc_trans_assign_aux_var): Likewise.
(create_main_function): Use size_int for bounds of range types.
* trans-intrinsic.c (gfc_conv_intrinsic_minmax_char): Do not pass
NULL as type to build_int_cst.
(gfc_conv_intrinsic_spacing): Likewise.
(gfc_conv_intrinsic_rrspacing): Likewise.
(gfc_conv_intrinsic_len): Use gfc_charlen_type_node for lengths.
From-SVN: r173374
Richard Sandiford [Wed, 4 May 2011 13:09:26 +0000 (13:09 +0000)]
tree-vect-loop.c (vectorizable_reduction): Check reduction cost before setting STMT_VINFO_TYPE.
gcc/
* tree-vect-loop.c (vectorizable_reduction): Check reduction cost
before setting STMT_VINFO_TYPE.
From-SVN: r173373
Ulrich Weigand [Wed, 4 May 2011 12:43:05 +0000 (12:43 +0000)]
spu.c (spu_gimplify_va_arg_expr): Call pass_by_reference instead of spu_pass_by_reference.
* config/spu/spu.c (spu_gimplify_va_arg_expr): Call pass_by_reference
instead of spu_pass_by_reference.
From-SVN: r173372
Andreas Krebbel [Wed, 4 May 2011 12:01:21 +0000 (12:01 +0000)]
calls.c (emit_library_call_value_1): Invoke promote_function_mode hook on libcall arguments.
2011-05-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* calls.c (emit_library_call_value_1): Invoke
promote_function_mode hook on libcall arguments.
* explow.c (promote_function_mode, promote_mode): Handle TYPE
argument being NULL.
* targhooks.c (default_promote_function_mode): Lisewise.
* config/s390/s390.c (s390_promote_function_mode): Likewise.
* config/sparc/sparc.c (sparc_promote_function_mode): Likewise.
* doc/tm.texi: Document that TYPE argument might be NULL.
From-SVN: r173371
Stuart Henderson [Wed, 4 May 2011 11:40:32 +0000 (11:40 +0000)]
mcpu-bf512.c: Update to latest silicon revision and remove duplication.
2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
* gcc.target/bfin/mcpu-bf512.c: Update to latest silicon revision and
remove duplication.
* gcc.target/bfin/mcpu-bf514.c: Likewise.
* gcc.target/bfin/mcpu-bf516.c: Likewise.
* gcc.target/bfin/mcpu-bf518.c: Likewise.
From-SVN: r173370
Stuart Henderson [Wed, 4 May 2011 11:25:58 +0000 (11:25 +0000)]
bfin.c (bfin_cpus): Update silicon revisions.
2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
* config/bfin/bfin.c (bfin_cpus): Update silicon revisions.
From-SVN: r173369
Stuart Henderson [Wed, 4 May 2011 11:14:54 +0000 (11:14 +0000)]
2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
From Bernd Schmidt
* config/bfin/bfin.md (addsi3): Add an alternative for IREGS.
From-SVN: r173368
Rainer Orth [Wed, 4 May 2011 11:04:50 +0000 (11:04 +0000)]
* config/alpha/alpha.h (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB)
(MIPS_UNMARK_STAB, SHASH_SIZE, THASH_SIZE, ALIGN_SYMTABLE_OFFSET):
Move ...
* mips-tfile.c: ... here.
Don't include coretypes.h, tm.h, filenames.h.
(saber_stop): Remove definition and all calls.
[__SABER__]: Remove.
(__LINE__): Remove default.
(Size_t, Ptrdiff_t): Remove definitions.
Replace by size_t, ptrdiff_t.
[!MIPS_DEBUGGING_INFO]: Remove.
(SHASH_SIZE, THASH_SIZE): Remove defaults.
(progname): Add const.
(STATIC): Remove.
Replace all uses by static.
(ALIGN_SYMTABLE_OFFSET): Remove default.
* mips-tdump.c: Don't include coretypes.h, tm.h.
Remove !MIPS_IS_STAB guard.
* Makefile.in (mips-tfile.o): Remove $(RTL_H), coretypes.h,
$(TM_H), filenames.h dependencies.
(mips-tdump.o): Remove $(RTL_H), coretypes.h, $(TM_H) dependencies.
From-SVN: r173367
Stuart Henderson [Wed, 4 May 2011 11:03:00 +0000 (11:03 +0000)]
2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
From Jie Zhang
*config/bfin/bfin.c (bfin_extra_live_on_entry): New.
(TARGET_EXTRA_LIVE_ON_ENTRY): Define.
From-SVN: r173366
Stuart Henderson [Wed, 4 May 2011 10:48:55 +0000 (10:48 +0000)]
2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
From Bernd Schmidt
* config/bfin/bfin.h (FUNCTION_PROFILER): Take TARGET_LONG_CALLS into
account and save/restore RETS.
(PROFILE_BEFORE_PROLOGUE): Define.
(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Add tab character. Correct
the push insn to use predecrement.
From-SVN: r173365
Stuart Henderson [Wed, 4 May 2011 10:42:59 +0000 (10:42 +0000)]
2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
From Jie Zhang
* config/bfin/bfin.c (bfin_expand_prologue): Don't clobber P2.
From-SVN: r173364
Uros Bizjak [Wed, 4 May 2011 10:09:42 +0000 (12:09 +0200)]
* config/i386/i386.md: Fix typo in comment.
From-SVN: r173363
Nick Clifton [Wed, 4 May 2011 10:08:09 +0000 (10:08 +0000)]
mn10300.c: Include cfgloop.h.
* config/mn10300/mn10300.c: Include cfgloop.h.
(DUMP): New macro.
(mn10300_insert_setlb_lcc): New function. Inserts a SETLB and a
Lcc or a FLcc insn into the instruction stream.
(mn10300_block_contains_call): New function. Returns true if the
given basic block contains a CALL insn.
(mn10300_loop_contains_call_insn): New function. Returns true if
the given loop contains a CALL insn.
(mn10300_scan_for_setlb_lcc): New function. Finds opportunities
to use the SETLB and Lcc or FLcc insns.
(mn10300_reorg): Invoke mn10300_scan_for_setlb_lcc when optimizing.
(TARGET_FLAGS): Add MASK_ALLOW_SETLB.
* config/mn10300/mn10300.opt (msetlb): New option. Used to
disable the SETLB optimization.
* config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add
__SETLB__ or __NO_SETLB__.
* config/mn10300/mn10300.md (UNSPEC_SETLB): New constant.
(movsf_internal): Handle MDR register.
(cmpsi): Make visible.
(setlb): New pattern.
(Lcc): New pattern.
(FLcc): New pattern.
From-SVN: r173362
Uros Bizjak [Wed, 4 May 2011 10:05:20 +0000 (12:05 +0200)]
re PR target/48860 (r173265 breaks bootstrap on x86_64-apple-darwin10)
PR target/48860
* config/i386/i386.md (*movdi_internal_rex64) Use %vmovd
for reg<->xmm moves.
* config/i386/sse.md (*vec_concatv2di_rex64_sse4_1): Ditto.
(vec_concatv2di_rex64_sse): Ditto.
(*sse2_storeq_rex64): Do not emit %v prefix for mov{q} mnemonic.
(*vec_extractv2di_1_rex64): Ditto.
Revert:
2011-05-02 Uros Bizjak <ubizjak@gmail.com>
* config/i386/mmx.md (*mov<mode>_internal_rex64): Use %vmovq for
reg<->xmm moves.
(*movv2sf_internal_rex64): Use %vmovq for reg<->xmm moves.
From-SVN: r173361
Joseph Myers [Wed, 4 May 2011 09:50:18 +0000 (10:50 +0100)]
configure.ac: Separate libgloss_dir settings from general case over targets.
* configure.ac: Separate libgloss_dir settings from general case
over targets.
* configure: Regenerate.
From-SVN: r173360
Richard Guenther [Wed, 4 May 2011 09:04:53 +0000 (09:04 +0000)]
tree.h (int_const_binop): Remove notrunc argument.
2011-05-04 Richard Guenther <rguenther@suse.de>
* tree.h (int_const_binop): Remove notrunc argument.
* fold-const.c (int_const_binop): Remove notrunc argument. Always
create integer constants that are properly truncated.
(extract_muldiv_1): Expand one notrunc int_const_binop caller.
(const_binop): Remove zero notrunc argument to int_const_binop.
(size_binop_loc): Likewise.
(fold_div_compare): Likewise.
(maybe_canonicalize_comparison_1): Likewise.
(fold_comparison): Likewise.
(fold_binary_loc): Likewise.
(multiple_of_p): Likewise.
* expr.c (store_constructor): Likewise.
* gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
(maybe_fold_stmt_addition): Likewise.
* ipa-prop.c (ipa_modify_call_arguments): Likewise.
* stor-layout.c (layout_type): Likewise.
* tree-data-ref.c (tree_fold_divides_p): Likewise.
* tree-sra.c (build_ref_for_offset): Likewise.
(build_user_friendly_ref_for_offset): Likewise.
* tree-ssa-address.c (maybe_fold_tmr): Likewise.
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
* tree-ssa-loop-niter.c (inverse): Likewise.
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
* tree-ssa.c (maybe_rewrite_mem_ref_base): Likewise.
* tree-switch-conversion.c (check_range): Likewise.
(build_constructors): Likewise.
* tree-vect-generic.c (expand_vector_piecewise): Likewise.
* tree-vrp.c (set_and_canonicalize_value_range): Likewise.
(extract_range_from_assert): Likewise.
(vrp_int_const_binop): Likewise.
(extract_range_from_binary_expr): Likewise.
(extract_range_from_unary_expr): Likewise.
(check_array_ref): Likewise.
(find_case_label_range): Likewise.
(simplify_div_or_mod_using_ranges): Likewise.
* tree-cfg.c (group_case_labels_stmt): Use double-ints for
comparing case labels for merging.
ada/
* gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
int_const_binop.
(pos_to_constructor): Likewise.
fortran/
* trans-types.c (gfc_get_array_type_bounds): Remove zero notrunc
argument to int_const_binop.
From-SVN: r173356
Mark Wielaard [Wed, 4 May 2011 06:59:09 +0000 (06:59 +0000)]
Remove unused debug_str_hash_forced from dwarf2out.
* dwarf2out.c (debug_str_hash_forced): Removed.
(gen_label_for_indirect_string): Removed.
(get_debug_string_label): Removed.
(AT_string_form): Generate label directly.
(output_indirect_string): Test indirect_string_node for
DW_FORM_strp instead of checking label and refcount.
(prune_indirect_string): Removed.
(prune_unused_types): Don't check debug_str_hash_forced or
call prune_indirect_string.
From-SVN: r173355
Alexandre Oliva [Wed, 4 May 2011 03:37:53 +0000 (03:37 +0000)]
re PR other/48093 (-mtls-dialect= is undocumented)
PR other/48093
* doc/invoke.texi: Document -mtls-dialect and GCC_COMPARE_DEBUG.
From-SVN: r173352
Alexandre Oliva [Wed, 4 May 2011 03:37:40 +0000 (03:37 +0000)]
re PR debug/47994 (-fcompare-debug failure with -O2 -fpeel-loops -fno-rerun-cse-after-loop -fno-tree-loop-optimize -fno-web)
PR debug/47994
PR debug/47919
* combine.c (try_combine): Skip debug insns at m_split tests.
From-SVN: r173351
GCC Administrator [Wed, 4 May 2011 00:19:07 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r173350
Chris Demetriou [Tue, 3 May 2011 23:22:03 +0000 (16:22 -0700)]
morestack.S (__i686.get_pc_thunk.bx): New.
2011-05-03 Chris Demetriou <cgd@google.com>
* config/i386/morestack.S (__i686.get_pc_thunk.bx): New.
From-SVN: r173345
Paolo Carlini [Tue, 3 May 2011 22:25:24 +0000 (22:25 +0000)]
re PR libstdc++/48848 ([C++0x] std::valarray<T> functions missing)
2011-05-03 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/48848
* include/std/valarray (valarray<>::valarray(valarray&&),
valarray<>::operator=(valarray&&), valarray<>::swap): Add.
* doc/xml/manual/status_cxx200x.xml: Update.
* testsuite/26_numerics/valarray/moveable.cc: New.
* testsuite/26_numerics/valarray/swap.cc: Likewise.
From-SVN: r173344
Tobias Burnus [Tue, 3 May 2011 21:56:45 +0000 (23:56 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-05-03 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* gfortran.dg/coarray/this_image_1.f90: Remove dg-options.
From-SVN: r173343
Tobias Burnus [Tue, 3 May 2011 21:44:27 +0000 (23:44 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-05-03 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* trans-intrinsic.c (trans_this_image): Implement version with
coarray argument.
2011-05-03 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* gfortran.dg/coarray/this_image_1.f90: New.
From-SVN: r173342
Tobias Burnus [Tue, 3 May 2011 21:35:44 +0000 (23:35 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-05-03 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* gfortran.dg/coarray/caf.dg: New.
* gfortran.dg/coarray/image_index_1.f90: New, copied
from ../coarray_16.f90.
From-SVN: r173341
Mark Wielaard [Tue, 3 May 2011 19:36:08 +0000 (19:36 +0000)]
PR42288 emit empty .debug_aranges section.
* dwarf2out.c (dwarf2out_finish): Always call output_aranges ()
when info_section_emitted.
From-SVN: r173340
Joseph Myers [Tue, 3 May 2011 18:51:49 +0000 (19:51 +0100)]
mips-opts.h: New.
* config/mips/mips-opts.h: New.
* config/mips/mips.c (enum mips_r10k_cache_barrier_setting): Move
to mips-opts.h.
(mips_abi, mips_code_readable, mips_r10k_cache_barriee): Remove.
(mips_handle_option): Don't handle OPT_mabi_, OPT_mcode_readable_
or OPT_mr10k_cache_barrier_ here. Access mips_cache_flush_func
via opts pointer.
* config/mips/mips.h (enum mips_code_readable_setting): Move to
mips-opts.h.
(mips_abi, mips_code_readable): Don't declare.
* config/mips/mips.opt (config/mips/mips-opts.h): New
HeaderInclude.
(mabi=): Use Enum and Var.
(mips_abi): New Enum and EnumValue entries.
(mcode-readable=): Use Enum and Var.
(mips_code_readable_setting): New Enum and EnumValue entries.
(mr10k-cache-barrier=): Use Enum and Var.
(mips_r10k_cache_barrier_setting): New Enum and EnumValue entries.
From-SVN: r173338
Paolo Carlini [Tue, 3 May 2011 18:30:37 +0000 (18:30 +0000)]
re PR c++/28501 (ICE with __real__ and implicit type conversion)
/cp
2011-05-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/28501
* call.c (add_builtin_candidate): Handle REALPART_EXPR and
IMAGPART_EXPR.
/testsuite
2011-05-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/28501
* g++.dg/ext/complex9.C: New.
From-SVN: r173337
Jan Hubicka [Tue, 3 May 2011 18:00:48 +0000 (20:00 +0200)]
* lto.c (free_ltrans_partitions): Fix accidental commit.
From-SVN: r173336
Jan Hubicka [Tue, 3 May 2011 17:22:58 +0000 (19:22 +0200)]
cgraph.h (cgraph_node_set_def, [...]): Move out of GTY; replace hash by pointer map.
* cgraph.h (cgraph_node_set_def, varpool_node_set_def): Move out of GTY;
replace hash by pointer map.
(cgraph_node_set_element_def, cgraph_node_set_element,
const_cgraph_node_set_element, varpool_node_set_element_def,
varpool_node_set_element, const_varpool_node_set_element): Remove.
(free_cgraph_node_set, free_varpool_node_set): New function.
(cgraph_node_set_size, varpool_node_set_size): Use vector size.
* tree-emutls.c: Free varpool node set.
* ipa-utils.c (cgraph_node_set_new, cgraph_node_set_add,
cgraph_node_set_remove, cgraph_node_set_find, dump_cgraph_node_set,
debug_cgraph_node_set, free_cgraph_node_set, varpool_node_set_new,
varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find,
dump_varpool_node_set, free_varpool_node_set, debug_varpool_node_set):
Move here from ipa.c; implement using pointer_map
* ipa.c (cgraph_node_set_new, cgraph_node_set_add,
cgraph_node_set_remove, cgraph_node_set_find, dump_cgraph_node_set,
debug_cgraph_node_set, varpool_node_set_new,
varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find,
dump_varpool_node_set, debug_varpool_node_set):
Move to ipa-uitls.c.
* lto/lto.c (ltrans_partition_def): Remove GTY annotations.
(ltrans_partitions): Move to heap.
(new_partition): Update.
(free_ltrans_partitions): New function.
(lto_wpa_write_files): Use it.
* passes.c (ipa_write_summaries): Update.
From-SVN: r173334
Stuart Henderson [Tue, 3 May 2011 17:22:34 +0000 (17:22 +0000)]
2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
From Mike Frysinger
* gcc.target/bfin/mcpu-bf542.c: Check SILICON_REVISION is 0x0004.
* gcc.target/bfin/mcpu-bf544.c, gcc.target/bfin/mcpu-bf547.c,
gcc.target/bfin/mcpu-bf548.c, gcc.target/bfin/mcpu-bf549.c: Likewise.
From-SVN: r173333
Stuart Henderson [Tue, 3 May 2011 17:13:39 +0000 (17:13 +0000)]
2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
From Mike Frysinger:
* config/bfin/bfin.c (bfin_cpus[]): Add 0.4 for
bf542/bf544/bf547/bf548/bf549.
From-SVN: r173332
Uros Bizjak [Tue, 3 May 2011 16:51:24 +0000 (18:51 +0200)]
expmed.c (extract_bit_field_1): Remove write-only variable "icode".
* expmed.c (extract_bit_field_1): Remove write-only variable "icode".
From-SVN: r173331
Stuart Henderson [Tue, 3 May 2011 16:50:30 +0000 (16:50 +0000)]
2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
From Bernd Schmidt:
* config/bfin/bfin.md (MOVCC): New mode_macro.
(mov<mode>cc_insn1, mov<mode>cc_insn2, mov<mode>cc): Renamed from
movsicc_insn1, movsicc_insn2 and movsicc and macroized. Remove
comments from generated assembly.
From-SVN: r173330
Nathan Froyd [Tue, 3 May 2011 16:34:20 +0000 (16:34 +0000)]
trans.c (gigi): Call build_function_type_list instead of build_function_type.
* gcc-interface/trans.c (gigi): Call build_function_type_list instead
of build_function_type. Adjust calls to...
(build_raise_check): ...this. Do not take a void_tree parameter.
Call build_function_type_list instead of build_function_type.
Fix head comment and swap couple of conditional blocks.
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r173325
Stuart Henderson [Tue, 3 May 2011 16:24:59 +0000 (16:24 +0000)]
2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
From Bernd Schmidt
* config/bfin/t-bfin (LIB1ASMFUNCS): Add muldi3 and umulsi3_highpart.
* config/bfin/t-bfin-elf (LIB1ASMFUNCS): Add muldi3.
* config/bfin/t-bfin-linux (LIB1ASMFUNCS): Add muldi3.
* config/bfin/t-bfin-uclinux (LIB1ASMFUNCS): Add muldi3.
* config/bfin/lib1funcs.asm (___muldi3): New function.
From-SVN: r173323
Stuart Henderson [Tue, 3 May 2011 16:11:55 +0000 (16:11 +0000)]
builtins: Created.
2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
* gcc.target/bfin/builtins: Created.
* gcc.target/bfin/hisilh-O0.c: Deleted.
* gcc.target/bfin/hisilh.c: Moved to...
* gcc.target/bfin/builtins/hisilh.c: ...here.
* gcc.target/bfin/builtins/shl_fr1x16-6.c: New test.
* gcc.target/bfin/builtins/shr_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x32-9.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x32-4.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x32-8.c: Ditto.
* gcc.target/bfin/builtins/lshl_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/abs_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/norm32-1.c: Ditto.
* gcc.target/bfin/builtins/shrl_fr1x16-3.c: Ditto.
* gcc.target/bfin/builtins/norm_fr1x32-2.c: Ditto.
* gcc.target/bfin/builtins/bfin-builtins.exp: Ditto.
* gcc.target/bfin/builtins/norm16-2.c: Ditto.
* gcc.target/bfin/builtins/norm32-5.c: Ditto.
* gcc.target/bfin/builtins/norm_fr1x16-3.c: Ditto.
* gcc.target/bfin/builtins/mult_fr1x32x32-2.c: Ditto.
* gcc.target/bfin/builtins/norm16-6.c: Ditto.
* gcc.target/bfin/builtins/norm32-9.c: Ditto.
* gcc.target/bfin/builtins/mult_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/dspsubaddsat_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/min_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/max_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/norm32-10.c: Ditto.
* gcc.target/bfin/builtins/shl_fr2x16-3.c: Ditto.
* gcc.target/bfin/builtins/mulhisihh_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/diff_hl_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr2x16-7.c: Ditto.
* gcc.target/bfin/builtins/shr_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/mulhisilh_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/lshl_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/cpmlx_mul_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/negate_fr1x32-2.c: Ditto.
* gcc.target/bfin/builtins/negate_fr1x16-3.c: Ditto.
* gcc.target/bfin/builtins/abs_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/shrl_fr2x16-4.c: Ditto.
* gcc.target/bfin/builtins/mult_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/max_fr1x32-1.c: Ditto.
* gcc.target/bfin/builtins/min_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x32-2.c: Ditto.
* gcc.target/bfin/builtins/max_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x16-3.c: Ditto.
* gcc.target/bfin/builtins/add_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x32-6.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x32-1.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x32.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x16-7.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x32-5.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x32-9.c: Ditto.
* gcc.target/bfin/builtins/abs_fr1x32-1.c: Ditto.
* gcc.target/bfin/builtins/lshl_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/abs_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/cpmlx_msu_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/norm32-2.c: Ditto.
* gcc.target/bfin/builtins/shrl_fr1x16-4.c: Ditto.
* gcc.target/bfin/builtins/norm16-3.c: Ditto.
* gcc.target/bfin/builtins/norm32-6.c: Ditto.
* gcc.target/bfin/builtins/norm16-7.c: Ditto.
* gcc.target/bfin/builtins/mult_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/min_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/add_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/norm32-11.c: Ditto.
* gcc.target/bfin/builtins/sub_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/shl_fr2x16-4.c: Ditto.
* gcc.target/bfin/builtins/mulhisihh_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/diff_lh_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/shl_fr2x16-8.c: Ditto.
* gcc.target/bfin/builtins/shr_fr2x16-3.c: Ditto.
* gcc.target/bfin/builtins/mulhisilh_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/lshl_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/cpmlx_mac_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/shrl_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/mult_fr1x32-1.c: Ditto.
* gcc.target/bfin/builtins/min_fr1x32-1.c: Ditto.
* gcc.target/bfin/builtins/dspaddsubsat_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/mult_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/max_fr1x32-2.c: Ditto.
* gcc.target/bfin/builtins/min_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x32.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x32-3.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x16-4.c: Ditto.
* gcc.target/bfin/builtins/sub_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/add_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x32-7.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x32-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x16-8.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x16-3.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x32-6.c: Ditto.
* gcc.target/bfin/builtins/circptr.c: Ditto.
* gcc.target/bfin/builtins/negate_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/abs_fr1x32-2.c: Ditto.
* gcc.target/bfin/builtins/multr_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/sum_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/shrl_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/cpmlx_msu_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/norm32-3.c: Ditto.
* gcc.target/bfin/builtins/norm_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/norm16-4.c: Ditto.
* gcc.target/bfin/builtins/norm32-7.c: Ditto.
* gcc.target/bfin/builtins/norm16-8.c: Ditto.
* gcc.target/bfin/builtins/add_fr1x32-1.c: Ditto.
* gcc.target/bfin/builtins/shl_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/add_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr2x16-5.c: Ditto.
* gcc.target/bfin/builtins/norm32-12.c: Ditto.
* gcc.target/bfin/builtins/sub_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/diff_lh_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/mulhisihl_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/shr_fr2x16-4.c: Ditto.
* gcc.target/bfin/builtins/mulhisill_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/negate_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/multr_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/cpmlx_mac_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/shrl_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/mult_fr1x32x32NS-1.c: Ditto.
* gcc.target/bfin/builtins/mult_fr1x32-2.c: Ditto.
* gcc.target/bfin/builtins/min_fr1x32-2.c: Ditto.
* gcc.target/bfin/builtins/dspaddsubsat_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/sub_fr1x32-1.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x32-4.c: Ditto.
* gcc.target/bfin/builtins/sub_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x16-5.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x32-8.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x32-3.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x16-4.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x32-7.c: Ditto.
* gcc.target/bfin/builtins/negate_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/multr_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/sum_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/shrl_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/norm_fr1x32-1.c: Ditto.
* gcc.target/bfin/builtins/norm16-1.c: Ditto.
* gcc.target/bfin/builtins/norm_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/mult_fr1x32x32-1.c: Ditto.
* gcc.target/bfin/builtins/norm32-4.c: Ditto.
* gcc.target/bfin/builtins/norm16-5.c: Ditto.
* gcc.target/bfin/builtins/norm32-8.c: Ditto.
* gcc.target/bfin/builtins/dspsubaddsat_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/max_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/add_fr1x32-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr2x16-6.c: Ditto.
* gcc.target/bfin/builtins/diff_hl_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/shr_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/mulhisihl_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/negate_fr1x32-1.c: Ditto.
* gcc.target/bfin/builtins/cpmlx_mul_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/multr_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/mulhisill_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/negate_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/abs_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/shrl_fr2x16-3.c: Ditto.
* gcc.target/bfin/builtins/mult_fr1x32x32NS-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x32-1.c: Ditto.
* gcc.target/bfin/builtins/max_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/sub_fr1x32-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x32-5.c: Ditto.
From-SVN: r173322
Nathan Froyd [Tue, 3 May 2011 15:52:20 +0000 (15:52 +0000)]
stormy16 (xstormy16_init_builtins): Call build_function_type_list instead of build_function_type.
* config/stormy16/stormy16 (xstormy16_init_builtins): Call
build_function_type_list instead of build_function_type.
Rearrange initialization of `args' to do so.
From-SVN: r173321
Nathan Froyd [Tue, 3 May 2011 15:51:28 +0000 (15:51 +0000)]
i386.c (ix86_code_end): Call build_function_type_list instead of build_function_type.
* config/i386/i386.c (ix86_code_end): Call build_function_type_list
instead of build_function_type.
From-SVN: r173320
Nathan Froyd [Tue, 3 May 2011 15:50:51 +0000 (15:50 +0000)]
rs6000.c (spe_init_builtins): Call build_function_type_list instead of build_function_type.
* config/rs6000/rs6000.c (spe_init_builtins): Call
build_function_type_list instead of build_function_type.
(paired_init_builtins, altivec_init_builtins): Likewise.
(builtin_function_type): Likewise.
From-SVN: r173319
Nathan Froyd [Tue, 3 May 2011 15:49:22 +0000 (15:49 +0000)]
sh.c (sh_media_init_builtins): Call build_function_type_list instead of build_function_type.
* config/sh/sh.c (sh_media_init_builtins): Call
build_function_type_list instead of build_function_type.
From-SVN: r173318
Nathan Froyd [Tue, 3 May 2011 15:44:27 +0000 (15:44 +0000)]
sparc.c (sparc_file_end): Call build_function_type_list instead of build_function_type.
* config/sparc/sparc.c (sparc_file_end): Call
build_function_type_list instead of build_function_type.
From-SVN: r173317
Nathan Froyd [Tue, 3 May 2011 15:43:49 +0000 (15:43 +0000)]
alpha.c (alpha_init_builtins): Call build_function_type_list instead of build_function_type.
* config/alpha/alpha.c (alpha_init_builtins): Call
build_function_type_list instead of build_function_type.
From-SVN: r173316
Nathan Froyd [Tue, 3 May 2011 15:43:00 +0000 (15:43 +0000)]
xtensa.c (xtensa_init_builtins): Call build_function_type_list instead of build_function_type.
* config/xtensa/xtensa.c (xtensa_init_builtins): Call
build_function_type_list instead of build_function_type.
From-SVN: r173315
Nathan Froyd [Tue, 3 May 2011 15:40:26 +0000 (15:40 +0000)]
i2000.c (iq2000_init_builtins): Call build_function_type_list instead of build_function_type.
* config/iq2000/i2000.c (iq2000_init_builtins): Call
build_function_type_list instead of build_function_type.
Delete `endlink' variable.
From-SVN: r173314
Nathan Froyd [Tue, 3 May 2011 15:39:30 +0000 (15:39 +0000)]
avr.c (avr_init_builtins): Call build_function_type_list instead of build_function_type.
* config/avr/avr.c (avr_init_builtins): Call
build_function_type_list instead of build_function_type.
From-SVN: r173313
Nathan Froyd [Tue, 3 May 2011 15:37:53 +0000 (15:37 +0000)]
picochip.c (picochip_init_builtins): Call build_function_type_list instead of build_function_type.
* config/picochip/picochip.c (picochip_init_builtins): Call
build_function_type_list instead of build_function_type.
Delete `endlink' variable.
From-SVN: r173312
Nathan Froyd [Tue, 3 May 2011 15:37:03 +0000 (15:37 +0000)]
bfin.c (bfin_init_builtins): Call build_function_type_list instead of build_function_type.
* config/bfin/bfin.c (bfin_init_builtins): Call
build_function_type_list instead of build_function_type.
From-SVN: r173311
Stuart Henderson [Tue, 3 May 2011 15:09:19 +0000 (15:09 +0000)]
re PR target/39768 (internal compiler error: RTL check: expected code 'const_int', have 'reg' in gen_rotlsi3, at config/bfin/bfin.md:1616)
2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
From Bernd Schmidt
* config/bfin/bfin.md (rotrsi, rotlsi): Don't take INTVAL of anything
that's not CONST_INT. Seemingly redundant check is due to PR39768.
From-SVN: r173310
Paolo Carlini [Tue, 3 May 2011 14:20:45 +0000 (14:20 +0000)]
re PR libstdc++/48750 (for_each_template_random_access_ed has unbalanced new/delete[])
2011-05-03 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/48750
* include/parallel/multiway_merge.h: Run _ValueType destructors.
* include/parallel/multiway_mergesort.h: Likewise.
* include/parallel/quicksort.h: Likewise.
* include/parallel/random_shuffle.h: Likewise.
* include/parallel/partial_sum.h: Likewise.
* include/parallel/losertree.h: Run destructors; minor tweaks.
* include/parallel/par_loop.h: Run destructors, fix memory
allocations and deallocations.
* testsuite/26_numerics/accumulate/48750.cc: New.
* testsuite/ext/profile/mutex_extensions_neg.cc: Do not run in
parallel-mode to avoid spurious multiple errors.
From-SVN: r173309
Stuart Henderson [Tue, 3 May 2011 14:19:43 +0000 (14:19 +0000)]
2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
From Jie Zhang:
* config/bfin/uclinux.h (LINK_GCC_C_SEQUENCE_SPEC): Make sure
libbffastfp overrides libgcc when -mfast-fp.
From-SVN: r173308
Stuart Henderson [Tue, 3 May 2011 13:57:15 +0000 (13:57 +0000)]
Originally from Bernd Schmidt
2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
Originally from Bernd Schmidt
* config/bfin/uclinux.h (SUBTARGET_FDPIC_NOT_SUPPORTED): New macro.
* config/bfin/bfin.c (override_options): Test it and error if
TARGET_FDPIC.
From-SVN: r173307
Stuart Henderson [Tue, 3 May 2011 13:47:07 +0000 (13:47 +0000)]
Originally From Bernd Schmidt
2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
Originally From Bernd Schmidt
* config/bfin/bfin.c (override_options): Disable -fstack-limit for
FD-PIC.
From-SVN: r173306
Jeff Law [Tue, 3 May 2011 13:12:29 +0000 (07:12 -0600)]
tree-ssa-threadupdate.c (THREAD_TARGET): define.
* tree-ssa-threadupdate.c (THREAD_TARGET): define.
(remove_ctrl_stmt_and_useless_edges): Clear AUX field of outgoing edges.
(craete_edge_and_update_destination_phis): Use THREAD_TARGET rather
than accessing AUX field directly. Free the AUX field before clearing it.
(thread_block, thread_through_loop_header): Likewise.
(thread_single_edge, mark_threaded_blocks): Likewise.
(redirect_edges): Delay clearing the AUX field. Free the AUX field.
(register_jump_thread): Do not attempt to thread to a NULL edge.
From-SVN: r173305
Bernd Schmidt [Tue, 3 May 2011 13:08:36 +0000 (13:08 +0000)]
function.c (init_function_start): Call decide_function_section.
* function.c (init_function_start): Call decide_function_section.
* varasm.c (decide_function_section): New function.
(assemble_start_function): When not using
flag_reorder_blocks_and_partition, don't compute in_cold_section_p
or first_function_block_is_cold.
* rtl.h (decide_function_section): Declare.
* gcc.target/arm/cold-lc.c: New test.
From-SVN: r173303
Jakub Jelinek [Tue, 3 May 2011 13:01:12 +0000 (15:01 +0200)]
re PR target/48774 (gcc-4.6.0 optimization regression on x86_64-unknown-linux-gnu)
PR target/48774
* config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode
only succeed if req_mode is the same as set_mode.
* gcc.dg/pr48774.c: New test.
From-SVN: r173301
Bernd Schmidt [Tue, 3 May 2011 11:52:38 +0000 (11:52 +0000)]
gengenrtl.c (special_rtx): PC, CC0 and RETURN are special.
* gengenrtl.c (special_rtx): PC, CC0 and RETURN are special.
* genemit.c (gen_exp): Handle RETURN.
* emit-rtl.c (verify_rtx_sharing): Likewise.
(init_emit_regs): Create pc_rtx, ret_rtx and cc0_rtx specially.
* rtl.c (copy_rtx): RETURN is shared.
* rtl.h (enum global_rtl_index): Add GR_RETURN.
(ret_rtx): New.
* jump.c (redirect_exp_1): Don't use gen_rtx_RETURN.
* config/s390/s390.c (s390_emit_epilogue): Likewise.
* config/rx/rx.c (gen_rx_rtsd_vector): Likewise.
* config/cris/cris.c (cris_expand_return): Likewise.
* config/m68k/m68k.c (m68k_expand_epilogue): Likewise.
* config/rs6000/rs6000.c (rs6000_make_savres_rtx,
rs6000_emit_epilogue, rs6000_output_mi_thunk): Likewise.
* config/picochip/picochip.c (picochip_expand_epilogue): Likewise.
* config/h8300/h8300.c (h8300_push_pop, h8300_expand_epilogue):
Likewise.
* config/v850/v850.c (expand_epilogue): Likewise.
* config/bfin/bfin.c (bfin_expand_call): Likewise.
* config/arm/arm.md (epilogue): Likewise.
* config/mn10300/mn10300.c (mn10300_expand_epilogue): Likewise.
* config/sparc/sparc.c (sparc_struct_value_rtx): Rename ret_rtx
variable to ret_reg.
From-SVN: r173300
Richard Guenther [Tue, 3 May 2011 10:18:29 +0000 (10:18 +0000)]
re PR tree-optimization/48846 (Many -O2 -flto testsuite failures with -m32 -mavx)
2011-05-03 Richard Guenther <rguenther@suse.de>
PR lto/48846
* lto-streamer-in.c (unpack_ts_decl_common_value_fields):
Stream decl_common.off_align instead of the derived DECL_OFFSET_ALIGN.
* lto-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
From-SVN: r173298
Richard Guenther [Tue, 3 May 2011 08:48:00 +0000 (08:48 +0000)]
c-decl.c (grokdeclarator): Instead of looking at TREE_OVERFLOW check if the constant fits in the index type.
2011-05-03 Richard Guenther <rguenther@suse.de>
* c-decl.c (grokdeclarator): Instead of looking at
TREE_OVERFLOW check if the constant fits in the index type.
* gcc.dg/large-size-array-5.c: New testcase.
From-SVN: r173297
Richard Sandiford [Tue, 3 May 2011 07:51:13 +0000 (07:51 +0000)]
vect-strided-u16-i3.c: New test.
gcc/testsuite/
* gcc.dg/vect/vect-strided-u16-i3.c: New test.
From-SVN: r173296
Richard Sandiford [Tue, 3 May 2011 07:49:46 +0000 (07:49 +0000)]
target-supports.exp (check_effective_target_vect_strided): Replace with...
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_vect_strided):
Replace with...
(check_effective_target_vect_strided2)
(check_effective_target_vect_strided3)
(check_effective_target_vect_strided4)
(check_effective_target_vect_strided8): ...these new functions.
* gcc.dg/vect/O3-pr39675-2.c: Update accordingly.
* gcc.dg/vect/costmodel/ppc/costmodel-slp-12.c: Likewise.
* gcc.dg/vect/fast-math-slp-27.c: Likewise.
* gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c: Likewise.
* gcc.dg/vect/pr37539.c: Likewise.
* gcc.dg/vect/slp-11a.c: Likewise.
* gcc.dg/vect/slp-11b.c: Likewise.
* gcc.dg/vect/slp-11c.c: Likewise.
* gcc.dg/vect/slp-12a.c: Likewise.
* gcc.dg/vect/slp-12b.c: Likewise.
* gcc.dg/vect/slp-18.c: Likewise.
* gcc.dg/vect/slp-19a.c: Likewise.
* gcc.dg/vect/slp-19b.c: Likewise.
* gcc.dg/vect/slp-21.c: Likewise.
* gcc.dg/vect/slp-23.c: Likewise.
* gcc.dg/vect/vect-cselim-1.c: Likewise.
* gcc.dg/vect/fast-math-vect-complex-3.c: Use vect_stridedN
instead of vect_interleave && vect_extract_even_odd.
* gcc.dg/vect/no-scevccp-outer-10a.c: Likewise.
* gcc.dg/vect/no-scevccp-outer-10b.c: Likewise.
* gcc.dg/vect/no-scevccp-outer-20.c: Likewise.
* gcc.dg/vect/vect-1.c: Likewise.
* gcc.dg/vect/vect-10.c: Likewise.
* gcc.dg/vect/vect-98.c: Likewise.
* gcc.dg/vect/vect-107.c: Likewise.
* gcc.dg/vect/vect-strided-a-mult.c: Likewise.
* gcc.dg/vect/vect-strided-a-u16-i2.c: Likewise.
* gcc.dg/vect/vect-strided-a-u16-i4.c: Likewise.
* gcc.dg/vect/vect-strided-a-u16-mult.c: Likewise.
* gcc.dg/vect/vect-strided-a-u32-mult.c: Likewise.
* gcc.dg/vect/vect-strided-a-u8-i2-gap.c: Likewise.
* gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Likewise.
* gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Likewise.
* gcc.dg/vect/vect-strided-float.c: Likewise.
* gcc.dg/vect/vect-strided-mult-char-ls.c: Likewise.
* gcc.dg/vect/vect-strided-mult.c: Likewise.
* gcc.dg/vect/vect-strided-same-dr.c: Likewise.
* gcc.dg/vect/vect-strided-u16-i2.c: Likewise.
* gcc.dg/vect/vect-strided-u16-i4.c: Likewise.
* gcc.dg/vect/vect-strided-u32-i4.c: Likewise.
* gcc.dg/vect/vect-strided-u32-i8.c: Likewise.
* gcc.dg/vect/vect-strided-u32-mult.c: Likewise.
* gcc.dg/vect/vect-strided-u8-i2-gap.c: Likewise.
* gcc.dg/vect/vect-strided-u8-i2.c: Likewise.
* gcc.dg/vect/vect-strided-u8-i8-gap2.c: Likewise.
* gcc.dg/vect/vect-strided-u8-i8-gap4.c: Likewise.
* gcc.dg/vect/vect-strided-u8-i8-gap7.c: Likewise.
* gcc.dg/vect/vect-strided-u8-i8.c: Likewise.
* gcc.dg/vect/vect-vfa-03.c: Likewise.
* gcc.dg/vect/no-scevccp-outer-18.c: Add vect_stridedN to the
target condition.
* gcc.dg/vect/pr30843.c: Likewise.
* gcc.dg/vect/pr33866.c: Likewise.
* gcc.dg/vect/slp-reduc-6.c: Likewise.
* gcc.dg/vect/vect-strided-store-a-u8-i2.c: Likewise.
* gcc.dg/vect/vect-strided-store-u16-i4.c: Likewise.
* gcc.dg/vect/vect-strided-store-u32-i2.c: Likewise.
From-SVN: r173295
Richard Sandiford [Tue, 3 May 2011 07:49:14 +0000 (07:49 +0000)]
slp-11.c: Split into...
gcc/testsuite/
* gcc.dg/vect/slp-11.c: Split into...
* gcc.dg/vect/slp-11a.c, gcc.dg/vect/slp-11b.c,
gcc.dg/vect/slp-11c.c: ...these tests.
* gcc.dg/vect/slp-12a.c: Split 4-stride loop into...
* gcc.dg/vect/slp-12c.c: ...this new test.
* gcc.dg/vect/slp-19.c: Split into...
* gcc.dg/vect/slp-19a.c, gcc.dg/vect/slp-19b.c,
gcc.dg/vect/slp-19c.c: ...these new tests.
From-SVN: r173294
Richard Sandiford [Tue, 3 May 2011 07:47:31 +0000 (07:47 +0000)]
gcc/testsuite/
* lib/target-supports.exp
(check_effective_target_vect_extract_even_odd_wide): Delete.
(check_effective_target_vect_strided_wide): Likewise.
* gcc.dg/vect/O3-pr39675-2.c: Use the non-wide versions instead.
* gcc.dg/vect/fast-math-pr35982.c: Likewise.
* gcc.dg/vect/fast-math-vect-complex-3.c: Likewise.
* gcc.dg/vect/pr37539.c: Likewise.
* gcc.dg/vect/slp-11.c: Likewise.
* gcc.dg/vect/slp-12a.c: Likewise.
* gcc.dg/vect/slp-12b.c: Likewise.
* gcc.dg/vect/slp-19.c: Likewise.
* gcc.dg/vect/slp-23.c: Likewise.
* gcc.dg/vect/vect-1.c: Likewise.
* gcc.dg/vect/vect-98.c: Likewise.
* gcc.dg/vect/vect-107.c: Likewise.
* gcc.dg/vect/vect-strided-float.c: Likewise.
From-SVN: r173293
Richard Sandiford [Tue, 3 May 2011 07:47:12 +0000 (07:47 +0000)]
neon.md (vec_load_lanes<mode><mode>): New expanders,
gcc/
* config/arm/neon.md (vec_load_lanes<mode><mode>): New expanders,
(vec_store_lanes<mode><mode>): Likewise.
From-SVN: r173292
Richard Sandiford [Tue, 3 May 2011 07:46:54 +0000 (07:46 +0000)]
md.texi (vec_load_lanes, [...]): Document.
gcc/
* doc/md.texi (vec_load_lanes, vec_store_lanes): Document.
* optabs.h (COI_vec_load_lanes, COI_vec_store_lanes): New
convert_optab_index values.
(vec_load_lanes_optab, vec_store_lanes_optab): New convert optabs.
* genopinit.c (optabs): Initialize the new optabs.
* internal-fn.def (LOAD_LANES, STORE_LANES): New internal functions.
* internal-fn.c (get_multi_vector_move, expand_LOAD_LANES)
(expand_STORE_LANES): New functions.
* tree.h (build_array_type_nelts): Declare.
* tree.c (build_array_type_nelts): New function.
* tree-vectorizer.h (vect_model_store_cost): Add a bool argument.
(vect_model_load_cost): Likewise.
(vect_store_lanes_supported, vect_load_lanes_supported)
(vect_record_strided_load_vectors): Declare.
* tree-vect-data-refs.c (vect_lanes_optab_supported_p)
(vect_store_lanes_supported, vect_load_lanes_supported): New functions.
(vect_transform_strided_load): Split out statement recording into...
(vect_record_strided_load_vectors): ...this new function.
* tree-vect-stmts.c (create_vector_array, read_vector_array)
(write_vector_array, create_array_ref): New functions.
(vect_model_store_cost): Add store_lanes_p argument.
(vect_model_load_cost): Add load_lanes_p argument.
(vectorizable_store): Try to use store-lanes functions for
interleaved stores.
(vectorizable_load): Likewise load-lanes and loads.
* tree-vect-slp.c (vect_get_and_check_slp_defs): Update call
to vect_model_store_cost.
(vect_build_slp_tree): Likewise vect_model_load_cost.
From-SVN: r173291
Richard Sandiford [Tue, 3 May 2011 07:46:10 +0000 (07:46 +0000)]
hooks.h (hook_bool_mode_uhwi_false): Declare.
gcc/
* hooks.h (hook_bool_mode_uhwi_false): Declare.
* hooks.c (hook_bool_mode_uhwi_false): New function.
* target.def (array_mode_supported_p): New hook.
* doc/tm.texi.in (TARGET_ARRAY_MODE_SUPPORTED_P): Add @hook.
* doc/tm.texi: Regenerate.
* stor-layout.c (mode_for_array): New function.
(layout_type): Use it.
* config/arm/arm.c (arm_array_mode_supported_p): New function.
(TARGET_ARRAY_MODE_SUPPORTED_P): Define.
From-SVN: r173290
Eric Botcazou [Tue, 3 May 2011 07:20:01 +0000 (07:20 +0000)]
re PR target/48723 (ICE on function returning structure with -fstack-check on corei7-avx)
PR target/48723
* config/i386/i386.c (ix86_expand_prologue): Do not probe the stack
for -fstack-check if the size to allocate is negative.
From-SVN: r173288