GCC Middle and Back End API Reference
address_reload_context Struct Reference

#include <emit-rtl.h>

Inheritance diagram for address_reload_context:

Public Member Functions

virtual rtx get_reload_reg () const
rtx emit_autoinc (rtx value, poly_int64 amount)

Detailed Description

Class wrapping emit_autoinc which allows derived classes to control
how reload pseudos are created.   

Member Function Documentation

◆ emit_autoinc()

rtx address_reload_context::emit_autoinc ( rtx value,
poly_int64 inc_amount )
Emit insns to reload VALUE into a new register.  VALUE is an
auto-increment or auto-decrement RTX whose operand is a register or
memory location; so reloading involves incrementing that location.

INC_AMOUNT is the number to increment or decrement by (always
positive and ignored for POST_MODIFY/PRE_MODIFY).

Return a pseudo containing the result.   

References add_insn(), delete_insns_since(), emit_insn(), gcc_assert, gen_add2_insn(), gen_int_mode(), gen_move_insn(), gen_sub2_insn(), GET_CODE, get_last_insn(), GET_MODE, get_reload_reg(), last, offset, poly_int_rtx_p(), recog_memoized(), REG_P, rtx_equal_p(), and XEXP.

Referenced by emit_inc(), and force_reload_address().

◆ get_reload_reg()

virtual rtx address_reload_context::get_reload_reg ( ) const

Reimplemented in lra_autoinc_reload_context.

References gen_reg_rtx().

Referenced by emit_autoinc().

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