GCC Middle and Back End API Reference
ptr_info_def Struct Reference

#include <tree-ssanames.h>

Collaboration diagram for ptr_info_def:

Data Fields

struct pt_solution pt
unsigned int align
unsigned int misalign

Detailed Description

SSA name expresssons routines Copyright (C) 2013 Free Software Foundation, Inc.

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.

GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see http://www.gnu.org/licenses/. Aliasing information for SSA_NAMEs representing pointer variables.


Field Documentation

unsigned int ptr_info_def::align

Alignment and misalignment of the pointer in bytes. Together align and misalign specify low known bits of the pointer. ptr & (align - 1) == misalign. When known, this is the power-of-two byte alignment of the object this pointer points into. This is usually DECL_ALIGN_UNIT for decls and MALLOC_ABI_ALIGNMENT for allocated storage. When the alignment is not known, it is zero. Do not access directly but use functions get_ptr_info_alignment, set_ptr_info_alignment, mark_ptr_info_alignment_unknown and similar.

Referenced by get_address_description(), get_ptr_info_alignment(), and mark_ptr_info_alignment_unknown().

unsigned int ptr_info_def::misalign

When alignment is known, the byte offset this pointer differs from the above alignment. Access only through the same helper functions as align above.

Referenced by get_address_description(), get_ptr_info_alignment(), and mark_ptr_info_alignment_unknown().

struct pt_solution ptr_info_def::pt

The points-to solution.

Referenced by set_ptr_info_alignment(), and update_alias_info_with_stack_vars().


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