Age | Commit message (Collapse) | Author | Files | Lines |
|
2017-03-17 Richard Biener <rguenther@suse.de>
PR middle-end/80050
* genmatch.c (parser::next): Remove pointless check for CPP_EOF.
(parser::peek): Likewise.
From-SVN: r246218
|
|
Memory Before Removing Last Reference (CWE-401))
2017-03-17 Richard Biener <rguenther@suse.de>
PR tree-optimization/80048
* sese.c (free_sese_info): Properly release rename_map and
copied_bb_map elements.
From-SVN: r246217
|
|
From-SVN: r246216
|
|
Don't let pointer randomization change the order in which we process
store chains. This may cause SSA_NAMEs to be released in different
order, and if they're reused later, they may cause differences in SSA
partitioning, leading to differences in expand, and ultimately to
different code.
bootstrap-debug-lean (-fcompare-debug) on i686-linux-gnu has failed in
haifa-sched.c since r245196 exposed the latent ordering problem in
store merging. In this case, the IR differences (different SSA names
selected for copies in out-of-SSA, resulting in some off-by-one
differences in pseudos) were not significant enough to be visible in
the compiler output.
for gcc/ChangeLog
* gimple-ssa-store-merging.c (struct imm_store_chain_info):
Add linked-list forward and backlinks. Insert on
construction, remove on destruction.
(class pass_store_merging): Add m_stores_head field.
(pass_store_merging::terminate_and_process_all_chains):
Iterate over m_stores_head list.
(pass_store_merging::terminate_all_aliasing_chains):
Likewise.
(pass_store_merging::execute): Check for debug stmts first.
Push new chains onto the m_stores_head stack.
From-SVN: r246213
|
|
From-SVN: r246212
|
|
PR c++/79797
* constexpr.c (lookup_placeholder): Tweak.
From-SVN: r246210
|
|
[gcc]
2017-03-16 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/71294
* config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Allow a
SPLAT operation on ISA 2.07 64-bit systems that have direct move,
but no MTVSRDD support, by doing MTVSRD and XXPERMDI.
[gcc/testsuite]
2017-03-16 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/71294
* g++.dg/pr71294.C: New test.
From-SVN: r246209
|
|
PR tree-optimization/71437
* tree-ssa-dom.c (dom_opt_dom_walker): Remove thread_across_edge
member function. Implementation moved into after_dom_children
member function and into the threader's thread_outgoing_edges
function.
(dom_opt_dom_walker::after_dom_children): Simplify by moving
some code into new thread_outgoing_edges.
* tree-ssa-threadedge.c (thread_across_edge): Make static and simplify
definition. Simplify marker handling (do it here). Assume we always
have the available expression and the const/copies tables.
(thread_outgoing_edges): New function extracted from tree-ssa-dom.c
and tree-vrp.c
* tree-ssa-threadedge.h (thread_outgoing_edges): Declare.
* tree-vrp.c (equiv_stack): No longer file scoped.
(vrp_dom_walker): New class.
(vrp_dom_walker::before_dom_children): New member function.
(vrp_dom_walker::after_dom_children): Likewise.
(identify_jump_threads): Setup domwalker. Use it rather than
walking edges in a random order by hand. Simplify setup/finalization.
(finalize_jump_threads): Remove.
(vrp_finalize): Do not call identify_jump_threads here.
(execute_vrp): Do it here instead and call thread_through_all_blocks
here too.
From-SVN: r246208
|
|
PR tree-optimization/71437
* tree-ssa-dom.c (pfn_simplify): Add basic_block argument. All
callers changed.
(simplify_stmt_for_jump_threading): Add basic_block argument. All
callers changed.
(lhs_of_dominating_assert): Moved from here into tree-vrp.c.
(dom_opt_dom_walker::thread_across_edge): Remove
handle_dominating_asserts argument. All callers changed.
(record_temporary_equivalences_from_stmts_at_dest): Corresponding
changes. Remove calls to lhs_of_dominating_assert. Other
uses of handle_dominating_asserts turn into unconditional code
(simplify_control_stmt_condition_1): Likewise.
(simplify_control_stmt_condition): Likewise.
(thread_through_normal_block, thread_across_edge): Likewise.
* tree-ssa-threadedge.h (thread_across_edge): Corresponding changes.
* tree-vrp.c (lhs_of_dominating_assert): Move here. Return original
object if it is not an SSA_NAME.
(simplify_stmt_for_jump_threading): Call lhs_of_dominating_assert
before calling into the VRP specific simplifiers.
(identify_jump_threads): Remove handle_dominating_asserts
argument.
From-SVN: r246207
|
|
This testcase can only ever be built on x86 (it needs the "avx*"
attributes). This patch skips the test elsewhere.
gcc/testsuite/
* gcc.dg/tree-prof/pr66295.c: Skip unless on an x86 target.
From-SVN: r246206
|
|
PR fortran/80010
* parse.c (gfc_ascii_statement): Use !$ACC for ST_OACC_ATOMIC
and ST_OACC_END_ATOMIC, instead of !ACC.
* trans-decl.c (finish_oacc_declare): Use !$ACC instead of $!ACC.
* openmp.c (gfc_match_oacc_declare, gfc_match_oacc_wait,
gfc_resolve_oacc_declare): Likewise.
* gfortran.dg/goacc/asyncwait-3.f95: Adjust expected diagnostic.
From-SVN: r246204
|
|
PR fortran/79886
* tree-diagnostic.c (default_tree_printer): No longer static.
* tree-diagnostic.h (default_tree_printer): New prototype.
fortran/
* error.c (gfc_format_decoder): Rename plus argument to set_locus,
remove ATTRIBUTE_UNUSED from all arguments, call default_tree_printer
if not a Fortran specific spec.
* trans-io.c: Include options.h.
(gfc_build_st_parameter): Temporarily disable -Wpadded around layout
of artificial IO data structures.
testsuite/
* gfortran.dg/pr79886.f90: New test.
From-SVN: r246203
|
|
* config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>)
Change ins into fmov.
From-SVN: r246190
|
|
element instructions
* config/aarch64/iterators.md (h_con): Return "x" for V4HF and V8HF.
* config/aarch64/aarch64-simd.md (*aarch64_fma4_elt_from_dup<mode>):
Use h_con constraint for operand 1.
(*aarch64_fnma4_elt_from_dup<mode>): Likewise.
(*aarch64_mulx_elt_from_dup<mode>): Likewise for operand 2.
From-SVN: r246189
|
|
PR tree-optimization/71437
* tree-ssa-dom.c (derive_equivalences_from_bit_ior): New function.
(record_temporary_equivalences): Use it.
From-SVN: r246187
|
|
PR tree-optimization/71437
* tree-ssa-dom.c (struct cond_equivalence): Moved from here into
tree-ssa-scopedtables.
(lookup_avail_expr, build_and_record_new_cond): Likewise.
(record_conditions, record_cond, vuse_eq): Likewise.
(record_edge_info): Adjust to API tweak of record_conditions.
(simplify_stmt_for_jump_threading): Similarly for lookup_avail_expr.
(record_temporary_equivalences, optimize_stmt): Likewise.
(eliminate_redundant_computations): Likewise.
(record_equivalences_from_stmt): Likewise.
* tree-ssa-scopedtables.c: Include options.h and params.h.
(vuse_eq): New function, moved from tree-ssa-dom.c
(build_and_record_new_cond): Likewise.
(record_conditions): Likewise. Accept vector of conditions rather
than edge_equivalence structure for first argument.
for the first argument.
(avail_exprs_stack::lookup_avail_expr): New member function, moved
from tree-ssa-dom.c.
(avail_exprs_stack::record_cond): Likewise.
* tree-ssa-scopedtables.h (struct cond_equivalence): Moved here
from tree-ssa-dom.c.
(avail_exprs_stack): Add new member functions lookup_avail_expr
and record_cond.
(record_conditions): Declare.
From-SVN: r246186
|
|
From-SVN: r246185
|
|
achieved (90))
2017-03-15 Vladimir Makarov <vmakarov@redhat.com>
PR target/80017
* lra-constraints.c (process_alt_operands): Increase reject for
reloading an input/output operand.
From-SVN: r246181
|
|
* typeck.c (convert_for_assignment): Handle instantiate_type
not giving an error.
From-SVN: r246180
|
|
hardware _Float128)
[gcc]
2017-03-15 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/79038
* config/rs6000/rs6000.md (float<QHI:mode><IEEE128:mode>2): Define
insns to convert from signed/unsigned char/short to IEEE 128-bit
floating point.
(floatuns<QHI:mode><IEEE128:mode>2): Likewise.
[gcc/testsuite]
2017-03-15 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/79038
* gcc.target/powerpc/pr79038-1.c: New test.
From-SVN: r246178
|
|
From-SVN: r246177
|
|
It was XFAILed because there was a bug in glibc, but that bug was fixed
nine years ago. Nowadays everyone uses a version of glibc with the bug
fixed, so we should no longer XFAIL the test.
gcc/testsuite/
PR fortran/33271
* gfortran.dg/nint_2.f90: Do not xfail powerpc*-*-linux*.
From-SVN: r246174
|
|
gcc/fortran/ChangeLog:
PR fortran/79860
* resolve.c (resolve_contained_fntype): Make error messages more
amenable to translation.
From-SVN: r246170
|
|
PR testsuite/79356
* gcc.dg/attr-alloc_size-11.c: Don't xfail on arm.
From-SVN: r246167
|
|
config/i386/i386.c:42584)
PR target/80019
* config/i386/i386.c (ix86_vector_duplicate_value): Create
subreg of inner mode for values already in registers.
testsuite/ChangeLog:
PR target/80019
* gcc.target/i386/pr80019.c: New test.
From-SVN: r246161
|
|
after the loop.
* config/c6x/c6x.c (hwloop_optimize): Handle case where the old
iteration reg is used after the loop.
From-SVN: r246160
|
|
From-SVN: r246156
|
|
2017-03-15 Martin Liska <mliska@suse.cz>
* gcc.dg/tree-prof/pr66295.c: Removed unused dg-error.
From-SVN: r246154
|
|
a narrow negative-positive range)
PR tree-optimization/79800
* gimple-ssa-sprintf.c (format_floating: Add argument. Handle
precision in negative-positive range.
(format_floating): Call non-const overload with adjusted precision.
PR tree-optimization/79800
* gcc.dg/tree-ssa/builtin-sprintf-warn-15.c: Add test cases.
* gcc.dg/tree-ssa/pr79800.c: New test.
From-SVN: r246151
|
|
gcc/config/rs6000/rs6000.c:37570)
[gcc]
2017-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/79947
* config/rs6000/rs6000.h (TARGET_FRSQRTES): Add check for
-mpowerpc-gfxopt.
[gcc/testsuite]
2017-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/79947
* gcc.target/powerpc/pr79947.c: New test.
From-SVN: r246150
|
|
From-SVN: r246149
|
|
PR middle-end/80020
* builtin-attrs.def (ATTR_ALLOC_SIZE_2_NOTHROW_LIST): New macro.
* builtins.def (aligned_alloc): Use it.
PR middle-end/80020
* gcc.dg/attr-alloc_size-6.c: Correct aligned_alloc argument order.
* gcc.dg/attr-alloc_size-7.c: Same.
* gcc.dg/attr-alloc_size-9.c: Same.
* gcc.dg/builtin-alloc-size.c: Same.
* gcc.dg/pr80020.c: New test.
From-SVN: r246145
|
|
PR c/79936
* Makefile.in (GTFILES): Add calls.c.
* calls.c: Include "gt-calls.h".
From-SVN: r246144
|
|
PR rtl-optimization/79728
* regs.h (struct target_regs): New field
x_contains_allocatable_regs_of_mode.
(contains_allocatable_regs_of_mode): New macro.
* reginfo.c (init_reg_sets_1): Initialize it, and change
contains_reg_of_mode so it includes global regs as well.
* reload.c (push_reload): Use contains_allocatable_regs_of_mode
rather than contains_regs_of_mode.
PR rtl-optimization/79728
* gcc.target/i386/sse-globalreg.c: New test.
From-SVN: r246138
|
|
2017-03-14 Martin Liska <mliska@suse.cz>
* doc/invoke.texi: Document options that can't be combined with
-fcheck-pointer-bounds.
From-SVN: r246130
|
|
2017-03-14 Martin Liska <mliska@suse.cz>
PR middle-end/79831
* doc/invoke.texi (-Wchkp): Document the option.
From-SVN: r246129
|
|
PR c++/79393 DR 1658 workaround
* method.c (synthesized_method_base_walk): Inihibit abstract class
virtual base access check here.
(synthesized_method_walk): Not here.
From-SVN: r246126
|
|
2017-03-14 Martin Liska <mliska@suse.cz>
* Makefile.in: Install gcov-dump.
From-SVN: r246125
|
|
2017-03-14 Martin Liska <mliska@suse.cz>
* multiple_target.c (expand_target_clones): Bail out for
an invalid attribute.
From-SVN: r246124
|
|
2017-03-14 Richard Biener <rguenther@suse.de>
* alias.c (struct alias_set_entry): Pack properly.
* cfgloop.h (struct loop): Likewise.
* cse.c (struct set): Likewise.
* ipa-utils.c (struct searchc_env): Likewise.
* loop-invariant.c (struct invariant): Likewise.
* lra-remat.c (struct cand): Likewise.
* recog.c (struct change_t): Likewise.
* rtl.h (struct address_info): Likewise.
* symbol-summary.h (function_summary): Likewise.
* tree-loop-distribution.c (struct partition): Likewise.
* tree-object-size.c (struct object_size_info): Likewise.
* tree-ssa-loop-ivopts.c (struct cost_pair): Likewise.
* tree-ssa-threadupdate.c (struct ssa_local_info_t): Likewise.
* tree-vect-data-refs.c (struct _vect_peel_info): Likewise.
* tree-vect-slp.c (struct _slp_oprnd_info): Likewise.
* tree-vect-stmts.c (struct simd_call_arg_info): Likewise.
* tree-vectorizer.h (struct _loop_vec_info): Likewise.
(struct _stmt_vec_info): Likewise.
From-SVN: r246121
|
|
2017-03-14 Martin Liska <mliska@suse.cz>
PR target/79892
* multiple_target.c (create_dispatcher_calls): Check that
a target can create a function dispatcher.
From-SVN: r246120
|
|
2017-03-14 Martin Liska <mliska@suse.cz>
PR lto/66295
* multiple_target.c (expand_target_clones): Drop local.local
flag for default implementation.
2017-03-14 Martin Liska <mliska@suse.cz>
PR lto/66295
* gcc.dg/tree-prof/pr66295.c: New test.
From-SVN: r246119
|
|
2017-03-14 James Cowgill <James.Cowgill@imgtec.com>
* s-osinte-linux.ads (struct_sigaction): Use correct type for sa_flags.
From-SVN: r246118
|
|
tree-vect-slp.c:3360)
2017-03-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/80030
* tree-vect-stmts.c (vectorizable_store): Plug memleak.
From-SVN: r246117
|
|
Without this my build breaks on older compilers like GCC-5.4.
gcc/ChangeLog:
2017-03-13 Kito Cheng <kito.cheng@gmail.com>
* config/riscv/riscv.c (riscv_emit_float_compare>: Use
gcc_fallthrough() instead of __attribute__((fallthrough));
From-SVN: r246116
|
|
From-SVN: r246115
|
|
From-SVN: r246112
|
|
* doc/gcc.texi: Remove "up" link to (DIR).
* doc/gccint.texi: Ditto.
From-SVN: r246111
|
|
* doc/install.texi (Specific) <avr>: Remove reference to
binutils 2.13.
From-SVN: r246110
|
|
From-SVN: r246106
|