[PATCH] D129560: [AArch64] Add target hook for preferPredicateOverEpilogue

David Sherwood via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 18 07:24:29 PDT 2022


david-arm marked an inline comment as done.
david-arm added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp:48
+                          "Don't tail-predicate loops using SVE"),
+               clEnumValN(TailPredication::EnabledNoReductions, "enabled-no-reductions",
+                          "Enable tail-predication with SVE, except for loops "
----------------
paulwalker-arm wrote:
> This doesn't really scale. What happens when there's another reason to allow the user to control tail predication? You'll need to add `EnabledNoBlob2`, then `EnabledNoReductionOrBlob2`.....
> 
> Is it worth adding a custom parsing class (assuming something doesn't already exist) so that we can do `-sve-tail-predication` for the default and then allow users to add a comma separated list of <option>s to enable or no-<option> to disable, along with your existing `disabled`/`enabled` options.
> 
> I'm not asking you to add new reasons to disable, only to make it easier to add then if necessary. That said, with this approach you could split the reduction and first order recurrences.
> 
> By extension I'm suggesting TailPredication wants to be a bit field like enum with `Disabled=0` and `Enabled=AllOnes`.
Good suggestion @paulwalker-arm - I've had a go at doing this!


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D129560/new/

https://reviews.llvm.org/D129560



More information about the llvm-commits mailing list