components/llvm/Solaris/man1/llc.1
changeset 6512 92717ce71105
equal deleted inserted replaced
6511:d283aa33e131 6512:92717ce71105
       
     1 .\" Man page generated from reStructuredText.
       
     2 .
       
     3 .TH "LLC" "1" "2016-07-10" "3.8" "LLVM"
       
     4 .SH NAME
       
     5 llc \- LLVM static compiler
       
     6 .
       
     7 .nr rst2man-indent-level 0
       
     8 .
       
     9 .de1 rstReportMargin
       
    10 \\$1 \\n[an-margin]
       
    11 level \\n[rst2man-indent-level]
       
    12 level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
       
    13 -
       
    14 \\n[rst2man-indent0]
       
    15 \\n[rst2man-indent1]
       
    16 \\n[rst2man-indent2]
       
    17 ..
       
    18 .de1 INDENT
       
    19 .\" .rstReportMargin pre:
       
    20 . RS \\$1
       
    21 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
       
    22 . nr rst2man-indent-level +1
       
    23 .\" .rstReportMargin post:
       
    24 ..
       
    25 .de UNINDENT
       
    26 . RE
       
    27 .\" indent \\n[an-margin]
       
    28 .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
       
    29 .nr rst2man-indent-level -1
       
    30 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
       
    31 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
       
    32 ..
       
    33 .SH SYNOPSIS
       
    34 .sp
       
    35 \fBllc\fP [\fIoptions\fP] [\fIfilename\fP]
       
    36 .SH DESCRIPTION
       
    37 .sp
       
    38 The \fBllc\fP command compiles LLVM source inputs into assembly language
       
    39 for a specified architecture.  The assembly language output can then be passed
       
    40 through a native assembler and linker to generate a native executable.
       
    41 .sp
       
    42 The choice of architecture for the output assembly code is automatically
       
    43 determined from the input file, unless the \fB\-march\fP option is used to
       
    44 override the default.
       
    45 .SH OPTIONS
       
    46 .sp
       
    47 If \fBfilename\fP is "\fB\-\fP" or omitted, \fBllc\fP reads from standard input.
       
    48 Otherwise, it will from \fBfilename\fP\&.  Inputs can be in either the LLVM assembly
       
    49 language format (\fB\&.ll\fP) or the LLVM bitcode format (\fB\&.bc\fP).
       
    50 .sp
       
    51 If the \fB\-o\fP option is omitted, then \fBllc\fP will send its output
       
    52 to standard output if the input is from standard input.  If the \fB\-o\fP
       
    53 option specifies "\fB\-\fP", then the output will also be sent to standard output.
       
    54 .sp
       
    55 If no \fB\-o\fP option is specified and an input file other than "\fB\-\fP" is
       
    56 specified, then \fBllc\fP creates the output filename by taking the input
       
    57 filename, removing any existing \fB\&.bc\fP extension, and adding a \fB\&.s\fP suffix.
       
    58 .sp
       
    59 Other \fBllc\fP options are described below.
       
    60 .SS End\-user Options
       
    61 .INDENT 0.0
       
    62 .TP
       
    63 .B \-help
       
    64 Print a summary of command line options.
       
    65 .UNINDENT
       
    66 .INDENT 0.0
       
    67 .TP
       
    68 .B \-O=uint
       
    69 Generate code at different optimization levels.  These correspond to the
       
    70 \fB\-O0\fP, \fB\-O1\fP, \fB\-O2\fP, and \fB\-O3\fP optimization levels used by
       
    71 \fBclang\fP\&.
       
    72 .UNINDENT
       
    73 .INDENT 0.0
       
    74 .TP
       
    75 .B \-mtriple=<target triple>
       
    76 Override the target triple specified in the input file with the specified
       
    77 string.
       
    78 .UNINDENT
       
    79 .INDENT 0.0
       
    80 .TP
       
    81 .B \-march=<arch>
       
    82 Specify the architecture for which to generate assembly, overriding the target
       
    83 encoded in the input file.  See the output of \fBllc \-help\fP for a list of
       
    84 valid architectures.  By default this is inferred from the target triple or
       
    85 autodetected to the current architecture.
       
    86 .UNINDENT
       
    87 .INDENT 0.0
       
    88 .TP
       
    89 .B \-mcpu=<cpuname>
       
    90 Specify a specific chip in the current architecture to generate code for.
       
    91 By default this is inferred from the target triple and autodetected to
       
    92 the current architecture.  For a list of available CPUs, use:
       
    93 .INDENT 7.0
       
    94 .INDENT 3.5
       
    95 .sp
       
    96 .nf
       
    97 .ft C
       
    98 llvm\-as < /dev/null | llc \-march=xyz \-mcpu=help
       
    99 .ft P
       
   100 .fi
       
   101 .UNINDENT
       
   102 .UNINDENT
       
   103 .UNINDENT
       
   104 .INDENT 0.0
       
   105 .TP
       
   106 .B \-filetype=<output file type>
       
   107 Specify what kind of output \fBllc\fP should generated.  Options are: \fBasm\fP
       
   108 for textual assembly ( \fB\(aq.s\(aq\fP), \fBobj\fP for native object files (\fB\(aq.o\(aq\fP)
       
   109 and \fBnull\fP for not emitting anything (for performance testing).
       
   110 .sp
       
   111 Note that not all targets support all options.
       
   112 .UNINDENT
       
   113 .INDENT 0.0
       
   114 .TP
       
   115 .B \-mattr=a1,+a2,\-a3,...
       
   116 Override or control specific attributes of the target, such as whether SIMD
       
   117 operations are enabled or not.  The default set of attributes is set by the
       
   118 current CPU.  For a list of available attributes, use:
       
   119 .INDENT 7.0
       
   120 .INDENT 3.5
       
   121 .sp
       
   122 .nf
       
   123 .ft C
       
   124 llvm\-as < /dev/null | llc \-march=xyz \-mattr=help
       
   125 .ft P
       
   126 .fi
       
   127 .UNINDENT
       
   128 .UNINDENT
       
   129 .UNINDENT
       
   130 .INDENT 0.0
       
   131 .TP
       
   132 .B \-\-disable\-fp\-elim
       
   133 Disable frame pointer elimination optimization.
       
   134 .UNINDENT
       
   135 .INDENT 0.0
       
   136 .TP
       
   137 .B \-\-disable\-excess\-fp\-precision
       
   138 Disable optimizations that may produce excess precision for floating point.
       
   139 Note that this option can dramatically slow down code on some systems
       
   140 (e.g. X86).
       
   141 .UNINDENT
       
   142 .INDENT 0.0
       
   143 .TP
       
   144 .B \-\-enable\-no\-infs\-fp\-math
       
   145 Enable optimizations that assume no Inf values.
       
   146 .UNINDENT
       
   147 .INDENT 0.0
       
   148 .TP
       
   149 .B \-\-enable\-no\-nans\-fp\-math
       
   150 Enable optimizations that assume no NAN values.
       
   151 .UNINDENT
       
   152 .INDENT 0.0
       
   153 .TP
       
   154 .B \-\-enable\-unsafe\-fp\-math
       
   155 Enable optimizations that make unsafe assumptions about IEEE math (e.g. that
       
   156 addition is associative) or may not work for all input ranges.  These
       
   157 optimizations allow the code generator to make use of some instructions which
       
   158 would otherwise not be usable (such as \fBfsin\fP on X86).
       
   159 .UNINDENT
       
   160 .INDENT 0.0
       
   161 .TP
       
   162 .B \-\-stats
       
   163 Print statistics recorded by code\-generation passes.
       
   164 .UNINDENT
       
   165 .INDENT 0.0
       
   166 .TP
       
   167 .B \-\-time\-passes
       
   168 Record the amount of time needed for each pass and print a report to standard
       
   169 error.
       
   170 .UNINDENT
       
   171 .INDENT 0.0
       
   172 .TP
       
   173 .B \-\-load=<dso_path>
       
   174 Dynamically load \fBdso_path\fP (a path to a dynamically shared object) that
       
   175 implements an LLVM target.  This will permit the target name to be used with
       
   176 the \fB\-march\fP option so that code can be generated for that target.
       
   177 .UNINDENT
       
   178 .INDENT 0.0
       
   179 .TP
       
   180 .B \-meabi=[default|gnu|4|5]
       
   181 Specify which EABI version should conform to.  Valid EABI versions are \fIgnu\fP,
       
   182 \fI4\fP and \fI5\fP\&.  Default value (\fIdefault\fP) depends on the triple.
       
   183 .UNINDENT
       
   184 .SS Tuning/Configuration Options
       
   185 .INDENT 0.0
       
   186 .TP
       
   187 .B \-\-print\-machineinstrs
       
   188 Print generated machine code between compilation phases (useful for debugging).
       
   189 .UNINDENT
       
   190 .INDENT 0.0
       
   191 .TP
       
   192 .B \-\-regalloc=<allocator>
       
   193 Specify the register allocator to use.
       
   194 Valid register allocators are:
       
   195 .sp
       
   196 \fIbasic\fP
       
   197 .INDENT 7.0
       
   198 .INDENT 3.5
       
   199 Basic register allocator.
       
   200 .UNINDENT
       
   201 .UNINDENT
       
   202 .sp
       
   203 \fIfast\fP
       
   204 .INDENT 7.0
       
   205 .INDENT 3.5
       
   206 Fast register allocator. It is the default for unoptimized code.
       
   207 .UNINDENT
       
   208 .UNINDENT
       
   209 .sp
       
   210 \fIgreedy\fP
       
   211 .INDENT 7.0
       
   212 .INDENT 3.5
       
   213 Greedy register allocator. It is the default for optimized code.
       
   214 .UNINDENT
       
   215 .UNINDENT
       
   216 .sp
       
   217 \fIpbqp\fP
       
   218 .INDENT 7.0
       
   219 .INDENT 3.5
       
   220 Register allocator based on \(aqPartitioned Boolean Quadratic Programming\(aq.
       
   221 .UNINDENT
       
   222 .UNINDENT
       
   223 .UNINDENT
       
   224 .INDENT 0.0
       
   225 .TP
       
   226 .B \-\-spiller=<spiller>
       
   227 Specify the spiller to use for register allocators that support it.  Currently
       
   228 this option is used only by the linear scan register allocator.  The default
       
   229 \fBspiller\fP is \fIlocal\fP\&.  Valid spillers are:
       
   230 .sp
       
   231 \fIsimple\fP
       
   232 .INDENT 7.0
       
   233 .INDENT 3.5
       
   234 Simple spiller
       
   235 .UNINDENT
       
   236 .UNINDENT
       
   237 .sp
       
   238 \fIlocal\fP
       
   239 .INDENT 7.0
       
   240 .INDENT 3.5
       
   241 Local spiller
       
   242 .UNINDENT
       
   243 .UNINDENT
       
   244 .UNINDENT
       
   245 .SS Intel IA\-32\-specific Options
       
   246 .INDENT 0.0
       
   247 .TP
       
   248 .B \-\-x86\-asm\-syntax=[att|intel]
       
   249 Specify whether to emit assembly code in AT&T syntax (the default) or Intel
       
   250 syntax.
       
   251 .UNINDENT
       
   252 .SH EXIT STATUS
       
   253 .sp
       
   254 If \fBllc\fP succeeds, it will exit with 0.  Otherwise, if an error
       
   255 occurs, it will exit with a non\-zero value.
       
   256 .SH SEE ALSO
       
   257 .sp
       
   258 lli
       
   259 .SH AUTHOR
       
   260 Maintained by The LLVM Team (http://llvm.org/).
       
   261 .SH COPYRIGHT
       
   262 2003-2016, LLVM Project
       
   263 .\" Generated by docutils manpage writer.
       
   264 .