aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2016-05-07Emit vmov.i64 to load 0.0 into FP reg when neon enabled.Jim Wilson3-23/+45
* 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-07i386.md (*addqi_1): Add preferred_for_speed attribute to disparage ↵Uros Bizjak2-31/+63
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-07Handle NULL def in build_cross_bb_scalars_defTom de Vries4-2/+16
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-07sh-protos.h (sh_cbranch_distance): Declare new function.Oleg Endo4-11/+71
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-07Daily bump.GCC Administrator1-1/+1
From-SVN: r235992
2016-05-06escape: Add escape graph nodes.Ian Lance Taylor5-17/+709
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-06i386.md (LEAMODE): New mode attribute.Uros Bizjak2-57/+52
* 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* genmddump.c (main): Convert argv from char ** to const char **.Jakub Jelinek2-3/+6
From-SVN: r235985
2016-05-06i386.md (int cmove peephole2s): Use general_reg_operand instead of ↵Uros Bizjak1-10/+0
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-06escape: Add skeleton for gc analysis.Chris Manghane6-1/+182
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-06Add OVERRIDE and FINAL macros to coretypes.hDavid Malcolm2-0/+30
gcc/ChangeLog: * coretypes.h (OVERRIDE): New macro. (FINAL): New macro. From-SVN: r235981
2016-05-06tree-ssa-coalesce.c (gimple_can_coalesce_p): In the optimized case, allow ↵Eric Botcazou2-10/+22
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-06re PR target/70941 (Test miscompiled with -O2.)Jakub Jelinek2-5/+9
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-06Move name_to_pass_map into class pass_managerDavid Malcolm3-19/+41
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-06Make argv const char ** in read_md_files etcDavid Malcolm24-28/+59
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-06i386.md (int cmove peephole2s): Use general_reg_operand instead of ↵Uros Bizjak2-3/+12
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-06Fix memory leak in tree-if-conv.cMartin Liska2-2/+6
* 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-06sse.md (*<code>v8hi3, [...]): Add avx512bw alternative.Jakub Jelinek2-14/+19
* config/i386/sse.md (*<code>v8hi3, *<code>v16qi3): Add avx512bw alternative. From-SVN: r235973
2016-05-06sse.md (<mask_codefor>ashr<mode>3<mask_name>): Move before the ashr<mode>3 ↵Jakub Jelinek5-14/+108
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-06sse.md (*avx2_pmaddwd, [...]): Use v instead of x in vex or maybe_vex ↵Jakub Jelinek4-10/+44
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-06sse.md (*vec_extractv4sf_0, [...]): Use v instead of x in vex or maybe_vex ↵Jakub Jelinek2-19/+39
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-06sse.md (*vec_concatv2sf_sse4_1, [...]): Use v instead of x in vex or ↵Jakub Jelinek2-8/+12
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-06sse.md (sse_shufps_<mode>, [...]): Use v instead of x in vex or maybe_vex ↵Jakub Jelinek2-46/+52
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* config/i386/sse.md (vec_interleave_lowv4sf,Jakub Jelinek2-12/+17
*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-06sse.md (sse_movhlps, [...]): Use v instead of x in vex or maybe_vex ↵Jakub Jelinek2-8/+12
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-06sse.md (*avx_cvtpd2dq256_2, [...]): Use v constraint instead of x.Jakub Jelinek2-4/+9
* config/i386/sse.md (*avx_cvtpd2dq256_2, *avx_cvtps2pd256_2): Use v constraint instead of x. From-SVN: r235965
2016-05-06gimple.c (gimple_call_same_target_p): Unique functions are eq.Nathan Sidwell3-1/+11
* 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-06re PR tree-optimization/70948 (r235622 caused ↵Richard Biener2-1/+7
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-06re PR debug/70935 (ICE: verify_ssa failed (error: definition in block 9 does ↵Yuri Rumyantsev4-0/+56
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-06Manual changes to GCC coding style in tree-ssa-uninit.cMartin Liska2-222/+186
* 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-06sh.opt (madjust-unroll, [...]): Remove deprecated options.Oleg Endo3-17/+7
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-06sh.md (ic_invalidate_line_sh4a): Fix insn length.Oleg Endo2-1/+5
gcc/ * config/sh/sh.md (ic_invalidate_line_sh4a): Fix insn length. From-SVN: r235957
2016-05-06sh.md (*cmpeqsi_t): Remove combine insn pattern and similar corresponding ↵Oleg Endo2-39/+5
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-06Fix ChangeLog formatting.Oleg Endo1-1/+1
From-SVN: r235955
2016-05-06re PR target/58219 ([SH] mov.l insn length is wrong on SH2A)Oleg Endo5-80/+239
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-06re PR tree-optimization/70960 (ICE: tree check: expected ssa_name, have ↵Richard Biener4-0/+23
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-06re PR target/52933 (SH Target: Use div0s for integer sign comparisons)Oleg Endo6-6/+192
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-06re PR sanitizer/70875 (ICE in get_ubsan_type_info_for_type with ↵Marek Polacek4-1/+32
-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-06re PR target/54089 ([SH] Refactor shift patterns)Oleg Endo4-1/+34
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-06re PR ada/70969 (bootstrap failure: s-unstyp.ads:40:15: violation of ↵Eric Botcazou9-7/+43
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-06re PR fortran/70931 (ICE with -g in native_encode_initializer, bei ↵Richard Biener4-1/+21
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-06re PR target/70941 (Test miscompiled with -O2.)Richard Biener4-8/+34
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-06fwprop.c (fwprop): Remove duplicate cleanup_cfg call.Richard Biener2-9/+7
2016-05-06 Richard Biener <rguenther@suse.de> * fwprop.c (fwprop): Remove duplicate cleanup_cfg call. (fwprop_addr): Likewise. From-SVN: r235942
2016-05-06Daily bump.GCC Administrator1-1/+1
From-SVN: r235940
2016-05-06re PR target/70873 ([7 Regressio] 20% performance regression at 482.sphinx3 ↵Uros Bizjak4-33/+44
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-05i386.md (peehole2 patterns): Change true_regnum to REGNUM in all peephole2 ↵Uros Bizjak2-31/+40
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-05re PR tree-optimization/57206 (Auto-vectorization fails when array index is ↵Bin Cheng2-0/+16
an unsigned int expression) gcc/testsuite PR tree-optimization/57206 * gcc.dg/vect/pr57206.c: New test. From-SVN: r235926
2016-05-05Declare isnanf in gcc.dg/ipa/inline-8.cRainer Orth2-0/+5
* gcc.dg/ipa/inline-8.c (isnanf): Declare. From-SVN: r235925
2016-05-05* decl.c: Update comment.Jason Merrill1-1/+2
From-SVN: r235923
2016-05-05openmp.c (gfc_match_omp_clauses): Restructuralize...Jakub Jelinek2-587/+658
* openmp.c (gfc_match_omp_clauses): Restructuralize, so that clause parsing is done in a big switch based on gfc_peek_ascii_char and individual clauses under their first letters are sorted too. From-SVN: r235922