[llvm] [CodeGen] Support MachineFunctionProperties in PassConcept (PR #79749)

via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 31 18:09:43 PST 2024


================
@@ -43,7 +41,31 @@ extern template class AnalysisManager<MachineFunction>;
 /// automatically mixes in \c PassInfoMixin.
 template <typename DerivedT>
 struct MachinePassInfoMixin : public PassInfoMixin<DerivedT> {
-  // TODO: Add MachineFunctionProperties support.
+  // MachineFunctionProperties support
+  static MachineFunctionProperties getRequiredProperties() {
+    return MachineFunctionProperties();
+  }
+
+  static MachineFunctionProperties getSetProperties() {
+    return MachineFunctionProperties();
+  }
+
+  static MachineFunctionProperties getClearedProperties() {
+    return MachineFunctionProperties();
+  }
+};
+
+/// A CRTP mix-in that provides informational APIs needed for MachineFunction
+/// analysis passes. See also \c PassInfoMixin.
+template <typename DerivedT>
+struct MachineFunctionAnalysisInfoMixin
----------------
paperchalice wrote:

May not, but some MachineFunction passes like StackMapLivenessAnalysis analyses and modifies machine function.

https://github.com/llvm/llvm-project/pull/79749


More information about the llvm-commits mailing list