GCC Middle and Back End API Reference
access_data Struct Reference

#include <pointer-query.h>

Collaboration diagram for access_data:

Public Member Functions

 access_data (range_query *, gimple *, access_mode, tree=NULL_TREE, bool=false, tree=NULL_TREE, bool=false)
 
 access_data (range_query *, tree, access_mode, tree=NULL_TREE, bool=false, tree=NULL_TREE, bool=false)
 

Static Public Member Functions

static void set_bound (offset_int[2], tree, bool, range_query *, gimple *)
 

Data Fields

gimplestmt
 
tree call
 
access_ref dst
 
access_ref src
 
offset_int dst_bndrng [2]
 
offset_int src_bndrng [2]
 
access_mode mode
 
int ostype
 

Detailed Description

Describes a pair of references used in an access by built-in
functions like memcpy.   

Constructor & Destructor Documentation

◆ access_data() [1/2]

access_data::access_data ( range_query * query,
gimple * stmt,
access_mode mode,
tree maxwrite = NULL_TREE,
bool minwrite = false,
tree maxread = NULL_TREE,
bool minread = false )
Set the access to at most MAXWRITE and MAXREAD bytes, and at least 1
when MINWRITE or MINREAD, respectively, is set.   

References dst_bndrng, ggc_alloc(), set_bound(), src_bndrng, and stmt.

◆ access_data() [2/2]

access_data::access_data ( range_query * query,
tree expr,
access_mode mode,
tree maxwrite = NULL_TREE,
bool minwrite = false,
tree maxread = NULL_TREE,
bool minread = false )
Set the access to at most MAXWRITE and MAXREAD bytes, and at least 1
when MINWRITE or MINREAD, respectively, is set.   

References dst_bndrng, ggc_alloc(), set_bound(), src_bndrng, and stmt.

Member Function Documentation

◆ set_bound()

void access_data::set_bound ( offset_int bndrng[2],
tree bound,
bool minaccess,
range_query * query,
gimple * stmt )
static
Set BNDRNG to the range of BOUND for the statement STMT.   

References get_size_range(), ggc_alloc(), HOST_WIDE_INT_M1U, SR_ALLOW_ZERO, stmt, and wi::to_offset().

Referenced by access_data(), and access_data().

Field Documentation

◆ call

tree access_data::call

◆ dst

access_ref access_data::dst

◆ dst_bndrng

offset_int access_data::dst_bndrng[2]

◆ mode

access_mode access_data::mode

Referenced by check_access().

◆ ostype

int access_data::ostype

◆ src

access_ref access_data::src

◆ src_bndrng

offset_int access_data::src_bndrng[2]

◆ stmt

gimple* access_data::stmt

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