diff options
| author | Jakub Beránek <berykubik@gmail.com> | 2025-03-18 07:43:12 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-18 07:43:12 +0100 |
| commit | e9d50f4c577e966921c09df521ccef2df431c0e3 (patch) | |
| tree | c87367c4bb57995c3ba78b92e175a3795e76775c /compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp | |
| parent | ef46ce7b7378b366c345f0f3823cfee9921b69c6 (diff) | |
| parent | 69ed0232ef33f06b6fefc14f53150a00af9200e8 (diff) | |
| download | rust-e9d50f4c577e966921c09df521ccef2df431c0e3.tar.gz rust-e9d50f4c577e966921c09df521ccef2df431c0e3.zip | |
Merge pull request #2293 from jieyouxu/rustc-pull
Rustc pull
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp')
| -rw-r--r-- | compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp index bc3d4d6f83a..86f1bcc46ee 100644 --- a/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp +++ b/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp @@ -1682,12 +1682,21 @@ extern "C" void LLVMRustComputeLTOCacheKey(RustStringRef KeyOut, #endif // Based on the 'InProcessThinBackend' constructor in LLVM +#if LLVM_VERSION_GE(21, 0) + for (auto &Name : Data->Index.cfiFunctionDefs().symbols()) + CfiFunctionDefs.insert( + GlobalValue::getGUID(GlobalValue::dropLLVMManglingEscape(Name))); + for (auto &Name : Data->Index.cfiFunctionDecls().symbols()) + CfiFunctionDecls.insert( + GlobalValue::getGUID(GlobalValue::dropLLVMManglingEscape(Name))); +#else for (auto &Name : Data->Index.cfiFunctionDefs()) CfiFunctionDefs.insert( GlobalValue::getGUID(GlobalValue::dropLLVMManglingEscape(Name))); for (auto &Name : Data->Index.cfiFunctionDecls()) CfiFunctionDecls.insert( GlobalValue::getGUID(GlobalValue::dropLLVMManglingEscape(Name))); +#endif #if LLVM_VERSION_GE(20, 0) Key = llvm::computeLTOCacheKey(conf, Data->Index, ModId, ImportList, |
