summaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog279
1 files changed, 279 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a29b7c4bec4..dd52d5c4235 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,282 @@
+2020-09-14 Sergei Trofimovich <siarheit@google.com>
+
+ Backported from master:
+ 2020-09-14 Sergei Trofimovich <siarheit@google.com>
+
+ * doc/invoke.texi: fix '-fprofile-reproducibility' option
+ spelling in manual.
+
+2020-09-14 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ Backported from master:
+ 2020-09-14 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * config/bpf/bpf.md ("nop"): Re-define as `ja 0'.
+
+2020-09-14 Richard Biener <rguenther@suse.de>
+
+ Backported from master:
+ 2020-08-27 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/96522
+ * tree-ssa-address.c (copy_ref_info): Reset flow-sensitive
+ info of the copied points-to. Transfer bigger alignment
+ via the access type.
+ * tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt):
+ Reset all flow-sensitive info.
+
+2020-09-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/97043
+ * tree-vect-slp.c (vect_analyze_slp_instance): Do not
+ elide a load permutation if the current vectorization
+ factor is one.
+
+2020-09-14 Nathan Sidwell <nathan@acm.org>
+
+ * config/i386/sse.md (mov<mode>): Fix operand indices.
+
+2020-09-13 Roger Sayle <roger@nextmovesoftware.com>
+
+ * config/pa/pa.c (hppa_rtx_costs) [ASHIFT, ASHIFTRT, LSHIFTRT]:
+ Provide accurate costs for DImode shifts of integer constants.
+
+2020-09-12 Roger Sayle <roger@nextmovesoftware.com>
+ John David Anglin <danglin@gcc.gnu.org>
+
+ * config/pa/pa.md (shrpsi4_1, shrpsi4_2): New define_insns split
+ out from previous shrpsi4 providing two commutitive variants using
+ plus_xor_ior_operator as a predicate.
+ (shrpdi4_1, shrpdi4_2, shrpdi_3, shrpdi_4): Likewise DImode versions
+ where _1 and _2 take register shifts, and _3 and _4 for integers.
+ (rotlsi3_internal): Name this anonymous instruction.
+ (rotrdi3): New DImode insn copied from rotrsi3.
+ (rotldi3): New DImode expander copied from rotlsi3.
+ (rotldi4_internal): New DImode insn copied from rotsi3_internal.
+
+2020-09-11 Andrew Stubbs <ams@codesourcery.com>
+
+ Backported from master:
+ 2020-09-11 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/gcn/gcn.c (gcn_hard_regno_mode_ok): Align TImode registers.
+ * config/gcn/gcn.md: Assert that TImode registers do not early clobber.
+
+2020-09-11 Richard Biener <rguenther@suse.de>
+
+ Backported from master:
+ 2020-08-27 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/96579
+ * tree-ssa-reassoc.c (linearize_expr_tree): If we expand
+ rhs via special ops make sure to swap operands.
+
+2020-09-11 Richard Biener <rguenther@suse.de>
+
+ Backported from master:
+ 2020-07-30 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/96370
+ * tree-ssa-reassoc.c (rewrite_expr_tree): Add operation
+ code parameter and use it instead of picking it up from
+ the stmt that is being rewritten.
+ (reassociate_bb): Pass down the operation code.
+
+2020-09-11 Richard Biener <rguenther@suse.de>
+
+ Backported from master:
+ 2020-08-07 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/96514
+ * tree-if-conv.c (if_convertible_bb_p): If the last stmt
+ is a call that is control-altering, fail.
+
+2020-09-11 Richard Biener <rguenther@suse.de>
+
+ Backported from master:
+ 2020-07-31 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/96369
+ * fold-const.c (fold_range_test): Special-case constant
+ LHS for short-circuiting operations.
+
+2020-09-11 Richard Biener <rguenther@suse.de>
+
+ Backported from master:
+ 2020-07-29 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/96349
+ * tree-ssa-loop-split.c (stmt_semi_invariant_p_1): When the
+ condition runs into a loop PHI with an abnormal entry value give up.
+
+2020-09-11 Matthias Klose <doko@ubuntu.com>
+
+ Backported from master:
+ 2020-07-27 Matthias Klose <doko@ubuntu.com>
+
+ PR bootstrap/96203
+ * common.opt: Add -fcf-protection=check.
+ * flag-types.h (cf_protection_level): Add CF_CHECK.
+ * lto-wrapper.c (merge_and_complain): Issue an error for
+ mismatching -fcf-protection values with -fcf-protection=check.
+ Otherwise, merge -fcf-protection values.
+ * doc/invoke.texi: Document -fcf-protection=check.
+
+2020-09-11 Matthias Klose <doko@ubuntu.com>
+
+ Backported from master:
+ 2020-07-14 Matthias Klose <doko@ubuntu.com>
+
+ PR lto/95604
+ * lto-wrapper.c (merge_and_complain): Add decoded options as parameter,
+ error on different values for -fcf-protection.
+ (append_compiler_options): Pass -fcf-protection option.
+ (find_and_merge_options): Add decoded options as parameter,
+ pass decoded_options to merge_and_complain.
+ (run_gcc): Pass decoded options to find_and_merge_options.
+ * lto-opts.c (lto_write_options): Pass -fcf-protection option.
+
+2020-09-11 Jakub Jelinek <jakub@redhat.com>
+
+ Backported from master:
+ 2020-09-10 Jakub Jelinek <jakub@redhat.com>
+
+ * lto-streamer-out.c (collect_block_tree_leafs): Recurse on
+ root rather than BLOCK_SUBBLOCKS (root).
+
+2020-09-11 Jakub Jelinek <jakub@redhat.com>
+
+ * lto-streamer.h (LTO_minor_version): Bump.
+
+2020-09-11 Jakub Jelinek <jakub@redhat.com>
+
+ Backported from master:
+ 2020-09-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/93865
+ * lto-streamer.h (struct output_block): Add emit_pwd member.
+ * lto-streamer-out.c: Include toplev.h.
+ (clear_line_info): Set emit_pwd.
+ (lto_output_location_1): Encode the ob->current_file != xloc.file
+ bit directly into the location number. If changing file, emit
+ additionally a bit whether pwd is emitted and emit it before the
+ first relative pathname since clear_line_info.
+ (output_function, output_constructor): Don't call clear_line_info
+ here.
+ * lto-streamer-in.c (struct string_pair_map): New type.
+ (struct string_pair_map_hasher): New type.
+ (string_pair_map_hasher::hash): New method.
+ (string_pair_map_hasher::equal): New method.
+ (path_name_pair_hash_table, string_pair_map_allocator): New variables.
+ (relative_path_prefix, canon_relative_path_prefix,
+ canon_relative_file_name): New functions.
+ (canon_file_name): Add relative_prefix argument, if non-NULL
+ and string is a relative path, return canon_relative_file_name.
+ (lto_location_cache::input_location_and_block): Decode file change
+ bit from the location number. If changing file, unpack bit whether
+ pwd is streamed and stream in pwd. Adjust canon_file_name caller.
+ (lto_free_file_name_hash): Delete path_name_pair_hash_table
+ and string_pair_map_allocator.
+
+2020-09-11 Jakub Jelinek <jakub@redhat.com>
+
+ Backported from master:
+ 2020-09-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/94235
+ * lto-streamer-out.c (output_cfg): Also stream goto_locus for edges.
+ Use bp_pack_var_len_unsigned instead of streamer_write_uhwi to stream
+ e->dest->index and e->flags.
+ (output_function): Call output_cfg before output_ssa_name, rather than
+ after streaming all bbs.
+ * lto-streamer-in.c (input_cfg): Stream in goto_locus for edges.
+ Use bp_unpack_var_len_unsigned instead of streamer_read_uhwi to stream
+ in dest_index and edge_flags.
+
+2020-09-11 Jakub Jelinek <jakub@redhat.com>
+
+ Backported from master:
+ 2020-09-04 Jakub Jelinek <jakub@redhat.com>
+
+ * lto-streamer.h (stream_input_location_now): Remove declaration.
+ * lto-streamer-in.c (stream_input_location_now): Remove.
+ (input_eh_region, input_struct_function_base): Use
+ stream_input_location instead of stream_input_location_now.
+
+2020-09-11 Jakub Jelinek <jakub@redhat.com>
+
+ Backported from master:
+ 2020-09-04 Jakub Jelinek <jakub@redhat.com>
+
+ * lto-streamer.h (struct output_block): Add reset_locus member.
+ * lto-streamer-out.c (clear_line_info): Set reset_locus to true.
+ (lto_output_location_1): If reset_locus, clear it and ensure
+ current_{file,line,col} is different from xloc members.
+
+2020-09-11 Jakub Jelinek <jakub@redhat.com>
+
+ Backported from master:
+ 2020-09-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/96901
+ * tree.h (struct decl_tree_traits): New type.
+ (decl_tree_map): New typedef.
+
+2020-09-11 Jakub Jelinek <jakub@redhat.com>
+
+ Backported from master:
+ 2020-09-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR lto/94311
+ * gimple.h (gimple_location_ptr, gimple_phi_arg_location_ptr): New
+ functions.
+ * streamer-hooks.h (struct streamer_hooks): Add
+ output_location_and_block callback. Fix up formatting for
+ output_location.
+ (stream_output_location_and_block): Define.
+ * lto-streamer.h (class lto_location_cache): Fix comment typo. Add
+ current_block member.
+ (lto_location_cache::input_location_and_block): New method.
+ (lto_location_cache::lto_location_cache): Initialize current_block.
+ (lto_location_cache::cached_location): Add block member.
+ (struct output_block): Add current_block member.
+ (lto_output_location): Formatting fix.
+ (lto_output_location_and_block): Declare.
+ * lto-streamer.c (lto_streamer_hooks_init): Initialize
+ streamer_hooks.output_location_and_block.
+ * lto-streamer-in.c (lto_location_cache::cmp_loc): Also compare
+ block members.
+ (lto_location_cache::apply_location_cache): Handle blocks.
+ (lto_location_cache::accept_location_cache,
+ lto_location_cache::revert_location_cache): Fix up function comments.
+ (lto_location_cache::input_location_and_block): New method.
+ (lto_location_cache::input_location): Implement using
+ input_location_and_block.
+ (input_function): Invoke apply_location_cache after streaming in all
+ bbs.
+ * lto-streamer-out.c (clear_line_info): Set current_block.
+ (lto_output_location_1): New function, moved from lto_output_location,
+ added block handling.
+ (lto_output_location): Implement using lto_output_location_1.
+ (lto_output_location_and_block): New function.
+ * gimple-streamer-in.c (input_phi): Use input_location_and_block
+ to input and cache both location and block.
+ (input_gimple_stmt): Likewise.
+ * gimple-streamer-out.c (output_phi): Use
+ stream_output_location_and_block.
+ (output_gimple_stmt): Likewise.
+
+2020-09-11 Jakub Jelinek <jakub@redhat.com>
+
+ Backported from master:
+ 2020-08-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/96729
+ * dwarf2out.c (dwarf2out_next_real_insn): Adjust function comment.
+ (dwarf2out_var_location): Look for next_note only if next_real is
+ non-NULL, in that case look for the first non-deleted
+ NOTE_INSN_VAR_LOCATION between loc_note and next_real, if any.
+
2020-09-09 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
PR target/96357