Commit Graph

146170 Commits

Author SHA1 Message Date
Fritz Reese f6288c2431 re PR fortran/56226 (Add support for DEC UNION and MAP extensions)
2016-05-07  Fritz Reese  <fritzoreese@gmail.com>

	PR fortran/56226
	* module.c (dt_upper_string): Rename to gfc_dt_upper_string
	(dt_lower_string): Likewise.
	* gfortran.h: Make new gfc_dt_upper/lower_string global.
	* class.c: Use gfc_dt_upper_string.
	* decl.c: Likewise.
	* symbol.c: Likewise.
	* resolve.c (resolve_component): New function.
	(resolve_fl_derived0): Move component loop code to resolve_component.
	* parse.c (check_component): New function.
	(parse_derived): Move loop code to check_component.
	* lang.opt, invoke.texi, options.c : New option -fdec-structure.
	* libgfortran.h (bt): New basic type BT_UNION.
	* gfortran.h (gfc_option): New option -fdec-structure.
	(gfc_get_union_type, gfc_compare_union_types): New prototypes.
	(gfc_bt_struct, gfc_fl_struct, case_bt_struct, case_fl_struct): New
	macros.
	(gfc_find_component): Change prototype.
	* match.h (gfc_match_member_sep, gfc_match_map, gfc_match_union,
	gfc_match_structure_decl): New prototypes.
	* parse.h (gfc_comp_struct): New macro.
	* symbol.c (gfc_find_component): Search for components in nested unions
	* class.c (insert_component_ref, gfc_add_component_ref, add_proc_comp,
	copy_vtab_proc_comps): Update calls to gfc_find_component.
	* primary.c (gfc_convert_to_structure_constructor): Likewise.
	* symbol.c (gfc_add_component): Likewise.
	* resolve.c (resolve_typebound_function, resolve_typebound_subroutine,
	resolve_typebound_procedure, resolve_component, resolve_fl_derived):
	Likewise.
	* expr.c (get_union_init, component_init): New functions.
	* decl.c (match_clist_expr, match_record_decl, get_struct_decl,
	gfc_match_map, gfc_match_union, gfc_match_structure_decl): Likewise.
	* interface.c (compare_components, gfc_compare_union_types): Likewise.
	* match.c (gfc_match_member_sep): Likewise.
	* parse.c (check_component, parse_union, parse_struct_map): Likewise.
	* resolve.c (resolve_fl_struct): Likewise.
	* symbol.c (find_union_component): Likewise.
	* trans-types.c (gfc_get_union_type): Likewise.
	* parse.c (parse_derived): Use new functions.
	* interface.c (gfc_compare_derived_types, gfc_compare_types): Likewise.
	* expr.c (gfc_default_initializer): Likewise.
	* gfortran.texi: Support for DEC structures, unions, and maps.
	* gfortran.h (gfc_statement, sym_flavor): Likewise.
	* check.c (gfc_check_kill_sub): Likewise.
	* expr.c (gfc_copy_expr, simplify_const_ref,
	gfc_has_default_initializer): Likewise.
	* decl.c (build_sym, match_data_constant, add_init_expr_to_sym,
	match_pointer_init, build_struct, variable_decl,
	gfc_match_decl_type_spec, gfc_mach_data-decl, gfc_match_entry,
	gfc_match_end, gfc_match_derived_decl): Likewise.
	* interface.c (check_interface0, check_interface1,
	gfc_search_interface): Likewise.
	* misc.c (gfc_basic_typename, gfc_typename): Likewise.
	* module.c (add_true_name, build_tnt, bt_types, mio_typespec,
	fix_mio_expr, load_needed, mio_symbol, read_module, write_symbol,
	gfc_get_module_backend_decl): Likewise.
	* parse.h (gfc_compile_state): Likewise.
	* parse.c (decode_specification_statement, decode_statement,
	gfc_ascii_statement, verify_st_order, parse_spec): Likewise.
	* primary.c (gfc_match_varspec, gfc_match_structure_constructor,
	gfc_match_rvalue, match_variable): Likewise.
	* resolve.c (find_arglists, resolve_structure_cons,
	is_illegal_recursion, resolve_generic_f, get_declared_from_expr,
	resolve_typebound_subroutine, resolve_allocate_expr,
	nonscalar_typebound_assign, generate_component_assignments,
	resolve_fl_variable_derived, check_defined_assignments,
	resolve_component, resolve_symbol, resolve_equivalence_derived):
	Likewise.
	* symbol.c (flavors, check_conflict, gfc_add_flavor, gfc_use_derived,
	gfc_restore_last_undo_checkpoint, gfc_type_compatible,
	gfc_find_dt_in_generic): Likewise.
	* trans-decl.c (gfc_get_module_backend_decl, create_function_arglist,
	gfc_create_module_variable, check_constant_initializer): Likewise.
	* trans-expr.c (gfc_conv_component_ref, gfc_conv_initializer,
	gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign,
	gfc_conv_structure, gfc_trans_scalar_assign, copyable_array_p):
	Likewise.
	* trans-io.c (transfer_namelist_element, transfer_expr,
	gfc_trans_transfer): Likewise.
	* trans-stmt.c (gfc_trans_deallocate): Likewise.
	* trans-types.c (gfc_typenode_for_spec, gfc_copy_dt_decls_ifequal,
	gfc_get_derived_type): Likewise.

2016-05-07  Fritz Reese  <fritzoreese@gmail.com>

	PR fortran/56226
	* gfortran.dg/dec_structure_1.f90: New testcase.
	* gfortran.dg/dec_structure_2.f90: Ditto.
	* gfortran.dg/dec_structure_3.f90: Ditto.
	* gfortran.dg/dec_structure_4.f90: Ditto.
	* gfortran.dg/dec_structure_5.f90: Ditto.
	* gfortran.dg/dec_structure_6.f90: Ditto.
	* gfortran.dg/dec_structure_7.f90: Ditto.
	* gfortran.dg/dec_structure_8.f90: Ditto.
	* gfortran.dg/dec_structure_9.f90: Ditto.
	* gfortran.dg/dec_structure_10.f90: Ditto.
	* gfortran.dg/dec_structure_11.f90: Ditto.
	* gfortran.dg/dec_union_1.f90: Ditto.
	* gfortran.dg/dec_union_2.f90: Ditto.
	* gfortran.dg/dec_union_3.f90: Ditto.
	* gfortran.dg/dec_union_4.f90: Ditto.
	* gfortran.dg/dec_union_5.f90: Ditto.
	* gfortran.dg/dec_union_6.f90: Ditto.
	* gfortran.dg/dec_union_7.f90: Ditto.

From-SVN: r235999
2016-05-07 23:16:23 +00:00
Jim Wilson c76623e712 Emit vmov.i64 to load 0.0 into FP reg when neon enabled.
* config/arm/arm.md: (arch): Add neon.
	(arch_enabled): Return yes for arch neon when TARGET_NEON.
	* config/arm/vfp.md (movdf_vfp): Add w/G as alternative 3.  Add
	neon_move as type for alt 3.  Add arch attr enabling alt 3 for neon.
	Emit vmov.i64 for alt 3.  Renumber alternatives 3 to 8.  Adjust
	attributes for alt renumbering.  Mark alt 3 as non-predicable.
	(thumb2_movdf_vfp): Likewise.

From-SVN: r235998
2016-05-07 16:11:57 -07:00
Uros Bizjak 764b257d43 i386.md (*addqi_1): Add preferred_for_speed attribute to disparage alternatives 3 and 4 for...
* config/i386/i386.md (*addqi_1): Add preferred_for_speed attribute
	to disparage alternatives 3 and 4 for TARGET_PARTIAL_REG_STALL targets.
	(*andqi_1): Add preferred_for_speed attribute to disparage
	alternative 2 for TARGET_PARTIAL_REG_STALL targets.
	(*<code>qi_1): Ditto.
	(*one_cmplqi2_1): Add preferred_for_speed attribute to disparage
	alternative 1 for TARGET_PARTIAL_REG_STALL targets.
	(*ashlqi3_1): Ditto.
	(*swap<mode>): Merge from *swap<mode>_1 and *swap<mode>_2 patterns.
	Add preferred_for_size attribute to disparage alternative 0 and
	preferred_for_speed attribute to disparage alternative 1 for
	TARGET_PARTIAL_REG_STALL targets.

From-SVN: r235996
2016-05-07 16:36:11 +02:00
Tom de Vries 5ec4a8cd76 Handle NULL def in build_cross_bb_scalars_def
2016-05-07  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/70956
	* graphite-scop-detection.c (build_cross_bb_scalars_def): Handle NULL
	def.

	* gcc.dg/graphite/pr70956.c: New test.

From-SVN: r235994
2016-05-07 06:47:07 +00:00
Oleg Endo e22daa4bb5 sh-protos.h (sh_cbranch_distance): Declare new function.
gcc/
	* config/sh/sh-protos.h (sh_cbranch_distance): Declare new function.
	* config/sh/sh.c (sh_cbranch_distance): Implement it.
	* config/sh/sh.md (branch_zero): Remove define_attr.
	(define_delay): Disable delay slot if branch distance is one insn.

From-SVN: r235993
2016-05-07 01:43:12 +00:00
GCC Administrator 02ceba4404 Daily bump.
From-SVN: r235992
2016-05-07 00:16:19 +00:00
Ian Lance Taylor 2c418e1f8f escape: Add escape graph nodes.
Introduces the nodes used to model connectivity in the escape graph
    and related state: a node's escape level and an encoding that will
    be added to import and export data.
    
    Reviewed-on: https://go-review.googlesource.com/18268

From-SVN: r235988
2016-05-06 21:24:19 +00:00
Uros Bizjak 5e5b938aba i386.md (LEAMODE): New mode attribute.
* config/i386/i386.md (LEAMODE): New mode attribute.
	(plus to LEA splitter): Rewrite splitter using LEAMODE mode attribute.
	(ashift to LEA splitter): Rewrte splitter using SWI mode iterator
	and LEAMODE mode attribute.  Use VOIDmode const_0_to_3_operand as
	operand 2 predicate.
	(*lea<mode>_general_2): Use VOIDmode for const248_operand.
	(*lea<mode>_general_3): Ditto.
	(*lea<mode>_general_4): Use VOIDmode for const_0_to_3_operand.

From-SVN: r235987
2016-05-06 23:14:20 +02:00
Jakub Jelinek e796fd77d3 * genmddump.c (main): Convert argv from char ** to const char **.
From-SVN: r235985
2016-05-06 22:42:10 +02:00
Uros Bizjak 64c06b13d3 i386.md (int cmove peephole2s): Use general_reg_operand instead of register_and_not_any_fp_reg_operand as...
* config/i386/i386.md (int cmove peephole2s): Use general_reg_operand
	instead of register_and_not_any_fp_reg_operand as operand 0 predicate.
	* config/i386/predicates.md (register_and_not_any_fp_reg_operand):
	Remove unused predicate.
	(register_and_not_fp_reg_operand): Ditto.

From-SVN: r235983
2016-05-06 20:24:40 +02:00
Chris Manghane 2a30f87f75 escape: Add skeleton for gc analysis.
Introduces a skeleton replacement escape analysis
    which contains four different phases extracted from the escape
    analysis implementation in gc/esc.go.  Also introduces the
    Escape_context each phase uses to make decisions.
    
    Reviewed-on: https://go-review.googlesource.com/18220

From-SVN: r235982
2016-05-06 17:37:55 +00:00
David Malcolm a89f917b67 Add OVERRIDE and FINAL macros to coretypes.h
gcc/ChangeLog:
	* coretypes.h (OVERRIDE): New macro.
	(FINAL): New macro.

From-SVN: r235981
2016-05-06 17:02:01 +00:00
Eric Botcazou 0e19f3b334 tree-ssa-coalesce.c (gimple_can_coalesce_p): In the optimized case, allow coalescing if the types are compatible.
* tree-ssa-coalesce.c (gimple_can_coalesce_p): In the optimized case,
	allow coalescing if the types are compatible.

From-SVN: r235980
2016-05-06 15:54:15 +00:00
Jakub Jelinek ccd88fb795 re PR target/70941 (Test miscompiled with -O2.)
PR middle-end/70941
	* gcc.dg/torture/pr70941.c (abort): Remove prototype.
	(a, b, c, d): Change type from char to signed char.
	(main): Compare against (signed char) -1634678893 instead of
	hardcoded -109.  Use __builtin_abort instead of abort.

From-SVN: r235978
2016-05-06 17:23:56 +02:00
David Malcolm 58d4c8364b Move name_to_pass_map into class pass_manager
gcc/ChangeLog:
	* pass_manager.h (pass_manager::register_pass_name): New method.
	(pass_manager::get_pass_by_name): New method.
	(pass_manager::create_pass_tab): New method.
	(pass_manager::m_name_to_pass_map): New field.
	* passes.c (name_to_pass_map): Delete global in favor of field
	"m_name_to_pass_map" of pass_manager.
	(register_pass_name): Rename from a function to...
	(pass_manager::register_pass_name): ...this method, updating
	for renaming of global "name_to_pass_map" to field
	"m_name_to_pass_map".
	(create_pass_tab): Rename from a function to...
	(pass_manager::create_pass_tab): ...this method, updating
	for renaming of global "name_to_pass_map" to field.
	(get_pass_by_name): Rename from a function to...
	(pass_manager::get_pass_by_name): ...this method.
	(enable_disable_pass): Convert use of get_pass_by_name to
	a method call, locating the pass_manager singleton.

From-SVN: r235977
2016-05-06 15:18:59 +00:00
David Malcolm 66b0fe8f4e Make argv const char ** in read_md_files etc
gcc/ChangeLog:
	* genattr-common.c (main): Convert argv from
	char ** to const char **.
	* genattr.c (main): Likewise.
	* genattrtab.c (main): Likewise.
	* genautomata.c (initiate_automaton_gen): Likewise.
	(main): Likewise.
	* gencodes.c (main): Likewise.
	* genconditions.c (main): Likewise.
	* genconfig.c (main): Likewise.
	* genconstants.c (main): Likewise.
	* genemit.c (main): Likewise.
	* genenums.c (main): Likewise.
	* genextract.c (main): Likewise.
	* genflags.c (main): Likewise.
	* genmddeps.c (main): Likewise.
	* genopinit.c (main): Likewise.
	* genoutput.c (main): Likewise.
	* genpeep.c (main): Likewise.
	* genpreds.c (main): Likewise.
	* genrecog.c (main): Likewise.
	* gensupport.c (init_rtx_reader_args_cb): Likewise.
	(init_rtx_reader_args): Likewise.
	* gensupport.h (init_rtx_reader_args_cb): Likewise.
	(init_rtx_reader_args): Likewise.
	* gentarget-def.c (main): Likewise.
	* read-md.c (read_md_files): Likewise.
	* read-md.h (read_md_files): Likewise.

From-SVN: r235976
2016-05-06 15:14:05 +00:00
Uros Bizjak 9c5e57dfb7 i386.md (int cmove peephole2s): Use general_reg_operand instead of register_and_not_any_fp_reg_operand as...
* config/i386/i386.md (int cmove peephole2s): Use general_reg_operand
	instead of register_and_not_any_fp_reg_operand as operand 0 predicate.
	* config/i386/predicates.md (register_and_not_any_fp_reg_operand):
	Remove unused predicate.
	(register_and_not_fp_reg_operand): Ditto.

From-SVN: r235975
2016-05-06 16:34:58 +02:00
Martin Liska 734c152691 Fix memory leak in tree-if-conv.c
* tree-if-conv.c (ifcvt_split_critical_edges): Use auto_vec
	instead of vec as the vector is local to the function.

From-SVN: r235974
2016-05-06 14:26:23 +00:00
Jakub Jelinek 9bdf001b7a sse.md (*<code>v8hi3, [...]): Add avx512bw alternative.
* config/i386/sse.md (*<code>v8hi3, *<code>v16qi3): Add
	avx512bw alternative.

From-SVN: r235973
2016-05-06 15:16:00 +02:00
Jakub Jelinek dd3b6464c5 sse.md (<mask_codefor>ashr<mode>3<mask_name>): Move before the ashr<mode>3 pattern.
* config/i386/sse.md (<mask_codefor>ashr<mode>3<mask_name>): Move
	before the ashr<mode>3 pattern.

	* gcc.target/i386/avx512bw-vpsraw-3.c: New test.
	* gcc.target/i386/avx512vl-vpsrad-3.c: New test.

From-SVN: r235972
2016-05-06 15:15:24 +02:00
Jakub Jelinek 58ec1d0e67 sse.md (*avx2_pmaddwd, [...]): Use v instead of x in vex or maybe_vex alternatives...
* config/i386/sse.md (*avx2_pmaddwd, *sse2_pmaddwd): Use
	v instead of x in vex or maybe_vex alternatives, use
	maybe_evex instead of vex in prefix.

	* gcc.target/i386/avx512bw-vpmaddwd-3.c: New test.

From-SVN: r235971
2016-05-06 15:14:34 +02:00
Jakub Jelinek 5111f1d4ac sse.md (*vec_extractv4sf_0, [...]): Use v instead of x in vex or maybe_vex alternatives...
* config/i386/sse.md (*vec_extractv4sf_0, *sse4_1_extractps,
	*vec_extractv4sf_mem, vec_extract_lo_v16hi, vec_extract_hi_v16hi,
	vec_extract_lo_v32qi, vec_extract_hi_v32qi): Use v instead of x
	in vex or maybe_vex alternatives, use maybe_evex instead of vex
	in prefix.

From-SVN: r235970
2016-05-06 15:13:09 +02:00
Jakub Jelinek 17f9471472 sse.md (*vec_concatv2sf_sse4_1, [...]): Use v instead of x in vex or maybe_vex alternatives...
* config/i386/sse.md (*vec_concatv2sf_sse4_1, *vec_concatv4sf): Use
	v instead of x in vex or maybe_vex alternatives, use
	maybe_evex instead of vex in prefix.

From-SVN: r235969
2016-05-06 15:12:32 +02:00
Jakub Jelinek e239397b2c sse.md (sse_shufps_<mode>, [...]): Use v instead of x in vex or maybe_vex alternatives...
* config/i386/sse.md (sse_shufps_<mode>, sse_storehps, sse_loadhps,
	sse_storelps, sse_movss, avx2_vec_dup<mode>, avx2_vec_dupv8sf_1,
	sse2_shufpd_<mode>, sse2_storehpd, sse2_storelpd, sse2_loadhpd,
	sse2_loadlpd, sse2_movsd): Use v instead of x in vex or maybe_vex
	alternatives, use maybe_evex instead of vex in prefix.

From-SVN: r235968
2016-05-06 15:11:56 +02:00
Jakub Jelinek fa13cb1519 * config/i386/sse.md (vec_interleave_lowv4sf,
*vec_interleave_highv2df, *vec_interleave_lowv2df): Use
	v instead of x in vex or maybe_vex alternatives, use
	maybe_evex instead of vex in prefix.

From-SVN: r235967
2016-05-06 15:11:17 +02:00
Jakub Jelinek 924099a0dc sse.md (sse_movhlps, [...]): Use v instead of x in vex or maybe_vex alternatives...
* config/i386/sse.md (sse_movhlps, sse_movlhps): Use
	v instead of x in vex or maybe_vex alternatives, use
	maybe_evex instead of vex in prefix.

From-SVN: r235966
2016-05-06 15:10:39 +02:00
Jakub Jelinek 59401c609c sse.md (*avx_cvtpd2dq256_2, [...]): Use v constraint instead of x.
* config/i386/sse.md (*avx_cvtpd2dq256_2, *avx_cvtps2pd256_2): Use
	v constraint instead of x.

From-SVN: r235965
2016-05-06 15:09:53 +02:00
Nathan Sidwell 3433ee3503 gimple.c (gimple_call_same_target_p): Unique functions are eq.
* gimple.c (gimple_call_same_target_p): Unique functions are eq.
	* tree-ssa-tail-merge.c (same_succ::equal): Check pointer eq
	equality first.

From-SVN: r235964
2016-05-06 13:02:42 +00:00
Richard Biener ab4ccf2094 re PR tree-optimization/70948 (r235622 caused gcc.c-torture/execute/va-arg-pack-1.c execution failure AArch64)
2016-05-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/70948
	* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
	Properly clobber all fields of va_list for __builtin_va_start.

From-SVN: r235963
2016-05-06 12:53:26 +00:00
Yuri Rumyantsev 19aa23d84e re PR debug/70935 (ICE: verify_ssa failed (error: definition in block 9 does not dominate use in block 12) w/ -O3 -g)
gcc/

2016-05-06  Yuri Rumyantsev  <ysrumyan@gmail.com>

	PR debug/70935
	* tree-ssa-loop-unswitch.c (find_loop_guard): Reject guard edge with
	loop latch destination.

gcc/testsuite/

2016-05-06  Yuri Rumyantsev  <ysrumyan@gmail.com>

	PR debug/70935
	* gcc.dg/torture/pr70935.c: New test.

From-SVN: r235962
2016-05-06 12:07:25 +00:00
Martin Liska ac0e4fdebc Manual changes to GCC coding style in tree-ssa-uninit.c
* tree-ssa-uninit.c: Apply manual changes
	to the GNU coding style.
	(prune_uninit_phi_opnds): Rename from
	prune_uninit_phi_opnds_in_unrealizable_paths.

From-SVN: r235961
2016-05-06 11:27:28 +00:00
Oleg Endo d8997c4415 sh.opt (madjust-unroll, [...]): Remove deprecated options.
gcc/
	* config/sh/sh.opt (madjust-unroll, minvalid-symbols, msoft-atomic,
	mspace): Remove deprecated options.
	* doc/invoke.texi (SH options): Remove -mspace.

From-SVN: r235960
2016-05-06 11:05:49 +00:00
Oleg Endo c8c4abf28f sh.md (ic_invalidate_line_sh4a): Fix insn length.
gcc/
	* config/sh/sh.md (ic_invalidate_line_sh4a): Fix insn length.

From-SVN: r235957
2016-05-06 10:35:42 +00:00
Oleg Endo 74d5be8c57 sh.md (*cmpeqsi_t): Remove combine insn pattern and similar corresponding combine split pattern.
gcc/
	* config/sh/sh.md (*cmpeqsi_t): Remove combine insn pattern and similar
	corresponding combine split pattern.

From-SVN: r235956
2016-05-06 10:29:33 +00:00
Oleg Endo ce23a8ff10 Fix ChangeLog formatting.
From-SVN: r235955
2016-05-06 10:23:48 +00:00
Oleg Endo ae5f0df1d5 re PR target/58219 ([SH] mov.l insn length is wrong on SH2A)
gcc/
	PR target/58219
	* config/sh/predicates.md (long_displacement_mem_operand): New.
	* config/sh/sh.md (movsi_i): Allow for SH2A, disallow for any FPU.
	Add movi20, movi20s alternatives.  Adjust length attribute for
	alternatives.
	(movsi_ie): Allow for any FPU.  Adjust length attribute for
	alternatives.
	(movsi_i_lowpart): Add movi20, movi20s alternatives.  Adjust length
	attribute for alternatives.
	(*mov<mode>): Use long_displacement_mem_operand for length attribute.
	(*movdi_i, movdf_k, movdf_i4, movsf_i, movsf_ie, movsf_ie_ra): Adjust
	length attribute for alternatives.

gcc/testsuite/
	PR target/58219
	*gcc.target/sh/pr58219.c: New tests.

From-SVN: r235954
2016-05-06 10:20:13 +00:00
Richard Biener 078f7e37ba re PR tree-optimization/70960 (ICE: tree check: expected ssa_name, have integer_cst in ifcvt_walk_pattern_tree, at tree-if-conv.c:2465)
2016-05-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/70960
	* tree-if-conv.c (ifcvt_walk_pattern_tree): Handle non-SSA ops.

	* gfortran.fortran-torture/compile/pr70960.f90: New testcase.

From-SVN: r235953
2016-05-06 10:18:59 +00:00
Oleg Endo 765d7b5470 re PR target/52933 (SH Target: Use div0s for integer sign comparisons)
gcc/
	PR target/52933
	* config/sh/sh.md (*cmp_div0s_7, *cmp_div0s_8): Add div0s variants.
	* config/sh/sh.c (sh_rtx_costs): Add another div0s case.

gcc/testsuite/
	PR target/52933
	* gcc.target/sh/pr52933-1.c (test_31, test_32, test_33, test_34,
	test_35, test_36, test_37, test_38, test_39, test_40): New sub-tests.
	Adjust expected instruction counts.
	* gcc.target/sh/pr52933-2.c: Adjust expected instruction counts.

From-SVN: r235952
2016-05-06 09:52:35 +00:00
Marek Polacek 29c94e65e1 re PR sanitizer/70875 (ICE in get_ubsan_type_info_for_type with -fsanitize=undefined)
PR sanitizer/70875
	* ubsan.c (get_ubsan_type_info_for_type): Remove assert.

	* gcc.dg/ubsan/bounds-3.c: New test.

From-SVN: r235951
2016-05-06 09:47:25 +00:00
Oleg Endo 3684b02efb re PR target/54089 ([SH] Refactor shift patterns)
gcc/
	PR target/54089
	* config/sh/sh.md (*rotcr): Add another variant.

gcc/testsuite/
	PR target/54089
	* gcc.target/sh/pr54089-1.c (test_24): Add new sub-test.

From-SVN: r235950
2016-05-06 09:41:57 +00:00
Eric Botcazou 498988ad6a re PR ada/70969 (bootstrap failure: s-unstyp.ads:40:15: violation of No_Elaboration_Code_All at line 42)
PR ada/70969
	* system-darwin-ppc64.ads: Add pragma No_Elaboration_Code_All.
	* system-linux-armeb.ads: Likewise.
	* system-linux-mips64el.ads: Likewise.
	* system-linux-mips.ads: Likewise.
	* system-linux-mipsel.ads: Likewise.
	* system-linux-ppc64.ads: Likewise.
	* system-linux-sparcv9.ads: Likewise.
	* system-rtems.ads: Likewise.

From-SVN: r235946
2016-05-06 09:11:38 +00:00
Richard Biener 8706773f5a re PR fortran/70931 (ICE with -g in native_encode_initializer, bei dwarf2out.c:17768)
2016-05-06  Richard Biener  <rguenther@suse.de>

	PR middle-end/70931
	* dwarf2out.c (native_encode_initializer): Skip zero-sized fields.

	* gfortran.dg/pr70931.f90: New testcase.

From-SVN: r235944
2016-05-06 07:44:22 +00:00
Richard Biener a4f510181a re PR target/70941 (Test miscompiled with -O2.)
2016-05-06  Richard Biener  <rguenther@suse.de>

	PR middle-end/70941
	* fold-const.c (split_tree): Always convert to the original type
	before negating.

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

From-SVN: r235943
2016-05-06 07:38:27 +00:00
Richard Biener f5d6c2d81c fwprop.c (fwprop): Remove duplicate cleanup_cfg call.
2016-05-06  Richard Biener  <rguenther@suse.de>

	* fwprop.c (fwprop): Remove duplicate cleanup_cfg call.
	(fwprop_addr): Likewise.

From-SVN: r235942
2016-05-06 07:27:33 +00:00
GCC Administrator d0b2932ae8 Daily bump.
From-SVN: r235940
2016-05-06 00:16:17 +00:00
Uros Bizjak 38302a2102 re PR target/70873 ([7 Regressio] 20% performance regression at 482.sphinx3 after r235442 with -O2 -m32 on Haswell.)
PR target/70873
	* config/i386/i386-protos.h (ix86_standard_x87sse_constant_load_p):
	New prototype.
	* config/i386/i386.c (ix86_standard_x87sse_constant_load_p): New.
	* config/i386/i386.md (push mem splitter): Use find_constant_src in
	the splitter condition.
	(FP load splitter): Use ix86_standard_x87sse_constant_load_p in
	the splitter condition.
	(FP float_extend load splitter): Ditto.

From-SVN: r235936
2016-05-06 00:48:29 +02:00
Uros Bizjak c366c55073 i386.md (peehole2 patterns): Change true_regnum to REGNUM in all peephole2 patterns.
* config/i386/i386.md (peehole2 patterns): Change true_regnum
	to REGNUM in all peephole2 patterns.
	(post-reload splitters): Change true_regnum to REGNUM in
	post-reload splitters.
	(zero_extend splitters): Use general_reg_operand and
	nonimmediate_gr_operand predicates.

From-SVN: r235933
2016-05-05 22:33:42 +02:00
Rainer Orth 40436d8169 Enable dg-reqire-sharedlib on Solaris
* testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.

From-SVN: r235931
2016-05-05 19:54:42 +00:00
Bin Cheng c4f2425fe8 re PR tree-optimization/57206 (Auto-vectorization fails when array index is an unsigned int expression)
gcc/testsuite
	PR tree-optimization/57206
	* gcc.dg/vect/pr57206.c: New test.

From-SVN: r235926
2016-05-05 16:20:54 +00:00
Rainer Orth 5dc081978c Declare isnanf in gcc.dg/ipa/inline-8.c
* gcc.dg/ipa/inline-8.c	(isnanf): Declare.

From-SVN: r235925
2016-05-05 14:29:47 +00:00