GCC Middle and Back End API Reference
mem_attrs Struct Reference

#include <rtl.h>

Data Fields

tree expr
HOST_WIDE_INT offset
HOST_WIDE_INT size
alias_set_type alias
unsigned int align
unsigned char addrspace
bool offset_known_p
bool size_known_p

Detailed Description

Structure used to describe the attributes of a MEM. These are hashed so MEMs that the same attributes share a data structure. This means they cannot be modified in place.


Field Documentation

unsigned char mem_attrs::addrspace

The address space that the memory reference uses.

alias_set_type mem_attrs::alias

The alias set of the memory reference.

Referenced by change_address_1().

unsigned int mem_attrs::align

The alignment of the reference in bits. Always a multiple of BITS_PER_UNIT. Note that EXPR may have a stricter alignment than the memory reference itself.

Referenced by in_sequence_p().

tree mem_attrs::expr

The expression that the MEM accesses, or null if not known. This expression might be larger than the memory reference itself. (In other words, the MEM might access only part of the object.)

Referenced by change_address_1(), and set_mem_attributes().

HOST_WIDE_INT mem_attrs::offset

The offset of the memory reference from the start of EXPR. Only valid if OFFSET_KNOWN_P.

bool mem_attrs::offset_known_p

True if OFFSET is known.

Referenced by set_mem_attributes().

HOST_WIDE_INT mem_attrs::size

The size of the memory reference in bytes. Only valid if SIZE_KNOWN_P.

Referenced by in_sequence_p().

bool mem_attrs::size_known_p

True if SIZE is known.

Referenced by in_sequence_p().


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