libFirm 1.20
backend_params Struct Reference

This structure contains parameters that should be propagated to the libFirm parameter set. More...

#include <be.h>

Data Fields

unsigned support_inline_asm:1
 If set, the backend supports inline assembly.
unsigned support_rotl:1
 If set, the backend supports Rotl nodes.
unsigned byte_order_big_endian:1
 the backend uses big-endian byte ordering if set, else little endian
unsigned modulo_shift_efficient:1
 whether the architecure can natively handle modulo shift modes.
unsigned non_modulo_shift_efficient:1
 whether the architecure can natively handle modulo shift modes.
const ir_settings_arch_dep_tdep_param
 Settings for architecture dependent optimizations.
arch_allow_ifconv_func allow_ifconv
 Backend settings for if-conversion.
unsigned machine_size
 size of machine words.
ir_modemode_float_arithmetic
 some backends like x87 can only do arithmetic in a specific float mode (load/store are still done in the "normal" float/double modes).
ir_typetype_long_long
 type used for long long or NULL if none available.
ir_typetype_unsigned_long_long
 type used for unsigned long long or NULL if none available
ir_typetype_long_double
 type used for long double or NULL if none available.
unsigned trampoline_size
 Size of the trampoline code.
unsigned trampoline_align
 Alignment of the trampoline code.
create_trampoline_fktbuild_trampoline
 If non-zero, build the trampoline.
unsigned stack_param_align
 Alignment of stack parameters.

Detailed Description

This structure contains parameters that should be propagated to the libFirm parameter set.

Definition at line 88 of file be.h.


Field Documentation

Backend settings for if-conversion.

Definition at line 110 of file be.h.

If non-zero, build the trampoline.

Definition at line 144 of file be.h.

the backend uses big-endian byte ordering if set, else little endian

Definition at line 94 of file be.h.

Settings for architecture dependent optimizations.

Definition at line 107 of file be.h.

size of machine words.

This is usually the size of the general purpose integer registers.

Definition at line 114 of file be.h.

some backends like x87 can only do arithmetic in a specific float mode (load/store are still done in the "normal" float/double modes).

Definition at line 120 of file be.h.

whether the architecure can natively handle modulo shift modes.

If this is true, then you can assume that shifting in modes with module_shift==machine_size (if mode size is <= machine_size) is efficient

Definition at line 99 of file be.h.

whether the architecure can natively handle modulo shift modes.

If this is true, then you can assume that shifting without modulo shift is efficient

Definition at line 104 of file be.h.

Alignment of stack parameters.

Definition at line 147 of file be.h.

If set, the backend supports inline assembly.

Definition at line 90 of file be.h.

If set, the backend supports Rotl nodes.

Definition at line 92 of file be.h.

Alignment of the trampoline code.

Definition at line 141 of file be.h.

Size of the trampoline code.

Definition at line 138 of file be.h.

type used for long double or NULL if none available.

Definition at line 135 of file be.h.

type used for long long or NULL if none available.

Definition at line 125 of file be.h.

type used for unsigned long long or NULL if none available

Definition at line 130 of file be.h.


The documentation for this struct was generated from the following file: