Fix mainutils win32 (#239)
* Detect llvm-project commit change in utils/clone-mlir.sh and rebuild llvm-project for zLinux Jenkins build bot * Fix MainUtils.cpp compilation on Windows * Fix clang-format * Update comments on Windows not to delete the constant pack object file
This commit is contained in:
parent
a611c145f4
commit
7a2bb1f2a3
|
@ -161,7 +161,7 @@ void LoadMLIR(string inputFilename, mlir::MLIRContext &context,
|
||||||
}
|
}
|
||||||
|
|
||||||
void genConstPackObj(const mlir::OwningModuleRef &module,
|
void genConstPackObj(const mlir::OwningModuleRef &module,
|
||||||
llvm::Optional<string> &constPackObjPath) {
|
llvm::Optional<string> &constPackObjPath, string outputBaseName) {
|
||||||
// Extract constant pack file name, which is embedded as a symbol in the
|
// Extract constant pack file name, which is embedded as a symbol in the
|
||||||
// module being compiled.
|
// module being compiled.
|
||||||
auto constPackFilePathSym = (*module).lookupSymbol<mlir::LLVM::GlobalOp>(
|
auto constPackFilePathSym = (*module).lookupSymbol<mlir::LLVM::GlobalOp>(
|
||||||
|
@ -223,6 +223,12 @@ void genConstPackObj(const mlir::OwningModuleRef &module,
|
||||||
.exec();
|
.exec();
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
/* The final constant pack object file on Windows is NOT embedded into
|
||||||
|
* the shared library but rather is kept in a separate .bin file. So
|
||||||
|
* do not set it in constPackObjPath so that when this function returns
|
||||||
|
* the caller (compileModuleToSharedLibrary and compileModuleToJniJar)
|
||||||
|
* won't put it into llvm::FileRemover.
|
||||||
|
*/
|
||||||
llvm::SmallVector<char, 10> permConstPackFileName(
|
llvm::SmallVector<char, 10> permConstPackFileName(
|
||||||
constPackFilePath.begin(), constPackFilePath.end());
|
constPackFilePath.begin(), constPackFilePath.end());
|
||||||
llvm::sys::path::replace_extension(permConstPackFileName, "bin");
|
llvm::sys::path::replace_extension(permConstPackFileName, "bin");
|
||||||
|
@ -309,7 +315,7 @@ void compileModuleToSharedLibrary(
|
||||||
const mlir::OwningModuleRef &module, std::string outputBaseName) {
|
const mlir::OwningModuleRef &module, std::string outputBaseName) {
|
||||||
|
|
||||||
llvm::Optional<string> constPackObjPath;
|
llvm::Optional<string> constPackObjPath;
|
||||||
genConstPackObj(module, constPackObjPath);
|
genConstPackObj(module, constPackObjPath, outputBaseName);
|
||||||
llvm::FileRemover constPackObjRemover(constPackObjPath.getValue());
|
llvm::FileRemover constPackObjRemover(constPackObjPath.getValue());
|
||||||
|
|
||||||
string bitcodePath = outputBaseName + ".bc";
|
string bitcodePath = outputBaseName + ".bc";
|
||||||
|
@ -330,7 +336,7 @@ void compileModuleToJniJar(
|
||||||
const mlir::OwningModuleRef &module, std::string outputBaseName) {
|
const mlir::OwningModuleRef &module, std::string outputBaseName) {
|
||||||
|
|
||||||
llvm::Optional<string> constPackObjPath;
|
llvm::Optional<string> constPackObjPath;
|
||||||
genConstPackObj(module, constPackObjPath);
|
genConstPackObj(module, constPackObjPath, outputBaseName);
|
||||||
llvm::FileRemover constPackObjRemover(constPackObjPath.getValue());
|
llvm::FileRemover constPackObjRemover(constPackObjPath.getValue());
|
||||||
|
|
||||||
string bitcodePath = outputBaseName + ".bc";
|
string bitcodePath = outputBaseName + ".bc";
|
||||||
|
|
Loading…
Reference in New Issue