https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123417
Bug ID: 123417
Summary: [16 Regression] missing sink vs GCC 15
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Keywords: missed-optimization
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: pinskia at gcc dot gnu.org
Reporter: pinskia at gcc dot gnu.org
Target Milestone: ---
The testcase from PR 123144 on powerpc64le has a missing sink in it.
When bb 6 is created we get this phi:
# BS_INC_1_86 = PHI <_87(22), _87(12)>
I think it is done via:
Disambiguating loop 2 with multiple latches
Merged latch edges of loop 2
The forwarder blocks were merged before as:
# BS_INC_1_45 = PHI <_87(18), 0(4), _87(12)>
# .MEM_46 = PHI <.MEM_36(18), .MEM_30(4), .MEM_27(12)>
we should notice that _87 is the same across the phi and don't need to create a
new phi for this.