llvm-project/mlir/tools/mlir-tblgen
jfurtek 5c3b20520b [mlir] Update LLVMIR Fastmath flags use of MLIR BitEnum functionality
This diff updates the LLVMIR dialect Fastmath flags attribute to use recently
added features of `BitEnum` attributes. Specifically, this diff uses the bit
enum "group" case to represent the `fast` value as an alias for a combination
of other values (`ninf`, `nnan`, ...), instead of using a separate integer
value. (This is in line with LLVM's fastmath flags representation.) This diff
also leverages the `printBitEnumPrimaryGroups` `tblgen` field for concise
enum printing.

The `BitEnum` features were developed for an upcoming diff that adds `fastmath`
support to the arithmetic dialect. This diff simply applies some of the relevant
new features to the LLVM dialect attribute.

Reviewed By: ftynse, Mogball

Differential Revision: https://reviews.llvm.org/D124720
2022-05-17 18:19:14 +00:00
..
AttrOrTypeDefGen.cpp [mlir] Add extensible dialects 2022-04-26 19:48:22 -07:00
AttrOrTypeFormatGen.cpp [mlir][ods] Ignore AttributeSelfTypeParameter in assembly formats 2022-05-16 20:23:54 +00:00
AttrOrTypeFormatGen.h Adjust "end namespace" comment in MLIR to match new agree'd coding style 2021-12-08 06:05:26 +00:00
CMakeLists.txt [mlir][ods] AttrOrTypeGen uses Class 2021-12-01 16:53:23 +00:00
CodeGenHelpers.cpp [mlir:ODS] Support using attributes in AllTypesMatch to automatically add InferTypeOpInterface 2022-04-28 12:57:59 -07:00
DialectGen.cpp [mlir] Restrict dialect doc gen to a single dialect 2022-05-16 15:35:07 -07:00
DialectGenUtilities.h [mlir] Restrict dialect doc gen to a single dialect 2022-05-16 15:35:07 -07:00
DirectiveCommonGen.cpp [mlir][ods] Remove StrEnumAttr 2022-04-13 17:49:02 +00:00
DocGenUtilities.h
EnumsGen.cpp [mlir] Update LLVMIR Fastmath flags use of MLIR BitEnum functionality 2022-05-17 18:19:14 +00:00
FormatGen.cpp [mlir] Added oilist primitive 2022-02-17 11:10:24 +05:30
FormatGen.h [mlir][ods] Add support for custom directive in attr/type formats 2022-03-15 07:15:15 +00:00
LLVMIRConversionGen.cpp Fix more clang-tidy cleanups in mlir/ (NFC) 2021-12-22 20:53:11 +00:00
LLVMIRIntrinsicGen.cpp Apply clang-tidy fixes for performance-for-range-copy to MLIR (NFC) 2022-01-02 01:13:42 +00:00
OpClass.cpp [mlir][ods] ODS ops get an `extraClassDefinition` 2022-01-06 01:43:26 +00:00
OpClass.h [mlir][ods] ODS ops get an `extraClassDefinition` 2022-01-06 01:43:26 +00:00
OpDefinitionsGen.cpp [mlir] Rename Zero* traits to Zero*s 2022-05-14 00:20:28 +00:00
OpDocGen.cpp [mlir] Restrict dialect doc gen to a single dialect 2022-05-16 15:35:07 -07:00
OpFormatGen.cpp [mlir][ods] Fix verification of attribute + colon type ambiguity 2022-05-16 21:15:27 +00:00
OpFormatGen.h Adjust "end namespace" comment in MLIR to match new agree'd coding style 2021-12-08 06:05:26 +00:00
OpGenHelpers.cpp [mlir] Hoist out getRequestedOpDefinitions helper 2021-04-06 12:53:28 -07:00
OpGenHelpers.h Adjust "end namespace" comment in MLIR to match new agree'd coding style 2021-12-08 06:05:26 +00:00
OpInterfacesGen.cpp [mlir] Support verification order (2/3) 2022-02-25 19:04:56 +00:00
OpPythonBindingGen.cpp Apply clang-tidy fixes for performance-for-range-copy to MLIR (NFC) 2022-01-02 01:13:42 +00:00
PassCAPIGen.cpp Add basic Python bindings for the PassManager and bind libTransforms 2020-11-10 19:55:21 +00:00
PassDocGen.cpp
PassGen.cpp [mlir] Rework the implementation of TypeID 2022-04-04 13:52:26 -07:00
RewriterGen.cpp [mlir][ods] Remove StrEnumAttr 2022-04-13 17:49:02 +00:00
SPIRVUtilsGen.cpp [NFCI] Fix set-but-unused warning in SPIRVUtilsGen.cpp 2022-03-24 08:53:42 +01:00
StructsGen.cpp [mlir][NFC] Replace references to Identifier with StringAttr 2021-11-16 17:36:26 +00:00
mlir-tblgen.cpp [mlir][ods] Add Deprecate helper 2022-03-22 11:08:36 -07:00