Revision tags: llvmorg-21-init |
|
#
aca08a85 |
| 27-Jan-2025 |
Rahul Joshi <rjoshi@nvidia.com> |
[TableGen] Add assert to validate `Objects` list for `HwModeSelect` (#123794)
- Bail out of TableGen if any asserts fail before running the backend.
- Add asserts to validate that the `Objects` an
[TableGen] Add assert to validate `Objects` list for `HwModeSelect` (#123794)
- Bail out of TableGen if any asserts fail before running the backend.
- Add asserts to validate that the `Objects` and `Modes` lists for
various `HwModeSelect` subclasses are of same length.
- Eliminate equivalent check in CodeGenHWModes.cpp
show more ...
|
Revision tags: llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2 |
|
#
d883ef10 |
| 04-Oct-2024 |
Rahul Joshi <rjoshi@nvidia.com> |
[TableGen] Factor out timer code into a new `TGTimer` class (#111054)
Factor out the timer related functionality from `RecordKeeper` to a new
`TGTimer` class in a new file.
|
Revision tags: llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4 |
|
#
34dee0a9 |
| 26-Aug-2024 |
Rahul Joshi <rjoshi@nvidia.com> |
[TableGen] Allow emitter callbacks to use `const RecordKeeper &` (#104716)
- Refactor TableGen backend options to allow specifying a callback
function that takes either a const reference or a non
[TableGen] Allow emitter callbacks to use `const RecordKeeper &` (#104716)
- Refactor TableGen backend options to allow specifying a callback
function that takes either a const reference or a non-const reference
to `RecordKeeper`. This will enable gradual migration of code to use
const references and pointers to `RecordKeeper` and `Record` in the
TableGen backends.
- Refactor handling of the callback command line options. Move variable
for the command line option from the header to the CPP file, and add a
function `ApplyCallback` to apply the selected callback.
- Change callbacks in TableGen.cpp to take const reference. They use the
`Opt` class to register their callbacks.
- Change IntrinsicEmitter to use the `OptClass` to define its callbacks.
It already uses a const reference in the implementation.
show more ...
|
Revision tags: llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init |
|
#
82f9a5ba |
| 03-Jul-2024 |
Youngsuk Kim <youngsuk.kim@hpe.com> |
[llvm] Avoid 'raw_string_ostream::str' (NFC)
Since `raw_string_ostream` doesn't own the string buffer, it is desirable (in terms of memory safety) for users to directly reference the string buffer r
[llvm] Avoid 'raw_string_ostream::str' (NFC)
Since `raw_string_ostream` doesn't own the string buffer, it is desirable (in terms of memory safety) for users to directly reference the string buffer rather than use `raw_string_ostream::str()`.
Work towards TODO comment to remove `raw_string_ostream::str()`.
show more ...
|
Revision tags: 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 |
|
#
92c2529c |
| 04-Dec-2023 |
Kazu Hirata <kazu@google.com> |
[llvm] Stop including vector (NFC)
Identified with clangd.
|
Revision tags: 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 |
|
#
4178ef43 |
| 16-Feb-2023 |
NAKAMURA Takumi <geek4civic@gmail.com> |
TableGen: Introduce `llvm::TableGen::Emitter` to register backends
`Opt(flag, func, desc)` registers an option into `Action`.
`OptClass<EmitterC>` is also available if `EmitterC(RK).run(OS)` is cap
TableGen: Introduce `llvm::TableGen::Emitter` to register backends
`Opt(flag, func, desc)` registers an option into `Action`.
`OptClass<EmitterC>` is also available if `EmitterC(RK).run(OS)` is capable.
`Action` is defined as `ManagedStatic<cl::opt>` to guarantee to be created when each registration of emitter is invoked.
`llvm::TableGenMain(argv0, MainFn)` invokes `Action` instead of `MainFn`
Differential Revision: https://reviews.llvm.org/D144351
show more ...
|
#
f675ec61 |
| 21-Mar-2023 |
NAKAMURA Takumi <geek4civic@gmail.com> |
TableGen: Make 2nd arg `MainFn` of `TableGenMain(argv0, MainFn)` optional.
|
#
afde3f54 |
| 16-Feb-2023 |
NAKAMURA Takumi <geek4civic@gmail.com> |
llvm-tblgen: Apply IWYU partially
|
Revision tags: 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, 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 |
|
#
92f49b89 |
| 28-Jan-2022 |
serge-sans-paille <sguelton@redhat.com> |
Cleanup include dependencies for LLVMTableGen
Based on the output of include-what-you-use. No other library seems affected by the new forward declaration.
$ clang++ -E -Iinclude -I../llvm/include
Cleanup include dependencies for LLVMTableGen
Based on the output of include-what-you-use. No other library seems affected by the new forward declaration.
$ clang++ -E -Iinclude -I../llvm/include ../llvm/lib/TableGen/*.cpp -std=c++14 -fno-rtti -fno-exceptions | wc -l before: 795231 after: 750654
Related Discourse thread: https://llvm.discourse.group/t/include-what-you-use-include-cleanup Differential Revision: https://reviews.llvm.org/D118374
show more ...
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1 |
|
#
d968b173 |
| 03-Nov-2021 |
Cullen Rhodes <cullen.rhodes@arm.com> |
[TableGen] Emit a warning for unused template args
Add a warning to TableGen for unused template arguments in classes and multiclasses, for example:
multiclass Foo<int x> { def bar; }
$
[TableGen] Emit a warning for unused template args
Add a warning to TableGen for unused template arguments in classes and multiclasses, for example:
multiclass Foo<int x> { def bar; }
$ llvm-tblgen foo.td
foo.td:1:20: warning: unused template argument: Foo::x multiclass Foo<int x> { ^ A flag '--no-warn-on-unused-template-args' is added to disable the warning. The warning is disabled for LLVM and sub-projects if 'LLVM_ENABLE_WARNINGS=OFF'.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D109359
show more ...
|
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 |
|
#
1bcf58b2 |
| 07-Apr-2021 |
Abhina Sreeskantharajan <Abhina.Sreeskantharajan@ibm.com> |
[SystemZ][z/OS][TableGen] TableGen files should be text
This patch sets tablegen files as text. It should have no effect on Windows after this patch landed https://reviews.llvm.org/rG82b3e28e836d2f5
[SystemZ][z/OS][TableGen] TableGen files should be text
This patch sets tablegen files as text. It should have no effect on Windows after this patch landed https://reviews.llvm.org/rG82b3e28e836d2f5c8cfd6e1047b93c088522365a.
Reviewed By: anirudhp
Differential Revision: https://reviews.llvm.org/D100036
show more ...
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4 |
|
#
bc5d4bcc |
| 26-Mar-2021 |
Abhina Sreeskantharajan <Abhina.Sreeskantharajan@ibm.com> |
[Windows] Turn off text mode in TableGen and Rewriter to stop CRLF translation
This patch should fix the errors shown on the Windows bots by turning off text mode. I plan to investigate a better fix
[Windows] Turn off text mode in TableGen and Rewriter to stop CRLF translation
This patch should fix the errors shown on the Windows bots by turning off text mode. I plan to investigate a better fix but this should unblock the buildbots for now.
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D99363
show more ...
|
#
c83cd8fe |
| 25-Mar-2021 |
Abhina Sreeskantharajan <Abhina.Sreeskantharajan@ibm.com> |
[NFC] Reordering parameters in getFile and getFileOrSTDIN
In future patches I will be setting the IsText parameter frequently so I will refactor the args to be in the following order. I have removed
[NFC] Reordering parameters in getFile and getFileOrSTDIN
In future patches I will be setting the IsText parameter frequently so I will refactor the args to be in the following order. I have removed the FileSize parameter because it is never used.
``` static ErrorOr<std::unique_ptr<MemoryBuffer>> getFile(const Twine &Filename, bool IsText = false, bool RequiresNullTerminator = true, bool IsVolatile = false);
static ErrorOr<std::unique_ptr<MemoryBuffer>> getFileOrSTDIN(const Twine &Filename, bool IsText = false, bool RequiresNullTerminator = true);
static ErrorOr<std::unique_ptr<MB>> getFileAux(const Twine &Filename, uint64_t MapSize, uint64_t Offset, bool IsText, bool RequiresNullTerminator, bool IsVolatile);
static ErrorOr<std::unique_ptr<WritableMemoryBuffer>> getFile(const Twine &Filename, bool IsVolatile = false); ```
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D99182
show more ...
|
#
a234d031 |
| 23-Mar-2021 |
Abhina Sreeskantharajan <Abhina.Sreeskantharajan@ibm.com> |
[NFC] Formatting changes
This patch addresses some formatting changes from the comments in https://reviews.llvm.org/D97785.
Reviewed By: anirudhp
Differential Revision: https://reviews.llvm.org/D9
[NFC] Formatting changes
This patch addresses some formatting changes from the comments in https://reviews.llvm.org/D97785.
Reviewed By: anirudhp
Differential Revision: https://reviews.llvm.org/D99072
show more ...
|
#
4f750f6e |
| 19-Mar-2021 |
Abhina Sreeskantharajan <Abhina.Sreeskantharajan@ibm.com> |
[SystemZ][z/OS] Distinguish between text and binary files on z/OS
This patch consists of the initial changes to help distinguish between text and binary content correctly on z/OS. I would like to ge
[SystemZ][z/OS] Distinguish between text and binary files on z/OS
This patch consists of the initial changes to help distinguish between text and binary content correctly on z/OS. I would like to get feedback from Windows users on setting OF_None for all ToolOutputFiles. This seems to have been done as an optimization to prevent CRLF translation on Windows in the past.
Reviewed By: zibi
Differential Revision: https://reviews.llvm.org/D97785
show more ...
|
Revision tags: 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 |
|
#
54f9ee33 |
| 22-Oct-2020 |
Paul C. Anagnostopoulos <paul@windfall.com> |
[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 ...
|
Revision tags: llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4 |
|
#
0c1bb4f8 |
| 22-Sep-2020 |
Paul C. Anagnostopoulos <paul@windfall.com> |
[TableGen] New backend to print detailed records. Pertinent lints are fixed.
|
Revision tags: 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 |
|
#
69dad324 |
| 25-Apr-2020 |
Alex Brachet <alexbrachetmialot@gmail.com> |
[TableGen] [NFC] Make argv0 const
`argv0` was never being modified. No changes made except to the type.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D78840
|
Revision tags: 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 |
|
#
ee9b49ee |
| 21-Nov-2019 |
River Riddle <riddleriver@gmail.com> |
Tablegen: Remove the error for duplicate include files.
This error was originally added a while(7 years) ago when including multiple files was basically always an error. Tablegen now has preprocesso
Tablegen: Remove the error for duplicate include files.
This error was originally added a while(7 years) ago when including multiple files was basically always an error. Tablegen now has preprocessor support, which allows for building nice c/c++ style include guards. With the current error being reported, we unfortunately need to double guard when including files:
* In user of MyFile.td
#ifndef MYFILE_TD include MyFile.td #endif
* In MyFile.td
#ifndef MYFILE_TD #define MYFILE_TD ... #endif
Differential Revision: https://reviews.llvm.org/D70410
show more ...
|
#
204623e0 |
| 03-Oct-2019 |
Nico Weber <nicolasweber@gmx.de> |
Reland r349624: Let TableGen write output only if it changed, instead of doing so in cmake
Move the write-if-changed logic behind a flag and don't pass it with the MSVC generator. msbuild doesn't ha
Reland r349624: Let TableGen write output only if it changed, instead of doing so in cmake
Move the write-if-changed logic behind a flag and don't pass it with the MSVC generator. msbuild doesn't have a restat optimization, so not doing write-if-change there doesn't have a cost, and it should fix whatever causes PR43385.
llvm-svn: 373664
show more ...
|
#
9eb2bd6b |
| 01-Oct-2019 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
Revert rL349624 : Let TableGen write output only if it changed, instead of doing so in cmake, attempt 2
Differential Revision: https://reviews.llvm.org/D55842 ----------------- As discussed on PR433
Revert rL349624 : Let TableGen write output only if it changed, instead of doing so in cmake, attempt 2
Differential Revision: https://reviews.llvm.org/D55842 ----------------- As discussed on PR43385 this is causing Visual Studio msbuilds to perpetually rebuild all tablegen generated files
llvm-svn: 373338
show more ...
|
Revision tags: llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5 |
|
#
e78a7a0e |
| 11-Sep-2019 |
Reid Kleckner <rnk@google.com> |
[TableGen] Skip CRLF conversion when writing output
Doing the CRLF translation while writing the file defeats our optimization to not update the file if it hasn't changed.
Fixes PR43271.
llvm-svn:
[TableGen] Skip CRLF conversion when writing output
Doing the CRLF translation while writing the file defeats our optimization to not update the file if it hasn't changed.
Fixes PR43271.
llvm-svn: 371683
show more ...
|
Revision tags: llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3, llvmorg-9.0.0-rc2 |
|
#
d9b948b6 |
| 05-Aug-2019 |
Fangrui Song <maskray@google.com> |
Rename F_{None,Text,Append} to OF_{None,Text,Append}. NFC
F_{None,Text,Append} are kept for compatibility since r334221.
llvm-svn: 367800
|
Revision tags: 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 ...
|
#
f7cf1a1a |
| 19-Dec-2018 |
Nico Weber <nicolasweber@gmx.de> |
Let TableGen write output only if it changed, instead of doing so in cmake, attempt 2
This relands r330742: """ Let TableGen write output only if it changed, instead of doing so in cmake.
Removes o
Let TableGen write output only if it changed, instead of doing so in cmake, attempt 2
This relands r330742: """ Let TableGen write output only if it changed, instead of doing so in cmake.
Removes one subprocess and one temp file from the build for each tablegen invocation.
No intended behavior change. """
In particular, if you see rebuilds after this change that you didn't see before this change, that's unintended and it's fine to revert this change again (but let me know).
r330742 got reverted because some people reported that llvm-tblgen ran on every build after it. This could happen if the depfile output got deleted without deleting the main .inc output. To fix, make TableGen always write the depfile, but keep writing the main .inc output only if it has changed. This matches what we did in cmake before.
Differential Revision: https://reviews.llvm.org/D55842
llvm-svn: 349624
show more ...
|