Martin Jambor [Thu, 8 Nov 2012 16:41:06 +0000 (17:41 +0100)]
ipa-prop.c (determine_known_aggregate_parts): Skip writes to different declarations when tracking writes to a declaration.
2012-11-08 Martin Jambor <mjambor@suse.cz>
* ipa-prop.c (determine_known_aggregate_parts): Skip writes to
different declarations when tracking writes to a declaration.
* gfortran.dg/ipcp-array-1.f90: New test.
From-SVN: r193330
Tobias Schlüter [Thu, 8 Nov 2012 15:46:07 +0000 (16:46 +0100)]
re PR fortran/51727 (Changing module files)
PR fortran/51727
* module.c (sorted_pointer_info): New.
(gfc_get_sorted_pointer_info): New.
(free_sorted_pointer_info_tree): New.
(compare_sorted_pointer_info): New.
(find_symbols_to_write): New.
(write_symbol1_recursion): New.
(write_symbol1): Collect symbols that need writing, output in order.
(write_generic): Traverse tree in order.
From-SVN: r193329
Paolo Carlini [Thu, 8 Nov 2012 13:40:53 +0000 (13:40 +0000)]
55028-debug.cc: Don't pass -D_GLIBCXX_DEBUG by hand (check-debug does).
2012-11-08 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
Don't pass -D_GLIBCXX_DEBUG by hand (check-debug does).
From-SVN: r193327
Florian Weimer [Thu, 8 Nov 2012 09:54:04 +0000 (10:54 +0100)]
cxa_vec.C: Fix typo in comment.
* g++.old-deja/g++.abi/cxa_vec.C: Fix typo in comment.
* testsuite/18_support/cxa_vec.cc: Fix typo in comment.
From-SVN: r193326
Jonathan Wakely [Thu, 8 Nov 2012 09:15:43 +0000 (09:15 +0000)]
iterator_tracker.h (operator++): Fix returning dangling reference.
* include/profile/iterator_tracker.h (operator++): Fix returning
dangling reference.
(operator--): Likewise.
From-SVN: r193323
David S. Miller [Thu, 8 Nov 2012 03:26:49 +0000 (03:26 +0000)]
Add extensive commentary to sparc's "U" constraint.
* config/sparc/constraints.md ("U"): Document, in detail,
which this constraint is necessary.
From-SVN: r193322
GCC Administrator [Thu, 8 Nov 2012 00:17:51 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r193321
Jack Howarth [Wed, 7 Nov 2012 23:12:27 +0000 (23:12 +0000)]
Use -Wl,-undefined,dynamic_lookup on darwin
* testsuite/libgomp.c++/pr24455.C: Use
-Wl,-undefined,dynamic_lookup on darwin.
From-SVN: r193318
Vladimir Makarov [Wed, 7 Nov 2012 22:43:30 +0000 (22:43 +0000)]
re PR rtl-optimization/55151 (ICE: in assign_by_spills, at lra-assigns.c:1217 with -fPIC)
2012-11-07 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/55151
* gcc.dg/pr55151.c: Use ia32 instead of x86_64.
From-SVN: r193317
Uros Bizjak [Wed, 7 Nov 2012 22:41:39 +0000 (23:41 +0100)]
cunroll-1.c: Scan cunrolli dump.
* gcc.dg/tree-ssa/cunroll-1.c: Scan cunrolli dump.
From-SVN: r193316
Uros Bizjak [Wed, 7 Nov 2012 22:34:48 +0000 (23:34 +0100)]
re PR middle-end/55235 (FAIL: gcc.target/i386/pr44948-2a.c)
PR middle-end/55235
* expr.c (store_expr): Do not call emit_block_move for
non-BLKmode values.
From-SVN: r193314
Eric Botcazou [Wed, 7 Nov 2012 22:26:02 +0000 (22:26 +0000)]
re PR middle-end/55219 (memory explosion on nested conditional expressions)
PR middle-end/55219
* fold-const.c (fold_binary_op_with_conditional_arg): Do not fold if
the argument is itself a conditional expression.
From-SVN: r193312
Vladimir Makarov [Wed, 7 Nov 2012 22:20:15 +0000 (22:20 +0000)]
re PR rtl-optimization/55151 (ICE: in assign_by_spills, at lra-assigns.c:1217 with -fPIC)
2012-11-07 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/55151
* gcc.dg/pr55151.c: Compile it only for x86_64.
From-SVN: r193311
Vladimir Makarov [Wed, 7 Nov 2012 22:11:08 +0000 (22:11 +0000)]
re PR rtl-optimization/55122 (ICE: maximum number of LRA constraint passes is achieved (15))
2012-11-07 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/55122
* lra-constraints.c (match_reload): Sync values for dead input
pseudos.
2012-11-07 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/55122
* gcc.dg/pr55122.c: New test.
From-SVN: r193310
David Edelsohn [Wed, 7 Nov 2012 21:03:08 +0000 (21:03 +0000)]
pr46728-[1234578].c: Tighten regex to ignore word powerpc.
* gcc.target/powerpc/pr46728-[1234578].c: Tighten regex to ignore
word powerpc.
* gcc.target/powerpc/vsx-mass-1.c: Escape [ and ] in regex.
* gcc.target/powerpc/loop_align.c: Skip on AIX.
* gcc.target/powerpc/ppc-pow.c: Allow dot symbols in branch.
* gcc.target/powerpc/tfmode_off.c: Skip on AIX.
From-SVN: r193309
Richard Henderson [Wed, 7 Nov 2012 20:20:32 +0000 (12:20 -0800)]
* trans-mem.c (pass_ipa_tm): Don't use TODO_update_ssa.
From-SVN: r193308
Peter Bergner [Wed, 7 Nov 2012 19:49:51 +0000 (13:49 -0600)]
invoke.texi (-mcpu=power8): Document.
* doc/invoke.texi (-mcpu=power8): Document.
* config.in (HAVE_AS_POWER8): New.
* config.gcc: Add cpu_type power8.
* configure.ac: (HAVE_AS_POWER8): Check for assembler support for
the POWER8 instructions.
* configure: Regenerate.
* config/rs6000/rs6000.h: (ASM_CPU_POWER8_SPEC): Define.
(ASM_CPU_SPEC): Pass %(asm_cpu_power8) for -mcpu=power8.
(EXTRA_SPECS): Add asm_cpu_power8 spec string.
* config/rs6000/rs6000-cpus.def (processor_target_table): Alias
POWER8 to POWER7.
* config/rs6000/rs6000-tables.opt: Regenerate.
* config/rs6000/driver-rs6000.c (ASM_CPU_SPEC): For -mcpu=power8,
pass %(asm_cpu_power8)/-mpwr8.
* config/rs6000/aix53.h: Likewise.
* config/rs6000/aix61.h: Likewise.
From-SVN: r193307
Uros Bizjak [Wed, 7 Nov 2012 19:35:25 +0000 (20:35 +0100)]
re PR target/55224 (FAIL: gcc.target/i386/tailcall-1.c scan-assembler jmp)
PR target/55224
* config/i386/i386.c (ix86_function_ok_for_sibcall): Put back exception
to make a sibcall if one of the functions has void return type.
From-SVN: r193306
Uros Bizjak [Wed, 7 Nov 2012 19:30:48 +0000 (20:30 +0100)]
re PR target/55224 (FAIL: gcc.target/i386/tailcall-1.c scan-assembler jmp)
PR target/55224
* config/i386/i386.c (ix86_function_ok_for_sibcall): Put back exception
to make a sibcall if one of the functions has void return type.
From-SVN: r193305
Manuel López-Ibáñez [Wed, 7 Nov 2012 18:27:14 +0000 (18:27 +0000)]
re PR c/53063 (encode group options in the .opt files)
gcc/
2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/53063
* doc/invoke.texi (Wformat): Update.
c-family/
2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/53063
* c.opt (Wformat): Make it Alias Wformat=1.
(Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
Wformat-security,Wformat-y2k,Wformat-zero-length): Use
LangEnabledBy.
(Wformat=): RejectNegative. Use LangEnabledBy.
(Wnonnull): Use LangEnabledBy.
* c-opts.c (c_common_handle_option): Do not handle Wformat here.
* c-format.c (set_Wformat): Delete.
(decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
(maybe_read_dollar_number): Likewise.
(avoid_dollar_number): Likewise.
(finish_dollar_format_checking): Likewise.
(check_format_info): Likewise.
(check_format_info_main): Likewise.
(check_format_types): Likewise.
(format_type_warning): Likewise.
* c-common.c (int): Likewise.
(check_function_sentinel): Likewise.
* c-common.h (warn_format,set_Wformat): Do not declare here.
testsuite/
2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/53063
* gcc.dg/warn-nsstring.c: Use -Wformat explicitly.
From-SVN: r193304
Manuel López-Ibáñez [Wed, 7 Nov 2012 18:11:01 +0000 (18:11 +0000)]
optc-gen.awk: Factor code out to...
2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
* optc-gen.awk: Factor code out to...
* opt-functions.awk (lang_enabled_by): ... this new function.
From-SVN: r193303
Manuel López-Ibáñez [Wed, 7 Nov 2012 17:54:11 +0000 (17:54 +0000)]
re PR c/53063 (encode group options in the .opt files)
c-family/
2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/53063
* c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
Use LangEnabledBy.
(Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
common.opt.
(Wvariadic-macros): Init(1).
* c-opts.c (c_common_handle_option): Do not handle them
explicitly.
(c_common_post_options): Likewise.
(sanitize_cpp_opts): warn_unused_macros is now
cpp_warn_unused_macros.
(push_command_line_include): Likewise.
* c-common.c (warn_unknown_pragmas): Do not define.
* c-common.h (warn_unknown_pragmas): Do not declare.
gcc/
2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/53063
* common.opt (Wswitch,Wswitch-default,Wswitch-enum): Move to c.opt.
fortran/
2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/53063
* options.c (set_Wall): Do not set warn_switch here.
From-SVN: r193302
Manuel López-Ibáñez [Wed, 7 Nov 2012 16:58:03 +0000 (16:58 +0000)]
re PR c/51294 (spurious warning from -Wconversion in C and C++ in conditional expressions)
2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/51294
c-family/
* c-common.c (conversion_warning): Handle conditional expressions.
testsuite/
* c-c++-common/pr51294.c: New.
From-SVN: r193301
Yufeng Zhang [Wed, 7 Nov 2012 16:13:27 +0000 (16:13 +0000)]
aarch64.c (aarch64_expand_prologue): add the missing argument 'Pmode' to the 'plus_constant' call.
gcc/ChangeLog
2012-11-07 Yufeng Zhang <yufeng.zhang@arm.com>
* config/aarch64/aarch64.c (aarch64_expand_prologue): add the missing
argument 'Pmode' to the 'plus_constant' call.
From-SVN: r193299
Martin Jambor [Wed, 7 Nov 2012 15:55:54 +0000 (16:55 +0100)]
re PR tree-optimization/53787 (Possible IPA-SRA / IPA-CP improvement)
2012-11-07 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/53787
* ipa-cp.c (ipcp_value_source): New field offset.
(ipcp_agg_lattice): New type.
(ipcp_param_lattices): Likewise, move virt_call from ipcp_lattice here.
(ipcp_agg_lattice_pool): New variable.
(ipa_get_parm_lattices): New function.
(ipa_get_lattice): Turned into ipa_get_scalar_lat, use the above.
Adjusted all callers.
(print_lattice): New function.
(print_all_lattices): Use the above, also print aggregate lattices.
(set_agg_lats_to_bottom): New function.
(set_agg_lats_contain_variable): Likewise.
(set_all_contains_variable): Likewise.
(initialize_node_lattices): Also handle aggregate lattices, set
virt_call in ipcp_param_lattices.
(add_value_source): Handle offsets.
(add_value_to_lattice): Likewise.
(add_scalar_value_to_lattice): New function.
(propagate_vals_accross_pass_through): Use add_scalar_value_to_lattice.
(propagate_vals_accross_ancestor): Likewise.
(propagate_accross_jump_function): Renamed to
propagate_scalar_accross_jump_function, use
add_scalar_value_to_lattice.
(set_check_aggs_by_ref): New function.
(merge_agg_lats_step): Likewise.
(set_chain_of_aglats_contains_variable): Likewise.
(merge_aggregate_lattices): Likewise.
(propagate_constants_accross_call): Also handle aggregate lattices.
(hint_time_bonus): New function.
(context_independent_aggregate_values): Likewise.
(gather_context_independent_values): Also handle agggregate values.
(agg_jmp_p_vec_for_t_vec): New function.
(estimate_local_effects): Also handle agggregate values.
(add_all_node_vals_to_toposort): Likewise.
(ipcp_propagate_stage): Use struct ipcp_param_lattices.
(get_clone_agg_value): New function.
(cgraph_edge_brings_value_p): Also handle agggregate values.
(create_specialized_node): Likewise.
(find_more_values_for_callers_subset): Rename to
find_more_scalar_values_for_callers_subset. Modify dump.
(copy_plats_to_inter): New function.
(intersect_with_plats): Likewise.
(agg_replacements_to_vector): Likewise.
(intersect_with_agg_replacements): Likewise.
(find_aggregate_values_for_callers_subset): Likewise.
(known_aggs_to_agg_replacement_list): Likewise.
(cgraph_edge_brings_all_scalars_for_node): Likewise.
(cgraph_edge_brings_all_agg_vals_for_node): Likewise.
(perhaps_add_new_callers): Old functionality moved to
cgraph_edge_brings_all_scalars_for_node, call it and
cgraph_edge_brings_all_agg_vals_for_node.
(ipcp_val_in_agg_replacements_p): New function.
(decide_about_value): New function.
(decide_whether_version_node): A lot of functionality moved to
decide_about_value. Also handle agggregate values.
(ipcp_driver): Also allocate ipcp_agg_lattice_pool.
(pass_ipa_cp): Fill in new entries.
* ipa-prop.c (ipa_node_agg_replacements): New variable.
(free_parms_ainfo): New function.
(ipa_analyze_node): Use free_parms_ainfo to free stuff.
(ipa_find_agg_cst_for_param): Do not rely on offset ordering.
(ipa_set_node_agg_value_chain): New function.
(ipa_node_removal_hook): Also handle ipa_node_agg_replacements.
(ipa_node_duplication_hook): Likewise.
(ipa_free_all_structures_after_ipa_cp): Also free ipcp_agg_lattice_pool.
(ipa_free_all_structures_after_iinln): Likewise.
(ipa_dump_agg_replacement_values): New function.
(write_agg_replacement_chain): Likewise.
(read_agg_replacement_chain): Likewise.
(ipa_prop_write_all_agg_replacement): Likewise.
(read_replacements_section): Likewise.
(ipa_prop_read_all_agg_replacement): Likewise.
(adjust_agg_replacement_values): Likewise.
(ipcp_transform_function): Likewise.
* ipa-prop.h: Also define heap vector of ipa_agg_jf_item_t and of
ipa_agg_jump_function_t.
(ipa_node_params): Make lattices an array of ipcp_param_lattices.
(ipa_agg_replacement_value): New type and its vector.
(ipa_set_node_agg_value_chain) Declare.
(ipa_node_agg_replacements): Likewise.
(ipa_get_agg_replacements_for_node): New function.
(ipcp_agg_lattice_pool): Declare.
(ipa_dump_agg_replacement_values): Likewise.
(ipa_prop_write_all_agg_replacement): Likewise.
(ipa_prop_read_all_agg_replacement): Likewise.
(ipcp_transform_function): Likewise.
* ipa-inline-analysis.c (estimate_ipcp_clone_size_and_time): Pass around
known aggregates and hints.
* ipa-inline.h: include ipa-prop.h.
(estimate_ipcp_clone_size_and_time): Adjust declaration.
* lto-streamer.h (lto_section_type): New item
LTO_section_ipcp_transform.
* lto-section-in.c (lto_section_name): New element ipcp_trans.
* params.def (PARAM_IPA_CP_LOOP_HINT_BONUS): New parameter.
* Makefile.in (IPA_INLINE_H): New. Use everywhee instead of
ipa-inline.h.
* testsuite/gcc.dg/ipa/ipa-5.c: Adjust.
* testsuite/gcc.dg/ipa/ipcp-agg-1.c: New test.
* testsuite/gcc.dg/ipa/ipcp-agg-2.c: Likewise.
* testsuite/gcc.dg/ipa/ipcp-agg-3.c: Likewise.
* testsuite/gcc.dg/ipa/ipcp-agg-4.c: Likewise.
* testsuite/gcc.dg/ipa/ipcp-agg-5.c: Likewise.
* testsuite/gcc.dg/ipa/ipcp-agg-6.c: Likewise.
* testsuite/gfortran.dg/pr48636.f90: Add -fno-ipa-cp.
* testsuite/gfortran.dg/pr48636-2.f90: New test.
* testsuite/gfortran.dg/pr53787.f90: Likewise.
From-SVN: r193298
David Edelsohn [Wed, 7 Nov 2012 14:16:04 +0000 (14:16 +0000)]
* testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
From-SVN: r193296
Paolo Carlini [Wed, 7 Nov 2012 13:20:33 +0000 (13:20 +0000)]
array (_GLIBCXX_THROW_OR_ABORT): Move...
2012-11-07 Paolo Carlini <paolo.carlini@oracle.com>
* include/debug/array (_GLIBCXX_THROW_OR_ABORT): Move...
* include/bits/c++config: ... here.
* include/bits/shared_ptr_base.h (__throw_bad_weak_ptr): Use it.
* include/ext/pb_ds/exception.hpp: Likewise.
* include/ext/throw_allocator.h (__throw_forced_error): Likewise.
* include/ext/concurrence.h (__throw_concurrence_lock_error,
__throw_concurrence_unlock_error, __throw_concurrence_broadcast_error,
__throw_concurrence_wait_error): Likewise.
* include/tr1/shared_ptr.h (__throw_bad_weak_ptr): Likewise.
* include/tr1/functional (function<_Res(_ArgTypes...)>::operator()
(_ArgTypes...)): Likewise.
* libsupc++/eh_aux_runtime.cc (__cxxabiv1::__cxa_bad_cast,
__cxxabiv1::__cxa_bad_typeid): Likewise.
* libsupc++/vec.cc (compute_size): Likewise.
* libsupc++/new_op.cc (operator new (std::size_t)): Likewise.
* src/c++11/functexcept.cc: Likewise.
* testsuite/util/io/illegal_input_error.hpp
(__throw_illegal_input_error): Likewise.
* libsupc++/eh_personality.cc: Avoid warning with -fno-exceptions.
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line
numbers.
* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
Likewise.
* testsuite/23_containers/array/tuple_interface/
tuple_element_debug_neg.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
Likewise.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
From-SVN: r193295
Uros Bizjak [Wed, 7 Nov 2012 12:15:59 +0000 (13:15 +0100)]
i386.c (enum upper_128bits_state): Remove.
* config/i386/i386.c (enum upper_128bits_state): Remove.
(check_avx256_store): Use bool pointer argument.
(ix86_avx_u128_mode_needed): Use note_stores also for CALL insns.
* config/i386/predicates.md (vzeroupper_operation): Use match_test.
From-SVN: r193294
Paolo Carlini [Wed, 7 Nov 2012 11:15:40 +0000 (11:15 +0000)]
re PR c++/55226 (ICE regression in regard to anonymous unions and constexpr)
/cp
2012-11-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/55226
Revert:
2012-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54922
* semantics.c (cx_check_missing_mem_inits): Handle anonymous union
members.
/testsuite
2012-11-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/55226
Revert:
2012-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54922
* g++.dg/cpp0x/constexpr-union4.C: New.
From-SVN: r193292
Yufeng Zhang [Wed, 7 Nov 2012 11:01:46 +0000 (11:01 +0000)]
aarch64.c (aarch64_expand_prologue): For the load-pair with writeback instruction...
gcc/ChangeLog
2012-11-07 Yufeng Zhang <yufeng.zhang@arm.com>
* config/aarch64/aarch64.c (aarch64_expand_prologue): For the
load-pair with writeback instruction, replace
aarch64_set_frame_expr with add_reg_note (REG_CFA_ADJUST_CFA);
add new local variable 'cfa_reg' and use it.
gcc/testsuite/ChangeLog
2012-11-07 Yufeng Zhang <yufeng.zhang@arm.com>
* gcc.target/aarch64/dwarf-cfa-reg.c: New test.
From-SVN: r193291
Kaz Kojima [Wed, 7 Nov 2012 10:50:22 +0000 (10:50 +0000)]
pr49220.c: New test.
* gcc.c-torture/compile/pr49220.c: New test.
From-SVN: r193290
Kaz Kojima [Wed, 7 Nov 2012 10:48:12 +0000 (10:48 +0000)]
re PR middle-end/49220 (ICE in create_pre_exit, at mode-switching.c:401)
PR middle-end/49220
* mode-switching.c (create_pre_exit): Set short_block if there
are no copy insns.
From-SVN: r193289
Florian Weimer [Wed, 7 Nov 2012 09:45:57 +0000 (10:45 +0100)]
init.c (build_new_1): Do not check for arithmetic overflow if inner array size is 1.
* init.c (build_new_1): Do not check for arithmetic overflow if
inner array size is 1.
* g++.dg/init/new40.C: New.
From-SVN: r193287
Martin Jambor [Wed, 7 Nov 2012 09:28:50 +0000 (10:28 +0100)]
lto-cgraph.c: Include tree-pass.h.
2012-11-07 Martin Jambor <mjambor@suse.cz>
* lto-cgraph.c: Include tree-pass.h.
(lto_output_node): Stream node->ipa_transforms_to_apply.
(input_node): Likewise.
* tree-pass.h (passes_by_id): Declare.
(passes_by_id_size): Likewise.
* Makefile.in (lto-cgraph.o): Add TREE_PASS_H to dependencies.
From-SVN: r193286
Jan Hubicka [Wed, 7 Nov 2012 09:22:50 +0000 (10:22 +0100)]
ipa-inline-analysis.c (true_predicate, [...]): Fix formatting.
* ipa-inline-analysis.c (true_predicate, single_cond_predicate,
reset_inline_edge_summary): Fix
formatting.
(account_size_time): Bump up the limit on number of size/time entries to
256.
(estimate_function_body_sizes): Work in reverse postorder.
From-SVN: r193285
Jonathan Wakely [Wed, 7 Nov 2012 09:17:42 +0000 (09:17 +0000)]
stl_vector.h (vector(size_type)): Add missing allocator parameter.
* include/bits/stl_vector.h (vector(size_type)): Add missing allocator
parameter.
* include/bits/stl_bvector.h: Likewise.
* include/debug/vector (vector(size_type)): Likewise.
* include/profile/vector (vector(size_type)): Likewise. Pass allocator
to base constructor.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error line numbers.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.
From-SVN: r193284
David S. Miller [Wed, 7 Nov 2012 08:42:09 +0000 (08:42 +0000)]
Revert sparc "U" constraint removal.
PR bootstrap/55211
Revert:
* config/sparc/constraints.md ("U"): Delete.
* config/sparc/sparc.md: Use 'r' constraint instead of 'U'.
* config/sparc/sync.md: Likewise.
And revert parts of:
* doc/md.texi: Sync sparc constraint documentation with reality.
From-SVN: r193283
Jakub Jelinek [Wed, 7 Nov 2012 07:52:16 +0000 (08:52 +0100)]
i386.c (ix86_avx_u128_mode_after): Don't look for reg in CALL operand.
* config/i386/i386.c (ix86_avx_u128_mode_after): Don't
look for reg in CALL operand.
From-SVN: r193282
Jakub Jelinek [Wed, 7 Nov 2012 07:50:01 +0000 (08:50 +0100)]
re PR debug/54693 (VTA guality issues with loops)
PR debug/54693
* tree-flow.h (propagate_threaded_block_debug_into): New prototype.
* tree-ssa-threadedge.c (propagate_threaded_block_debug_into): No
longer static.
* tree-ssa-loop-ch.c (copy_loop_headers): Use it.
* gcc.dg/guality/pr54693-2.c: New test.
From-SVN: r193281
Eric Botcazou [Wed, 7 Nov 2012 04:58:23 +0000 (04:58 +0000)]
Makefile.in: Revert most changes.
* gcc-interface/Makefile.in: Revert most changes.
* gcc-interface/Make-lang.in (gnatlib): Remove ada/s-oscons.ads.
libada/
* libada/Makefile.in: Revert most changes.
From-SVN: r193280
Sterling Augustine [Wed, 7 Nov 2012 01:18:28 +0000 (01:18 +0000)]
dwarf2out.c (output_comdat_type_unit): Check for OBJECT_FORMAT_ELF.
2012-11-06 Sterling Augustine <saugustine@google.com>
* dwarf2out.c (output_comdat_type_unit): Check for OBJECT_FORMAT_ELF.
Co-Authored-By: Cary Coutant <ccoutant@google.com>
From-SVN: r193279
Paolo Carlini [Wed, 7 Nov 2012 00:42:19 +0000 (00:42 +0000)]
re PR libstdc++/51850 (debug mode for std::array and tr1::array)
2012-11-06 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/51850
* include/debug/array: New, debug-mode implementation.
* include/profile/array: New.
* include/std/array: Adjust.
* include/std/tuple: Just include <array>.
* include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
* testsuite/23_containers/array/debug/front1_neg.cc: New.
* testsuite/23_containers/array/debug/
square_brackets_operator1_neg.cc: Likewise.
* testsuite/23_containers/array/debug/front2_neg.cc: Likewise.
* testsuite/23_containers/array/debug/
square_brackets_operator2_neg.cc: Likewise.
* testsuite/23_containers/array/debug/back1_neg.cc: Likewise.
* testsuite/23_containers/array/debug/back2_neg.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Tweak
to run only in normal-mode.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Likewise.
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: New.
* testsuite/23_containers/array/tuple_interface/
tuple_element_debug_neg.cc: Likewise.
From-SVN: r193278
Lawrence Crowl [Wed, 7 Nov 2012 00:36:04 +0000 (00:36 +0000)]
Add a contrib script for comparing the performance of two sets of
compiler runs.
Usage documentation is in the script.
The script produces output of the form:
$ compare_two_ftime_report_sets "Log0/*perf" "Log3/*perf"
Arithmetic sample for timevar log files
"Log0/*perf"
and selecting lines containing "TOTAL" with desired confidence 95 is
trial count is 4, mean is 443.022 (95% confidence in 440.234 to 445.811),
std.deviation is 1.75264, std.error is 0.876322
Arithmetic sample for timevar log files
"Log3/*perf"
and selecting lines containing "TOTAL" with desired confidence 95 is
trial count is 4, mean is 441.302 (95% confidence in 436.671 to 445.934),
std.deviation is 2.91098, std.error is 1.45549
The first sample appears to be 0.39% larger,
with 60% confidence of being larger.
To reach 95% confidence, you need roughly 14 trials,
assuming the standard deviation is stable, which is iffy.
Tested on x86_64 builds.
Index: contrib/ChangeLog
2012-11-05 Lawrence Crowl <crowl@google.com>
* compare_two_ftime_report_sets: New.
From-SVN: r193277
Andrew Pinski [Wed, 7 Nov 2012 00:18:31 +0000 (00:18 +0000)]
vect-fmaxv-fminv-compile.c: Add -fno-vect-cost-model.
2012-11-06 Andrew Pinski <apinski@cavium.com>
* gcc.target/aarch64/vect-fmaxv-fminv-compile.c: Add -fno-vect-cost-model.
From-SVN: r193276
GCC Administrator [Wed, 7 Nov 2012 00:18:29 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r193275
Aldy Hernandez [Tue, 6 Nov 2012 23:55:39 +0000 (23:55 +0000)]
tm: Add uninstrumented code path
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r193271
Aldy Hernandez [Tue, 6 Nov 2012 23:55:29 +0000 (23:55 +0000)]
* cfghooks.c (copy_bbs): Handle a null loop_father.
From-SVN: r193270
Aldy Hernandez [Tue, 6 Nov 2012 23:55:20 +0000 (23:55 +0000)]
Handle null current_function_decl in cgraph_debug_gimple_stmt
* cfghooks.c (cgraph_debug_gimple_stmt): Handle a null
current_function_decl.
From-SVN: r193269
Richard Henderson [Tue, 6 Nov 2012 23:55:11 +0000 (15:55 -0800)]
Prevent "illegal" block sharing within transactions.
* tree-ssa-tail-merge.c (find_duplicate): Do not consider
is_tm_ending_fndecl calls as mergable.
From-SVN: r193268
Sterling Augustine [Tue, 6 Nov 2012 23:15:25 +0000 (23:15 +0000)]
common.opt (gno-split-dwarf, [...]): New switches.
gcc/ChangeLog
2012-11-06 Sterling Augustine <saugustine@google.com>
Cary Coutant <ccoutant@google.com>
* common.opt (gno-split-dwarf, gsplit-dwarf): New switches.
* doc/invoke.texi (Debugging Options): Document them.
* gcc.c (replace_extension_spec_func): New function.
(ASM_FINAL_SPEC): Adjust.
(static_spec_functions): Add new field for replace-extension.
(check_live_switch): Adjust comment. Add case for 'g'.
* opts.c (finish_options): Set x_debug_generate_pub_sections based on
x_dwarf_split_debug_info.
(common_handle_option): Add case for OPT_gsplit_dwarf.
* dwarf2out.h (addr_table_entry_struct): Add forward declaration.
(dw_val_struct): Add val_entry pointer.
* dwarf2out.c: (debug_skeleton_info_section,
debug_skeleton_abbrev_section, debug_addr_section,
debug_skeleton_line_section, debug_str_offsets_section): New globals.
(NOT_INDEXED, NO_INDEX_ASSIGNED): New defines.
(indirect_string_node): New field index.
(ate_kind): New enum with fields ate_kind_rtc, ate_kind_rtx_dtprel,
ate_kind_label.
(addr_table_entry): New structure and type.
(dw_loc_list_struct): Add field begin_entry.
(new_loc_desc): Initialize val_entry.
(size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
Add cases for DW_OP_GNU_addr_index and DW_OP_const_index.
(build_cfa_loc): Initialize val_entry.
(AT_index, add_addr_table_entry, remove_addr_table_entry,
add_AT_lbl_id): New functions.
(add_AT_addr, add_AT_range_list): New parameter force_direct.
(output_die_abbrevs): New function.
(add_ranges_by_labels): New parameter force_direct.
(output_line_info): New parameter prologue_only.
(dtprel_bool): New enum with dtprel_false and dtprel_true.
(dw_addr_op, new_addr_loc_descr): New functions.
(DEBUG_DWO_INFO_SECTION, DEBUG_DWO_ABBREV_SECTION,
DEBUG_ADDR_SECTION, DEBUG_NORM_MACINFO_SECTION,
DEBUG_DWO_MACINFO_SECTION, DEBUG_MACINFO_SECTION,
DEBUG_NORM_MACRO_SECTION, DEBUG_DWO_MACRO_SECTION,
DEBUG_MACRO_SECTION, DEBUG_DWO_LINE_SECTION,
DEBUG_DWO_LOC_SECTION, DEBUG_NORM_STR_OFFSETS_SECTION,
DEBUG_DWO_STR_OFFSETS_SECTION, DEBUG_STR_OFFSETS_SECTION,
DEBUG_DWO_STR_SECTION, DEBUG_NORM_STR_SECTION, DEBUG_STR_SECTION,
DEBUG_MACRO_SECTION_FLAGS, DEBUG_SKELETON_LINE_SECTION_LABEL,
DEBUG_SKELETON_INFO_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL
DEBUG_SKELETON_ABBREV_SECTION_LABEL): New macros.
(DEBUG_STR_SECTION_FLAGS): Adjust.
(TEXT_SECTION_LABEL, COLD_TEXT_SECTION_LABEL,
DEBUG_LINE_SECTION_LABEL, DEBUG_INFO_SECTION_LABEL,
DEBUG_ABBREV_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL,
DEBUG_LOC_SECTION_LABEL, DEBUG_RANGES_SECTION_LABEL,
DEBUG_MACINFO_SECTION_LABEL, DEBUG_MACRO_SECTION_LABEL): Adjust
indentation.
(debug_skeleton_abbrev_section_label, debug_addr_section_label,
debug_skeleton_line_section_label, debug_skeleton_info_section_label):
New global variables.
(add_AT_flag, add_AT_int, add_AT_unsigned, add_AT_double, add_AT_vec,
add_AT_data8): Initialize val_entry.
(add_AT_low_high_pc): New parameter force_direct. Handle
dwarf_split_debug_info.
(set_indirect_string, find_AT_string_form): New functions.
(AT_string_form): Adjust to call find_AT_string_from.
(add_AT_die_ref, add_AT_fde_ref, add_AT_loc, add_AT_list):
Initialize val_entry.
(addr_index_table): New global variable.
(addr_table_entry_do_hash, addr_table_entry_eq, add_addr_table_entry,
init_addr_table_entry, remove_addr_table_entry, index_addr_table_entry,
remove_loc_list_addr_table_entries): New functions.
(add_AT_addr, add_AT_lbl_id, add_AT_range_list): New parameter
force_direct. Handle dwarf_split_debug_info.
(add_AT_file, add_AT_vms_delta, add_AT_lineptr, add_AT_macptr,
add_AT_offset): Initialize val_entry.
(UNRELOCATED_OFFSET, RELOCATED_OFFSET): New defines.
(size_of_die): Handle dwarf_split_debug_info.
(size_of_aranges, value_format): Call AT_class. Check AT_index.
(output_die_abbrevs): New function.
(output_abbrev_section): Call output_die_abbrevs.
(new_loc_list): Initialize begin_entry.
(output_loc_list): Handle dwarf_split_debug_info.
(output_range_list_offset, output_loc_list_offset,
output_attr_index_or_value, ): New functions.
(output_die): Fix call to dw2_asm_output_data. Call
output_attr_index_or_value and output_range_list_offset.
Adjust logic around dw_val_class_str.
(add_top_lebel_skeleton_die_attrs, get_skeleton_type_unit,
output_skeleton_debug_sections): New functions.
(output_comdat_type_unit, output_pubname, output_aranges): Handle
dwarf_split_debug_info.
(add_ranges_by_labels): New parameter force_direct.
(mem_loc_descriptor, loc_descr): Call new_addr_loc_descr.
(loc_list_from_tree, add_const_value_attribtue): Use dtprel_bools in
place of generic integer.
(dwarf2out_vms_debug_main_pointer, gen_entry_point_die, gen_label_die,
gen_call_site_die, gen_subprogram_die, gen_variable_die,
add_high_low_attributes): Adjust calls to add_AT_lbl_id.
(output_macinfo_op): Adjust indirect_string_logic.
(save_macinfo_strings): New function.
(output_macinfo): Adjust.
(dwarf2out_init): Handle dwarf_split_debug_info.
(index_string, output_index_string_offset, output_index_string): New
functions.
(output_indirect_string): Adjust.
(output_indirect_strings, output_addr_table_entry, output_addr_table):
New functions.
(resolve_addr_in_expr, hash_loc_operands): Handle DW_OP_GNU_addr_index
and DW_OP_GNU_const_index. Handle dwarf_split_debug_info. Call
remove_loc_list_addr_table_entries and remove_addr_table_entry.
(index_location_lists): New function.
(dwarf2out_finish): Handle dwarf_split_debug_info. New variable
main_comp_unit_die. Adjust calls to add_AT_low_high_pc,
add_ranges_by_labels, add_AT_addr, and add_AT_lineptr. Call
save_macinfo_strings and output_indirect_strings.
include/ChangeLog
2012-10-29 Sterling Augustine <saugustine@google.com>
Cary Coutant <ccoutant@google.com>
* dwarf2.h (dwarf_location_list_entry_type): New enum with fields
DW_LLE_GNU_end_of_list_entry, DW_LLE_GNU_base_address_selection_entry,
DW_LLE_GNU_start_end_entry and DW_LLE_GNU_start_length_entry.
Co-Authored-By: Cary Coutant <ccoutant@google.com>
From-SVN: r193267
Ian Lance Taylor [Tue, 6 Nov 2012 23:04:28 +0000 (23:04 +0000)]
generic-morestack.c (__generic_morestack): Align the returned stack pointer to a 32 byte boundary.
* generic-morestack.c (__generic_morestack): Align the returned
stack pointer to a 32 byte boundary.
* config/i386/morestack.S (__morestack_non_split) [32-bit]: Don't
increment the return address until we have decided that we don't
have a varargs function.
(__morestack) [32-bit]: Align stack correctly when calling C
functions.
(__morestack) [64-bit]: Likewise.
From-SVN: r193264
Jonathan Wakely [Tue, 6 Nov 2012 22:53:16 +0000 (22:53 +0000)]
55123.cc: Remove duplicate include.
* testsuite/20_util/shared_ptr/cons/55123.cc: Remove duplicate
include.
From-SVN: r193263
Gerald Pfeifer [Tue, 6 Nov 2012 22:14:47 +0000 (22:14 +0000)]
i386.c (make_dispatcher_decl): Guard with ASM_OUTPUT_TYPE_DIRECTIVE and HAVE_GNU_INDIRECT_FUNCTION.
* config/i386/i386.c (make_dispatcher_decl): Guard with
ASM_OUTPUT_TYPE_DIRECTIVE and HAVE_GNU_INDIRECT_FUNCTION.
From-SVN: r193261
Andrew Pinski [Tue, 6 Nov 2012 22:06:19 +0000 (22:06 +0000)]
aarch64_guard1.C: Add -fno-section-anchors.
2012-11-06 Andrew Pinski <apinski@cavium.com>
* g++.dg/abi/aarch64_guard1.C: Add -fno-section-anchors.
From-SVN: r193260
Jan Hubicka [Tue, 6 Nov 2012 21:08:49 +0000 (22:08 +0100)]
ipa-inline-analysis.c (estimate_function_body_sizes, [...]): Cap time calculations.
* ipa-inline-analysis.c (estimate_function_body_sizes,
inline_update_overall_summary): Cap time calculations.
From-SVN: r193259
Ian Lance Taylor [Tue, 6 Nov 2012 19:48:12 +0000 (19:48 +0000)]
Update index.go from master testsuite.
From-SVN: r193258
Uros Bizjak [Tue, 6 Nov 2012 19:04:47 +0000 (20:04 +0100)]
i386.c (ix86_init_machine_status): Do not explicitly clear tls_descriptor_call_expanded_p again.
* config/i386/i386.c (ix86_init_machine_status): Do not
explicitly clear tls_descriptor_call_expanded_p again.
From-SVN: r193257
Uros Bizjak [Tue, 6 Nov 2012 18:53:21 +0000 (19:53 +0100)]
* config/i386/sse.md
(<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Mark operand 0
as read and written by the instruction.
From-SVN: r193256
Ian Lance Taylor [Tue, 6 Nov 2012 18:46:38 +0000 (18:46 +0000)]
compiler, runtime: Size of int is now 64 bits on x86_64.
From-SVN: r193255
Ian Lance Taylor [Tue, 6 Nov 2012 18:28:21 +0000 (18:28 +0000)]
compiler, libgo: Fixes to prepare for 64-bit int.
From-SVN: r193254
Ian Lance Taylor [Tue, 6 Nov 2012 18:12:45 +0000 (18:12 +0000)]
compiler, runtime: Memcmp routine returns intgo.
From-SVN: r193253
Uros Bizjak [Tue, 6 Nov 2012 18:00:46 +0000 (19:00 +0100)]
ChangeLog: Add missing PR number.
* ChangeLog: Add missing PR number.
* testsuite/ChangeLog: Ditto.
From-SVN: r193252
Alexandre Oliva [Tue, 6 Nov 2012 17:58:52 +0000 (17:58 +0000)]
re PR debug/54693 (VTA guality issues with loops)
PR debug/54693
* tree-ssa-threadedge.c (propagate_threaded_block_debug_into):
Use a stack vector before allocating a pointer set.
From-SVN: r193251
Martin Jambor [Tue, 6 Nov 2012 17:39:37 +0000 (18:39 +0100)]
ipa-prop.c (ipa_get_param_decl_index_1): New function.
2012-11-06 Martin Jambor <mjambor@suse.cz>
* ipa-prop.c (ipa_get_param_decl_index_1): New function.
(ipa_get_param_decl_index): Just call ipa_get_param_decl_index_1.
(ipa_populate_param_decls): Accept descriptors parameter rather
than the whole info.
(load_from_unmodified_param): Likewise.
(ipa_load_from_parm_agg_1): Likewise.
(ipa_load_from_parm_agg): Extract descriptors from info.
(compute_complex_assign_jump_func): Likewise.
(ipa_analyze_indirect_call_uses): Likewise.
From-SVN: r193250
Jan Hubicka [Tue, 6 Nov 2012 17:32:40 +0000 (18:32 +0100)]
ipa-inline.c (compute_uninlined_call_time): Return gcov_type.
* ipa-inline.c (compute_uninlined_call_time): Return gcov_type.
(compute_inlined_call_time): Watch overflows.
(relative_time_benefit): Compute in gcov_type.
From-SVN: r193249
Jan Hubicka [Tue, 6 Nov 2012 17:28:36 +0000 (17:28 +0000)]
Forgot changelog :(
From-SVN: r193248
Jan Hubicka [Tue, 6 Nov 2012 16:22:45 +0000 (17:22 +0100)]
cfgloopanal.c (get_loop_hot_path): New function.
* cfgloopanal.c (get_loop_hot_path): New function.
* tree-ssa-lop-ivcanon.c (struct loop_size): Add CONSTANT_IV,
NUM_NON_PURE_CALLS_ON_HOT_PATH, NUM_PURE_CALLS_ON_HOT_PATH,
NUM_BRANCHES_ON_HOT_PATH.
(tree_estimate_loop_size): Compute the new values.
(try_unroll_loop_completely): Disable unrolling of loops with only
calls or too many branches.
(tree_unroll_loops_completely): Deal also with outer loops of hot loops.
* cfgloop.h (get_loop_hot_path): Declare.
* params.def (PARAM_MAX_PEEL_BRANCHES): New parameters.
* invoke.texi (max-peel-branches): Document.
* gcc.dg/tree-ssa/loop-1.c: Make to look like a good unroling candidate still.
* gcc.dg/tree-ssa/loop-23.c: Likewise.
* gcc.dg/tree-ssa/cunroll-1.c: Unrolling now happens early.
* gcc.dg/tree-prof/unroll-1.c: Remove confused dg-options.
From-SVN: r193246
Jan Hubicka [Tue, 6 Nov 2012 16:05:18 +0000 (17:05 +0100)]
* ipa-pure-const.c (check_stmt): Fix debug info formatting.
From-SVN: r193245
Uros Bizjak [Tue, 6 Nov 2012 16:00:35 +0000 (17:00 +0100)]
i386.c (TARGET_INSTANTIATE_DECLS): New define.
* config/i386/i386.c (TARGET_INSTANTIATE_DECLS): New define.
(ix86_instantiate_decls): New function.
(ix86_expand_builtin) <case IX86_BUILTIN_LDMXCSR>: Use SLOT_TEMP
stack slot instead of SLOT_VIRTUAL.
<case IX86_BUILTIN_STMXCSR>: Ditto.
(assign_386_stack_local): Do not assert when virtual slot is valid.
* config/i386/i386.h (enum ix86_stack_slot): Remove SLOT_VIRTUAL.
* config/i386/i386.md (truncdfsf2): Do not use SLOT_VIRTUAL stack slot.
(truncxf<mode>2): Ditto.
(floatunssi<mode>2): Ditto.
(isinf<mode>2): Ditto.
* config/i386/sync.md (atomic_load<mode>): Ditto.
(atomic_store<mode>): Ditto.
From-SVN: r193244
David Edelsohn [Tue, 6 Nov 2012 14:54:33 +0000 (14:54 +0000)]
* const-uniq-1.c: Expand regex to match AIX XCOFF labels.
From-SVN: r193243
Uros Bizjak [Tue, 6 Nov 2012 14:30:52 +0000 (15:30 +0100)]
re PR target/41993 ([sh] ICE in create_pre_exit, at mode-switching.c:399)
PR middle-end/41993
* gcc.dg/torture/pr41993.c: New test.
From-SVN: r193242
Jan Hubicka [Tue, 6 Nov 2012 13:49:30 +0000 (14:49 +0100)]
l_fma_float_?.c: Update.
* gcc.target/i386/l_fma_float_?.c: Update.
* gcc.target/i386/l_fma_double_?.c: Update.
* tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound,
vect_do_peeling_for_alignment): Fix loop bound computation.
* tree-vect-loop.c (vect_transform_loop): Maintain loop bounds.
From-SVN: r193241
Arnaud Charlet [Tue, 6 Nov 2012 13:16:43 +0000 (13:16 +0000)]
Makefile.in (osconstool): Revert previous change, still needed after all.
* Makefile.in (osconstool): Revert previous change, still needed
after all. Add call to copy-s-oscons target.
From-SVN: r193240
Arnaud Charlet [Tue, 6 Nov 2012 13:15:37 +0000 (13:15 +0000)]
* gcc-interface/Makefile.in (copy-s-oscons): New target.
From-SVN: r193239
Arnaud Charlet [Tue, 6 Nov 2012 11:56:42 +0000 (12:56 +0100)]
[multiple changes]
2012-11-06 Robert Dewar <dewar@adacore.com>
* err_vars.ads, atree.ads: Minor reformatting.
2012-11-06 Arnaud Charlet <charlet@adacore.com>
* gcc-interface/Make-lang.in: Update dependencies.
* gcc-interface/Makefile.in: Add runtime pairs for Android.
Rework handling of s-oscons.ads.
* s-osinte-android.ads, s-osinte-android.adb: New files.
2012-11-06 Tristan Gingold <gingold@adacore.com>
* gcc-interface/trans.c (gnat_to_gnu): For N_Real_Literal, create the
binary representation of vax floats.
From-SVN: r193238
Arnaud Charlet [Tue, 6 Nov 2012 11:56:14 +0000 (11:56 +0000)]
* Makefile.in (osconstool): Removed, no longer needed.
From-SVN: r193237
Oleg Endo [Tue, 6 Nov 2012 11:55:43 +0000 (11:55 +0000)]
re PR target/54089 ([SH] Refactor shift patterns)
PR target/54089
* config/sh/sh.c (and_xor_ior_costs, addsubcosts): Double the costs for
ops larger than SImode.
* config/sh/sh.md (rotcl, *rotcl): New insns and splits.
(ashldi3_k): Convert to insn_and_split and use new rotcl insn.
PR target/54089
* gcc.target/sh/pr54089-8.c: New.
* gcc.target/sh/pr54089-9.c: New.
From-SVN: r193236
Arnaud Charlet [Tue, 6 Nov 2012 11:28:27 +0000 (12:28 +0100)]
[multiple changes]
2012-11-06 Tristan Gingold <gingold@adacore.com>
* sem_ch9.adb (Analyze_Protected_Type_Declaration): Fix thinko
in previous commit.
2012-11-06 Jose Ruiz <ruiz@adacore.com>
* ali.adb (Scan_ALI): Fix parsing mechanism for -fstack-check.
2012-11-06 Thomas Quinot <quinot@adacore.com>
* atree.adb, atree.ads, einfo.adb, errout.adb, errout.ads, erroutc.adb,
erroutc.ads, errutil.adb, errutil.ads, err_vars.ads, expander.adb,
exp_ch13.adb, exp_ch2.adb, exp_ch6.adb, exp_dist.adb, fe.h,
fmap.adb, fmap.ads, gprep.adb, makeutl.adb, osint.adb, osint.ads,
par_sco.adb, prepcomp.adb, prj-part.adb, prj-proc.adb, scng.adb,
sdefault.ads, sem_ch10.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb,
sem_ch4.adb, sem_ch5.adb, sem_dim.adb, sem_elab.adb, sem_eval.adb,
sem_intr.adb, sem_prag.adb, sem_type.adb, sem_warn.adb, stylesw.adb,
stylesw.ads, targparm.adb, targparm.ads (Cascaded_Error): Rename to
more descriptive name 'Check_Error_Detected'. Add calls to
Check_Error_Detected at places where semantic analysis is abandoned
assuming a previously detected error.
From-SVN: r193235
Arnaud Charlet [Tue, 6 Nov 2012 11:16:06 +0000 (12:16 +0100)]
[multiple changes]
2012-11-06 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb: Minor comment change.
2012-11-06 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Extensive revision of documentation of overflow
checking.
* vms_data.ads: Overflow check numbers must be in range 1-3,
not 0-3.
2012-11-06 Tristan Gingold <gingold@adacore.com>
* sem_ch9.adb (Analyze_Protected_Type_Declaration): Emit a
warning if pragma Priority is used in presence of an interrupt
handler.
From-SVN: r193234
Robert Dewar [Tue, 6 Nov 2012 11:11:15 +0000 (11:11 +0000)]
checks.ads, [...]: Minor changes throughout for new overflow checking.
2012-11-06 Robert Dewar <dewar@adacore.com>
* checks.ads, checks.adb, exp_ch4.adb: Minor changes throughout for
new overflow checking.
* exp_util.adb (Insert_Actions): Remove special casing of
Overflow_Check.
* gnat1drv.adb (Adjust_Global_Switches): Fixes for new handling
of overflow checks.
* sem.adb (Analyze): Remove special casing of Overflow_Check
(Analyze_List): ditto.
* sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Remove
SUPPRESSED and change CHECKED to STRICT.
* sem_res.adb (Analyze_And_Resolve): No longer treat
Overflow_Check specially.
(Preanalyze_And_Resolve): ditto.
(Resolve): ditto.
* snames.ads-tmpl: Replace Name_Checked by Name_Strict.
* switch-c.adb (Get_Overflow_Mode): Eliminate 0 setting,
CHECKED => STRICT.
* types.ads (Overflow_Check_Type): Remove Suppressed, change
Checked to Strict (Suppress_Record): Overflow check controlled
by Suppress array.
From-SVN: r193233
Paolo Carlini [Tue, 6 Nov 2012 11:03:45 +0000 (11:03 +0000)]
atomic_base.h: Don't include <cstddef>, use nullptr.
2012-11-06 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/atomic_base.h: Don't include <cstddef>, use nullptr.
* include/std/atomic: Likewise.
* include/tr2/dynamic_bitset: Likewise.
* libsupc++/vec.cc (compute_size(std::size_t, std::size_t,
std::size_t)): Fix for -fno-exceptions.
From-SVN: r193232
Ed Schonberg [Tue, 6 Nov 2012 10:47:21 +0000 (10:47 +0000)]
sem_res.adb (Preanalyze_And_Resolve): In Alfa mode do not disable checks...
2012-11-06 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Preanalyze_And_Resolve): In Alfa mode do not
disable checks, so that flags can be properly set on expressions
that are not further expanded.
From-SVN: r193231
Robert Dewar [Tue, 6 Nov 2012 10:45:56 +0000 (10:45 +0000)]
exp_attr.adb, [...]: Minor reformatting.
2012-11-06 Robert Dewar <dewar@adacore.com>
* exp_attr.adb, sem_attr.adb: Minor reformatting.
From-SVN: r193230
Vladimir Yakovlev [Tue, 6 Nov 2012 10:29:23 +0000 (10:29 +0000)]
i386-protos.h (emit_i387_cw_initialization): Deleted.
* config/i386/i386-protos.h (emit_i387_cw_initialization): Deleted.
(emit_vzero): Added prototype.
(ix86_mode_entry): Likewise.
(ix86_mode_exit): Likewise.
(ix86_emit_mode_set): Likewise.
* config/i386/i386.c (typedef struct block_info_def): Deleted.
(define BLOCK_INFO): Deleted.
(check_avx256_stores): Added checking for MEM_P.
(move_or_delete_vzeroupper_2): Deleted.
(move_or_delete_vzeroupper_1): Deleted.
(move_or_delete_vzeroupper): Deleted.
(ix86_maybe_emit_epilogue_vzeroupper): Deleted.
(function_pass_avx256_p): Deleted.
(ix86_function_ok_for_sibcall): Deleted disabling sibcall.
(nit_cumulative_args): Deleted initialization of of avx256 fields of
cfun->machine.
(ix86_emit_restore_sse_regs_using_mov): Deleted vzeroupper generation.
(ix86_expand_epilogue): Likewise.
(ix86_avx_u128_mode_needed): New.
(ix86_i387_mode_needed): Renamed ix86_mode_needed.
(ix86_mode_needed): New.
(ix86_avx_u128_mode_after): New.
(ix86_mode_after): New.
(ix86_avx_u128_mode_entry): New.
(ix86_mode_entry): New.
(ix86_avx_u128_mode_exit): New.
(ix86_mode_exit): New.
(ix86_emit_mode_set): New.
(ix86_expand_call): Deleted vzeroupper generation.
(ix86_split_call_vzeroupper): Deleted.
(ix86_init_machine_status): Initialzed optimize_mode_switching.
(ix86_expand_special_args_builtin): Changed.
(ix86_reorg): Deleted a call of move_or_delete_vzeroupper.
* config/i386/i386.h (VALID_AVX256_REG_OR_OI_MODE): New.
(AVX_U128): New.
(avx_u128_state): New.
(NUM_MODES_FOR_MODE_SWITCHING): Added AVX_U128_ANY.
(MODE_AFTER): New.
(MODE_ENTRY): New.
(MODE_EXIT): New.
(EMIT_MODE_SET): Changed.
(machine_function): Deleted avx256 fields.
* config/i386/i386.md (UNSPEC_CALL_NEEDS_VZEROUPPER): Deleted.
(define_insn_and_split "*call_vzeroupper"): Deleted.
(define_insn_and_split "*call_rex64_ms_sysv_vzeroupper"): Deleted.
(define_insn_and_split "*sibcall_vzeroupper"): Deleted.
(define_insn_and_split "*call_pop_vzeroupper"): Deleted.
(define_insn_and_split "*sibcall_pop_vzeroupper"): Deleted.
(define_insn_and_split "*call_value_vzeroupper"): Deleted.
(define_insn_and_split "*sibcall_value_vzeroupper"): Deleted.
(define_insn_and_split "*call_value_rex64_ms_sysv_vzeroupper"): Deleted.
(define_insn_and_split "*call_value_pop_vzeroupper"): Deleted.
(define_insn_and_split "*sibcall_value_pop_vzeroupper"): Deleted.
(define_expand "return"): Deleted vzeroupper emitting.
(define_expand "simple_return"): Deleted.
* config/i386/predicates.md (vzeroupper_operation): New.
* config/i386/sse.md (avx_vzeroupper): Changed.
testsuite/ChangeLog:
* gcc.target/i386/avx-vzeroupper-5.c: Changed scan-assembler-times.
* gcc.target/i386/avx-vzeroupper-8.c: Likewise.
* gcc.target/i386/avx-vzeroupper-9.c: Likewise.
* gcc.target/i386/avx-vzeroupper-10.c: Likewise.
* gcc.target/i386/avx-vzeroupper-11.c: Likewise.
* gcc.target/i386/avx-vzeroupper-12.c: Likewise.
* gcc.target/i386/avx-vzeroupper-19.c: Likewis.
* gcc.target/i386/avx-vzeroupper-27.c: New.
From-SVN: r193229
Gary Dismukes [Tue, 6 Nov 2012 10:22:42 +0000 (10:22 +0000)]
exp_attr.adb (Expand_N_Attribute_Reference): Apply a predicate check when evaluating the attribute Valid...
2012-11-06 Gary Dismukes <dismukes@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference): Apply a predicate
check when evaluating the attribute Valid, and issue a warning
about infinite recursion when the check occurs within the
predicate function of the prefix's subtype.
* exp_ch4.adb (Expand_N_In): Remove test for Is_Discrete_Type
when we're checking that there's no predicate check function as a
condition for substituting a Valid check for a scalar membership
test (substitution should be suppressed for any kind of scalar
subtype with a predicate check). Also, don't emit a predicate
check when the right operand is a range.
From-SVN: r193228
Arnaud Charlet [Tue, 6 Nov 2012 10:20:41 +0000 (11:20 +0100)]
[multiple changes]
2012-11-06 Robert Dewar <dewar@adacore.com>
* par_sco.adb, bindgen.adb, exp_vfpt.adb, exp_vfpt.ads, exp_ch2.adb,
errout.adb, sem_ch8.adb: Minor reformatting.
2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb: Include Loop_Entry_Attributes to the list of
Node/List/Elist10 usage.
(Loop_Entry_Attributes): New routine.
(Set_Loop_Entry_Attributes): New routine.
(Write_Field10_Name): Add an output string for Loop_Entry_Attributes.
* einfo.ads: Define new attribute Loop_Entry_Attributes along
with its usage in nodes.
(Loop_Entry_Attributes): New routine and dedicated pragma Inline.
(Set_Loop_Entry_Attributes): New routine and dedicated pragma Inline.
* exp_attr.adb (Expand_N_Attribute_Reference): Do not expand
Attribute_Loop_Entry here.
* exp_ch5.adb: Add with and use clause for Elists;
(Expand_Loop_Entry_Attributes): New routine.
(Expand_N_Loop_Statement): Add a call to Expand_Loop_Entry_Attributes.
* exp_prag.adb (Expand_Pragma_Loop_Assertion): Specialize the
search to include multiple nested loops produced by the expansion
of Ada 2012 array iterator.
* sem_attr.adb: Add with and use clause for Elists.
(Analyze_Attribute): Check the legality of attribute Loop_Entry.
(Resolve_Attribute): Nothing to do for Loop_Entry.
(S14_Attribute): New routine.
* snames.ads-tmpl: Add a comment on entries marked with
HiLite. Add new name Name_Loop_Entry. Add new attribute
Attribute_Loop_Entry.
From-SVN: r193227
Janus Weil [Tue, 6 Nov 2012 10:15:42 +0000 (11:15 +0100)]
re PR fortran/54917 ([OOP] TRANSFER on polymorphic variable causes ICE)
2012-11-06 Janus Weil <janus@gcc.gnu.org>
PR fortran/54917
* target-memory.c (gfc_target_expr_size,gfc_target_interpret_expr):
Handle BT_CLASS.
* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Add support for
polymorphic arguments.
2012-11-06 Janus Weil <janus@gcc.gnu.org>
PR fortran/54917
* gfortran.dg/transfer_class_1.f90: New.
* gfortran.dg/transfer_class_2.f90: New.
From-SVN: r193226
Arnaud Charlet [Tue, 6 Nov 2012 10:14:13 +0000 (11:14 +0100)]
[multiple changes]
2012-11-06 Geert Bosch <bosch@adacore.com>
* eval_fat.adb (Machine, Succ): Fix front end to support static
evaluation of attributes on targets with both VAX and IEEE float.
* sem_util.ads, sem_util.adb (Has_Denormals, Has_Signed_Zeros):
New type-specific functions. Previously we used Denorm_On_Target
and Signed_Zeros_On_Target directly, but that doesn't work well
for OpenVMS where a single target supports both floating point
with and without signed zeros.
* sem_attr.adb (Attribute_Denorm, Attribute_Signed_Zeros): Use
new Has_Denormals and Has_Signed_Zeros functions to support both
IEEE and VAX floating point on a single target.
2012-11-06 Tristan Gingold <gingold@adacore.com>
* bindgen.adb (System_Interrupts_Used): New variable.
(Gen_Adainit): Declare and call
Install_Restricted_Handlers_Sequential if System.Interrupts is
used when elaboration policy is sequential.
2012-11-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb: Complete previous change.
From-SVN: r193225
Arnaud Charlet [Tue, 6 Nov 2012 10:11:20 +0000 (11:11 +0100)]
[multiple changes]
2012-11-06 Tristan Gingold <gingold@adacore.com>
* fe.h (Get_Vax_Real_Literal_As_Signed): Declare.
* eval_fat.adb, eval_fat.ads (Decompose_Int): Move spec in package spec.
* exp_vfpt.adb, exp_vfpt.ads (Vax_Real_Literal_As_Signed): New function.
(Expand_Vax_Real_Literal): Remove.
* exp_ch2.adb (Expand_N_Real_Literal): Do nothing.
* sem_eval.adb (Expr_Value_R): Remove special Vax float case,
as this is not anymore a special case.
2012-11-06 Yannick Moy <moy@adacore.com>
* uintp.ads: Minor correction of typo in comment.
2012-11-06 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Analyze_Pragnma, case Unchecked_Union): remove
requirement that discriminants of an unchecked_union must have
defaults.
2012-11-06 Vasiliy Fofanov <fofanov@adacore.com>
* projects.texi: Minor wordsmithing.
From-SVN: r193224
Robert Dewar [Tue, 6 Nov 2012 10:09:01 +0000 (10:09 +0000)]
sem_ch9.adb, [...]: Minor reformatting.
2012-11-06 Robert Dewar <dewar@adacore.com>
* sem_ch9.adb, exp_vfpt.adb, xoscons.adb: Minor reformatting.
From-SVN: r193223
Arnaud Charlet [Tue, 6 Nov 2012 10:05:10 +0000 (11:05 +0100)]
[multiple changes]
2012-11-06 Tristan Gingold <gingold@adacore.com>
* exp_vfpt.adb: Document VAX float point layout.
2012-11-06 Geert Bosch <bosch@adacore.com>
* eval_fat.adb (Machine): Don't return -0.0 on targets without
signed zeros.
2012-11-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch9.adb (Analyze_Entry_Call_Alternative,
Check_Triggering_Statement): Reject properly an indirect call.
From-SVN: r193222
Pascal Obry [Tue, 6 Nov 2012 10:03:08 +0000 (10:03 +0000)]
xoscons.adb, [...]: Add support for post-processing.
2012-11-06 Pascal Obry <obry@adacore.com>
* xoscons.adb, xutil.adb, xutil.ads: Add support for post-processing.
From-SVN: r193221
Arnaud Charlet [Tue, 6 Nov 2012 10:01:03 +0000 (11:01 +0100)]
[multiple changes]
2012-11-06 Yannick Moy <moy@adacore.com>
* s-bignum.adb (Div_Rem): Fix another bug in step D3.
2012-11-06 Tristan Gingold <gingold@adacore.com>
* s-tarest.adb (Create_Restricted_Task): Call
Create_Restricted_Task_Sequential in sequential case.
2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
* exp_prag.adb (Expand_Pragma_Loop_Assertion): Do not rewrite the
pragma into a null statement as its presence is desirable in -gnatG
output.
From-SVN: r193219
Arnaud Charlet [Tue, 6 Nov 2012 09:59:02 +0000 (10:59 +0100)]
[multiple changes]
2012-11-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Check_Constrained_Object): Do nothing if the
renamed object is a limited record.
2012-11-06 Bernard Banner <banner@adacore.com>
* sysdep.c (_getpagesize): New. Minor reformatting.
From-SVN: r193218
Robert Dewar [Tue, 6 Nov 2012 09:55:50 +0000 (09:55 +0000)]
sem_prag.adb: Minor reformatting.
2012-11-06 Robert Dewar <dewar@adacore.com>
* sem_prag.adb: Minor reformatting.
2012-11-06 Robert Dewar <dewar@adacore.com>
* s-bignum.adb (Div_Rem): Fix bug in step D3.
* uintp.adb (UI_Div_Rem): Add comment on bug in step D3.
From-SVN: r193217
Arnaud Charlet [Tue, 6 Nov 2012 09:53:42 +0000 (10:53 +0100)]
[multiple changes]
2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
* exp_prag.adb (Expand_Pragma_Loop_Assertion): Update the comment
on intended expansion. Reimplement the logic which expands the
termination variants.
(Process_Increase_Decrease): Update the parameter profile and the
comment related to it. Accommodate the new aggregate-like appearance of
the termination variants.
* sem_prag.adb (Analyze_Pragma): Update the syntax of pragma
Loop_Assertion. Reimplement the semantic analysis of the pragma
to accommodate the new aggregate-like variant.
(Check_Variant): New routine.
* snames.ads-tmpl: Change names Name_Decreases and Name_Increases
to Name_Decreasing and Name_Increasing respectively. Add name
Variant.
2012-11-06 Ed Schonberg <schonberg@adacore.com>
* sem_eval.adb: Static evaluation of case expressions.
From-SVN: r193216
Arnaud Charlet [Tue, 6 Nov 2012 09:49:23 +0000 (10:49 +0100)]
[multiple changes]
2012-11-06 Robert Dewar <dewar@adacore.com>
* exp_prag.adb, impunit.adb, exp_ch9.adb, par-ch4.adb,
s-tarest.adb: Minor reformatting.
2012-11-06 Tristan Gingold <gingold@adacore.com>
* s-tposen.ads: Minor comment update.
2012-11-06 Arnaud Charlet <charlet@adacore.com>
* sysdep.c: Rename sig* wrappers to use unique names.
2012-11-06 Yannick Moy <moy@adacore.com>
* exp_dbug.adb (Qualify_Entity_Name): Mark entity as having a qualified
name after being treated, in formal verification mode.
2012-11-06 Fedor Rybin <frybin@adacore.com>
* gnat_ugn.texi: Updating gnattest section to reflect changes
in default behaviour of the tool.
From-SVN: r193215
Arnaud Charlet [Tue, 6 Nov 2012 09:44:51 +0000 (10:44 +0100)]
[multiple changes]
2012-11-06 Thomas Quinot <quinot@adacore.com>
* s-oscons-tmplt.c: Interfaces.C now needs to be WITH'd even
on platforms that do not support sockets (for the benefit of
subtype IOCTL_Req_T).
2012-11-06 Ed Schonberg <schonberg@adacore.com>
* par-ch4.adb (P_Primary): if-expressions, case-expressions,
and quantified expressions are legal if surrounded by parentheses
from an enclosing context, such as a call or an instantiation.
2012-11-06 Yannick Moy <moy@adacore.com>
* impunit.adb (Get_Kind_Of_Unit): Return appropriate kind for
predefined implementation files, instead of returning
Not_Predefined_Unit on all .adb files.
2012-11-06 Tristan Gingold <gingold@adacore.com>
* exp_ch9.adb (Build_Activation_Chain_Entity): Return immediately if
partition elaboration policy is sequential.
(Build_Task_Activation_Call): Likewise. Use
Activate_Restricted_Tasks on restricted profile.
(Make_Task_Create_Call): Do not use the _Chain
parameter if elaboration policy is sequential. Call
Create_Restricted_Task_Sequential in that case.
* exp_ch3.adb (Build_Initialization_Call): Change condition to
support concurrent elaboration policy.
(Build_Record_Init_Proc): Likewise.
(Init_Formals): Likewise.
* bindgen.adb (Gen_Adainit): Declare Partition_Elaboration_Policy
and set it in generated code if the elaboration policy is
sequential. The procedure called to activate all tasks is now
named __gnat_activate_all_tasks.
* rtsfind.adb (RE_Activate_Restricted_Task,
RE_Create_Restricted_Task_Sequential): New RE_Id literals.
* s-tarest.adb (Create_Restricted_Task): Added to create a task without
adding it on an activation chain.
(Activate_Tasks): Has now a Chain parameter.
(Activate_All_Tasks_Sequential): Added. Called by the binder to
activate all tasks.
(Activate_Restricted_Tasks): Added. Called during elaboration to
activate tasks of the units.
* s-tarest.ads: Remove pragma Partition_Elaboration_Policy.
(Partition_Elaboration_Policy): New variable (set by the binder).
(Create_Restricted_Task): Revert removal of the chain parameter.
(Create_Restricted_Task_Sequential): New procedure.
(Activate_Restricted_Tasks): Revert removal.
(Activate_All_Tasks_Sequential): New procedure.
From-SVN: r193214
Bernard Banner [Tue, 6 Nov 2012 09:41:56 +0000 (09:41 +0000)]
2012-11-06 Bernard Banner <banner@adacore.com>
* adaint.c Add file macro definitions missing on Android.
* adaint.h Avoid definitions related to task affinity and CPU
sets since this functionality is missing on the Android
* errno.c (__set_errno): Android already contains such a named
procedure so do include again.
* gsocket.h: Sockets not supported on Android.
* init.c: Avoid linux related code not supported on Android.
* sysdep.c (sigismember, sigaddset, sigdelset, sigemptyset,
sigfillset): wrapper functions since sig routines are defined
as inline macros on Android.
* terminals.c: Add stubs for terminal related functions not
supported on Android.
From-SVN: r193213
Hristian Kirtchev [Tue, 6 Nov 2012 09:38:48 +0000 (09:38 +0000)]
sem_prag.adb (Analyze_Pragma): Do not output the characters of an illegal argument as it may not have...
2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Pragma): Do not
output the characters of an illegal argument as it may not have
characters to begin with.
2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
* exp_prag.adb (Expand_Pragma_Loop_Assertion):
Change the order of argument processing to avoid disappearing
increase / decrease expressions.
From-SVN: r193212