| TBLGEN(1) | LLVM | TBLGEN(1) |
نام (NAME)
tblgen - تبدیل توصیف هدف به کد ++C
خلاصه دستور (SYNOPSIS)
clang-tblgen [options] [filename]
lldb-tblgen [options] [filename]
llvm-tblgen [options] [filename]
mlir-tblgen [options] [filename]
توضیحات (DESCRIPTION)
برنامه *-tblgen خانوادهای از ابزارها است که فایلهای توصیف هدف (.td) را به کد ++C و دیگر قالبهای خروجی ترجمه میکند. بیشتر کاربران LLVM نیازی به استفاده از این برنامه نخواهند داشت. این برنامه تنها برای نوشتن بخشهایی از کامپایلر، اشکالزدا و backendهای هدف LLVM به کار میرود.
جزئیات ورودی و خروجی برنامههای *-tblgen فراتر از محدوده این مقدمه کوتاه است؛ لطفاً برای آشنایی و دسترسی به اسناد تکمیلی TableGen به TableGen Overview <> مراجعه کنید.
آرگومان filename نام فایل توصیف هدف (.td) که TableGen پردازش میکند را مشخص مینماید.
گزینهها (OPTIONS)
گزینههای عمومی (General Options)
- -help
- توضیحاتی درباره گزینههای خط فرمان چاپ میکند.
- -help-list
- توضیحات مربوط به گزینههای خط فرمان را در قالب یک فهرست ساده چاپ میکند.
- -D=macroname
- نام ماکرویی را برای تعریف شدن مشخص میکند. این نام تعریف میشود، اما مقدار خاصی ندارد.
- -d=filename
- نام فایل وابستگیها را تعیین میکند.
- -debug
- خروجی اشکالزدایی (debug) را فعال میکند.
- -dump-json
- نمایشی با ساختار JSON از تمام رکوردها چاپ میکند که برای پردازشهای خودکار بعدی مناسب است.
- -I directory
- محل جستجو برای یافتن سایر فایلهای توصیف هدف جهت ضمیمهسازی (inclusion) را تعیین میکند. مقدار directory باید یک مسیر کامل یا نسبی به دایرکتوری حاوی فایلهای توصیف هدف باشد.
- -null-backend
- فایلهای مبدأ را تجزیه کرده و رکوردها را ایجاد میکند، اما هیچ backendی را اجرا نمیکند. این گزینه برای زمانسنجی frontend کاربرد دارد.
- -o filename
- نام فایل خروجی را مشخص میکند. اگر filename برابر با - باشد، *-tblgen خروجی خود را به خروجی استاندارد ارسال میکند.
- -print-records
- تمام کلاسها و رکوردها را در خروجی استاندارد چاپ میکند (گزینه پیشفرض backend).
- -print-detailed-records
- گزارشی با جزئیات کامل از تمامی متغیرهای سراسری، کلاسها و رکوردها در خروجی استاندارد چاپ میکند.
- -stats
- گزارشی حاوی تمامی آمارهای جمعآوریشده توسط backend چاپ میکند.
- -time-phases
- مدت زمان مراحل تجزیهکننده (parser) و backend را اندازهگیری کرده و گزارشی را چاپ میکند.
- -version
- شماره نسخه برنامه را نمایش میدهد.
- -write-if-changed
- فایل خروجی را تنها در صورتی مینویسد که جدید باشد یا تغییر کرده باشد.
- -gen-clang-attr-classes
- تولید کلاسهای صفت (attribute) برای Clang.
- -gen-clang-attr-parser-string-switches
- تولید تمام switchهای رشتهای صفتِ مرتبط با تجزیهکننده (parser).
- -gen-clang-attr-subject-match-rules-parser-string-switches
- تولید تمام switchهای رشتهای قواعد تطابق موضوع صفتِ مرتبط با تجزیهکننده.
- -gen-clang-attr-impl
- تولید پیادهسازیهای صفت برای Clang.
- -gen-clang-attr-list"
- تولید فهرستی از صفتهای Clang.
- -gen-clang-attr-subject-match-rule-list
- تولید فهرستی از قواعد تطابق موضوع صفت برای Clang.
- -gen-clang-attr-pch-read
- تولید خواننده صفت PCH برای Clang.
- -gen-clang-attr-pch-write
- تولید نویسنده صفت PCH برای Clang.
- -gen-clang-attr-has-attribute-impl
- تولید فهرستی از نگارشهای (spelling) صفتهای Clang.
- -gen-clang-attr-spelling-index
- تولید نمایه نگارشهای صفت برای Clang.
- -gen-clang-attr-ast-visitor
- تولید یک پیمایشگر (visitor) بازگشتی AST برای صفتهای Clang.
- -gen-clang-attr-template-instantiate
- تولید کد نمونهسازی الگوی (template instantiate) Clang.
- -gen-clang-attr-parsed-attr-list
- تولید فهرستی از صفتهای تجزیهشده Clang.
- -gen-clang-attr-parsed-attr-impl
- تولید توابع کمکی صفتهای تجزیهشده Clang.
- -gen-clang-attr-parsed-attr-kinds
- تولید انواع صفتهای تجزیهشده Clang.
- -gen-clang-attr-text-node-dump
- تولید تخلیهگر (dumper) گره متنی صفت برای Clang.
- -gen-clang-attr-node-traverse
- تولید پیمایشگر (traverser) گره صفت برای Clang.
- -gen-clang-diags-defs
- تولید تعاریف عیبیابی (diagnostics) برای Clang.
- -clang-component component
- تنها استفاده از هشدارهای مؤلفه (component) مشخصشده.
- -gen-clang-diag-groups
- تولید گروههای عیبیابی برای Clang.
- -gen-clang-diags-index-name
- تولید نمایه نامهای عیبیابی Clang.
- -gen-clang-basic-reader
- تولید کلاسهای BasicReader برای Clang.
- -gen-clang-basic-writer
- تولید کلاسهای BasicWriter برای Clang.
- -gen-clang-comment-nodes
- تولید گرههای توضیحات (comment) در AST برای Clang.
- -gen-clang-decl-nodes
- تولید گرههای اعلان (declaration) در AST برای Clang.
- -gen-clang-stmt-nodes
- تولید گرههای دستور (statement) در AST برای Clang.
- -gen-clang-type-nodes
- تولید گرههای نوع (type) در AST برای Clang.
- -gen-clang-type-reader
- تولید کلاس AbstractTypeReader برای Clang.
- -gen-clang-type-writer
- تولید کلاس AbstractTypeWriter برای Clang.
- -gen-clang-opcodes
- تولید کدهای عملیاتی (opcodes) مفسر constexpr برای Clang.
- -gen-clang-sa-checkers
- تولید وارسیکنندههای تحلیلگر ایستا (static analyzer) برای Clang.
- -gen-clang-comment-html-tags
- تولید تطبیقدهندههای کارآمد برای نام برچسبهای HTML استفادهشده در توضیحات مستندسازی.
- -gen-clang-comment-html-tags-properties
- تولید تطبیقدهندههای کارآمد برای ویژگیهای برچسبهای HTML.
- -gen-clang-comment-html-named-character-references
- تولید تابع برای تبدیل ارجاعات نویسهای نامگذاریشده به توالیهای UTF-8.
- -gen-clang-comment-command-info
- تولید مشخصات دستور برای دستورات استفادهشده در توضیحات مستندسازی.
- -gen-clang-comment-command-list
- تولید فهرستی از دستورات استفادهشده در توضیحات مستندسازی.
- -gen-arm-neon
- تولید arm_neon.h برای Clang.
- -gen-arm-fp16
- تولید arm_fp16.h برای Clang.
- -gen-arm-bf16
- تولید arm_bf16.h برای Clang.
- -gen-arm-neon-sema
- تولید پشتیبانی معنایی (sema) برای ARM NEON در Clang.
- -gen-arm-neon-test
- تولید آزمونهای ARM NEON برای Clang.
- -gen-arm-immcheck-types
- تولید arm_immcheck_types.inc برای Clang.
- -gen-arm-sve-header
- تولید arm_sve.h برای Clang.
- -gen-arm-sve-builtins
- تولید arm_sve_builtins.inc برای Clang.
- -gen-arm-sve-builtin-codegen
- تولید arm_sve_builtin_cg_map.inc برای Clang.
- -gen-arm-sve-typeflags
- تولید arm_sve_typeflags.inc برای Clang.
- -gen-arm-sve-sema-rangechecks
- تولید arm_sve_sema_rangechecks.inc برای Clang.
- -gen-arm-mve-header
- تولید arm_mve.h برای Clang.
- -gen-arm-mve-builtin-def
- تولید تعاریف توابع داخلی ARM MVE برای Clang.
- -gen-arm-mve-builtin-sema
- تولید بررسیهای معنایی (sema) توابع داخلی ARM MVE برای Clang.
- -gen-arm-mve-builtin-codegen
- تولید کدساز (code-generator) توابع داخلی ARM MVE برای Clang.
- -gen-arm-mve-builtin-aliases
- تولید فهرست نامهای مستعار معتبر توابع داخلی ARM MVE برای Clang.
- -gen-arm-cde-header
- تولید arm_cde.h برای Clang.
- -gen-arm-cde-builtin-def
- تولید تعاریف توابع داخلی ARM CDE برای Clang.
- -gen-arm-cde-builtin-sema
- تولید بررسیهای معنایی (sema) توابع داخلی ARM CDE برای Clang.
- -gen-arm-cde-builtin-codegen
- تولید کدساز توابع داخلی ARM CDE برای Clang.
- -gen-arm-cde-builtin-aliases
- تولید فهرست نامهای مستعار معتبر توابع داخلی ARM CDE برای Clang.
- -gen-riscv-vector-header
- تولید riscv_vector.h برای Clang.
- -gen-riscv-vector-builtins
- تولید riscv_vector_builtins.inc برای Clang.
- -gen-riscv-vector-builtin-codegen
- تولید riscv_vector_builtin_cg.inc برای Clang.
- -gen-riscv-sifive-vector-builtins
- تولید riscv_sifive_vector_builtins.inc برای Clang.
- -gen-riscv-sifive-vector-builtin-codegen
- تولید riscv_sifive_vector_builtin_cg.inc برای Clang.
- -gen-attr-docs
- تولید مستندات ویژگیها (attribute).
- -gen-diag-docs
- تولید مستندات تشخیصی (diagnostic).
- -gen-opt-docs
- تولید مستندات گزینهها.
- -gen-clang-data-collectors
- تولید گردآورندههای داده برای گرههای AST.
- -gen-clang-test-pragma-attribute-supported-attributes
- تولید فهرستی از ویژگیهای پشتیبانیشده توسط ویژگی #pragma در Clang برای اهداف آزمایشی.
- gen-lldb-option-defs
- تولید مقادیر OptionDefinition برای lldb.
- gen-lldb-property-defs
- تولید مقادیر PropertyDefinition برای lldb.
- gen-lldb-property-enum-defs
- تولید مقادیر شمارشی (enum) برای PropertyDefinition در lldb.
گزینههای llvm-tblgen
- -gen-asm-matcher
- تولید تطبیقدهنده دستورات اسمبلی.
- -match-prefix=prefix
- تنظیم -gen-asm-matcher برای تطبیق تنها دستوراتی با prefix دادهشده.
- -gen-asm-parser
- تولید تجزیهکننده دستورات اسمبلی.
- -asmparsernum=n
- تنظیم -gen-asm-parser برای تولید تجزیهکننده اسمبلی شماره n.
- -gen-asm-writer
- تولید نگارنده اسمبلی.
- -asmwriternum=n
- تنظیم -gen-asm-writer برای تولید نگارنده اسمبلی شماره n.
- -gen-attrs
- تولید صفتها (attributes).
- -gen-automata
- تولید خودکارههای عمومی (generic automata).
- -gen-callingconv
- تولید توصیفات قرارداد فراخوانی (calling conventions).
- -gen-compress-inst-emitter
- تولید دستورات فشرده RISC-V.
- -gen-ctags
- تولید نمایه سازگار با ctags.
- -gen-dag-isel
- تولید یک انتخابگر دستور DAG (گراف جهتدار بدون دور).
- -instrument-coverage
- تنظیم -gen-dag-isel برای تولید جدولهایی جهت کمک به شناسایی الگوهای تطبیقیافته.
- -omit-comments
- تنظیم -gen-dag-isel برای حذف دیدگاهها (کامنتها). مقدار پیشفرض false است.
- -gen-dfa-packetizer
- تولید DFA Packetizer برای مقصدهای VLIW.
- -gen-directive-decl
- تولید کدهای اعلان مرتبط با رهنمودها (فایل سرآیند).
- -gen-directive-gen
- تولید بخش کدهای پیادهسازی مرتبط با رهنمودها.
- -gen-directive-impl
- تولید کدهای پیادهسازی مرتبط با رهنمودها.
- -gen-disassembler
- تولید دیساسمبلر.
- -gen-emitter
- تولید منتشرکننده کد ماشین.
- -gen-exegesis
- تولید جدولهای llvm-exegesis.
- -gen-fast-isel
- تولید یک انتخابگر دستور "سریع" (fast instruction selector).
- -gen-global-isel
- تولید انتخابگر GlobalISel.
- -gisel-coverage-file=filename
- مشخص کردن فایلی که اطلاعات پوشش از آن بازیابی میشود.
- -instrument-gisel-coverage
- تنظیم -gen-global-isel برای تولید ابزار دقیق سنجش پوشش (coverage instrumentation).
- -optimize-match-table
- تنظیم -gen-global-isel برای تولید نسخهای بهینهشده از جدول تطبیق.
- -warn-on-skipped-patterns
- تنظیم -gen-global-isel برای توضیح دلیل کنار گذاشته شدن یک الگو.
- -gen-global-isel-combiner
- تولید ترکیبکننده (combiner) برای GlobalISel.
- -combiners=list
- تنظیم -gen-global-isel-combiner برای تولید ترکیبکنندههای مشخصشده.
- -gicombiner-debug-cxxpreds
- افزودن دیدگاههای اشکالزدایی به تمام گزارههای ++C تولیدشده توسط -gen-global-isel-combiner
- -gicombiner-stop-after-parse
- تنظیم -gen-global-isel-combiner برای توقف پردازش پس از تجزیه قواعد و تخلیه وضعیت.
- -gen-instr-info
- تولید توصیفات دستورالعملها.
- -gen-instr-docs
- تولید مستندات دستورالعملها.
- -intrinsic-prefix=prefix
- تنظیم -gen-intrinsic-enums برای تولید موارد ذاتی با این prefix مقصد.
- -gen-intrinsic-impl
- تولید اطلاعات ذاتی (intrinsic).
- -gen-opt-parser-defs
- تولید تعاریف گزینهها (options).
- -gen-opt-rst
- تولید مستندات RST گزینهها.
- -gen-pseudo-lowering
- تولید تنزل دستورالعملهای شبه (pseudo instruction lowering).
- -gen-register-bank
- تولید توصیفات بانکهای ثبات (register banks).
- -gen-register-info
- تولید اطلاعات ثباتها و کلاسهای ثبات.
- -register-info-debug
- تنظیم -gen-register-info برای برونریزی (dump) اطلاعات ثباتها جهت اشکالزدایی.
- -gen-searchable-tables
- تولید جدولهای عمومی قابل جستوجو. برای شرح دقیق به TableGen BackEnds <> مراجعه کنید.
- -gen-subtarget
- تولید مقادیر شمارشی مربوط به زیرمقصدها (subtargets).
- -gen-x86-EVEX2VEX-tables
- تولید جدولهای فشردهسازی X86 EVEX به VEX.
- -gen-x86-fold-tables
- تولید جدولهای fold در X86.
- -long-string-literals
- هنگام خروجی دادن جدولهای رشتهای بزرگ، لیترالهای رشتهای را به لیترالهای نویسهایِ جداشده با کاما ترجیح میدهد. این کار میتواند در خوانایی و کارایی زمان کامپایل سودمند باشد، اما ممکن است برخی از کامپایلرها را با مشکل مواجه کند.
- -print-enums
- چاپ مقادیر شمارشی (enumeration) برای یک کلاس.
- -class=classname
- تنظیم -print-enums برای چاپ فهرست شمارشی کلاس مشخصشده.
- -print-sets
- چاپ مجموعههای گسترشیافته برای آزمایش عبارات DAG (DAG exprs).
- -gen-avail-interface-decls
- تولید اعلانهای رابط دسترسیپذیری (availability interface).
- -gen-avail-interface-defs
- تولید تعاریف رابط عملگر (op interface).
- -gen-dialect-doc
- تولید مستندات گویش (dialect).
- -dialect
- گویش (dialect) مورد نظر برای تولید.
- -gen-directive-decl
- تولید اعلانها برای رهنمودها (OpenMP و غیره).
- -gen-enum-decls
- تولید اعلانهای توابع کمکی نوع شمارشی (enum utility).
- -gen-enum-defs
- تولید تعاریف توابع کمکی نوع شمارشی (enum utility).
- -gen-enum-from-llvmir-conversions
- تولید تبدیلهای EnumAttrs از LLVM IR.
- -gen-enum-to-llvmir-conversions
- تولید تبدیلهای EnumAttrs به LLVM IR.
- -gen-llvmir-conversions
- تولید تبدیلهای LLVM IR.
- -gen-llvmir-intrinsics
- تولید توابع درونی (intrinsics) LLVM IR.
- -llvmir-intrinsics-filter
- تنها نگهداشتن توابع درونیای که زیررشته مشخصشده در نام رکورد آنها وجود دارد.
- -dialect-opclass-base
- کلاس پایه برای عملگرها (ops) در گویشی که قرار است ایجاد شود.
- -gen-op-decls
- تولید اعلانهای عملیات (operation).
- -gen-op-defs
- تولید تعاریف عملیات (operation).
- -asmformat-error-is-fatal
- ایجاد یک خطای مهلک در صورت شکست در تجزیه قالب (format parsing).
- -op-exclude-regex
- عبارت باقاعده برای نام عملگرها جهت مستثنی کردن (در صورت خالی بودن، فیلتری اعمال نمیشود).
- -op-include-regex
- عبارت باقاعده برای نام عملگرها جهت گنجاندن (در صورت خالی بودن، فیلتری اعمال نمیشود).
- -gen-op-doc
- تولید مستندات عملیات.
- -gen-pass-decls
- تولید مستندات عملیات.
- -name namestring
- نام این گروه از گذرها (passes).
- -gen-pass-doc
- تولید مستندات گذر (pass).
- -gen-rewriters
- تولید بازنویسهای الگو (pattern rewriters).
- -gen-spirv-avail-impls
- تولید تعاریف توابع کمکی عملیات SPIR-V.
- -gen-spirv-capability-implication
- تولید تابع کمکی برای بازگرداندن قابلیتهای ضمنی (implied capabilities) برای یک قابلیت مشخص.
- -gen-spirv-enum-avail-decls
- تولید اعلانهای دسترسیپذیری نوع شمارشی (enum availability) SPIR-V.
- -gen-spirv-enum-avail-defs
- تولید تعاریف دسترسیپذیری نوع شمارشی (enum availability) SPIR-V.
- -gen-spirv-op-utils
- تولید تعاریف توابع کمکی عملیات SPIR-V.
- -gen-spirv-serialization
- تولید ابزارها و توابع کمکی سریالسازی و واسریالسازی ((de)serialization) برای SPIR-V.
- -gen-struct-attr-decls
- تولید اعلانهای توابع کمکی ساختار (struct utility).
- -gen-struct-attr-defs
- تولید تعاریف توابع کمکی ساختار (struct utility).
- -gen-typedef-decls
- تولید اعلانهای TypeDef.
- -gen-typedef-defs
- تولید تعاریف TypeDef.
- -typedefs-dialect name
- تولید
نوعها (types)
برای این
گویش (dialect).
اگر *-tblgen با موفقیت انجام شود، با 0 خارج میشود. در غیر این صورت، اگر خطایی رخ دهد، با مقداری غیرصفر خارج خواهد شد.
نویسندگان (AUTHORS)
توسط تیم LLVM نگهداری میشود (https://llvm.org).
کپیرایت و تکثیر (COPYRIGHT)
2003-2026, LLVM Project
| 2026-07-15 | 22 |