Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6 |
|
#
7954a051 |
| 04-Dec-2024 |
Florian Hahn <flo@fhahn.com> |
[Clang] Enable -fpointer-tbaa by default. (#117244)
Support for more precise TBAA metadata has been added a while ago
(behind the -fpointer-tbaa flag). The more precise TBAA metadata allows
treati
[Clang] Enable -fpointer-tbaa by default. (#117244)
Support for more precise TBAA metadata has been added a while ago
(behind the -fpointer-tbaa flag). The more precise TBAA metadata allows
treating accesses of different pointer types as no-alias.
This helps to remove more redundant loads and stores in a number of
workloads.
Some highlights on the impact across llvm-test-suite's MultiSource,
SPEC2006 & SPEC2017 include:
* +2% more NoAlias results for memory accesses
* +3% more stores removed by DSE,
* +4% more loops vectorized.
This closes a relatively big gap to GCC, which has been supporting
disambiguating based on pointer types for a long time.
(https://clang.godbolt.org/z/K7Wbhrz4q)
Pointer-TBAA support for pointers to builtin types has been added in
https://github.com/llvm/llvm-project/pull/76612.
Support for user-defined types has been added in
https://github.com/llvm/llvm-project/pull/110569.
There are 2 recent PRs with bug fixes for special cases uncovered during
testing:
* https://github.com/llvm/llvm-project/pull/116991
* https://github.com/llvm/llvm-project/pull/116596
PR: https://github.com/llvm/llvm-project/pull/117244
show more ...
|
Revision tags: llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2 |
|
#
fd05c34b |
| 31-Jul-2023 |
Bjorn Pettersson <bjorn.a.pettersson@ericsson.com> |
Stop using legacy helpers indicating typed pointer types. NFC
Since we no longer support typed LLVM IR pointer types, the code can be simplified into for example using PointerType::get directly inst
Stop using legacy helpers indicating typed pointer types. NFC
Since we no longer support typed LLVM IR pointer types, the code can be simplified into for example using PointerType::get directly instead of using Type::getInt8PtrTy and Type::getInt32PtrTy etc.
Differential Revision: https://reviews.llvm.org/D156733
show more ...
|
Revision tags: llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
#
5b3247bf |
| 06-Jul-2022 |
Bruno De Fraine <brunodf@synopsys.com> |
[tbaa] Handle base classes in struct tbaa
This is a fix for the miscompilation reported in https://github.com/llvm/llvm-project/issues/55384
Not adding a new test case since existing test cases alr
[tbaa] Handle base classes in struct tbaa
This is a fix for the miscompilation reported in https://github.com/llvm/llvm-project/issues/55384
Not adding a new test case since existing test cases already cover base classes (including new-struct-path tbaa).
Reviewed By: jeroen.dobbelaere
Differential Revision: https://reviews.llvm.org/D126956
show more ...
|
#
8999b745 |
| 23-Jun-2022 |
Jeroen Dobbelaere <jeroen.dobbelaere@synopsys.com> |
Revert "[tbaa] Handle base classes in struct tbaa"
This reverts commit cdc59e2202c11a6a5dfd2ec83531523c58eaae45.
The Verifier finds a problem in a stage2 build. Reverting so Bruno can investigate.
|
#
cdc59e22 |
| 23-Jun-2022 |
Bruno De Fraine <brunodf@synopsys.com> |
[tbaa] Handle base classes in struct tbaa
This is a fix for the miscompilation reported in https://github.com/llvm/llvm-project/issues/55384
Not adding a new test case since existing test cases alr
[tbaa] Handle base classes in struct tbaa
This is a fix for the miscompilation reported in https://github.com/llvm/llvm-project/issues/55384
Not adding a new test case since existing test cases already cover base classes (including new-struct-path tbaa).
Reviewed By: jeroen.dobbelaere
Differential Revision: https://reviews.llvm.org/D126956
show more ...
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1 |
|
#
54e655b3 |
| 16-Nov-2020 |
Vassil Vassilev <v.g.vassilev@gmail.com> |
Reland "Move the test compiler setup in a common place. NFCI"
Original commit message: " Move the test compiler setup in a common place. NFCI
This patch reduces the copy paste in the unittest/CodeG
Reland "Move the test compiler setup in a common place. NFCI"
Original commit message: " Move the test compiler setup in a common place. NFCI
This patch reduces the copy paste in the unittest/CodeGen folder by moving the common compiler setup phase in a header file.
Differential revision: https://reviews.llvm.org/D91061 "
This patch includes a fix for the memory leaks pointed out by @vitalybuka
show more ...
|
#
6c185acf |
| 16-Nov-2020 |
Vitaly Buka <vitalybuka@google.com> |
Revert "Move the test compiler setup in a common place. NFCI"
There is memory leaks
This reverts commit 23cc838099e10b13a32e54105f4db0f1b7e3a842. This reverts commit 888d06dfb8b55c4fd41fa4febe22c6f
Revert "Move the test compiler setup in a common place. NFCI"
There is memory leaks
This reverts commit 23cc838099e10b13a32e54105f4db0f1b7e3a842. This reverts commit 888d06dfb8b55c4fd41fa4febe22c6fc4111c118.
show more ...
|
#
888d06df |
| 14-Nov-2020 |
Vassil Vassilev <v.g.vassilev@gmail.com> |
Move the test compiler setup in a common place. NFCI
This patch reduces the copy paste in the unittest/CodeGen folder by moving the common compiler setup phase in a header file.
Differential revisi
Move the test compiler setup in a common place. NFCI
This patch reduces the copy paste in the unittest/CodeGen folder by moving the common compiler setup phase in a header file.
Differential revision: https://reviews.llvm.org/D91061
show more ...
|
Revision tags: llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4 |
|
#
213aea4c |
| 11-Mar-2020 |
Reid Kleckner <rnk@google.com> |
Remove unused Endian.h includes, NFC
Mainly avoids including Host.h everywhere:
$ diff -u <(sort thedeps-before.txt) <(sort thedeps-after.txt) \ | grep '^[-+] ' | sort | uniq -c | sort -nr 3
Remove unused Endian.h includes, NFC
Mainly avoids including Host.h everywhere:
$ diff -u <(sort thedeps-before.txt) <(sort thedeps-after.txt) \ | grep '^[-+] ' | sort | uniq -c | sort -nr 3141 - /usr/local/google/home/rnk/llvm-project/llvm/include/llvm/Support/Host.h
show more ...
|
Revision tags: llvmorg-10.0.0-rc3 |
|
#
4c2a6567 |
| 27-Feb-2020 |
Reid Kleckner <rnk@google.com> |
Avoid ASTContext.h -> TargetInfo.h dep
This has been done before in 2008: ab13857072 But these things regress easily. Move some things out of line.
Saves 316 includes + transitive stuff: 316 -
Avoid ASTContext.h -> TargetInfo.h dep
This has been done before in 2008: ab13857072 But these things regress easily. Move some things out of line.
Saves 316 includes + transitive stuff: 316 - ../clang/include/clang/Basic/TargetOptions.h 316 - ../clang/include/clang/Basic/TargetInfo.h 316 - ../clang/include/clang/Basic/TargetCXXABI.h 316 - ../clang/include/clang/Basic/OpenCLOptions.h 316 - ../clang/include/clang/Basic/OpenCLExtensions.def 302 - ../llvm/include/llvm/Target/TargetOptions.h 302 - ../llvm/include/llvm/Support/CodeGen.h 302 - ../llvm/include/llvm/MC/MCTargetOptions.h 302 - ../llvm/include/llvm/ADT/FloatingPointMode.h 302 - ../clang/include/clang/Basic/XRayInstr.h 302 - ../clang/include/clang/Basic/DebugInfoOptions.h 302 - ../clang/include/clang/Basic/CodeGenOptions.h 302 - ../clang/include/clang/Basic/CodeGenOptions.def 257 - ../llvm/include/llvm/Support/Regex.h 79 - ../llvm/include/llvm/ADT/SmallSet.h 68 - MSVCSTL/include/set 66 - ../llvm/include/llvm/ADT/SmallPtrSet.h 62 - ../llvm/include/llvm/ADT/StringSwitch.h
show more ...
|
#
0f6959f3 |
| 27-Feb-2020 |
Reid Kleckner <rnk@google.com> |
Add some missing header dependencies
Unit tests are not part of `all` O_O, and I tested on Windows with -fdelayed-template-parsing.
|
Revision tags: llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1, llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1, llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3, llvmorg-9.0.0-rc2, llvmorg-9.0.0-rc1, llvmorg-10-init, llvmorg-8.0.1, llvmorg-8.0.1-rc4, llvmorg-8.0.1-rc3, llvmorg-8.0.1-rc2, llvmorg-8.0.1-rc1, llvmorg-8.0.0, llvmorg-8.0.0-rc5, llvmorg-8.0.0-rc4, llvmorg-8.0.0-rc3, llvmorg-7.1.0, llvmorg-7.1.0-rc1, llvmorg-8.0.0-rc2, llvmorg-8.0.0-rc1 |
|
#
2946cd70 |
| 19-Jan-2019 |
Chandler Carruth <chandlerc@gmail.com> |
Update the file headers across all of the LLVM projects in the monorepo to reflect the new license.
We understand that people may be surprised that we're moving the header entirely to discuss the ne
Update the file headers across all of the LLVM projects in the monorepo 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
show more ...
|
Revision tags: llvmorg-7.0.1, llvmorg-7.0.1-rc3, llvmorg-7.0.1-rc2, llvmorg-7.0.1-rc1, llvmorg-7.0.0, llvmorg-7.0.0-rc3, llvmorg-7.0.0-rc2, llvmorg-7.0.0-rc1, llvmorg-6.0.1, llvmorg-6.0.1-rc3, llvmorg-6.0.1-rc2, llvmorg-6.0.1-rc1, llvmorg-5.0.2, llvmorg-5.0.2-rc2, llvmorg-5.0.2-rc1, llvmorg-6.0.0, llvmorg-6.0.0-rc3, llvmorg-6.0.0-rc2, llvmorg-6.0.0-rc1 |
|
#
ccdac23a |
| 22-Dec-2017 |
Serge Pavlov <sepavloff@gmail.com> |
Unit tests for TBAA metadata generation.
Now tests for metadata created by clang involve compiling code snippets placed into c/c++ source files and matching interesting patterns in the obtained text
Unit tests for TBAA metadata generation.
Now tests for metadata created by clang involve compiling code snippets placed into c/c++ source files and matching interesting patterns in the obtained textual representation of IR. Writting such tests is a painful process as metadata often form complex tree-like structures but textual representation of IR contains only a pile of metadata at the module end.
This change implements IR matchers that may be used to match required patterns in the binary IR representation. In this case the metadata structure is not broken and creation of match patterns is easier.
The change adds unit tests for TBAA metadata generation.
Differential Revision: https://reviews.llvm.org/D41433
llvm-svn: 321360
show more ...
|