aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-11-21split up variables to use rtx_insn * moreTrevor Saunders8-27/+36
gcc/ChangeLog: 2016-11-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config/aarch64/aarch64.c (aarch64_emit_unlikely_jump): split up variables to make some rtx_insn *. * config/alpha/alpha.c (emit_unlikely_jump): Likewise. * config/arc/arc.c: Likewise. * config/arm/arm.c: Likewise. * config/mn10300/mn10300.c (mn10300_legitimize_pic_address): Likewise. * config/rs6000/rs6000.c (rs6000_expand_split_stack_prologue): Likewise. * config/spu/spu.c (spu_emit_branch_hint): Likewise. From-SVN: r242650
2016-11-21use rtx_insn * more places where it is obviousTrevor Saunders16-56/+82
gcc/ChangeLog: 2016-11-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config/arm/arm.c (legitimize_pic_address): Change to use rtx_insn * as the type of variables. (arm_pic_static_addr): Likewise. (arm_emit_movpair): Likewise. * config/c6x/c6x.c (reorg_split_calls): Likewise. * config/darwin.c (machopic_legitimize_pic_address): Likewise. * config/frv/frv.c (frv_optimize_membar_local): Likewise. * config/frv/frv.md: Likewise. * config/i386/i386-protos.h: Likewise. * config/i386/i386.c (ix86_expand_split_stack_prologue): Likewise. (ix86_split_fp_branch): Likewise. (predict_jump): Likewise. * config/ia64/ia64.c: Likewise. * config/mcore/mcore.c: Likewise. * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise. * config/s390/s390.c: Likewise. * config/s390/s390.md: Likewise. * config/spu/spu.md: Likewise. * config/tilegx/tilegx.c (tilegx_legitimize_tls_address): Likewise. * lower-subreg.c (resolve_simple_move): Likewise. From-SVN: r242649
2016-11-20re PR target/48551 (Following source code crashes the c++ compiler on ↵Jeff Law6-9/+68
coldfire platform.) 2016-11-20 Jeff Law <law@redhat.com> PR target/48551 * reload.h (struct target_reload): Make x_double_reg_address_ok be per-mode rather. * reload.c (find_reloads_address): Check if double_reg_address_ok is true for the mode of the memory reference. * reload1.c (init_reload): Initialize double_reg_address_ok for each mode. PR target/48551 * gcc.target/m68k/pr48551.c: New test. From-SVN: r242648
2016-11-20PR objc++/78418 - ICE in string tests on darwinJason Merrill2-1/+6
* tree.c (lvalue_kind): Guard DECL_HAS_VALUE_EXPR_P. From-SVN: r242647
2016-11-21Daily bump.GCC Administrator1-1/+1
From-SVN: r242646
2016-11-20re PR fortran/69741 (Bad error in forall with array loop counters)Harald Anlauf4-9/+40
2016-11-20 Harald Anlauf <anlauf@gmx.de> PR fortran/69741 * resolve.c (gfc_resolve_forall): Check for nonscalar index variables. 2016-11-20 Harald Anlauf <anlauf@gmx.de> PR fortran/69741 * gfortran.dg/forall_18.f90: New testcase. From-SVN: r242641
2016-11-20Fix date on last ChangeLog entry.Aldy Hernandez1-1/+1
From-SVN: r242640
2016-11-20re PR middle-end/61409 (-Wmaybe-uninitialized false-positive with -O2)Aldy Hernandez3-7/+207
PR middle-end/61409 * tree-ssa-uninit.c: Define new global max_phi_args. (compute_uninit_opnds_pos): Use max_phi_args. (prune_uninit_phi_opnds): Same. (use_pred_not_overlap_with_undef_path_pred): Remove reference to missing NUM_PREDS in function comment. (can_one_predicate_be_invalidated_p): New. (can_chain_union_be_invalidated_p): New. (flatten_out_predicate_chains): New. (uninit_ops_invalidate_phi_use): New. (is_use_properly_guarded): Call uninit_ops_invalidate_phi_use. From-SVN: r242639
2016-11-20Simplify X /[ex] 8 == 0Marc Glisse5-2/+61
2016-11-20 Marc Glisse <marc.glisse@inria.fr> gcc/ * fold-const.c (fold_comparison): Ignore EXACT_DIV_EXPR. * match.pd (A /[ex] B CMP C): New simplifications. gcc/testsuite/ * gcc.dg/tree-ssa/cmpexactdiv.c: New file. From-SVN: r242638
2016-11-20re PR fortran/78395 ([OOP] error on polymorphic assignment)Andre Vehreschild4-1/+90
gcc/testsuite/ChangeLog: 2016-11-20 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/78395 * gfortran.dg/typebound_operator_21.f03: New test. gcc/fortran/ChangeLog: 2016-11-20 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/78395 * resolve.c (resolve_typebound_function): Prevent stripping of refs, when the base-expression is a class' typed one. From-SVN: r242637
2016-11-20Simplify X / X, 0 / X and X % XMarc Glisse4-4/+40
2016-11-20 Marc Glisse <marc.glisse@inria.fr> gcc/ * match.pd (0 / X, X / X, X % X): New simplifications. gcc/testsuite/ * gcc.dg/tree-ssa/divide-5.c: New file. From-SVN: r242636
2016-11-20Protect __TMC_END__ - __TMC_LIST__ == 0Marc Glisse2-3/+15
2016-11-20 Marc Glisse <marc.glisse@inria.fr> PR libgcc/77813 * crtstuff.c (deregister_tm_clones, register_tm_clones): Hide __TMC_END__ behind a passthrough asm. From-SVN: r242635
2016-11-20Add PR sanitizer/78267 patch to libsanitizer/LOCAL_PATCHESRainer Orth2-0/+5
From-SVN: r242634
2016-11-20Fix libsanitizer build on OS X 10.1[01], macOS 10.12 (PR sanitizer/78267)Rainer Orth7-7/+360
fixincludes: PR sanitizer/78267 * inclhack.def (darwin_availabilityinternal, darwin_os_trace_1) (darwin_os_trace_2, darwin_os_trace_3): New fixes. (hpux_stdint_least_fast): Remove spurious _EOFix_. * fixincl.x: Regenerate. * tests/bases/AvailabilityInternal.h: New file. * tests/bases/os/trace.h: New file. 2016-11-20 Jack Howarth <howarth.at.gcc@gmail.com> libsanitizer: PR sanitizer/78267 * sanitizer_common/sanitizer_mac.cc: Include <os/trace.h> only if compiler supports blocks extension. From-SVN: r242633
2016-11-20Daily bump.GCC Administrator1-1/+1
From-SVN: r242632
2016-11-19comp-goto-1.c (insn_t): Change offset to signed int.Andreas Schwab2-1/+6
* gcc.c-torture/execute/comp-goto-1.c (insn_t): Change offset to signed int. From-SVN: r242629
2016-11-19i386.c (ix86_can_inline_p): Use || instead of & when checking if callee's ↵Jakub Jelinek2-6/+10
isa flags are subset of caller's... * config/i386/i386.c (ix86_can_inline_p): Use || instead of & when checking if callee's isa flags are subset of caller's isa flags. Fix comment wording. From-SVN: r242628
2016-11-19i386.c (ix86_valid_target_attribute_tree): Don't clear opts->x_ix86_isa_flags...Jakub Jelinek2-1/+5
* config/i386/i386.c (ix86_valid_target_attribute_tree): Don't clear opts->x_ix86_isa_flags, clear opts->x_ix86_isa_flags2 instead and using = 0 instead of &= 0. From-SVN: r242627
2016-11-19i386.c (def_builtin, [...]): Formatting fixes.Jakub Jelinek2-11/+17
* config/i386/i386.c (def_builtin, def_builtin2, def_builtin_const2, ix86_add_new_builtins): Formatting fixes. (ix86_expand_builtin): Use || instead of && for isa vs. isa2. (ix86_get_builtin): Likewise. From-SVN: r242626
2016-11-19i386.c (ix86_expand_builtin): Remove msk_mov variable...Jakub Jelinek2-56/+55
* config/i386/i386.c (ix86_expand_builtin): Remove msk_mov variable, don't initialize it, don't use it for the case where it isn't provable %{z} nor using the same argument, instead move merge argument into a new pseudo and use that as target. Formatting fixes. From-SVN: r242625
2016-11-19coarray_alloc_comp_1.f08: Add "-latomic" option if libatomic_available.John David Anglin10-0/+22
* gfortran.dg/coarray_alloc_comp_1.f08: Add "-latomic" option if libatomic_available. * gfortran.dg/coarray_alloc_comp_2.f08: Likewise. * gfortran.dg/coarray_allocate_10.f08: Likewise. * gfortran.dg/coarray_allocate_7.f08: Likewise. * gfortran.dg/coarray_allocate_8.f08: Likewise. * gfortran.dg/coarray_allocate_9.f08: Likewise. * gfortran.dg/coarray_send_by_ref_1.f08: Likewise. * gfortran.dg/coarray_stat_2.f90: Likewise. * gfortran.dg/coindexed_1.f90: Likewise. From-SVN: r242624
2016-11-19re PR target/25111 ([m68k] bset is not used for A = 1 << (B & 31) on ColdFire)Jeff Law4-0/+82
PR target/25111 * config/m68k/m68k.md (bsetdreg): New pattern. (bchgdreg, bclrdreg): Likewise. PR target/25111 * gcc.target/m68k/pr25111.c: New test. From-SVN: r242623
2016-11-19re PR target/78426 (wrong code with strncmp on SH)Kaz Kojima2-3/+10
PR target/78426 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Use copy_to_mode_reg instead of force_reg. (sh_expand_setmem): Likewise. From-SVN: r242622
2016-11-19config.gcc (*-*-netbsd): Set use_gcc_stdint=wrap.Krister Walfridsson2-0/+5
2016-11-19 Krister Walfridsson <krister.walfridsson@gmail.com> * config.gcc (*-*-netbsd): Set use_gcc_stdint=wrap. From-SVN: r242621
2016-11-19TILE-Gx: Fix bundling when encountering consecutive barriers.Walter Lee2-2/+10
* config/tilegx/tilegx.c (tilegx_gen_bundles): Preserve end-of-bundle marker for consecutive barriers. From-SVN: r242617
2016-11-19TILE-Gx: fix clzsi2 for big-endian.Walter Lee2-13/+18
* config/tilegx/tilegx.md (clzsi2): Fix for big-endian. From-SVN: r242616
2016-11-19TILEPro: force gcc to link against libgcc.a when creating sharedWalter Lee2-1/+5
libraries. * config.host (tilepro*-*-linux*): Add t-slibgcc-libgcc. From-SVN: r242615
2016-11-19Daily bump.GCC Administrator1-1/+1
From-SVN: r242613
2016-11-19re PR c++/68180 ([ICE] at cp/constexpr.c:2768 in initializing __vector in a ↵Jakub Jelinek2-0/+4
loop) PR c++/68180 * g++.dg/cpp1y/pr68180.C: Add -Wno-psabi as dg-additional-options. From-SVN: r242610
2016-11-18re PR middle-end/78419 (ICE with target_clone on invalid target)Jakub Jelinek4-36/+69
PR middle-end/78419 * multiple_target.c (get_attr_len): Start with argnum and increment argnum on every arg. Use strchr in a loop instead of counting commas manually. (get_attr_str): Increment argnum for every comma in the string. (separate_attrs): Use for instead of while loop, simplify. (expand_target_clones): Rename defenition argument to definition. Free attrs and attr_str even when diagnosing errors. Temporarily change input_location around targetm.target_option.valid_attribute_p calls. Don't emit warning or errors if that function fails. * gcc.target/i386/pr78419.c: New test. From-SVN: r242608
2016-11-18re PR c++/77285 (extern thread_local linkage)Jakub Jelinek5-0/+38
PR c++/77285 * mangle.c (mangle_tls_init_fn, mangle_tls_wrapper_fn): Call check_abi_tags. * g++.dg/tls/pr77285-1.C: New test. * g++.dg/tls/pr77285-2.C: New test. From-SVN: r242607
2016-11-18re PR debug/78191 (ICE in calc_die_sizes)Jakub Jelinek2-10/+46
* dwarf2out.c (size_of_discr_list): Fix typo in function comment. PR debug/78191 * dwarf2out.c (abbrev_opt_base_type_end): New variable. (die_abbrev_cmp): Sort dies with die_abbrev smaller than abbrev_opt_base_type_end only by increasing die_abbrev, before any other dies. (optimize_abbrev_table): Don't change abbrev numbers of base types and CU or optimize implicit consts in them if calc_base_type_die_sizes has been called during build_abbrev_table. (calc_base_type_die_sizes): If abbrev_opt_start, set abbrev_opt_base_type_end to one plus largest base type's die_abbrev. From-SVN: r242606
2016-11-18re PR target/25112 ([m68k] Suboptimal equality comparisons with small integers)Jeff Law5-0/+91
PR target/25112 * config/m68k/m68k.c (moveq feeding equality comparison): New peepholes. * config/m68k/predicates.md (addq_subq_operand): New predicate. (equality_comparison_operator): Likewise. PR target/25112 * gcc.target/m68k/pr25112: New test. From-SVN: r242605
2016-11-18PR c++/67631 - list-init and explicit conversionsJason Merrill5-6/+25
* semantics.c (finish_compound_literal): Call digest_init_flags. * typeck2.c (digest_init_flags): Add complain parm. (store_init_value): Pass it. From-SVN: r242603
2016-11-18pr71179.c: Prune ABI message.David Edelsohn3-1/+7
* gcc.dg/tree-ssa/pr71179.c: Prune ABI message. * gcc.dg/tree-ssa/ssa-fre-55.c: Same. From-SVN: r242602
2016-11-18Make load_extend_op an inline functionRichard Sandiford3-14/+18
gcc/ * rtlanal.c (load_extend_op): Move to... * rtl.h: ...here and make inline. From-SVN: r242601
2016-11-18runtime: move schedt type and sched var from C to GoIan Lance Taylor4-269/+243
This doesn't change any actual code, it just starts using the Go definition of the schedt type and the sched variable rather than the C definitions. The schedt type is tweaked slightly for gccgo. We aren't going to release goroutine stacks, so we don't need separate gfreeStack and gfreeNostack lists. We only have one size of defer function, so we don't need a list of 5 different pools. Reviewed-on: https://go-review.googlesource.com/33364 From-SVN: r242600
2016-11-18[ARM] Optional -mthumb for Thumb only targetsThomas Preud'homme10-189/+340
2016-11-18 Terry Guo <terry.guo@arm.com> Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * common/config/arm/arm-common.c (arm_target_thumb_only): New function. * config/arm/arm-opts.h: Include arm-flags.h. (struct arm_arch_core_flag): Define. (arm_arch_core_flags): Define. * config/arm/arm-protos.h: Include arm-flags.h (FL_NONE, FL_ANY, FL_CO_PROC, FL_ARCH3M, FL_MODE26, FL_MODE32, FL_ARCH4, FL_ARCH5, FL_THUMB, FL_LDSCHED, FL_STRONG, FL_ARCH5E, FL_XSCALE, FL_ARCH6, FL_VFPV2, FL_WBUF, FL_ARCH6K, FL_THUMB2, FL_NOTM, FL_THUMB_DIV, FL_VFPV3, FL_NEON, FL_ARCH7EM, FL_ARCH7, FL_ARM_DIV, FL_ARCH8, FL_CRC32, FL_SMALLMUL, FL_NO_VOLATILE_CE, FL_IWMMXT, FL_IWMMXT2, FL_ARCH6KZ, FL2_ARCH8_1, FL2_ARCH8_2, FL2_FP16INST, FL_TUNE, FL_FOR_ARCH2, FL_FOR_ARCH3, FL_FOR_ARCH3M, FL_FOR_ARCH4, FL_FOR_ARCH4T, FL_FOR_ARCH5, FL_FOR_ARCH5T, FL_FOR_ARCH5E, FL_FOR_ARCH5TE, FL_FOR_ARCH5TEJ, FL_FOR_ARCH6, FL_FOR_ARCH6J, FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK, FL_FOR_ARCH6KZ, FL_FOR_ARCH6T2, FL_FOR_ARCH6M, FL_FOR_ARCH7, FL_FOR_ARCH7A, FL_FOR_ARCH7VE, FL_FOR_ARCH7R, FL_FOR_ARCH7M, FL_FOR_ARCH7EM, FL_FOR_ARCH8A, FL2_FOR_ARCH8_1A, FL2_FOR_ARCH8_2A, FL_FOR_ARCH8M_BASE, FL_FOR_ARCH8M_MAIN, arm_feature_set, ARM_FSET_MAKE, ARM_FSET_MAKE_CPU1, ARM_FSET_MAKE_CPU2, ARM_FSET_CPU1, ARM_FSET_CPU2, ARM_FSET_EMPTY, ARM_FSET_ANY, ARM_FSET_HAS_CPU1, ARM_FSET_HAS_CPU2, ARM_FSET_HAS_CPU, ARM_FSET_ADD_CPU1, ARM_FSET_ADD_CPU2, ARM_FSET_DEL_CPU1, ARM_FSET_DEL_CPU2, ARM_FSET_UNION, ARM_FSET_INTER, ARM_FSET_XOR, ARM_FSET_EXCLUDE, ARM_FSET_IS_EMPTY, ARM_FSET_CPU_SUBSET): Move to ... * config/arm/arm-flags.h: This new file. * config/arm/arm.h (TARGET_MODE_SPEC_FUNCTIONS): Define. (EXTRA_SPEC_FUNCTIONS): Add TARGET_MODE_SPEC_FUNCTIONS to its value. (TARGET_MODE_SPECS): Define. (DRIVER_SELF_SPECS): Add TARGET_MODE_SPECS to its value. gcc/testsuite/ * gcc.target/arm/optional_thumb-1.c: New test. * gcc.target/arm/optional_thumb-2.c: New test. * gcc.target/arm/optional_thumb-3.c: New test. From-SVN: r242597
2016-11-18Make arm_feature_set agree with type of FL_* macrosThomas Preud'homme2-45/+58
2016-11-18 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * config/arm/arm-protos.h (FL_NONE, FL_ANY, FL_CO_PROC, FL_ARCH3M, FL_MODE26, FL_MODE32, FL_ARCH4, FL_ARCH5, FL_THUMB, FL_LDSCHED, FL_STRONG, FL_ARCH5E, FL_XSCALE, FL_ARCH6, FL_VFPV2, FL_WBUF, FL_ARCH6K, FL_THUMB2, FL_NOTM, FL_THUMB_DIV, FL_VFPV3, FL_NEON, FL_ARCH7EM, FL_ARCH7, FL_ARM_DIV, FL_ARCH8, FL_CRC32, FL_SMALLMUL, FL_NO_VOLATILE_CE, FL_IWMMXT, FL_IWMMXT2, FL_ARCH6KZ, FL2_ARCH8_1, FL2_ARCH8_2, FL2_FP16INST): Reindent comment, add final dot when missing and make value unsigned. (arm_feature_set): Use unsigned entries instead of unsigned long. From-SVN: r242596
2016-11-18MAINTAINERS (Write After Approval): Add myself.Toma Tabacu2-0/+5
2016-11-18 Toma Tabacu <toma.tabacu@imgtec.com> * MAINTAINERS (Write After Approval): Add myself. From-SVN: r242595
2016-11-18runtime: don't call __go_alloc/__go_free in environment functionsIan Lance Taylor3-34/+22
Reviewed-on: https://go-review.googlesource.com/33363 From-SVN: r242594
2016-11-18libgo: remove old/regexp and old/templateIan Lance Taylor11-4506/+13
They were removed from the master Go library in 2012 (https://golang.org/cl/5979046) but somehow that was not reflected here. Reviewed-on: https://go-review.googlesource.com/33391 From-SVN: r242592
2016-11-18S/390: Lower requirements for successful htm tests.Dominik Vogt3-5/+13
The attached patch makes the htm tests on s390 less sensitive to spurious abort. Please check the commit comment for details. The modified tests have been run once on a zEC12. gcc/ChangeLog: 2016-11-18 Dominik Vogt <vogt@linux.vnet.ibm.com> * config/rs6000/rs6000.c (rs6000_stack_info): PR/77359: Properly align local variables in functions calling alloca. Also update the ASCII drawings * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET, STACK_DYNAMIC_OFFSET): PR/77359: Likewise. * config/rs6000/aix.h (STARTING_FRAME_OFFSET, STACK_DYNAMIC_OFFSET): PR/77359: Copy AIX specific versions of the rs6000.h macros to aix.h. From-SVN: r242591
2016-11-18Re-apply: Drop excess size used for run time allocated stack variables.Dominik Vogt2-3/+18
The patch got reverted after hitting PR77359 which turned out to be a rs6000 backend problem. Reapplying after the PR got fixed. gcc/ChangeLog: 2016-11-18 Dominik Vogt <vogt@linux.vnet.ibm.com> Re-apply after PR bootstrap/77359 is fixed: 2016-08-23 Dominik Vogt <vogt@linux.vnet.ibm.com> * explow.c (get_dynamic_stack_size): Take known alignment of stack pointer + STACK_DYNAMIC_OFFSET into account when calculating the size needed. --This line, and those below, will be ignored-- M gcc/ChangeLog M gcc/explow.c From-SVN: r242590
2016-11-18RS6000: Fix PR 77359: Properly align local variables in functions calling ↵Dominik Vogt4-13/+84
alloca. gcc/ChangeLog: 2016-11-18 Dominik Vogt <vogt@linux.vnet.ibm.com> * config/rs6000/rs6000.c (rs6000_stack_info): PR/77359: Properly align local variables in functions calling alloca. Also update the ASCII drawings * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET, STACK_DYNAMIC_OFFSET): PR/77359: Likewise. * config/rs6000/aix.h (STARTING_FRAME_OFFSET, STACK_DYNAMIC_OFFSET): PR/77359: Copy AIX specific versions of the rs6000.h macros to aix.h. From-SVN: r242589
2016-11-18MIPS: Check for sysroot support when upgrading/downgrading test optionsAndrew Bennett28-30/+98
gcc/testsuite/ * gcc.target/mips/inline-memcpy-1.c (dg-options): Add (REQUIRES_STDLIB). * gcc.target/mips/inline-memcpy-2.c: Ditto. * gcc.target/mips/inline-memcpy-3.c: Ditto. * gcc.target/mips/inline-memcpy-4.c: Ditto. * gcc.target/mips/inline-memcpy-5.c: Ditto. * gcc.target/mips/loongson-shift-count-truncated-1.c: Ditto. * gcc.target/mips/loongson-simd.c: Ditto. * gcc.target/mips/memcpy-1.c: Ditto. * gcc.target/mips/mips-3d-1.c: Ditto. * gcc.target/mips/mips-3d-2.c: Ditto. * gcc.target/mips/mips-3d-3.c: Ditto. * gcc.target/mips/mips-3d-4.c: Ditto. * gcc.target/mips/mips-3d-5.c: Ditto. * gcc.target/mips/mips-3d-6.c: Ditto. * gcc.target/mips/mips-3d-7.c: Ditto. * gcc.target/mips/mips-3d-8.c: Ditto. * gcc.target/mips/mips-3d-9.c: Ditto. * gcc.target/mips/mips-ps-1.c: Ditto. * gcc.target/mips/mips-ps-2.c: Ditto. * gcc.target/mips/mips-ps-3.c: Ditto. * gcc.target/mips/mips-ps-4.c: Ditto. * gcc.target/mips/mips-ps-6.c: Ditto. * gcc.target/mips/mips16-attributes.c: Ditto. * gcc.target/mips/mips32-dsp-run.c: Ditto. * gcc.target/mips/mips32-dsp.c: Ditto. * gcc.target/mips/save-restore-1.c: Ditto. * gcc.target/mips/mips.exp (mips_option_groups): Add stdlib. (mips_preprocess): Add ignore_output argument that when set will not return the pre-processed output. (mips_arch_info): Update arguments for the call to mips_preprocess. (mips-dg-init): Ditto. (mips-dg-options): Check if a test having test option (REQUIRES_STDLIB) has the required sysroot support for the current test options. Co-Authored-By: Toma Tabacu <toma.tabacu@imgtec.com> From-SVN: r242587
2016-11-18Use rtx_mode_t instead of std::make_pairRichard Sandiford10-32/+49
This change makes the code less sensitive to the exact type of the mode, i.e. it forces a conversion where necessary. This becomes important when wrappers like scalar_int_mode and scalar_mode can also be used instead of machine_mode. Using rtx_mode_t also abstracts away the representation. The fact that it's a std::pair rather than a custom class isn't important to users of the interface. gcc/ 2016-11-18 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * combine.c (try_combine): Use rtx_mode_t instead of std::make_pair. * dwarf2out.c (mem_loc_descriptor, loc_descriptor): Likewise. (add_const_value_attribute): Likewise. * explow.c (plus_constant): Likewise. * expmed.c (expand_mult, make_tree): Likewise. * expr.c (convert_modes): Likewise. * loop-doloop.c (doloop_optimize): Likewise. * postreload.c (reload_cse_simplify_set): Likewise. * simplify-rtx.c (simplify_const_unary_operation): Likewise. (simplify_binary_operation_1, simplify_const_binary_operation): (simplify_const_relational_operation, simplify_immed_subreg): Likewise. * wide-int.h: Update documentation to recommend rtx_mode_t instead of std::make_pair. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r242586
2016-11-18Add SET_DECL_MODERichard Sandiford32-38/+105
This may no longer be necessary with the current version of the SVE patches, but it does at least make things consistent with the TYPE_MODE/SET_TYPE_MODE split. gcc/ada/ 2016-11-16 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * gcc-interface/utils.c (create_label_decl): Use SET_DECL_MODE. gcc/c/ 2016-11-16 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * c-decl.c (merge_decls): Use SET_DECL_MODE. (make_label, finish_struct): Likewise. gcc/cp/ 2016-11-16 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * class.c (finish_struct_bits): Use SET_DECL_MODE. (build_base_field_1, layout_class_type, finish_struct_1): Likewise. * decl.c (make_label_decl): Likewise. * pt.c (tsubst_decl): Likewise. gcc/fortran/ 2016-11-16 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * trans-common.c (build_common_decl): Use SET_DECL_MODE. * trans-decl.c (gfc_build_label_decl): Likewise. * trans-types.c (gfc_get_array_descr_info): Likewise. gcc/lto/ 2016-11-16 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * lto.c (offload_handle_link_vars): Use SET_DECL_MODE. gcc/ 2016-11-16 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * tree.h (SET_DECL_MODE): New macro. * cfgexpand.c (avoid_deep_ter_for_debug): Use SET_DECL_MODE. (expand_gimple_basic_block): Likewise. * function.c (split_complex_args): Likeise. * ipa-prop.c (ipa_modify_call_arguments): Likewise. * omp-simd-clone.c (ipa_simd_modify_stmt_ops): Likewise. * stor-layout.c (layout_decl, relayout_decl): Likewise. (finish_bitfield_representative): Likewise. * tree.c (make_node_stat): Likewise. * tree-inline.c (remap_ssa_name): Likewise. (tree_function_versioning): Likewise. * tree-into-ssa.c (rewrite_debug_stmt_uses): Likewise. * tree-sra.c (sra_ipa_reset_debug_stmts): Likewise. * tree-ssa-ccp.c (optimize_atomic_bit_test_and): Likewise. * tree-ssa-loop-ivopts.c (remove_unused_ivs): Likewise. * tree-ssa.c (insert_debug_temp_for_var_def): Likewise. * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Likewise. * varasm.c (make_debug_expr_from_rtl): Likewise. libcc1/ 2016-11-16 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * plugin.cc (plugin_build_add_field): Use SET_DECL_MODE. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r242585
2016-11-18bb-reorder: Improve compgotos pass (PR71785)Segher Boessenkool2-121/+101
For code like the testcase in PR71785 GCC factors all the indirect branches to a single dispatcher that then everything jumps to. This is because having many indirect branches with each many jump targets does not scale in large parts of the compiler. Very late in the pass pipeline (right before peephole2) the indirect branches are then unfactored again, by the duplicate_computed_gotos pass. This pass works by replacing branches to such a common dispatcher by a copy of the dispatcher. For code like this testcase this does not work so well: most cases do a single addition instruction right before the dispatcher, but not all, and we end up with only two indirect jumps: the one without the addition, and the one with the addition in its own basic block, and now everything else jumps _there_. This patch rewrites the algorithm to deal with this. It also makes it simpler: it does not need the "candidates" array anymore, it does not need RTL layout mode, it does not need cleanup_cfg, and it does not need to keep track of what blocks it already visited. PR rtl-optimization/71785 * bb-reorder.c (maybe_duplicate_computed_goto): New function. (duplicate_computed_gotos): New function. (pass_duplicate_computed_gotos::execute): Rewrite. From-SVN: r242584
2016-11-18Correct gcc/go/gofrontend/lex.cc and libgo/aclocal.m4 to the versions in the ↵Ian Lance Taylor5-212/+7
gofrontend repo... Correct gcc/go/gofrontend/lex.cc and libgo/aclocal.m4 to the versions in the gofrontend repo, which is supposed to be the master copy. Remove a few files in libgo that somehow were not deleted in the past. From-SVN: r242583