llvm-wrapper: adapt for and LLVM API change
This commit is contained in:
parent
c372b14701
commit
75aec4703d
@ -205,7 +205,12 @@ enum class LLVMRustCodeModel {
|
||||
None,
|
||||
};
|
||||
|
||||
static Optional<CodeModel::Model> fromRust(LLVMRustCodeModel Model) {
|
||||
#if LLVM_VERSION_LT(16, 0)
|
||||
static Optional<CodeModel::Model>
|
||||
#else
|
||||
static std::optional<CodeModel::Model>
|
||||
#endif
|
||||
fromRust(LLVMRustCodeModel Model) {
|
||||
switch (Model) {
|
||||
case LLVMRustCodeModel::Tiny:
|
||||
return CodeModel::Tiny;
|
||||
@ -638,7 +643,11 @@ LLVMRustOptimize(
|
||||
LLVMSelfProfileInitializeCallbacks(PIC,LlvmSelfProfiler,BeforePassCallback,AfterPassCallback);
|
||||
}
|
||||
|
||||
#if LLVM_VERSION_LT(16, 0)
|
||||
Optional<PGOOptions> PGOOpt;
|
||||
#else
|
||||
std::optional<PGOOptions> PGOOpt;
|
||||
#endif
|
||||
if (PGOGenPath) {
|
||||
assert(!PGOUsePath && !PGOSampleUsePath);
|
||||
PGOOpt = PGOOptions(PGOGenPath, "", "", PGOOptions::IRInstr,
|
||||
|
@ -17,7 +17,9 @@
|
||||
#include "llvm/Pass.h"
|
||||
#include "llvm/Bitcode/BitcodeWriter.h"
|
||||
#include "llvm/Support/Signals.h"
|
||||
#if LLVM_VERSION_LT(16, 0)
|
||||
#include "llvm/ADT/Optional.h"
|
||||
#endif
|
||||
|
||||
#include <iostream>
|
||||
|
||||
@ -708,7 +710,11 @@ enum class LLVMRustChecksumKind {
|
||||
SHA256,
|
||||
};
|
||||
|
||||
#if LLVM_VERSION_LT(16, 0)
|
||||
static Optional<DIFile::ChecksumKind> fromRust(LLVMRustChecksumKind Kind) {
|
||||
#else
|
||||
static std::optional<DIFile::ChecksumKind> fromRust(LLVMRustChecksumKind Kind) {
|
||||
#endif
|
||||
switch (Kind) {
|
||||
case LLVMRustChecksumKind::None:
|
||||
return None;
|
||||
@ -787,8 +793,18 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateFile(
|
||||
const char *Filename, size_t FilenameLen,
|
||||
const char *Directory, size_t DirectoryLen, LLVMRustChecksumKind CSKind,
|
||||
const char *Checksum, size_t ChecksumLen) {
|
||||
|
||||
#if LLVM_VERSION_LT(16, 0)
|
||||
Optional<DIFile::ChecksumKind> llvmCSKind = fromRust(CSKind);
|
||||
#else
|
||||
std::optional<DIFile::ChecksumKind> llvmCSKind = fromRust(CSKind);
|
||||
#endif
|
||||
|
||||
#if LLVM_VERSION_LT(16, 0)
|
||||
Optional<DIFile::ChecksumInfo<StringRef>> CSInfo{};
|
||||
#else
|
||||
std::optional<DIFile::ChecksumInfo<StringRef>> CSInfo{};
|
||||
#endif
|
||||
if (llvmCSKind)
|
||||
CSInfo.emplace(*llvmCSKind, StringRef{Checksum, ChecksumLen});
|
||||
return wrap(Builder->createFile(StringRef(Filename, FilenameLen),
|
||||
|
Loading…
Reference in New Issue
Block a user