aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-03-16Fix thinko in indirect_jump_optimizeAlan Modra2-8/+25
PR rtl-optimization/69195 PR rtl-optimization/47992 * ira.c (indirect_jump_optimize): Ignore artificial defs. Add comments. From-SVN: r234235
2016-03-15re PR c++/70209 (ICE in strip_typedefs, at cp/tree.c:1377)Marek Polacek4-3/+34
PR c++/70209 * tree.c (strip_typedefs): Call strip_typedefs again on the DECL_ORIGINAL_TYPE result. * g++.dg/ext/attribute-may-alias-4.C: New test. From-SVN: r234234
2016-03-15re PR c++/70095 ([C++14] Link error on partially specialized variable template)Jason Merrill3-1/+15
PR c++/70095 * pt.c (instantiate_decl): Fix call to variable_template_p. From-SVN: r234231
2016-03-15Fix more P0184R0 references.Jason Merrill2-2/+2
From-SVN: r234230
2016-03-15re PR c++/70141 (template parameter not deducible in partial specialization ↵Jason Merrill3-2/+34
of template inside template) PR c++/70141 * pt.c (for_each_template_parm_r): Always walk into TYPENAME_TYPE. From-SVN: r234228
2016-03-15pr63384.C: Add -w to dg-options.Alexander Monakov2-1/+6
* g++.dg/pr63384.C: Add -w to dg-options. Remove '-toggle' in -fvar-tracking-assignments-toggle flag. From-SVN: r234227
2016-03-15re PR middle-end/69513 (LTO bootstrap fails with bootstrap-profiled during ↵Eric Botcazou2-5/+11
linking gnat1 in stagefeedback) PR bootstrap/69513 * dwarf2out.c (flush_limbo_die_list): Really flush the limbo list. From-SVN: r234226
2016-03-15ifcvt-4.c: Add -misel for powerpc*.Pat Haugen2-1/+6
* gcc.dg/ifcvt-4.c: Add -misel for powerpc*. From-SVN: r234224
2016-03-15avr.md (rotl<mode>3): Set mode for operand 2.Senthil Kumar Selvaraj2-1/+5
* config/avr/avr.md (rotl<mode>3): Set mode for operand 2. From-SVN: r234223
2016-03-15re PR rtl-optimization/70222 (Test miscompiled with -O1)Jakub Jelinek5-2/+73
PR rtl-optimization/70222 * combine.c (simplify_shift_const_1): For A >> B >> C LSHIFTRT optimization if mode is different from result_mode, queue up masking of the result in outer_op. Formatting fix. * gcc.c-torture/execute/pr70222-1.c: New test. * gcc.c-torture/execute/pr70222-2.c: New test. From-SVN: r234222
2016-03-15re PR middle-end/70239 (ICE in ggc_set_mark)Jakub Jelinek2-1/+7
PR middle-end/70239 * tree-ssa-sccvn.c (VN_INFO_GET): Use safe_grow_cleared instead of safe_grow. From-SVN: r234221
2016-03-15Fix pr68714 test for targets not supporting V4SImode.Richard Henderson2-2/+6
* gcc.dg/tree-ssa/pr68714.c: Test during reassoc pass. From-SVN: r234220
2016-03-15re PR rtl-optimization/69032 (ICE: in cfg_preds_1, at sel-sched-ir.c:4809 ↵Andrey Belevantsev4-3/+34
with -fsched-pressure -fsel-sched-pipelining -fselective-scheduling) gcc/ PR rtl-optimization/69032 * sel-sched-ir.c (get_seqno_by_preds): Include both insn and head when looping backwards over basic block insns. testsuite/ PR rtl-optimization/69032 * gcc.dg/pr69032.c: New test. From-SVN: r234219
2016-03-15re PR target/66660 ([ia64] Speculative load not checked before use, leading ↵Andrey Belevantsev1-6/+10
to a NaT Consumption Vector interruption) PR target/66660 * sel-sched-ir.c (merge_expr): Avoid changing the speculative pattern to non-speculative when propagating trap bits. From-SVN: r234218
2016-03-15re PR rtl-optimization/63384 (scheduler loops on endless fence list with ↵Andrey Belevantsev4-2/+26
-fselective-scheduling2 on x86) gcc/ PR rtl-optimization/63384 * sel-sched.c (invoke_aftermath_hooks): Do not decrease issue_more on DEBUG_INSN_P insns. testsuite/ PR rtl-optimization/63384 * g++.dg/pr63384.C: New test. From-SVN: r234217
2016-03-15re PR target/64411 (ICE: in verify_target_availability, at sel-sched.c:1577 ↵Andrey Belevantsev6-10/+79
with -Os -mcmodel=medium -fPIC -fschedule-insns -fselective-scheduling) gcc/ PR target/64411 * sched-deps.c (get_implicit_reg_pending_clobbers): New function, factored out from ... (sched_analyze_insn): ... here. * sched-int.h (get_implicit_reg_pending_clobbers): Declare it. * sel-sched-ir.c (setup_id_implicit_regs): New function, use get_implicit_reg_pending_clobbers in it. (setup_id_reg_sets): Use setup_id_implicit_regs. (deps_init_id): Ditto. testsuite/ PR target/64411 * gcc.target/i386/pr64411.C: New test. From-SVN: r234216
2016-03-15Add goacc/kernels-alias{,-2}.f95Tom de Vries3-0/+51
2016-03-15 Tom de Vries <tom@codesourcery.com> * gfortran.dg/goacc/kernels-alias-2.f95: New test. * gfortran.dg/goacc/kernels-alias.f95: New test. From-SVN: r234214
2016-03-15expr.c (cpp_classify_number): Hex floats are new in C++1z.Jason Merrill7-4/+21
* libcpp/expr.c (cpp_classify_number): Hex floats are new in C++1z. * libcpp/init.c (lang_defaults): Likewise. * gcc/c-family/c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float. From-SVN: r234213
2016-03-15feat-cxx1z.C: Fix __cpp_fold_expressions value.Jason Merrill2-3/+3
* g++.dg/cpp1z/feat-cxx1z.C: Fix __cpp_fold_expressions value. * g++.dg/cpp1z/fold7.C: Likewise. From-SVN: r234212
2016-03-15Fix fdump-ipa-all-graphTom de Vries3-7/+20
2016-03-15 Tom de Vries <tom@codesourcery.com> PR ipa/70161 * cgraph.c (cgraph_node::get_body): Save, reset and restore dump_file_name. * passes.c (execute_one_ipa_transform_pass): Add missing argument to execute_function_dump. (execute_one_pass): Don't dump function if it will be dumped after ipa transform. From-SVN: r234211
2016-03-14PR c++/53792 - [C++11] improving compiler-time constexpr evaluationMartin Sebor3-0/+75
gcc/testsuite/ChangeLog: 2016-03-14 Martin Sebor <msebor@redhat.com> PR c++/53792 * g++.dg/cpp0x/constexpr-inline.C: New test. * g++.dg/cpp0x/constexpr-inline-1.C: Same. From-SVN: r234208
2016-03-14* c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.Jason Merrill3-2/+6
From-SVN: r234207
2016-03-15genrecog: Fix crash on invalid inputSegher Boessenkool2-1/+6
If your machine description refers to a non-existent predicate genrecog crashes. This fixes it. * genrecog.c (match_pattern_2): If pred is NULL don't call safe_predicate_mode on it. From-SVN: r234206
2016-03-15Daily bump.GCC Administrator1-1/+1
From-SVN: r234205
2016-03-14* gcc.dg/torture/pr70083.c: Prune non-standard ABI.David Edelsohn2-0/+8
From-SVN: r234202
2016-03-14re PR middle-end/70219 (ICE: in delete_move_and_clobber, at ↵Jakub Jelinek4-1/+30
lra-constraints.c:5864 with -O2) PR middle-end/70219 * lra-constraints.c (delete_move_and_clobber): Change assertion to also allow dregno == 0. * gcc.dg/pr70219.c: New test. From-SVN: r234201
2016-03-14re PR tree-optimization/68714 (less folding of vector comparison)Richard Henderson3-8/+173
PR tree-opt/68714 * tree-ssa-reassoc.c (ovce_extract_ops, optimize_vec_cond_expr): New. (can_reassociate_p): Allow ANY_INTEGRAL_TYPE_P. (reassociate_bb): Use optimize_vec_cond_expr; avoid optimize_range_tests, attempt_builtin_copysign and attempt_builtin_powi on vectors. From-SVN: r234196
2016-03-14P08184R0: Generalizing the Range-Based For LoopCasey Carter4-4/+49
* parser.c (cp_convert_range_for): Set the type of __end separately. (cp_parser_perform_range_for_lookup): Allow different begin/end types if they are comparable. Co-Authored-By: Jason Merrill <jason@redhat.com> From-SVN: r234191
2016-03-14LRA: identify biggest access mode for hard_regs and use it in split_regBernd Schmidt6-15/+79
PR target/70083 * lra-lives.c (process_bb_lives): Also update biggest mode for hard regs. (lra_create_live_ranges_1): initialize hard register biggest_mode to VOIDmode. * lra-constraints.c (split_reg): For hard regs, try to find the biggest single-register mode used in the function. testsuite/ PR target/70083 * gcc.dg/torture/pr70083.c: New test. * gcc.target/i386/pr70083.c: New test. From-SVN: r234184
2016-03-14re PR tree-optimization/56365 (Missed opportunities for smin/smax standard ↵Richard Biener4-15/+135
name patterns when compiling as C++) 2016-03-14 Richard Biener <rguenther@suse.de> PR tree-optimization/56365 * tree-ssa-phiopt.c (minmax_replacement): Handle alternate constants to compare against. * gcc.dg/tree-ssa/phi-opt-14.c: New testcase. From-SVN: r234183
2016-03-14rs6000: Handle "d" output in the bd*z patterns (PR70098)Segher Boessenkool5-5/+125
In the rs6000 port, FLOAT_REGS can contain DImode values when compiling for 64-bit targets. Some instructions (like "fcfid" in the testcase, convert from integer to DP float) only work on floating point registers. So, we do want to allow DImode in these regs. Now, in unusual cases IRA will assign FLOAT_REGS to some allocno where some insns cannot handle FLOAT_REGS there, so they will need a reload. Maybe IRA can be made smarter, but it isn't doing anything wrong here, so we should be able to handle it. The place it goes wrong is in the output of the *ctrdi_internal[1256] pattern: the "bdz" and "bdnz" instructions. GCC refuses to do output reloads on JUMP_INSNs, probably because it is hard to do, needs different strategies than "normal" reloads do, and it cannot even be done at all for general patterns. So JUMP_INSNs need to be able to handle every possible output for the register class used. These patterns already handle writing to "c" (the base insn case), and to "r", "m", and "c" or "l"; all those via splitters. We just need to handle "d" as well. That is what this patch does. [A predicate in one of the splitters needs to be touched up so that the correct splitter is used for the FLOAT_REGS case.] But, that leaves another problem. One of the insns that are split to is a move from a GPR to an FPR. That work fine on targets with direct move (which does exactly that), i.e. power8 and up. But older targets need memory to do the move, and this splitter runs after reload so it cannot allocate memory; and allocating memory beforehand for every bdnz insn is pretty horrible as well. This patch implements the easy part. With it, power8 works, where it didn't before. PR target/70098 * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2, *ctr<mode>_internal5, *ctr<mode>_internal6): Also allow "d" as output. (define_split for the GPR case): Use int_reg_operand instead of gpc_reg_operand for the output. gcc/testsuite/ PR target/70098 * lib/target-supports.exp (check_effective_target_powerpc64_no_dm): New function. * g++.dg/pr70098.C: New testcase. From-SVN: r234181
2016-03-14Unshare create_empty_if_region_on_edge argumentTom de Vries4-1/+41
2016-03-14 Tom de Vries <tom@codesourcery.com> PR tree-optimization/70045 * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): Unshare create_empty_if_region_on_edge argument. * gcc.dg/graphite/pr70045.c: New test. From-SVN: r234177
2016-03-14Summary: libcc1: rerun configure when gcc/BASE-VER changesAndreas Schwab4-4/+39
* configure.ac (CONFIG_STATUS_DEPENDENCIES): Substitute. * configure: Regenerate. * Makefile.in: Regenerate. From-SVN: r234176
2016-03-14Daily bump.GCC Administrator1-1/+1
From-SVN: r234175
2016-03-13vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define.Eric Botcazou12-16/+74
* config/arm/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define. (STACK_CHECK_PROTECT): Likewise. * config/i386/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise (STACK_CHECK_PROTECT): Likewise. * config/rs6000/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise (STACK_CHECK_PROTECT): Likewise. * config/rs6000/vxworksae.h (STACK_CHECK_PROTECT): Likewise. * config/sparc/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise. (STACK_CHECK_PROTECT): Likewise. ada/ * system-vxworks-m68k.ads (Stack_Check_Probes): Set to True. (Stack_Check_Limits): Set to False. * system-vxworks-mips.ads (Stack_Check_Probes): Set to True. (Stack_Check_Limits): Set to False. * system-vxworks-ppc.ads (Stack_Check_Probes): Set to True. (Stack_Check_Limits): Set to False. * system-vxworks-sparcv9.ads (Stack_Check_Probes): Set to True. (Stack_Check_Limits): Set to False. * system-vxworks-x86.ads (Stack_Check_Probes): Set to True. (Stack_Check_Limits): Set to False. From-SVN: r234171
2016-03-13libgcc_s is required by libstdc++Thomas Schwinge2-0/+7
libgomp/ * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to always_ld_library_path the path to libgcc_s. From-SVN: r234170
2016-03-13re PR fortran/69043 (Trying to include a directory causes an infinite loop)Jerry DeLisle4-0/+29
2016-03-13 Jerry DeLisle <jvdelisle@gcc.gnu.org> Jim MacArthur <jim.macarthur@codethink.co.uk> PR fortran/69043 * scanner.c (load_file): Check that included file is regular. PR fortran/69043 * gfortran.dg/include_9.f90: New test. Co-Authored-By: Jim MacArthur <jim.macarthur@codethink.co.uk> From-SVN: r234169
2016-03-13re PR fortran/45076 ([OOP] gfortran.dg/dynamic_dispatch_6.f03 ICEs with ↵Dominique d'Humieres3-0/+130
-fprofile-use) 2016-03-13 Dominique d'Humieres <dominiq@lps.ens.fr> PR fortran/45076 gfortran.dg/prof/prof.exp: New script. gfortran.dg/prof/dynamic_dispatch_6.f03: New test. From-SVN: r234168
2016-03-13re PR fortran/69520 (Implement reversal of -fcheck options)Jerry DeLisle3-1/+28
2016-03-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> Harold Anlauf <anlauf@gmx.de> PR fortran/69520 * invoke.texi: Explain use of the 'no-' construct within the -fcheck= option. * options.c (gfc_handle_runtime_check_option): Enable use of 'no-' prefix for the various options with -fcheck= to allow negating previously enabled check options. Co-Authored-By: Harald Anlauf <anlauf@gmx.de> From-SVN: r234167
2016-03-13Daily bump.GCC Administrator1-1/+1
From-SVN: r234166
2016-03-12re PR rtl-optimization/69307 (wrong code with -O2 -fselective-scheduling @ ↵Andrey Belevantsev4-23/+81
armv7a) PR rtl-optimization/69307 * sel-sched.c (choose_best_pseudo_reg): Properly check for hard registers in modes that span more than one register. PR rtl-optimization/69307 * gcc.dg/pr69307.c: New test. From-SVN: r234163
2016-03-12re PR target/69614 (wrong code with -Os -fno-expensive-optimizations ↵Vladimir Makarov4-2/+70
-fschedule-insns -mtpcs-leaf-frame -fira-algorithm=priority @ armv7a) 2016-03-12 Vladimir Makarov <vmakarov@redhat.com> PR target/69614 * lra-constraints.c (delete_move_and_clobber): New. (remove_inheritance_pseudos): Use it. 2016-03-12 Vladimir Makarov <vmakarov@redhat.com> PR target/69614 * gcc.target/arm/pr69614.c: New. From-SVN: r234162
2016-03-12re PR fortran/70031 (Error in recursive module subroutine declaration if ↵Paul Thomas7-47/+197
declared as "module recursive") 2016-03-12 Paul Thomas <pault@gcc.gnu.org> PR fortran/70031 * decl.c (gfc_match_prefix): Treat the 'module' prefix in the same way as the others, rather than fixing it to come last. (gfc_match_function_decl, gfc_match_subroutine): After errors in 'copy_prefix', emit them immediately in the case of module procedures to prevent a later ICE. PR fortran/69524 * decl.c (gfc_match_submod_proc): Permit 'module procedure' declarations within the contains section of modules as well as submodules. * resolve.c (resolve_fl_procedure): Likewise. *trans-decl.c (build_function_decl): Change the gcc_assert to allow all forms of module procedure declarations within module contains sections. 2016-03-12 Paul Thomas <pault@gcc.gnu.org> PR fortran/70031 * gfortran.dg/submodule_14.f08: New test PR fortran/69524 * gfortran.dg/submodule_15.f08: New test From-SVN: r234161
2016-03-12re PR ada/70017 (c52103x and c52104x test failure on s390x)Eric Botcazou3-3/+11
PR ada/70017 * calls.c (emit_library_call_value_1): Clear the ECF_NOTHROW flag if the libcall is LCT_THROW. * explow.c (probe_stack_range): Pass LCT_THROW to emit_library_call for the checking routine. From-SVN: r234160
2016-03-12Fix PR c++/70106 (type of parenthesized qualified-id has wrong cv-qualifiers)Patrick Palka4-1/+50
gcc/cp/ChangeLog: PR c++/70106 * semantics.c (force_paren_expr): Just build a PAREN_EXPR when processing_template_decl and EXPR is a SCOPE_REF. gcc/testsuite/ChangeLog: PR c++/70106 * g++.dg/cpp1y/paren3.C: New test. From-SVN: r234159
2016-03-12Daily bump.GCC Administrator1-1/+1
From-SVN: r234158
2016-03-12re PR target/70131 (PowerPC ISA 2.07 is inefficient at doint (float)(int)x.)Michael Meissner4-6/+62
[gcc] 2016-03-11 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/70131 * config/rs6000/rs6000.md (round32<mode>2_fprs): Do not do the optimization if we have direct move. (roundu32<mode>2_fprs): Likewise. [gcc/testsuite] 2016-03-11 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/70131 * gcc.target/powerpc/ppc-round2.c: New test. From-SVN: r234155
2016-03-12* sv.po: Update.Joseph Myers2-150/+77
From-SVN: r234153
2016-03-11re PR target/70123 (Miscompilation of cfitsio testcase on s390x-linux ↵Bernd Schmidt4-11/+252
starting with r222144) PR target/70123 * lra-remat.c (operand_to_remat): Disallow hard regs in the value t be rematerialized. (reg_overlap_for_remat_p): Renamed from input_regno_present_p. Arguments swapped. All callers changed. Take reg_renumber into account, and Calculate and compare register ranges for hard regs. PR target/70123 * gcc.dg/torture/pr70123.c: New test. From-SVN: r234152
2016-03-11re PR tree-optimization/70190 (ICE (segfault) at -O2 and -O3 on ↵Jeff Law4-0/+34
x86_64-linux-gnu) PR tree-optimization/70190 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): Handle cases where we can not extract the taken edge, even though we found a constant value. PR tree-optimization/70190 * gcc.c-torture/compile/pr70190.c: New test. From-SVN: r234151