[Sync] Sync patch from openeuler/pin-server
This commit is contained in:
parent
c74e949ed8
commit
b34a0cb72b
37
0028-Fix-BUILD-errors.patch
Normal file
37
0028-Fix-BUILD-errors.patch
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
From e7ae3a2b7852b4da6dccdd23f6caa20812a59660 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?=E9=83=91=E6=99=A8=E5=8D=89?= <zhengchenhui1@huawei.com>
|
||||||
|
Date: Thu, 7 Sep 2023 11:40:37 +0800
|
||||||
|
Subject: [PATCH 1/2] Fix BUILD errors
|
||||||
|
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 1 +
|
||||||
|
lib/PluginServer/PluginLog.cpp | 1 +
|
||||||
|
2 files changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 233f345..569fabf 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -37,6 +37,7 @@ include(AddLLVM)
|
||||||
|
include(AddMLIR)
|
||||||
|
#include(HandleLLVMOptions)
|
||||||
|
|
||||||
|
+include_directories(${GRPC_INCLUDE_DIR})
|
||||||
|
include_directories(${LLVM_INCLUDE_DIRS})
|
||||||
|
include_directories(${MLIR_INCLUDE_DIRS})
|
||||||
|
include_directories(${PROJECT_SOURCE_DIR}/include)
|
||||||
|
diff --git a/lib/PluginServer/PluginLog.cpp b/lib/PluginServer/PluginLog.cpp
|
||||||
|
index 10b8bc8..c405da1 100644
|
||||||
|
--- a/lib/PluginServer/PluginLog.cpp
|
||||||
|
+++ b/lib/PluginServer/PluginLog.cpp
|
||||||
|
@@ -25,6 +25,7 @@
|
||||||
|
#include <fstream>
|
||||||
|
#include <mutex>
|
||||||
|
#include <csignal>
|
||||||
|
+#include <unistd.h>
|
||||||
|
#include "PluginServer/PluginLog.h"
|
||||||
|
|
||||||
|
namespace PinLog {
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
159
0029-PluginServer-Add-class-for-Server-Command.patch
Normal file
159
0029-PluginServer-Add-class-for-Server-Command.patch
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
From 9353b8793f8725568c04ba03adf8b7f84d0cd226 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mingchuan Wu <wumingchuan1992@foxmail.com>
|
||||||
|
Date: Sat, 2 Sep 2023 15:57:33 +0800
|
||||||
|
Subject: [PATCH 2/2] [PluginServer] Add class for Server Command.
|
||||||
|
|
||||||
|
---
|
||||||
|
include/PluginAPI/BasicPluginOpsAPI.h | 1 +
|
||||||
|
include/PluginAPI/PluginServerAPI.h | 1 +
|
||||||
|
include/PluginServer/PluginOptBase.h | 2 +-
|
||||||
|
include/PluginServer/PluginServer.h | 44 +++++++++++++++++++++++++++
|
||||||
|
lib/PluginAPI/PluginServerAPI.cpp | 5 +++
|
||||||
|
lib/PluginServer/main.cpp | 5 +--
|
||||||
|
6 files changed, 55 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/PluginAPI/BasicPluginOpsAPI.h b/include/PluginAPI/BasicPluginOpsAPI.h
|
||||||
|
index 065274d..b047175 100644
|
||||||
|
--- a/include/PluginAPI/BasicPluginOpsAPI.h
|
||||||
|
+++ b/include/PluginAPI/BasicPluginOpsAPI.h
|
||||||
|
@@ -44,6 +44,7 @@ public:
|
||||||
|
virtual string GetIncludeFile() = 0;
|
||||||
|
virtual int GetDeclSourceLine(int64_t) = 0;
|
||||||
|
virtual int GetDeclSourceColumn(int64_t) = 0;
|
||||||
|
+ virtual void ShutdownCompile() = 0;
|
||||||
|
|
||||||
|
// CGnodeOp
|
||||||
|
virtual vector<CGnodeOp> GetAllCGnode() = 0;
|
||||||
|
diff --git a/include/PluginAPI/PluginServerAPI.h b/include/PluginAPI/PluginServerAPI.h
|
||||||
|
index 9cc8498..54e18a3 100644
|
||||||
|
--- a/include/PluginAPI/PluginServerAPI.h
|
||||||
|
+++ b/include/PluginAPI/PluginServerAPI.h
|
||||||
|
@@ -124,6 +124,7 @@ public:
|
||||||
|
string GetIncludeFile() override;
|
||||||
|
int GetDeclSourceLine(int64_t) override;
|
||||||
|
int GetDeclSourceColumn(int64_t) override;
|
||||||
|
+ void ShutdownCompile() override;
|
||||||
|
private:
|
||||||
|
mlir::Block* BlockResult(const string& funName, const string& params);
|
||||||
|
vector<mlir::Block*> BlocksResult(const string& funName, const string& params);
|
||||||
|
diff --git a/include/PluginServer/PluginOptBase.h b/include/PluginServer/PluginOptBase.h
|
||||||
|
index 474d072..926ab7a 100755
|
||||||
|
--- a/include/PluginServer/PluginOptBase.h
|
||||||
|
+++ b/include/PluginServer/PluginOptBase.h
|
||||||
|
@@ -74,9 +74,9 @@ public:
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
- mlir::MLIRContext context;
|
||||||
|
InjectPoint inject;
|
||||||
|
uint64_t func; // 保存managerSetup fun参数指针
|
||||||
|
+ mlir::MLIRContext context;
|
||||||
|
};
|
||||||
|
} // namespace PluginOpt
|
||||||
|
#endif
|
||||||
|
diff --git a/include/PluginServer/PluginServer.h b/include/PluginServer/PluginServer.h
|
||||||
|
index 81f92e9..3b4b8e6 100644
|
||||||
|
--- a/include/PluginServer/PluginServer.h
|
||||||
|
+++ b/include/PluginServer/PluginServer.h
|
||||||
|
@@ -98,8 +98,51 @@ private:
|
||||||
|
std::shared_ptr<PluginOptBase> opt;
|
||||||
|
};
|
||||||
|
|
||||||
|
+class ServerCommand {
|
||||||
|
+public:
|
||||||
|
+ ServerCommand() = default;
|
||||||
|
+ ~ServerCommand() = default;
|
||||||
|
+ ServerCommand(const string& input, const string& dir, const string& common,
|
||||||
|
+ const string& extra, const string& output) {
|
||||||
|
+ this->input = input;
|
||||||
|
+ this->dir = dir;
|
||||||
|
+ this->common = common;
|
||||||
|
+ this->extra = extra;
|
||||||
|
+ this->output = output;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ void SetInput(const string& input) { this->input = input; }
|
||||||
|
+ void SetDir(const string& dir) { this->dir = dir; }
|
||||||
|
+ void SetCommon(const string& common) { this->common = common; }
|
||||||
|
+ void SetExtra(const string& extra) { this->extra = extra; }
|
||||||
|
+ void SetOutput(const string& output) { this->output = output; }
|
||||||
|
+
|
||||||
|
+ string GetInput() { return this->input; }
|
||||||
|
+ string GetDir() { return this->dir; }
|
||||||
|
+ string GetCommon() { return this->common; }
|
||||||
|
+ string GetExtra() { return this->extra; }
|
||||||
|
+ string GetOutput() { return this->output; }
|
||||||
|
+private:
|
||||||
|
+ string input;
|
||||||
|
+ string dir;
|
||||||
|
+ string common;
|
||||||
|
+ string extra;
|
||||||
|
+ string output;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
class PluginServer {
|
||||||
|
public:
|
||||||
|
+ void SetServerCommand(
|
||||||
|
+ const string& input, const string& dir, const string& common,
|
||||||
|
+ const string& extra, const string& output) {
|
||||||
|
+ this->serverCMD.SetInput(input);
|
||||||
|
+ this->serverCMD.SetDir(dir);
|
||||||
|
+ this->serverCMD.SetCommon(common);
|
||||||
|
+ this->serverCMD.SetExtra(extra);
|
||||||
|
+ this->serverCMD.SetOutput(output);
|
||||||
|
+ }
|
||||||
|
+ ServerCommand GetServerCommand() { return this->serverCMD; }
|
||||||
|
+
|
||||||
|
PluginServer(LogPriority priority, const string& port)
|
||||||
|
{
|
||||||
|
userFunState = STATE_WAIT_BEGIN;
|
||||||
|
@@ -276,6 +319,7 @@ public:
|
||||||
|
void RemoteCallClientWithAPI(const string& api, const string& params);
|
||||||
|
|
||||||
|
private:
|
||||||
|
+ ServerCommand serverCMD;
|
||||||
|
/* 用户函数执行状态,client返回结果后为STATE_RETURN,开始执行下一个函数 */
|
||||||
|
volatile UserFunStateEnum userFunState;
|
||||||
|
mlir::MLIRContext *context;
|
||||||
|
diff --git a/lib/PluginAPI/PluginServerAPI.cpp b/lib/PluginAPI/PluginServerAPI.cpp
|
||||||
|
index 09bd358..00a2a35 100644
|
||||||
|
--- a/lib/PluginAPI/PluginServerAPI.cpp
|
||||||
|
+++ b/lib/PluginAPI/PluginServerAPI.cpp
|
||||||
|
@@ -472,6 +472,11 @@ llvm::SmallVector<mlir::Plugin::FieldDeclOp> PluginServerAPI::GetFields(uint64_t
|
||||||
|
return PluginServer::GetInstance()->GetFieldsResult(funName, params);
|
||||||
|
}
|
||||||
|
|
||||||
|
+void PluginServerAPI::ShutdownCompile() {
|
||||||
|
+ string funName = __func__;
|
||||||
|
+ PluginServer::GetInstance()->RemoteCallClientWithAPI(funName, "");
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
void PluginServerAPI::SetDeclName(uint64_t newfieldId, uint64_t fieldId)
|
||||||
|
{
|
||||||
|
Json::Value root;
|
||||||
|
diff --git a/lib/PluginServer/main.cpp b/lib/PluginServer/main.cpp
|
||||||
|
index 333d55e..669d5e4 100644
|
||||||
|
--- a/lib/PluginServer/main.cpp
|
||||||
|
+++ b/lib/PluginServer/main.cpp
|
||||||
|
@@ -24,7 +24,7 @@ using namespace PinServer;
|
||||||
|
|
||||||
|
int main(int argc, char** argv)
|
||||||
|
{
|
||||||
|
- const int argcNum = 2; // 参数只有2个,argv[0]:port argv[1]:log级别
|
||||||
|
+ const int argcNum = 7;
|
||||||
|
if (argc != argcNum) {
|
||||||
|
printf("param num:%d, should be:%d\n", argc, argcNum);
|
||||||
|
return -1;
|
||||||
|
@@ -32,6 +32,7 @@ int main(int argc, char** argv)
|
||||||
|
std::string port = argv[0];
|
||||||
|
LogPriority priority = (LogPriority)atoi(argv[1]);
|
||||||
|
PluginServer server(priority, port);
|
||||||
|
+ server.SetServerCommand(argv[2], argv[3], argv[4], argv[5], argv[6]);
|
||||||
|
server.RunServer();
|
||||||
|
return 0;
|
||||||
|
-}
|
||||||
|
\ No newline at end of file
|
||||||
|
+}
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Name: pin-server
|
Name: pin-server
|
||||||
Version: 0.4.0
|
Version: 0.4.0
|
||||||
Release: 9
|
Release: 10
|
||||||
Summary: Pin (Plug-IN framework) server provides plugin APIs for compiler optimization developers to develop optimization pass.
|
Summary: Pin (Plug-IN framework) server provides plugin APIs for compiler optimization developers to develop optimization pass.
|
||||||
License: Apache 2.0
|
License: Apache 2.0
|
||||||
URL: https://gitee.com/openeuler/pin-server
|
URL: https://gitee.com/openeuler/pin-server
|
||||||
@ -37,6 +37,8 @@ Patch24: 0024-Pin-server-Fix-VectorType.patch
|
|||||||
Patch25: 0025-Pin-server-Fix-Pass-DoOptimize-method-and-struct-sel.patch
|
Patch25: 0025-Pin-server-Fix-Pass-DoOptimize-method-and-struct-sel.patch
|
||||||
Patch26: 0026-Pin-server-Fix-log-output-form.patch
|
Patch26: 0026-Pin-server-Fix-log-output-form.patch
|
||||||
Patch27: 0027-Pin-server-Optimized-LocalVarSummeryPass.patch
|
Patch27: 0027-Pin-server-Optimized-LocalVarSummeryPass.patch
|
||||||
|
Patch28: 0028-Fix-BUILD-errors.patch
|
||||||
|
Patch29: 0029-PluginServer-Add-class-for-Server-Command.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Pin (Plug-IN framework) server provides plugin APIs for compiler optimization developers to develop optimization pass.
|
Pin (Plug-IN framework) server provides plugin APIs for compiler optimization developers to develop optimization pass.
|
||||||
@ -119,6 +121,12 @@ find %{_libdir} -type f -name "libMLIRServerAPI.so" -exec strip "{}" ";"
|
|||||||
%config(noreplace) /etc/ld.so.conf.d/%{name}-%{_arch}.conf
|
%config(noreplace) /etc/ld.so.conf.d/%{name}-%{_arch}.conf
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Sep 19 2023 dingguangya <dingguangya1@huawei.com> - 0.4.0-10
|
||||||
|
- Type:Update
|
||||||
|
- ID:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:Sync patch from openeuler/pin-server
|
||||||
|
|
||||||
* Sat Mar 25 2023 dingguangya <dingguangya1@huawei.com> - 0.4.0-9
|
* Sat Mar 25 2023 dingguangya <dingguangya1@huawei.com> - 0.4.0-9
|
||||||
- Type:Update
|
- Type:Update
|
||||||
- ID:NA
|
- ID:NA
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user