GCC Middle and Back End API Reference
ipa_reference_local_vars_info_d Struct Reference
Collaboration diagram for ipa_reference_local_vars_info_d:

Data Fields

bitmap statics_read
 
bitmap statics_written
 

Detailed Description

Callgraph based analysis of static variables. Copyright (C) 2004-2025 Free Software Foundation, Inc. Contributed by Kenneth Zadeck <zadeck@naturalbridge.com> 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/>.
This file gathers information about how variables whose scope is confined to the compilation unit are used. The transitive call site specific clobber effects are computed for the variables whose scope is contained within this compilation unit. First each function and static variable initialization is analyzed to determine which local static variables are either read, written, or have their address taken. Any local static that has its address taken is removed from consideration. Once the local read and writes are determined, a transitive closure of this information is performed over the call graph to determine the worst case set of side effects of each call. In later parts of the compiler, these local and global sets are examined to make the call clobbering less traumatic, promote some statics to registers, and improve aliasing information.
The static variables defined within the compilation unit that are loaded or stored directly by function that owns this structure.

Field Documentation

◆ statics_read

bitmap ipa_reference_local_vars_info_d::statics_read

◆ statics_written

bitmap ipa_reference_local_vars_info_d::statics_written

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