Richard Biener <rguent...@suse.de> writes:
> @@ -1738,8 +1738,13 @@ protected:
>    unsigned int m_suggested_unroll_factor;
>  
>    /* The suggested mode to be used for a vectorized epilogue or VOIDmode,
> -     determined at finish_cost.  */
> +     determined at finish_cost.  m_masked_epilogue is epilogue should use
> +     masked vectorization, regardless of the --param 
> vect-partial-vector-usage

Does this mean "m_masked_epilogue is 1 if the epilogue should use..."?
Is 0 valid, and if so, does it override the --param?  Or is the override
only in one direction (to 1)?

Otherwise LGTM too FWIW.

Thanks,
Richard

> +     default.  If -1 then the --param setting takes precedence.  If the
> +     user explicitly specified --param vect-partial-vector-usage then that
> +     takes precedence.  */
>    machine_mode m_suggested_epilogue_mode;
> +  int m_masked_epilogue;
>  
>    /* True if finish_cost has been called.  */
>    bool m_finished;
> @@ -1755,6 +1760,7 @@ vector_costs::vector_costs (vec_info *vinfo, bool 
> costing_for_scalar)
>      m_costs (),
>      m_suggested_unroll_factor(1),
>      m_suggested_epilogue_mode(VOIDmode),
> +    m_masked_epilogue (-1),
>      m_finished (false)
>  {
>  }
> @@ -1815,9 +1821,10 @@ vector_costs::suggested_unroll_factor () const
>  /* Return the suggested epilogue mode.  */
>  
>  inline machine_mode
> -vector_costs::suggested_epilogue_mode () const
> +vector_costs::suggested_epilogue_mode (int &masked_p) const
>  {
>    gcc_checking_assert (m_finished);
> +  masked_p = m_masked_epilogue;
>    return m_suggested_epilogue_mode;
>  }

Reply via email to