Revision tags: llvmorg-21-init |
|
#
2a4c4847 |
| 19-Jan-2025 |
Kazu Hirata <kazu@google.com> |
[Support] Avoid repeated hash lookups (NFC) (#123503)
|
Revision tags: llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5 |
|
#
d44ea718 |
| 20-Nov-2024 |
Kazu Hirata <kazu@google.com> |
[Support] Remove unused includes (NFC) (#116752)
Identified with misc-include-cleaner.
|
Revision tags: llvmorg-19.1.4, llvmorg-19.1.3 |
|
#
46dc91e7 |
| 21-Oct-2024 |
Abhina Sree <Abhina.Sreeskantharajan@ibm.com> |
[SystemZ][z/OS] Add new openFileForReadBinary function, and pass IsText parameter to getBufferForFile (#111723)
This patch adds an IsText parameter to the following getBufferForFile,
getBufferForFi
[SystemZ][z/OS] Add new openFileForReadBinary function, and pass IsText parameter to getBufferForFile (#111723)
This patch adds an IsText parameter to the following getBufferForFile,
getBufferForFileImpl. We introduce a new virtual function
openFileForReadBinary which defaults to openFileForRead except in
RealFileSystem which uses the OF_None flag instead of OF_Text.
The default is set to OF_Text instead of OF_None, this change in value
does not affect any other platforms other than z/OS. Setting this
parameter correctly is required to open files on z/OS in the correct
encoding. The IsText parameter is based on the context of where we open
files, for example, in the ASTReader, HeaderMap requires that files
always be opened in binary even though they might be tagged as text.
show more ...
|
#
d1401822 |
| 20-Oct-2024 |
Kazu Hirata <kazu@google.com> |
[Support] Use a hetrogenous lookup with std::map (NFC) (#113075)
|
Revision tags: llvmorg-19.1.2, llvmorg-19.1.1 |
|
#
efdb3ae2 |
| 20-Sep-2024 |
Abhina Sreeskantharajan <Abhina.Sreeskantharajan@ibm.com> |
Revert "[SystemZ][z/OS] Propagate IsText parameter to open text files as text (#107906)"
This reverts commit edf3b277a5f2ebe144827ed47463c22743cac5f9.
|
#
edf3b277 |
| 19-Sep-2024 |
Abhina Sree <Abhina.Sreeskantharajan@ibm.com> |
[SystemZ][z/OS] Propagate IsText parameter to open text files as text (#107906)
This patch adds an IsText parameter to the following functions
openFileForRead, getBufferForFile, getBufferForFileImp
[SystemZ][z/OS] Propagate IsText parameter to open text files as text (#107906)
This patch adds an IsText parameter to the following functions
openFileForRead, getBufferForFile, getBufferForFileImpl and determines
whether a file is text by querying the file tag on z/OS. The default is
set to OF_Text instead of OF_None, this change in value does not affect
any other platforms other than z/OS.
show more ...
|
Revision tags: llvmorg-19.1.0 |
|
#
70fcdb3d |
| 06-Sep-2024 |
Jan Svoboda <jan_svoboda@apple.com> |
[llvm][support] Implement tracing virtual file system (#88326)
LLVM-based tools often use the `llvm::vfs::FileSystem` instrastructure
to access the file system. This patch adds new kind of a VFS th
[llvm][support] Implement tracing virtual file system (#88326)
LLVM-based tools often use the `llvm::vfs::FileSystem` instrastructure
to access the file system. This patch adds new kind of a VFS that
performs lightweight tracing of file system operations on an underlying
VFS. This is supposed to aid in investigating file system traffic
without resorting to instrumentation on the operating system level.
There will be follow-up patches that integrate this into Clang and its
dependency scanner.
show more ...
|
Revision tags: llvmorg-19.1.0-rc4 |
|
#
33e7cd6f |
| 25-Aug-2024 |
Kazu Hirata <kazu@google.com> |
[llvm] Prefer StringRef::substr to StringRef::slice (NFC) (#105943)
S.substr(N) is simpler than S.slice(N, StringRef::npos) and
S.slice(N, S.size()). Also, substr is probably better recognizable
t
[llvm] Prefer StringRef::substr to StringRef::slice (NFC) (#105943)
S.substr(N) is simpler than S.slice(N, StringRef::npos) and
S.slice(N, S.size()). Also, substr is probably better recognizable
than slice thanks to std::string_view::substr.
show more ...
|
Revision tags: llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2 |
|
#
7df9da7d |
| 04-Aug-2024 |
Kazu Hirata <kazu@google.com> |
[llvm] Construct SmallVector with ArrayRef (NFC) (#101872)
|
Revision tags: llvmorg-19.1.0-rc1, llvmorg-20-init |
|
#
48ef912e |
| 21-Jun-2024 |
Nikita Popov <npopov@redhat.com> |
[VFS] Avoid <stack> include (NFC)
Directly use a vector instead of wrapping it in a stack, like we do in most places.
|
Revision tags: llvmorg-18.1.8 |
|
#
d4a01549 |
| 13-Jun-2024 |
Jay Foad <jay.foad@amd.com> |
[llvm-project] Fix typo "seperate" (#95373)
|
#
09f19c73 |
| 06-Jun-2024 |
jensmassberg <87519353+jensmassberg@users.noreply.github.com> |
[clang] Fix handling of adding a file with the same name as an existing dir to VFS (#94461)
When trying to add a file to clang's VFS via `addFile` and a directory
of the same name already exists, w
[clang] Fix handling of adding a file with the same name as an existing dir to VFS (#94461)
When trying to add a file to clang's VFS via `addFile` and a directory
of the same name already exists, we run into a [out-of-bound
access](https://github.com/llvm/llvm-project/blob/145815c180fc82c5a55bf568d01d98d250490a55/llvm/lib/Support/Path.cpp#L244).
The problem is that the file name is [recognised as existing path](
https://github.com/llvm/llvm-project/blob/145815c180fc82c5a55bf568d01d98d250490a55/llvm/lib/Support/VirtualFileSystem.cpp#L896)
and thus continues to process the next part of the path which doesn't
exist.
This patch adds a check if we have reached the last part of the filename
and return false in that case.
This we reject to add a file if a directory of the same name already
exists.
This is in sync with [this
check](https://github.com/llvm/llvm-project/blob/145815c180fc82c5a55bf568d01d98d250490a55/llvm/lib/Support/VirtualFileSystem.cpp#L903)
that rejects adding a path if a file of the same name already exists.
show more ...
|
Revision tags: llvmorg-18.1.7, llvmorg-18.1.6 |
|
#
bb6df080 |
| 08-May-2024 |
Kazu Hirata <kazu@google.com> |
[llvm] Use StringRef::operator== instead of StringRef::equals (NFC) (#91441)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator==/!= outnumber Stri
[llvm] Use StringRef::operator== instead of StringRef::equals (NFC) (#91441)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator==/!= outnumber StringRef::equals by a factor of
70 under llvm/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
show more ...
|
#
2ad6917c |
| 07-May-2024 |
Ellis Hoag <ellis.sparky.hoag@gmail.com> |
[modules] Accept equivalent module caches from different symlink (#90925)
Use `VFS.equivalent()`, which follows symlinks, to check if two module
cache paths are equivalent. This prevents a PCH erro
[modules] Accept equivalent module caches from different symlink (#90925)
Use `VFS.equivalent()`, which follows symlinks, to check if two module
cache paths are equivalent. This prevents a PCH error when building from
a different path that is a symlink of the original.
```
error: PCH was compiled with module cache path '/home/foo/blah/ModuleCache/2IBP1TNT8OR8D', but the path is currently '/data/users/foo/blah/ModuleCache/2IBP1TNT8OR8D'
1 error generated.
```
show more ...
|
#
7ee62883 |
| 04-May-2024 |
Kazu Hirata <kazu@google.com> |
[Support] Use StringRef::operator== instead of StringRef::equals (NFC) (#91042)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator== outnumbers Str
[Support] Use StringRef::operator== instead of StringRef::equals (NFC) (#91042)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator== outnumbers StringRef::equals by a factor of 25
under llvm/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
show more ...
|
Revision tags: llvmorg-18.1.5, llvmorg-18.1.4 |
|
#
58898740 |
| 12-Apr-2024 |
Artem Chikin <achikin@apple.com> |
[llvm][vfs] Make vfs::FileSystem::exists() virtual NFC (#88575)
Allow a `vfs::FileSystem` to provide a more efficient implementation of
`exists()` if they are able to. The existing `FileSystem`
im
[llvm][vfs] Make vfs::FileSystem::exists() virtual NFC (#88575)
Allow a `vfs::FileSystem` to provide a more efficient implementation of
`exists()` if they are able to. The existing `FileSystem`
implementations continue to default to using `status()` except that
overlay, proxy, and redirecting filesystems are taught to forward calls
to `exists()` correctly to their wrapped/external filesystem.
Co-authored-by: Ben Langmuir <blangmuir@apple.com>
show more ...
|
#
edd7fed9 |
| 12-Apr-2024 |
Jan Svoboda <jan_svoboda@apple.com> |
[llvm][vfs] NFCI: Remove `const` from `VFS::getRealPath()`
This is an NFC change split from https://github.com/llvm/llvm-project/pull/68645.
|
Revision tags: llvmorg-18.1.3, llvmorg-18.1.2 |
|
#
5a8a7ee9 |
| 15-Mar-2024 |
Ben Langmuir <blangmuir@apple.com> |
[llvm][vfs] Preserve paths for fallback/fallthrough in RedirectingFileSystem (#85307)
When we lookup in the external filesystem, do not remove . and ..
components from the original path. For .. thi
[llvm][vfs] Preserve paths for fallback/fallthrough in RedirectingFileSystem (#85307)
When we lookup in the external filesystem, do not remove . and ..
components from the original path. For .. this is a correctness issue in
the presence of symlinks, while for . it is simply better practice to
preserve the original path to better match the behaviour of other
filesystems. The only modification we need is to apply the working
directory, since it could differ from the external filesystem.
rdar://123655660
show more ...
|
Revision tags: llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2 |
|
#
8926af42 |
| 03-Feb-2024 |
Kazu Hirata <kazu@google.com> |
[Support] Use StringRef::starts_with (NFC)
|
#
7847e445 |
| 30-Jan-2024 |
Michael Spencer <bigcheesegs@gmail.com> |
[clang][DependencyScanner] Remove unused -ivfsoverlay files (#73734)
`-ivfsoverlay` files are unused when building most modules. Enable
removing them by,
* adding a way to visit the filesystem tre
[clang][DependencyScanner] Remove unused -ivfsoverlay files (#73734)
`-ivfsoverlay` files are unused when building most modules. Enable
removing them by,
* adding a way to visit the filesystem tree with extensible RTTI to
access each `RedirectingFileSystem`.
* Adding tracking to `RedirectingFileSystem` to record when it
actually redirects a file access.
* Storing this information in each PCM.
Usage tracking is only enabled when iterating over the source manager
and affecting modulemaps. Here each path is stated to cause an access.
During scanning these stats all hit the cache.
show more ...
|
Revision tags: llvmorg-18.1.0-rc1 |
|
#
6c1dbd53 |
| 24-Jan-2024 |
Jan Svoboda <jan_svoboda@apple.com> |
[clang] NFC: Remove `{File,Directory}Entry::getName()` (#74910)
The files and directories that Clang accesses are uniqued by their
inode. For each inode `FileManager` will create exactly one `FileE
[clang] NFC: Remove `{File,Directory}Entry::getName()` (#74910)
The files and directories that Clang accesses are uniqued by their
inode. For each inode `FileManager` will create exactly one `FileEntry`
or `DirectoryEntry` object, which makes answering the question _"Are
these two files/directories the same?"_ a simple pointer equality check.
However, since the same inode can be accessed through multiple different
paths, asking the `FileEntry` or `DirectoryEntry` object _"What is your
name?"_ doesn't have clear semantics. In c0ff9908 we started reporting
the most recent name used to access the entry, which turned out to be
necessary for Clang modules. However, the long-term solution has always
been to explicitly track the as-requested name. This has been
implemented in 4dc5573a as `FileEntryRef` and `DirectoryEntryRef`.
The `DirectoryEntry::getName()` interface has been deprecated since the
Clang 17 release and `FileEntry::getName()` since Clang 18. We have
replaced uses of these deprecated APIs in `main` with
`DirectoryEntryRef::getName()` and `FileEntryRef::getName()`
respectively.
This makes it possible to remove `{File,Directory}Entry::getName()` for
good along with the `FileManager` code that implements them.
show more ...
|
Revision tags: llvmorg-19-init |
|
#
7e6482b3 |
| 18-Jan-2024 |
Kazu Hirata <kazu@google.com> |
[Support] Use SmallString::operator std::string (NFC)
|
Revision tags: llvmorg-17.0.6, llvmorg-17.0.5 |
|
#
bcb685e1 |
| 03-Nov-2023 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
[Support] Use StringRef::starts_with/ends_with instead of startswith/endswith. NFC.
startswith/endswith wrap starts_with/ends_with and will eventually go away (to more closely match string_view)
|
Revision tags: llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2 |
|
#
40dc8e68 |
| 27-Sep-2023 |
Gregory Alfonso <gfunni234@gmail.com> |
[NFC] Use const references to avoid copying objects in for-loops
Differential Revision: https://reviews.llvm.org/D139487
|
Revision tags: llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4 |
|
#
01b88dd6 |
| 30-Aug-2023 |
Takuya Shimizu <shimizu2486@gmail.com> |
[NFC] Remove unused variables declared in conditions
D152495 makes clang warn on unused variables that are declared in conditions like `if (int var = init) {}` This patch is an NFC fix to suppress t
[NFC] Remove unused variables declared in conditions
D152495 makes clang warn on unused variables that are declared in conditions like `if (int var = init) {}` This patch is an NFC fix to suppress the new warning in llvm,clang,lld builds to pass CI in the above patch.
Differential Revision: https://reviews.llvm.org/D158016
show more ...
|