<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Support/CachePruning.cpp, branch users/nico/python-1</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[Support] Use StringRef::starts_with/ends_with instead of startswith/endswith. NFC.</title>
<updated>2023-11-03T18:19:33+00:00</updated>
<author>
<name>Simon Pilgrim</name>
<email>llvm-dev@redking.me.uk</email>
</author>
<published>2023-11-03T18:14:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=bcb685e11945946335c2dc6265779f0226491b49'/>
<id>bcb685e11945946335c2dc6265779f0226491b49</id>
<content type='text'>
startswith/endswith wrap starts_with/ends_with and will eventually go away (to more closely match string_view)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
startswith/endswith wrap starts_with/ends_with and will eventually go away (to more closely match string_view)
</pre>
</div>
</content>
</entry>
<entry>
<title>[ThinLTO] a ThinLTO warning is added if cache_size_bytes or cache_size_files is too small for the current link job. The warning recommends the user to consider adjusting --thinlto-cache-policy.</title>
<updated>2022-11-14T12:27:29+00:00</updated>
<author>
<name>Ying Yi</name>
<email>maggieyi666@gmail.com</email>
</author>
<published>2022-10-10T12:26:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ca875cb4fe1340a89b3532a78bfe9bf41876c896'/>
<id>ca875cb4fe1340a89b3532a78bfe9bf41876c896</id>
<content type='text'>
A specific case for ThinLTO cache pruning is that the current build is huge, and the cache wasn't big enough to hold the intermediate object files of that build. So in doing that build, a file would be cached, and later in that same build it would be evicted. This was significantly decreasing the effectiveness of the cache. By giving this warning, the user could identify the required cache size/files and improve ThinLTO link speed.

Differential Revision: https://reviews.llvm.org/D135590
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A specific case for ThinLTO cache pruning is that the current build is huge, and the cache wasn't big enough to hold the intermediate object files of that build. So in doing that build, a file would be cached, and later in that same build it would be evicted. This was significantly decreasing the effectiveness of the cache. By giving this warning, the user could identify the required cache size/files and improve ThinLTO link speed.

Differential Revision: https://reviews.llvm.org/D135590
</pre>
</div>
</content>
</entry>
<entry>
<title>[ThinLTO] Also prune Thin-* files from the ThinLTO cache</title>
<updated>2021-01-19T13:43:49+00:00</updated>
<author>
<name>Hans Wennborg</name>
<email>hans@chromium.org</email>
</author>
<published>2021-01-19T12:41:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ec877106a38b760229a2d676b7d2278b2bade8ab'/>
<id>ec877106a38b760229a2d676b7d2278b2bade8ab</id>
<content type='text'>
Such files (Thin-%%%%%%.tmp.o) are supposed to be deleted immediately
after they're used (either by renaming or deletion). However, we've seen
instances on Windows where this doesn't happen, probably due to the
filesystem being flaky. This is effectively a resource leak which has
prevented us from using the ThinLTO cache on Windows.

Since those temporary files are in the thinlto cache directory which we
prune periodically anyway, allowing them to be pruned too seems like a
tidy way to solve the problem.

Differential revision: https://reviews.llvm.org/D94962
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Such files (Thin-%%%%%%.tmp.o) are supposed to be deleted immediately
after they're used (either by renaming or deletion). However, we've seen
instances on Windows where this doesn't happen, probably due to the
filesystem being flaky. This is effectively a resource leak which has
prevented us from using the ThinLTO cache on Windows.

Since those temporary files are in the thinlto cache directory which we
prune periodically anyway, allowing them to be pruned too seems like a
tidy way to solve the problem.

Differential revision: https://reviews.llvm.org/D94962
</pre>
</div>
</content>
</entry>
<entry>
<title>CachePruning.h - reduce StringRef.h to Optional.h include. NFC</title>
<updated>2020-05-08T13:06:53+00:00</updated>
<author>
<name>Simon Pilgrim</name>
<email>llvm-dev@redking.me.uk</email>
</author>
<published>2020-05-08T12:15:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a30f5fd94dedaa900d9b50d4460924d9cd6ac48b'/>
<id>a30f5fd94dedaa900d9b50d4460924d9cd6ac48b</id>
<content type='text'>
We only need to include Optional.h, forward declare StringRef and move the StringRef.h include down to CachePruning.cpp.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We only need to include Optional.h, forward declare StringRef and move the StringRef.h include down to CachePruning.cpp.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename F_{None,Text,Append} to OF_{None,Text,Append}. NFC</title>
<updated>2019-08-05T05:43:48+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>maskray@google.com</email>
</author>
<published>2019-08-05T05:43:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d9b948b6eb7362f36264b71795dab179906e36be'/>
<id>d9b948b6eb7362f36264b71795dab179906e36be</id>
<content type='text'>
F_{None,Text,Append} are kept for compatibility since r334221.

llvm-svn: 367800
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
F_{None,Text,Append} are kept for compatibility since r334221.

llvm-svn: 367800
</pre>
</div>
</content>
</entry>
<entry>
<title>[CachePruning] Simplify comparator</title>
<updated>2019-04-21T06:17:40+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>maskray@google.com</email>
</author>
<published>2019-04-21T06:17:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a0f9c4f72c80cf23cda59cd6d3161a4992370078'/>
<id>a0f9c4f72c80cf23cda59cd6d3161a4992370078</id>
<content type='text'>
llvm-svn: 358843
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
llvm-svn: 358843
</pre>
</div>
</content>
</entry>
<entry>
<title>Update the file headers across all of the LLVM projects in the monorepo</title>
<updated>2019-01-19T08:50:56+00:00</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2019-01-19T08:50:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2946cd701067404b99c39fb29dc9c74bd7193eb3'/>
<id>2946cd701067404b99c39fb29dc9c74bd7193eb3</id>
<content type='text'>
to reflect the new license.

We understand that people may be surprised that we're moving the header
entirely to discuss the new license. We checked this carefully with the
Foundation's lawyer and we believe this is the correct approach.

Essentially, all code in the project is now made available by the LLVM
project under our new license, so you will see that the license headers
include that license only. Some of our contributors have contributed
code under our old license, and accordingly, we have retained a copy of
our old license notice in the top-level files in each project and
repository.

llvm-svn: 351636
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
to reflect the new license.

We understand that people may be surprised that we're moving the header
entirely to discuss the new license. We checked this carefully with the
Foundation's lawyer and we believe this is the correct approach.

Essentially, all code in the project is now made available by the LLVM
project under our new license, so you will see that the license headers
include that license only. Some of our contributors have contributed
code under our old license, and accordingly, we have retained a copy of
our old license notice in the top-level files in each project and
repository.

llvm-svn: 351636
</pre>
</div>
</content>
</entry>
<entry>
<title>[Support][CachePruning] prune least recently accessed files first</title>
<updated>2018-08-22T00:52:16+00:00</updated>
<author>
<name>Bob Haarman</name>
<email>llvm@inglorion.net</email>
</author>
<published>2018-08-22T00:52:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=481d224b67fc6d9d1c1cf7e2164b5b4212523cb8'/>
<id>481d224b67fc6d9d1c1cf7e2164b5b4212523cb8</id>
<content type='text'>
Summary:
Before this change, pruning order was based on size. This changes it
to be based on time of last use instead, preferring to keep recently
used files and prune older ones.

Reviewers: pcc, rnk, espindola

Reviewed By: rnk

Subscribers: emaste, arichardson, hiraditya, steven_wu, dexonsmith, llvm-commits

Differential Revision: https://reviews.llvm.org/D51062

llvm-svn: 340374
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
Before this change, pruning order was based on size. This changes it
to be based on time of last use instead, preferring to keep recently
used files and prune older ones.

Reviewers: pcc, rnk, espindola

Reviewed By: rnk

Subscribers: emaste, arichardson, hiraditya, steven_wu, dexonsmith, llvm-commits

Differential Revision: https://reviews.llvm.org/D51062

llvm-svn: 340374
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename DEBUG macro to LLVM_DEBUG.</title>
<updated>2018-05-14T12:53:11+00:00</updated>
<author>
<name>Nicola Zaghen</name>
<email>nicola.zaghen@imgtec.com</email>
</author>
<published>2018-05-14T12:53:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d34e60ca8532511acb8c93ef26297e349fbec86a'/>
<id>d34e60ca8532511acb8c93ef26297e349fbec86a</id>
<content type='text'>
    
The DEBUG() macro is very generic so it might clash with other projects.
The renaming was done as follows:
- git grep -l 'DEBUG' | xargs sed -i 's/\bDEBUG\s\?(/LLVM_DEBUG(/g'
- git diff -U0 master | ../clang/tools/clang-format/clang-format-diff.py -i -p1 -style LLVM
- Manual change to APInt
- Manually chage DOCS as regex doesn't match it.

In the transition period the DEBUG() macro is still present and aliased
to the LLVM_DEBUG() one.

Differential Revision: https://reviews.llvm.org/D43624

llvm-svn: 332240
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
    
The DEBUG() macro is very generic so it might clash with other projects.
The renaming was done as follows:
- git grep -l 'DEBUG' | xargs sed -i 's/\bDEBUG\s\?(/LLVM_DEBUG(/g'
- git diff -U0 master | ../clang/tools/clang-format/clang-format-diff.py -i -p1 -style LLVM
- Manual change to APInt
- Manually chage DOCS as regex doesn't match it.

In the transition period the DEBUG() macro is still present and aliased
to the LLVM_DEBUG() one.

Differential Revision: https://reviews.llvm.org/D43624

llvm-svn: 332240
</pre>
</div>
</content>
</entry>
<entry>
<title>[ThinLTO][CachePruning] explicitly disable pruning</title>
<updated>2017-12-22T18:32:15+00:00</updated>
<author>
<name>Ben Dunbobbin</name>
<email>bd1976llvm@gmail.com</email>
</author>
<published>2017-12-22T18:32:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=bb534b15a9959cdb6dc03a64151f68f1293f7a28'/>
<id>bb534b15a9959cdb6dc03a64151f68f1293f7a28</id>
<content type='text'>
In https://reviews.llvm.org/rL321077 and https://reviews.llvm.org/D41231 I fixed a regression in the c-api which prevented the pruning from being *effectively* disabled.

However this approach, helpfully recommended by @labath, is cleaner.
It is also nice to remove the weasel words about effectively disabling from the api comments.

Differential Revision: https://reviews.llvm.org/D41497

llvm-svn: 321376
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In https://reviews.llvm.org/rL321077 and https://reviews.llvm.org/D41231 I fixed a regression in the c-api which prevented the pruning from being *effectively* disabled.

However this approach, helpfully recommended by @labath, is cleaner.
It is also nice to remove the weasel words about effectively disabling from the api comments.

Differential Revision: https://reviews.llvm.org/D41497

llvm-svn: 321376
</pre>
</div>
</content>
</entry>
</feed>
