[LLVMdev] Proper arguments for -march?

H. Johnson misc at faradayco.com
Fri Nov 14 09:36:31 PST 2008

CMake was set as follows:

Here's what llc returned:

OVERVIEW: llvm system compiler

USAGE: llc [options] <input bitcode>

  -asm-verbose                        - Add comments to directives.
  -code-model                         - Choose code model
    =default                          -   Target default code model
    =small                            -   Small code model
    =kernel                           -   Kernel code model
    =medium                           -   Medium code model
    =large                            -   Large code model
  -disable-excess-fp-precision        - Disable optimizations that may 
increase FP precision
  -disable-fp-elim                    - Disable frame pointer 
elimination optimization
  -disable-post-RA-scheduler          - Disable scheduling after 
register allocation
  -enable-correct-eh-support          - Make the -lowerinvoke pass 
insert expensive, but correct, EH code
  -enable-eh                          - Emit DWARF exception handling 
(default if target supports)
  -enable-finite-only-fp-math         - Enable optimizations that 
assumes non- NaNs / +-Infs
  -enable-unsafe-fp-math              - Enable optimizations that may 
decrease FP precision
  -f                                  - Overwrite output files
  -fast                               - Generate code quickly, 
potentially sacrificing code quality
  -filetype                           - Choose a file type (not all 
types are supported by all targets):
    =asm                              -   Emit an assembly ('.s') file
    =obj                              -   Emit a native object ('.o') 
file [experimental]
    =dynlib                           -   Emit a native dynamic library 
('.so') file [experimental]
  -help                               - Display available options 
(--help-hidden for more)
  -join-liveintervals                 - Coalesce copies (default=true)
  -limit-float-precision=<uint>       - Generate low-precision inline 
sequences for some float libcalls
  -load=<pluginfilename>              - Load the specified plugin
  -march                              - Architecture to generate code for:
  -mattr=<a1,+a2,-a3,...>             - Target specific attributes 
(-mattr=help for details)
  -mcpu=<cpu-name>                    - Target a specific cpu type 
(-mcpu=help for details)
  -mtriple=<string>                   - Override target triple for module
  -nozero-initialized-in-bss          - Don't place zero-initialized 
symbols into bss section
  -o=<filename>                       - Output filename
  -pre-RA-sched                       - Instruction schedulers available 
(before register allocation):
    =default                          -   Best scheduler for the target
    =fast                             -   Fast suboptimal list scheduling
    =list-td                          -   Top-down list scheduler
    =list-burr                        -   Bottom-up register reduction 
list scheduling
    =list-tdrr                        -   Top-down register reduction 
list scheduling
  -print-machineinstrs                - Print generated machine code
  -realign-stack                      - Realign stack if needed
  -regalloc                           - Register allocator to use: 
(default = linearscan)
    =simple                           -   simple register allocator
    =local                            -   local register allocator
    =bigblock                         -   Big-block register allocator
    =linearscan                       -   linear scan register allocator
    =pbqp                             -   PBQP register allocator
  -relocation-model                   - Choose relocation model
    =default                          -   Target default relocation model
    =static                           -   Non-relocatable code
    =pic                              -   Fully relocatable, position 
independent code
    =dynamic-no-pic                   -   Relocatable external 
references, non-relocatable code
  -schedule-livein-copies             - Schedule copies of livein registers
  -soft-float                         - Generate software floating point 
library calls
  -spiller                            - Spiller to use: (default: local)
    =simple                           -   simple spiller
    =local                            -   local spiller
  -stack-alignment=<uint>             - Override default stack alignment
  -stack-protector-buffer-size=<uint> - The lower bound for a buffer to 
be considered for stack smashing protection.
  -stats                              - Enable statistics output from 
  -tailcallopt                        - Turn on tail call optimization.
  -time-passes                        - Time each pass, printing elapsed 
time for each on exit
  -unwind-tables                      - Generate unwinding tables for 
all functions
  -verify-dom-info                    - Verify dominator info (time 
  -version                            - Display the version of this program

Anton Korobeynikov wrote:
> Hello,
> On Fri, Nov 14, 2008 at 6:57 PM, H. Johnson <misc at faradayco.com> wrote:
>> llc -march=x86 tempfileB.bc yields:
>> llc: for the -march option: : Cannot find option named 'x86'!
> Run llc -help and see, if any backends were linked in. It will show
> you list of all backends, which were 'registered' and thus known to
> llc.

More information about the llvm-dev mailing list