- 02 May, 2016 13 commits
-
-
* 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
Martin Liska committed -
From-SVN: r235711
Arnaud Charlet committed -
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
Arnaud Charlet committed -
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
Arnaud Charlet committed -
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
Claudiu Zissulescu committed -
2016-05-02 Richard Biener <rguenther@suse.de> cp/ * decl.c (grokdeclarator): Properly insert a DECL_EXPR for anonymous VLAs. From-SVN: r235706
Richard Biener committed -
trans-array.c (gfc_trans_create_temp_array): Properly create a DECL_EXPR for 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
Richard Biener committed -
gcc/ * config/sh/sh.md (*negnegt, *movtt): Remove. From-SVN: r235704
Oleg Endo committed -
* 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
Eric Botcazou committed -
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
Marek Polacek committed -
* 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
Eric Botcazou committed -
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
Oleg Endo committed -
From-SVN: r235697
GCC Administrator committed
-
- 01 May, 2016 8 commits
-
-
* 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
Uros Bizjak committed -
PR bootstrap/70704 * configure.ac (--enable-stage1-checking): Add missing --enable-checking=. * configure: Regenerated. From-SVN: r235692
Jakub Jelinek committed -
gcc/ * config/sh/sh.md (push, pop, ic_invalidate_line, cstoresi4, cstoredi4, cstoresf4, cstoredf4, fix_truncsfsi2): Remove constraints. From-SVN: r235691
Oleg Endo committed -
* 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
Eric Botcazou committed -
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
Oleg Endo committed -
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
Yoshinori Sato committed -
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
Oleg Endo committed -
From-SVN: r235686
GCC Administrator committed
-
- 30 Apr, 2016 17 commits
-
-
From-SVN: r235681
Joseph Myers committed -
From-SVN: r235679
Joseph Myers committed -
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
Eric Botcazou committed -
/ * config.guess: Revert r235676. * config.sub: Revert r235676. libjava/ * classpath/config.guess: Revert r235676. * classpath/config.sub: Revert r235676. From-SVN: r235677
Oleg Endo committed -
/ * 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
Oleg Endo committed -
* config/darwin.h (LINK_COMMAND_SPEC_A): Handle -fcilkplus. From-SVN: r235675
Rainer Orth committed -
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
Oleg Endo committed -
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
Oleg Endo committed -
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
Alan Modra committed -
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
Alan Modra committed -
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
Alan Modra committed -
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
Alan Modra committed -
From-SVN: r235668
GCC Administrator committed -
* 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
Alan Modra committed -
* 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
Alan Modra committed -
/cp 2016-04-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/66644 * class.c (check_field_decl): Remove final int* parameter, change the return type to bool; fix logic in order not to reject multiple initialized fields in anonymous struct. (check_field_decls): Adjust call. /testsuite 2016-04-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/66644 * g++.dg/cpp0x/nsdmi-anon-struct1.C: New. From-SVN: r235662
Paolo Carlini committed -
This function is used to validate REG_EQUIV notes generated by ira, and to validate potential insn combines performed by ira. The two conditions are not exactly the same, with reload being more restrictive. Separate them so more combines/moves can occur. For example, this sequence from cfgexpand.c:expand_gimple_cond callq _Z18update_bb_for_insnP15basic_block_def mov 0x10(%rbx),%rdi mov 0x0(%rip),%rbp # x_rtl+0x34 callq _Z9safe_as_aIP8rtx_insn7rtx_defET_PT0_ mov %r13,%rdx mov %rbp,%rsi mov %rax,%rdi callq _Z18create_basic_blockP7rtx_defS0_P15basic_block_def becomes callq _Z18update_bb_for_insnP15basic_block_def mov 0x10(%rbx),%rdi callq _Z9safe_as_aIP8rtx_insn7rtx_defET_PT0_ mov 0x0(%rip),%rsi # x_rtl+0x34 mov %r13,%rdx mov %rax,%rdi callq _Z18create_basic_blockP7rtx_defS0_P15basic_block_def * ira.c (enum valid_equiv): New. (validate_equiv_mem): Return enum. (update_equiv_mem): Create replacement in more cases. (add_store_equivs): Update validate_equiv_mem call. From-SVN: r235661
Alan Modra committed
-
- 29 Apr, 2016 2 commits
-
-
This patch actually improves generated code, because REG_DEAD notes used by the old insn scan are not always present. On x86_64, see gcc/wide-int-print.o:print_hex for an example of a function that is smaller and uses one less callee saved reg. * ira.c (combine_and_move_insns): Rather than scanning insns, use DF infrastucture to find use and def insns. From-SVN: r235660
Alan Modra committed -
Notes added by add_store_equivs are not used directly or indirectly by combine_and_move_insns. add_store_equivs can therefore run later without affecting the output of combine_and_move_insns, and thus add_store_equivs need not take into account potentially moved insns. Since not all potentially combined/moved insns are in fact combined or moved, this may allow add_store_equivs to add more REG_EQUIV notes. grow_reg_equivs isn't needed until the reload reg_equivs array is changed. ira.c (combine_and_move_insns): Move invariant conditions.. (ira.c): ..to here. Call combine_and_move_insns before add_store_equivs. Call grow_reg_equivs later. Allocate req_equiv later using max_reg_num() rather than global max_regno. (contains_replace_regs): Delete. (add_store_equivs): Remove contains_replace_regs test. From-SVN: r235659
Alan Modra committed
-