On 8/28/23 01:47, Fei Gao wrote:
no functional changes but allow targets to check shrink-wrap-separate enabled 
or not.

   gcc/ChangeLog:

         * shrink-wrap.cc (try_shrink_wrapping_separate):call
           use_shrink_wrapping_separate.
         (use_shrink_wrapping_separate): wrap the condition
           check in use_shrink_wrapping_separate.
         * shrink-wrap.h (use_shrink_wrapping_separate): add to extern
So as I mentioned earlier today in the older thread, can we use override_options to do this?

If we look at aarch64_override_options we have this:

  /* The pass to insert speculation tracking runs before
     shrink-wrapping and the latter does not know how to update the
     tracking status.  So disable it in this case.  */
  if (aarch64_track_speculation)
    flag_shrink_wrap = 0;

We kind of want this instead

  if (flag_shrink_wrap)
    {
      turn off whatever target bits enable the cm.push/cm.pop insns
    }


This does imply that we have a distinct target flag to enable/disable those instructions. But that seems like a good thing to have anyway.

jeff

Reply via email to