6 Commits

Author SHA1 Message Date
serge-sans-paille
28d9f99a27
Remove unused standard headers: <string>, <optional>, <numeric>, <tuple> (#167232) 2025-11-10 12:17:12 +00:00
Kazu Hirata
02976f5ffa
[TableGen] Use "using" instead of "typedef" (NFC) (#167168)
Identified with modernize-use-using.
2025-11-08 13:09:03 -08:00
Sergei Barannikov
7f4c297e94
[TableGen][CodeGen] Remove feature string from HwMode (#157600)
`Predicates` and `Features` fields serve the same purpose. They should
be kept in sync, but not all predicates are based on features. This
resulted in introducing dummy features for that only reason.

This patch removes `Features` field and changes TableGen emitters to use
`Predicates` instead.

Historically, predicates were written with the assumption that the
checking code will be used in `SelectionDAGISel` subclasses, meaning
they will have access to the subclass variables, such as `Subtarget`.
There are no such variables in the generated
`GenSubtargetInfo::getHwModeSet()`, so we need to provide them. This can
be achieved by subclassing `HwModePredicateProlog`, see an example in
`Hexagon.td`.
2025-09-10 12:39:47 +03:00
Rahul Joshi
985600dcd3
[TableGen] Migrate CodeGenHWModes to use const RecordKeeper (#107851)
Migrate CodeGenHWModes to use const RecordKeeper and const Record
pointers.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
2024-09-09 13:09:53 -07:00
Rahul Joshi
8a61bfcf8f
[NFC] Fix TableGen include guards to match paths (#102746)
- Fix include guards for headers under utils/TableGen to match their
paths.
2024-08-10 17:35:03 +03:00
Pierre van Houtryve
fa3d789df1
[RFC][TableGen] Restructure TableGen Source (#80847)
Refactor of the llvm-tblgen source into:
- a "Basic" library, which contains the bare minimum utilities to build
`llvm-min-tablegen`
- a "Common" library which contains all of the helpers for TableGen
backends. Such helpers can be shared by more than one backend, and even
unit tested (e.g. CodeExpander is, maybe we can add more over time)

Fixes #80647
2024-03-25 09:40:35 +01:00