llvm-project/llvm/lib/Support
Ben Barham 3fda0edc51 [VFS] RedirectingFileSystem only replace path if not already mapped
If the `ExternalFS` has already remapped a path then the
`RedirectingFileSystem` should not change it to the originally provided
path. This fixes the original path always being used if multiple VFS
overlays were provided and the path wasn't found in the highest (ie.
first in the chain).

This also renames `IsVFSMapped` to `ExposesExternalVFSPath` and only
sets it if `UseExternalName` is true. This flag then represents that the
`Status` has an external path that's different from its virtual path.
Right now the contained path is still the external path, but further PRs
will change this to *always* be the virtual path. Clients that need the
external can then request it specifically.

Note that even though `ExposesExternalVFSPath` isn't set for all
VFS-mapped paths, `IsVFSMapped` was only being used by a hack in
`FileManager` that was specific to module searching. In that case
`UseExternalNames` is always `true` and so that hack still applies.

Resolves rdar://90578880 and llvm-project#53306.

Differential Revision: https://reviews.llvm.org/D122549
2022-03-30 11:52:41 -07:00
..
BLAKE3 Revert "[Support/BLAKE3] Re-enable building with the simd-optimized implementations" 2022-03-29 17:43:37 +00:00
Unix [Support] Skip attempts to access /proc/self/fd on FreeBSD 2022-03-27 20:19:41 +02:00
Windows Cleanup include: TableGen 2022-03-11 11:41:32 +01:00
AArch64TargetParser.cpp [AARCH64] ssbs should be enabled by default for cortex-x1, cortex-x1c, cortex-a77 2022-03-15 13:44:20 +00:00
ABIBreak.cpp
AMDGPUMetadata.cpp
APFixedPoint.cpp [APInt] Stop using soft-deprecated constructors and methods in llvm. NFC. 2021-10-04 08:57:44 +01:00
APFloat.cpp [APFloat] Set size of PPCDoubleDouble to 128 2021-10-09 10:12:10 +08:00
APInt.cpp Implement literal suffixes for _BitInt 2022-03-14 09:24:19 -04:00
APSInt.cpp
ARMAttributeParser.cpp Move llvm::array_lenghtof to llvm/ADT/STLArrayExtras.h 2022-01-28 11:50:49 +01:00
ARMBuildAttrs.cpp [ARM] emit PACBTI-M build attributes 2021-12-01 11:05:29 +00:00
ARMTargetParser.cpp [ARM][AArch64] Introduce Armv9.3-A 2022-01-03 12:40:43 +00:00
ARMWinEH.cpp [llvm] Cleanup header dependencies in ADT and Support 2022-01-21 13:54:49 +01:00
Allocator.cpp
Atomic.cpp
AutoConvert.cpp [SystemZ][z/OS] Fix return values in AutoConversion functions 2021-05-05 09:43:14 -04:00
BinaryStreamError.cpp [NFC] Additional header dependency cleanup LLVMSupport 2022-01-26 11:16:15 +01:00
BinaryStreamReader.cpp [Support] Convert BinaryStream class zoo to 64-bit offsets 2021-09-16 19:14:52 -04:00
BinaryStreamRef.cpp [Support] Convert BinaryStream class zoo to 64-bit offsets 2021-09-16 19:14:52 -04:00
BinaryStreamWriter.cpp [Support] Convert BinaryStream class zoo to 64-bit offsets 2021-09-16 19:14:52 -04:00
BlockFrequency.cpp [llvm] Cleanup header dependencies in ADT and Support 2022-01-21 13:54:49 +01:00
BranchProbability.cpp BranchProbability.cpp - add missing implicit cmath header dependency. NFCI. 2021-06-05 21:14:43 +01:00
BuryPointer.cpp Add LLVM_ATTRIBUTE_USED to fix problems which could be exposed by aggressive global pointer variable removal 2021-04-26 13:31:37 -07:00
CMakeLists.txt Revert D121984 "[RISCV][NFC] Moving RVV intrinsic type related util to llvm/Support" 2022-03-28 01:17:37 -07:00
COM.cpp
COPYRIGHT.regex
CRC.cpp
CSKYAttributeParser.cpp [Support] Add CSKY target parser and attributes parser 2022-02-28 11:35:07 +08:00
CSKYAttributes.cpp [Support] Add CSKY target parser and attributes parser 2022-02-28 11:35:07 +08:00
CSKYTargetParser.cpp Cleanup include: TableGen 2022-03-11 11:41:32 +01:00
CachePruning.cpp
Caching.cpp [Support] [DebugInfo] Lazily create cache dir. 2022-01-20 19:27:15 +00:00
Chrono.cpp
CodeGenCoverage.cpp [llvm] Use = default (NFC) 2022-02-06 22:18:35 -08:00
CommandLine.cpp [CommandLine] Remove `may only occur zero or one times!` error 2022-03-11 11:25:04 -08:00
Compression.cpp [Support] Change zlib::compress to return void 2022-03-14 11:38:04 -07:00
ConvertUTF.cpp
ConvertUTFWrapper.cpp Re-land c346068928 with fixes 2022-03-23 08:13:17 -04:00
CrashRecoveryContext.cpp Cleanup include: TableGen 2022-03-11 11:41:32 +01:00
DAGDeltaAlgorithm.cpp [llvm] Cleanup header dependencies in ADT and Support 2022-01-21 13:54:49 +01:00
DJB.cpp
DataExtractor.cpp [llvm] Cleanup header dependencies in ADT and Support 2022-01-21 13:54:49 +01:00
Debug.cpp Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
DebugCounter.cpp Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
DebugOptions.h Ensure newlines at the end of files (NFC) 2021-10-23 08:45:29 -07:00
DeltaAlgorithm.cpp [llvm] Use = default (NFC) 2022-02-06 22:18:35 -08:00
DivisionByConstantInfo.cpp [llvm] Use true/false instead of 1/0 (NFC) 2022-01-07 00:39:14 -08:00
DynamicLibrary.cpp Cleanup include: TableGen 2022-03-11 11:41:32 +01:00
ELFAttributeParser.cpp [llvm] Cleanup header dependencies in ADT and Support 2022-01-21 13:54:49 +01:00
ELFAttributes.cpp
Errno.cpp Cleanup include: TableGen 2022-03-11 11:41:32 +01:00
Error.cpp Support: Pass wrapped Error's error code through FileError 2021-11-12 21:19:09 -08:00
ErrorHandling.cpp [Support] Add more Windows error codes to mapWindowsError 2021-10-16 16:14:49 +03:00
ExtensibleRTTI.cpp [llvm][clang][NFC] updates inline licence info 2021-08-11 02:48:53 +00:00
FileCollector.cpp [SystemZ][z/OS][Windows] Add new OF_TextWithCRLF flag and use this flag instead of OF_Text 2021-04-06 07:23:31 -04:00
FileOutputBuffer.cpp [llvm] Cleanup header dependencies in ADT and Support 2022-01-21 13:54:49 +01:00
FileUtilities.cpp [NFC] Additional header dependency cleanup LLVMSupport 2022-01-26 11:16:15 +01:00
FoldingSet.cpp [NFC] Move FoldingSetNodeIDRef::ComputeHash and FoldingSetNodeID::ComputeHash definitions to header 2022-02-04 18:03:42 +01:00
FormatVariadic.cpp Revert rG7275de7fb2f087871611d037d1b529b226dd0521 "[AArch64] translateLocChar - silence dead code warning" 2022-02-06 17:19:23 +00:00
FormattedStream.cpp
GlobPattern.cpp
GraphWriter.cpp Add apple-specific missing header in Support/GraphWriter.cpp 2022-01-21 14:59:30 +01:00
Hashing.cpp
Host.cpp reland: [AArch64] Add support for -march=native for Apple M1 CPU 2022-03-23 15:19:17 -07:00
InitLLVM.cpp Add ms-specific missing header in Support/InitLLVM.cpp 2022-01-21 14:28:47 +01:00
InstructionCost.cpp
IntEqClasses.cpp
IntervalMap.cpp
ItaniumManglingCanonicalizer.cpp [demangler] Remove StdQualifiedName 2022-02-07 07:49:30 -08:00
JSON.cpp [llvm] Cleanup header dependencies in ADT and Support 2022-01-21 13:54:49 +01:00
KnownBits.cpp [KnownBits] Add support for X*X self-multiplication (update) 2022-02-06 19:40:08 +00:00
LEB128.cpp
LineIterator.cpp
Locale.cpp
LockFileManager.cpp [libc++] Remove unused macro in __config 2021-09-23 13:09:32 -04:00
LowLevelType.cpp [MachineValueType] Don't allow MVT::getVectorNumElements() to be called for scalable vectors. 2022-01-13 09:16:25 -08:00
MD5.cpp [ADT] Add an in-place version of toHex() 2022-01-11 11:51:04 +01:00
MSP430AttributeParser.cpp [llvm] Cleanup header dependencies in ADT and Support 2022-01-21 13:54:49 +01:00
MSP430Attributes.cpp [llvm-readobj] Support dumping of MSP430 ELF attributes 2021-09-28 00:56:11 +03:00
ManagedStatic.cpp Fix for memory leak reported by Valgrind 2021-03-16 11:01:31 -07:00
MathExtras.cpp Cleanup include: TableGen 2022-03-11 11:41:32 +01:00
MemAlloc.cpp [Support] #include <new> for std::align_val_t 2022-01-25 19:40:00 +01:00
Memory.cpp Cleanup include: TableGen 2022-03-11 11:41:32 +01:00
MemoryBuffer.cpp Fix issing header on z/OS 2022-03-14 17:29:08 +01:00
MemoryBufferRef.cpp
NativeFormatting.cpp [Support] Use llvm_unreachable instead of LLVM_BUILTIN_UNREACHABLE internal define 2022-02-06 16:26:00 +00:00
OptimizedStructLayout.cpp Fix a bug in OptimizedStructLayout when filling gaps before 2021-07-21 15:47:18 -04:00
Optional.cpp
Parallel.cpp [Support] Simplify parallelForEach{,N} 2022-01-23 10:35:44 -08:00
Path.cpp Cleanup include: TableGen 2022-03-11 11:41:32 +01:00
PluginLoader.cpp
PrettyStackTrace.cpp Add apple-specific missing include 2022-01-21 14:18:29 +01:00
Process.cpp [llvm] Replace LLVM_ATTRIBUTE_NORETURN with C++11 [[noreturn]] 2021-07-28 09:31:14 -07:00
Program.cpp Cleanup include: TableGen 2022-03-11 11:41:32 +01:00
RISCVAttributeParser.cpp Revert "Rename llvm::array_lengthof into llvm::size to match std::size from C++17" 2022-01-26 16:55:53 +01:00
RISCVAttributes.cpp Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
RISCVISAInfo.cpp [RISCV] Add +experimental-zvfh extension to cover half types in vectors. 2022-03-17 10:04:02 -07:00
RWMutex.cpp
RandomNumberGenerator.cpp Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
Regex.cpp [llvm] Use range-based for loops (NFC) 2021-12-02 09:27:47 -08:00
SHA1.cpp
SHA256.cpp [Support] Use static_assert instead of assert (NFC) 2021-02-18 22:46:41 -08:00
ScaledNumber.cpp
ScopedPrinter.cpp [llvm] Cleanup header dependencies in ADT and Support 2022-01-21 13:54:49 +01:00
Signals.cpp [libSupport] make CallBacksToRun static local 2022-03-19 20:31:04 +00:00
Signposts.cpp Signposts.h - move unnecessary StringRef include down to Signposts.cpp 2022-02-02 15:36:00 +00:00
SmallPtrSet.cpp [llvm] Cleanup header dependencies in ADT and Support 2022-01-21 13:54:49 +01:00
SmallVector.cpp [llvm] Cleanup header dependencies in ADT and Support 2022-01-21 13:54:49 +01:00
SourceMgr.cpp [PDLL] Add support for tablegen includes and importing ODS information 2022-03-03 16:14:03 -08:00
SpecialCaseList.cpp [llvm] Use = default (NFC) 2022-02-06 22:18:35 -08:00
Statistic.cpp [Support] Use range-based for loops (NFC) 2021-12-10 08:53:14 -08:00
StringExtras.cpp [llvm] Use range-based for loops (NFC) 2021-12-02 09:27:47 -08:00
StringMap.cpp [NFC][llvm][StringMap]Extract createTable and getHashTable functions and add the inline attribute to the getMinBucketToReserveForEntries function. 2022-03-23 10:09:59 +08:00
StringRef.cpp Move STLFunctionalExtras out of STLExtras 2022-01-24 14:13:21 +01:00
StringSaver.cpp
SuffixTree.cpp
SymbolRemappingReader.cpp [llvm] Cleanup header dependencies in ADT and Support 2022-01-21 13:54:49 +01:00
SystemUtils.cpp
TarWriter.cpp
TargetParser.cpp [AMDGPU] Add gfx1036 target 2022-03-02 23:26:38 +00:00
ThreadLocal.cpp
ThreadPool.cpp Fix conditional include in ThreadPool 2022-01-26 14:16:01 +01:00
Threading.cpp [Support] reorder Threading includes to avoid conflict with FreeBSD headers 2021-07-09 10:39:52 +01:00
TimeProfiler.cpp Move STLFunctionalExtras out of STLExtras 2022-01-24 14:13:21 +01:00
Timer.cpp [llvm] Use llvm::reverse (NFC) 2021-11-06 19:31:18 -07:00
ToolOutputFile.cpp [llvm] Cleanup header dependencies in ADT and Support 2022-01-21 13:54:49 +01:00
TrigramIndex.cpp TrigramIndex.h - move unnecessary StringRef include down to TrigramIndex.cpp 2022-02-02 16:29:47 +00:00
Triple.cpp Add DXContainer 2022-03-29 14:34:23 -05:00
Twine.cpp Consolidate string types into ptr and length representations. 2021-07-20 13:29:57 -07:00
TypeSize.cpp [llvm] Cleanup header dependencies in ADT and Support 2022-01-21 13:54:49 +01:00
Unicode.cpp
UnicodeCaseFold.cpp
Valgrind.cpp Work around a Clang modules build issue. 2022-01-31 12:03:00 -08:00
VersionTuple.cpp
VirtualFileSystem.cpp [VFS] RedirectingFileSystem only replace path if not already mapped 2022-03-30 11:52:41 -07:00
Watchdog.cpp
WithColor.cpp [Support] Allow the ability to change WithColor's auto detection function 2022-02-28 20:30:06 -08:00
X86TargetParser.cpp Revert "Rename llvm::array_lengthof into llvm::size to match std::size from C++17" 2022-01-26 16:55:53 +01:00
YAMLParser.cpp [YAMLParser] Add multi-line literal folding support 2022-02-28 21:03:36 +00:00
YAMLTraits.cpp [llvm][support] Replace `std::vector<bool>` use in YAMLTraits 2022-01-26 11:20:18 +01:00
Z3Solver.cpp [analyzer] Fix include typo introduced by e61a1a9 2022-03-11 16:09:25 +01:00
circular_raw_ostream.cpp
raw_os_ostream.cpp
raw_ostream.cpp Move llvm::array_lenghtof to llvm/ADT/STLArrayExtras.h 2022-01-28 11:50:49 +01:00
regcomp.c [Support] unsafe pointer arithmetic in llvm_regcomp() 2022-02-03 19:59:27 -05:00
regengine.inc
regerror.c
regex2.h
regex_impl.h
regexec.c
regfree.c
regstrlcpy.c
regutils.h
xxhash.cpp Cleanup include: TableGen 2022-03-11 11:41:32 +01:00