gcc.git
12 years agoRequire non-ilp32 for gcc.dg/tree-ssa/slsr-30.c
H.J. Lu [Wed, 8 Aug 2012 22:47:07 +0000 (22:47 +0000)]
Require non-ilp32 for gcc.dg/tree-ssa/slsr-30.c

* gcc.dg/tree-ssa/slsr-30.c: Require non-ilp32.  Remove
dg-skip-if.

From-SVN: r190242

12 years agosimplify-rtx.c (simplify_binary_operation_1): Do not simplify IOR to a constant if...
Joseph Myers [Wed, 8 Aug 2012 19:42:58 +0000 (20:42 +0100)]
simplify-rtx.c (simplify_binary_operation_1): Do not simplify IOR to a constant if one operand has side effects.

* simplify-rtx.c (simplify_binary_operation_1): Do not simplify
IOR to a constant if one operand has side effects.

testsuite:
* gcc.c-torture/execute/20120808-1.c: New test.

From-SVN: r190237

12 years agobuiltins.c (expand_builtin_atomic_compare_exchange): Pass old value operand as MEM...
Ulrich Weigand [Wed, 8 Aug 2012 18:03:37 +0000 (18:03 +0000)]
builtins.c (expand_builtin_atomic_compare_exchange): Pass old value operand as MEM to expand_atomic_compare_and_swap.

* builtins.c (expand_builtin_atomic_compare_exchange): Pass old
value operand as MEM to expand_atomic_compare_and_swap.

* config/s390/s390.md ("atomic_compare_and_swap<mode>"): Accept
nonimmediate_operand for old value; generate load and store if
needed.
* config/s390/s390.c (s390_expand_cs_hqi): Accept any operand
as vtarget.

From-SVN: r190236

12 years agore PR middle-end/54146 (Very slow compile with attribute((flatten)))
Steven Bosscher [Wed, 8 Aug 2012 17:39:46 +0000 (17:39 +0000)]
re PR middle-end/54146 (Very slow compile with attribute((flatten)))

PR middle-end/54146
* gimpify.c (gimplify_body): Only verify_gimple_in_seq with
checking enabled.
* tree-ssa-loop-manip.c (add_exit_phis_var): Assert that var is
a gimple_reg if checking is enabled.
(find_uses_to_rename_stmt): Only look at non-virtual USE operands.
* tree-into-ssa (compute_global_livein): Change the worklist
type from an array to a VEC.

From-SVN: r190235

12 years agotree-ssa-operands.h (virtual_operand_p): Declare.
Richard Guenther [Wed, 8 Aug 2012 14:51:26 +0000 (14:51 +0000)]
tree-ssa-operands.h (virtual_operand_p): Declare.

2012-08-08  Richard Guenther  <rguenther@suse.de>

* tree-ssa-operands.h (virtual_operand_p): Declare.
* tree-ssa-operands.c (virtual_operand_p): New predicate.
* gimple.c (is_gimple_reg): Use virtual_operand_p.
* tree-into-ssa.c (prepare_block_for_update): Likewise.
* tree-vect-loop-manip.c (adjust_debug_stmts): Likewise.

From-SVN: r190231

12 years agoffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test, just return FFI_BAD_ABI when...
Uros Bizjak [Wed, 8 Aug 2012 14:48:43 +0000 (16:48 +0200)]
ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test, just return FFI_BAD_ABI when things are wrong.

* src/s390/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
just return FFI_BAD_ABI when things are wrong.

From-SVN: r190230

12 years agotree-call-cdce.c (check_pow): Simplify.
Richard Guenther [Wed, 8 Aug 2012 14:40:30 +0000 (14:40 +0000)]
tree-call-cdce.c (check_pow): Simplify.

2012-08-08  Richard Guenther  <rguenther@suse.de>

* tree-call-cdce.c (check_pow): Simplify.
(gen_conditions_for_pow_int_base): Likewise.
* tree-ssa-dom.c (propagate_rhs_into_lhs): Do not handle
virtual operands here.
* tree-ssa-operands.c (get_name_decl): Remove unused function.
* gimplify.c (gimple_regimplify_operands): Remove dead code.
* tree-vrp.c (get_value_range): Move SSA_NAME_VAR access.
* tree-parloops.c (create_phi_for_local_result): Use copy_ssa_name.
* value-prof.c (gimple_ic): Use duplicate_ssa_name.
(gimple_stringop_fixed_value): Likewise.
* tree.c (needs_to_live_in_memory): Remove SSA name handling.
* tree-stdarg.c (find_va_list_reference): Store SSA_NAME_VERSIONs
in the bitmap alongside shifted DECL_UIDs.
(va_list_counter_struct_op): Likewise.
(va_list_ptr_read): Likewise.
(va_list_ptr_write): Likewise.
(check_va_list_escapes): Likewise.
(check_all_va_list_escapes): Likewise.
(execute_optimize_stdarg): Likewise.
* tree-outof-ssa.c (insert_backedge_copies): Use copy_ssa_name.

From-SVN: r190229

12 years agoDon't return identity for CONST or symbolic reference
H.J. Lu [Wed, 8 Aug 2012 13:39:33 +0000 (06:39 -0700)]
Don't return identity for CONST or symbolic reference

gcc/

PR rtl-optimization/54157
* combine.c (gen_lowpart_for_combine): Don't return identity
for CONST or symbolic reference.

gcc/testsuite/

PR rtl-optimization/54157
* gcc.target/i386/pr54157.c: New file.

From-SVN: r190228

12 years agoi386-common.c (OPTION_MASK_ISA_ADX_SET): New.
Michael Zolotukhin [Wed, 8 Aug 2012 13:25:58 +0000 (13:25 +0000)]
i386-common.c (OPTION_MASK_ISA_ADX_SET): New.

ChangeLog:
2012-08-08 Michael Zolotukhin <michael.v.zolotukhin@intel.com>

        * common/config/i386/i386-common.c (OPTION_MASK_ISA_ADX_SET): New.
        (OPTION_MASK_ISA_ADX_UNSET): Likewise.
        (ix86_handle_option): Handle madx option.
        * config.gcc (i[34567]86-*-*): Add adxintrin.h.
        (x86_64-*-*): Likewise.
        * config/i386/adxintrin.h: New header.
        * config/i386/driver-i386.c (host_detect_local_cpu): Detect ADCX/ADOX
        support.
        * config/i386/i386-builtin-types.def
        (UCHAR_FTYPE_UCHAR_UINT_UINT_PUNSIGNED): New function type.
        (UCHAR_FTYPE_UCHAR_ULONGLONG_ULONGLONG_PULONGLONG): Likewise.
        * config/i386/i386-c.c: Define __ADX__ if needed.
        * config/i386/i386.c (ix86_target_string): Define -madx option.
        (PTA_ADX): New.
        (ix86_option_override_internal): Handle new option.
        (ix86_valid_target_attribute_inner_p): Add OPT_madx.
        (ix86_builtins): Add IX86_BUILTIN_ADDCARRYX32,
        IX86_BUILTIN_ADDCARRYX64.
        (ix86_init_mmx_sse_builtins): Define corresponding built-ins.
        (ix86_expand_builtin): Handle these built-ins.
        (ix86_expand_args_builtin): Handle new function types.
        * config/i386/i386.h (TARGET_ADX): New.
        * config/i386/i386.md (adcx<mode>3): New define_insn.
        * config/i386/i386.opt (madx): New.
        * config/i386/x86intrin.h: Include adxintrin.h.

testsuite/ChangeLog:
        * gcc.target/i386/adx-addcarryx32-1.c: New.
        * gcc.target/i386/adx-addcarryx32-2.c: New.
        * gcc.target/i386/adx-addcarryx64-1.c: New.
        * gcc.target/i386/adx-addcarryx64-2.c: New.
        * gcc.target/i386/adx-check.h: New.
        * gcc.target/i386/i386.exp (check_effective_target_adx): New.
        * gcc.target/i386/sse-12.c: Add -madx.
        * gcc.target/i386/sse-13.c: Ditto.
        * gcc.target/i386/sse-14.c: Ditto.
        * gcc.target/i386/sse-22.c: Ditto.
        * gcc.target/i386/sse-23.c: Ditto.
        * g++.dg/other/i386-2.C: Ditto.
        * g++.dg/other/i386-3.C: Ditto.

From-SVN: r190227

12 years agooops - accidentally omitted from previous delta.
Nick Clifton [Wed, 8 Aug 2012 09:03:05 +0000 (09:03 +0000)]
oops - accidentally omitted from previous delta.

From-SVN: r190225

12 years ago* config/rl78/rl78.c: Include tree-pass.h.
Nick Clifton [Wed, 8 Aug 2012 08:34:25 +0000 (08:34 +0000)]
* config/rl78/rl78.c: Include tree-pass.h.

From-SVN: r190224

12 years agore PR middle-end/54146 (Very slow compile with attribute((flatten)))
Steven Bosscher [Wed, 8 Aug 2012 06:29:12 +0000 (06:29 +0000)]
re PR middle-end/54146 (Very slow compile with attribute((flatten)))

PR middle-end/54146
* ira.c (init_live_subregs): Take live_subregs_used as a bitmap.
(build_insn_chain): Make live_subregs_used a bitmap.
Use SBITMAP_SIZE to ignore the paradoxical bytes of subregs.
Use sbitmap_free to free the live_subreg sbitmaps.

From-SVN: r190223

12 years agore PR middle-end/54146 (Very slow compile with attribute((flatten)))
Steven Bosscher [Wed, 8 Aug 2012 06:28:10 +0000 (06:28 +0000)]
re PR middle-end/54146 (Very slow compile with attribute((flatten)))

PR middle-end/54146
* ifcvt.c: Include pointer-set.h.
(cond_move_process_if_block): Change type of then_regs and
else_regs from alloca'd array to pointer_sets.
(check_cond_move_block): Update for this change.
(cond_move_convert_if_block): Likewise.
* Makefile.in: Fix dependencies for ifcvt.o.

From-SVN: r190222

12 years agogimple-ssa-strength-reduction.c (struct incr_info_d): New struct.
Bill Schmidt [Wed, 8 Aug 2012 01:35:22 +0000 (01:35 +0000)]
gimple-ssa-strength-reduction.c (struct incr_info_d): New struct.

gcc:

2012-08-07  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gimple-ssa-strength-reduction.c (struct incr_info_d): New struct.
(incr_vec): New static var.
(incr_vec_len): Likewise.
(address_arithmetic_p): Likewise.
(stmt_cost): Remove dead assignment.
(dump_incr_vec): New function.
(cand_abs_increment): Likewise.
(lazy_create_slsr_reg): Likewise.
(incr_vec_index): Likewise.
(count_candidates): Likewise.
(record_increment): Likewise.
(record_increments): Likewise.
(unreplaced_cand_in_tree): Likewise.
(optimize_cands_for_speed_p): Likewise.
(lowest_cost_path): Likewise.
(total_savings): Likewise.
(analyze_increments): Likewise.
(ncd_for_two_cands): Likewise.
(nearest_common_dominator_for_cands): Likewise.
(profitable_increment_p): Likewise.
(insert_initializers): Likewise.
(introduce_cast_before_cand): Likewise.
(replace_rhs_if_not_dup): Likewise.
(replace_one_candidate): Likewise.
(replace_profitable_candidates): Likewise.
(analyze_candidates_and_replace): Handle candidates with SSA-name
strides.

gcc/testsuite:

2012-08-07  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/tree-ssa/slsr-5.c: New.
* gcc.dg/tree-ssa/slsr-6.c: New.
* gcc.dg/tree-ssa/slsr-7.c: New.
* gcc.dg/tree-ssa/slsr-8.c: New.
* gcc.dg/tree-ssa/slsr-9.c: New.
* gcc.dg/tree-ssa/slsr-10.c: New.
* gcc.dg/tree-ssa/slsr-11.c: New.
* gcc.dg/tree-ssa/slsr-12.c: New.
* gcc.dg/tree-ssa/slsr-13.c: New.
* gcc.dg/tree-ssa/slsr-14.c: New.
* gcc.dg/tree-ssa/slsr-15.c: New.
* gcc.dg/tree-ssa/slsr-16.c: New.
* gcc.dg/tree-ssa/slsr-17.c: New.
* gcc.dg/tree-ssa/slsr-18.c: New.
* gcc.dg/tree-ssa/slsr-19.c: New.
* gcc.dg/tree-ssa/slsr-20.c: New.
* gcc.dg/tree-ssa/slsr-21.c: New.
* gcc.dg/tree-ssa/slsr-22.c: New.
* gcc.dg/tree-ssa/slsr-23.c: New.
* gcc.dg/tree-ssa/slsr-24.c: New.
* gcc.dg/tree-ssa/slsr-25.c: New.
* gcc.dg/tree-ssa/slsr-26.c: New.
* gcc.dg/tree-ssa/slsr-30.c: New.
* gcc.dg/tree-ssa/slsr-31.c: New.

From-SVN: r190220

12 years agoDaily bump.
GCC Administrator [Wed, 8 Aug 2012 00:17:43 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r190219

12 years agore PR libstdc++/54005 (Use __atomic_always_lock_free in libstdc++ is_lock_free instea...
Benjamin Kosnik [Tue, 7 Aug 2012 23:03:55 +0000 (23:03 +0000)]
re PR libstdc++/54005 (Use __atomic_always_lock_free in libstdc++ is_lock_free instead of __atomic_is_lock_free)

2012-08-07  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/54005
* include/std/atomic: Use __atomic_always_lock_free.
* include/bits/atomic_base.h: Same.

From-SVN: r190216

12 years agocfg.c (debug_bb): Do not set TDF_BLOCKS.
Steven Bosscher [Tue, 7 Aug 2012 22:14:29 +0000 (22:14 +0000)]
cfg.c (debug_bb): Do not set TDF_BLOCKS.

gcc/
* cfg.c (debug_bb): Do not set TDF_BLOCKS.
* cfghooks.c (dump_bb): Honor ~TDF_BLOCKS.
* pretty-print.c (pp_base_flush): Do not add a newline, and do not
clear pp_needs_newline.
* pretty-print.h (pp_newline_and_flush): New macro with the behavior
of pp_base_flush before the above change.
* langhooks.c (lhd_print_error_function): Use pp_newline_and_flush
instead of pp_flush.
* diagnostic.c (diagnostic_finish): Likewise.
(diagnostic_report_diagnostic): Likewise.
(verbatim): Likewise.
(error_recursion): Likewise.
* tree-pretty-print.c (print_generic_stmt): Likewise.
(print_generic_stmt_indented): LIkewise.
* gimple-pretty-print.c (print_gimple_stmt): Likewise.
(print_gimple_seq): Likewise.
(gimple_dump_bb_buff): Likewise.

c-family/
* c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
instead of separate pp_newline and pp_flush.
(print_c_tree): Likewise.

cp/
* error.c (print_instantiation_context): Pretty-print a newline before
diagnostic_flush_buffer.
* cxx-pretty-print.c (pp_cxx_function_definition): Use
pp_newline_and_flush instead of separate pp_newline and pp_flush.

testsuite/
* gcc.dg/tree-prof/update-loopch.c: Ask for dump with blocks info.
* gcc.dg/tree-ssa/attr-hotcold-2.c: Likewise.
* gcc.dg/tree-ssa/pr18133-1.c: Likewise.

From-SVN: r190215

12 years ago* ChangeLog: Add PR number.
Uros Bizjak [Tue, 7 Aug 2012 21:01:52 +0000 (23:01 +0200)]
* ChangeLog: Add PR number.

From-SVN: r190213

12 years agovar-tracking.c (var_lowpart): Exit early for matched modes.
Uros Bizjak [Tue, 7 Aug 2012 20:57:56 +0000 (22:57 +0200)]
var-tracking.c (var_lowpart): Exit early for matched modes.

* var-tracking.c (var_lowpart): Exit early for matched modes.

From-SVN: r190212

12 years agos390: Convert from sync to atomic optabs
Richard Henderson [Tue, 7 Aug 2012 17:32:19 +0000 (10:32 -0700)]
s390: Convert from sync to atomic optabs

        * config/s390/s390.c (s390_emit_compare_and_swap): Update for
        atomic_compare_and_swapsi_internal name change.
        (s390_expand_insv): Try RISBG last, not requiring operands in
        registers but forcing them there.  Try a limited form of ICM.
        (s390_two_part_insv): New.
        (s390_expand_cs_hqi): Use it.  Update for atomic optabs.
        * config/s390/s390.md (UNSPEC_MOVA): New.
        (TDSI): Remove mode iterator.
        (DGPR, DINT, TDI): New mode iterators.
        (td): New mode attribute.
        (mem_signal_fence): New.
        (mem_thread_fence): Rename from memory_barrier; update for model arg.
        (mem_thread_fence_1): Rename from *memory_barrier.
        (atomic_load<DINT>, atomic_store<DINT>): New expanders.
        (atomic_loaddi_1, atomic_loadti_1): New.
        (atomic_storedi_1, atomic_storeti_1): New.
        (sync_compare_and_swap<TDSI>, sync_compare_and_swap<HQI>): Remove.
        (atomic_compare_and_swap<DGPR>, atomic_compare_and_swap<HQI>): New.
        (atomic_compare_and_swap<DGPR>_internal): New.
        (*sync_compare_and_swap<DW>, *sync_compare_and_swap<GPR>): Remove.
        (*atomic_compare_and_swap<TDI>_1): New.
        (*atomic_compare_and_swapdi_2, *atomic_compare_and_swapsi_3): New.
        (sync_<ATOMIC_Z196><GPR>, sync_old_<ATOMIC_Z196><GPR>): Remove.
        (atomic_fetch_<ATOMIC_Z196><GPR>): New.
        (atomic_fetch_<ATOMC_Z196><GPR>_iaf): New.
        (sync_<ATOMIC><HQI>, sync_old_<ATOMIC><HQI>): Remove.
        (sync_new_<ATOMIC><HQI>): Remove.
        (atomic_<ATOMIC><HQI>, atomic_fetch_<ATOMIC><HQI>): New.
        (atomic_<ATOMIC>_fetch<HQI>): New.
        (sync_lock_test_and_set<HQI>): Remove.
        (atomic_exchange<HQI>): New.

From-SVN: r190209

12 years agoexcept.c (switch_to_exception_section): Place tables for DECL_ONE_ONLY functions...
Paul Brook [Tue, 7 Aug 2012 16:08:49 +0000 (16:08 +0000)]
except.c (switch_to_exception_section): Place tables for DECL_ONE_ONLY functions in comdat groups.

2012-08-07  Paul Brook  <paul@codesourcery.com>
    Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* except.c (switch_to_exception_section): Place tables for
DECL_ONE_ONLY functions in comdat groups.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r190206

12 years agotree-flow.h (copy_ssa_name_fn): New function.
Richard Guenther [Tue, 7 Aug 2012 14:17:44 +0000 (14:17 +0000)]
tree-flow.h (copy_ssa_name_fn): New function.

2012-08-07  Richard Guenther  <rguenther@suse.de>

* tree-flow.h (copy_ssa_name_fn): New function.
(duplicate_ssa_name_fn): Likewise.
* tree-flow-inline.h (copy_ssa_name): New function.
(duplicate_ssa_name): Likewise.
* tree-ssanames.c (copy_ssa_name_fn): New function.
(duplicate_ssa_name): Rename to ...
(duplicate_ssa_name_fn): ... this and adjust.
* tree-tailcall.c (update_accumulator_with_ops): Use copy_ssa_name.
* tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Likewise.
(slpeel_update_phi_nodes_for_guard2): Likewise.
(slpeel_tree_peel_loop_to_edge): Likewise.
(vect_loop_versioning): Likewise.
* tree-parloops.c (transform_to_exit_first_loop): Likewise.
(create_parallel_loop): Likewise.
* ipa-split.c (split_function): Likewise.
* tree-vect-loop.c (vect_is_simple_reduction_1): Likewise.
(vect_create_epilog_for_reduction): Likewise.
* tree-vect-data-refs.c (bump_vector_ptr): Likewise.
(vect_setup_realignment): Likewise.
* tree-vect-stmts.c (vectorizable_load): Likewise.
* tree-switch-conversion.c (build_one_array): Likewise.
(gen_def_assigns): Likewise.
* tree-cfg.c (gimple_make_forwarder_block): Likewise.
* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Call
create_zero_dim_array with the SSA name.
(rewrite_phi_out_of_ssa): Likewise.
(rewrite_cross_bb_scalar_dependence): Likewise.  Use copy_ssa_name.

From-SVN: r190202

12 years agotree-dfa.c (set_ssa_default_def): Clear the SSA_NAME_DEFAULT_DEF bit of the old name...
Richard Guenther [Tue, 7 Aug 2012 14:16:11 +0000 (14:16 +0000)]
tree-dfa.c (set_ssa_default_def): Clear the SSA_NAME_DEFAULT_DEF bit of the old name when we clear the slot.

2012-08-07  Richard Guenther  <rguenther@suse.de>

* tree-dfa.c (set_ssa_default_def): Clear the SSA_NAME_DEFAULT_DEF
bit of the old name when we clear the slot.
* tree-ssa-live.c (remove_unused_locals): Release any default
def associated with an unused var.
* tree-ssa-copy.c (may_propagate_copy_into_asm): Always return true.

From-SVN: r190201

12 years agotree-into-ssa.c (rewrite_stmt): Remove clobbers for variables we rewrite into SSA...
Richard Guenther [Tue, 7 Aug 2012 12:11:43 +0000 (12:11 +0000)]
tree-into-ssa.c (rewrite_stmt): Remove clobbers for variables we rewrite into SSA form.

2012-08-07  Richard Guenther  <rguenther@suse.de>

* tree-into-ssa.c (rewrite_stmt): Remove clobbers for variables
we rewrite into SSA form.
(rewrite_enter_block): Adjust.
* gimple-iterator.c (gsi_replace): Also allow replacement with
a stmt without a lhs.
* tree-ssa-live.c (remove_unused_locals): Remove code handling
clobbers of SSA names.
* tree-nested.c (convert_local_reference_stmt): Remove clobbers
for variables we access through the local chain.
* tree-cfg.c (verify_gimple_assign_single): Verify clobbers
clobber full decls only.

From-SVN: r190200

12 years agogimple.h (gimple_phi_set_result): Adjust SSA_NAME_DEF_STMT.
Richard Guenther [Tue, 7 Aug 2012 10:36:01 +0000 (10:36 +0000)]
gimple.h (gimple_phi_set_result): Adjust SSA_NAME_DEF_STMT.

2012-08-07  Richard Guenther  <rguenther@suse.de>

* gimple.h (gimple_phi_set_result): Adjust SSA_NAME_DEF_STMT.
* tree-phinodes.c (make_phi_node): Allow a NULL var.
* tree-into-ssa.c (insert_phi_nodes_for): Simplify.
* tree-complex.c (update_phi_components): Likewise.
* tree-ssa-loop-manip.c (create_iv): Likewise.
(add_exit_phis_edge): Likewise.
(split_loop_exit_edge): Likewise.
(tree_transform_and_unroll_loop): Likewise.
* value-prof.c (gimple_ic): Likewise.
(gimple_stringop_fixed_value): Likewise.
* tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
* omp-low.c (expand_parallel_call): Likewise.
(expand_omp_for_static_chunk): Likewise.
(expand_omp_atomic_pipeline): Likewise.
* tree-parloops.c (create_phi_for_local_result): Likewise.
(transform_to_exit_first_loop): Likewise.
* tree-vect-data-refs.c (vect_setup_realignment): Likewise.
* graphite-scop-detection.c (canonicalize_loop_closed_ssa): Likewise.
* tree-predcom.c (initialize_root_vars): Likewise.
(initialize_root_vars_lm): Likewise.
* sese.c (sese_add_exit_phis_edge): Likewise.
* gimple-streamer-in.c (input_phi): Likewise.
* tree-inline.c (copy_phis_for_bb): Likewise.
* tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
* tree-cfg.c (gimple_make_forwarder_block): Likewise.
(gimple_duplicate_bb): Likewise.

From-SVN: r190199

12 years agomn10300.c (mn10300_expand_prologue): Report stack usage if requested.
Nick Clifton [Tue, 7 Aug 2012 10:27:37 +0000 (10:27 +0000)]
mn10300.c (mn10300_expand_prologue): Report stack usage if requested.

* config/mn10300/mn10300.c (mn10300_expand_prologue): Report
stack usage if requested.

From-SVN: r190198

12 years agoruntime: support NumCPU() on more platforms Added support for Solaris, Irix, *BSD...
Ian Lance Taylor [Tue, 7 Aug 2012 04:42:49 +0000 (04:42 +0000)]
runtime: support NumCPU() on more platforms Added support for Solaris, Irix, *BSD (including Darwin).

runtime: support NumCPU() on more platforms
        Added support for Solaris, Irix, *BSD (including Darwin).
        Still missing support for RTEMS.
        Fixes issue 3698 in Go issue tracker.

From-SVN: r190197

12 years agoDaily bump.
GCC Administrator [Tue, 7 Aug 2012 00:17:32 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r190194

12 years agocgraphunit.c (assemble_thunk): Add source line info.
Cary Coutant [Mon, 6 Aug 2012 22:49:05 +0000 (22:49 +0000)]
cgraphunit.c (assemble_thunk): Add source line info.

2012-08-06  Cary Coutant  <ccoutant@google.com>

gcc/
* cgraphunit.c (assemble_thunk): Add source line info.
* final.c (final): Check for non-null cfg pointer.

gcc/testsuite/
* g++.dg/debug/dwarf2/non-virtual-thunk.C: New test case.

From-SVN: r190190

12 years ago24k.md (r24k_unknown_store): Delete special handling for cprestore.
Sandra Loosemore [Mon, 6 Aug 2012 21:28:34 +0000 (17:28 -0400)]
24k.md (r24k_unknown_store): Delete special handling for cprestore.

2012-08-06  Sandra Loosemore  <sandra@codesourcery.com>
    Maxim Kuvyrkov  <maxim@codesourcery.com>
    Julian Brown  <julian@codesourcery.com>

gcc/
* config/mips/24k.md (r24k_unknown_store): Delete special handling
for cprestore.
(r24k_int_load, r24k_int_arith, r24k_int_mul3, r24k_int_mfhilo)
(r24k_int_cop, r24k_int_multi)
(r24kf2_1_fcvt_f2i, r24kf2_1_fxfer)
(r24kf1_1_fcvt_f2i, r24kf1_1_fxfer): Use mips_store_data_bypass_p
instead of store_data_bypass_p.
* config/mips/74k.md (r74k_int_store): Delete special handling for
cprestore.
(r74k_int_load, r74k_int_logical, r74k_int_arith, r74k_int_cmove):
Use mips_store_data_bypass_p instead of store_data_bypass_p.

Co-Authored-By: Julian Brown <julian@codesourcery.com>
Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>
From-SVN: r190189

12 years agore PR fortran/35831 ([F95] Shape mismatch check missing for dummy procedure argument)
Janus Weil [Mon, 6 Aug 2012 20:36:16 +0000 (22:36 +0200)]
re PR fortran/35831 ([F95] Shape mismatch check missing for dummy procedure argument)

2012-08-06  Janus Weil  <janus@gcc.gnu.org>

PR fortran/35831
* interface.c (check_result_characteristics): New function, which checks
the characteristics of function results.
(gfc_compare_interfaces,gfc_check_typebound_override): Call it.

2012-08-06  Janus Weil  <janus@gcc.gnu.org>

PR fortran/35831
* gfortran.dg/dummy_procedure_5.f90: Modified.
* gfortran.dg/dummy_procedure_8.f90: New.
* gfortran.dg/interface_26.f90: Modified.
* gfortran.dg/proc_ptr_11.f90: Modified.
* gfortran.dg/proc_ptr_15.f90: Modified.
* gfortran.dg/proc_ptr_result_5.f90: Modified.
* gfortran.dg/typebound_override_1.f90: Modified.
* gfortran.dg/typebound_proc_6.f03: Modified.

From-SVN: r190187

12 years ago[multiple changes]
Paolo Carlini [Mon, 6 Aug 2012 18:06:42 +0000 (18:06 +0000)]
[multiple changes]

2012-08-06  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/decimal/mixed-mode-cmp_neg.cc: Add test variable; minor
tweaks.
* testsuite/decimal/unary-arith.cc: Likewise.
* testsuite/decimal/ctor.cc: Likewise.
* testsuite/decimal/conversion-to-integral.cc: Likewise.
* testsuite/decimal/make-decimal.cc: Likewise.
* testsuite/decimal/comparison.cc: Likewise.
* testsuite/decimal/incdec-memfunc.cc: Likewise.
* testsuite/decimal/conversion-to-generic-float.cc: Likewise.
* testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
* testsuite/decimal/cast_neg.cc: Likewise.
* testsuite/decimal/incdec.cc: Likewise.
* testsuite/decimal/mixed-mode-arith_neg.cc: Likewise.
* testsuite/decimal/binary-arith.cc: Likewise.
* testsuite/decimal/conversion-from-float.cc: Likewise.
* testsuite/decimal/conversion-from-integral.cc: Likewise.
* testsuite/decimal/compound-assignment.cc: Likewise.

2012-08-06  Peter Bergner  <bergner@vnet.ibm.com>

PR libstdc++/54036
* include/decimal/decimal.h (_DEFINE_DECIMAL_UNARY_OP): Use _Op as
a unary operator.
* testsuite/decimal/pr54036-1.cc: New test.
* testsuite/decimal/pr54036-2.cc: Likewise.
* testsuite/decimal/pr54036-3.cc: Likewise.

From-SVN: r190186

12 years agore PR tree-optimization/51938 (missed optimization: 2 comparisons)
Marc Glisse [Mon, 6 Aug 2012 16:38:48 +0000 (18:38 +0200)]
re PR tree-optimization/51938 (missed optimization: 2 comparisons)

2012-08-06 Marc Glisse <marc.glisse@inria.fr>

gcc/
PR tree-optimization/51938
PR tree-optimization/52005
* tree-ssa-ifcombine.c (ifcombine_ifandif): New parameters for
inverted conditions.
(ifcombine_iforif): Remove, merge code into ifcombine_ifandif.
(tree_ssa_ifcombine_bb): Update calls to the above. Detect !a&&b
and !a||b patterns.

gcc/testsuite/
PR tree-optimization/51938
PR tree-optimization/52005
* gcc.dg/tree-ssa/ssa-ifcombine-8.c: New testcase.
* gcc.dg/tree-ssa/ssa-ifcombine-9.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-10.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-11.c: Likewise.

From-SVN: r190184

12 years agoAvoid crashing on erroneous static_assert usage
Dodji Seketeli [Mon, 6 Aug 2012 16:19:09 +0000 (16:19 +0000)]
Avoid crashing on erroneous static_assert usage

When working on something else, I noticed that failing to provide the
second argument to the static_assert operator would lead to an ICE.

Fixed thus, and tested against trunk on x86_64-unknown-linux-gnu.

gcc/cp/

* semantics.c (finish_static_assert): Don't crash on erroneous
message or condition.

gcc/testsuite/

* g++.dg/cpp0x/static_assert8.C: New test.

From-SVN: r190182

12 years agotree-emutls.c (new_emutls_decl): When a var_section is requested by the target...
Olivier Hainque [Mon, 6 Aug 2012 15:15:37 +0000 (15:15 +0000)]
tree-emutls.c (new_emutls_decl): When a var_section is requested by the target...

        * tree-emutls.c (new_emutls_decl): When a var_section is requested by
        the target, attach the new decl to that, not to the template section.

From-SVN: r190179

12 years agosfinae38.C: New.
Jason Merrill [Mon, 6 Aug 2012 10:25:22 +0000 (06:25 -0400)]
sfinae38.C: New.

2012-08-06  Jason Merrill  <jason@redhat.com>

* g++.dg/cpp0x/sfinae38.C: New.

From-SVN: r190176

12 years agore PR c++/54165 (Cast to "void" should not implicitly call conversion functions)
Marc Glisse [Mon, 6 Aug 2012 09:49:39 +0000 (11:49 +0200)]
re PR c++/54165 (Cast to "void" should not implicitly call conversion functions)

/cp
2012-08-06  Marc Glisse  <marc.glisse@inria.fr>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54165
* typeck.c (build_static_cast_1): Move the conversion to void case
before the perform_direct_initialization_if_possible call.

/testsuite
2012-08-06  Marc Glisse  <marc.glisse@inria.fr>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54165
* g++.dg/conversion/void2.C: New.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r190175

12 years agoMakefile.in: Add support for 32-bit VxWorks for SPARC in kernel mode.
Jose Ruiz [Mon, 6 Aug 2012 08:49:45 +0000 (08:49 +0000)]
Makefile.in: Add support for 32-bit VxWorks for SPARC in kernel mode.

2012-08-06  Jose Ruiz  <ruiz@adacore.com>

* gcc-interface/Makefile.in: Add support for 32-bit VxWorks for SPARC
in kernel mode.

From-SVN: r190173

12 years ago[multiple changes]
Arnaud Charlet [Mon, 6 Aug 2012 08:48:19 +0000 (10:48 +0200)]
[multiple changes]

2012-08-06  Arnaud Charlet  <charlet@adacore.com>

* prj-attr.adb (Register_New_Package): Add missing blank.

2012-08-06  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Is_Two_Dim_Packed_Array): New predicate,
used when computing maximum size allowable to construct static
aggregate.

2012-08-06  Vincent Pucci  <pucci@adacore.com>

* freeze.adb (Freeze_Entity): Inherit_Aspects_At_Freeze_Point
calls added for derived types and subtypes.
* sem_aux.adb, sem_aux.ads (Get_Rep_Item, Get_Rep_Pragma,
Has_Rep_Pragma): New routines.
* sem_ch13.ads (Inherit_Aspects_At_Freeze_Point): New routine.
* sem_ch13.adb (Analyze_Aspect_Specifications): Error message
for aspect Lock_Free fixed.
(Inherits_Aspects_At_Freeze_Point): New routine.
* sem_ch3.adb: Several flag settings removed since inheritance
of aspects must be performed at freeze point.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* s-oscons-tmplt.c: Fix s-oscons.ads formatting on VxWorks.

2012-08-06  Vincent Pucci  <pucci@adacore.com>

* sem_dim.adb (Analyze_Dimension_Binary_Op): Issue an error message
for unknown exponent at compile-time.

2012-08-06  Gary Dismukes  <dismukes@adacore.com>

* sem_eval.ads (Compile_Time_Known_Value_Or_Aggr): Enhance
comment to make it clear that the aggregate's evaluation might
still involve run-time checks even though the aggregate is
considered known at compile time.
* sinfo.ads (Compile_Time_Known_Aggregate): Correct comment to
refer to Exp_Aggr instead of Sem_Aggr.

From-SVN: r190172

12 years ago[multiple changes]
Arnaud Charlet [Mon, 6 Aug 2012 08:41:41 +0000 (10:41 +0200)]
[multiple changes]

2012-08-06  Robert Dewar  <dewar@adacore.com>

* xoscons.adb: Minor code reorganization (remove unused variable
E at line 331).
* g-sercom.ads, exp_attr.adb: Minor reformatting.
* sinfo.adb, sinfo.ads: Minor cleanup, remove unused flag
Static_Processing_OK.

2012-08-06  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Build_Derived_Concurrent_Type): Copy discriminant
constraint when building a constrained subtype, to prevent
undesirable tree sharing betweeb geberated subtype and derived
type definition.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* g-sercom-mingw.adb, s-oscons-tmplt.c: Add missing constants
on Windows.

2012-08-06  Sergey Rybin  <rybin@adacore.com frybin>

* tree_io.ads: Update ASIS_Version_Number because of the tree fix
for discriminant constraints for concurrent types.

From-SVN: r190171

12 years ago[multiple changes]
Arnaud Charlet [Mon, 6 Aug 2012 08:35:47 +0000 (10:35 +0200)]
[multiple changes]

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* sem_ch4.adb: Minor reformatting.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* s-oscons-tmplt.c, xoscons.adb: Per the Single UNIX Specification,
types cc_t, speed_t, and tcflag_t defined in <termios.h> all are
unsigned types. Add required special handling to have their correct
unsigned values in s-oscons.ads.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* par-ch13.adb: Minor reformatting.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb
(Set): Add Local and Flow_Control settings.

2012-08-06  Ed Schonberg  <schonberg@adacore.com>

* exp_attr.adb: Suppress saving of 'Old if assertions are not
enabled.

From-SVN: r190170

12 years agovrp78.c: New test.
Tom de Vries [Mon, 6 Aug 2012 08:32:27 +0000 (08:32 +0000)]
vrp78.c: New test.

2012-08-06  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/tree-ssa/vrp78.c: New test.

From-SVN: r190169

12 years agotree-switch-conversion.c (emit_case_bit_tests): Generate MINUS_EXPR in unsigned type.
Tom de Vries [Mon, 6 Aug 2012 08:32:20 +0000 (08:32 +0000)]
tree-switch-conversion.c (emit_case_bit_tests): Generate MINUS_EXPR in unsigned type.

2012-08-06  Tom de Vries  <tom@codesourcery.com>

* tree-switch-conversion.c (emit_case_bit_tests): Generate MINUS_EXPR in
unsigned type.

From-SVN: r190168

12 years ago[multiple changes]
Arnaud Charlet [Mon, 6 Aug 2012 08:32:05 +0000 (10:32 +0200)]
[multiple changes]

2012-08-06  Yannick Moy  <moy@adacore.com>

* sem_ch4.adb (Analyze_Selected_Component): Issue an error in
Alfa mode for component not present.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* exp_ch7.adb (Insert_Actions_In_Scope_Around): Do not
use a renaming of Scope_Stack.Table (Scope_Stack.Last), as
Process_Transient_Object may introduce new scopes and cause
Scope_Stack.Table to be reallocated.

From-SVN: r190167

12 years ago[multiple changes]
Arnaud Charlet [Mon, 6 Aug 2012 08:26:27 +0000 (10:26 +0200)]
[multiple changes]

2012-08-06  Robert Dewar  <dewar@adacore.com>

* exp_util.adb, switch-c.adb, inline.ads, sem_ch10.adb, types.ads,
checks.adb, sem_prag.adb, sem.adb, sem.ads, sem_res.adb, sem_attr.adb,
gnat1drv.adb, exp_ch4.adb, exp_ch6.adb, opt.ads, osint.adb: Implement
extended overflow checks (step 1).
(Overflow_Check_Type, Suppress_Record, Suppress_All): New types.
(Suppress_Array): Extended to include switches to control extended
overflow checking (and renamed to Suppress_Record).
Update all uses of Suppress_Array.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* makeutl.ads: Minor documentation fix.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* exp_ch7.adb: Minor reformatting.

From-SVN: r190166

12 years ago[multiple changes]
Arnaud Charlet [Mon, 6 Aug 2012 08:17:25 +0000 (10:17 +0200)]
[multiple changes]

2012-08-06  Geert Bosch  <bosch@adacore.com>

* a-ngelfu.adb: Change obsolete comment that this is a non-strict
implementation.

2012-08-06  Steve Baird  <baird@adacore.com>

* exp_ch7.adb (Build_Finalizer.Process_Object_Declaration): If
CodePeer_Mode = True then omit exception handlers for finalization calls

2012-08-06  Robert Dewar  <dewar@adacore.com>

* exp_aggr.adb: Minor reformatting.

From-SVN: r190165

12 years ago[multiple changes]
Arnaud Charlet [Mon, 6 Aug 2012 08:12:36 +0000 (10:12 +0200)]
[multiple changes]

2012-08-06  Robert Dewar  <dewar@adacore.com>

* sem_ch6.adb: Remove useless flag Body_Deleted.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* sinfo.ads (End_Span): Change default from No_Uint to Uint_0,
as this is what all usage occurrences of this attribute are
expecting.
* uintp.adb (UI_To_Int): Add assertion to guard against calling
with No_Uint.

From-SVN: r190164

12 years agore PR ada/54125 (s-atopri.adb:40:10: "Support_Atomic_Primitives" is undefined broke...
Vincent Pucci [Mon, 6 Aug 2012 08:12:10 +0000 (10:12 +0200)]
re PR ada/54125 (s-atopri.adb:40:10: "Support_Atomic_Primitives" is undefined broke Ada on multiple platforms)

2012-08-06  Vincent Pucci  <pucci@adacore.com>

PR ada/54125
* exp_attr.adb (Expand_N_Attribute_Reference): Expand new
Atomic_Always_Lock_Free attribute.
* sem_attr.adb (Analyze_Attribute): Analyze new
Atomic_Always_Lock_Free attribute.
(Eval_Attribute): Nothing to do with new Atomic_Always_Lock_Free
attribute.
* sem_ch9.adb (Allows_Lock_Free_Implementation):
Support_Atomic_Primitives check replaces previous erroneous
size check.
* sem_util.adb, sem_util.ads (Support_Atomic_Primitives):
New routine.
* snames.ads-tmpl: New name Name_Atomic_Always_Lock_Free and
new attribute Attribute_Atomic_Always_Lock_Free defined.
* s-atopri.adb: Support_Atomic_Primitives checks replaced by
Atomic_Always_Lock_Free queries.
* system-aix64.ads, system-aix.ads, system-darwin-ppc.ads,
system-hpux.ads, system-linux-alpha.ads, system-linux-hppa.ads,
system-linux-ppc.ads, system-linux-s390.ads,
system-linux-s390x.ads, system-linux-sh4.ads,
system-linux-sparc.ads, system-lynxos178-ppc.ads,
system-lynxos-ppc.ads, system-mingw.ads,
system-vxworks-arm.ads, system-solaris-sparc.ads,
system-solaris-sparcv9.ads, system-vms_64.ads,
system-vxworks-m68k.ads, system-vxworks-mips.ads,
system-vxworks-ppc.ads, system-vxworks-sparcv9.ads: Flag
Support_Atomic_Primitives removed.

From-SVN: r190163

12 years ago[multiple changes]
Arnaud Charlet [Mon, 6 Aug 2012 08:02:35 +0000 (10:02 +0200)]
[multiple changes]

2012-08-06  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_mech.adb (Set_Mechanisms): OUT and IN OUT parameters are
now unconditionally passed by reference. IN parameters subject
to convention C_Pass_By_Copy are passed by copy, otherwise they
are passed by reference.

2012-08-06  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Analyze_Object_Declaration): According to
AI95-0303, protected objects with interrupt handlers can be
declared in nested scopes. This is a binding interpretation,
and thus applies to all versions of the compiler.

2012-08-06  Robert Dewar  <dewar@adacore.com>

* frontend.adb, exp_aggr.adb: Minor reformatting.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* par-endh.adb: Minor reformatting.

From-SVN: r190162

12 years ago[multiple changes]
Arnaud Charlet [Mon, 6 Aug 2012 07:58:49 +0000 (09:58 +0200)]
[multiple changes]

2012-08-06  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch7.adb (Process_Transient_Objects): Remove obsolete loop
processing related to array initialization. The expansion of
loops already contains a mechanism to detect controlled objects
generated by expansion and introduce a block around the loop
statements for finalization purposes.

2012-08-06  Vincent Pucci  <pucci@adacore.com>

* sem_ch13.adb: Current scope must be within
or same as the scope of the entity while analysing aspect
specifications at freeze point.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* par_sco.adb: Add note about dubious SCO for TERMINATE
alternative.
* sem_ch8.adb, exp_ch11.adb: Minor reformatting.

2012-08-06  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Two_Dim_Packed_Array_Handled): New procedure to
transform an aggregate for a packed two-dimensional array into
a one-dimensional array of constant values, in order to avoid
the generation of component-by-component assignments.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* frontend.adb: Do not attempt to process deferred configuration
pragmas if the main unit failed to load, to avoid cascaded
inconsistencies that can lead to a compiler crash.

From-SVN: r190161

12 years ago[multiple changes]
Arnaud Charlet [Mon, 6 Aug 2012 07:54:34 +0000 (09:54 +0200)]
[multiple changes]

2012-08-06  Vincent Pucci  <pucci@adacore.com>

* s-atopri.adb: Minor reformatting.

2012-08-06  Arnaud Charlet  <charlet@adacore.com>

* gnat-style.texi: Clarify that all subprograms should be
documented. Minor rewording.

From-SVN: r190160

12 years ago[multiple changes]
Arnaud Charlet [Mon, 6 Aug 2012 07:51:56 +0000 (09:51 +0200)]
[multiple changes]

2012-08-06  Robert Dewar  <dewar@adacore.com>

* aspects.ads: Define Aspect_Id_Exclude_No_Aspect.
* par-ch13.adb, restrict.adb: Use Aspect_Id_Exclude_No_Aspect to
simplify code.

2012-08-06  Yannick Moy  <moy@adacore.com>

* gnat-style.texi: Update style guide for declarations.

2012-08-06  Yannick Moy  <moy@adacore.com>

* sem_attr.adb (Analyze_Attribute): In the case for 'Old,
skip a special expansion which is not needed in Alfa mode.

2012-08-06  Yannick Moy  <moy@adacore.com>

* sem_ch5.adb (Analyze_Iterator_Specification): Do not perform
an expansion of the iterator in Alfa mode.

From-SVN: r190159

12 years ago[multiple changes]
Arnaud Charlet [Mon, 6 Aug 2012 07:46:43 +0000 (09:46 +0200)]
[multiple changes]

2012-08-06  Robert Dewar  <dewar@adacore.com>

* s-oscons-tmplt.c, sem_ch9.adb, osint.adb: Minor reformatting.

2012-08-06  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Remove obsolete
Alfa-specific guard. The code is a leftover from an early
implementation of iterators which is no longer in use.

2012-08-06  Vincent Celier  <celier@adacore.com>

* par-ch13.adb (Get_Aspect_Specifications): Do not consider
No_Aspect when checking for a mispelled aspect.

From-SVN: r190158

12 years ago[multiple changes]
Arnaud Charlet [Mon, 6 Aug 2012 07:43:45 +0000 (09:43 +0200)]
[multiple changes]

2012-08-06  Robert Dewar  <dewar@adacore.com>

* s-htable.adb: Minor reformatting.

2012-08-06  Thomas Quinot  <quinot@adacore.com>

* s-oscons-tmplt.c, g-socket.adb (System.OS_Constants.Target_OS):
Suppress warnings so that we don't have to do it at each usage.

From-SVN: r190157

12 years ago[multiple changes]
Arnaud Charlet [Mon, 6 Aug 2012 07:33:43 +0000 (09:33 +0200)]
[multiple changes]

2012-08-06  Vincent Pucci  <pucci@adacore.com>

* exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
Use of Known_Static_Esize instead of  Known_Esize and
Known_Static_RM_Size instead of Known_RM_Size in order to
properly call UI_To_Int. Don't check the size of the component
type in case of generic.
* sem_ch9.adb (Allows_Lock_Free_Implementation):
Use of Known_Static_Esize instead of Known_Esize and
Known_Static_RM_Size instead of Known_RM_Size in order to properly
call UI_To_Int. Don't check the size of the component type in
case of generic.

2012-08-06  Hristian Kirtchev  <kirtchev@adacore.com>

* checks.adb (Discrete_Range_Cond): Do not try to optimize on
the assumption that the type of an expression can always fit in
the target type of a conversion.

From-SVN: r190156

12 years agoDaily bump.
GCC Administrator [Mon, 6 Aug 2012 00:17:34 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r190154

12 years agoDocument AMD btver2
Venkataramanan Kumar [Sun, 5 Aug 2012 12:29:52 +0000 (12:29 +0000)]
Document AMD btver2

From-SVN: r190151

12 years agomips.c (mips_option_override): Check -fpic for compatibility with -mabicalls and...
Sandra Loosemore [Sun, 5 Aug 2012 00:35:05 +0000 (20:35 -0400)]
mips.c (mips_option_override): Check -fpic for compatibility with -mabicalls and ABI.

2012-08-04  Sandra Loosemore  <sandra@codesourcery.com>
    Richard Sandiford  <rdsandiford@googlemail.com>

gcc/
* config/mips/mips.c (mips_option_override): Check -fpic
for compatibility with -mabicalls and ABI.

gcc/testsuite/
* g++.dg/opt/enum2.C: Require fpic target.
* g++.dg/lto/20090303_0.C: Likewise.

Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>
From-SVN: r190150

12 years agoDaily bump.
GCC Administrator [Sun, 5 Aug 2012 00:18:19 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r190149

12 years agoxlr.md (ir_xlr_alu_clz): New insn_reservation.
Catherine Moore [Sat, 4 Aug 2012 22:16:57 +0000 (18:16 -0400)]
xlr.md (ir_xlr_alu_clz): New insn_reservation.

2012-08-04  Catherine Moore  <clm@codesourcery.com>
    Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/mips/xlr.md (ir_xlr_alu_clz): New insn_reservation.
(ir_xlr_alu): Remove clz.
* config/mips/mips-cpus.def (xlr): Set PTF_AVOID_BRANCHLIKELY.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r190146

12 years agoclear-cache-1.c: Test for alternate cache flush function names too.
Sandra Loosemore [Sat, 4 Aug 2012 22:05:55 +0000 (18:05 -0400)]
clear-cache-1.c: Test for alternate cache flush function names too.

2012-08-04  Sandra Loosemore  <sandra@codesourcery.com>
    Catherine Moore  <clm@codesourcery.com>

gcc/testsuite/
* gcc.target/mips/clear-cache-1.c: Test for alternate cache
flush function names too.
* gcc.target/mips/clear-cache-1.c: Likewise.

Co-Authored-By: Catherine Moore <clm@codesourcery.com>
From-SVN: r190145

12 years agoFix PR 54033, problems with -I, with test cases
Thomas Koenig [Sat, 4 Aug 2012 18:26:56 +0000 (11:26 -0700)]
Fix PR 54033, problems with -I, with test cases

 PR fortran/54033
 * scanner.c (add_path_to_list):  New argument warn.  Don't
 warn if it is true.
 (gfc_add_include_path):  Warn if directory is missing.
 (gfc_add_intrinsic_modules_path):  Do not warn if directory
 is missing.
 * optinons.c (gfc_handle_option):  Do not add directory
 for intrinsic modules to normal include path.

From-SVN: r190144

12 years agoarm.c (arm_gen_constant): Use SImode when preparing operands for gen_extzv_t2.
Richard Earnshaw [Sat, 4 Aug 2012 14:02:56 +0000 (14:02 +0000)]
arm.c (arm_gen_constant): Use SImode when preparing operands for gen_extzv_t2.

* arm.c (arm_gen_constant): Use SImode when preparing operands for
gen_extzv_t2.

From-SVN: r190143

12 years agorevert: stl_map.h (operator[](key_type&&)): Replace std::make_pair with value_type.
Paolo Carlini [Sat, 4 Aug 2012 11:44:28 +0000 (11:44 +0000)]
revert: stl_map.h (operator[](key_type&&)): Replace std::make_pair with value_type.

2012-08-04  Paolo Carlini  <paolo.carlini@oracle.com>

Revert:
2012-08-03  Ollie Wild  <aaw@google.com>
    Richard Smith  <richardsmith@google.com>

* include/bits/stl_map.h (operator[](key_type&&)): Replace
std::make_pair with value_type.
* testsuite/23_containers/map/operators/2.cc: New test.

From-SVN: r190142

12 years agoi386.h (QI_REGNO_P): New define.
Uros Bizjak [Sat, 4 Aug 2012 08:37:50 +0000 (10:37 +0200)]
i386.h (QI_REGNO_P): New define.

* config/i386/i386.h (QI_REGNO_P): New define.
(ANY_QI_REGNO_P): Ditto.
(GENERAL_REGNO_P): Use IN_RANGE macro.
(QI_REG_P): Use QI_REGNO_P.
(ANY_QI_REG_P): Use GENERAL_REGNO_P and QI_REGNO_P.
(HARD_REGNO_CALLER_SAVE_MODE): Use QI_REGNO_P.
* config/i386/i386.c (ix86_hard_regno_mode_ok): Ditto.
(x86_extended_QIreg_mentioned_p): Ditto.  Also check if
register is a general register.

From-SVN: r190141

12 years agoReplace top_srcdir with srcdir
H.J. Lu [Sat, 4 Aug 2012 05:33:27 +0000 (05:33 +0000)]
Replace top_srcdir with srcdir

PR driver/54171
* Makefile.in (version): Replace top_srcdir with srcdir.

From-SVN: r190140

12 years agoDaily bump.
GCC Administrator [Sat, 4 Aug 2012 00:18:21 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r190139

12 years ago* Makefile.in (version): set to BASE-VER file from gcc directory.
Jonathan Yong [Fri, 3 Aug 2012 23:42:20 +0000 (23:42 +0000)]
* Makefile.in (version): set to BASE-VER file from gcc directory.

From-SVN: r190136

12 years agofunctions.h (__check_partition_lower_aux): Remove redundant comparison with pivot...
François Dumont [Fri, 3 Aug 2012 19:34:49 +0000 (19:34 +0000)]
functions.h (__check_partition_lower_aux): Remove redundant comparison with pivot value.

2012-08-03  François Dumont  <fdumont@gcc.gnu.org>

* include/debug/functions.h (__check_partition_lower_aux): Remove
redundant comparison with pivot value.
(__check_partition_upper_aux): Likewise.

From-SVN: r190134

12 years agosync.md (*atomic_fetch_add_cmp<mode>): Use incdec_operand predicate to return INC...
Uros Bizjak [Fri, 3 Aug 2012 17:40:34 +0000 (19:40 +0200)]
sync.md (*atomic_fetch_add_cmp<mode>): Use incdec_operand predicate to return INC or DEC insn mnemonic.

* config/i386/sync.md (*atomic_fetch_add_cmp<mode>): Use
incdec_operand predicate to return INC or DEC insn mnemonic.
Add %K operand modifier.
(atomic_add<mode>): Use incdec_operand predicate to
return INC or DEC insn mnemonic.
(atomic_dec<mode>): Ditto.

From-SVN: r190132

12 years agore PR target/54156 (New fail on AVX target: gcc.dg/vect/pr53773.c. 190010 vs revision...
Bill Schmidt [Fri, 3 Aug 2012 16:12:22 +0000 (16:12 +0000)]
re PR target/54156 (New fail on AVX target: gcc.dg/vect/pr53773.c. 190010 vs revision 189996)

2012-08-03  Bill Schmidt  <wschmidt@linux.ibm.com>

PR target/54156
* testsuite/gcc.dg/vect/pr53773.c: Change to use optimized dump.

From-SVN: r190131

12 years agore PR fortran/54166 (ICE rank-1 assignment to rank-2 array section)
Mikael Morin [Fri, 3 Aug 2012 16:00:50 +0000 (16:00 +0000)]
re PR fortran/54166 (ICE rank-1 assignment to rank-2 array section)

fortran/
PR fortran/54166
* trans-array.c (set_loop_bounds): Access specinfo using spec_dim.

testsuite/
PR fortran/54166
* gfortran.dg/array_5.f90: New test.

From-SVN: r190130

12 years agostl_map.h (operator[](key_type&&)): Replace std::make_pair with value_type.
Ollie Wild [Fri, 3 Aug 2012 15:26:36 +0000 (15:26 +0000)]
stl_map.h (operator[](key_type&&)): Replace std::make_pair with value_type.

2012-08-03  Ollie Wild  <aaw@google.com>
    Richard Smith  <richardsmith@google.com>

* include/bits/stl_map.h (operator[](key_type&&)): Replace
std::make_pair with value_type.
* testsuite/23_containers/map/operators/2.cc: New test.

Co-Authored-By: Richard Smith <richardsmith@google.com>
From-SVN: r190128

12 years agore PR middle-end/54146 (Very slow compile with attribute((flatten)))
Michael Matz [Fri, 3 Aug 2012 14:43:09 +0000 (14:43 +0000)]
re PR middle-end/54146 (Very slow compile with attribute((flatten)))

PR tree-optimization/54146
* cfgexpand.c (add_scope_conflicts_1): Use bitmap_ior_into.
(add_scope_conflicts): Iterate in RPO order.
(add_stack_protection_conflicts): Iterate over the other triangle.
(fini_vars_expansion): Clear stack_vars_sorted.

From-SVN: r190126

12 years agore PR tree-optimization/30318 (VRP does not create ANTI_RANGEs on overflow)
Marc Glisse [Fri, 3 Aug 2012 12:21:14 +0000 (14:21 +0200)]
re PR tree-optimization/30318 (VRP does not create ANTI_RANGEs on overflow)

gcc/
2012-08-03 Marc Glisse <marc.glisse@inria.fr>

PR tree-optimization/30318
* double-int.c (mul_double_wide_with_sign): New function.
(mul_double_with_sign): Call the new function.
* double-int.h (mul_double_wide_with_sign): Declare the new function.
* tree-vrp.c (extract_range_from_binary_expr_1) [MULT_EXPR]:
Handle integer types that wrap on overflow.
(quad_int_cmp): New helper function.
(quad_int_pair_sort): Likewise.

gcc/testsuite/
2012-08-03 Marc Glisse <marc.glisse@inria.fr>

PR tree-optimization/30318
* gcc.dg/tree-ssa/vrp77.c: New testcase.

From-SVN: r190125

12 years agopt.c (tsubst_copy_and_build): Handle VECTOR_TYPE like scalars.
Marc Glisse [Fri, 3 Aug 2012 12:00:43 +0000 (14:00 +0200)]
pt.c (tsubst_copy_and_build): Handle VECTOR_TYPE like scalars.

gcc/cp/ChangeLog
2012-08-03  Marc Glisse  <marc.glisse@inria.fr>

* pt.c (tsubst_copy_and_build): Handle VECTOR_TYPE like scalars.
* cp-tree.h (scalarish_type_p): Declare.
* tree.c (scalarish_type_p): Make non-static.

gcc/testsuite/ChangeLog
2012-08-03  Marc Glisse  <marc.glisse@inria.fr>

* g++.dg/ext/vector17.C: New testcase.

From-SVN: r190123

12 years agotree-vect-loop-manip.c (vect_can_advance_ivs_p): Query is_gimple_reg on the SSA name...
Richard Guenther [Fri, 3 Aug 2012 08:55:43 +0000 (08:55 +0000)]
tree-vect-loop-manip.c (vect_can_advance_ivs_p): Query is_gimple_reg on the SSA name, not its variable.

2012-08-03  Richard Guenther  <rguenther@suse.de>

* tree-vect-loop-manip.c (vect_can_advance_ivs_p): Query
is_gimple_reg on the SSA name, not its variable.
(vect_update_ivs_after_vectorizer): Likewise.
* tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
* tree-if-conv.c (if_convertible_phi_p): Likewise.
(predicate_scalar_phi): Likewise.
* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Likewise.
(vect_analyze_scalar_cycles_1): Likewise.
* tree-ssa-live.c (register_ssa_partition_check): Likewise.
* tree-outof-ssa.c (eliminate_useless_phis): Likewise.
* tree-ssa-reassoc.c (phi_rank): Likewise.
* tree-parloops.c (separate_decls_in_region_name): Use
replace_ssa_name_symbol.
* tree-predcom.c (base_names_in_chain_on): Likewise.
* matrix-reorg.c (update_type_size): Query the type of the SSA name,
not its variable.
* gimple-ssa-strength-reduction.c (create_mul_ssa_cand): Likewise.
(create_mul_imm_cand): Likewise.
(create_add_ssa_cand): Likewise.
(create_add_imm_cand): Likewise.
(slsr_process_add): Likewise.
* tree-inline.c (remap_ssa_name): Do not set the type of the
new SSA_NAME.
* tree-ssa-structalias.c (get_constraint_for_ssa_var): Clarify
assert.  Check for default def first.

From-SVN: r190116

12 years agocfgrtl.c (print_rtl_with_bb): Do not print a newline between insns.
Steven Bosscher [Fri, 3 Aug 2012 08:00:24 +0000 (08:00 +0000)]
cfgrtl.c (print_rtl_with_bb): Do not print a newline between insns.

* cfgrtl.c (print_rtl_with_bb): Do not print a newline between insns.

From-SVN: r190114

12 years agosched-vis (print_pattern): Handle SEQUENCE also.
Steven Bosscher [Fri, 3 Aug 2012 07:58:49 +0000 (07:58 +0000)]
sched-vis (print_pattern): Handle SEQUENCE also.

* sched-vis (print_pattern): Handle SEQUENCE also.

From-SVN: r190113

12 years agoRevert "PR 34548"
Richard Henderson [Fri, 3 Aug 2012 03:28:36 +0000 (20:28 -0700)]
Revert "PR 34548"

This reverts commit 190051.

From-SVN: r190110

12 years agomemory: Include auto_ptr.h later.
Jonathan Wakely [Fri, 3 Aug 2012 00:27:48 +0000 (00:27 +0000)]
memory: Include auto_ptr.h later.

* include/std/memory: Include auto_ptr.h later.
* include/bits/shared_ptr.h (shared_ptr(auto_ptr<_Up>&&): Remove
definition.
* include/bits/shared_ptr_base.h (__shared_ptr(auto_ptr<_Up>&&):
Likewise.
* include/bits/unique_ptr.h (unique_ptr(auto_ptr<_Up>&&): Likewise.
* include/backward/auto_ptr.h (unique_ptr(auto_ptr<_Up>&&): Define.
(shared_ptr(auto_ptr<_Up>&&, __shared_ptr(auto_ptr<_Up>&&): Likewise.
* include/std/future: Reduce header dependencies.
* testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
numbers.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.

From-SVN: r190109

12 years agoDaily bump.
GCC Administrator [Fri, 3 Aug 2012 00:17:34 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r190108

12 years agocfgexpand.c (expand_debug_locations): Encapsulate test for CONST_DOUBLE in macro.
Kenneth Zadeck [Thu, 2 Aug 2012 22:39:57 +0000 (22:39 +0000)]
cfgexpand.c (expand_debug_locations): Encapsulate test for CONST_DOUBLE in macro.

2012-08-02  Kenneth Zadeck <zadeck@naturalbridge.com>

* cfgexpand.c (expand_debug_locations):  Encapsulate test for
CONST_DOUBLE in macro.
* combine.c (try_combine, gen_lowpart_for_combine): Ditto.
* cprop.c (implicit_set_cond_p): Ditto.
* cselib.c (rtx_equal_for_cselib_1): Ditto.
* expmed.c (expand_mult): Ditto.
* expr.c (convert_modes): Ditto.
* ira-costs.c (record_reg_classes): Ditto.
* ira-lives.c (single_reg_class): Ditto.
* optabs.c (expand_copysign_absneg, expand_copysign): Ditto.
* print-rtl.c (print_rtx): Ditto.
* recog.c (simplify_while_replacing, const_double_operand)
(asm_operand_ok, constrain_operands): Ditto.
* reg-stack.c (subst_stack_regs_pat): Ditto.
* reload.c (find_reloads, find_equiv_reg): Ditto.
* rtlanal.c (replace_rtx): Remove test.
* rtlanal.c (constant_pool_constant_p, split_double): Encapsulate test for
CONST_DOUBLE in macro.
* simplify-rtx.c (mode_signbit_p, avoid_constant_pool_reference)
(simplify_unary_operation_1, simplify_const_unary_operation)
(simplify_binary_operation_1, simplify_const_binary_operation)
(simplify_relational_operation_1)
(simplify_const_relational_operations)
(implify_subreg): Ditto.
* varasm.c (output_constant_pool_2): Ditto.
* rtl.h (CONST_DOUBLE_AS_INT_P, CONST_DOUBLE_AS_FLOAT_P): New
macros.
* rtl.def (CONST_DOUBLE):  Updated comments.

From-SVN: r190105

12 years agore PR target/51931 (No support for MIPS16 long branches)
Richard Sandiford [Thu, 2 Aug 2012 21:31:57 +0000 (21:31 +0000)]
re PR target/51931 (No support for MIPS16 long branches)

gcc/
PR target/51931
* config/mips/mips-protos.h (mips_strip_unspec_address): Declare.
* config/mips/mips.c (mips_strip_unspec_address): Make extern.
(mips16_rewrite_pool_constant): Make a copy of the pool constant
before adding to a PC-relative table.
(mips16_lay_out_constants): Add a SPLIT_P parameter.
(mips16_load_branch_target, mips16_split_long_branches): New functions.
(mips_reorg): Update call to mips16_lay_out_constants.
Call mips16_split_long_branches.
* config/mips/predicates.md (pc_or_label_operand): Delete.
* config/mips/mips.md (length): Add a calculation for MIPS16 branches.
Move the extended_mips16 handling further down.
(*branch_equality<mode>_mips16): Replace use pc_or_label_operand
with explicit label_ref and pc.  Follow the usual operand numbering.
(*branch_equality<mode>_mips16_inverted): New pattern.
(*jump_mips16): Add length attribute.
(indirect_jump_and_restore_<mode>): New pattern.
(consttable_int): Call mips_strip_unspec_address on the operand.

gcc/testsuite/
PR target/51931
* gcc.c-torture/compile/20001226-1.c: Remove nomips16 attribute.
* g++.dg/opt/longbranch1.C: Likewise.

From-SVN: r190104

12 years agorecog.c (split_insn): Copy the original SET_SRC before using it as a note.
Richard Sandiford [Thu, 2 Aug 2012 20:44:38 +0000 (20:44 +0000)]
recog.c (split_insn): Copy the original SET_SRC before using it as a note.

gcc/
* recog.c (split_insn): Copy the original SET_SRC before using
it as a note.

From-SVN: r190102

12 years agoreorg.c (dbr_schedule): Delete REG_BR_PRED loop.
Richard Sandiford [Thu, 2 Aug 2012 20:40:10 +0000 (20:40 +0000)]
reorg.c (dbr_schedule): Delete REG_BR_PRED loop.

gcc/
* reorg.c (dbr_schedule): Delete REG_BR_PRED loop.

From-SVN: r190101

12 years agore PR tree-optimization/53805 (combine_comparisons changes trapping behavior)
Marc Glisse [Thu, 2 Aug 2012 19:54:43 +0000 (21:54 +0200)]
re PR tree-optimization/53805 (combine_comparisons changes trapping behavior)

2012-08-02  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/53805
* gcc/fold-const.c (invert_tree_comparison): Invert ORDERED_EXPR and
UNORDERED_EXPR even for trapping floating point.
* gcc/testsuite/gcc.dg/fold-notunord.c: New testcase.

From-SVN: r190100

12 years agoAdd the bug number in the ChangeLog
Mikael Morin [Thu, 2 Aug 2012 19:50:14 +0000 (19:50 +0000)]
Add the bug number in the ChangeLog

From-SVN: r190099

12 years agore PR fortran/48820 (TR 29113: Implement parts needed for MPI 3)
Mikael Morin [Thu, 2 Aug 2012 19:48:50 +0000 (19:48 +0000)]
re PR fortran/48820 (TR 29113: Implement parts needed for MPI 3)

fortran/
PR fortran/48820
* trans-array.c (gfc_conv_ss_startstride): Set the intrinsic
result's lower and upper bounds according to the rank.
(set_loop_bounds): Set the loop upper bound in the intrinsic case.

testsuite/
PR fortran/48820
* gfortran.dg/assumed_rank_bounds_1.f90:  New test.
* gfortran.dg/assumed_rank_bounds_2.f90:  New test.

From-SVN: r190098

12 years agotrans-array.c (set_loop_bounds): Allow non-array-section to be chosen using the strid...
Mikael Morin [Thu, 2 Aug 2012 19:38:58 +0000 (19:38 +0000)]
trans-array.c (set_loop_bounds): Allow non-array-section to be chosen using the stride and lower bound criteria.

* trans-array.c (set_loop_bounds): Allow non-array-section to be
chosen using the stride and lower bound criteria.

From-SVN: r190097

12 years agotrans-array.c (set_loop_bounds): Remove useless dimension check.
Mikael Morin [Thu, 2 Aug 2012 19:37:00 +0000 (19:37 +0000)]
trans-array.c (set_loop_bounds): Remove useless dimension check.

* trans-array.c (set_loop_bounds): Remove useless dimension check.
Don't update loopspec if it would loose the wanted stride criterion.

From-SVN: r190096

12 years agotrans-array.h (gfc_conv_descriptor_rank): New prototype.
Mikael Morin [Thu, 2 Aug 2012 19:20:43 +0000 (19:20 +0000)]
trans-array.h (gfc_conv_descriptor_rank): New prototype.

* trans-array.h (gfc_conv_descriptor_rank): New prototype.
* trans-array.c (gfc_conv_descriptor_rank): New function moved and
renamed ...
* trans-intrinsic.c (get_rank_from_desc): ... from this one.
(gfc_conv_intrinsic_rank, gfc_conv_intrinsic_bound,
gfc_conv_associated): Also rename function calls.

From-SVN: r190095

12 years agoiresolve.c (resolve_bound, [...]): Don't set the shape for assumed rank arrays.
Mikael Morin [Thu, 2 Aug 2012 19:10:38 +0000 (19:10 +0000)]
iresolve.c (resolve_bound, [...]): Don't set the shape for assumed rank arrays.

* iresolve.c (resolve_bound, gfc_resolve_shape):
Don't set the shape for assumed rank arrays.
* simplify.c (gfc_simplify_shape): Don't try to simplify if the
argument is assumed rank.

From-SVN: r190094

12 years agoPR c++/51213 (again)
Jason Merrill [Thu, 2 Aug 2012 18:44:58 +0000 (14:44 -0400)]
PR c++/51213 (again)

/cp
2012-08-02  Jason Merrill  <jason@redhat.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51213 (again)
* pt.c (type_unification_real): Call push_deferring_access_checks /
pop_deferring_access_checks around the substitution of default
template args.
(instantiate_template_1): When the specialization returned by
retrieve_specialization has FNDECL_HAS_ACCESS_ERRORS set and we
are in a SFINAE context, simply return error_mark_node.
* cp-tree.h (FNDECL_RECHECK_ACCESS_P): Rename FNDECL_HAS_ACCESS_ERRORS.

/testsuite
2012-08-02  Jason Merrill  <jason@redhat.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51213 (again)
* g++.dg/cpp0x/sfinae37.C: Extend.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r190093

12 years agoarray.c (gfc_copy_array_ref): Don't copy the offset field.
Mikael Morin [Thu, 2 Aug 2012 18:30:02 +0000 (18:30 +0000)]
array.c (gfc_copy_array_ref): Don't copy the offset field.

* array.c (gfc_copy_array_ref): Don't copy the offset field.
* expr.c (find_array_section): Ignore the offset field.
* trans-expr.c (gfc_find_interface_mapping_to_ref): Don't apply
any interface mapping to the offset field.
* gfortran.h (struct gfc_array_ref): Remove the offset field.

From-SVN: r190092

12 years agoAdd free inline summary pass after pass_early_local_passes
H.J. Lu [Thu, 2 Aug 2012 16:58:33 +0000 (16:58 +0000)]
Add free inline summary pass after pass_early_local_passes

PR middle-end/53321
PR middle-end/53865
* ipa-inline-analysis.c (inline_free_summary): Return if
inline_edge_summary_vec is NULL.

* ipa-split.c (execute_split_functions): Check if a function
is inlinable only if inline_edge_summary_vec != NULL.

* ipa.c (symtab_remove_unreachable_nodes): Restore
cgraph_propagate_frequency call when something was changed.
(free_inline_summary): New function.
(pass_ipa_free_inline_summary): New pass.

* passes.c (init_optimization_passes): Add
pass_ipa_free_inline_summary before pass_ipa_tree_profile.

* timevar.def (TV_IPA_FREE_INLINE_SUMMARY): New.

* tree-pass.h (pass_ipa_free_inline_summary): New.

From-SVN: r190090

12 years agoarm.c (arm_gen_constant): Use UBFX for some AND operations when available.
Richard Earnshaw [Thu, 2 Aug 2012 16:20:22 +0000 (16:20 +0000)]
arm.c (arm_gen_constant): Use UBFX for some AND operations when available.

* arm.c (arm_gen_constant): Use UBFX for some AND operations when
available.

From-SVN: r190088

12 years agotree-into-ssa.c (struct common_info_d): New struct.
Richard Guenther [Thu, 2 Aug 2012 14:00:29 +0000 (14:00 +0000)]
tree-into-ssa.c (struct common_info_d): New struct.

2012-08-02  Richard Guenther  <rguenther@suse.de>

* tree-into-ssa.c (struct common_info_d): New struct.
(struct var_info_d, struct ssa_name_info): Use it.
(get_ssa_name_ann): Adjust.
(get_phi_state, set_phi_state): Remove.
(get_common_info): New function.
(get_current_def, set_current_def): Adjust.
(get_def_blocks_for): Take a common info as param.
(set_def_block): Call get_common_info once.
(set_livein_block): Likewise.
(find_def_blocks_for): Adjust.
(insert_phi_nodes): Likewise.
(register_new_def): Call get_common_info once.
(get_reaching_def): Likewise.
(rewrite_debug_stmt_uses): Likewise.
(rewrite_leave_block): Likewise.
(dump_currdefs): Likewise.
(debug_var_infos_r): Adjust.
(register_new_update_single): Call get_common_info once.
(maybe_replace_use_in_debug_stmt): Likewise.
(rewrite_update_leave_block): Likewise.
(mark_use_interesting): Adjust.
(create_new_def_for): Likewise.
(update_ssa): Likewise.

From-SVN: r190084

12 years agotree-ssa-live.c (set_is_used): Return a bool.
Michael Matz [Thu, 2 Aug 2012 12:24:52 +0000 (12:24 +0000)]
tree-ssa-live.c (set_is_used): Return a bool.

* tree-ssa-live.c (set_is_used): Return a bool.
(mark_all_vars_used): Don't take data argument.
(mark_all_vars_used_1): Adjust calls to above, merge handling
of local and global vars.
(remove_unused_scope_block_p): Don't take global_unused_vars,
merge handling of local and global vars.
(remove_unused_locals): Don't allocate/fill/pass global_unused_vars,
use is_used_p for local and global vars.

From-SVN: r190080

12 years agotree-flow.h (make_rename_temp): Remove.
Richard Guenther [Thu, 2 Aug 2012 11:41:35 +0000 (11:41 +0000)]
tree-flow.h (make_rename_temp): Remove.

2012-08-02  Richard Guenther  <rguenther@suse.de>

* tree-flow.h (make_rename_temp): Remove.
* tree-dfa.c (make_rename_temp): Likewise.
* cgraphunit.c (thunk_adjust, assemble_thunk): Use create_tmp_reg
instead of make_rename_temp.
* omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
expand_omp_atomic_pipeline): Likewise.
* trans-mem.c (tm_log_emit_save_or_restores, build_tm_load,
build_tm_store, expand_call_tm, expand_transaction,
ipa_tm_insert_gettmclone_call): Likewise.
* tree-complex.c (expand_complex_div_wide): Likewise.
* tree-mudflap.c (mf_decl_cache_locals, mf_build_check_statement_for):
Likewise.
* tree-ssa-loop-im.c (execute_sm_if_changed_flag_set, execute_sm):
Likewise.
* tree-ssa-math-opts.c (insert_reciprocals): Likewise.
* value-prof.c (gimple_divmod_fixed_value, gimple_mod_pow2,
gimple_mod_subtract): Likewise.

From-SVN: r190074