![]() |
libFirm
|
Topics | |
| Machine Triple | |
| Target platform information | |
Functions | |
| int | ir_target_set (const char *target_triple) |
Prepares code generation for the target specifiy by target_triple. | |
| int | ir_target_set_triple (ir_machine_triple_t const *machine) |
Prepares code generation for the target specified by machine. | |
| int | ir_target_option (char const *option) |
| Configures the current target. | |
| void | ir_target_init (void) |
| Initializes the code generation target. | |
| char const * | ir_target_experimental (void) |
| Returns a message if the current target is considered experimental. | |
| int | ir_target_big_endian (void) |
| Returns 1 if target uses big endian byte order, 0 if little endian. | |
| unsigned | ir_target_biggest_alignment (void) |
| Returns the biggest alignment required for any target data access. | |
| unsigned | ir_target_pointer_size (void) |
| Returns the size of a pointer in bytes for the target. | |
| int | ir_target_supports_pic (void) |
| Returns 1 if target supports position independent code, 0 otherwise. | |
| int | ir_target_fast_unaligned_memaccess (void) |
| Returns 1 if unaligned memory accesses are (nearly) as fast as aligned ones, 0 otherwise. | |
| ir_mode * | ir_target_float_arithmetic_mode (void) |
| Returns supported float arithmetic mode or NULL if mode_D and mode_F are supported natively. | |
| float_int_conversion_overflow_style_t | ir_target_float_int_overflow_style (void) |
| Returns a. | |
| int ir_target_big_endian | ( | void | ) |
Returns 1 if target uses big endian byte order, 0 if little endian.
| unsigned ir_target_biggest_alignment | ( | void | ) |
Returns the biggest alignment required for any target data access.
| char const * ir_target_experimental | ( | void | ) |
Returns a message if the current target is considered experimental.
| int ir_target_fast_unaligned_memaccess | ( | void | ) |
Returns 1 if unaligned memory accesses are (nearly) as fast as aligned ones, 0 otherwise.
| ir_mode * ir_target_float_arithmetic_mode | ( | void | ) |
Returns supported float arithmetic mode or NULL if mode_D and mode_F are supported natively.
Some backends like x87 can only do arithmetic in a specific float mode (load/store are still done in the "normal" float/double modes).
| float_int_conversion_overflow_style_t ir_target_float_int_overflow_style | ( | void | ) |
Returns a.
| void ir_target_init | ( | void | ) |
Initializes the code generation target.
This must be called after using ir_target_set() or ir_target_set_triple() and possibly ir_target_option(). This defines mode_P and finalizes target and platform information which may be queried after.
| int ir_target_option | ( | char const * | option | ) |
Configures the current target.
Passes an option to furhter configure the currently selected target. This is allowed after calling ir_target_set() or ir_target_set_triple() but not after calling ir_target_init().
Some available options:
The exact set of options is target and platform specific.
| unsigned ir_target_pointer_size | ( | void | ) |
Returns the size of a pointer in bytes for the target.
| int ir_target_set | ( | const char * | target_triple | ) |
Prepares code generation for the target specifiy by target_triple.
target_triple. Note that preparation isn't finished until ir_target_init() is called.target_triple is malformed or unsupported. | int ir_target_set_triple | ( | ir_machine_triple_t const * | machine | ) |
Prepares code generation for the target specified by machine.
Note that preparation isn't finished until ir_target_init() is called.
machine is malformed or unsupported. | int ir_target_supports_pic | ( | void | ) |
Returns 1 if target supports position independent code, 0 otherwise.