|
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, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
| #
05535f3d |
| 06-Apr-2022 |
Shengchen Kan <[email protected]> |
[X86][tablgen] Add one entry manually into the memory folding table
``` {"MMX_MOVD64grr", "MMX_MOVD64mr"} ``` This pair has different opcodes.
|
| #
f4661b5a |
| 06-Apr-2022 |
Shengchen Kan <[email protected]> |
[X86] Fold MMX_MOVD64from64rr + store to MMX_MOVQ64mr instead of MMX_MOVD64from64mr in auto-generated table
This is a follow-up patch for D122241.
|
| #
eddd399c |
| 06-Apr-2022 |
Shengchen Kan <[email protected]> |
[X86][tablgen] Add three entries manually into the memory folding table
``` {X86::MOVLHPSrr,X86::MOVHPSrm} {X86::VMOVLHPSZrr,X86::VMOVHPSZ128rm} {X86::VMOVLHPSrr,X86::VMOVHPSrm} ```
Each of the thr
[X86][tablgen] Add three entries manually into the memory folding table
``` {X86::MOVLHPSrr,X86::MOVHPSrm} {X86::VMOVLHPSZrr,X86::VMOVHPSZ128rm} {X86::VMOVLHPSrr,X86::VMOVHPSrm} ```
Each of the three pairs has different mnemonic, so we have to add it manually. This is a follow-up patch for D122477.
show more ...
|
| #
81b10f82 |
| 06-Apr-2022 |
Shengchen Kan <[email protected]> |
[X86][tablgen] Consider the mnemonic when auto-generating memory folding table
Intuitively, the memory folding pair should have the same mnemonic.
This patch removes ``` {X86::SENDUIPI,X86::VMXON}
[X86][tablgen] Consider the mnemonic when auto-generating memory folding table
Intuitively, the memory folding pair should have the same mnemonic.
This patch removes ``` {X86::SENDUIPI,X86::VMXON} ``` in the auto-generated table. And `NotMemoryFoldable` for `TPAUSE` and `CLWB` can be saved. ``` {X86::MOVLHPSrr,X86::MOVHPSrm} {X86::VMOVLHPSZrr,X86::VMOVHPSZ128rm} {X86::VMOVLHPSrr,X86::VMOVHPSrm} ``` It seems the three pairs above are mistakenly killed. But we can add them back manually later.
Reviewed By: Amir
Differential Revision: https://reviews.llvm.org/D122477
show more ...
|
| #
4a487429 |
| 27-Mar-2022 |
Shengchen Kan <[email protected]> |
[X86][tablgen] Extract common functions in X86EVEX2VEXTablesEmitter.cpp and X86FoldTablesEmitter.cpp to avoid duplicated code. NFC
|
| #
460e1bd6 |
| 26-Mar-2022 |
Shengchen Kan <[email protected]> |
[X86][tablgen] Remove PointerLikeRegClass from isRegisterOperand b/c getRegOperandSize crashes for it. NFCI
|
| #
3e419179 |
| 26-Mar-2022 |
Shengchen Kan <[email protected]> |
[X86][tablgen] Remove useless check in X86FoldTablesEmitter.cpp. NFC
Any `X86Inst` has a name.
|
| #
a86cd3be |
| 26-Mar-2022 |
Shengchen Kan <[email protected]> |
[X86][tablgen] Rename some fields for RecognizableInstrBase to align with fields in TD file. NFC
The comment for `HasVEX_L` is updated.
|
| #
dc68ca3e |
| 26-Mar-2022 |
Shengchen Kan <[email protected]> |
[X86][tablgen] Rename field hasREX_WPrefix to hasREX_W for X86Inst. NFC
To make it more like hasVEX_L and hasEVEX_K, etc.
|
| #
271e8d24 |
| 26-Mar-2022 |
Shengchen Kan <[email protected]> |
[X86][tablgen] Refine the class RecognizableInstr. NFCI
1. Add comments to explain why we set `isAsmParserOnly` for XACQUIRE and XRELEASE 2. Check `X86Inst` in the constructor of `RecognizableInstrB
[X86][tablgen] Refine the class RecognizableInstr. NFCI
1. Add comments to explain why we set `isAsmParserOnly` for XACQUIRE and XRELEASE 2. Check `X86Inst` in the constructor of `RecognizableInstrBase` so that we can avoid the case where one of it's field is not initialized but accessed by user. (e.g. in X86EVEX2VEXTablesEmitter.cpp) 3. Move `Rec` from `RecognizableInstrBase` to `RecognizableInstr` to reduce size of `RecognizableInstrBase` 4. Remove out-of-date comments for shouldBeEmitted() (filter() was removed) 5. Add a basic field `IsAsmParserOnly` and remove the field `ShouldBeEmitted` b/c we can deduce it w/ little overhead
show more ...
|
| #
c8ea7329 |
| 26-Mar-2022 |
Shengchen Kan <[email protected]> |
[X86][tablgen] Set ShouldBeEmitted to false when isAsmParserOnly is true. NFCI
In fact, an instruction can not be emitted to disassemble table when `isAsmParserOnly` is true, so `isAsmParserOnly=tru
[X86][tablgen] Set ShouldBeEmitted to false when isAsmParserOnly is true. NFCI
In fact, an instruction can not be emitted to disassemble table when `isAsmParserOnly` is true, so `isAsmParserOnly=true` implies `ShouldBeEmitted=false`.
We check `isAsmParserOnly` in X86FoldTablesEmitter.cpp at a early stage b/c none of them is foldable.
show more ...
|
| #
bf11ed29 |
| 26-Mar-2022 |
Shengchen Kan <[email protected]> |
[X86][tablgen] Add class RecognizableInstrBase to simplify X86 code, NFCI
|
| #
6902734e |
| 22-Mar-2022 |
Shengchen Kan <[email protected]> |
[X86] Simplify attributes of the generated memory folding table (NFCI)
This reduces the gaps between tables in X86GenFoldTables.inc and X86InstrFoldTables.cpp
|
|
Revision tags: 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 |
|
| #
2dde5c97 |
| 28-Jan-2022 |
serge-sans-paille <[email protected]> |
Cleanup llvm/utils/TableGen headers
Based on the output of include-what-you-use. It's an utility directory, so no much impact on other code areas.
clang++ -E -Iinclude -I../llvm/include ../llvm/ut
Cleanup llvm/utils/TableGen headers
Based on the output of include-what-you-use. It's an utility directory, so no much impact on other code areas.
clang++ -E -Iinclude -I../llvm/include ../llvm/utils/TableGen/*.cpp -std=c++14 -fno-rtti -fno-exceptions | wc -l before: 4327274 after: 4316190
Related discourse thread: https://llvm.discourse.group/t/include-what-you-use-include-cleanup Differential Revision: https://reviews.llvm.org/D118466
show more ...
|
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1 |
|
| #
4e3eebc6 |
| 23-Oct-2021 |
Kazu Hirata <[email protected]> |
[tools, utils] Use StringRef::contains (NFC)
|
|
Revision tags: 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 |
|
| #
7dc3575e |
| 15-Jan-2021 |
Kazu Hirata <[email protected]> |
[llvm] Remove redundant return and continue statements (NFC)
Identified with readability-redundant-control-flow.
|
|
Revision tags: llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1 |
|
| #
03c267b2 |
| 19-Oct-2020 |
Craig Topper <[email protected]> |
[X86] Sort the tables before printing in X86FoldTablesEmitter.
This makes diffing with the manual tables easier. And if we ever directly use the autogenerated tables instead of the manual tables we'
[X86] Sort the tables before printing in X86FoldTablesEmitter.
This makes diffing with the manual tables easier. And if we ever directly use the autogenerated tables instead of the manual tables we'll need them to be in sorted order for the binary search.
show more ...
|
| #
8f7b6a90 |
| 18-Oct-2020 |
Craig Topper <[email protected]> |
[X86] Remove unnecessary defaulted argument from function in X86FoldTablesEmitter.cpp. NFC
Nothing ever calls it with anything other than the default value. So just delete it and the code that handl
[X86] Remove unnecessary defaulted argument from function in X86FoldTablesEmitter.cpp. NFC
Nothing ever calls it with anything other than the default value. So just delete it and the code that handled the non-default value.
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, llvmorg-10.0.0-rc3, 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 |
|
| #
cfc385d9 |
| 06-Nov-2019 |
Simon Pilgrim <[email protected]> |
X86FoldTablesEmitter - fix static analyzer potential invalid iterator warning. NFCI.
|
|
Revision tags: 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 |
|
| #
48fdb617 |
| 01-Jun-2019 |
Craig Topper <[email protected]> |
[X86] Make the X86FoldTablesEmitter functional again. Fix the spacing in the output to make it easier to diff.
Fix a few other formatting issues in the manual table. And remove some old FIXMEs.
llv
[X86] Make the X86FoldTablesEmitter functional again. Fix the spacing in the output to make it easier to diff.
Fix a few other formatting issues in the manual table. And remove some old FIXMEs.
llvm-svn: 362287
show more ...
|
|
Revision tags: llvmorg-8.0.1-rc1 |
|
| #
d94db936 |
| 18-Mar-2019 |
Craig Topper <[email protected]> |
[X86] Add ADD8ri_DB and ADD8rr_DB to the autogenerated load folding table.
These were added in r355423.
We only use the autogenerated table to assist with the maintenance of the manual table. These
[X86] Add ADD8ri_DB and ADD8rr_DB to the autogenerated load folding table.
These were added in r355423.
We only use the autogenerated table to assist with the maintenance of the manual table. These entries are alreayd in the manual table.
llvm-svn: 356357
show more ...
|
|
Revision tags: 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 <[email protected]> |
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 |
|
| #
29f22d7b |
| 16-Jun-2018 |
Craig Topper <[email protected]> |
[X86] More additions to the load folding tables based on the autogenerated tables.
Including more additions for NotMemoryFoldable to remove some entries from the autogenerated table.
llvm-svn: 3348
[X86] More additions to the load folding tables based on the autogenerated tables.
Including more additions for NotMemoryFoldable to remove some entries from the autogenerated table.
llvm-svn: 334898
show more ...
|
|
Revision tags: llvmorg-6.0.1, llvmorg-6.0.1-rc3 |
|
| #
55488731 |
| 13-Jun-2018 |
Craig Topper <[email protected]> |
[X86] Mark all instructions that have masked store semantics with NotMemoryFoldable. Remove dependency on SchedRW from memory table autogenerator.
Previously we were whitelisting in instructions bas
[X86] Mark all instructions that have masked store semantics with NotMemoryFoldable. Remove dependency on SchedRW from memory table autogenerator.
Previously we were whitelisting in instructions based on their SchedRW value. With the masked store instructions explicitly removed via NotMemoryFoldable, we don't seem to need this check anymore.
llvm-svn: 334563
show more ...
|
| #
4cdb153d |
| 12-Jun-2018 |
Craig Topper <[email protected]> |
[X86] Don't add stores to the autogenerated load folding tables if the register and memory operands have different widths.
This can cause the amount of the memory written to be changed which would b
[X86] Don't add stores to the autogenerated load folding tables if the register and memory operands have different widths.
This can cause the amount of the memory written to be changed which would be bad.
llvm-svn: 334480
show more ...
|