|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, 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, 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, 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, llvmorg-14.0.6 |
|
| #
62b3d8d1 |
| 11-Jun-2022 |
Fangrui Song <[email protected]> |
[TableGen] const char *const x => const char x[]
|
|
Revision tags: llvmorg-14.0.5, llvmorg-14.0.4 |
|
| #
6e00a34c |
| 19-May-2022 |
Bill Wendling <[email protected]> |
[AArch64] Add support for -fzero-call-used-regs
Support the "-fzero-call-used-regs" option on AArch64. This involves much less specialized code than the X86 version. Most of the checks can be done w
[AArch64] Add support for -fzero-call-used-regs
Support the "-fzero-call-used-regs" option on AArch64. This involves much less specialized code than the X86 version. Most of the checks can be done with TableGen.
Reviewed By: nickdesaulniers, MaskRay
Differential Revision: https://reviews.llvm.org/D124836
show more ...
|
|
Revision tags: llvmorg-14.0.3 |
|
| #
fb571719 |
| 26-Apr-2022 |
Jay Foad <[email protected]> |
[TableGen] Dump RC.AllocationPriority with -register-info-debug
|
|
Revision tags: llvmorg-14.0.2, llvmorg-14.0.1 |
|
| #
46776f75 |
| 05-Apr-2022 |
Martin Storsjö <[email protected]> |
Fix warnings about variables that are set but only used in debug mode
Add void casts to mark the variables used, next to the places where they are used in assert or `LLVM_DEBUG()` expressions.
Diff
Fix warnings about variables that are set but only used in debug mode
Add void casts to mark the variables used, next to the places where they are used in assert or `LLVM_DEBUG()` expressions.
Differential Revision: https://reviews.llvm.org/D123117
show more ...
|
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2 |
|
| #
dc7a624e |
| 24-Feb-2022 |
Benjamin Kramer <[email protected]> |
[tblgen] Compress CompositeSequences to 1/8th of its size. NFCI.
|
| #
b59ad64e |
| 11-Feb-2022 |
Jay Foad <[email protected]> |
[TableGen][AMDGPU] Allow empty register classes
Remove ARTIFICIAL_VGPR which only existed to make VReg_1 not empty.
Differential Revision: https://reviews.llvm.org/D119552
|
| #
9fe8a74c |
| 11-Feb-2022 |
Jay Foad <[email protected]> |
[TableGen] Dump RC.Allocatable with -register-info-debug
|
|
Revision tags: llvmorg-14.0.0-rc1 |
|
| #
deaf22bc |
| 09-Feb-2022 |
Bill Wendling <[email protected]> |
[X86] Implement -fzero-call-used-regs option
The "-fzero-call-used-regs" option tells the compiler to zero out certain registers before the function returns. It's also available as a function attrib
[X86] Implement -fzero-call-used-regs option
The "-fzero-call-used-regs" option tells the compiler to zero out certain registers before the function returns. It's also available as a function attribute: zero_call_used_regs.
The two upper categories are:
- "used": Zero out used registers. - "all": Zero out all registers, whether used or not.
The individual options are:
- "skip": Don't zero out any registers. This is the default. - "used": Zero out all used registers. - "used-arg": Zero out used registers that are used for arguments. - "used-gpr": Zero out used registers that are GPRs. - "used-gpr-arg": Zero out used GPRs that are used as arguments. - "all": Zero out all registers. - "all-arg": Zero out all registers used for arguments. - "all-gpr": Zero out all GPRs. - "all-gpr-arg": Zero out all GPRs used for arguments.
This is used to help mitigate Return-Oriented Programming exploits.
Reviewed By: nickdesaulniers
Differential Revision: https://reviews.llvm.org/D110869
show more ...
|
|
Revision tags: llvmorg-15-init |
|
| #
f15014ff |
| 26-Jan-2022 |
Benjamin Kramer <[email protected]> |
Revert "Rename llvm::array_lengthof into llvm::size to match std::size from C++17"
This reverts commit ef8206320769ad31422a803a0d6de6077fd231d2.
- It conflicts with the existing llvm::size in STLEx
Revert "Rename llvm::array_lengthof into llvm::size to match std::size from C++17"
This reverts commit ef8206320769ad31422a803a0d6de6077fd231d2.
- It conflicts with the existing llvm::size in STLExtras, which will now never be called. - Calling it without llvm:: breaks C++17 compat
show more ...
|
| #
ef820632 |
| 26-Jan-2022 |
serge-sans-paille <[email protected]> |
Rename llvm::array_lengthof into llvm::size to match std::size from C++17
As a conquence move llvm::array_lengthof from STLExtras.h to STLForwardCompat.h (which is included by STLExtras.h so no buil
Rename llvm::array_lengthof into llvm::size to match std::size from C++17
As a conquence move llvm::array_lengthof from STLExtras.h to STLForwardCompat.h (which is included by STLExtras.h so no build breakage expected).
show more ...
|
|
Revision tags: 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 |
|
| #
6a75041a |
| 26-Aug-2021 |
Christudasan Devadasan <[email protected]> |
[TableGen] Allow target specific flags for RegisterClass
Analogous to the TSFlags for machine instructions, this patch introduces a bit vector for register classes to have target specific flags that
[TableGen] Allow target specific flags for RegisterClass
Analogous to the TSFlags for machine instructions, this patch introduces a bit vector for register classes to have target specific flags that become a tablegened value in TargetRegisterClass.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D108767
show more ...
|
|
Revision tags: 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 |
|
| #
e6cf3d64 |
| 06-May-2021 |
Coelacanthus <[email protected]> |
[TableGen] Use range-based for loops (NFC)
Use range-based for loops in TableGen.
Reviewed By: Paul-C-Anagnostopoulos
Differential Revision: https://reviews.llvm.org/D101994
|
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3 |
|
| #
53196387 |
| 03-Mar-2021 |
Rafael Auler <[email protected]> |
Add register size info back to MCRegisterClass
This patch addresses the removal of register size information done in commit c8b782c.
Without this change, there is no viable option to get register s
Add register size info back to MCRegisterClass
This patch addresses the removal of register size information done in commit c8b782c.
Without this change, there is no viable option to get register size information outside libTarget. We need this information to run analysis that know the register size from the MC layer, used by BOLT.
Discussion D50285 and D47199.
Reviewed By: kparzysz
Differential Revision: https://reviews.llvm.org/D97891
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc2 |
|
| #
64557e09 |
| 13-Feb-2021 |
Kazu Hirata <[email protected]> |
[TableGen] Use ListSeparator (NFC)
|
|
Revision tags: 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 |
|
| #
892e4567 |
| 23-Dec-2020 |
Christudasan Devadasan <[email protected]> |
Support a list of CostPerUse values
This patch allows targets to define multiple cost values for each register so that the cost model can be more flexible and better used during the register allocat
Support a list of CostPerUse values
This patch allows targets to define multiple cost values for each register so that the cost model can be more flexible and better used during the register allocation as per the target requirements.
For AMDGPU the VGPR allocation will be more efficient if the register cost can be associated dynamically based on the calling convention.
Reviewed By: qcolombet
Differential Revision: https://reviews.llvm.org/D86836
show more ...
|
| #
125ea20d |
| 14-Jan-2021 |
Kazu Hirata <[email protected]> |
[llvm] Use llvm::stable_sort (NFC)
|
| #
cd088ba7 |
| 06-Jan-2021 |
Kazu Hirata <[email protected]> |
[llvm] Use llvm::lower_bound and llvm::upper_bound (NFC)
|
| #
f7f42e64 |
| 02-Jan-2021 |
Kazu Hirata <[email protected]> |
[TableGen] Use llvm::append_range (NFC)
|
|
Revision tags: llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1 |
|
| #
54f9ee33 |
| 22-Oct-2020 |
Paul C. Anagnostopoulos <[email protected]> |
[TableGen] Add frontend/backend phase timing capability.
Describe in the BackEnd Developer's Guide. Instrument a few backends.
Remove an old unused timing facility. Add a null backend for timing th
[TableGen] Add frontend/backend phase timing capability.
Describe in the BackEnd Developer's Guide. Instrument a few backends.
Remove an old unused timing facility. Add a null backend for timing the parser.
Differential Revision: https://reviews.llvm.org/D91388
show more ...
|
| #
d0b8810f |
| 06-Nov-2020 |
Jay Foad <[email protected]> |
[TableGen] Indentation and whitespace fixes in generated code. NFC.
Some of these were found by running clang-format over the generated code, although that complains about far more issues than I hav
[TableGen] Indentation and whitespace fixes in generated code. NFC.
Some of these were found by running clang-format over the generated code, although that complains about far more issues than I have fixed here.
Differential Revision: https://reviews.llvm.org/D90937
show more ...
|
|
Revision tags: llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4 |
|
| #
20e9c36c |
| 26-Sep-2020 |
Fangrui Song <[email protected]> |
Internalize functions from various tools. NFC
And internalize some classes if I noticed them:)
|
|
Revision tags: llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2 |
|
| #
1675f8a2 |
| 10-Aug-2020 |
Craig Topper <[email protected]> |
[TableGen] Pull the increment of a variable out of an assert.
The variable is only used by the assert so the code was fine before, but it was flagged in PR47072.
|
|
Revision tags: 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, llvmorg-10.0.0-rc3 |
|
| #
b2a958a0 |
| 14-Feb-2020 |
Stanislav Mekhanoshin <[email protected]> |
[TBLGEN] Emit register pressure set enum
Differential Revision: https://reviews.llvm.org/D74649
|
|
Revision tags: llvmorg-10.0.0-rc2 |
|
| #
922197d6 |
| 12-Feb-2020 |
Stanislav Mekhanoshin <[email protected]> |
[TBLGEN] Allow to override RC weight
Differential Revision: https://reviews.llvm.org/D74509
|
| #
f8d044bb |
| 10-Feb-2020 |
Stanislav Mekhanoshin <[email protected]> |
[TBLGEN] Fix subreg value overflow in DAGISelMatcher
Tablegen's DAGISelMatcher emits integers in a VBR format, so if an integer is below 128 it can fit into a single byte, otherwise high bit is set,
[TBLGEN] Fix subreg value overflow in DAGISelMatcher
Tablegen's DAGISelMatcher emits integers in a VBR format, so if an integer is below 128 it can fit into a single byte, otherwise high bit is set, next byte is used etc. MatcherTable is essentially an unsigned char table. When SelectionDAGISel parses the table it does a reverse translation.
In a situation when numeric value of an integer to emit is unknown it can be emitted not as OPC_EmitInteger but as OPC_EmitStringInteger using a symbolic name of the value. In this situation the value should not exceed 127.
One of the situations when OPC_EmitStringInteger is used is if we need to emit a subreg into a matcher table. However, number of subregs can exceed 127. Currently last defined subreg for AMDGPU is 192. That results in a silent bug in the ISel with matcher reading from an invalid offset.
Fixed this bug to emit actual VBR encoded value for a subregs which value exceeds 127.
Differential Revision: https://reviews.llvm.org/D74368
show more ...
|