> On 22 Dec 2025, at 4:56 pm, Kugan Vivekanandarajah <[email protected]> 
> wrote:
> 
> External email: Use caution opening links or attachments
> Hi,
> Thanks for the review.
> 
> > On 21 Dec 2025, at 8:37 am, Andrew Pinski <[email protected]> 
> > wrote:
> > 
> > External email: Use caution opening links or attachments
> > 
> > 
> > On Sun, Dec 14, 2025 at 1:18 PM Kugan Vivekanandarajah
> > <[email protected]> wrote:
> >> 
> >> Hi,
> >> 
> >> This patch shows up with AutoFDO but IMO this is not limited to AutoFDO.
> >> 
> >> The bug is a stale Virtual SSA on calls to functions that have
> >> been marked const or pure.
> >> 
> >> pure_const pass analyzes function rocksdb::y::y() and determines it has no 
> >> side
> >> effects and marks it as const.
> >> 
> >> At this point, existing call sites to y::y() in other functions still have:
> >>   # .MEM_12 = VDEF <.MEM_11>   rocksdb::y::y (&l, _9);
> >> 
> >> Exact ICE is:
> >> cache/lru_cache.cc:921:1: error: virtual definition of statement not up to 
> >> date
> >> # .MEM_12 = VDEF <.MEM_11>
> >> rocksdb::y::y (&l, _9);
> >> during GIMPLE pass: feedback_fnsplit
> >> dump file: lru_cache_reduced.ii.076t.feedback_fnsplit1
> >> cache/lru_cache.cc:921:1: internal compiler error: verify_ssa failed
> >> 0x26f4073 internal_error(char const*, ...)
> >> ../../gcc-ro/gcc/diagnostic-global-context.cc:787
> >> 0x16f91df verify_ssa(bool, bool)
> >> ../../gcc-ro/gcc/tree-ssa.cc:1203
> >> 0x12f0643 execute_function_todo
> >> ../../gcc-ro/gcc/passes.cc:2104
> >> 0x12f0beb execute_todo
> >> ../../gcc-ro/gcc/passes.cc:2149
> >> 
> >> 
> >> In ipa-pure-const, we do execute_fixup_cfg only for the changed. IMO, we
> >> should call for all the functions that has this function called. Calling 
> >> fixup for all also fixes this ICE.
> >> 
> >> Later in feedback_fnsplit SSA verification fails. Added fixup
> >> after execute_feedback_split_functions also fixes this ICE.
> > This looks ok to me except I would add a comment on why you need the
> > fixup and no reason for the todo variable either:
> > 
> > /* Update virtual SSA as some functions could have changed to be 
> > pure/const.  */
> > retval  |= execute_fixup_cfg ();
> > return retval;
> 
> Added the comments. Is this OK now?

Ping?

Thanks,
Kugan

> 
> Thanks,
> Kugan
> 
> 
> 
> > 
> > Thanks,
> > Andrew
> > 
> >> 
> >> gcc/ChangeLog:
> >> 
> >> 2025-12-08  Kugan Vivekanandarajah  <[email protected]>
> >> 
> >>        * ipa-split.cc (execute_feedback_split_functions): Call
> >>        * execute_fixup_cfg.
> 
> 
> <0001-Bug-gcov-profile-123019-V2-Fix-Virtual-SSA-ICE.patch>

Reply via email to