Age | Commit message (Collapse) | Author | Files | Lines |
|
PR rtl-optimization/69195
PR rtl-optimization/47992
* ira.c (indirect_jump_optimize): Ignore artificial defs.
Add comments.
From-SVN: r234235
|
|
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
|
|
PR c++/70095
* pt.c (instantiate_decl): Fix call to variable_template_p.
From-SVN: r234231
|
|
From-SVN: r234230
|
|
of template inside template)
PR c++/70141
* pt.c (for_each_template_parm_r): Always walk into TYPENAME_TYPE.
From-SVN: r234228
|
|
* g++.dg/pr63384.C: Add -w to dg-options. Remove '-toggle'
in -fvar-tracking-assignments-toggle flag.
From-SVN: r234227
|
|
linking gnat1 in stagefeedback)
PR bootstrap/69513
* dwarf2out.c (flush_limbo_die_list): Really flush the limbo list.
From-SVN: r234226
|
|
* gcc.dg/ifcvt-4.c: Add -misel for powerpc*.
From-SVN: r234224
|
|
* config/avr/avr.md (rotl<mode>3): Set mode for operand 2.
From-SVN: r234223
|
|
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
|
|
PR middle-end/70239
* tree-ssa-sccvn.c (VN_INFO_GET): Use safe_grow_cleared instead
of safe_grow.
From-SVN: r234221
|
|
* gcc.dg/tree-ssa/pr68714.c: Test during reassoc pass.
From-SVN: r234220
|
|
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
|
|
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
|
|
-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
|
|
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-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
|
|
* 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
|
|
* g++.dg/cpp1z/feat-cxx1z.C: Fix __cpp_fold_expressions value.
* g++.dg/cpp1z/fold7.C: Likewise.
From-SVN: r234212
|
|
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
|
|
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
|
|
From-SVN: r234207
|
|
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
|
|
From-SVN: r234205
|
|
From-SVN: r234202
|
|
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
|
|
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
|
|
* 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
|
|
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
|
|
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
|
|
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-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
|
|
* configure.ac (CONFIG_STATUS_DEPENDENCIES): Substitute.
* configure: Regenerate.
* Makefile.in: Regenerate.
From-SVN: r234176
|
|
From-SVN: r234175
|
|
* 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
|
|
libgomp/
* testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
always_ld_library_path the path to libgcc_s.
From-SVN: r234170
|
|
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
|
|
-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-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
|
|
From-SVN: r234166
|
|
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
|
|
-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
|
|
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
|
|
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
|
|
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
|
|
From-SVN: r234158
|
|
[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
|
|
From-SVN: r234153
|
|
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
|
|
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
|