Man Linux: Main Page and Category List

NAME

       LDC - manual page for the LLVM D Compiler

DESCRIPTION

       OVERVIEW: LLVM-based D Compiler

       USAGE: ldc [options] files --run program args...

   OPTIONS:
       -D                                           - Generate documentation

       -Dd=<docdir>                                 - Write documentation file
              to <docdir> directory

       -Df=<filename>                               - Write documentation file
              to <filename>

       -H                                           - Generate 'header' file

       -Hd=<hdrdir>                                  -  Write 'header' file to
              <hdrdir> directory

       -Hf=<filename>                               - Write 'header'  file  to
              <filename>

       -I=<path>                                      -   Where  to  look  for
              imports

       -J=<path>                                    - Where to look for string
              imports

       -L=<linkerflag>                              - Pass <linkerflag> to the
              linker

              Setting the optimization level:

       -O                                         - Equivalent to -O2

       -O0                                        - No optimizations (default)

       -O1                                        - Simple optimizations

       -O2                                        - Good optimizations

       -O3                                        - Aggressive optimizations

       -O4                                        - Link-time optimization

       -O5                                        - Link-time optimization

       -annotate                                     -  Annotate  the  bitcode
              with human readable source code

       -asm-verbose                                   -   Add   comments    to
              directives.

       -c                                           - Do not link

       -check-printf-calls                           -  Validate  printf  call
              format strings against arguments

       -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

       -d                                             -    Allow    deprecated
              language features

       -d-debug=<level/idents>                      - Compile in debug code >=
              <level> or identified by <idents>.

       -d-version=<level/idents>                    - Compile in version  code
              >= <level> or identified by <idents>

       -debuglib=<lib,...>                           -  Set  default libraries
              for debug build

       -defaultlib=<lib,...>                        -  Set  default  libraries
              for non-debug build

       -deps=<filename>                                 -     Write     module
              dependencies to filename

       -enable-asserts                              - (*) Enable assertions

       -enable-boundscheck                          - (*) Enable array  bounds
              checks

       -enable-contracts                            - (*) Enable function pre-
              and post-conditions

       -disable-d-passes                              -   Disable   D-specific
              passes in -O<N>

       -disable-excess-fp-precision                  -  Disable  optimizations
              that may increase FP precision

       -disable-fp-elim                             -  Disable  frame  pointer
              elimination optimization

       -disable-gc2stack                             - Disable promotion of GC
              allocations to stack memory in -O<N>

       -enable-inlining                              -  (*)  Enable   function
              inlining in -O<N>

       -enable-invariants                           - (*) Enable invariants

       -disable-post-RA-scheduler                   - Disable scheduling after
              register allocation

       -enable-postconditions                        -  (*)  Enable   function
              postconditions

       -enable-preconditions                          -  (*)  Enable  function
              preconditions

       -disable-simplify-drtcalls                   -  Disable  simplification
              of runtime calls in -O<N>

       -disable-spill-fusing                         - Disable fusing of spill
              code into instructions

       -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-fp-mad                                - Enable less precise MAD
              instructions to be generated

       -enable-load-pre                             -

       -enable-sjlj-eh                               -  Emit  SJLJ   exception
              handling (default if target supports)

       -enable-unsafe-fp-math                         -  Enable  optimizations
              that may decrease FP precision

       -float-abi                                   - Choose float ABI type

       =default
              -   Target default float ABI type

       =soft  -   Soft float ABI (implied by -soft-float)

       =hard  -   Hard float ABI (uses FP registers)

              Generating debug information:

       -g                                         - Generate debug information

       -gc                                        - Same as -g, but pretend to
              be C

       -help                                          -   Display    available
              options (--help-hidden for more)

       -ignore                                        -   Ignore   unsupported
              pragmas

       -internalize-public-api-file=<filename>      - A file  containing  list
              of symbol names to preserve

       -internalize-public-api-list=<list>           -  A list of symbol names
              to preserve

       -join-liveintervals                             -    Coalesce    copies
              (default=true)

       -limit-float-precision=<uint>                 -  Generate low-precision
              inline sequences for some float libcalls

       -m32                                         - 32 bit target

       -m64                                         - 64 bit target

       -march=<string>                              - 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

       -nested-ctx                                    -  How  to  construct  a
              nested function's context:

       =array -   Array of pointers to variables (including multi-level)

       =hybrid
              -   List of pointers to structs of variables, one per level.

       -noasm                                       - Disallow use  of  inline
              assembler

       -nodefaultlib                                 -  Don't  add  a  default
              library for linking implicitly

       -noruntime                                   - Do not allow  code  that
              generates implicit runtime calls

       -noverify                                      -   Do   not   run   the
              validation pass before writing bitcode

       -nozero-initialized-in-bss                       -     Don't      place
              zero-initialized symbols into bss section

       -o-                                          - Do not write object file

       -od=<objdir>                                 - Write  object  files  to
              directory <objdir>

       -of=<filename>                               - Use <filename> as output
              file name

       -op                                          - Do not strip paths  from
              source file

       -oq                                           - Write object files with
              fully qualified names

       -output-bc                                   - Write LLVM bitcode

       -output-ll                                   - Write LLVM IR

       -output-o                                    - Write native object

       -output-s                                    - Write native assembly

       -pre-RA-sched                                -  Instruction  schedulers
              available (before register allocation):

       =fast  -   Fast suboptimal list scheduling

       =list-td
              -   Top-down list scheduler

       =list-tdrr
              -   Top-down register reduction list scheduling

       =list-burr
              -   Bottom-up register reduction list scheduling

       =default
              -   Best scheduler for the target

       -print-machineinstrs                          - Print generated machine
              code

       -profile-estimator-loop-weight=<loop-weight>   -   Number    of    loop
              executions used for profile-estimator

       -profile-info-file=<filename>                 -  Profile file loaded by
              -profile-loader

       -profile-randomness                          - How to  randomly  choose
              to profile:

       =global
              -   global counter

       =ra_global
              -   register allocated global counter

       =rdcc  -   cycle counter

       -realign-stack                               - Realign stack if needed

       -regalloc                                     -  Register  allocator to
              use: (default = linearscan)

       =linearscan
              -   linear scan register allocator

       -release                                       -   Disables    asserts,
              invariants, contracts and boundscheck

       -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

       -rewriter                                      -   Rewriter   to   use:
              (default: local)

       =local -   local rewriter

       =trivial
              -   trivial rewriter

       -run=<string>                                - program args...

       -schedule-livein-copies                       -  Schedule   copies   of
              livein registers

       -schedule-spills                             - Schedule spill code

       -shrink-wrap                                 - Shrink wrap callee-saved
              register spills/restores

       -singleobj                                   -  Create  only  a  single
              output object file

       -soft-float                                     -   Generate   software
              floating point library calls

       -stack-alignment=<uint>                      - Override  default  stack
              alignment

       -stack-protector-buffer-size=<uint>          - Lower bound for a buffer
              to be considered for stack protection

       -stats                                       - Enable statistics output
              from program

       -tailcallopt                                   -   Turn  on  tail  call
              optimization.

       -time-passes                                 - Time each pass, printing
              elapsed time for each on exit

       -unittest                                    - Compile in unit tests

       -unwind-tables                                 -   Generate   unwinding
              tables for all functions

       -v                                           - Verbose

       -v-cg                                        - Verbose codegen

       -verify-dom-info                             -  Verify  dominator  info
              (time consuming)

       -version                                      -  Display the version of
              this program

       -vv                                          - Very verbose

       -w                                           - Enable warnings

       -x86-asm-syntax                              - Choose style of code  to
              emit from X86 backend:

       =att   -   Emit AT&T-style assembly

       =intel -   Emit Intel-style assembly

       -d-debug  can  also  be  specified  without  options,  in which case it
       enables all debug checks (i.e.  (asserts,  boundchecks,  contracts  and
       invariants) as well as acting as -d-debug=1

       Options  marked with (*) also have a -disable-FOO variant with inverted
       meaning.

       based on DMD v1.051 and llvm 2.6 (Wed Dec  2 17:39:53  2009)  Copyright
       (c)  1999-2009  by  Digital  Mars  and Tomas Lindquist Olsen written by
       Walter Bright and  Tomas  Lindquist  Olsen  D  Language  Documentation:
       http://www.digitalmars.com/d/1.0/index.html        LDC        Homepage:
       http://www.dsource.org/projects/ldc

SEE ALSO

       The full documentation for LLVM is maintained as a Texinfo manual.   If
       the  info  and  LLVM  programs are properly installed at your site, the
       command

              info LLVM

       should give you access to the complete manual.