Commit Graph

140850 Commits

Author SHA1 Message Date
Ian Lance Taylor 1d44db181f compiler: Don't crash on malformed numeric constants.
Fixes golang/go#11548.
    
    Reviewed-on: https://go-review.googlesource.com/13794

From-SVN: r227830
2015-09-16 17:21:33 +00:00
Paolo Carlini 48c6522f71 invoke.texi ([Wsubobject-linkage]): Extend documentation.
2015-09-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* doc/invoke.texi ([Wsubobject-linkage]): Extend documentation.

From-SVN: r227828
2015-09-16 15:14:39 +00:00
Segher Boessenkool 86b107aea1 shrink-wrap: Fix up partitions (PR67587)
With the new shrink-wrap algorithm, blocks reachable both with and
without prologue are duplicated, and their incoming edges are then
distributed accordingly.  So we need to call fixup_partitions.


2015-09-16  Segher Boessenkool  <segher@kernel.crashing.org>

	PR bootstrap/67587
	* function.c (rest_of_handle_thread_prologue_and_epilogue): Call
	fixup_partitions.

From-SVN: r227827
2015-09-16 17:02:32 +02:00
Richard Biener ae2ffe2a03 re PR tree-optimization/67253 (ICE at -O3 on x86_64-linux-gnu (verify_gimple failed))
2015-09-16  Richard Biener  <rguenther@suse.de>

	PR middle-end/67253
	* cfgexpand.c (expand_gimple_stmt_1): Do not clobber
	location of possibly shared trees.

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

From-SVN: r227826
2015-09-16 14:27:52 +00:00
Richard Biener 486bc8471f re PR middle-end/67271 (ICE with -O1,2,3 on darwin14.5 x86_64)
2015-09-16  Richard Biener  <rguenther@suse.de>

	PR middle-end/67271
	* fold-const.c (native_encode_expr): Bail out on bogus offsets.

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

From-SVN: r227825
2015-09-16 14:26:04 +00:00
Eric Botcazou b0463d3db4 tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Use offset_int for offset and size computations instead of HOST_WIDE_INT.
* tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Use offset_int for
	offset and size computations instead of HOST_WIDE_INT.

From-SVN: r227819
2015-09-16 10:02:21 +00:00
Richard Biener 87261d2685 re PR middle-end/67442 (GCC 5.2.0 on x86_64 creates invalid address on specific array index calculation through pointer)
2015-09-16  Richard Biener  <rguenther@suse.de>

	PR middle-end/67442
	* fold-const.c (extract_muldiv_1): Properly extend multiplication
	result before builting a tree via wide_int_to_tree.

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

From-SVN: r227818
2015-09-16 07:25:15 +00:00
Mikhail Maltsev fcb87c50b0 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
2015-09-16 00:56:54 +00:00
GCC Administrator 5e4e62af0c Daily bump.
From-SVN: r227816
2015-09-16 00:16:11 +00:00
Ian Lance Taylor 4ed054aee9 compiler: Report init dependency errors with builtin functions.
Fixes golang/go#12319.
    
    Reviewed-on: https://go-review.googlesource.com/13931

From-SVN: r227813
2015-09-15 23:12:03 +00:00
Ian Lance Taylor a2bf11d16a 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
2015-09-15 21:15:37 +00:00
Max Filippov c8338173d7 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
2015-09-15 19:30:32 +00:00
Max Filippov e1b8828bc8 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
2015-09-15 19:24:26 +00:00
Eric Botcazou cc6fbd8040 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
2015-09-15 17:57:49 +00:00
Uros Bizjak 10d48e7cd9 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
2015-09-15 19:50:15 +02:00
Marek Polacek 0e36f5c7c1 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
2015-09-15 17:19:11 +00:00
Ian Lance Taylor c33c18cdc6 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
2015-09-15 17:05:14 +00:00
Jeff Law 10e0393ceb [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
2015-09-15 11:03:49 -06:00
David Malcolm 31bdd08a9d 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
2015-09-15 16:53:01 +00:00
Eric Botcazou c55721c0df 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
2015-09-15 16:25:59 +00:00
Kyrylo Tkachov 78dc36f80a [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
2015-09-15 15:03:23 +00:00
Richard Biener 4f912f91a0 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
2015-09-15 14:10:10 +00:00
Christian Bruel 20adfc6c1c 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
2015-09-15 15:46:57 +02:00
Christian Bruel c8b6aa7c12 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
2015-09-15 15:43:17 +02:00
Alan Lawrence 635e66fec3 [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
2015-09-15 13:16:58 +00:00
Alan Lawrence 97755701af [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
2015-09-15 13:09:45 +00:00
Marek Polacek 2f3bb934a1 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
2015-09-15 12:48:50 +00:00
Alan Lawrence abf47511f5 [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
2015-09-15 12:48:15 +00:00
Alan Lawrence d866f024fd [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
2015-09-15 12:43:07 +00:00
Richard Biener f6b4dc28f9 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
2015-09-15 12:37:19 +00:00
Alan Lawrence 6ec0e5b9c3 [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
2015-09-15 12:33:42 +00:00
Ian Lance Taylor 7e56d66864 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
2015-09-15 12:32:31 +00:00
Alan Lawrence f4720b94c4 [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
2015-09-15 12:28:20 +00:00
Alan Lawrence 6960bf558f [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
2015-09-15 12:11:27 +00:00
Alan Lawrence d30ab8e0b7 [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
2015-09-15 11:39:12 +00:00
Andreas Krebbel ceab0d1618 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
2015-09-15 11:07:16 +00:00
Richard Biener a9dfad6dff 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
2015-09-15 08:00:30 +00:00
Richard Biener 07a4fb4bbf match-and-simplify.texi: Fix wording.
2015-09-15  Richard Biener  <rguenther@suse.de>

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

From-SVN: r227778
2015-09-15 07:33:15 +00:00
Ian Lance Taylor 44c925bdb0 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
2015-09-15 03:43:01 +00:00
Bin Cheng f468efc59b 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
2015-09-15 02:12:47 +00:00
Segher Boessenkool 23997c53b8 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
2015-09-15 02:38:21 +02:00
Rich Felker 311adabec5 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
2015-09-15 00:20:14 +00:00
GCC Administrator 5ff5573112 Daily bump.
From-SVN: r227773
2015-09-15 00:16:11 +00:00
Jeff Law 55133eae28 [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
2015-09-14 14:10:30 -06:00
Jason Merrill 65440c482a 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
2015-09-14 15:54:27 -04:00
Manuel López-Ibáñez 0d179691da 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
2015-09-14 19:27:50 +00:00
Ian Lance Taylor 34e9851362 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
2015-09-14 17:54:08 +00:00
Richard Sandiford 5c270a92a8 [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
2015-09-14 17:44:22 +00:00
Uros Bizjak 81fc32171d ChangeLog: Fix shitespace.
* ChangeLog: Fix shitespace.
	* testsuite/ChangeLog: Ditto.

From-SVN: r227756
2015-09-14 19:41:13 +02:00
Uros Bizjak b4e240a156 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
2015-09-14 19:07:58 +02:00