On Sun, Apr 25, 2021 at 08:50:15PM -0500, Bill Schmidt wrote:
> + /* If we are inserting ROP-protect instructions, disable shrink wrap. */
> + if (rs6000_rop_protect)
> + {
> + flag_shrink_wrap = 0;
> + flag_shrink_wrap_separate = 0;
> + }
Separate shrink-wrapping requires flag_shrink_wrap, so remove that
second assignment please?
===
void
try_shrink_wrapping (edge *entry_edge, rtx_insn *prologue_seq)
{
/* If we cannot shrink-wrap, are told not to shrink-wrap, or it makes
no sense to shrink-wrap: then do not shrink-wrap! */
if (!SHRINK_WRAPPING_ENABLED)
return;
===
===
void
try_shrink_wrapping_separate (basic_block first_bb)
{
if (!(SHRINK_WRAPPING_ENABLED
&& flag_shrink_wrap_separate
&& optimize_function_for_speed_p (cfun)
&& targetm.shrink_wrap.get_separate_components))
return;
===
and for completeness
===
#define SHRINK_WRAPPING_ENABLED \
(flag_shrink_wrap && targetm.have_simple_return ())
===
> +-mrop-protect -mprivileged}
-mprivileged should not be CPU-specific, the concept applies on all CPUs
(but of course is only used on p10 so far). So please document it in
the right location :-)
Okay for trunk and 11 with those changes. Thanks!
Segher