GCC Middle and Back End API Reference
|
#include <gimplify_reg_info.h>
Public Member Functions | |
gimplify_reg_info (unsigned num_alternatives, unsigned num_outputs) | |
~gimplify_reg_info () | |
void | set_output (unsigned alt, int regno) |
void | set_input (unsigned alt, int regno) |
int | test_alt_output (unsigned alt, int regno) const |
int | test_alt_input (unsigned alt, int regno) const |
void | set_reg_asm_output (int regno) |
int | test_reg_asm_output (int regno) const |
void | set_reg_asm_input (int regno) |
int | test_reg_asm_input (int regno) const |
void | set_early_clobbered (unsigned alt, unsigned output, int regno) |
bool | test_early_clobbered_alt (unsigned alt, int regno) const |
bool | is_early_clobbered_in_any_output_unequal (unsigned operand, int regno) const |
void | set_clobbered (int regno) |
bool | is_clobbered (int regno) const |
Data Fields | |
tree | operand |
Private Member Functions | |
int | test (const HARD_REG_SET ®s, int regno) const |
Private Attributes | |
HARD_REG_SET * | m_buf |
HARD_REG_SET * | m_alt_output |
HARD_REG_SET * | m_alt_input |
HARD_REG_SET * | m_early_clobbered_alt |
HARD_REG_SET * | m_early_clobbered_output |
HARD_REG_SET | m_reg_asm_output |
HARD_REG_SET | m_reg_asm_input |
const unsigned | m_num_alternatives |
const unsigned | m_num_outputs |
HARD_REG_SET | m_clobbered |
gimplify_reg_info is used during gimplification while walking over operands and their corresponding constraints of asm statements in order to detect errors. m_alt_output is a mapping describing which registers are potentially used in which alternative over all outputs. Similarly for m_alt_input but over all inputs. m_early_clobbered_alt is a mapping describing which register is early clobbered in which alternative over all outputs. m_early_clobbered_output is the counter part to the prior one, i.e., it is a mapping describing which register is early clobbered in which operand over all alternatives. m_reg_asm_output is the set of registers (including register pairs) used for register asm output operands. m_reg_asm_input similar as m_reg_asm_output but for inputs.
|
inline |
|
inline |
References m_buf, and m_num_alternatives.
|
inline |
References m_clobbered, operand, overlaps_hard_reg_set_p(), TREE_TYPE, and TYPE_MODE.
|
inline |
References gcc_checking_assert, m_early_clobbered_output, m_num_outputs, operand, and TEST_HARD_REG_BIT.
|
inline |
References m_clobbered, and SET_HARD_REG_BIT.
|
inline |
|
inline |
References add_to_hard_reg_set(), gcc_checking_assert, m_alt_input, m_num_alternatives, operand, TREE_TYPE, and TYPE_MODE.
|
inline |
References add_to_hard_reg_set(), gcc_checking_assert, m_alt_output, m_num_alternatives, operand, TREE_TYPE, and TYPE_MODE.
|
inline |
References add_to_hard_reg_set(), m_reg_asm_input, operand, TREE_TYPE, and TYPE_MODE.
|
inline |
References add_to_hard_reg_set(), m_reg_asm_output, operand, TREE_TYPE, and TYPE_MODE.
|
inlineprivate |
References end_hard_regno(), operand, TEST_HARD_REG_BIT, TREE_TYPE, and TYPE_MODE.
Referenced by test_alt_input(), test_alt_output(), test_reg_asm_input(), and test_reg_asm_output().
|
inline |
References gcc_checking_assert, m_alt_input, m_num_alternatives, and test().
|
inline |
References gcc_checking_assert, m_alt_output, m_num_alternatives, and test().
|
inline |
References gcc_checking_assert, m_early_clobbered_alt, m_num_alternatives, and TEST_HARD_REG_BIT.
|
inline |
References m_reg_asm_input, and test().
|
inline |
References m_reg_asm_output, and test().
|
private |
Referenced by gimplify_reg_info(), set_input(), and test_alt_input().
|
private |
Referenced by gimplify_reg_info(), set_output(), and test_alt_output().
|
private |
Referenced by gimplify_reg_info(), and ~gimplify_reg_info().
|
private |
Referenced by gimplify_reg_info(), is_clobbered(), and set_clobbered().
|
private |
Referenced by gimplify_reg_info(), set_early_clobbered(), and test_early_clobbered_alt().
|
private |
Referenced by gimplify_reg_info(), is_early_clobbered_in_any_output_unequal(), and set_early_clobbered().
|
private |
|
private |
Referenced by gimplify_reg_info(), is_early_clobbered_in_any_output_unequal(), and set_early_clobbered().
|
private |
Referenced by gimplify_reg_info(), set_reg_asm_input(), and test_reg_asm_input().
|
private |
Referenced by gimplify_reg_info(), set_reg_asm_output(), and test_reg_asm_output().
tree gimplify_reg_info::operand |