diff --git a/paddle/fluid/pir/dialect/kernel/ir/kernel_dialect.h b/paddle/fluid/pir/dialect/kernel/ir/kernel_dialect.h index eab9bfcbfcfb91..71cbc02510884d 100644 --- a/paddle/fluid/pir/dialect/kernel/ir/kernel_dialect.h +++ b/paddle/fluid/pir/dialect/kernel/ir/kernel_dialect.h @@ -21,7 +21,7 @@ namespace dialect { class KernelDialect : public pir::Dialect { public: - explicit KernelDialect(pir::IrContext* context); + TEST_API explicit KernelDialect(pir::IrContext* context); static const char* name() { return "pd_kernel"; } diff --git a/paddle/fluid/pir/dialect/kernel/ir/kernel_op.h b/paddle/fluid/pir/dialect/kernel/ir/kernel_op.h index 669f56112cef21..3dfaaade98813d 100644 --- a/paddle/fluid/pir/dialect/kernel/ir/kernel_op.h +++ b/paddle/fluid/pir/dialect/kernel/ir/kernel_op.h @@ -38,9 +38,9 @@ class LegacyKernelOp : public pir::Op { static const char *name() { return "pd_kernel.legacy_kernel"; } static constexpr uint32_t attributes_num = 3; static const char *attributes_name[attributes_num]; - std::string op_name(); - std::string kernel_name(); - phi::KernelKey kernel_key(); + TEST_API std::string op_name(); + TEST_API std::string kernel_name(); + TEST_API phi::KernelKey kernel_key(); void VerifySig(); }; diff --git a/paddle/fluid/pir/dialect/operator/ir/control_flow_op.h b/paddle/fluid/pir/dialect/operator/ir/control_flow_op.h index 3c86d56d116165..93ad35ce954b9a 100644 --- a/paddle/fluid/pir/dialect/operator/ir/control_flow_op.h +++ b/paddle/fluid/pir/dialect/operator/ir/control_flow_op.h @@ -29,10 +29,10 @@ class IfOp : public pir::Op { static const char *name() { return "pd_op.if"; } static constexpr const char **attributes_name = nullptr; static constexpr uint32_t attributes_num = 0; - static void Build(pir::Builder &builder, // NOLINT - pir::OperationArgument &argument, // NOLINT - pir::Value cond, - std::vector &&output_types); + TEST_API static void Build(pir::Builder &builder, // NOLINT + pir::OperationArgument &argument, // NOLINT + pir::Value cond, + std::vector &&output_types); static void Build(pir::Builder &builder, // NOLINT pir::OperationArgument &argument, // NOLINT diff --git a/paddle/fluid/pir/transforms/pd_op_to_kernel_pass.h b/paddle/fluid/pir/transforms/pd_op_to_kernel_pass.h index 59415d931a6f89..fb7e3ddb0881ae 100644 --- a/paddle/fluid/pir/transforms/pd_op_to_kernel_pass.h +++ b/paddle/fluid/pir/transforms/pd_op_to_kernel_pass.h @@ -21,7 +21,7 @@ namespace dialect { pir::Type ConvertOpTypeToKernelType(pir::Type op_type); -std::unique_ptr PdOpLowerToKernelPass( +TEST_API std::unique_ptr PdOpLowerToKernelPass( pir::Program* prog, phi::Place place = phi::CPUPlace()); void ProcessBlock( diff --git a/paddle/phi/core/kernel_factory.h b/paddle/phi/core/kernel_factory.h index c30d883ee6c462..58aac0827129a9 100644 --- a/paddle/phi/core/kernel_factory.h +++ b/paddle/phi/core/kernel_factory.h @@ -89,7 +89,7 @@ class KernelKey { // Note: Now the number of bits we need does not exceed 32 bits, so there is // no need to use 64 bits. If needed in the future, it can be expanded, // but now we don’t over-design. - uint32_t operator()(const KernelKey& key) const; + TEST_API uint32_t operator()(const KernelKey& key) const; }; uint32_t hash_value() const { return Hash()(*this); } diff --git a/paddle/pir/dialect/control_flow/ir/cf_dialect.h b/paddle/pir/dialect/control_flow/ir/cf_dialect.h index 739f49478b83d0..19404557559e67 100644 --- a/paddle/pir/dialect/control_flow/ir/cf_dialect.h +++ b/paddle/pir/dialect/control_flow/ir/cf_dialect.h @@ -24,11 +24,11 @@ class ControlFlowDialect : public Dialect { initialize(); } static const char *name() { return "cf"; } - void PrintType(Type type, std::ostream &os) const override; - void PrintOperation(Operation *op, - IrPrinter &printer) const override; // NOLINT + TEST_API void PrintType(Type type, std::ostream &os) const override; + TEST_API void PrintOperation(Operation *op, + IrPrinter &printer) const override; // NOLINT private: - void initialize(); + TEST_API void initialize(); }; } // namespace pir diff --git a/test/cpp/pir/kernel_dialect/CMakeLists.txt b/test/cpp/pir/kernel_dialect/CMakeLists.txt index 938bf8c21339c3..3e48ffaa908934 100644 --- a/test/cpp/pir/kernel_dialect/CMakeLists.txt +++ b/test/cpp/pir/kernel_dialect/CMakeLists.txt @@ -1,10 +1,7 @@ -cc_test( - ir_kernel_dialect_pass_test - SRCS ir_kernel_dialect_pass_test.cc - DEPS pir_transforms - program_translator - op_dialect - pir - phi - common - gtest) +paddle_test(ir_kernel_dialect_pass_test SRCS ir_kernel_dialect_pass_test.cc) + +if(WITH_ONNXRUNTIME AND WIN32) + # Copy onnxruntime for some c++ test in Windows, since the test will + # be build only in CI, so suppose the generator in Windows is Ninja. + copy_onnx(ir_kernel_dialect_pass_test) +endif()