[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