Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
TBLGEN(1)			     LLVM			     TBLGEN(1)

NAME
       tblgen -	Description to C++ Code

SYNOPSIS
       clang-tblgen [options] [filename]

       lldb-tblgen [options] [filename]

       llvm-tblgen [options] [filename]

       mlir-tblgen [options] [filename]

DESCRIPTION
       *-tblgen	 is  a	family	of programs that translates target description
       (.td) files into	C++ code and other output formats. Most	users of  LLVM
       will not	need to	use this program. It is	used only for writing parts of
       the compiler, debugger, and LLVM	target backends.

       The  details of the input and output of the *-tblgen programs is	beyond
       the scope of this short introduction; please see	the TableGen  Overview
       for  an	introduction  and  for references to additional	TableGen docu-
       ments.

       The filename argument specifies the  name  of  the  Target  Description
       (.td) file that TableGen	processes.

OPTIONS
   General Options
       -help  Print a description of the command line options.

       -help-list
	      Print a description of the command line options in a simple list
	      format.

       -D=macroname
	      Specify  the name	of a macro to be defined. The name is defined,
	      but it has no particular value.

       -d=filename
	      Specify the name of the dependency filename.

       -debug Enable debug output.

       -dump-json
	      Print a JSON representation of all records, suitable for further
	      automated	processing.

       -I directory
	      Specify where to find other target description files for	inclu-
	      sion.  The directory value should	be a full or partial path to a
	      directory	that contains target description files.

       -null-backend
	      Parse the	source files and build the records, but	do not run any
	      backend. This is useful for timing the frontend.

       -o filename
	      Specify  the  output file	name.  If filename is -, then *-tblgen
	      sends its	output to standard output.

       -print-records
	      Print all	classes	and records to standard	output (default	 back-
	      end option).

       -print-detailed-records
	      Print  a	detailed  report of all	global variables, classes, and
	      records to standard output.

       -stats Print a report with any statistics collected by the backend.

       -time-phases
	      Time the parser and backend phases and print a report.

       -version
	      Show the version number of the program.

       -write-if-changed
	      Write the	output file only if it is new or has changed.

   clang-tblgen	Options
       -gen-clang-attr-classes
	      Generate Clang attribute classes.

       -gen-clang-attr-parser-string-switches
	      Generate all parser-related attribute string switches.

       -gen-clang-attr-subject-match-rules-parser-string-switches
	      Generate all parser-related attribute subject match rule	string
	      switches.

       -gen-clang-attr-impl
	      Generate Clang attribute implementations.

       -gen-clang-attr-list"
	      Generate a Clang attribute list.

       -gen-clang-attr-subject-match-rule-list
	      Generate a Clang attribute subject match rule list.

       -gen-clang-attr-pch-read
	      Generate Clang PCH attribute reader.

       -gen-clang-attr-pch-write
	      Generate Clang PCH attribute writer.

       -gen-clang-attr-has-attribute-impl
	      Generate a Clang attribute spelling list.

       -gen-clang-attr-spelling-index
	      Generate a Clang attribute spelling index.

       -gen-clang-attr-ast-visitor
	      Generate a recursive AST visitor for Clang attributes.

       -gen-clang-attr-template-instantiate
	      Generate a Clang template	instantiate code.

       -gen-clang-attr-parsed-attr-list
	      Generate a Clang parsed attribute	list.

       -gen-clang-attr-parsed-attr-impl
	      Generate the Clang parsed	attribute helpers.

       -gen-clang-attr-parsed-attr-kinds
	      Generate a Clang parsed attribute	kinds.

       -gen-clang-attr-text-node-dump
	      Generate Clang attribute text node dumper.

       -gen-clang-attr-node-traverse
	      Generate Clang attribute traverser.

       -gen-clang-diags-defs
	      Generate Clang diagnostics definitions.

       -clang-component	component
	      Only use warnings	from specified component.

       -gen-clang-diag-groups
	      Generate Clang diagnostic	groups.

       -gen-clang-diags-index-name
	      Generate Clang diagnostic	name index.

       -gen-clang-basic-reader
	      Generate Clang BasicReader classes.

       -gen-clang-basic-writer
	      Generate Clang BasicWriter classes.

       -gen-clang-comment-nodes
	      Generate Clang AST comment nodes.

       -gen-clang-decl-nodes
	      Generate Clang AST declaration nodes.

       -gen-clang-stmt-nodes
	      Generate Clang AST statement nodes.

       -gen-clang-type-nodes
	      Generate Clang AST type nodes.

       -gen-clang-type-reader
	      Generate Clang AbstractTypeReader	class.

       -gen-clang-type-writer
	      Generate Clang AbstractTypeWriter	class.

       -gen-clang-opcodes
	      Generate Clang constexpr interpreter opcodes.

       -gen-clang-sa-checkers
	      Generate Clang static analyzer checkers.

       -gen-clang-comment-html-tags
	      Generate	efficient matchers for HTML tag	names that are used in
	      documentation comments.

       -gen-clang-comment-html-tags-properties
	      Generate efficient matchers for HTML tag properties.

       -gen-clang-comment-html-named-character-references
	      Generate function	to translate  named  character	references  to
	      UTF-8 sequences.

       -gen-clang-comment-command-info
	      Generate	command	properties for commands	that are used in docu-
	      mentation	comments.

       -gen-clang-comment-command-list
	      Generate list of commands	that are used  in  documentation  com-
	      ments.

       -gen-clang-opencl-builtins
	      Generate OpenCL builtin declaration handlers.

       -gen-arm-neon
	      Generate arm_neon.h for Clang.

       -gen-arm-fp16
	      Generate arm_fp16.h for Clang.

       -gen-arm-bf16
	      Generate arm_bf16.h for Clang.

       -gen-arm-neon-sema
	      Generate ARM NEON	sema support for Clang.

       -gen-arm-neon-test
	      Generate ARM NEON	tests for Clang.

       -gen-arm-sve-header
	      Generate arm_sve.h for Clang.

       -gen-arm-sve-builtins
	      Generate arm_sve_builtins.inc for	Clang.

       -gen-arm-sve-builtin-codegen
	      Generate arm_sve_builtin_cg_map.inc for Clang.

       -gen-arm-sve-typeflags
	      Generate arm_sve_typeflags.inc for Clang.

       -gen-arm-sve-sema-rangechecks
	      Generate arm_sve_sema_rangechecks.inc for	Clang.

       -gen-arm-mve-header
	      Generate arm_mve.h for Clang.

       -gen-arm-mve-builtin-def
	      Generate ARM MVE builtin definitions for Clang.

       -gen-arm-mve-builtin-sema
	      Generate ARM MVE builtin sema checks for Clang.

       -gen-arm-mve-builtin-codegen
	      Generate ARM MVE builtin code-generator for Clang.

       -gen-arm-mve-builtin-aliases
	      Generate list of valid ARM MVE builtin aliases for Clang.

       -gen-arm-cde-header
	      Generate arm_cde.h for Clang.

       -gen-arm-cde-builtin-def
	      Generate ARM CDE builtin definitions for Clang.

       -gen-arm-cde-builtin-sema
	      Generate ARM CDE builtin sema checks for Clang.

       -gen-arm-cde-builtin-codegen
	      Generate ARM CDE builtin code-generator for Clang.

       -gen-arm-cde-builtin-aliases
	      Generate list of valid ARM CDE builtin aliases for Clang.

       -gen-riscv-vector-header
	      Generate riscv_vector.h for Clang.

       -gen-riscv-vector-builtins
	      Generate riscv_vector_builtins.inc for Clang.

       -gen-riscv-vector-builtin-codegen
	      Generate riscv_vector_builtin_cg.inc for Clang.

       -gen-riscv-sifive-vector-builtins
	      Generate riscv_sifive_vector_builtins.inc	for Clang.

       -gen-riscv-sifive-vector-builtin-codegen
	      Generate riscv_sifive_vector_builtin_cg.inc for Clang.

       -gen-attr-docs
	      Generate attribute documentation.

       -gen-diag-docs
	      Generate diagnostic documentation.

       -gen-opt-docs
	      Generate option documentation.

       -gen-clang-data-collectors
	      Generate data collectors for AST nodes.

       -gen-clang-test-pragma-attribute-supported-attributes
	      Generate	a  list	 of  attributes	supported by #pragma Clang at-
	      tribute for testing purposes.

   lldb-tblgen Options
       gen-lldb-option-defs
	      Generate lldb OptionDefinition values.

       gen-lldb-property-defs
	      Generate lldb PropertyDefinition values.

       gen-lldb-property-enum-defs
	      Generate lldb PropertyDefinition enum values.

   llvm-tblgen Options
       -gen-asm-matcher
	      Generate assembly	instruction matcher.

       -match-prefix=prefix
	      Make -gen-asm-matcher match only	instructions  with  the	 given
	      prefix.

       -gen-asm-parser
	      Generate assembly	instruction parser.

       -asmparsernum=n
	      Make -gen-asm-parser emit	assembly parser	number n.

       -gen-asm-writer
	      Generate assembly	writer.

       -asmwriternum=n
	      Make -gen-asm-writer emit	assembly writer	number n.

       -gen-attrs
	      Generate attributes.

       -gen-automata
	      Generate generic automata.

       -gen-callingconv
	      Generate calling convention descriptions.

       -gen-compress-inst-emitter
	      Generate RISC-V compressed instructions.

       -gen-ctags
	      Generate ctags-compatible	index.

       -gen-dag-isel
	      Generate a DAG (directed acyclic graph) instruction selector.

       -instrument-coverage
	      Make -gen-dag-isel generate tables to help identify the patterns
	      matched.

       -omit-comments
	      Make -gen-dag-isel omit comments.	The default is false.

       -gen-dfa-packetizer
	      Generate DFA Packetizer for VLIW targets.

       -gen-directive-decl
	      Generate directive related declaration code (header file).

       -gen-directive-gen
	      Generate directive related implementation	code part.

       -gen-directive-impl
	      Generate directive related implementation	code.

       -gen-disassembler
	      Generate disassembler.

       -gen-emitter
	      Generate machine code emitter.

       -gen-exegesis
	      Generate llvm-exegesis tables.

       -gen-fast-isel
	      Generate a "fast"	instruction selector.

       -gen-global-isel
	      Generate GlobalISel selector.

       -gisel-coverage-file=filename
	      Specify the file from which to retrieve coverage information.

       -instrument-gisel-coverage
	      Make -gen-global-isel generate coverage instrumentation.

       -optimize-match-table
	      Make -gen-global-isel generate an	optimized version of the match
	      table.

       -warn-on-skipped-patterns
	      Make  -gen-global-isel explain why a pattern was skipped for in-
	      clusion.

       -gen-global-isel-combiner
	      Generate GlobalISel combiner.

       -combiners=list
	      Make -gen-global-isel-combiner emit the specified	combiners.

       -gicombiner-debug-cxxpreds
	      Add  debug  comments  to	 all   C++   predicates	  emitted   by
	      -gen-global-isel-combiner

       -gicombiner-stop-after-parse
	      Make  -gen-global-isel-combiner  stop  processing	 after parsing
	      rules and	dump state.

       -gen-instr-info
	      Generate instruction descriptions.

       -gen-instr-docs
	      Generate instruction documentation.

       -gen-intrinsic-enums
	      Generate intrinsic enums.

       -intrinsic-prefix=prefix
	      Make -gen-intrinsic-enums	generate intrinsics with  this	target
	      prefix.

       -gen-intrinsic-impl
	      Generate intrinsic information.

       -gen-opt-parser-defs
	      Generate options definitions.

       -gen-opt-rst
	      Generate option RST.

       -gen-pseudo-lowering
	      Generate pseudo instruction lowering.

       -gen-register-bank
	      Generate register	bank descriptions.

       -gen-register-info
	      Generate registers and register classes info.

       -register-info-debug
	      Make -gen-register-info dump register information	for debugging.

       -gen-searchable-tables
	      Generate	generic	searchable tables. See TableGen	BackEnds for a
	      detailed description.

       -gen-subtarget
	      Generate subtarget enumerations.

       -gen-x86-EVEX2VEX-tables
	      Generate X86 EVEX	to VEX compress	tables.

       -gen-x86-fold-tables
	      Generate X86 fold	tables.

       -long-string-literals
	      When emitting large string tables, prefer	string	literals  over
	      comma-separated  char  literals.	This  can be a readability and
	      compile-time performance win, but	upsets some compilers.

       -print-enums
	      Print enumeration	values for a class.

       -class=classname
	      Make -print-enums	print the enumeration list for	the  specified
	      class.

       -print-sets
	      Print expanded sets for testing DAG exprs.

   mlir-tblgen Options
       -gen-avail-interface-decls
	      Generate availability interface declarations.

       -gen-avail-interface-defs
	      Generate op interface definitions.

       -gen-dialect-doc
	      Generate dialect documentation.

       -dialect
	      The dialect to generate.

       -gen-directive-decl
	      Generate declarations for	directives (OpenMP, etc.).

       -gen-enum-decls
	      Generate enum utility declarations.

       -gen-enum-defs
	      Generate enum utility definitions.

       -gen-enum-from-llvmir-conversions
	      Generate conversions of EnumAttrs	from LLVM IR.

       -gen-enum-to-llvmir-conversions
	      Generate conversions of EnumAttrs	to LLVM	IR.

       -gen-llvmir-conversions
	      Generate LLVM IR conversions.

       -gen-llvmir-intrinsics
	      Generate LLVM IR intrinsics.

       -llvmir-intrinsics-filter
	      Only  keep  the intrinsics with the specified substring in their
	      record name.

       -dialect-opclass-base
	      The base class for the ops in the	dialect	we are to emit.

       -gen-op-decls
	      Generate operation declarations.

       -gen-op-defs
	      Generate operation definitions.

       -asmformat-error-is-fatal
	      Emit a fatal error if format parsing fails.

       -op-exclude-regex
	      Regular expression of name of  ops  to  exclude  (no  filter  if
	      empty).

       -op-include-regex
	      Regular  expression  of  name  of	 ops  to include (no filter if
	      empty).

       -gen-op-doc
	      Generate operation documentation.

       -gen-pass-decls
	      Generate operation documentation.

       -name namestring
	      The name of this group of	passes.

       -gen-pass-doc
	      Generate pass documentation.

       -gen-rewriters
	      Generate pattern rewriters.

       -gen-spirv-avail-impls
	      Generate SPIR-V operation	utility	definitions.

       -gen-spirv-capability-implication
	      Generate utility function	to return implied capabilities	for  a
	      given capability.

       -gen-spirv-enum-avail-decls
	      Generate SPIR-V enum availability	declarations.

       -gen-spirv-enum-avail-defs
	      Generate SPIR-V enum availability	definitions.

       -gen-spirv-op-utils
	      Generate SPIR-V operation	utility	definitions.

       -gen-spirv-serialization
	      Generate SPIR-V (de)serialization	utilities and functions.

       -gen-struct-attr-decls
	      Generate struct utility declarations.

       -gen-struct-attr-defs
	      Generate struct utility definitions.

       -gen-typedef-decls
	      Generate TypeDef declarations.

       -gen-typedef-defs
	      Generate TypeDef definitions.

       -typedefs-dialect name
	      Generate types for this dialect.

EXIT STATUS
       If  *-tblgen succeeds, it will exit with	0.  Otherwise, if an error oc-
       curs, it	will exit with a non-zero value.

AUTHOR
       Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT
       2003-2025, LLVM Project

18				  2025-04-13			     TBLGEN(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=tblgen-cheriot&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help