pin-server/0005-Pin-server-Add-API-for-LTO-judgement.patch
2023-03-07 11:41:20 +08:00

61 lines
2.2 KiB
Diff

From 47f1208aab2acb3e1a8442d830125ad3b54149c5 Mon Sep 17 00:00:00 2001
From: benniaobufeijiushiji <linda7@huawei.com>
Date: Sun, 19 Feb 2023 14:40:09 +0800
Subject: [PATCH 05/23] [Pin-server] Add API for LTO judgement
diff --git a/include/PluginAPI/BasicPluginOpsAPI.h b/include/PluginAPI/BasicPluginOpsAPI.h
index 0ca0ac4..f83b888 100644
--- a/include/PluginAPI/BasicPluginOpsAPI.h
+++ b/include/PluginAPI/BasicPluginOpsAPI.h
@@ -70,6 +70,8 @@ public:
virtual uint32_t AddArgInPhiOp(uint64_t, uint64_t, uint64_t, uint64_t) = 0;
virtual PhiOp CreatePhiOp(uint64_t, uint64_t) = 0;
virtual void DebugValue(uint64_t) = 0;
+ virtual bool IsLtoOptimize() = 0;
+ virtual bool IsWholeProgram() = 0;
virtual mlir::Value GetCurrentDefFromSSA(uint64_t) = 0;
virtual bool SetCurrentDefInSSA(uint64_t, uint64_t) = 0;
diff --git a/include/PluginAPI/PluginServerAPI.h b/include/PluginAPI/PluginServerAPI.h
index 0655d80..b2f8fbf 100644
--- a/include/PluginAPI/PluginServerAPI.h
+++ b/include/PluginAPI/PluginServerAPI.h
@@ -74,6 +74,8 @@ public:
/* Plugin API for ConstOp. */
mlir::Value CreateConstOp(mlir::Attribute, mlir::Type) override;
void DebugValue(uint64_t) override;
+ bool IsLtoOptimize() override;
+ bool IsWholeProgram() override;
mlir::Value GetCurrentDefFromSSA(uint64_t) override;
bool SetCurrentDefInSSA(uint64_t, uint64_t) override;
diff --git a/lib/PluginAPI/PluginServerAPI.cpp b/lib/PluginAPI/PluginServerAPI.cpp
index 523e08d..f81a3ad 100644
--- a/lib/PluginAPI/PluginServerAPI.cpp
+++ b/lib/PluginAPI/PluginServerAPI.cpp
@@ -587,4 +587,20 @@ void PluginServerAPI::DebugValue(uint64_t valId)
PluginServer::GetInstance()->RemoteCallClientWithAPI(funName, params);
}
+bool PluginServerAPI::IsLtoOptimize()
+{
+ Json::Value root;
+ string funName = __func__;
+ string params = root.toStyledString();
+ return PluginServer::GetInstance()->GetBoolResult(funName, params);
+}
+
+bool PluginServerAPI::IsWholeProgram()
+{
+ Json::Value root;
+ string funName = __func__;
+ string params = root.toStyledString();
+ return PluginServer::GetInstance()->GetBoolResult(funName, params);
+}
+
} // namespace Plugin_IR
--
2.33.0