.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
.TH LLVM-MC "1" "May 2018" "llvm-mc 4.0" "User Commands"
.SH NAME
llvm-mc \- manual page for llvm-mc 4.0
.SH DESCRIPTION
OVERVIEW: llvm machine code playground
.PP
USAGE: llvm\-mc [options]
.PP
OPTIONS:
.PP
General options:
.HP
\fB\-I=\fR \- Directory of include files
.HP
\fB\-aarch64\-neon\-syntax\fR \- Choose style of NEON code to emit from AArch64 backend:
.TP
=generic
\- Emit generic NEON assembly
.TP
=apple
\- Emit Apple\-style NEON assembly
.HP
\fB\-amdgpu\-dump\-rtmd\fR \- Dump AMDGPU runtime metadata
.HP
\fB\-amdgpu\-spill\-sgpr\-to\-smem\fR \- Use scalar stores to spill SGPRs if supported by subtarget
.HP
\fB\-amdgpu\-vgpr\-index\-mode\fR \- Use GPR indexing mode instead of movrel for vector indexing
.HP
\fB\-arch=\fR \- Target arch to assemble for, see \fB\-version\fR for available targets
.HP
\fB\-arm\-execute\-only\fR \-
.HP
\fB\-arm\-implicit\-it\fR \- Allow conditional instructions outdside of an IT block
.TP
=always
\- Accept in both ISAs, emit implicit ITs in Thumb
.TP
=never
\- Warn in ARM, reject in Thumb
.TP
=arm
\- Accept in ARM, reject in Thumb
.TP
=thumb
\- Warn in ARM, emit implicit ITs in Thumb
.HP
\fB\-asm\-instrumentation\fR \- Instrumentation of inline assembly and assembly source files
.TP
=none
\- no instrumentation at all
.TP
=address
\- instrument instructions with memory arguments
.HP
\fB\-asm\-show\-inst\fR \- Emit internal instruction representation to assembly file
.HP
\fB\-bounds\-checking\-single\-trap\fR \- Use one trap block per function
.HP
\fB\-code\-model\fR \- Choose code model
.TP
=default
\- Target default code model
.TP
=small
\- Small code model
.TP
=kernel
\- Kernel code model
.TP
=medium
\- Medium code model
.TP
=large
\- Large code model
.HP
\fB\-color\fR \- use colored syntax highlighting (default=autodetect)
.HP
\fB\-compress\-debug\-sections\fR \- Choose DWARF debug sections compression:
.TP
=none
\- No compression
.TP
=zlib
\- Use zlib compression
.TP
=zlib\-gnu
\- Use zlib\-gnu compression (deprecated)
.HP
\fB\-cvp\-dont\-process\-adds\fR \-
.HP
\fB\-defsym=\fR \- Defines a symbol to be an integer constant
.HP
\fB\-disable\-spill\-fusing\fR \- Disable fusing of spill code into instructions
.IP
Action to perform:
.HP
\fB\-as\-lex\fR \- Lex tokens from a .s file
.HP
\fB\-assemble\fR \- Assemble a .s file (default)
.HP
\fB\-disassemble\fR \- Disassemble strings of hex bytes
.HP
\fB\-mdis\fR \- Marked up disassembly of strings of hex bytes
.HP
\fB\-dwarf\-version=\fR \- Dwarf version
.HP
\fB\-enable\-implicit\-null\-checks\fR \- Fold null checks into faulting memory operations
.HP
\fB\-enable\-load\-pre\fR \-
.HP
\fB\-enable\-name\-compression\fR \- Enable name string compression
.HP
\fB\-enable\-objc\-arc\-opts\fR \- enable/disable all ARC Optimizations
.HP
\fB\-enable\-scoped\-noalias\fR \-
.HP
\fB\-enable\-tbaa\fR \-
.HP
\fB\-exhaustive\-register\-search\fR \- Exhaustive Search for registers bypassing the depth and interference cutoffs of last chance recoloring
.HP
\fB\-expensive\-combines\fR \- Enable expensive instruction combines
.HP
\fB\-fatal\-warnings\fR \- Treat warnings as errors
.HP
\fB\-fdebug\-compilation\-dir=\fR \- Specifies the debug info's compilation dir
.HP
\fB\-filetype\fR \- Choose an output file type:
.TP
=asm
\- Emit an assembly ('.s') file
.TP
=null
\- Don't emit anything (for timing purposes)
.TP
=obj
\- Emit a native object ('.o') file
.HP
\fB\-filter\-print\-funcs=\fR \- Only print IR for functions whose name match this for all print\-[before|after][\-all] options
.HP
\fB\-g\fR \- Generate dwarf debugging info for assembly source files
.TP
\fB\-gpsize=\fR \- Global Pointer Addressing Size.
The default size is 8.
.HP
\fB\-hash\-based\-counter\-split\fR \- Rename counter variable of a comdat function based on cfg hash
.HP
\fB\-ignore\-empty\-index\-file\fR \- Ignore an empty index file and perform non\-ThinLTO compilation
.HP
\fB\-imp\-null\-check\-page\-size=\fR \- The page size of the target in bytes
.HP
\fB\-imp\-null\-max\-insts\-to\-consider=\fR \- The max number of instructions to consider hoisting loads over (the algorithm is quadratic over this number)
.HP
\fB\-incremental\-linker\-compatible\fR \- When used with filetype=obj, emit an object file which can be used with an incremental linker
.HP
\fB\-internalize\-public\-api\-file=\fR \- A file containing list of symbol names to preserve
.HP
\fB\-internalize\-public\-api\-list=\fR \- A list of symbol names to preserve
.HP
\fB\-join\-liveintervals\fR \- Coalesce copies (default=true)
.HP
\fB\-limit\-float\-precision=\fR \- Generate low\-precision inline sequences for some float libcalls
.HP
\fB\-lto\-pass\-remarks\-output=\fR \- Output filename for pass remarks
.HP
\fB\-main\-file\-name=\fR \- Specifies the name we should consider the input file
.HP
\fB\-mattr=\fR \- Target specific attributes (\fB\-mattr\fR=\fI\,help\/\fR for details)
.HP
\fB\-mc\-relax\-all\fR \- When used with filetype=obj, relax all fixups in the emitted object file
.HP
\fB\-mcpu=\fR \- Target a specific cpu type (\fB\-mcpu\fR=\fI\,help\/\fR for details)
.HP
\fB\-merror\-missing\-parenthesis\fR \- Error for missing parenthesis around predicate registers
.HP
\fB\-merror\-noncontigious\-register\fR \- Error for register names that aren't contigious
.HP
\fB\-mfuture\-regs\fR \- Enable future registers
.HP
\fB\-mips\-compact\-branches\fR \- MIPS Specific: Compact branch policy.
.TP
=never
\- Do not use compact branches if possible.
.TP
=optimal
\- Use compact branches where appropiate (default).
.TP
=always
\- Always use compact branches if possible.
.HP
\fB\-mips16\-constant\-islands\fR \- Enable mips16 constant islands.
.HP
\fB\-mips16\-hard\-float\fR \- Enable mips16 hard float.
.HP
\fB\-mno\-compound\fR \- Disable looking for compound instructions for Hexagon
.HP
\fB\-mno\-fixup\fR \- Disable fixing up resolved relocations for Hexagon
.HP
\fB\-mno\-ldc1\-sdc1\fR \- Expand double precision loads and stores to their single precision counterparts
.HP
\fB\-mno\-pairing\fR \- Disable looking for duplex instructions for Hexagon
.HP
\fB\-mwarn\-missing\-parenthesis\fR \- Warn for missing parenthesis around predicate registers
.HP
\fB\-mwarn\-noncontigious\-register\fR \- Warn for register names that arent contigious
.HP
\fB\-mwarn\-sign\-mismatch\fR \- Warn for mismatching a signed and unsigned value
.HP
\fB\-n\fR \- Don't assume assembly file starts in the text section
.HP
\fB\-no\-deprecated\-warn\fR \- Suppress all deprecated warnings
.HP
\fB\-no\-discriminators\fR \- Disable generation of discriminator information.
.HP
\fB\-no\-exec\-stack\fR \- File doesn't need an exec stack
.HP
\fB\-no\-warn\fR \- Suppress all warnings
.HP
\fB\-nvptx\-sched4reg\fR \- NVPTX Specific: schedule for register pressue
.HP
\fB\-o=\fR \- Output filename
.HP
\fB\-output\-asm\-variant=\fR \- Syntax variant to use for output printing
.HP
\fB\-pie\-copy\-relocations\fR \- PIE Copy Relocations
.HP
\fB\-position\-independent\fR \- Position independent
.HP
\fB\-preserve\-comments\fR \- Preserve Comments in outputted assembly
.HP
\fB\-print\-after\-all\fR \- Print IR after each pass
.HP
\fB\-print\-before\-all\fR \- Print IR before each pass
.HP
\fB\-print\-imm\-hex\fR \- Prefer hex format for immediate values
.HP
\fB\-print\-machineinstrs=\fR \- Print machine instrs
.HP
\fB\-r600\-ir\-structurize\fR \- Use StructurizeCFG IR pass
.HP
\fB\-rdf\-dump\fR \-
.HP
\fB\-rdf\-limit=\fR \-
.HP
\fB\-regalloc\fR \- Register allocator to use
.TP
=default
\- pick register allocator based on \fB\-O\fR option
.TP
=pbqp
\- PBQP register allocator
.TP
=greedy
\- greedy register allocator
.TP
=fast
\- fast register allocator
.TP
=basic
\- basic register allocator
.HP
\fB\-relax\-relocations\fR \- Emit R_X86_64_GOTPCRELX instead of R_X86_64_GOTPCREL
.HP
\fB\-rewrite\-map\-file=\fR \- Symbol Rewrite Map
.HP
\fB\-rng\-seed=\fR \- Seed for the random number generator
.HP
\fB\-sample\-profile\-check\-record\-coverage=\fR \- Emit a warning if less than N% of records in the input profile are matched to the IR.
.HP
\fB\-sample\-profile\-check\-sample\-coverage=\fR \- Emit a warning if less than N% of samples in the input profile are matched to the IR.
.HP
\fB\-sample\-profile\-inline\-hot\-threshold=\fR \- Inlined functions that account for more than N% of all samples collected in the parent function, will be inlined again.
.HP
\fB\-sample\-profile\-max\-propagate\-iterations=\fR \- Maximum number of iterations to go through when propagating sample block/edge weights through the CFG.
.HP
\fB\-save\-temp\-labels\fR \- Don't discard temporary labels
.HP
\fB\-show\-encoding\fR \- Show instruction encodings
.HP
\fB\-show\-inst\fR \- Show internal instruction representation
.HP
\fB\-show\-inst\-operands\fR \- Show instructions operands as parsed
.HP
\fB\-stackmap\-version=\fR \- Specify the stackmap encoding version (default = 2)
.HP
\fB\-static\-func\-full\-module\-prefix\fR \- Use full module build paths in the profile counter names for static functions.
.HP
\fB\-stats\fR \- Enable statistics output from program (available with Asserts)
.HP
\fB\-stats\-json\fR \- Display statistics as json data
.HP
\fB\-summary\-file=\fR \- The summary file to use for function importing.
.HP
\fB\-threads=\fR \-
.HP
\fB\-time\-passes\fR \- Time each pass, printing elapsed time for each on exit
.HP
\fB\-triple=\fR \- Target triple to assemble for, see \fB\-version\fR for available targets
.HP
\fB\-verify\-debug\-info\fR \-
.HP
\fB\-verify\-dom\-info\fR \- Verify dominator info (time consuming)
.HP
\fB\-verify\-loop\-info\fR \- Verify loop info (time consuming)
.HP
\fB\-verify\-loop\-lcssa\fR \- Verify loop lcssa form (time consuming)
.HP
\fB\-verify\-machine\-dom\-info\fR \- Verify machine dominator info (time consuming)
.HP
\fB\-verify\-regalloc\fR \- Verify during register allocation
.HP
\fB\-verify\-region\-info\fR \- Verify region info (time consuming)
.HP
\fB\-verify\-scev\fR \- Verify ScalarEvolution's backedge taken counts (slow)
.HP
\fB\-verify\-scev\-maps\fR \- Verify no dangling value in ScalarEvolution's ExprValueMap (slow)
.HP
\fB\-vp\-counters\-per\-site=\fR \- The average number of profile counters allocated per value profiling site.
.HP
\fB\-vp\-static\-alloc\fR \- Do static counter allocation for value profiler
.HP
\fB\-x86\-asm\-syntax\fR \- Choose style of code to emit from X86 backend:
.TP
=att
\- Emit AT&T\-style assembly
.TP
=intel
\- Emit Intel\-style assembly
.PP
Generic Options:
.HP
\fB\-help\fR \- Display available options (\fB\-help\-hidden\fR for more)
.HP
\fB\-help\-list\fR \- Display list of available options (\fB\-help\-list\-hidden\fR for more)
.HP
\fB\-version\fR \- Display the version of this program
.SH "SEE ALSO"
The full documentation for
.B llvm-mc
is maintained as a Texinfo manual. If the
.B info
and
.B llvm-mc
programs are properly installed at your site, the command
.IP
.B info llvm-mc
.PP
should give you access to the complete manual.