[PATCH] D95501: WIP: Support: Add vfs::OutputBackend to virtualize compiler outputs
Duncan P. N. Exon Smith via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 2 19:21:56 PST 2021
dexonsmith updated this revision to Diff 320970.
dexonsmith retitled this revision from "WIP: Support: Add vfs::OutputManager to virtualize compiler outputs" to "WIP: Support: Add vfs::OutputBackend to virtualize compiler outputs".
dexonsmith edited the summary of this revision.
dexonsmith added a comment.
Update description and patch following some feedback on the RFC.
- Simplify `OutputConfig`, restricting it to semantic information about a specific output. Sink all backend configuration to flags on the backends themselves.
- Remove `OutputManager`, instead exposing `OutputBackend` directly.
- Merge `Output` and `OutputDestination` into a single class called `OutputFile`, and rename the API for creating them to `OutputBackend::createFile()`.
- Add support for working directories via `OutputDirectory`, and add `OutputBackend::getDirectory()` and `OutputBackend::createDirectory()`.
- Add support for `createUniqueFile()` and `createUniqueDirectory()`, both heavily used in clang. Backends without read access can use `StableUniqueEntityAdaptor` to implement these.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D95501/new/
https://reviews.llvm.org/D95501
Files:
llvm/include/llvm/Support/OutputBackend.h
llvm/lib/Support/CMakeLists.txt
llvm/lib/Support/OutputBackend.cpp
llvm/unittests/Support/CMakeLists.txt
llvm/unittests/Support/OutputBackendTest.cpp
llvm/unittests/Support/OutputConfigTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D95501.320970.patch
Type: text/x-patch
Size: 113860 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210203/d010e9dd/attachment.bin>
More information about the llvm-commits
mailing list