On 6/26/19 4:57 AM, Martin Liška wrote:
> Hi.
> 
> I've spent some with clang-static-analyzer and I analyzed the warnings 
> reported.
> As always wit analyzers, majority of the issues are false positives, however 
> it caught
> couple of real issues:
> 
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90973
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90978
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90976
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90975
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90970
> 
> That said, I'm sending a patch that rapidly shrinks number of Dead 
> assignments.
> I've chosen to remove only these that are quite trivial and that do not span
> among multiple if-else branches.
> 
> I hope the patch will be readable and approved.
> 
> Patch can bootstrap on x86_64-linux-gnu and survives regression tests. I'm
> also testing that on ppc64 big endian machine.
> 
> Ready to be installed?
> Thanks,
> Martin
> 
> 
> gcc/ChangeLog:
> 
> 2019-06-26  Martin Liska  <mli...@suse.cz>
> 
>       * asan.c (asan_emit_allocas_unpoison): Remove obviously
>       dead assignments.
>       * bt-load.c (move_btr_def): Likewise.
>       * builtins.c (expand_builtin_apply_args_1): Likewise.
>       (expand_builtin_apply): Likewise.
>       * cfgexpand.c (expand_asm_stmt): Likewise.
>       (construct_init_block): Likewise.
>       * cfghooks.c (verify_flow_info): Likewise.
>       * cfgloopmanip.c (remove_path): Likewise.
>       * cfgrtl.c (rtl_verify_bb_layout): Likewise.
>       * cgraph.c (cgraph_node::set_pure_flag): Likewise.
>       * combine.c (simplify_if_then_else): Likewise.
>       * config/i386/i386-expand.c (ix86_expand_rounddf_32): Likewise.
>       * config/i386/i386.c (ix86_setup_incoming_vararg_bounds): Likewise.
>       (choose_basereg): Likewise.
>       (ix86_expand_prologue): Likewise.
>       (ix86_preferred_output_reload_class): Likewise.
>       * cselib.c (cselib_record_sets): Likewise.
>       * df-scan.c (df_scan_alloc): Likewise.
>       * dojump.c (do_jump_by_parts_greater_rtx): Likewise.
>       * early-remat.c (early_remat::record_equiv_candidates): Likewise.
>       * emit-rtl.c (try_split): Likewise.
>       * graphite-scop-detection.c (assign_parameter_index_in_region): 
> Likewise.
>       * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Likewise.
>       * ira-color.c (setup_profitable_hard_regs): Likewise.
>       * ira.c (rtx_moveable_p): Likewise.
>       * lra-eliminations.c (eliminate_regs_in_insn): Likewise.
>       * read-rtl.c (read_subst_mapping): Likewise.
>       * regrename.c (scan_rtx): Likewise.
>       * reorg.c (fill_slots_from_thread): Likewise.
>       * tree-inline.c (tree_function_versioning): Likewise.
>       * tree-ssa-reassoc.c (optimize_ops_list): Likewise.
>       * tree-ssa-sink.c (statement_sink_location): Likewise.
>       * tree-ssa-threadedge.c (thread_across_edge): Likewise.
>       * tree-vect-loop.c (vect_get_loop_niters): Likewise.
>       (vect_create_epilog_for_reduction): Likewise.
>       * tree-vect-stmts.c (vectorizable_call): Likewise.
>       * tree.c (build_nonstandard_integer_type): Likewise.
> 
> gcc/cp/ChangeLog:
> 
> 2019-06-26  Martin Liska  <mli...@suse.cz>
> 
>       * class.c (adjust_clone_args): Remove obviously
>       dead assignments.
>       (dump_class_hierarchy_r): Likewise.
>       * decl.c (check_initializer): Likewise.
>       * parser.c (cp_parser_lambda_expression): Likewise.
>       * pt.c (unify_bound_ttp_args): Likewise.
>       (convert_template_argument): Likewise.
>       * rtti.c (build_headof): Likewise.
>       * typeck.c (convert_for_initialization): Likewise.
> 
> libgcc/ChangeLog:
> 
> 2019-06-26  Martin Liska  <mli...@suse.cz>
> 
>       * libgcov-driver-system.c (gcov_exit_open_gcda_file): Remove obviously
>       dead assignments.
>       * libgcov-util.c: Likewise.
I think you've already received a bit of feedback here, particularly WRT
emit_library_call vs emit_library_call_value.  I think this is fine for
the trunk once you've addressed the comments that have already been made.

jeff

Reply via email to