libFirm
ir_settings_arch_dep_t Struct Reference

A parameter structure that drives the machine dependent Firm optimizations. More...

#include <irarch.h>

Data Fields

unsigned also_use_subs: 1
 Use also Subs when resolving Muls to shifts.
unsigned maximum_shifts
 The maximum number of shifts that shall be inserted for a mul.
unsigned highest_shift_amount
 The highest shift amount you want to tolerate.
evaluate_costs_func evaluate
 Evaluate the costs of a generated instruction.
unsigned allow_mulhs: 1
 Use the Mulhs operation for division by constant.
unsigned allow_mulhu: 1
 Use the Mulhu operation for division by constant.
unsigned max_bits_for_mulh
 Maximum number of bits the Mulh operation can take.

Detailed Description

A parameter structure that drives the machine dependent Firm optimizations.

Definition at line 60 of file irarch.h.

Field Documentation

unsigned ir_settings_arch_dep_t::allow_mulhs

Use the Mulhs operation for division by constant.

Definition at line 70 of file irarch.h.

unsigned ir_settings_arch_dep_t::allow_mulhu

Use the Mulhu operation for division by constant.

Definition at line 71 of file irarch.h.

unsigned ir_settings_arch_dep_t::also_use_subs

Use also Subs when resolving Muls to shifts.

Definition at line 62 of file irarch.h.

evaluate_costs_func ir_settings_arch_dep_t::evaluate

Evaluate the costs of a generated instruction.

Definition at line 67 of file irarch.h.

unsigned ir_settings_arch_dep_t::highest_shift_amount

The highest shift amount you want to tolerate.

Muls which would require a higher shift constant are left.

Definition at line 64 of file irarch.h.

unsigned ir_settings_arch_dep_t::max_bits_for_mulh

Maximum number of bits the Mulh operation can take.

Modes with higher amount of bits will use Mulh

Definition at line 72 of file irarch.h.

unsigned ir_settings_arch_dep_t::maximum_shifts

The maximum number of shifts that shall be inserted for a mul.

Definition at line 63 of file irarch.h.


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