https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115298
Bug ID: 115298 Summary: [15 Regression] Various targets failing DSE tests after recent changes Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: law at gcc dot gnu.org Target Milestone: --- A few targets (nds32be-elf, nds32le-elf, avr-elf) have started failing a few tests after recent aliasing changes: Tests that now fail, but worked before (9 tests): nds32-sim: gcc: gcc.c-torture/execute/strcpy-1.c -O3 -g (test for excess errors) nds32-sim: gcc: gcc.dg/tree-ssa/pr86061.c scan-tree-dump-times dse1 "Deleted dead call" 1 nds32-sim: gcc: gcc.dg/tree-ssa/pr86061.c scan-tree-dump-times dse1 "Deleted dead call" 1 nds32-sim: gcc: gcc.dg/tree-ssa/ssa-dse-37.c scan-tree-dump-times dse1 "Deleted dead call" 2 nds32-sim: gcc: gcc.dg/tree-ssa/ssa-dse-37.c scan-tree-dump-times dse1 "Deleted dead call" 2 nds32-sim: gcc: gcc.dg/tree-ssa/ssa-dse-37.c scan-tree-dump-times dse1 "Trimming statement " 4 nds32-sim: gcc: gcc.dg/tree-ssa/ssa-dse-37.c scan-tree-dump-times dse1 "Trimming statement " 4 nds32-sim: gcc: gcc.dg/tree-ssa/strncpy-1.c scan-tree-dump-not optimized "memset" nds32-sim: gcc: gcc.dg/tree-ssa/strncpy-1.c scan-tree-dump-not optimized "memset" This was bisected to: commit c08b0d3f7b3539b26031de31d88dea6b94474577 Author: Richard Biener <rguent...@suse.de> Date: Mon May 27 10:41:02 2024 +0200 tree-optimization/115236 - more points-to *ANYTHING = x fixes The stored-to ANYTHING handling has more holes, uncovered by treating volatile accesses as ANYTHING. We fail to properly build the pred and succ graphs, in particular we may not elide direct nodes from receiving from STOREDANYTHING. PR tree-optimization/115236 * tree-ssa-structalias.cc (build_pred_graph): Properly handle *ANYTHING = X. (build_succ_graph): Likewise. Do not elide direct nodes from receiving from STOREDANYTHING. * gcc.dg/pr115236.c: New testcase. I haven't done any deeper analysis.