[llvm] [MacroFusion] Support multiple predicators (PR #72219)
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 21 22:27:58 PST 2023
================
@@ -137,19 +137,33 @@ namespace {
/// Post-process the DAG to create cluster edges between instrs that may
/// be fused by the processor into a single operation.
class MacroFusion : public ScheduleDAGMutation {
- ShouldSchedulePredTy shouldScheduleAdjacent;
+ std::vector<MacroFusionPredTy> Predicates;
bool FuseBlock;
bool scheduleAdjacentImpl(ScheduleDAGInstrs &DAG, SUnit &AnchorSU);
public:
- MacroFusion(ShouldSchedulePredTy shouldScheduleAdjacent, bool FuseBlock)
- : shouldScheduleAdjacent(shouldScheduleAdjacent), FuseBlock(FuseBlock) {}
+ MacroFusion(std::vector<MacroFusionPredTy> Predicates, bool FuseBlock)
----------------
topperc wrote:
Maybe this should be an ArrayRef<MacroFusionPredTy> and only copied once we get here?
https://github.com/llvm/llvm-project/pull/72219
More information about the llvm-commits
mailing list