aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2016-05-02[multiple changes]Arnaud Charlet15-23/+122
2016-05-02 Hristian Kirtchev <kirtchev@adacore.com> * lib-xref.ads, lib-xref-spark_specific.adb, get_spark_xrefs.adb, put_spark_xrefs.adb: Minor reformatting. 2016-05-02 Doug Rupp <rupp@adacore.com> * g-traceb.ads: Document traceback for ARM. 2016-05-02 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Make_Tags): Do not generate the external name of interface tags adding the suffix counter since it causes problems at link time when the IP routines are inlined across units with optimization. 2016-05-02 Ed Schonberg <schonberg@adacore.com> * einfo.ads, einfo.adb (Predicates_Ignared): new flag to indicate that predicate checking is disabled for predicated subtypes in the context of an Assertion_Policy pragma. * checks.adb (Apply_Predicate_Check): Do nothing if Predicates_Ignored is true. * exp_ch3.adb (Expand_Freeze_Enumeration_Type): If Predicates_Ignores is true, the function Rep_To_Pos does raise an exception for invalid data. * exp_ch4.adb (Expand_N_Type_Conversion): IF target is a predicated type do not apply check if Predicates_Ignored is true. * exp_ch5.adb (Expand_N_Case_Statement): If Predicates_Ignored is true, sem_prag.adb: * sem_ch3.adb (Analyze_Object_Declaration): If Predicates_Ignored is true do not emit predicate check on initializing expression. From-SVN: r235730
2016-05-02get_spark_xrefs.adb (Get_Nat, Get_Name): Initialize variables when they are ↵Arnaud Charlet12-26/+30
declared... 2016-05-02 Arnaud Charlet <charlet@adacore.com> * get_spark_xrefs.adb (Get_Nat, Get_Name): Initialize variables when they are declared; refine type of a counter from Integer to Natural. * sem_ch5.adb, gnatcmd.adb, s-intman-posix.adb, eval_fat.adb, prj.adb, sem_util.adb, s-intman-android.adb, prj-nmsc.adb, sem_ch8.adb, exp_ch3.adb: Minor editing. From-SVN: r235729
2016-05-02a-tigeli.adb (Get_Line): Always set Last prior to returning.Yannick Moy6-145/+118
2016-05-02 Yannick Moy <moy@adacore.com> * a-tigeli.adb (Get_Line): Always set Last prior to returning. 2016-05-02 Yannick Moy <moy@adacore.com> * lib-xref.adb: Minor style fix in whitespace of declarations. * put_spark_xrefs.adb (Put_SPARK_Xrefs): printing of strings refactored without loops. * put_spark_xrefs.ads (Write_Info_Str): new formal argument of generic procedure. * spark_xrefs.adb (Write_Info_Str): new actual in instantiation of generic procedure. From-SVN: r235728
2016-05-02predicates.md (nonimm_ssenomem_operand): New predicate.Uros Bizjak3-55/+56
* config/i386/predicates.md (nonimm_ssenomem_operand): New predicate. (register_mixssei387nonimm_operand): Remove predicate. * config/i386/i386.md (*fop_<mode>_comm): Merge from *fop_<mode>_comm_mixed and *fop_<mode>_comm_i387. Disable unsupported alternatives using "enabled" attribute. Also check X87_ENABLE_ARITH for TARGET_MIX_SSE_I387 alternatives. (*fop_<mode>_1): Merge from *fop_<mode>_1_mixed and *fop_<mode>_1_i387. Disable unsupported alternatives using "enabled" attribute. Use nonimm_ssenomem_operand as operand 1 predicate. Also check X87_ENABLE_ARITH for TARGET_MIX_SSE_I387 alternatives. * config/i386/predicates.md (nonimm_ssenomem_operand): New predicate. (register_mixssei387nonimm_operand): Remove predicate. From-SVN: r235727
2016-05-02lib-xref-spark_specific.adb (Add_SPARK_Scope): add task type scope.Arnaud Charlet3-4/+22
2016-05-02 Arnaud Charlet <charlet@adacore.com> * lib-xref-spark_specific.adb (Add_SPARK_Scope): add task type scope. (Detect_And_Add_SPARK_Scope): detect and add task type scope. (Enclosing_Subprogram_Or_Package): Respect boundaries of task and entry declarations. * spark_xrefs.ads: minor typo in comment. From-SVN: r235726
2016-05-02make.adb: Minor...Arnaud Charlet3-7/+13
2016-05-02 Arnaud Charlet <charlet@adacore.com> * make.adb: Minor: avoid an exception when calling gnatmake with no argument and gnatmake is built with checks on. * lib-xref-spark_specific.adb: Minor code cleanup. From-SVN: r235725
2016-05-02Minor reformatting.Arnaud Charlet1-1/+2
From-SVN: r235724
2016-05-02sem_util.adb (Normalize_Actuals): Take into account extra actuals that may ↵Ed Schonberg2-3/+28
have been introduced previously. 2016-05-02 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Normalize_Actuals): Take into account extra actuals that may have been introduced previously. Normally extra actuals are introduced when a call is expanded, but a validity check may copy and reanalyze a call that carries an extra actual (e.g. an accessibility parameter) before the call itself is marked Analzyed, and the analysis of the copy has to be able to cope with the added actual. From-SVN: r235723
2016-05-02Simplify cst_and_fits_in_hwiRichard Sandiford2-7/+6
While looking at the use of cst_and_fits_in_hwi in tree-ssa-loop-ivopts.c, I had difficulty working out what the function actually tests. The final NUNITS check seems redundant, since it asks about the number of HWIs in the _unextended_ constant. We've already checked that the unextended constant has no more than HOST_BITS_PER_WIDE_INT bits, so the length must be 1. I think this was my fault, sorry. Tested on x86_64-linux-gnu and aarch64-linux-gnu. gcc/ * tree.c (cst_and_fits_in_hwi): Simplify. From-SVN: r235722
2016-05-02Add a wi::to_wide helper functionRichard Sandiford6-13/+31
As Richard says, we ought to have a convenient way of converting an INTEGER_CST to a wide_int of a particular precision without having to extract the sign of the INTEGER_CST's type each time. This patch adds a wi::to_wide helper for that, alongside the existing wi::to_offset and wi::to_widest. Tested on x86_64-linux-gnu and aarch64-linux-gnu. gcc/ * tree.h (wi::to_wide): New function. * expr.c (expand_expr_real_1): Use wi::to_wide. * fold-const.c (int_const_binop_1): Likewise. (extract_muldiv_1): Likewise. gcc/c-family/ * c-common.c (shorten_compare): Use wi::to_wide. From-SVN: r235721
2016-05-02Support << and >> for offset_int and widest_intRichard Sandiford15-41/+93
Following on from the comparison patch, I think it makes sense to support << and >> for offset_int (int128_t) and widest_int (intNNN_t), with >> being arithmetic shift. It doesn't make sense to use logical right shift on a potentially negative offset_int, since the precision of 128 bits has no meaning on the target. Tested on x86_64-linux-gnu and aarch64-linux-gnu. gcc/ * wide-int.h: Update offset_int and widest_int documentation. (WI_SIGNED_SHIFT_RESULT): New macro. (wi::binary_shift): Define signed_shift_result_type for shifts on offset_int- and widest_int-like types. (generic_wide_int): Support <<= and >>= if << and >> are supported. * tree.h (int_bit_position): Use shift operators instead of wi:: shifts. * alias.c (adjust_offset_for_component_ref): Likewise. * expr.c (get_inner_reference): Likewise. * fold-const.c (fold_comparison): Likewise. * gimple-fold.c (fold_nonarray_ctor_reference): Likewise. * gimple-ssa-strength-reduction.c (restructure_reference): Likewise. * tree-dfa.c (get_ref_base_and_extent): Likewise. * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise. (stmt_kills_ref_p): Likewise. * tree-ssa-ccp.c (bit_value_binop_1): Likewise. * tree-ssa-math-opts.c (find_bswap_or_nop_load): Likewise. * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise. (ao_ref_init_from_vn_reference): Likewise. gcc/cp/ * init.c (build_new_1): Use shift operators instead of wi:: shifts. From-SVN: r235720
2016-05-02Support <, <=, > and >= for offset_int and widest_intRichard Sandiford12-46/+97
offset_int and widest_int are supposed to be at least one bit wider than all the values they need to represent, with the extra bits being signs. Thus offset_int is effectively int128_t and widest_int is effectively intNNN_t, for target-dependent NNN. Because the types are signed, there's not really any need to specify a sign for operations like comparison. I think things would be clearer if we supported <, <=, > and >= for them (but not for wide_int, which doesn't have a sign). Tested on x86_64-linux-gnu and aarch64-linux-gnu. gcc/ * wide-int.h: Update offset_int and widest_int documentation. (WI_SIGNED_BINARY_PREDICATE_RESULT): New macro. (wi::binary_traits): Allow ordered comparisons between offset_int and offset_int, between widest_int and widest_int, and between either of these types and basic C types. (operator <, <=, >, >=): Define for the same combinations. * tree.h (tree_int_cst_lt): Use comparison operators instead of wi:: comparisons. (tree_int_cst_le): Likewise. * gimple-fold.c (fold_array_ctor_reference): Likewise. (fold_nonarray_ctor_reference): Likewise. * gimple-ssa-strength-reduction.c (record_increment): Likewise. * tree-affine.c (aff_comb_cannot_overlap_p): Likewise. * tree-parloops.c (try_transform_to_exit_first_loop_alt): Likewise. * tree-sra.c (completely_scalarize): Likewise. * tree-ssa-alias.c (stmt_kills_ref_p): Likewise. * tree-ssa-reassoc.c (extract_bit_test_mask): Likewise. * tree-vrp.c (extract_range_from_binary_expr_1): Likewise. (check_for_binary_op_overflow): Likewise. (search_for_addr_array): Likewise. * ubsan.c (ubsan_expand_objsize_ifn): Likewise. From-SVN: r235719
2016-05-02Fix warnings, update source code.Claudiu Zissulescu2-4/+12
include/ 2016-05-02 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (arc_preferred_simd_mode): Remove enum keyword. (arc_save_restore): Likewise. (arc_dwarf_register_span): Likewise. (arc_output_pic_addr_const): Initialize suffix variable. From-SVN: r235718
2016-05-02[multiple changes]Arnaud Charlet4-24/+58
2016-05-02 Bob Duff <duff@adacore.com> * sem_ch10.adb (Analyze_Compilation_Unit): Preserve treeishness. Previous version had Context_Items shared between the spec and body. 2016-05-02 Ed Schonberg <schonberg@adacore.com> * sem_aggr.adb (Resolve_Aggr_Expression): For both array and record cases, apply predicate check on component for expression only if expression has been analyzed already. For expressions that need to be duplicated when they cover multiple components, resolution and predicate checking take place later. 2016-05-02 Olivier Hainque <hainque@adacore.com> * a-direct.adb (Delete_Tree): Use full names to designate subdirs and files therein, instead of local names after a change of current directory. From-SVN: r235717
2016-05-02freeze.adb (Check_Component_Storage_Order): Get full view of component type.Thomas Quinot2-0/+12
2016-05-02 Thomas Quinot <quinot@adacore.com> * freeze.adb (Check_Component_Storage_Order): Get full view of component type. From-SVN: r235716
2016-05-02checks.adb, [...]: Minor reformatting.Hristian Kirtchev6-25/+36
2016-05-02 Hristian Kirtchev <kirtchev@adacore.com> * checks.adb, freeze.adb, sem_res.adb, s-stposu.adb, repinfo.adb: Minor reformatting. From-SVN: r235714
2016-05-02[multiple changes]Arnaud Charlet16-172/+313
2016-05-02 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch4.adb (Find_Indexing_Operations): Use the underlying type of the container base type in case the container is a subtype. * sem_ch5.adb (Analyze_Iterator_Specification): Ensure that the selector has an entity when checking for a component of a mutable object. 2016-05-02 Arnaud Charlet <charlet@adacore.com> Remove dead code. * opt.ads (Latest_Ada_Only): New flag. * sem_prag.adb, par-prag.adb: Ignore pragma Ada_xx under this flag. * usage.adb, switch-c.adb: Disable support for -gnatxx under this flag. * einfo.ads (Has_Predicates, Predicate_Function): Clarify that Has_Predicates does not imply that Predicate_Function will return a non-empty entity. 2016-05-02 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Qualified_Expression): Generate a predicate check if type requires it. * checks.adb (Apply_Predicate_Check): Disable checks in the object declaration created for an expression with side-effects that requires a predicate check to prevent infinite recursion during expansion. 2016-05-02 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Process_Formals): Check properly the type of a formal to determine whether a given convention applies to it. 2016-05-02 Doug Rupp <rupp@adacore.com> * tracebak.c: Add incantations for arm-vxworks[67] traceback. 2016-05-02 Thomas Quinot <quinot@adacore.com> * freeze.adb (Check_Component_Storage_Order): Make it a warning, not an error, to have a component with implicit SSO within a composite type that has explicit SSO. 2016-05-02 Bob Duff <duff@adacore.com> * s-stposu.adb (Allocate_Any_Controlled): Don't lock/unlock twice. 2016-05-02 Ed Schonberg <schonberg@adacore.com> * repinfo.adb (List_Entities): Make procedure recursive, to provide representation information for subprograms declared within subprogram bodies. From-SVN: r235713
2016-05-02Symbol summary: refactor usage of gcc_checking_assertsMartin Liska2-7/+9
* symbol-summary.h (function_summary::function_summary): Remove checking assert for all cgraph nodes. (function_summary::get): Check summary_uid. (symtab_insertion): Check summary_uid. From-SVN: r235712
2016-05-02Minor reformatting.Arnaud Charlet4-16/+18
From-SVN: r235711
2016-05-02[multiple changes]Arnaud Charlet18-274/+60
2016-05-02 Arnaud Charlet <charlet@adacore.com> * exp_ch5.adb, layout.adb, gnatcmd.adb exp_attr.adb, make.adb, bindgen.adb, debug.adb, exp_pakd.adb, freeze.adb, sem_util.adb, gnatlink.adb, switch-m.adb, exp_ch4.adb, repinfo.adb, adabkend.adb, osint.adb: Remove dead code. 2016-05-02 Yannick Moy <moy@adacore.com> * a-tigeli.adb (Get_Line): Fix bound for test to decide when to compensate for character 0 added by call to fgets. From-SVN: r235710
2016-05-02[multiple changes]Arnaud Charlet4-16/+115
2016-05-02 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Analyze_Allocator): If the expression does not have a subtype indication and the type is an unconstrained tagged type with defaulted discriminants, create an explicit constraint for it during analysis to prevent out-of-order freezing actions on generated classwide types. 2016-05-02 Javier Miranda <miranda@adacore.com> * exp_ch5.adb (Expand_N_Assignment_Statement): In the runtime check that ensures that the tags of source an target match, add missing displacement of the pointer to the objects if they cover interface types. 2016-05-02 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Analyze_Attribute, case 'Old): Do not use base type for attribute when type is discrete: transformation is not needed for such types, and leads to spurious errors if the context is a case construct. From-SVN: r235709
2016-05-02[ARC] Add new ARCv2 instructions.Claudiu Zissulescu7-157/+324
gcc/ 2016-05-02 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc-protos.h (compact_memory_operand_p): Declare. * config/arc/arc.c (arc_output_commutative_cond_exec): Consider bmaskn instruction. (arc_dwarf_register_span): Remove enum keyword. (compact_memory_operand_p): New function. * config/arc/arc.h (reg_class): Add code density register classes. (REG_CLASS_NAMES): Likewise. (REG_CLASS_CONTENTS): Likewise. * config/arc/arc.md (*movqi_insn): Add code density instructions. (*movhi_insn, *movsi_insn, *movsf_insn): Likewise. (*extendhisi2_i, andsi3_i, cmpsi_cc_insn_mixed): Likewise. (*cmpsi_cc_c_insn, *movsi_ne): Likewise. * config/arc/constraints.md (C2p, Uts, Cm1, Cm3, Ucd): New constraints. (h, Rcd, Rsd, Rzd): New register constraints. (T): Use compact_memory_operand_p function. * config/arc/predicates.md (compact_load_memory_operand): Remove. From-SVN: r235707
2016-05-02decl.c (grokdeclarator): Properly insert a DECL_EXPR for anonymous VLAs.Richard Biener2-2/+10
2016-05-02 Richard Biener <rguenther@suse.de> cp/ * decl.c (grokdeclarator): Properly insert a DECL_EXPR for anonymous VLAs. From-SVN: r235706
2016-05-02trans-array.c (gfc_trans_create_temp_array): Properly create a DECL_EXPR for ↵Richard Biener2-0/+15
the anonymous VLA array type. 2016-05-02 Richard Biener <rguenther@suse.de> fortran/ * trans-array.c (gfc_trans_create_temp_array): Properly create a DECL_EXPR for the anonymous VLA array type. From-SVN: r235705
2016-05-02sh.md (*negnegt, *movtt): Remove.Oleg Endo2-19/+4
gcc/ * config/sh/sh.md (*negnegt, *movtt): Remove. From-SVN: r235704
2016-05-02decl.c (elaborate_reference_1): Do not bother about operand #2 for ↵Eric Botcazou4-18/+30
COMPONENT_REF. * gcc-interface/decl.c (elaborate_reference_1): Do not bother about operand #2 for COMPONENT_REF. * gcc-interface/utils2.c (gnat_save_expr): Likewise. (gnat_protect_expr): Likewise. (gnat_stabilize_reference_1): Likewise. (gnat_rewrite_reference): Do not bother about operand #3 for ARRAY_REF. (get_inner_constant_reference): Likewise. (gnat_invariant_expr): Likewise. * gcc-interface/trans.c (fold_constant_decl_in_expr): Likewise. From-SVN: r235701
2016-05-02Fix ICE in dump_pred_graphMarek Polacek4-1/+33
2016-05-02 Marek Polacek <polacek@redhat.com> Tom de Vries <tom@codesourcery.com> PR tree-optimization/70700 * tree-ssa-structalias.c (dump_pred_graph): Fix getting varinfo for ids bigger than FIRST_REF_NODE. * gcc.dg/pr70700.c: New test. Co-Authored-By: Tom de Vries <tom@codesourcery.com> From-SVN: r235700
2016-05-02trans.c (Range_to_gnu): New static function.Eric Botcazou2-27/+42
* gcc-interface/trans.c (Range_to_gnu): New static function. (Raise_Error_to_gnu) <N_In>: Call it to translate the range. (gnat_to_gnu) <N_In>: Likewise. From-SVN: r235699
2016-05-02re PR target/52898 (SH Target: Inefficient DImode comparisons)Oleg Endo4-115/+26
gcc/ PR target/52898 * config/sh/sh.c (sh_option_override): Remove TARGET_CBRANCHDI4, TARGET_CMPEQDI_T. (prepare_cbranch_operands): Don't use scratch register. Assume that function is used when pseudos can be created. (expand_cbranchdi4): Likewise. Remove unused TARGET_CMPEQDI_T paths. * config/sh/sh.md (cbranchsi4): Allow only when pseudos can be created. (cbranchdi4, cbranchdi4_i): Simplify to single cbranchdi4 define_expand. Allow it only when pseudos can be created. * config/sh/sh.opt (mcbranchdi, mcmpeqdi): Delete. From-SVN: r235698
2016-05-02Daily bump.GCC Administrator1-1/+1
From-SVN: r235697
2016-05-01constraints.md (BC): Only allow -1 operands.Uros Bizjak10-36/+60
* config/i386/constraints.md (BC): Only allow -1 operands. * config/i386/sse.md (mov<mode>_internal): Add (v,C) alternative. Add "enabled" attribute. Update XI mode attribute calculation. * config/i386/i386.md (*movxi_internal_avx512f): Add (v,C) alternative. (*movoi_internal_avx): Update XI mode attribute calculation. (*movti_internal): Ditto. testsuite/ChangeLog: * gcc.target/i386/avx256-unaligned-load-1.c: Update scan strings. * gcc.target/i386/avx256-unaligned-store-1.c: Ditto. * gcc.target/i386/avx256-unaligned-store-2.c: Ditto. * gcc.target/i386/avx256-unaligned-store-3.c: Ditto. * gcc.target/i386/avx256-unaligned-store-4.c: Ditto. From-SVN: r235693
2016-05-01sh.md (push, [...]): Remove constraints.Oleg Endo2-17/+22
gcc/ * config/sh/sh.md (push, pop, ic_invalidate_line, cstoresi4, cstoredi4, cstoresf4, cstoredf4, fix_truncsfsi2): Remove constraints. From-SVN: r235691
2016-05-01rs6000.c (altivec_expand_lv_builtin): Do not use switch statement on ↵Eric Botcazou2-92/+86
instruction code. * config/rs6000/rs6000.c (altivec_expand_lv_builtin): Do not use switch statement on instruction code. Remove trailing spaces. (altivec_expand_stv_builtin): Likewise. From-SVN: r235690
2016-05-01sh.h (TARGET_SH4): Remove and use default implementation.Oleg Endo4-69/+69
gcc/ * config/sh/sh.h (TARGET_SH4): Remove and use default implementation. (TARGET_FPU_DOUBLE): Simplify. (BASE_ARG_REG, DOUBLE_TYPE_SIZE, OPTIMIZE_MODE_SWITCHING): Replace 'TARGET_SH4 || TARGET_SH2A_DOUBLE' conditions with 'TARGET_FPU_DOUBLE'. * config/sh/sh.c: Replace 'TARGET_SH4 || TARGET_SH2A_DOUBLE' conditions with 'TARGET_FPU_DOUBLE'. * config/sh/sh.md: Likewise. From-SVN: r235689
2016-05-01linux.h (SH_DIV_STRATEGY_DEFAULT, [...]): Remove.Yoshinori Sato3-14/+7
gcc/ * config/sh/linux.h (SH_DIV_STRATEGY_DEFAULT, SH_DIV_STR_FOR_SIZE): Remove. * config/sh/netbsd-elf.h (SH_DIV_STRATEGY_DEFAULT, SH_DIV_STR_FOR_SIZE): Remove. From-SVN: r235688
2016-05-01predicates.md (any_register_operand, [...]): Delete.Oleg Endo4-159/+96
gcc/ * config/sh/predicates.md (any_register_operand, zero_extend_operand, logical_reg_operand): Delete. (arith_operand, arith_reg_dest, arith_or_int_operand, cmpsi_operand, arith_reg_or_0_operand, arith_reg_or_0_or_1_operand, logical_operand, logical_and_operand, movsrc_no_disp_mem_operand): Rewrite using match_operand and match_test. (sh_const_vec, sh_1el_vec): Remove redundant checks. Declare local variables on their first use. Return bool values. * config/sh/sh.h (LOAD_EXTEND_OP): Update comment. * config/sh/sh.md (andsi3, iorsi3): Use arith_reg_dest for result and arith_reg_operand for input operand. Remove empty constraints. (xorsi3): Delete. (*xorsi3_compact): Rename to xorsi3. (zero_extend<mode>si2): Use arith_reg_operand for input operand. (*zero_extend<mode>si2_disp_mem): Update comment. (mov_nop): Delete. From-SVN: r235687
2016-05-01Daily bump.GCC Administrator1-1/+1
From-SVN: r235686
2016-04-30* zh_CN.po: Update.Joseph Myers2-353/+133
From-SVN: r235681
2016-04-30Make-lang.in (ACATSCMD): New variable.Eric Botcazou5-18/+34
ada/ * gcc-interface/Make-lang.in (ACATSCMD): New variable. (check-acats): Use it. (check_acats_targets): Likewise. testsuite/ * ada/acats/run_acats: Rename into... * ada/acats/run_acats.sh: ...this. Only export BASE variable. * ada/acats/run_all.sh: Remove redundant test. (target_run): Move around. (target_gnatchop): Use newly built executable. (target_gnatmake): Likewise. Check that the compilation of impbit succeeds. From-SVN: r235678
2016-04-30config.guess: Remove SH5 support.Oleg Endo4-49/+14
/ * config.guess: Remove SH5 support. * config.sub: Likewise. * configure: Likewise. * configure.ac: Likewise. config/ * picflag.m4: Remove SH5 support. gcc/ * config/sh/t-sh: Remove SH5 support. * config.gcc: Likewise. * configure: Likewise. contrib/ * compare-all-tests: Remove SH5 support. * config-list.mk: Likewise. libada/ * configure: Remove SH5 support. libgcc/ * config.host: Remove SH5 support. * configure: Likewise. libiberty/ * configure: Remove SH5 support. libjava/ * classpath/config.guess: Remove SH5 support. * classpath/config.sub: Likewise. From-SVN: r235676
2016-04-30Handle -fcilkplus in Mac OS X LINK_COMMAND_SPECRainer Orth2-0/+5
* config/darwin.h (LINK_COMMAND_SPEC_A): Handle -fcilkplus. From-SVN: r235675
2016-04-30sh.c (register_sh_passes, [...]): Remove TARGET_SH1 checks.Oleg Endo4-84/+70
gcc/ * config/sh/sh.c (register_sh_passes, sh_option_override, sh_print_operand, prepare_move_operands, sh_can_follow_jump): Remove TARGET_SH1 checks. * config/sh/sh.h (TARGET_VARARGS_PRETEND_ARGS, VALID_REGISTER_P, PROMOTE_MODE): Likewise. * config/sh/sh.md (adddi3, addsi3, subdi3, subsi3, andsi3, movdi): Likewise. From-SVN: r235674
2016-04-30thunk3.C: Remove SH5 checks.Oleg Endo78-83/+87
testsuite/ * g++.old-deja/g++.jason/thunk3.C: Remove SH5 checks. * gcc.dg/20021029-1.c: Likewise. * gcc.target/sh/attr-isr-trap_exit.c: Likewise. * gcc.target/sh/attr-isr-trapa.c: Likewise. * gcc.target/sh/cmpstr.c: Likewise. * gcc.target/sh/cmpstrn.c: Likewise. * gcc.target/sh/memset.c: Likewise. * gcc.target/sh/pr21255-2-mb.c: Likewise. * gcc.target/sh/pr21255-2-ml.c: Likewise. * gcc.target/sh/pr39423-1.c: Likewise. * gcc.target/sh/pr49468-di.c: Likewise. * gcc.target/sh/pr49468-si.c: Likewise. * gcc.target/sh/pr49880-1.c: Likewise. * gcc.target/sh/pr49880-2.c: Likewise. * gcc.target/sh/pr49880-3.c: Likewise. * gcc.target/sh/pr50751-1.c: Likewise. * gcc.target/sh/pr50751-4.c: Likewise. * gcc.target/sh/pr50751-7.c: Likewise. * gcc.target/sh/pr51244-1.c: Likewise. * gcc.target/sh/pr51244-10.c: Likewise. * gcc.target/sh/pr51244-11.c: Likewise. * gcc.target/sh/pr51244-12.c: Likewise. * gcc.target/sh/pr51244-13.c: Likewise. * gcc.target/sh/pr51244-14.c: Likewise. * gcc.target/sh/pr51244-17.c: Likewise. * gcc.target/sh/pr51244-18.c: Likewise. * gcc.target/sh/pr51244-19.c: Likewise. * gcc.target/sh/pr51244-4.c: Likewise. * gcc.target/sh/pr51244-5.c: Likewise. * gcc.target/sh/pr51244-7.c: Likewise. * gcc.target/sh/pr51244-8.c: Likewise. * gcc.target/sh/pr51244-9.c: Likewise. * gcc.target/sh/pr51697.c: Likewise. * gcc.target/sh/pr52483-1.c: Likewise. * gcc.target/sh/pr52483-2.c: Likewise. * gcc.target/sh/pr52483-3.c: Likewise. * gcc.target/sh/pr52483-5.c: Likewise. * gcc.target/sh/pr52933-1.c: Likewise. * gcc.target/sh/pr52933-2.c: Likewise. * gcc.target/sh/pr52933-3.c: Likewise. * gcc.target/sh/pr53568-1.c: Likewise. * gcc.target/sh/pr53976-1.c: Likewise. * gcc.target/sh/pr53988-1.c: Likewise. * gcc.target/sh/pr53988.c: Likewise. * gcc.target/sh/pr54089-1.c: Likewise. * gcc.target/sh/pr54089-6.c: Likewise. * gcc.target/sh/pr54089-7.c: Likewise. * gcc.target/sh/pr54089-8.c: Likewise. * gcc.target/sh/pr54089-9.c: Likewise. * gcc.target/sh/pr54236-1.c: Likewise. * gcc.target/sh/pr54236-2.c: Likewise. * gcc.target/sh/pr54236-3.c: Likewise. * gcc.target/sh/pr54236-4.c: Likewise. * gcc.target/sh/pr54386.c: Likewise. * gcc.target/sh/pr54602-1.c: Likewise. * gcc.target/sh/pr54685.c: Likewise. * gcc.target/sh/pr54760-1.c: Likewise. * gcc.target/sh/pr54760-2.c: Likewise. * gcc.target/sh/pr54760-3.c: Likewise. * gcc.target/sh/pr54760-4.c: Likewise. * gcc.target/sh/pr54760-5.c: Likewise. * gcc.target/sh/pr54760-6.c: Likewise. * gcc.target/sh/pr55146.c: Likewise. * gcc.target/sh/pr55160.c: Likewise. * gcc.target/sh/pr59278.c: Likewise. * gcc.target/sh/pr59401-1.c: Likewise. * gcc.target/sh/pr59533-1.c: Likewise. * gcc.target/sh/pr63260.c: Likewise. * gcc.target/sh/pragma-isr-trap-exit.c: Likewise. * gcc.target/sh/pragma-isr-trapa.c: Likewise. * gcc.target/sh/strlen.c: Likewise. * gcc.target/sh/torture/pr30807.c: Likewise. * gcc.target/sh/torture/pr34777.c: Likewise. * gcc.target/sh/torture/pr64652.c: Likewise. * gcc.target/sh/torture/pr65505.c: Likewise. * gcc.target/sh/torture/pragma-isr.c: Likewise. * gcc.target/sh/torture/pragma-isr2.c: Likewise. From-SVN: r235673
2016-04-30[RS6000] Allow saving of fixed regs.Alan Modra2-80/+98
As I noted a long time ago in the comment on fixed_reg_p, the real problem with saving fixed/global regs is that exception frame unwinding might restore them. So don't emit eh_frame info for any such reg, and the unwinder won't restore them. Also, tidy rs6000_savres_strategy. Delaying some checks means we won't iterate over regs quite so often. * config/rs6000/rs6000.c (rs6000_savres_strategy): Force inline restoring when fixed_reg_p, but allow out-of-line or stmw save. Check for user regs later to avoid unnecessary looping over regs. Merge user reg check with non-saved reg check. Don't force inline VR restore when static chain used. (rs6000_frame_related): Omit eh_frame info for user regs when saving. (fixed_regs_p): Delete. From-SVN: r235672
2016-04-30[RS6000] Split SAVRES_STRATEGYAlan Modra2-17/+24
No functional change here. A single bit becomes two bits, which always have the same value at the moment. * config/rs6000/rs6000.c (SAVRES_MULTIPLE): Replace with.. (SAVE_STRATEGY, REST_STRATEGY): ..this. Renumber and sort enum. Update all uses. From-SVN: r235671
2016-04-30[RS6000] PR69645, -ffixed-reg ignoredAlan Modra2-11/+35
Treat -ffixed-reg as we do for global asm regs. PR target/69645 * config/rs6000/rs6000.c (fixed_reg_p): New function. (fixed_regs_p): Rename from global_regs_p. Call fixed_reg_p. Update all uses. From-SVN: r235670
2016-04-30[RS6000] Simplify setting of fixed_regs[RS6000_PIC_OFFSET_TABLE_REGNUM]Alan Modra2-9/+10
This makes the conditions look the same as other places that deal with RS6000_PIC_OFFSET_TABLE_REGNUM, eg. first_reg_to_save. No functional changes. * config/rs6000/rs6000.c (rs6000_conditional_register_usage): Remove redundant PIC_OFFSET_TABLE_REGNUM test. Replace with flag_pic test for Darwin. From-SVN: r235669
2016-04-30Daily bump.GCC Administrator1-1/+1
From-SVN: r235668
2016-04-30Goodbye REG_FREQ_CALLS_CROSSED and REG_N_THROWING_CALLS_CROSSEDAlan Modra4-23/+13
* regs.h (struct reg_info_t): Delete freq_calls_crossed and throw_calls_crossed. (REG_FREQ_CALLS_CROSSED): Delete. (REG_N_THROWING_CALLS_CROSSED): Delete. * regstat.c (regstat_bb_compute_ri): Don't calculate REG_FREQ_CALLS_CROSSED and REG_N_THROWING_CALLS_CROSSED. (dump_reg_info): Don't print call cross frequency. * ira.c (combine_and_move_insns): Don't set REG_FREQ_CALLS_CROSSED and REG_N_THROWING_CALLS_CROSSED. From-SVN: r235664
2016-04-30Goodbye REG_LIVE_LENGTHAlan Modra4-153/+38
* regs.h (struct reg_info_t): Delete live_length. (REG_LIVE_LENGTH): Delete macro. * regstat.c (regstat_bb_compute_ri): Delete artificial_uses, local_live, local_processed and local_live_last_luid params. Replace bb_index param with bb. Don't set REG_LIVE_LENGTH. Formatting fixes. (regstat_compute_ri): Adjust for above. Don't set REG_LIVE_LENGTH. (dump_reg_info): Don't print live length. * ira.c (update_equiv_regs): Replace test of REG_LIVE_LENGTH with test of setjmp_crosses. Don't set REG_LIVE_LENGTH. Localize loop_depth var. From-SVN: r235663