# PyPy Configuration[translation]

PyPy Configuration[translation]
general documentation config index command-line overview

# translation

Contents

- Basic Option Information
- Sub-Options
- Description

# Basic Option Information

- name: translation
- description: Translation Options

# Sub-Options

- translation.stackless: enable stackless features during compilation
- translation.type_system: Type system to use when RTyping
- translation.backend: Backend to use for code generation
- translation.llvm_via_c: compile llvm via C
- translation.gc: Garbage Collection Strategy
- translation.thread: enable use of threading primitives
- translation.verbose: Print extra information
- translation.debug: Record extra annotation information
- translation.insist: Try hard to go on RTyping
- translation.withsmallfuncsets: Represent groups of less funtions than this as indices into an array
- translation.countmallocs: Count mallocs and frees
- translation.cc: Specify compiler to use for compiling generated C
- translation.profopt: Specify profile based optimization script
- translation.noprofopt: Don't use profile based optimization
- translation.instrument: internal: turn instrumentation on
- translation.instrumentctl: internal
- translation.output: Output file name
- translation.vanilla: Try to be as portable as possible, which is not much
- translation.no__thread: don't use __thread for implementing TLS
- translation.compilerflags: Specify flags for the C compiler
- translation.linkerflags: Specify flags for the linker (C backend only)
- translation.simplifying: Simplify flow graphs
- translation.builtins_can_raise_exceptions: When true, assume any call to a 'simple' builtin such as 'hex' can raise an arbitrary exception
- translation.list_comprehension_operations: When true, look for and special-case the sequence of operations that results from a list comprehension and attempt to pre-allocate the list
- translation.fork_before: (UNIX) Create restartable checkpoint before step
- translation.backendopt: Backend Optimization Options
  - translation.backendopt.inline: Do basic inlining and malloc removal
  - translation.backendopt.inline_threshold: Threshold when to inline functions
  - translation.backendopt.inline_heuristic: Dotted name of an heuristic function for inlining
  - translation.backendopt.print_statistics: Print statistics while optimizing
  - translation.backendopt.merge_if_blocks: Merge if ... elif chains
  - translation.backendopt.raisingop2direct_call: Transform operations that can implicitly raise an exception into calls to functions that explicitly raise exceptions
  - translation.backendopt.mallocs: Remove mallocs
  - translation.backendopt.constfold: Constant propagation
  - translation.backendopt.heap2stack: Escape analysis and stack allocation
  - translation.backendopt.profile_based_inline: Use call count profiling to drive inlining, specify arguments
  - translation.backendopt.profile_based_inline_threshold: Threshold when to inline functions for profile based inlining
  - translation.backendopt.profile_based_inline_heuristic: Dotted name of an heuristic function for profile based inlining
  - translation.backendopt.clever_malloc_removal: Drives inlining to remove mallocs in a clever way
  - translation.backendopt.clever_malloc_removal_threshold: Threshold when to inline functions in clever malloc removal
  - translation.backendopt.clever_malloc_removal_heuristic: Dotted name of an heuristic function for inlining in clever malloc removal
  - translation.backendopt.remove_asserts: Remove operations that look like 'raise AssertionError', which lets the C optimizer remove the asserts
  - translation.backendopt.none: Do not run any backend optimizations
- translation.llvm: GenLLVM options
  - translation.llvm.debug: Include the llops in the source as comments
  - translation.llvm.logging: Log how long the various parts of llvm generation take
  - translation.llvm.isolate: Peform an isolated import
- translation.cli: GenCLI options
  - translation.cli.trace_calls: Trace function calls

# Description