OSDN Git Service

pf3gnuchains/gcc-fork.git
12 years ago PR rtl-optimization/51051
amodra [Tue, 15 Nov 2011 22:10:46 +0000 (22:10 +0000)]
PR rtl-optimization/51051
PR bootstrap/51086
* function.c (thread_prologue_and_epilogue_insns): Guard
emitting return with single_succ_p test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181391 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.target/i386/sse2-cvt-vec.c: New test.
uros [Tue, 15 Nov 2011 19:40:04 +0000 (19:40 +0000)]
* gcc.target/i386/sse2-cvt-vec.c: New test.
* gcc.target/i386/avx-cvt-vec.c: Ditto.
* gcc.target/i386/avx-cvt-2-vec.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181390 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/epiphany/epiphany.md (mov<mode>cc): Fix code to
amylaar [Tue, 15 Nov 2011 19:06:32 +0000 (19:06 +0000)]
    * config/epiphany/epiphany.md (mov<mode>cc): Fix code to
        get mode from CMP_OP1 if CMP_OP0 is VOIDmode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181388 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/sse.md (vec_pack_trunc_v2df): Optimize sequence for AVX.
uros [Tue, 15 Nov 2011 18:45:20 +0000 (18:45 +0000)]
* config/i386/sse.md (vec_pack_trunc_v2df): Optimize sequence for AVX.
(vec_pack_sfix_trunc_v2df): Ditto.
(vec_pack_sfix_v2df): Ditto.
(vec_pack_sfix_trunc_v4df): Generate fix_truncv4dfv4si2 and
avx_vec_concatv8si patterns.
(vec_pack_sfix_v4df): Generate avx_cvtpd2dq256 and
avx_vec_concatv8si patterns.

testsuite/ChangeLog:

* gcc.target/i386/avx-floor-sfix-2-vec.c: New test.
* gcc.target/i386/avx-ceil-sfix-2-vec.c: Ditto.
* gcc.target/i386/avx-rint-sfix-2-vec.c: Ditto.
* gcc.target/i386/avx-round-sfix-2-vec.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181387 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/testsuite:
iains [Tue, 15 Nov 2011 13:16:17 +0000 (13:16 +0000)]
gcc/testsuite:

* lib/gcc-simulate-thread.exp (simulate-thread): Do not run on
powerpc*-*-darwin* targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181384 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoRequire parentheses when parsing transaction expressions.
torvald [Tue, 15 Nov 2011 12:16:13 +0000 (12:16 +0000)]
Require parentheses when parsing transaction expressions.

gcc/
* c-parser.c (c_parser_transaction_expression): Require parentheses
when parsing transaction expressions.

gcc/cp/
* parser.c (cp_parser_transaction_expression): Require parentheses
when parsing transaction expressions.

gcc/testsuite/
* c-c++-common/tm/trxn-expr-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181383 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-15 Jason Dick <dickphd@gmail.com>
paolo [Tue, 15 Nov 2011 10:49:00 +0000 (10:49 +0000)]
2011-11-15  Jason Dick  <dickphd@gmail.com>

PR libstdc++/51133
* include/tr1/poly_hermite.tcc (__poly_hermite_recursion): Fix
wrong sign in recursion relation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181381 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-15 Tristan Gingold <gingold@adacore.com>
gingold [Tue, 15 Nov 2011 10:25:36 +0000 (10:25 +0000)]
2011-11-15  Tristan Gingold  <gingold@adacore.com>

* incpath.c (get_added_cpp_dirs): New function.
* incpath.h (get_added_cpp_dirs): Declare.
* config/vms/vms-c.c (vms_c_register_includes): New function.
(vms_std_modules): New variable.
* config/vms/vms.h (TARGET_EXTRA_INCLUDES): Define.
(vms_c_register_includes): Declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181380 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-15 Tristan Gingold <gingold@adacore.com>
gingold [Tue, 15 Nov 2011 10:22:55 +0000 (10:22 +0000)]
2011-11-15  Tristan Gingold  <gingold@adacore.com>

* c-family/c-pragma.h (pragma_extern_prefix): Declare.
* c-family/c-pragma.c (pragma_extern_prefix): Make it public.
* config/vms/vms-c.c (saved_extern_prefix): New variable.
(vms_pragma_extern_prefix): New function.
(vms_c_register_pragma): Register vms_pragma_extern_prefix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181379 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
gjl [Tue, 15 Nov 2011 09:01:46 +0000 (09:01 +0000)]
gcc/
PR target/49868
* config/avr/avr.h (ADDR_SPACE_PGM): New address spaces.
(REGISTER_TARGET_PRAGMAS): New define.
* config/avr/avr-protos.h (avr_mem_pgm_p): New.
(avr_load_libgcc_p): New.
(asm_output_external_libcall): Remove.
(avr_register_target_pragmas): New.
(avr_log_t): Add field "progmem".  Order alphabetically.
* config/avr/avr-log.c (avr_log_set_avr_log): Set avr_log.progmem.
* config/avr/avr-c.c (langhooks.h): New include.
(avr_register_target_pragmas): New function. Register address
space __pgm.
(avr_cpu_cpp_builtins): Add built-in define __PGM.
* config/avr/avr.c: Include "c-family/c-common.h".
(TARGET_LEGITIMATE_ADDRESS_P): Remove define.
(TARGET_LEGITIMIZE_ADDRESS): Remove define.
(TARGET_ADDR_SPACE_SUBSET_P): Define to...
(avr_addr_space_subset_p): ...this new static function.
(TARGET_ADDR_SPACE_CONVERT): Define to...
(avr_addr_space_convert): ...this new static function.
(TARGET_ADDR_SPACE_ADDRESS_MODE): Define to...
(avr_addr_space_address_mode): ...this new static function.
(TARGET_ADDR_SPACE_POINTER_MODE): Define to...
(avr_addr_space_pointer_mode): ...this new static function.
(TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define to...
(avr_addr_space_legitimate_address_p): ...this new static function.
(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Define to...
(avr_addr_space_legitimize_address): ...this new static function.
(avr_mode_code_base_reg_class): Handle address spaces.
(avr_regno_mode_code_ok_for_base_p): Ditto.
(lpm_addr_reg_rtx, lpm_reg_rtx, all_regs_rtx): New static variables.
(avr_option_override): Initialize them.
(output_reload_in_const): Use all_regs_rtx. Fix signedness of loop
variables.
(avr_pgm_segment): New static function.
(avr_decl_pgm_p, avr_mem_pgm_p): New static functions.
(avr_out_lpm, avr_out_lpm_no_lpmx): New static functions.
(output_movqi, output_movhi, output_movsisf, avr_out_movpsi): Call
avr_out_lpm to handle loads from progmem.
(avr_load_libgcc_p): New static function.
(avr_progmem_p): Test if decl is in flash.
(avr_pgm_pointer_const_p): New static function.
(avr_nonconst_pointer_addrspace): New static function.
(avr_pgm_check_var_decl): New static function.
(avr_insert_attributes): Use it.  Change error message to report
cause (progmem or address space) when code wants to write to flash.
(avr_section_type_flags): Unset section flag SECTION_BSS for
data in progmem.
* config/avr/predicates.md (nop_general_operand): New predicate.
(nox_general_operand): New predicate.
* config/avr/avr.md (LPM_REGNO): New define_constant.
(load<mode>_libgcc): New expander.
(*load.<mode>.libgcc): New insn.
(mov<mode>): Handle loads from non-generic AS.
(movmemhi): Ditto.  Propagate address space information to newly
created MEM.
(movqi_insn, *movhi, *movpsi, *movsi, *movsf): Change predicate #1
to nox_general_operand.
(ashrqi3, ashrhi3, ashrsi3): Change predicate #1 to nop_general_operand.
(ashlqi3, *ashlqi3, ashlhi3, ashlsi3): Ditto.
(lshrqi3, *lshrqi3, lshrhi3, lshrsi3): Ditto.
(split-lpmx): New split.
(*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const,
*lshrhi3_const, *lshrsi3_const): Indent, unquote C.

libgcc/
PR target/49868
* config/avr/t-avr (LIB1ASMFUNCS): Add _load_3,  _load_4.
* config/avr/lib1funcs.S (__load_3, __load_4, __xload_2): New functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181378 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * ipa-cp.c (ipa_value_from_jfunc): Make global.
mkuvyrkov [Tue, 15 Nov 2011 03:46:08 +0000 (03:46 +0000)]
* ipa-cp.c (ipa_value_from_jfunc): Make global.
(ipa_cst_from_jfunc): Remove, use ipa_value_from_jfunc instead.
(get_indirect_edge_target): Rename, make global.
(devirtualization_time_bonus, estimate_local_effects,)
(ipcp_discover_new_direct_edges): Update.
* ipa-inline-analysis.c (evaluate_conditions_for_edge):
Generalize to also handle types.  Rename to ...
(evaluate_properties_for_edge): Use instead of
evaluate_conditions_for_edge.
(estimate_edge_devirt_benefit): New function.
(estimate_calls_size_and_time): Use it.
(estimate_node_size_and_time, estimate_ipcp_clone_size_and_time,)
(inline_merge_summary): Update.
(do_estimate_edge_time, do_estimate_edge_growth): Update.  Calculate
parameter information at the call site and pass it on to subroutines.
* tree-inline.c (estimate_num_insns): Distinguish between direct and
indirect calls.
(init_inline_once): Set size and time costs or indirect calls.
* tree-inline.h (eni_weights): Add indirect_call_cost.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181377 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Tue, 15 Nov 2011 00:18:38 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181376 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-15 Tom de Vries <tom@codesourcery.com>
vries [Tue, 15 Nov 2011 00:12:45 +0000 (00:12 +0000)]
2011-11-15  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/51005
* tree-ssa-tail-merge.c (delete_basic_block_same_succ): Rename to
mark_basic_block_deleted.
(update_worklist): Inline purge_bbs.
(purge_bbs, unlink_virtual_phi, update_vuses, vop_at_entry)
(delete_block_update_dominator_info): Remove.
(replace_block_by): Remove update_vops parameter.  Partially evaluate
for update_vops == false.
(apply_clusters): Remove update_vops parameter.  Remove update_vops
argument in replace_block_by call.
(update_debug_stmts): Remove MAY_HAVE_DEBUG_STMTS test.
(tail_merge_optimize): Remove update_vops argument to apply_clusters.
Remove call to purge_bbs.  Add calls to calculate_dominance_info and
free_dominance_info.  Add MAY_HAVE_DEBUG_STMTS before calling
update_debug_stmts.  Mark vop var for renaming, if necessary.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181372 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR rtl-optimization/51051
hp [Mon, 14 Nov 2011 23:31:13 +0000 (23:31 +0000)]
PR rtl-optimization/51051
* cfgrtl.c (cfg_layout_can_merge_blocks_p): Return FALSE if the
move would cause fallthrough into the exit block.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181371 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agors6000: Rewrite sync patterns for atomic; expand early.
rth [Mon, 14 Nov 2011 22:59:02 +0000 (22:59 +0000)]
rs6000: Rewrite sync patterns for atomic; expand early.

The conversion of the __sync post-reload splitters was half
complete.  Since there are nearly no restrictions on what may
appear between LL and SC, expand all the patterns immediatly.
This allows significantly easier code generation for subword
atomic operations.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181370 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/sse.md (round<mode>2): Use register_operand for
uros [Mon, 14 Nov 2011 22:27:13 +0000 (22:27 +0000)]
* config/i386/sse.md (round<mode>2): Use register_operand for
operand 1 predicate.
(round<mode>2_sfix): Ditto.
(round<mode>2_vec_pack_sfix): Ditto for operand 1 and operand 2.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181369 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoruntime: Use some of 6g runtime.c for easier merging.
ian [Mon, 14 Nov 2011 22:26:45 +0000 (22:26 +0000)]
runtime: Use some of 6g runtime.c for easier merging.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181368 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcov.c (canonicalize_name): Protect use of S_ISLNK.
nathan [Mon, 14 Nov 2011 21:44:01 +0000 (21:44 +0000)]
* gcov.c (canonicalize_name): Protect use of S_ISLNK.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181367 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoTrivial: add cleanup-tree-dump in testcase, fix typo in comment.
torvald [Mon, 14 Nov 2011 21:06:15 +0000 (21:06 +0000)]
Trivial: add cleanup-tree-dump in testcase, fix typo in comment.

gcc/testsuite:
* g++.dg/tm/template-1.C: Add cleanup-tree-dump. Fix typo in comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181366 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc:
iains [Mon, 14 Nov 2011 21:05:12 +0000 (21:05 +0000)]
gcc:

2011-11-14  Jan Hubicka  <jh@suse.cz>

* config/i386/i386.c (core cost model): Correct pasto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181365 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.target/i386/avx-recip-vec.c: New test.
uros [Mon, 14 Nov 2011 20:25:14 +0000 (20:25 +0000)]
* gcc.target/i386/avx-recip-vec.c: New test.
* gcc.target/i386/avx-lrintf-vec.c: Ditto.
* gcc.target/i386/avx-lrint-vec.c: Ditto.
* gcc.target/i386/avx-ceilf-vec.c: Include sse4_1-ceilf-vec.c.
* gcc.target/i386/avx-ceil-vec.c: Include sse4_1-ceil-vec.c.
* gcc.target/i386/avx-floorf-vec.c: Include sse4_1-floorf-vec.c.
* gcc.target/i386/avx-floor-vec.c: Include sse4_1-floor-vec.c.
* gcc.target/i386/avx-rintf-vec.c: Include sse4_1-rintf-vec.c.
* gcc.target/i386/avx-rint-vec.c: Include sse4_1-rint-vec.c.
* gcc.target/i386/avx-roundf-vec.c: Include sse4_1-roundf-vec.c.
* gcc.target/i386/avx-round-vec.c: Include sse4_1-round-vec.c.
* gcc.target/i386/avx-truncf-vec.c: Include sse4_1-truncf-vec.c.
* gcc.target/i386/avx-trunc-vec.c: Include sse4_1-trunc-vec.c.
* gcc.target/i386/avx-copysignf-vec.c: Include sse-copysignf-vec.c.
* gcc.target/i386/avx-copysign-vec.c: Include sse2-copysign-vec.c.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181364 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/51107
jason [Mon, 14 Nov 2011 20:05:12 +0000 (20:05 +0000)]
PR c++/51107
* typeck.c (check_literal_operator_args): Add processing_specialization
to check for void template fn. Test for exact arity for non-template fn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181363 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/sse.md (round<mode>2_sfix): New expander.
uros [Mon, 14 Nov 2011 19:36:33 +0000 (19:36 +0000)]
* config/i386/sse.md (round<mode>2_sfix): New expander.
(round<mode>2_vec_pack_sfix): Ditto.
(<sse4_1>_round<ssemodesuffix>_sfix<avxsizesuffix>): Ditto.
(<sse4_1>_round<ssemodesuffix>_vec_pack_sfix<avxsizesuffix>): Ditto.
* config/i386/builtin-types.def (V4SI_FTYPE_V4SF_ROUND,
V8SI_FTYPE_V8SF_ROUND, V4SI_FTYPE_V2DF_V2DF_ROUND,
V8SI_FTYPE_V4DF_V4DF_ROUND): New builtin types.
* config/i386/i386.c (ix86_builtins): Add
IX86_BUILTIN_{FLOORPD,CEILPD,ROUNDPD_AZ}_VEC_PACK_SFIX{,256} and
IX86_BUILTIN_{FLOORPS,CEILPS,ROUNDPS_AZ}_SFIX{,256} defines.
(bdesc_args): Add __builtin_ia32_{floorpd,ceilpd}_vec_pack_sfix{,256},
__builtin_ia32_roundpd_az_vec_pack_sfix{,256},
__builtin_ia32_{floorps,ceilps}_sfix{,256}and
__builtin_ia32_roundps_az_sfix{,256} descriptions.
(ix86_expand_sse_round_vec_pack_sfix): New.
(ix86_expand_args_builtin): Handle V4SI_FTYPE_V4SF_ROUND,
V8SI_FTYPE_V8SF_ROUND, V4SI_FTYPE_V2DF_V2DF_ROUND and
V8SI_FTYPE_V4DF_V4DF_ROUND types.  Check last argument of
CODE_FOR_sse4_1_roundpd_vec_pack_sfix, CODE_FOR_sse4_1_roundps_sfix,
CODE_FOR_avx_roundpd_vec_pack_sfix256 and CODE_FOR_avx_roundps_sfix256.
(ix86_builtin_vectorized_function): Handle
BUILT_IN_{I,L,LL}FLOOR{,F}, BUILT_IN_{I,L,LL}CEIL{,F} and
BUILT_IN_{I,L,LL}ROUND{,F}

testsuite/ChangeLog:

* gcc.target/i386/sse4_1-floor-sfix-vec.c: New test.
* gcc.target/i386/sse4_1-floorf-sfix-vec.c: Ditto.
* gcc.target/i386/avx-floor-sfix-vec.c: Ditto.
* gcc.target/i386/avx-floorf-sfix-vec.c: Ditto.
* gcc.target/i386/sse4_1-ceil-sfix-vec.c: Ditto.
* gcc.target/i386/sse4_1-ceilf-sfix-vec.c: Ditto.
* gcc.target/i386/avx-ceil-sfix-vec.c: Ditto.
* gcc.target/i386/avx-ceilf-sfix-vec.c: Ditto.
* gcc.target/i386/sse4_1-round-sfix-vec.c: Ditto.
* gcc.target/i386/sse4_1-roundf-sfix-vec.c: Ditto.
* gcc.target/i386/avx-round-sfix-vec.c: Ditto.
* gcc.target/i386/avx-roundf-sfix-vec.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181361 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoCheck ia32 instead of ilp32.
hjl [Mon, 14 Nov 2011 18:12:24 +0000 (18:12 +0000)]
Check  ia32 instead of ilp32.

2011-11-14  H.J. Lu  <hongjiu.lu@intel.com>

* testsuite/lib/libitm.exp: Check ia32 instead of ilp32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181360 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/6936
jason [Mon, 14 Nov 2011 17:55:57 +0000 (17:55 +0000)]
PR c++/6936
PR c++/25994
PR c++/26256
PR c++/30195
* search.c (lookup_field_1): Look through USING_DECL.
(lookup_field_r): Call lookup_fnfields_slot instead of
lookup_fnfields_1.
* semantics.c (finish_member_declaration): Remove the check that
prevents USING_DECLs from being verified by
pushdecl_class_level. Call add_method for using declarations that
designates functions if the using declaration is in a template
class. Set DECL_IGNORED_P on class-scope using declarations.
* typeck.c (build_class_member_access_expr): Handle USING_DECLs.
* class.c (check_field_decls): Keep using declarations.
(add_method): Remove two diagnostics about conflicting using
declarations.
* parser.c (cp_parser_nonclass_name): Handle USING_DECLs.
* decl.c (start_enum): Call xref_tag whenever possible.
* cp-tree.h (strip_using_decl): Declare, and reident the previous
function.
* name-lookup.c (strip_using_decl): New function.
(supplement_binding_1): Call strip_using_decl on decl and
bval. Perform most of the checks with USING_DECLs stripped.  Also
check that the target decl and the target bval does not refer to
the same declaration. Allow pushing an enum multiple times in a
template class. Adjustment to diagnose using redeclarations. Call
diagnose_name_conflict.
(push_class_level_binding): Call strip_using_decl on decl and
bval. Perform most of the checks with USING_DECLs stripped. Return
true if both decl and bval refer to USING_DECLs and are dependent.
(diagnose_name_conflict): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181359 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR middle-end/50598
hubicka [Mon, 14 Nov 2011 17:32:47 +0000 (17:32 +0000)]
PR middle-end/50598
* cgraph.h (varpool_externally_visible_p): Declare.
(varpool_add_new_variable): Declare.
* tree-emultls.c (get_emutls_init_templ_addr,
new_emutls_decl): Use varpool_add_new_variable.
* ipa.c (varpool_externally_visible_p): Export.
* varpool.c (varpool_add_new_variable): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181358 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.target/i386/sw-1.c: Force rep;movsb.
hubicka [Mon, 14 Nov 2011 17:28:11 +0000 (17:28 +0000)]
* gcc.target/i386/sw-1.c: Force rep;movsb.

        * config/i386/i386.h (processor_costs): Add second dimension to
        stringop_algs array.
        * config/i386/i386.c (cost models): Initialize second dimension of
        stringop_algs arrays.
(core_cost): New costs based on generic64 costs with updated stringop
values.
        (promote_duplicated_reg): Add support for vector modes, add
        declaration.
        (promote_duplicated_reg_to_size): Likewise.
(processor_target): Set core costs for core variants.
        (expand_set_or_movmem_via_loop_with_iter): New function.
        (expand_set_or_movmem_via_loop): Enable reuse of the same iters in
        different loops, produced by this function.
        (emit_strset): New function.
        (expand_movmem_epilogue): Add epilogue generation for bigger sizes,
        use SSE-moves where possible.
        (expand_setmem_epilogue): Likewise.
        (expand_movmem_prologue): Likewise for prologue.
        (expand_setmem_prologue): Likewise.
        (expand_constant_movmem_prologue): Likewise.
        (expand_constant_setmem_prologue): Likewise.
        (decide_alg): Add new argument align_unknown.  Fix algorithm of
        strategy selection if TARGET_INLINE_ALL_STRINGOPS is set; Skip sse_loop
        (decide_alignment): Update desired alignment according to chosen move
        mode.
        (ix86_expand_movmem): Change unrolled_loop strategy to use SSE-moves.
        (ix86_expand_setmem): Likewise.
        (ix86_slow_unaligned_access): Implementation of new hook
        slow_unaligned_access.
        * config/i386/i386.md (strset): Enable half-SSE moves.
        * config/i386/sse.md (vec_dupv4si): Add expand for vec_dupv4si.
        (vec_dupv2di): Add expand for vec_dupv2di.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181357 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR bootstrap/51094
jason [Mon, 14 Nov 2011 16:55:56 +0000 (16:55 +0000)]
PR bootstrap/51094
PR middle-end/51116
* config/elfos.h (TARGET_ASM_INTERNAL_LABEL): Remove.
* varasm.c (default_elf_internal_label): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181355 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcov.c (generate_results): Add missing semicolon and
ktietz [Mon, 14 Nov 2011 16:38:23 +0000 (16:38 +0000)]
    * gcov.c (generate_results): Add missing semicolon and
        correct indent.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181353 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/testsuite:
iains [Mon, 14 Nov 2011 11:53:33 +0000 (11:53 +0000)]
gcc/testsuite:

PR testsuite/51059
* gcc.misc-tests/gcov-14.c (dg-options): Adjust to use
dg-additional-options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181350 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-14 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 14 Nov 2011 11:29:26 +0000 (11:29 +0000)]
2011-11-14  Paolo Carlini  <paolo.carlini@oracle.com>

* include/c_global/cmath (frexp, modf, remquo): Do not mark constexpr,
not viable anyway due to the pointer parameter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181349 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-14 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 14 Nov 2011 08:15:09 +0000 (08:15 +0000)]
2011-11-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51073
        * trans-decl.c (generate_coarray_sym_init): Handle zero-sized
        * arrays.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181348 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR bootstrap/51112
irar [Mon, 14 Nov 2011 06:41:09 +0000 (06:41 +0000)]
    PR bootstrap/51112
        * tree-vect-stmts.c (vectorizable_condition): Initialize
        comp_vectype.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181347 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix a cross reference.
xmj [Mon, 14 Nov 2011 05:53:18 +0000 (05:53 +0000)]
Fix a cross reference.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181346 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Mon, 14 Nov 2011 00:18:34 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181345 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-13 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sun, 13 Nov 2011 23:51:42 +0000 (23:51 +0000)]
2011-11-13  Paolo Carlini  <paolo.carlini@oracle.com>

* include/c_global/cmath (atan2, fmod, pow, copysign, fdim,
fma, fmax, fmin, hypot, nextafter, remainder, remquo): Simplify
constraining on the return type.
* include/tr1/cmath (copysign, fdim, fma, fmax, fmin, hypot,
nextafter, remainder, remquo): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181341 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/50694
kkojima [Sun, 13 Nov 2011 23:00:10 +0000 (23:00 +0000)]
PR target/50694
* config/sh/sh.h (IS_LITTLE_ENDIAN_OPTION, UNSUPPORTED_SH2A):
New macros.
(DRIVER_SELF_SPECS): Use new macros to filter out
unsupported options taking the default configuration into
account.
* gcc.target/sh/pr21255-2-ml.c: Skip if -mb or -m5* is
specified.  Remove redundant runtime checks.
* gcc.target/sh/20080410-1.c: Skip if -mb is specified.
Allow for other than -m4.  Fix typos in comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181340 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from
danglin [Sun, 13 Nov 2011 20:17:01 +0000 (20:17 +0000)]
* config.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from
tmake_file list.
* config/pa/t-stublib: Merge rules from config/pa/t-stublib64.
* config/pa/t-stublib64: Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181339 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * doc/install.texi (Specific): Fix anchor for
redi [Sun, 13 Nov 2011 16:39:22 +0000 (16:39 +0000)]
* doc/install.texi (Specific): Fix anchor for
x86_64-*-solaris2.1[0-9]*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181338 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcov.c (source_prefix, source_length): New globals.
nathan [Sun, 13 Nov 2011 10:26:23 +0000 (10:26 +0000)]
* gcov.c (source_prefix, source_length): New globals.
(flag_relative_only): Likewise.
(print_usage, options, process_args): Update.
(generate_results): Use coverage.name, check
flag_relative_only. Adjust messages.
(find_source): Check source_prefix.
(output_lines): Use coverage.name, adjust messages.
* doc/gcov.texi (Invoking Gcov): Document new options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181335 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/986
jason [Sun, 13 Nov 2011 05:09:36 +0000 (05:09 +0000)]
PR c++/986
* call.c (set_up_extended_ref_temp): Warn about references
bound to non-static reference members.
* init.c (perform_member_init): Pass in the member.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181334 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * using.xml: Use GNU/Linux.
gerald [Sun, 13 Nov 2011 04:27:22 +0000 (04:27 +0000)]
* using.xml: Use GNU/Linux.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181333 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/51060
jason [Sun, 13 Nov 2011 00:44:39 +0000 (00:44 +0000)]
PR c++/51060
* gimplify.c (gimplify_target_expr): Add a clobber to the cleanup.
(gimplify_modify_expr): Don't try to simplify it.
* cp/cp-gimplify.c (cp_gimplify_expr): Leave clobbers alone.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181332 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Sun, 13 Nov 2011 00:18:44 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181331 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR bootstrap/51094
jason [Sat, 12 Nov 2011 21:40:07 +0000 (21:40 +0000)]
PR bootstrap/51094
* config/elfos.h (STRING_ASM_OP): Define.
* varasm.c (default_elf_asm_output_limited_string): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181327 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR bootstrap/51094
jason [Sat, 12 Nov 2011 21:39:59 +0000 (21:39 +0000)]
PR bootstrap/51094
* gcc/configure.ac: Check for stpcpy declaration.
* system.h: Declare it if not.
* config.in, configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181326 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoppc-linux: Fix call to _Unwind_SetGRPtr
rth [Sat, 12 Nov 2011 17:20:58 +0000 (17:20 +0000)]
ppc-linux: Fix call to _Unwind_SetGRPtr

        * config/rs6000/linux-unwind.h (frob_update_context): Properly
        cast the pointer argument to _Unwind_SetGRPtr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181325 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agors6000: fix*_trunc insns use nonimmediate_operand
rth [Sat, 12 Nov 2011 17:19:39 +0000 (17:19 +0000)]
rs6000: fix*_trunc insns use nonimmediate_operand

        * config/rs6000/rs6000.md (fix_trunc<SFDF>si2_stfiwx): Use
        nonimmediate_operand for the destination.
        (fixuns_trunc<SFDF>si2_stfiwx): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181324 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * builtins.c (expand_builtin_compare_and_swap): If target is const0,
rth [Sat, 12 Nov 2011 17:17:54 +0000 (17:17 +0000)]
    * builtins.c (expand_builtin_compare_and_swap): If target is const0,
        don't pass the target to expand_atomic_compare_and_swap.
        (expand_builtin_atomic_compare_exchange): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181323 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agosh-linux: Install __sync libfuncs.
rth [Sat, 12 Nov 2011 17:17:45 +0000 (17:17 +0000)]
sh-linux: Install __sync libfuncs.

        * config/sh/linux.h (TARGET_INIT_LIBFUNCS): New.
        * config/sh/sh.c (sh_init_sync_libfuncs): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181322 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR libstdc++/51083
redi [Sat, 12 Nov 2011 15:57:03 +0000 (15:57 +0000)]
PR libstdc++/51083
* include/ext/type_traits.h (__promote): Only define __type member
for integral and floating point types, to prevent math functions
participating in overload resolution for other types.
(__promote_2, __promote_3, __promote_4): Use __promote in default
template argument values, so deduction only succeeds for integral and
floating point types.
* testsuite/26_numerics/cmath/51083.cc: New.
* testsuite/26_numerics/complex/51083.cc: New.
* testsuite/tr1/8_c_compatibility/cmath/51083.cc: New.
* testsuite/tr1/8_c_compatibility/complex/51083.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181321 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agohppa: Install __sync libfuncs for linux.
rth [Sat, 12 Nov 2011 15:39:44 +0000 (15:39 +0000)]
hppa: Install __sync libfuncs for linux.

        * config/pa/pa-linux.h (TARGET_SYNC_LIBCALL): New.
        * config/pa/pa.h (TARGET_SYNC_LIBCALL): New default.
        * config/pa/pa.c (pa_init_libfuncs): Use init_sync_libfuncs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181320 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoada:
iains [Sat, 12 Nov 2011 15:06:18 +0000 (15:06 +0000)]
ada:

* gcc-interface/Makefile.in (stamp-gnatlib-$(RTSDIR)): Don't link
s-oscons.ads.
(OSCONS_CPP, OSCONS_EXTRACT): New.
(./bldtools/oscons/xoscons): New Target.
($(RTSDIR)/s-oscons.ads): New Target.
(gnatlib): Depend on  $(RTSDIR)/s-oscons.ads.
* gcc-interface/Make-lang.in (ada/s-oscons.ads) Remove as dependency.
* Make-generated.in: Remove machinery to generate xoscons and
ada/s-oscons.ads.

libada:

Makefile.in: Change dependency on oscons to depend on the generator
tool.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181319 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * lib/gcc-simulate-thread.exp (simulate-thread): Do not run on
uros [Sat, 12 Nov 2011 14:35:31 +0000 (14:35 +0000)]
* lib/gcc-simulate-thread.exp (simulate-thread): Do not run on
alpha*-*-linux* targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181318 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/testsuite:
iains [Sat, 12 Nov 2011 14:30:45 +0000 (14:30 +0000)]
gcc/testsuite:

PR testsuite/51059
* gcc.misc-tests/gcov-14.c (dg-options): Force flat namespace for
Darwin targets and allow external symbols to be undefined.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181317 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc:
iains [Sat, 12 Nov 2011 14:12:26 +0000 (14:12 +0000)]
gcc:

PR target/45233
* config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
Only expand a symbol ref. into an access when the entity is defined
in the TU.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181315 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/obj:
iains [Sat, 12 Nov 2011 13:54:33 +0000 (13:54 +0000)]
gcc/obj:

* objc-next-runtime-abi-01.c (objc_eh_personality): Use gcc personality
for Objective-C m32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181312 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR bootstrap/50822
hubicka [Sat, 12 Nov 2011 13:19:55 +0000 (13:19 +0000)]
PR bootstrap/50822
* cgraphunit.c (output_weakrefs): Output really only weakrefs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181311 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * MAINTAINERS (Reviewers): Keep the list sorted.
abel [Sat, 12 Nov 2011 12:11:39 +0000 (12:11 +0000)]
    * MAINTAINERS (Reviewers): Keep the list sorted.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181310 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcov.c (struct name_map): New.
nathan [Sat, 12 Nov 2011 11:35:42 +0000 (11:35 +0000)]
* gcov.c (struct name_map): New.
(names, n_names, a_names): New global vars.
(print_usage): Adjust usage.
(generate_results): Canonicalize main file name.
(release_structures): Adjust.
(name_search, name_sort): New callbacks.
(find_source): Look for and create a canonical name.
(canonicalize_name): New.
(make_gcov_file_name): Reimplement and fix mangling.
(mangle_name): New.
* doc/gcov.texi: Update documentation about path preservation.

testsuite/
* gcc.misc-tests/gcov-15.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181309 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix recent entry
ebotcazou [Sat, 12 Nov 2011 08:57:49 +0000 (08:57 +0000)]
Fix recent entry

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181308 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix Linux/sparc build after generic asm output optimizations.
davem [Sat, 12 Nov 2011 01:05:07 +0000 (01:05 +0000)]
Fix Linux/sparc build after generic asm output optimizations.

* config/sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Delete.
* config/sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181307 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Sat, 12 Nov 2011 00:18:00 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181306 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoIntroduce G structure and thread-local global g.
ian [Fri, 11 Nov 2011 21:02:48 +0000 (21:02 +0000)]
Introduce G structure and thread-local global g.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181301 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/i386-protos.h (ix86_maybe_emit_epilogue_vzeroupper):
jakub [Fri, 11 Nov 2011 19:58:10 +0000 (19:58 +0000)]
* config/i386/i386-protos.h (ix86_maybe_emit_epilogue_vzeroupper):
New prototype.
* config/i386/i386.c (ix86_maybe_emit_epilogue_vzeroupper): New
function.
(ix86_expand_epilogue): Use it.
* config/i386/i386.md (return, simple_return): Call it in the
expanders.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181300 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/51091
jakub [Fri, 11 Nov 2011 19:57:23 +0000 (19:57 +0000)]
PR tree-optimization/51091
* tree-stdarg.c (execute_optimize_stdarg): Ignore TREE_CLOBBER_P
rhs also in the va_list_simple_ptr case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181299 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/51058
jakub [Fri, 11 Nov 2011 19:56:13 +0000 (19:56 +0000)]
PR tree-optimization/51058
* tree-vect-slp.c (vect_remove_slp_scalar_calls): New function.
(vect_schedule_slp): Call it.
* tree-vect-stmts.c (vectorizable_call): If slp_node != NULL,
don't replace scalar calls with setting of their lhs to zero here.

* gcc.dg/vect/fast-math-vect-call-1.c: Add f4 test.
* gfortran.dg/vect/pr51058-2.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181298 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/51074
jakub [Fri, 11 Nov 2011 19:55:23 +0000 (19:55 +0000)]
PR tree-optimization/51074
* fold-const.c (vec_cst_ctor_to_array, fold_vec_perm): New functions.
(fold_binary_loc): Handle VEC_EXTRACT_EVEN_EXPR,
VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR and
VEC_INTERLEAVE_LOW_EXPR with VECTOR_CST or CONSTRUCTOR operands.
(fold_ternary_loc): Handle VEC_PERM_EXPR with VECTOR_CST or
CONSTRUCTOR operands.
* tree-ssa-propagate.c (valid_gimple_rhs_p): Handle ternary
expressions.
* tree-vect-generic.c (lower_vec_perm): Mask sel_int elements
to 0 .. 2 * elements - 1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181297 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoImplement omp atomic load and store.
rth [Fri, 11 Nov 2011 17:52:11 +0000 (17:52 +0000)]
Implement omp atomic load and store.

* gimple-pretty-print.c (dump_gimple_omp_atomic_load): Dump needed.
(dump_gimple_omp_atomic_store): Likewise.
* optabs.c (can_atomic_exchange_p): New.
* optabs.h (can_atomic_exchange_p): Declare.
* omp-low.c (expand_omp_atomic_load): Implement.
(expand_omp_atomic_store): Likewise.
(expand_omp_atomic): Update for new arguments to load/store.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181296 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/50976
jason [Fri, 11 Nov 2011 16:51:41 +0000 (16:51 +0000)]
PR c++/50976
* typeck.c (check_literal_operator_args): Reorganize test for string
operators so size_t search depends on finding string first.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181292 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix SPU libgcc build
ro [Fri, 11 Nov 2011 16:49:22 +0000 (16:49 +0000)]
Fix SPU libgcc build

* config/spu/t-elf (LIB2ADD): Use LIB2FUNCS_EXCLUDE instead.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181291 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR 51090 Fix r181288 to conform to GNU style
jb [Fri, 11 Nov 2011 16:38:11 +0000 (16:38 +0000)]
PR 51090 Fix r181288 to conform to GNU style

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181290 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * cprop.c: Adjust outdated comments throughout.
ebotcazou [Fri, 11 Nov 2011 16:34:16 +0000 (16:34 +0000)]
* cprop.c: Adjust outdated comments throughout.
(hash_scan_set): Rename PAT parameter into SET.
(cprop_pavloc): Rename into...
(cprop_avloc): ...this.
(cprop_absaltered): Rename into...
(cprop_kill): ...this.
(alloc_cprop_mem): Adjust for above renaming.
(free_cprop_mem): Likewise.
(compute_cprop_data): Likewise.
(compute_local_properties): Rename TRANSP parameter into KILL and
adjust throughout.  Rework comments.
(try_replace_reg): Fix long line.
(cprop_jump): Likewise.
(constprop_register): Fix prototype and take INSN last.
(cprop_insn): Adjust calls to above function.  Fix long lines.
(bypass_block): Likewise.
(one_cprop_pass): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181289 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR 51090 Check that getenv result != NULL before proceeding.
jb [Fri, 11 Nov 2011 16:31:47 +0000 (16:31 +0000)]
PR 51090 Check that getenv result != NULL before proceeding.

2011-11-11  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/51090
* runtime/main.c (find_addr2line): NULL check before proceeding.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181288 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/alpha/elf.h (ELF_ASCII_ESCAPES): Rename from ESCAPES.
uros [Fri, 11 Nov 2011 16:24:55 +0000 (16:24 +0000)]
* config/alpha/elf.h (ELF_ASCII_ESCAPES): Rename from ESCAPES.
(ELF_STRING_LIMIT): Rename from STRING_LIMIT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181287 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * varasm.c (default_elf_asm_output_limited_string): #ifdef
jason [Fri, 11 Nov 2011 15:27:02 +0000 (15:27 +0000)]
* varasm.c (default_elf_asm_output_limited_string): #ifdef
ELF_ASCII_ESCAPES.
(default_elf_asm_output_ascii): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181286 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/50762
uros [Fri, 11 Nov 2011 14:56:00 +0000 (14:56 +0000)]
PR target/50762
* config/i386/constraints.md (j): New address constraint.
* config/i386/predicates.md (lea_address_operand): Redefine as
special predicate.
* config/i386/i386.md (*lea_3_zext): Use "j" constraint for operand 1.
(*lea_4_zext): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181285 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-11 Andrey Belevantsev <abel@ispras.ru>
abel [Fri, 11 Nov 2011 09:19:21 +0000 (09:19 +0000)]
2011-11-11  Andrey Belevantsev  <abel@ispras.ru>

* MAINTAINERS (Selective Scheduling): Add myself as a reviewer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181284 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoRevert sparc vec_init improvements as they cause 64-bit regressions.
davem [Fri, 11 Nov 2011 08:23:34 +0000 (08:23 +0000)]
Revert sparc vec_init improvements as they cause 64-bit regressions.

gcc/

Revert
2011-11-05  David S. Miller  <davem@davemloft.net>

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181283 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * opts-common.c (generate_canonical_option): Free opt_text
jakub [Fri, 11 Nov 2011 08:15:56 +0000 (08:15 +0000)]
* opts-common.c (generate_canonical_option): Free opt_text
it it has been allocated here and not stored anywhere.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181282 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * tree-vect-slp.c (vect_free_slp_tree): Also free SLP_TREE_CHILDREN
jakub [Fri, 11 Nov 2011 08:10:07 +0000 (08:10 +0000)]
* tree-vect-slp.c (vect_free_slp_tree): Also free SLP_TREE_CHILDREN
vector.
(vect_create_new_slp_node): Don't allocate node before checking stmt
type.
(vect_free_oprnd_info): Remove FREE_DEF_STMTS argument, always
free def_stmts vectors and additionally free oprnd_info.
(vect_build_slp_tree): Adjust callers.  Call it even if
stop_recursion.  If vect_create_new_slp_node or
vect_build_slp_tree fails, properly handle freeing memory.
If it succeeded, clear def_stmts in oprnd_info.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181281 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/50372
jason [Fri, 11 Nov 2011 04:29:04 +0000 (04:29 +0000)]
PR c++/50372
* pt.c (convert_nontype_argument_function): Allow decls with
internal linkage in C++11.
(convert_nontype_argument): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181280 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * final.c, output.h (fprint_whex, fprint_w, fprint_ul, sprint_ul):
jason [Fri, 11 Nov 2011 04:00:39 +0000 (04:00 +0000)]
* final.c, output.h (fprint_whex, fprint_w, fprint_ul, sprint_ul):
New functions serving as fast replacements for fprintf() integer
to string conversions. They were used in the following changes.
* final.c (sprint_ul_rev): Internal helper for the above.
(output_addr_const): case CONST_INT: don't use fprintf().
* elfos.h (ASM_GENERATE_INTERNAL_LABEL): Don't use sprintf("%u"),
use sprint_ul() and stpcpy() which are much faster.
(TARGET_ASM_INTERNAL_LABEL): Define as default_elf_internal_label.
(ELF_ASCII_ESCAPES, ELF_STRING_LIMIT): Are the old ESCAPES and
STRING_LIMIT macros.
(ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII): Macros now just
call respective functions that provide the same
functionality. Those are default_elf_asm_output_limited_string()
and default_elf_asm_output_ascii() in varasm.c.
* varasm.c: Fixed some whitespace inconsistencies.
(default_elf_asm_output_limited_string)
(default_elf_asm_output_ascii): The above macros from elfos.h are
implemented here as these functions, avoiding superfluous calls to
fprintf().
(default_elf_internal_label): Hook for
targetm.asm_out.internal_label and ASM_OUTPUT_DEBUG_LABEL.
* i386.c: Don't call fprintf("%u") but fprint_ul() instead.
* defaults.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_INTERNAL_LABEL):
Expanded the macros on multiple lines for readability.
(ASM_OUTPUT_LABELREF): Have two calls to fputs() instead of one to
asm_fprintf().
* dwarf2asm.c (dw2_assemble_integer, dw2_asm_output_data)
(dw2_asm_data_uleb128, dw2_asm_delta_uleb128)
(dw2_asm_delta_sleb128): Convert fprintf() calls to the new
faster functions.
* dwarf2out.c (dwarf2out_source_line): Convert fprintf() calls to
the new faster functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181279 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Fri, 11 Nov 2011 00:18:44 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181278 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-10 Andrew MacLeod <amacleod@redhat.com>
amacleod [Thu, 10 Nov 2011 22:46:25 +0000 (22:46 +0000)]
2011-11-10  Andrew MacLeod  <amacleod@redhat.com>

* doc/extend.texi: Document __atomic_test_and_set and __atomic_clear.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181273 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/50973
jason [Thu, 10 Nov 2011 21:14:42 +0000 (21:14 +0000)]
PR c++/50973
* decl2.c (mark_used): Defer synthesis of virtual functions.
* method.c (use_thunk): Make sure the target function has
DECL_INTERFACE_KNOWN.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181272 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR middle-end/51038
amacleod [Thu, 10 Nov 2011 20:38:33 +0000 (20:38 +0000)]
PR middle-end/51038

libstdc++-v3
* include/bits/atomic_base.h (atomic_thread_fence): Call built-in.
(atomic_signal_fence): Call built-in.
(test_and_set, clear): Call new atomic built-ins.

gcc
* builtins.c (expand_builtin_atomic_clear): New.  Expand atomic_clear.
(expand_builtin_atomic_test_and_set): New.  Expand atomic test_and_set.
(expand_builtin): Add cases for test_and_set and clear.
* sync-builtins.def (BUILT_IN_ATOMIC_TEST_AND_SET): New.
(BUILT_IN_ATOMIC_CLEAR): New.

testsuite
* gcc.dg/atomic-invalid.c: Add test for invalid __atomic_clear models.
* gcc.dg/atomic-flag.c: New.  Test __atomic_test_and_set and
__atomic_clear.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181271 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/51079, DR 495
jason [Thu, 10 Nov 2011 20:28:16 +0000 (20:28 +0000)]
PR c++/51079, DR 495
* call.c (joust): Check the second conversion sequence
before checking templates.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181270 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR debug/50983
jason [Thu, 10 Nov 2011 20:28:04 +0000 (20:28 +0000)]
PR debug/50983
* dwarf2out.c (set_cur_line_info_table): Restore the last is_stmt
value in the current line table.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181269 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * fe.h (Serious_Errors_Detected): New macro.
ebotcazou [Thu, 10 Nov 2011 19:45:17 +0000 (19:45 +0000)]
* fe.h (Serious_Errors_Detected): New macro.
* gcc-interface/gigi.h (build_atomic_load): Declare.
(build_atomic_store): Likewise.
* gcc-interface/trans.c (atomic_sync_required_p): New predicate.
(call_to_gnu): Add ATOMIC_SYNC parameter.  Use local variable.
Build an atomic load for an In or In Out parameter if needed.
Build an atomic store for the assignment of an Out parameter if needed.
Build an atomic store to the target if ATOMIC_SYNC is true.
(present_in_lhs_or_actual_p): New predicate.
(gnat_to_gnu) <N_Identifier>: Build an atomic load if needed.
<N_Explicit_Dereference>: Likewise.
<N_Indexed_Component>: Likewise.
<N_Selected_Component>: Likewise.
<N_Assignment_Statement>: Adjust call to call_to_gnu.
Build an atomic store to the LHS if needed.
<N_Function_Call>:  Adjust call to call_to_gnu.
* gcc-interface/utils2.c: Include toplev.h.
(resolve_atomic_size): New static function.
(build_atomic_load): New function.
(build_atomic_store): Likewise.
* gcc-interface/Make-lang.in (ada/utils2.o): Add toplev.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181267 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
rth [Thu, 10 Nov 2011 19:34:57 +0000 (19:34 +0000)]
    * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
        * configure, aclocal.m4: Rebuild.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181266 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcov.c (struct function_info): Make src an index, not a pointer.
nathan [Thu, 10 Nov 2011 19:17:13 +0000 (19:17 +0000)]
* gcov.c (struct function_info): Make src an index, not a pointer.
(struct source_info): Remove index and next source fields.
(fn_end): New static var.
(sources_index): Remove.
(sources): Now a pointer to an array, not a list.
(n_sources, a_sources): New.
(process_file): Adjust for changes to read_graph_file. Insert
functions into source lists and check line numbers here.
(generate_results): Only allocate lines for sources with
contents.  Adjust for source array.
(release_structures): Likewise.
(find_source): Return source index, adjust for source array.
(read_graph_file): Return function list.  Don't insert into source
lists here.
(read_count_file): Take list of functions.
(solve_flow_graph): Reverse the arc lists here.
(add_line_counts): Adjust for source array.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181265 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR middle-end/51077
jakub [Thu, 10 Nov 2011 19:02:30 +0000 (19:02 +0000)]
PR middle-end/51077
* tree-object-size.c (addr_object_size): Check TREE_CODE of
MEM_REF's operand rather than code of the MEM_REF itself.

* gcc.c-torture/compile/pr51077.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181263 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agolibitm port to Tru64 UNIX
ro [Thu, 10 Nov 2011 17:15:33 +0000 (17:15 +0000)]
libitm port to Tru64 UNIX

* config/alpha/sjlj.S (_ITM_beginTransaction) [!__ELF__]: Don't use
.hidden.
(.note.GNU-stack): Only use if __linux__.
* alloc_cpp.cc [!__osf__] (_ZnaXRKSt9nothrow_t): Dummy function.
* testsuite/libitm.c/notx.c: Use dg-options "-pthread".
* testsuite/libitm.c/reentrant.c: Likewise.
* testsuite/libitm.c/simple-2.c: Likewise.
* testsuite/libitm.c/txrelease.c: Likewise.
* testsuite/libitm.c++/static_ctor.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181262 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agolibitm: Don't add -mavx if the assembler doesn't support avx.
rth [Thu, 10 Nov 2011 17:09:04 +0000 (17:09 +0000)]
libitm: Don't add -mavx if the assembler doesn't support avx.

        * config/x86/x86_avx.cc: Remove #undef __AVX__ hack.  Tidy comments.
        * Makefile.am (x86_avx.lo): Only add -mavx if ARCH_X86_AVX.
        * configure.ac (ARCH_X86_AVX): New conditional.
        * Makefile.in, configure: Rebuild.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181261 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoLet the compiler decide whether to inline.
jb [Thu, 10 Nov 2011 17:08:24 +0000 (17:08 +0000)]
Let the compiler decide whether to inline.

2011-11-10  Janne Blomqvist  <jb@gcc.gnu.org>

* intrinsics/cpu_time.c (__cpu_time_1): Don't force inlining.
* intrinsics/random.c (rnumber_4): Remove inline attribute.
(rnumber_8, rnumber_10, rnumber_16): Likewise.
* intrinsics/system_clock.c (gf_gettime_mono): Likewise.
* intrinsics/time_1.h (ATTRIBUTE_ALWAYS_INLINE): Remove macro.
(gf_cputime): Add inline attribute for MingW version.
* io/format.c (format_hash): Remove inline attribute.
* io/io.h (memset4): Inline function from transfer.c and write.c
moved here.
* io/transfer.c (min_off): Remove inline attribute.
(memset4): Move to io.h.
* io/write.c (memset4): Likewise.
(memcpy4): Remove inline attribute.
* io/write_float.def (calculate_exp): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181260 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR rtl-optimization/51040
amacleod [Thu, 10 Nov 2011 16:39:32 +0000 (16:39 +0000)]
PR rtl-optimization/51040
* optabs.c (expand_atomic_fetch_op): Patchup code for NAND should be AND
followed by NOT.
* builtins.c (expand_builtin_atomic_fetch_op): Patchup code for NAND
should be AND followed by NOT.
* testsuite/gcc.dg/atomic-noinline[-aux].c: Test no-inline NAND and
patchup code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181259 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * vec.h (VEC_BASE): If base is at offset 0 in the structure,
jakub [Thu, 10 Nov 2011 15:40:34 +0000 (15:40 +0000)]
* vec.h (VEC_BASE): If base is at offset 0 in the structure,
use &(P)->base even if P is NULL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181258 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR rtl-optimization/51023
jakub [Thu, 10 Nov 2011 15:36:48 +0000 (15:36 +0000)]
PR rtl-optimization/51023
* combine.c (simplify_comparison) <case SIGN_EXTEND>: Don't use
val_signbit_known_clear_p for signed comparison narrowing
optimization.  Don't check for non-VOIDmode, use
HWI_COMPUTABLE_MODE_P macro.
<case ZERO_EXTEND>: Don't check for non-VOIDmode.
Optimize even when const_op is equal to GET_MODE_MASK (mode),
don't optimize if const_op is negative.

* gcc.c-torture/execute/pr51023.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181257 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-10 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 10 Nov 2011 15:28:57 +0000 (15:28 +0000)]
2011-11-10  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/51042
* tree-ssa-pre.c (phi_translate_1): Avoid recursing on
self-referential expressions.  Refactor code to avoid duplication.

* gcc.dg/torture/pr51042.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181256 138bc75d-0d04-0410-961f-82ee72b054a4