Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions sycl-jit/jit-compiler/lib/rtc/DeviceCompilation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -434,19 +434,20 @@ class SYCLToolchain {
return (void)UseCachedPreamble(PCHStorage);
};

auto CacheOrErr =
llvm::Expected<llvm::FileCache> CacheOrErr =
llvm::localCache("SYCL RTC Persistent Preambles", "syclrtc-tmp-",
PersistentPCHDir, CacheCallback);

assert(CacheOrErr && "Don't see any code path returning Error");
auto AddStreamOrErr = (*CacheOrErr)(0, EncodedHash, "");
llvm::Expected<llvm::AddStreamFn> AddStreamOrErr =
(*CacheOrErr)(0, EncodedHash, "");
if (!AddStreamOrErr) {
// Not a hit, but we won't be able to store the data in the cache, so
// no need to generate precompiled preamble.
consumeError(AddStreamOrErr.takeError());
return RunWithoutPCH();
}
auto &AddStream = *AddStreamOrErr;
llvm::AddStreamFn &AddStream = *AddStreamOrErr;
if (!AddStream) {
// UseCachedPreamble was called by the cache after successfully
// reading persistent auto-pch file.
Expand All @@ -467,9 +468,12 @@ class SYCLToolchain {
// Any errors updating the persistent preambles cache won't affect
// current compilation, so ignore any error below:

auto FileOrErr = AddStream(1, "");
if (!FileOrErr)
llvm::Expected<std::unique_ptr<llvm::CachedFileStream>> FileOrErr =
AddStream(1, "");
if (!FileOrErr) {
consumeError(FileOrErr.takeError());
return Success;
}

llvm::CachedFileStream *CFS = FileOrErr->get();
raw_pwrite_stream &OS = *CFS->OS;
Expand Down