[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
|
||||
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.
|
||||
License: Apache 2.0
|
||||
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
|
||||
Patch26: 0026-Pin-server-Fix-log-output-form.patch
|
||||
Patch27: 0027-Pin-server-Optimized-LocalVarSummeryPass.patch
|
||||
Patch28: 0028-Fix-BUILD-errors.patch
|
||||
Patch29: 0029-PluginServer-Add-class-for-Server-Command.patch
|
||||
|
||||
%description
|
||||
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
|
||||
|
||||
%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
|
||||
- Type:Update
|
||||
- ID:NA
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user