From ffb3a0d2bbe7855538a04c16df204f1b37b137dd Mon Sep 17 00:00:00 2001 From: Mike Smith Date: Tue, 4 Feb 2025 17:43:13 +0800 Subject: [PATCH] add more requires --- include/luisa/xir/function.h | 1 + include/luisa/xir/instruction.h | 1 + include/luisa/xir/metadata.h | 1 + include/luisa/xir/value.h | 1 + src/xir/basic_block.cpp | 1 - 5 files changed, 4 insertions(+), 1 deletion(-) diff --git a/include/luisa/xir/function.h b/include/luisa/xir/function.h index bb9db6e40..505585e32 100644 --- a/include/luisa/xir/function.h +++ b/include/luisa/xir/function.h @@ -56,6 +56,7 @@ class LC_XIR_API Function : public IntrusiveForwardNode; template + requires std::derived_from class DerivedFunction : public Base { public: using derived_function_type = Derived; diff --git a/include/luisa/xir/instruction.h b/include/luisa/xir/instruction.h index 438e15204..421fca423 100644 --- a/include/luisa/xir/instruction.h +++ b/include/luisa/xir/instruction.h @@ -209,6 +209,7 @@ class LC_XIR_API ConditionalBranchTerminatorInstruction : public TerminatorInstr }; template + requires std::derived_from class DerivedInstruction : public Base { public: using derived_instruction_type = Derived; diff --git a/include/luisa/xir/metadata.h b/include/luisa/xir/metadata.h index ccf50256f..fc8282fb2 100644 --- a/include/luisa/xir/metadata.h +++ b/include/luisa/xir/metadata.h @@ -26,6 +26,7 @@ class LC_XIR_API Metadata : public IntrusiveForwardNode { }; template + requires std::derived_from class LC_XIR_API DerivedMetadata : public Base { public: using derived_metadata_type = Derived; diff --git a/include/luisa/xir/value.h b/include/luisa/xir/value.h index 4d6f0231a..f79efff96 100644 --- a/include/luisa/xir/value.h +++ b/include/luisa/xir/value.h @@ -86,6 +86,7 @@ class DerivedGlobalValue : public DerivedValue, explicit DerivedGlobalValue(Module *module, Args &&...args) noexcept : DerivedValue{std::forward(args)...}, GlobalValueModuleMixin{module} {} + [[nodiscard]] bool is_global() const noexcept final { return true; } [[nodiscard]] Pool *pool() noexcept final { return _pool_from_parent_module(); } }; diff --git a/src/xir/basic_block.cpp b/src/xir/basic_block.cpp index 1b2449b9f..824ff8e45 100644 --- a/src/xir/basic_block.cpp +++ b/src/xir/basic_block.cpp @@ -1,5 +1,4 @@ #include -#include #include namespace luisa::compute::xir {