[llvm] [RISCV] Add Tune to DontSinkSplatOperands (PR #79199)
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 25 09:30:03 PST 2024
================
@@ -1082,6 +1082,13 @@ def TuneShortForwardBranchOpt
def HasShortForwardBranchOpt : Predicate<"Subtarget->hasShortForwardBranchOpt()">;
def NoShortForwardBranchOpt : Predicate<"!Subtarget->hasShortForwardBranchOpt()">;
+// Some subtargets require a S2V transfer buffer to move scalars into vectors.
+// FIXME: Forming .vx/.vf/.wx/.wf can reduce register pressure.
+def TuneDontSinkSplatOperands
+ : SubtargetFeature<"dont-sink-splat-operands", "DontSinkSplatOperands",
----------------
topperc wrote:
The suggestion is something like
```def TuneNoSinkSplatOperands<"no-sink-splat-operands", "SinkSplatOperands", "false"```
Notice the command line option has "No", but the variable in Subtarget field does not.
The use of "false" will make "SinkSplatOperands" default to true, and passing -mattr=-no-sink-splat-operands will set it to false.
https://github.com/llvm/llvm-project/pull/79199
More information about the llvm-commits
mailing list