gcc.git
9 years agoShare memory blocks between pool allocators
Mikhail Maltsev [Wed, 16 Sep 2015 00:56:54 +0000 (00:56 +0000)]
Share memory blocks between pool allocators

gcc/
* Makefile.in: Add memory-block.cc
(pool_allocator::initialize): Use fixed block size.
(pool_allocator::release): Use memory_block_pool.
(pool_allocator::allocate): Likewise.
* asan.c (asan_mem_ref_pool): Adjust to use common block size in all
object pools.
* cfg.c (initialize_original_copy_tables): Likewise.
* cselib.c (elt_list_pool, elt_loc_list_pool,
cselib_val_pool): Likewise.
* df-problems.c (df_chain_alloc): Likewise.
* df-scan.c (df_scan_alloc): Likewise.
* dse.c (cse_store_info_pool, rtx_store_info_pool,
read_info_type_pool, insn_info_type_pool, bb_info_pool,
group_info_pool, deferred_change_pool): Likewise.
* et-forest.c (et_nodes, et_occurrences): Likewise.
* ipa-cp.c (ipcp_cst_values_pool, ipcp_sources_pool,
ipcp_agg_lattice_pool): Likewise.
* ipa-inline-analysis.c (edge_predicate_pool): Likewise.
* ipa-profile.c (histogram_pool): Likewise.
* ipa-prop.c (ipa_refdesc_pool): Likewise.
* ira-build.c (live_range_pool, allocno_pool, object_pool,
initiate_cost_vectors, pref_pool, copy_pool): Likewise.
* ira-color.c (update_cost_record_pool): Likewise.
* lra-lives.c (lra_live_range_pool): Likewise.
* lra.c (lra_insn_reg_pool, lra_copy_pool): Likewise.
* memory-block.cc: New file.
* memory-block.h: New file.
* regcprop.c (queued_debug_insn_change_pool): Use common block size.
* sched-deps.c (sched_deps_init): Likewise.
* sel-sched-ir.c (sched_lists_pool): Likewise.
* stmt.c (expand_case, expand_sjlj_dispatch_table): Likewise.
* tree-sra.c (access_pool): Likewise.
* tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
* tree-ssa-pre.c (pre_expr_pool, bitmap_set_pool): Likewise.
* tree-ssa-reassoc.c (operand_entry_pool): Likewise.
* tree-ssa-sccvn.c (allocate_vn_table): Likewise.
* tree-ssa-strlen.c (strinfo_pool): Likewise.
* tree-ssa-structalias.c (variable_info_pool): Likewise.
* var-tracking.c (attrs_def_pool, var_pool, valvar_pool,
location_chain_pool, shared_hash_pool, loc_exp_dep_pool): Likewise.

gcc/c-family/
* c-format.c (check_format_arg): Adjust to use common block size in all
object pools.

From-SVN: r227817

9 years agoDaily bump.
GCC Administrator [Wed, 16 Sep 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227816

9 years agocompiler: Report init dependency errors with builtin functions.
Ian Lance Taylor [Tue, 15 Sep 2015 23:12:03 +0000 (23:12 +0000)]
compiler: Report init dependency errors with builtin functions.

    Fixes golang/go#12319.

    Reviewed-on: https://go-review.googlesource.com/13931

From-SVN: r227813

9 years agolibgo: If compiler can split-stack and linker can not, use -fno-split-stack.
Ian Lance Taylor [Tue, 15 Sep 2015 21:15:37 +0000 (21:15 +0000)]
libgo: If compiler can split-stack and linker can not, use -fno-split-stack.

    If the compiler supports split-stack but we are using a gold linker that
    does not, as happens on PPC with current GCC but old gold, then we need
    to compile the Go code with -fno-split-stack to avoid a linker error
    avoid the inability to call from split-stack code to non-split-stack
    code.

    Reviewed-on: https://go-review.googlesource.com/14598

From-SVN: r227811

9 years agoxtensa: fix xtensa_fallback_frame_state for call0 ABI
Max Filippov [Tue, 15 Sep 2015 19:30:32 +0000 (19:30 +0000)]
xtensa: fix xtensa_fallback_frame_state for call0 ABI

2015-09-15  Max Filippov  <jcmvbkbc@gmail.com>
gcc/
* config/xtensa/xtensa.h (DWARF_ALT_FRAME_RETURN_COLUMN): New
definition.
(DWARF_FRAME_REGISTERS): Reserve space for one extra register in
call0 ABI.

libgcc/
* config/xtensa/linux-unwind.h (xtensa_fallback_frame_state):
Add support for call0 ABI.

From-SVN: r227809

9 years agoxtensa: fix TLS calls for call0 ABI
Max Filippov [Tue, 15 Sep 2015 19:24:26 +0000 (19:24 +0000)]
xtensa: fix TLS calls for call0 ABI

2015-09-15  Max Filippov  <jcmvbkbc@gmail.com>
gcc/
* config/xtensa/xtensa.c (xtensa_call_tls_desc): Use a10 or a2
to pass TLS call argument, according to current ABI.
* config/xtensa/xtensa.md (tls_call pattern): Use callx8 or
callx0 for TLS call, according to current ABI.

From-SVN: r227808

9 years agotree-eh.c (lower_try_finally_dup_block): Clear location information on stack restore...
Eric Botcazou [Tue, 15 Sep 2015 17:57:49 +0000 (17:57 +0000)]
tree-eh.c (lower_try_finally_dup_block): Clear location information on stack restore statements.

* tree-eh.c (lower_try_finally_dup_block): Clear location information
on stack restore statements.
(decide_copy_try_finally): Do not consider a stack restore statement as
coming from sources.

From-SVN: r227805

9 years agoalpha.c (alpha_expand_block_clear): Use HOST_WIDE_INT_M1U instead of ~(HOST_WIDE_INT...
Uros Bizjak [Tue, 15 Sep 2015 17:50:15 +0000 (19:50 +0200)]
alpha.c (alpha_expand_block_clear): Use HOST_WIDE_INT_M1U instead of ~(HOST_WIDE_INT)0 when shifting.

* config/alpha/alpha.c (alpha_expand_block_clear): Use
HOST_WIDE_INT_M1U instead of ~(HOST_WIDE_INT)0 when shifting.

From-SVN: r227804

9 years agore PR c/67580 (Improve error message on missing "struct" tag)
Marek Polacek [Tue, 15 Sep 2015 17:19:11 +0000 (17:19 +0000)]
re PR c/67580 (Improve error message on missing "struct" tag)

PR c/67580
* c-decl.c (tag_exists_p): New function.
* c-parser.c (c_parser_declaration_or_fndef): Give a hint when
struct/union/enum keywords are missing.
* c-tree.h (tag_exists_p): Declare.

* gcc.dg/pr67580.c: New test.

From-SVN: r227803

9 years agolibgo: test linking split-stack and non-split-stack together
Ian Lance Taylor [Tue, 15 Sep 2015 17:05:14 +0000 (17:05 +0000)]
libgo: test linking split-stack and non-split-stack together

    PPC has split-stack support in current GCC, but old version of gold will
    reject attempts to link PPC split-stack and non-split-stack code
    together.  Test for that, and don't compile the C code with
    -fsplit-stack if it doesn't work.

    Reviewed-on: https://go-review.googlesource.com/14594

From-SVN: r227802

9 years ago[PATCH] More class-ification of DOM
Jeff Law [Tue, 15 Sep 2015 17:03:49 +0000 (11:03 -0600)]
[PATCH] More class-ification of DOM

        PR tree-optimization/47679
* tree-ssa-dom.c (expr_hash_elt): Now a class with ctors/dtors,
methods and private members.
(avail_exprs_stack): Similarly.  Change type of global
from a pair of expr_hash_elt_t to the new class.
(expr_elt_hasher::hash): Corresponding changes.
(expr_elt_hasher::equal): Similarly.
(avail_expr_hash): Similarly.
(pass_dominator::execute): Similarly.
(dom_opt_dom_walker::thread_across_edge): Similarly.
(record_cond): Similarly.
(dom_opt_dom_walker::before_dom_children): Similarly.
(dom_opt_dom_walker::after_dom_children): Similarly.
(lookup_avail_expr): Likewise.
(initialize_hash_element): Now a expr_hash_elt constructor.
(initialize_hash_element_from_expr): Similarly.
(free_expr_hash_elt_contents): Now a dtor for class expr_hash_elt.
(free_expr_hash_elt): Call dtor for the element.
(remove_local_expressions_from_table): Now the "pop_to_marker"
method in the available_exprs_stack class.
(avail_expr_stack::record_expr): Method factored out.
(print_expr_hash_elt): Now a method in the expr_hash_elt class.
Fix formatting.
(hashable_expr_equal_p): Fix formatting.

From-SVN: r227801

9 years agoChange of location_get_source_line signature
David Malcolm [Tue, 15 Sep 2015 16:53:01 +0000 (16:53 +0000)]
Change of location_get_source_line signature

gcc/ChangeLog:
* input.h (location_get_source_line): Drop "expanded_location"
param in favor of a file and line number.
* input.c (location_get_source_line): Likewise.
(dump_location_info): Update for change in signature of
location_get_source_line.
* diagnostic.c (diagnostic_print_caret_line): Likewise.

gcc/c-family/ChangeLog:
* c-format.c (location_from_offset): Update for change in
signature of location_get_source_line.
* c-indentation.c (get_visual_column): Likewise.
(line_contains_hash_if): Likewise.

From-SVN: r227800

9 years agodefaults.h (STACK_OLD_CHECK_PROTECT): Adjust for -fno-exceptions.
Eric Botcazou [Tue, 15 Sep 2015 16:25:59 +0000 (16:25 +0000)]
defaults.h (STACK_OLD_CHECK_PROTECT): Adjust for -fno-exceptions.

* defaults.h (STACK_OLD_CHECK_PROTECT): Adjust for -fno-exceptions.
Bump to 4KB for SJLJ exceptions.
(STACK_CHECK_PROTECT): Likewise.  Bump to 8KB for SJLJ exceptions.
* doc/tm.texi.in (STACK_CHECK_PROTECT): Adjust.
* doc/tm.texi: Regenerate.

From-SVN: r227799

9 years ago[ARM] Fix arm bootstrap failure due to -Werror=shift-negative-value
Kyrylo Tkachov [Tue, 15 Sep 2015 15:03:23 +0000 (15:03 +0000)]
[ARM] Fix arm bootstrap failure due to -Werror=shift-negative-value

* config/arm/arm.c (arm_gen_constant): Use HOST_WIDE_INT_M1U instead
of -1 when shifting.  Change type of val to unsigned HOST_WIDE_INT.
Update prototype.

From-SVN: r227798

9 years agore PR tree-optimization/67470 (ICE at -O3 on x86_64-linux-gnu in compute_live_loop_ex...
Richard Biener [Tue, 15 Sep 2015 14:10:10 +0000 (14:10 +0000)]
re PR tree-optimization/67470 (ICE at -O3 on x86_64-linux-gnu in compute_live_loop_exits, at tree-ssa-loop-manip.c:235)

2015-09-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/67470
* tree-ssa-loop-im.c (execute_sm_if_changed): Preserve PHI
structure for PHI hoisting by inserting a forwarder block
if appropriate.

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

From-SVN: r227797

9 years agoarm.c (TARGET_OPTION_PRINT): Define.
Christian Bruel [Tue, 15 Sep 2015 13:46:57 +0000 (15:46 +0200)]
arm.c (TARGET_OPTION_PRINT): Define.

2015-09-15  Christian Bruel  <christian.bruel@st.com>

* config/arm/arm.c (TARGET_OPTION_PRINT): Define.
(arm_option_print): New function.

From-SVN: r227796

9 years agore PR target/52144 (ARM should support arm/thumb function attribute to permit differe...
Christian Bruel [Tue, 15 Sep 2015 13:43:17 +0000 (15:43 +0200)]
re PR target/52144 (ARM should support arm/thumb function attribute to permit different instruction sets in the same source)

2015-09-15  Christian Bruel  <christian.bruel@st.com>

PR target/52144
* config/arm/arm.c (arm_option_params_internal): Remove opts parameter.
* config/arm/arm-c.c (arm_cpu_builtins): Declare static.
Remove flags parameter.
* config/arm/arm.h (TARGET_32BIT_P, TARGET_ARM_QBIT_P)
(TARGET_ARM_SAT_P, TARGET_IDIV_P, TARGET_HAVE_LDREX_P)
(TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P, TARGET_DSP_MULTIPLY_P)
(TARGET_ARM_FEATURE_LDREX_P, TARGET_INT_SIMD_P): Redefine macros with...
(TARGET_ARM_SAT, TARGET_IDIV, TARGET_HAVE_LDREX)
(TARGET_HAVE_LDREXBH, TARGET_HAVE_LDREXD, TARGET_ARM_FEATURE_LDREX)
(TARGET_DSP_MULTIPLY, TARGET_INT_SIMD): Redefined macros.
* gcc/config/arm/arm-protos.h (arm_cpu_builtins): Remove declaration.

From-SVN: r227795

9 years ago[AArch64 array_mode 8/8] Add d-registers to TARGET_ARRAY_MODE_SUPPORTED_P
Alan Lawrence [Tue, 15 Sep 2015 13:16:58 +0000 (13:16 +0000)]
[AArch64 array_mode 8/8] Add d-registers to TARGET_ARRAY_MODE_SUPPORTED_P

gcc/:

* config/aarch64/aarch64.h (AARCH64_VALID_SIMD_DREG_MODE): New.

* config/aarch64/aarch64.c (aarch64_array_mode_supported_p): Add
AARCH64_VALID_SIMD_DREG_MODE.

gcc/testsuite/:

* gcc.target/aarch64/vect_int32x2x4_1.c: New.

From-SVN: r227794

9 years ago[AArch64 array_mode 7/8] Combine the expanders using VSTRUCT:nregs
Alan Lawrence [Tue, 15 Sep 2015 13:09:45 +0000 (13:09 +0000)]
[AArch64 array_mode 7/8] Combine the expanders using VSTRUCT:nregs

* config/aarch64/aarch64-simd.md (aarch64_ld2r<mode>,
aarch64_ld3r<mode>, aarch64_ld4r<mode>): Combine together, making...
(aarch64_simd_ld<VSTRUCT:nregs>r<VALLDIF:mode>): ...this.
(aarch64_ld2_lane<mode>, aarch64_ld3_lane<mode>,
aarch64_ld4_lane<mode>): Combine together, making...
(aarch64_ld<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this.
(aarch64_st2_lane<mode>, aarch64_st3_lane<mode>,
aarch64_st4_lane<mode>): Combine together, making...
(aarch64_st<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this.
* config/aarch64/iterators.md (nregs): Add comment.

From-SVN: r227793

9 years agoc-decl.c (lookup_label): Return NULL_TREE instead of 0.
Marek Polacek [Tue, 15 Sep 2015 12:48:50 +0000 (12:48 +0000)]
c-decl.c (lookup_label): Return NULL_TREE instead of 0.

* c-decl.c (lookup_label): Return NULL_TREE instead of 0.
(lookup_tag): Change the type of THISLEVEL_ONLY to bool.
Return NULL_TREE instead of 0.
(lookup_name): Return NULL_TREE instead of 0.
(lookup_name_in_scope): Likewise.
(shadow_tag_warned): Use true instead of 1 and NULL_TREE instead of 0.
(parser_xref_tag): Use false instead of 0.
(start_struct): Use true instead of 1.
(start_enum): Use true instead of 1 and NULL_TREE instead of 0.

From-SVN: r227791

9 years ago[AArch64 array_mode 6/8] Remove V_TWO_ELEM, again using BLKmode + set_mem_size.
Alan Lawrence [Tue, 15 Sep 2015 12:48:15 +0000 (12:48 +0000)]
[AArch64 array_mode 6/8] Remove V_TWO_ELEM, again using BLKmode + set_mem_size.

* config/aarch64/aarch64-simd.md (aarch64_simd_ld2r<mode>):
Change operand mode from <V_TWO_ELEM> to BLK.
(aarch64_vec_load_lanesoi_lane<mode>): Likewise.
(aarch64_vec_store_lanesoi_lane<mode): Likewise
(aarch64_ld2r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
(aarch64_ld2_lane<mode>): Likewise.
(aarch64_st2_lane<VQ:mode>): Likewise.
* config/aarch64/iterators.md (V_TWO_ELEM): Remove.

From-SVN: r227790

9 years ago[AArch64 array_mode 5/8] Remove V_FOUR_ELEM, again using BLKmode + set_mem_size.
Alan Lawrence [Tue, 15 Sep 2015 12:43:07 +0000 (12:43 +0000)]
[AArch64 array_mode 5/8] Remove V_FOUR_ELEM, again using BLKmode + set_mem_size.

* config/aarch64/aarch64-simd.md (aarch64_simd_ld4r<mode>):
Change operand mode from <V_FOUR_ELEM> to BLK.
(aarch64_vec_load_lanesxi_lane<mode>): Likewise.
(aarch64_vec_store_lanesxi_lane<mode): Likewise.
(aarch64_ld4r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
(aarch64_ld4_lane<mode>): Likewise.
(aarch64_st4_lane<mode>): Likewise.
* config/aarch64/iterators.md (V_FOUR_ELEM): Remove.

From-SVN: r227789

9 years agore PR middle-end/67563 (verify_flow_info failed)
Richard Biener [Tue, 15 Sep 2015 12:37:19 +0000 (12:37 +0000)]
re PR middle-end/67563 (verify_flow_info failed)

2015-09-15  Richard Biener  <rguenther@suse.de>

PR middle-end/67563
* gimple-fold.c (gimplify_and_update_call_from_tree): Do not
transfer EH info from old to new stmt.
(replace_call_with_value): Likewise.
(replace_call_with_call_and_fold): Likewise.
(gimple_fold_builtin_memory_op): Likewise.
(gimple_fold_builtin_memset): Likewise.
(gimple_fold_builtin_stpcpy): Likewise.
(gimple_fold_call): Likewise.

* gcc.dg/pr67563.c: New testcase.

From-SVN: r227788

9 years ago[AArch64 array_mode 4/8] Remove EImode
Alan Lawrence [Tue, 15 Sep 2015 12:33:42 +0000 (12:33 +0000)]
[AArch64 array_mode 4/8] Remove EImode

* config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist): Update
comment.
* config/aarch64/aarch64-builtins.c (ei_UP): Remove.
(aarch64_simd_intEI_type_node): Likewise.
(aarch64_simd_builtin_std_type): Remove EImode case.
(aarch64_init_simd_builtin_types): Don't create/add intEI_type_node.
* config/aarch64/aarch64-modes.def: Remove EImode.

From-SVN: r227787

9 years agoruntime: Ignore stack sizes when deciding when to GC.
Ian Lance Taylor [Tue, 15 Sep 2015 12:32:31 +0000 (12:32 +0000)]
runtime: Ignore stack sizes when deciding when to GC.

    This restores https://golang.org/cl/6081043 which was lost accidentally
    when updating a new version of libgo in https://golang.org/cl/22440043 .

    Reviewed-on: https://go-review.googlesource.com/14569

From-SVN: r227784

9 years ago[AArch64 array_mode 3/8] Stop using EImode in aarch64-simd.md and iterators.md
Alan Lawrence [Tue, 15 Sep 2015 12:28:20 +0000 (12:28 +0000)]
[AArch64 array_mode 3/8] Stop using EImode in aarch64-simd.md and iterators.md

* config/aarch64/aarch64-simd.md (aarch64_simd_ld3r<mode>):
Change operand mode from <V_THREE_ELEM> to BLK.
(aarch64_vec_load_lanesci_lane<mode>): Likewise.
(aarch64_vec_store_lanesci_lane<mode>): Likewise.
(aarch64_ld3r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
(aarch64_ld3_lane<mode>): Likewise.
(aarch64_st3_lane<mode>): Likewise.
* config/aarch64/iterators.md (V_THREE_ELEM): Remove.

From-SVN: r227783

9 years ago[AArch64 array_mode 2/8] Remove VSTRUCT_DREG, use BLKmode for d-reg aarch64_st/ld...
Alan Lawrence [Tue, 15 Sep 2015 12:11:27 +0000 (12:11 +0000)]
[AArch64 array_mode 2/8] Remove VSTRUCT_DREG, use BLKmode for d-reg aarch64_st/ld expands

* config/aarch64/aarch64-simd.md
(aarch64_ld2<mode>_dreg VD & DX, aarch64_st2<mode>_dreg VD & DX ):
Change all TImode operands to BLKmode.
(aarch64_ld3<mode>_dreg VD & DX, aarch64_st3<mode>_dreg VD & DX):
Change all EImode operands to BLKmode.
(aarch64_ld4<mode>_dreg VD & DX, aarch64_st4<mode>_dreg VD & DX):
Change all OImode operands to BLKmode.

(aarch64_ld<VSTRUCT:nregs><VDC:mode>): Generate MEM rtx with BLKmode
and call set_mem_size.
(aarch64_st<VSTRUCT:nregs><VDC:mode>): Likewise

* config/aarch64/iterators.md (VSTRUCT_DREG): Remove.

From-SVN: r227782

9 years ago[AArch64 array_mode 1/8] Rename vec_store_lanes<mode>_lane to aarch64_vec_store_lanes...
Alan Lawrence [Tue, 15 Sep 2015 11:39:12 +0000 (11:39 +0000)]
[AArch64 array_mode 1/8] Rename vec_store_lanes<mode>_lane to aarch64_vec_store_lanes<mode>_lane

* config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Rename
to...
(aarch64_vec_store_lanesoi_lane<mode>): ...this.

(vec_store_lanesci_lane<mode>): Rename to...
(aarch64_vec_store_lanesci_lane<mode>): ...this.

(vec_store_lanesxi_lane<mode>): Rename to...
(aarch64_vec_store_lanesxi_lane<mode>): ...this.

(aarch64_st2_lane<mode>, aarch64_st3_lane<mode>,
aarch64_st4_lane<mode>): Follow renaming.

From-SVN: r227781

9 years agoS/390: Add missing brackets.
Andreas Krebbel [Tue, 15 Sep 2015 11:07:16 +0000 (11:07 +0000)]
S/390: Add missing brackets.

gcc/ChangeLog:

2015-09-15  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390.c (s390_const_operand_ok): Add missing
brackets.

From-SVN: r227780

9 years agore PR lto/67568 (lto-streamer-in.c sanitizer runtime error: load of value 255, which...
Richard Biener [Tue, 15 Sep 2015 08:00:30 +0000 (08:00 +0000)]
re PR lto/67568 (lto-streamer-in.c sanitizer runtime error: load of value 255, which is not a valid value for type 'bool')

2015-09-15  Richard Biener  <rguenther@suse.de>

PR lto/67568
* lto-streamer.h (lto_location_cache::current_sysp): Properly
initialize.
* lto-streamer-out.c (clear_line_info): Likewise.

From-SVN: r227779

9 years agomatch-and-simplify.texi: Fix wording.
Richard Biener [Tue, 15 Sep 2015 07:33:15 +0000 (07:33 +0000)]
match-and-simplify.texi: Fix wording.

2015-09-15  Richard Biener  <rguenther@suse.de>

* doc/match-and-simplify.texi: Fix wording.

From-SVN: r227778

9 years agolibgo: don't provide ustat on arm64 GNU/Linux
Ian Lance Taylor [Tue, 15 Sep 2015 03:43:01 +0000 (03:43 +0000)]
libgo: don't provide ustat on arm64 GNU/Linux

    This avoids linker warnings when linking against glibc, as apparently
    arm64 GNU/Linux does not support the ustat system call.

    Also update to automake 1.11.6, as that is the new GCC standard.

    Reviewed-on: https://go-review.googlesource.com/14567

From-SVN: r227777

9 years agotree-ssa-loop-ivopts.c (get_shiftadd_cost): Strip unnecessary type conversion in...
Bin Cheng [Tue, 15 Sep 2015 02:12:47 +0000 (02:12 +0000)]
tree-ssa-loop-ivopts.c (get_shiftadd_cost): Strip unnecessary type conversion in op1.

* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Strip
unnecessary type conversion in op1.

From-SVN: r227776

9 years agoshrink-wrap: Rewrite
Segher Boessenkool [Tue, 15 Sep 2015 00:38:21 +0000 (02:38 +0200)]
shrink-wrap: Rewrite

This patch rewrites the shrink-wrapping algorithm, allowing non-linear
pieces of CFG to be duplicated for use without prologue instead of just
linear pieces.

* shrink-wrap.c (requires_stack_frame_p): Fix formatting.
(dup_block_and_redirect): Delete function.
(can_dup_for_shrink_wrapping): New function.
(fix_fake_fallthrough_edge): New function.
(try_shrink_wrapping): Rewrite function.
(convert_to_simple_return): Call fix_fake_fallthrough_edge.

From-SVN: r227775

9 years agoconfigure.ac: [SH] Fix target pattern for TLS support test so to enable more arches.
Rich Felker [Tue, 15 Sep 2015 00:20:14 +0000 (00:20 +0000)]
configure.ac: [SH] Fix target pattern for TLS support test so to enable more arches.

* configure.ac: [SH] Fix target pattern for TLS support test so to
enable more arches.

From-SVN: r227774

9 years agoDaily bump.
GCC Administrator [Tue, 15 Sep 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227773

9 years ago[PATCH] Minor DOM cleanup
Jeff Law [Mon, 14 Sep 2015 20:10:30 +0000 (14:10 -0600)]
[PATCH] Minor DOM cleanup

        PR tree-optimization/47679
* tree-ssa-dom.c (avail_expr_hash): Pass a pointer to a real
type rather than void *.

From-SVN: r227762

9 years agore PR c++/44282 (fastcall is not mangled at all)
Jason Merrill [Mon, 14 Sep 2015 19:54:27 +0000 (15:54 -0400)]
re PR c++/44282 (fastcall is not mangled at all)

PR c++/44282

* mangle.c (write_CV_qualifiers_for_type): Also warn about regparm
mangling with lower -fabi-version.

From-SVN: r227761

9 years agoThe flag diagnostic_context::some_warnings_are_errors controls whether to give...
Manuel López-Ibáñez [Mon, 14 Sep 2015 19:27:50 +0000 (19:27 +0000)]
The flag diagnostic_context::some_warnings_are_errors controls whether to give...

The flag diagnostic_context::some_warnings_are_errors controls whether
to give the message "all warnings being treated as errors". However, when
warnings are buffered and then discarded, this flag is not reset. It turns
out we do not need this flag at all, since we already count explicitly how
many warnings were converted into errors, and this number is kept up to
date for the buffered diagnostics used by Fortran.

gcc/ChangeLog:

2015-09-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/67460
* diagnostic.c (diagnostic_initialize): Do not set
some_warnings_are_errors.
(diagnostic_finish): Use DK_WERROR count instead.
(diagnostic_report_diagnostic): Do not set
some_warnings_are_errors.
* diagnostic.h (struct diagnostic_context): Remove
some_warnings_are_errors.

gcc/testsuite/ChangeLog:

2015-09-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/67460
* gfortran.dg/pr67460.f90: New test.

From-SVN: r227760

9 years agocompiler: Ignore result context in constant expressions.
Ian Lance Taylor [Mon, 14 Sep 2015 17:54:08 +0000 (17:54 +0000)]
compiler: Ignore result context in constant expressions.

    When evaluating a constant expression, the gofrontend would incorrectly
    force each operand to be represented as the resulting type before
    checking if the operation was valid with the untyped constants.
    According to the language specification on constant
    expressions(http://golang.org/ref/spec#Constant_expressions): "Untyped
    boolean, numeric, and string constants may be used as operands wherever
    it is legal to use an operand of boolean, numeric, or string type,
    respectively."

    Fixes golang/go#11566.

    Reviewed-on: https://go-review.googlesource.com/12716

From-SVN: r227758

9 years ago[SPARC] Simplify const_all_ones_operand
Richard Sandiford [Mon, 14 Sep 2015 17:44:22 +0000 (17:44 +0000)]
[SPARC] Simplify const_all_ones_operand

gen_rtx_CONST_VECTOR ensures that there is a single instance of:

       (const_vector:M [(const_int -1) ... (const_int -1)])

for each M, so pointer equality with CONSTM1_RTX is enough.  Also,
HOST_BITS_PER_WIDE_INT == 32 is doubly dead: HOST_WIDE_INT is always
64 bits now, and we always use const_int rather than const_double
or const_wide_int for all-ones values (or any other value that
fits in a signed HOST_WIDE_INT).

gcc/
* config/sparc/predicates.md (const_all_ones_operand): Use
CONSTM1_RTX to simplify definition.

From-SVN: r227757

9 years agoChangeLog: Fix shitespace.
Uros Bizjak [Mon, 14 Sep 2015 17:41:13 +0000 (19:41 +0200)]
ChangeLog: Fix shitespace.

* ChangeLog: Fix shitespace.
* testsuite/ChangeLog: Ditto.

From-SVN: r227756

9 years agodump-new-function-3.c (dg-final): Also scan for $loopfn.
Uros Bizjak [Mon, 14 Sep 2015 17:07:58 +0000 (19:07 +0200)]
dump-new-function-3.c (dg-final): Also scan for $loopfn.

* gcc.dg/gomp/dump-new-function-3.c (dg-final): Also scan for $loopfn.
* gcc.dg/gomp/notify-new-function-3.c (dg-final): Ditto.

From-SVN: r227755

9 years agore PR c++/51911 ([C++11] G++ accepts new auto { list })
Paolo Carlini [Mon, 14 Sep 2015 15:25:00 +0000 (15:25 +0000)]
re PR c++/51911 ([C++11] G++ accepts new auto { list })

/cp
2015-09-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51911
* parser.c (cp_parser_new_expression): Enforce 5.3.4/2 (as amended
per the spirit of DR 1467).

/testsuite
2015-09-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51911
* g++.dg/cpp0x/new-auto1.C: New.

From-SVN: r227753

9 years agore PR target/67061 (sh64-elf: internal compiler error: in sh_find_set_of_reg, at...
Oleg Endo [Mon, 14 Sep 2015 13:46:14 +0000 (13:46 +0000)]
re PR target/67061 (sh64-elf: internal compiler error: in sh_find_set_of_reg, at config/sh/sh-protos.h:235)

gcc/
PR target/67061
* config/sh/sh-protos.h (sh_find_set_of_reg): Simplfiy for-loop.
Handle call insns.

From-SVN: r227750

9 years agolto-wrapper.c (merge_and_complain): Add OPT_fdiagnostics_show_caret...
Chung-Lin Tang [Mon, 14 Sep 2015 13:25:36 +0000 (13:25 +0000)]
lto-wrapper.c (merge_and_complain): Add OPT_fdiagnostics_show_caret...

2015-09-14  Chung-Lin Tang  <cltang@codesourcery.com>

* lto-wrapper.c (merge_and_complain): Add OPT_fdiagnostics_show_caret,
OPT_fdiagnostics_show_option, OPT_fdiagnostics_show_location_, and
OPT_fshow_column to handled saved option cases.
(append_compiler_options): Do not skip the above added options.

From-SVN: r227749

9 years ago[AArch64] Handle literal pools for functions > 1 MiB in size.
Ramana Radhakrishnan [Mon, 14 Sep 2015 13:16:59 +0000 (13:16 +0000)]
[AArch64] Handle literal pools for functions > 1 MiB in size.

This patch fixes the issue in PR63304 where we have
functions that are > 1MiB. The idea is to use adrp / ldr or adrp / add
instructions to address the literal pools under the use of a command line
option. I would like to turn this on by default on trunk but keep this
disabled by default for the release branches in order to get some
serious testing for this feature while it bakes on trunk.

As a follow-up I would like to try and see if estimate_num_insns or
something else can give us a heuristic to turn this on for "large" functions.
After all the number of incidences of this are quite low in real life,
so may be we should look to restrict this use as much as possible on the
grounds that this code generation implies an extra integer register for
addressing for every floating point and vector constant and I don't think
that's great in code that already may have high register pressure.

Tested on aarch64-none-elf with no regressions. A previous
version was bootstrapped and regression tested.

Applied to trunk.

regards
Ramana

2015-09-14  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

     PR target/63304
     * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Handle
     nopcrelative_literal_loads.
     (aarch64_classify_address): Likewise.
     (aarch64_constant_pool_reload_icode): Define.
     (aarch64_secondary_reload): Handle secondary reloads for
     literal pools.
     (aarch64_override_options): Handle nopcrelative_literal_loads.
     (aarch64_classify_symbol): Handle nopcrelative_literal_loads.
     * config/aarch64/aarch64.md (aarch64_reload_movcp<GPF_TF:mode><P:mode>):
     Define.
     (aarch64_reload_movcp<VALL:mode><P:mode>): Likewise.
     * config/aarch64/aarch64.opt (mpc-relative-literal-loads): New option.
     * config/aarch64/predicates.md (aarch64_constant_pool_symref): New
     predicate.
     * doc/invoke.texi (mpc-relative-literal-loads): Document.

From-SVN: r227748

9 years agore PR middle-end/67401 (Incorrect expand of __atomic_compare_exchange_8 using __sync_...
John David Anglin [Mon, 14 Sep 2015 12:05:58 +0000 (12:05 +0000)]
re PR middle-end/67401 (Incorrect expand of __atomic_compare_exchange_8 using __sync_val_compare_and_swap_8)

PR middle-end/67401
* optabs.c (expand_atomic_compare_and_swap): Move result of emitting
sync_compare_and_swap_optab libcall to target_oval.

From-SVN: r227746

9 years agoc-opts.c (c_common_post_options): Set C++ standard earlier, before setting various...
Marek Polacek [Mon, 14 Sep 2015 10:40:51 +0000 (10:40 +0000)]
c-opts.c (c_common_post_options): Set C++ standard earlier, before setting various warnings.

* c-opts.c (c_common_post_options): Set C++ standard earlier, before
setting various warnings.

From-SVN: r227744

9 years agoc-common.c (warn_for_sign_compare): Cast to unsigned when shifting a negative value.
Marek Polacek [Mon, 14 Sep 2015 10:36:50 +0000 (10:36 +0000)]
c-common.c (warn_for_sign_compare): Cast to unsigned when shifting a negative value.

* c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
a negative value.

* c-typeck.c (set_nonincremental_init_from_string): Use
HOST_WIDE_INT_M1U when shifting a negative value.

* rtlanal.c (split_double): Cast to unsigned when shifting a negative
value.
* sched-int.h (UNKNOWN_DEP_COST): Likewise.

From-SVN: r227743

9 years agoPR28901 -Wunused-variable ignores unused const initialised variables in C
Mark Wielaard [Mon, 14 Sep 2015 09:49:47 +0000 (09:49 +0000)]
PR28901 -Wunused-variable ignores unused const initialised variables in C

12 years ago it was decided that -Wunused-variable shouldn't warn about
static const variables because some code used const static char rcsid[]
strings which were never used but wanted in the code anyway. But as the
bug points out this hides some real bugs. These days the usage of rcsids
is not very popular anymore. So this patch changes the default to warn
about unused static const variables in C with -Wunused-variable. And it
adds a new option -Wno-unused-const-variable to turn this warning off.
For C++ this new warning is off by default, since const variables can be
used as #defines in C++. New testcases for the new defaults in C and C++
are included testing the new warning and suppressing it with an unused
attribute or using -Wno-unused-const-variable.

gcc/ChangeLog

       PR c/28901
       * toplev.c (check_global_declaration): Check and use
       warn_unused_const_variable.
       * doc/invoke.texi (Warning Options): Add -Wunused-const-variable.
       (-Wunused-variable): Remove non-constant. For C implies
       -Wunused-const-variable.
       (-Wunused-const-variable): New.

gcc/c-family/ChangeLog

       PR c/28901
       * c.opt (Wunused-variable): Option from common.opt.
       (Wunused-const-variable): New option.

gcc/cp/ChangeLog

       PR c/28901
       * cp-objcp-common.c (cxx_warn_unused_global_decl): Remove hard-coded
       VAR_P TREE_READONLY override.

gcc/testsuite/ChangeLog

       PR c/28901
       * g++.dg/warn/unused-variable-1.C: New test.
       * g++.dg/warn/unused-variable-2.C: Likewise.
       * gcc.dg/unused-4.c: Adjust warning for static const.
       * gcc.dg/unused-variable-1.c: New test.
       * gcc.dg/unused-variable-2.c: Likewise.

From-SVN: r227742

9 years agomatch-and-simplify.texi: Update for changed syntax of inner ifs and the new switch...
Richard Biener [Mon, 14 Sep 2015 09:40:17 +0000 (09:40 +0000)]
match-and-simplify.texi: Update for changed syntax of inner ifs and the new switch expression.

2015-09-14  Richard Biener  <rguenther@suse.de>

* doc/match-and-simplify.texi: Update for changed syntax
of inner ifs and the new switch expression.

From-SVN: r227741

9 years agohaswell.md: New file describing Haswell pipeline.
Yuri Rumyantsev [Mon, 14 Sep 2015 09:36:29 +0000 (09:36 +0000)]
haswell.md: New file describing Haswell pipeline.

* config/i386/haswell.md: New file describing Haswell pipeline.
* config/i386/i386.c (processor_alias_table): Use CPU_HASWELL for
haswell-like processors.
(ix86_reassociation_width): Increase reassociation width for 64-bit
Haswell processor family.
* config/i386/i386.md: Introduce haswell cpu and include new md file.

From-SVN: r227740

9 years agomatch-and-simplify.texi: Fixup some formatting issues and document the 's' flag.
Richard Biener [Mon, 14 Sep 2015 09:25:16 +0000 (09:25 +0000)]
match-and-simplify.texi: Fixup some formatting issues and document the 's' flag.

2015-09-14  Richard Biener  <rguenther@suse.de>

* doc/match-and-simplify.texi: Fixup some formatting issues
and document the 's' flag.

From-SVN: r227739

9 years agoUpdate my email address.
Bernd Schmidt [Mon, 14 Sep 2015 09:04:57 +0000 (09:04 +0000)]
Update my email address.

From-SVN: r227738

9 years agomisc.c (gnat_post_options): Issue a warning if generating STABS debugging information...
Pierre-Marie de Rodat [Mon, 14 Sep 2015 07:53:49 +0000 (07:53 +0000)]
misc.c (gnat_post_options): Issue a warning if generating STABS debugging information when not the default.

* gcc-interface/misc.c (gnat_post_options): Issue a warning if
generating STABS debugging information when not the default.

From-SVN: r227737

9 years agogigi.h (ref_filename): Delete.
Eric Botcazou [Mon, 14 Sep 2015 07:21:38 +0000 (07:21 +0000)]
gigi.h (ref_filename): Delete.

* gcc-interface/gigi.h (ref_filename): Delete.
(Sloc_to_locus): Add clean_column parameter defaulting to false.
(build_call_raise): Adjust comment.
(build_call_raise_range): Move around.
* gcc-interface/trans.c (ref_filename): Delete.
(gigi): Fix formatting.
(block_end_locus_sink): Delete.
(Sloc_to_locus1): Tidy up and reformat.  Rename into...
(Sloc_to_locus): ...this.  Add default for clean_colmun parameter.
(set_expr_location_from_node1): Rename into...
(set_expr_location_from_node): ...this.
(set_end_locus_from_node): Move around.  Adjust for renaming.
(Handled_Sequence_Of_Statements_to_gnu): Likewise.
(add_cleanup): Likewise.
* gcc-interface/utils2.c (expand_sloc): New static function.
(build_call_raise): Call it.
(build_call_raise_column): Likewise.
(build_call_raise_range): Likewise.  Move around.

From-SVN: r227736

9 years agoutils2.c (gnat_rewrite_reference): Add another acceptable pattern for the RHS.
Eric Botcazou [Mon, 14 Sep 2015 07:05:51 +0000 (07:05 +0000)]
utils2.c (gnat_rewrite_reference): Add another acceptable pattern for the RHS.

* gcc-interface/utils2.c (gnat_rewrite_reference) <COMPOUND_EXPR>: Add
another acceptable pattern for the RHS.

From-SVN: r227735

9 years agoDaily bump.
GCC Administrator [Mon, 14 Sep 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227733

9 years agoprivate_type_3.f90: Require visibility.
David Edelsohn [Sun, 13 Sep 2015 18:54:59 +0000 (18:54 +0000)]
private_type_3.f90: Require visibility.

        * gfortran.dg/private_type_3.f90: Require visibility.
        * gfortran.dg/module_variable_2.f90: Same.
        * gfortran.dg/nested_forall_1.f: Same.
        * gfortran.dg/elemental_dependency_4.f90: Same.
        * gfortran.dg/bind_c_usage_25.f90: Same.
        * gfortran.dg/access_spec_1.f90: Same.
        * gfortran.dg/public_private_module_2.f90: Same.
        * gfortran.dg/host_assoc_variable_1.f90: Same.
        * gfortran.dg/public_private_module_6.f90: Same.
        * gfortran.dg/module_variable_1.f90: Same.
        * gfortran.dg/pr37286.f90: Same.
        * gfortran.dg/internal_pack_7.f90: Same.
        * gfortran.dg/submodule_10.f08: Same.
        * gfortran.dg/allocatable_function_8.f90: Same.
        * gfortran.dg/merge_init_expr_2.f90: Same.
        * gfortran.dg/class_37.f03: Same.
        * gfortran.dg/vect/fast-math-vect-8.f90: Same.
        * gfortran.dg/typebound_call_20.f03: Same.
        * gfortran.dg/proc_ptr_result_3.f90: Same.
        * gfortran.dg/pr32535.f90: Same.
        * gfortran.dg/typebound_proc_19.f90: Same.
        * gfortran.dg/initialization_10.f90: Same.
        * gfortran.dg/bind_c_usage_8.f03: Same.
        * gfortran.dg/pr61335.f90: Same.
        * gfortran.dg/elemental_dependency_5.f90: Same.
        * gfortran.dg/proc_ptr_3.f90: Same.
        * gfortran.dg/debug/pr46756.f: XFAIL on AIX.

From-SVN: r227730

9 years agotype-generic-1.c: Pass -DUNSAFE for Visium.
Eric Botcazou [Sun, 13 Sep 2015 17:18:50 +0000 (17:18 +0000)]
type-generic-1.c: Pass -DUNSAFE for Visium.

* gcc.dg/torture/type-generic-1.c: Pass -DUNSAFE for Visium.
* gcc.dg/Wno-frame-address.c: Skip for Visium.
* gcc.dg/loop-8.c: Likewise.

From-SVN: r227729

9 years agoconfig.gcc (visium-*-*): Enable --with-cpu option, accept gr5 and gr6 as possible...
Olivier Hainque [Sun, 13 Sep 2015 17:10:54 +0000 (17:10 +0000)]
config.gcc (visium-*-*): Enable --with-cpu option, accept gr5 and gr6 as possible values, defaulting to gr5.

* config.gcc (visium-*-*): Enable --with-cpu option, accept gr5 and
gr6 as possible values, defaulting to gr5.  Set target_cpu_default2.
* config/visium/visium.h (OPTION_DEFAULT_SPECS): Define.
(TARGET_CPU_gr5): Likewise.
(TARGET_CPU_gr6): Likewise.
(MULTILIB_DEFAULTS): Likewise.
* config/visium/t-visium (MULTILIB_OPTIONS): Request distinct variants
for mcpu=gr5 and mcpu=gr6.
(MULTILIB_DIRNAMES): Adjust accordingly.

From-SVN: r227728

9 years agotree-ssa-loop-im.c: remove typedefs that hide pointerness
Trevor Saunders [Sun, 13 Sep 2015 16:55:38 +0000 (16:55 +0000)]
tree-ssa-loop-im.c: remove typedefs that hide pointerness

gcc/ChangeLog:

2015-09-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* tree-ssa-loop-im.c (mem_ref_loc_p): Remove typedef.
(mem_ref_p): Likewise.
(outermost_indep_loop): Adjust.
(mem_ref_in_stmt): Likewise.
(determine_max_movement): Likewise.
(mem_ref_alloc): Likewise.
(record_mem_ref_loc): Likewise.
(set_ref_stored_in_loop): Likewise.
(mark_ref_stored): Likewise.
(gather_mem_refs_stmt): Likewise.
(mem_refs_may_alias_p): Likewise.
(for_all_locs_in_loop): Likewise.
(struct rewrite_mem_ref_loc): Likewise.
(rewrite_mem_refs): Likewise.
(struct first_mem_ref_loc_1): Likewise.
(first_mem_ref_loc): Likewise.
(struct sm_set_flag_if_changed): Likewise.
(execute_sm_if_changed_flag_set): Likewise.
(execute_sm): Likewise.
(hoist_memory_references):
(struct ref_always_accessed): Likewise.
(ref_always_accessed_p): Likewise.
(refs_independent_p): Likewise.
(record_dep_loop): Likewise.
(ref_indep_loop_p_1): Likewise.
(ref_indep_loop_p_2): Likewise.
(ref_indep_loop_p): Likewise.
(can_sm_ref_p): Likewise.
(find_refs_for_sm): Likewise.
(tree_ssa_lim_finalize): Likewise.

From-SVN: r227727

9 years agodwarf2out.c: remove typedefs that hide pointerness
Trevor Saunders [Sun, 13 Sep 2015 16:55:22 +0000 (16:55 +0000)]
dwarf2out.c: remove typedefs that hide pointerness

gcc/ChangeLog:

2015-09-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* dwarf2out.c (dw_attr_ref): Remove typedef.
(dw_line_info_ref): Likewise.
(pubname_ref): Likewise.
(dw_ranges_ref): Likewise.
(dw_ranges_by_label_ref): Likewise.
(comdat_type_node_ref): Likewise.
 (dw_line_info_table_struct): Rename to dw_line_info_table.
(get_AT): Adjust.
(get_AT_low_pc): Likewise.
(get_AT_hi_pc): Likewise.
(get_AT_string): Likewise.
(get_AT_flag): Likewise.
(get_AT_unsigned): Likewise.
(get_AT_ref): Likewise.
(get_AT_file): Likewise.
(remove_AT): Likewise.
(print_die): Likewise.
(check_die): Likewise.
(die_checksum): Likewise.
(attr_checksum_ordered): Likewise.
(struct checksum_attributes): Likewise.
(collect_checksum_attributes): Likewise.
(die_checksum_ordered): Likewise.
(same_die_p): Likewise.
(is_declaration_die): Likewise.
(clone_die): Likewise.
(clone_as_declaration): Likewise.
(copy_declaration_context): Likewise.
(break_out_comdat_types): Likewise.
(copy_decls_walk): Likewise.
(output_location_lists): Likewise.
(external_ref_hasher::hash): Likewise.
(optimize_external_refs_1): Likewise.
(build_abbrev_table): Likewise.
(size_of_die): Likewise.
(unmark_all_dies): Likewise.
(size_of_pubnames): Likewise.
(output_die_abbrevs): Likewise.
(output_die): Likewise.
(output_pubnames): Likewise.
(add_ranges_num): Likewise.
(add_ranges_by_labels): Likewise.
(add_high_low_attributes): Likewise.
(gen_producer_string): Likewise.
(dwarf2out_set_name): Likewise.
(new_line_info_table): Likewise.
(prune_unused_types_walk_attribs): Likewise.
(prune_unused_types_update_strings): Likewise.
(prune_unused_types): Likewise.
(resolve_addr): Likewise.
(optimize_location_lists_1): Likewise.
(index_location_lists): Likewise.
(dwarf2out_finish): Likewise.

From-SVN: r227726

9 years agodwarf2cfi.c: remove typedef that hides pointerness
Trevor Saunders [Sun, 13 Sep 2015 16:55:05 +0000 (16:55 +0000)]
dwarf2cfi.c: remove typedef that hides pointerness

gcc/ChangeLog:

2015-09-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* dwarf2cfi.c (dw_trace_info_ref): Remove typedef.

From-SVN: r227725

9 years agotree-vrp.c: remove typedefs that hide pointerness
Trevor Saunders [Sun, 13 Sep 2015 16:54:48 +0000 (16:54 +0000)]
tree-vrp.c: remove typedefs that hide pointerness

gcc/ChangeLog:

2015-09-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* tree-vrp.c (struct assert_locus_d): Rename to assert_locus.
(dump_asserts_for): Adjust.
(register_new_assert_for): Likewise.
(process_assert_insertions): Likewise.
(insert_range_assertions): Likewise.

From-SVN: r227724

9 years agotree-ssa-ter.c: remove typedefs that hide pointerness
Trevor Saunders [Sun, 13 Sep 2015 16:54:32 +0000 (16:54 +0000)]
tree-ssa-ter.c: remove typedefs that hide pointerness

gcc/ChangeLog:

2015-09-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* tree-ssa-ter.c (temp_expr_table_d): Rename to temp_expr_table
and remove typedef.
(new_temp_expr_table): Adjust.
(free_temp_expr_table): Likewise.
(version_to_be_replaced_p): Likewise.
(make_dependent_on_partition): Likewise.
(add_to_partition_kill_list): Likewise.
(remove_from_partition_kill_list): Likewise.
(add_dependence): Likewise.
(finished_with_expr): Likewise.
(process_replaceable): Likewise.
(kill_expr): Likewise.
(kill_virtual_exprs): Likewise.
(mark_replaceable): Likewise.
(find_replaceable_in_bb): Likewise.
(find_replaceable_exprs): Likewise.
(debug_ter): Likewise.

From-SVN: r227723

9 years agobt-load.c: remove typedefs that hide pointerness
Trevor Saunders [Sun, 13 Sep 2015 16:54:15 +0000 (16:54 +0000)]
bt-load.c: remove typedefs that hide pointerness

gcc/ChangeLog:

2015-09-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* bt-load.c (struct btr_def_group): Rename from btr_def_group_s.
(struct btr_user): Rename from btr_user_s.
(struct btr_def): Rename from btr_def_s.
(find_btr_def_group): Adjust.
(add_btr_def): Likewise.
(new_btr_user): Likewise.
(note_other_use_this_block): Likewise.
(compute_defs_uses_and_gen): Likewise.
(link_btr_uses): Likewise.
(build_btr_def_use_webs): Likewise.
(block_at_edge_of_live_range_p): Likewise.
(btr_def_live_range): Likewise.
(combine_btr_defs): Likewise.
(move_btr_def): Likewise.
(migrate_btr_def): Likewise.
(migrate_btr_defs): Likewise.

From-SVN: r227722

9 years agovar-tracking.c: remove typedef of shared_hash
Trevor Saunders [Sun, 13 Sep 2015 16:53:59 +0000 (16:53 +0000)]
var-tracking.c: remove typedef of shared_hash

gcc/ChangeLog:

2015-09-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* var-tracking.c (shared_hash_def): Rename to shared_hash.
(shared_hash): Remove typedef.
(struct dataflow_set): Adjust.
(shared_hash_unshare): Likewise.
(dataflow_set_merge): Likewise.
(vt_initialize): Likewise.
(vt_finalize): Likewise.

From-SVN: r227721

9 years agovar-tracking.c: remove typedef of location_chain
Trevor Saunders [Sun, 13 Sep 2015 16:53:42 +0000 (16:53 +0000)]
var-tracking.c: remove typedef of location_chain

gcc/ChangeLog:

2015-09-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* var-tracking.c (struct location_chain): Rename from
location_chain_def.
(struct variable_part): Adjust.
(variable_htab_free): Likewise.
(unshare_variable): Likewise.
(get_init_value): Likewise.
(get_addr_from_local_cache): Likewise.
(drop_overlapping_mem_locs): Likewise.
(val_reset): Likewise.
(struct variable_union_info): Likewise.
(variable_union): Likewise.
(find_loc_in_1pdv): Likewise.
(insert_into_intersection): Likewise.
(intersect_loc_chains): Likewise.
(canonicalize_loc_order_check): Likewise.
(canonicalize_values_mark): Likewise.
(canonicalize_values_star): Likewise.
(canonicalize_vars_star): Likewise.
(variable_merge_over_cur): Likewise.
(remove_duplicate_values): Likewise.
(variable_post_merge_new_vals): Likewise.
(variable_post_merge_perm_vals): Likewise.
(find_mem_expr_in_1pdv): Likewise.
(dataflow_set_preserve_mem_locs): Likewise.
(dataflow_set_remove_mem_locs): Likewise.
(variable_part_different_p): Likewise.
(onepart_variable_different_p): Likewise.
(find_src_set_src): Likewise.
(dump_var): Likewise.
(set_slot_part): Likewise.
(clobber_slot_part): Likewise.
(delete_slot_part): Likewise.
(vt_expand_var_loc_chain): Likewise.
(emit_note_insn_var_location): Likewise.
(vt_finalize): Likewise.

From-SVN: r227720

9 years agodse.c: remove some typedefs that hide pointerness
Trevor Saunders [Sun, 13 Sep 2015 16:53:25 +0000 (16:53 +0000)]
dse.c: remove some typedefs that hide pointerness

gcc/ChangeLog:

2015-09-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* dse.c (store_info_t): Remove typedef.
(group_info_t): Likewise.
(const_group_info_t): Likewise.
(deferred_change_t): Likewise.
(get_group_info): Adjust.
(free_store_info): Likewise.
(canon_address): Likewise.
(clear_rhs_from_active_local_stores): Likewise.
(record_store): Likewise.
(replace_read): Likewise.
(check_mem_read_rtx): Likewise.
(scan_insn): Likewise.
(remove_useless_values): Likewise.
(dse_step1): Likewise.
(dse_step2_init): Likewise.
(dse_step2_nospill): Likewise.
(scan_stores_nospill): Likewise.
(scan_reads_nospill): Likewise.
(dse_step3_exit_block_scan): Likewise.
(dse_step3): Likewise.
(dse_step5_nospill): Likewise.
(dse_step6): Likewise.

From-SVN: r227719

9 years agodon't typedef alias_set_entry and unhide pointerness
Trevor Saunders [Sun, 13 Sep 2015 16:53:08 +0000 (16:53 +0000)]
don't typedef alias_set_entry and unhide pointerness

gcc/ChangeLog:

2015-09-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* alias.c (alias_set_entry_d): Rename to alias_set_entry.
(alias_set_entry): Remove typedef.
(alias_set_subset_of): Adjust.
(alias_sets_conflict_p): Likewise.
(init_alias_set_entry): Likewise.
(get_alias_set): Likewise.
(new_alias_set): Likewise.
(record_alias_subset): Likewise.

From-SVN: r227718

9 years agofptr.c (SIGN_EXTEND): Cast -1 to unsigned.
John David Anglin [Sun, 13 Sep 2015 15:05:57 +0000 (15:05 +0000)]
fptr.c (SIGN_EXTEND): Cast -1 to unsigned.

* config/pa/fptr.c (SIGN_EXTEND): Cast -1 to unsigned.

From-SVN: r227717

9 years agoinstall.texi (Downloading the source): Mark up contrib/download_prerequisites properl...
Gerald Pfeifer [Sun, 13 Sep 2015 11:40:36 +0000 (11:40 +0000)]
install.texi (Downloading the source): Mark up contrib/download_prerequisites properly and drop leading "./".

* doc/install.texi (Downloading the source): Mark up
contrib/download_prerequisites properly and drop leading "./".

From-SVN: r227716

9 years agoDaily bump.
GCC Administrator [Sun, 13 Sep 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227715

9 years agostop including tm.h in sendmsg.c
Trevor Saunders [Sat, 12 Sep 2015 22:19:11 +0000 (22:19 +0000)]
stop including tm.h in sendmsg.c

libobjc/ChangeLog:

2015-09-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

PR libobjc/24775
* sendmsg.c (tm.h): Remove include.

From-SVN: r227712

9 years agoremove unused defines from sendmsg.c
Trevor Saunders [Sat, 12 Sep 2015 22:19:06 +0000 (22:19 +0000)]
remove unused defines from sendmsg.c

libobjc/ChangeLog:

2015-09-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

PR libobjc/24775
* sendmsg.c (gen_rtx): Remove macro.
(gen_rtx_MEM): Likewise.
(gen_rtx_REG): Likewise.
(rtx): Likewise.

From-SVN: r227711

9 years agoremove STRUCT_VALUE macro
Trevor Saunders [Sat, 12 Sep 2015 22:19:00 +0000 (22:19 +0000)]
remove STRUCT_VALUE macro

This macro was converted to the TARGET_STRUCT_VALUE_RTX hook many years
ago, however there are still some lingering definitions, and a use in
libobjc.  All the remaining definitions define the macro to 0, which
libobjc treats the same as undefined, so it won't break anything else to
have libobjc stop checking the macro.  However it may be that this part
of libobjc has been broken for a long time on targets that only define
the hook, but that is a separate issue.

gcc/ChangeLog:

2015-09-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config/arc/arc.h: Remove define of STRUCT_VALUE.
* config/lm32/lm32.h: Likewise.
* config/mep/mep.h: Likewise.
* config/visium/visium.h: Likewise.
* system.h: Poison STRUCT_VALUE macro.

libobjc/ChangeLog:

2015-09-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

PR libobjc/24775
* sendmsg.c: Remove check of STRUCT_VALUE macro.

From-SVN: r227710

9 years agore PR ada/66965 (gnat.dg/specs/addr1.ads obsolete -- failing on trunk)
Eric Botcazou [Sat, 12 Sep 2015 16:35:20 +0000 (16:35 +0000)]
re PR ada/66965 (gnat.dg/specs/addr1.ads obsolete -- failing on trunk)

PR ada/66965
* gnat.dg/specs/addr1.ads: Remove.

From-SVN: r227709

9 years agopa.c (pa_output_move_double): Enhance to handle HIGH CONSTANT_P operands.
John David Anglin [Sat, 12 Sep 2015 13:51:40 +0000 (13:51 +0000)]
pa.c (pa_output_move_double): Enhance to handle HIGH CONSTANT_P operands.

* config/pa/pa.c (pa_output_move_double): Enhance to handle HIGH
CONSTANT_P operands.

From-SVN: r227706

9 years agore PR libfortran/67527 (io.h sanitizer complains on 1 << 31)
Francois-Xavier Coudert [Sat, 12 Sep 2015 12:05:44 +0000 (12:05 +0000)]
re PR libfortran/67527 (io.h sanitizer complains on 1 << 31)

PR libfortran/67527
PR libfortran/67535
PR libfortran/67536
* io/io.h: Use unsigned values for 31-bit left shifts.
* io/unix.c (buf_read): Do not call memcpy() with NULL pointer arg.
* io/write.c (nml_write_obj): Likewise.

From-SVN: r227705

9 years agoDaily bump.
GCC Administrator [Sat, 12 Sep 2015 00:16:10 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227704

9 years agoConvert SPARC backend over to LRA.
David S. Miller [Sat, 12 Sep 2015 00:13:23 +0000 (00:13 +0000)]
Convert SPARC backend over to LRA.

gcc/

* config/sparc/constraints.md: Make "U" constraint a real register
constraint.
* config/sparc/sparc.c (TARGET_LRA_P): Define.
(D_MODES, DF_MODES): Add missing cast.
(TF_MODES, TF_MODES_NO_S): Include T_MODE.
(OF_MODES, OF_MODES_NO_S): Include O_MODE.
(sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory
cost to 8.
* config/sparc/sparc.h (PROMOTE_MODE): Define.
* config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
provide these insn when flag_pic.

From-SVN: r227701

9 years agocompiler: Avoid unsafe memcmp for nointerface comments.
Ian Lance Taylor [Fri, 11 Sep 2015 21:41:30 +0000 (21:41 +0000)]
compiler: Avoid unsafe memcmp for nointerface comments.

    Fixes golang/go#11577.

    Reviewed-on: https://go-review.googlesource.com/14182

From-SVN: r227699

9 years ago[PATCH] Another small cleanup to the const_and_copies stack
Jeff Law [Fri, 11 Sep 2015 21:32:38 +0000 (15:32 -0600)]
[PATCH] Another small cleanup to the const_and_copies stack

2015-09-11  Jeff Law  <law@redhat.com>

PR tree-optimization/47679
* tree-ssa-dom.c (struct cond_equivalence): Update comment.
* tree-ssa-scopedtables.h (class const_and_copies): Prefix data
member with m_.  Update inline member functions as necessary.  Add
toplevel comment.
* tree-ssa-scopedtables.c: Update const_and_copies's member
functions to use m_ prefix to access the stack.

From-SVN: r227697

9 years agoRemove dead code from graphite-optimize-isl.c
Aditya Kumar [Fri, 11 Sep 2015 19:50:48 +0000 (19:50 +0000)]
Remove dead code from graphite-optimize-isl.c

The variable `static bool enable_polly_vector' is always assigned to false.
This results in dead code in optimize-isl.c.  No functional change intended.

Passes bootstrap and regtest.

gcc/ChangeLog:

2015-09-11  Aditya Kumar  <aditya.k7@samsung.com>

* graphite-optimize-isl.c (disable_tiling): Remove.
(get_schedule_for_band): Do not use disable_tiling.
(get_prevector_map): Delete function.
(enable_polly_vector): Remove.
(get_schedule_for_band_list): Remove dead code.

From-SVN: r227696

9 years agoRefactor optimize isl
Aditya Kumar [Fri, 11 Sep 2015 19:50:41 +0000 (19:50 +0000)]
Refactor optimize isl

Refactor graphite-optimize-isl.c. Renamed function name, variable names etc.,
and indented the source according to gcc style guidelines.  Modified comments
accordingly. No functional change intended.

Passes regtest and bootstap on x86_64.

gcc/ChangeLog:

2015-09-10  Aditya Kumar  <aditya.k7@samsung.com>

        * graphite-optimize-isl.c (get_tile_map): Refactor.
        (get_schedule_for_band): Same.
        (getScheduleForBand): Same.
        (get_prevector_map): Same.
        (get_schedule_for_band_list): Same.
        (get_schedule_map): Same.
        (get_single_map): Same.
        (apply_schedule_map_to_scop): Same.
        (optimize_isl): Same.

From-SVN: r227695

9 years agoMakefile.am (backtrace.lo): Depend on internal.h.
Ian Lance Taylor [Fri, 11 Sep 2015 18:37:31 +0000 (18:37 +0000)]
Makefile.am (backtrace.lo): Depend on internal.h.

* Makefile.am (backtrace.lo): Depend on internal.h.
(sort.lo, stest.lo): Add explicit dependencies.
* Makefile.in: Rebuild.

From-SVN: r227691

9 years agoFix filesystem::canonical on Solaris 10.
Jonathan Wakely [Fri, 11 Sep 2015 14:20:32 +0000 (15:20 +0100)]
Fix filesystem::canonical on Solaris 10.

PR libstdc++/67173
* src/filesystem/ops.cc (filesystem::canonical): Allocate buffer for
realpath on Solaris 10.

From-SVN: r227689

9 years agoCheck read() result in std::random_device.
Jonathan Wakely [Fri, 11 Sep 2015 13:44:26 +0000 (14:44 +0100)]
Check read() result in std::random_device.

PR libstdc++/65142
* src/c++11/random.cc (random_device::_M_getval()): Check read result.

From-SVN: r227687

9 years agoFix invalid UTF-8 in wchar_t tests.
John Marino [Fri, 11 Sep 2015 13:06:42 +0000 (13:06 +0000)]
Fix invalid UTF-8 in wchar_t tests.

2015-09-11  John Marino  <gnugcc@marino.st>
    Jonathan Wakely  <jwakely@redhat.com>

PR libstdc++/67096
* testsuite/22_locale/codecvt/in/wchar_t/4.cc: Do not test code points
above U+10FFFF.
* testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
* testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
* testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
* testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
* testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
* testsuite/27_io/objects/wchar_t/10.cc: Likewise.
* testsuite/27_io/objects/wchar_t/11.cc: Likewise.
* testsuite/27_io/objects/wchar_t/12.cc: Likewise.
* testsuite/27_io/objects/wchar_t/13.cc: Likewise.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r227686

9 years agoRationalise PCH headers and 17_intro/headers tests.
Jonathan Wakely [Fri, 11 Sep 2015 12:25:43 +0000 (13:25 +0100)]
Rationalise PCH headers and 17_intro/headers tests.

PR libstdc++/64857
* doc/xml/manual/using.xml: Improve aggregate header documentation.
* doc/html/manual/*: Regenerate.
* include/precompiled/extc++.h: Include <bits/stdc++.h> for C++11
and later and include more extension headers.
* testsuite/17_intro/headers/c++1998/all_attributes.cc: Remove
redundant header.
* testsuite/17_intro/headers/c++200x/: Rename to c++2011.
* testsuite/17_intro/headers/c++2014/all_attributes.cc: Remove
redundant headers.
* testsuite/17_intro/headers/c++2014/all_no_exceptions.cc: New.
* testsuite/17_intro/headers/c++2014/all_no_rtti.cc: New.
* testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc: New.
* testsuite/17_intro/headers/c++2014/operator_names.cc: New.
* testsuite/17_intro/headers/c++2014/stdc++.cc: New.
* testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
New.

From-SVN: r227684

9 years agoLink gcc.dg/pie-link.c with -pie
Rainer Orth [Fri, 11 Sep 2015 11:10:03 +0000 (11:10 +0000)]
Link gcc.dg/pie-link.c with -pie

* gcc.dg/pie-link.c: Add -pie to dg-options.

From-SVN: r227682

9 years agoImplement N4258 noexcept for std::basic_string.
Jonathan Wakely [Fri, 11 Sep 2015 11:02:14 +0000 (12:02 +0100)]
Implement N4258 noexcept for std::basic_string.

PR libstdc++/58265
* doc/xml/manual/intro.xml: Document LWG 2063 and 2064 resolutions.
* doc/html/manual/bugs.html: Regenerate.
* include/bits/basic_string.h (basic_string): Implement N4258. Add
correct exception-specifications and propagate allocators correctly.
* include/bits/basic_string.tcc (basic_string::swap): Propagate
allocators correctly.
* include/debug/string (__gnu_debug::basic_string): Add correct
exceptions-specifications and allcoator-extended constructors.
* testsuite/21_strings/basic_string/allocator/char/copy.cc: New.
* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
New.
* testsuite/21_strings/basic_string/allocator/char/minimal.cc: New.
* testsuite/21_strings/basic_string/allocator/char/move.cc: New.
* testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
New.
* testsuite/21_strings/basic_string/allocator/char/noexcept.cc: New.
* testsuite/21_strings/basic_string/allocator/char/swap.cc: New.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: New.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
New.
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: New.
* testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: New.
* testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
New.
* testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: New.
* testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: New.
* testsuite/util/testsuite_allocator.h (tracker_allocator): Define
defaulted assignment operators.

From-SVN: r227681

9 years agoAllocator-extended constructors for container adaptors.
Jonathan Wakely [Fri, 11 Sep 2015 09:51:29 +0000 (10:51 +0100)]
Allocator-extended constructors for container adaptors.

PR libstdc++/65092
* include/bits/stl_queue.h (queue, priority_queue): Add
allocator-extended constructors.
* include/bits/stl_stack.h (stack): Likewise.
* testsuite/23_containers/priority_queue/requirements/
uses_allocator.cc: Test allocator-extended constructors.
* testsuite/23_containers/queue/requirements/uses_allocator.cc:
Likewise.
* testsuite/23_containers/stack/requirements/uses_allocator.cc:
Likewise.

From-SVN: r227680

9 years agoRemove separate movtf pattern - Use an iterator for all FP modes.
Ramana Radhakrishnan [Fri, 11 Sep 2015 09:44:26 +0000 (09:44 +0000)]
Remove separate movtf pattern - Use an iterator for all FP modes.

movtf is unnecessary as a separate expander. Move this to be with
the standard scalar floating point expanders.

Achieved by adding a new iterator and then using the same.

Tested cross aarch64-none-elf and no regressions.

Rebased version from https://gcc.gnu.org/ml/gcc-patches/2015-09/msg00767.html

2015-09-10  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR target/63304
        * config/aarch64/aarch.md (mov<mode>:GPF_F16): Use GPF_TF_F16.
        (movtf): Delete.
        * config/aarch64/iterators.md (GPF_TF_F16): New.
        (GPF_F16): Delete.

From-SVN: r227679

9 years agopr63210.c (dg-skip-if): Skip armv4t.
Alex Velenko [Fri, 11 Sep 2015 09:25:59 +0000 (09:25 +0000)]
pr63210.c (dg-skip-if): Skip armv4t.

gcc/testsuite

* gcc.target/arm/pr63210.c (dg-skip-if): Skip armv4t.
(dg-additional-options): Add -march=armv5t if arm_arch_v5t_ok.

From-SVN: r227677

9 years agoMake sure that contrib/download_prerequisites is run from correct place
Markus Trippelsdorf [Fri, 11 Sep 2015 06:09:36 +0000 (06:09 +0000)]
Make sure that contrib/download_prerequisites is run from correct place

* download_prerequisites: Make sure that script is run from
top level source directory.

From-SVN: r227674

9 years agolibgo/runtime: return 0, not NULL, from main
Ian Lance Taylor [Fri, 11 Sep 2015 03:12:28 +0000 (03:12 +0000)]
libgo/runtime: return 0, not NULL, from main

    Reviewed-on: https://go-review.googlesource.com/13421

From-SVN: r227673

9 years agoDaily bump.
GCC Administrator [Fri, 11 Sep 2015 00:16:10 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227671