Man page - ldc2(1)
Packages contains this manual
Manual
LDC
NAMEDESCRIPTION
OPTIONS:
SEE ALSO
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.