summaryrefslogtreecommitdiff
path: root/clang-r353983/include/llvm/CodeGen/ScheduleDAGMutation.h
diff options
context:
space:
mode:
Diffstat (limited to 'clang-r353983/include/llvm/CodeGen/ScheduleDAGMutation.h')
-rw-r--r--clang-r353983/include/llvm/CodeGen/ScheduleDAGMutation.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/clang-r353983/include/llvm/CodeGen/ScheduleDAGMutation.h b/clang-r353983/include/llvm/CodeGen/ScheduleDAGMutation.h
new file mode 100644
index 00000000..d1dd7285
--- /dev/null
+++ b/clang-r353983/include/llvm/CodeGen/ScheduleDAGMutation.h
@@ -0,0 +1,33 @@
+//===- ScheduleDAGMutation.h - MachineInstr Scheduling ----------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+// This file implements the ScheduleDAGMutation class, which represents
+// a target-specific mutation of the dependency graph for scheduling.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_CODEGEN_SCHEDULEDAGMUTATION_H
+#define LLVM_CODEGEN_SCHEDULEDAGMUTATION_H
+
+namespace llvm {
+
+class ScheduleDAGInstrs;
+
+/// Mutate the DAG as a postpass after normal DAG building.
+class ScheduleDAGMutation {
+ virtual void anchor();
+
+public:
+ virtual ~ScheduleDAGMutation() = default;
+
+ virtual void apply(ScheduleDAGInstrs *DAG) = 0;
+};
+
+} // end namespace llvm
+
+#endif // LLVM_CODEGEN_SCHEDULEDAGMUTATION_H