[llvm] [NFC][TableGen][DecoderEmitter] Use structured binding in range for loop (PR #144890)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 19 07:47:36 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-tablegen
Author: Rahul Joshi (jurahul)
<details>
<summary>Changes</summary>
Also assign variable names to different elements of `OpMap` for better readibility, and eliminate `NumberedEncodingsRef` as `std::vector` will automatically get converted to an `ArrayRef`.
---
Full diff: https://github.com/llvm/llvm-project/pull/144890.diff
1 Files Affected:
- (modified) llvm/utils/TableGen/DecoderEmitter.cpp (+6-6)
``````````diff
diff --git a/llvm/utils/TableGen/DecoderEmitter.cpp b/llvm/utils/TableGen/DecoderEmitter.cpp
index 37814113b467a..2e8ff2aa47d96 100644
--- a/llvm/utils/TableGen/DecoderEmitter.cpp
+++ b/llvm/utils/TableGen/DecoderEmitter.cpp
@@ -2631,12 +2631,12 @@ namespace {
DecoderTableInfo TableInfo;
unsigned OpcodeMask = 0;
- for (const auto &Opc : OpcMap) {
+ for (const auto &[NSAndByteSize, EncodingIDs] : OpcMap) {
+ const std::string &DecoderNamespace = NSAndByteSize.first;
+ const unsigned BitWidth = 8 * NSAndByteSize.second;
// Emit the decoder for this namespace+width combination.
- ArrayRef<EncodingAndInst> NumberedEncodingsRef(NumberedEncodings.data(),
- NumberedEncodings.size());
- FilterChooser FC(NumberedEncodingsRef, Opc.second, Operands,
- IsVarLenInst ? MaxInstLen : 8 * Opc.first.second, this);
+ FilterChooser FC(NumberedEncodings, EncodingIDs, Operands,
+ IsVarLenInst ? MaxInstLen : BitWidth, this);
// The decode table is cleared for each top level decoder function. The
// predicates and decoders themselves, however, are shared across all
@@ -2657,7 +2657,7 @@ namespace {
// Print the table to the output stream.
OpcodeMask |= emitTable(OS, TableInfo.Table, indent(0), FC.getBitWidth(),
- Opc.first.first, Opc.second);
+ DecoderNamespace, EncodingIDs);
}
// For variable instruction, we emit a instruction length table
``````````
</details>
https://github.com/llvm/llvm-project/pull/144890
More information about the llvm-commits
mailing list