GCC Middle and Back End API Reference
insn-addr.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define INSN_ADDRESSES(id)   (insn_addresses_[id])
 
#define INSN_ADDRESSES_ALLOC(size)
 
#define INSN_ADDRESSES_FREE()   (insn_addresses_.release ())
 
#define INSN_ADDRESSES_SET_P()   (insn_addresses_.exists ())
 
#define INSN_ADDRESSES_SIZE()   (insn_addresses_.length ())
 
#define INSN_ADDRESSES_NEW(insn, addr)    (insn_addresses_new (insn, addr))
 

Functions

void insn_addresses_new (rtx_insn *insn, int insn_addr)
 

Variables

vec< int > insn_addresses_
 
int insn_current_address
 

Macro Definition Documentation

◆ INSN_ADDRESSES

#define INSN_ADDRESSES ( id)    (insn_addresses_[id])

◆ INSN_ADDRESSES_ALLOC

#define INSN_ADDRESSES_ALLOC ( size)
Value:
do \
{ \
insn_addresses_.create (size); \
insn_addresses_.safe_grow_cleared (size, true); \
memset (insn_addresses_.address (), \
0, sizeof (int) * size); \
} \
while (0)
T * ggc_alloc(ALONE_CXX_MEM_STAT_INFO)
Definition ggc.h:184
vec< int > insn_addresses_
Definition final.cc:288

Referenced by shorten_branches(), and skip_pass().

◆ INSN_ADDRESSES_FREE

#define INSN_ADDRESSES_FREE ( )    (insn_addresses_.release ())

Referenced by init_insn_lengths().

◆ INSN_ADDRESSES_NEW

#define INSN_ADDRESSES_NEW ( insn,
addr )    (insn_addresses_new (insn, addr))

◆ INSN_ADDRESSES_SET_P

#define INSN_ADDRESSES_SET_P ( )    (insn_addresses_.exists ())

◆ INSN_ADDRESSES_SIZE

#define INSN_ADDRESSES_SIZE ( )    (insn_addresses_.length ())

Referenced by final_1(), and insn_addresses_new().

Function Documentation

◆ insn_addresses_new()

void insn_addresses_new ( rtx_insn * insn,
int insn_addr )
inline

Variable Documentation

◆ insn_addresses_

vec<int> insn_addresses_
extern
Macros to support INSN_ADDRESSES
   Copyright (C) 2000-2024 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/>.   

Referenced by insn_addresses_new().

◆ insn_current_address

int insn_current_address
extern
Address of insn being processed.  Used by `insn_current_length'.   

Referenced by final_1(), insn_current_reference_address(), and shorten_branches().