GCC Middle and Back End API Reference
|
#include "insn-modes.h"
#include "signop.h"
#include "wide-int.h"
#include "wide-int-print.h"
#include "poly-int.h"
#include "poly-int-types.h"
#include "insn-modes-inline.h"
#include "machmode.h"
#include "double-int.h"
#include "align.h"
#include "iterator-utils.h"
#include "real.h"
#include "fixed-value.h"
#include "hash-table.h"
#include "hash-set.h"
#include "input.h"
#include "is-a.h"
#include "memory-block.h"
#include "dumpfile.h"
Go to the source code of this file.
Data Structures | |
struct | kv_pair< ValueType > |
Namespaces | |
namespace | gcc |
Macros | |
#define | GTY(x) /* nothing - marker for gengtype @endverbatim */ |
#define | ADDR_SPACE_GENERIC 0 |
#define | ADDR_SPACE_GENERIC_P(AS) ((AS) == ADDR_SPACE_GENERIC) |
#define | OBSTACK_CHUNK_SIZE memory_block_pool::block_size |
#define | obstack_chunk_alloc mempool_obstack_chunk_alloc |
#define | obstack_chunk_free mempool_obstack_chunk_free |
#define | gcc_obstack_init(OBSTACK) |
#define | POLY_INT_CONVERSION 0 |
#define ADDR_SPACE_GENERIC 0 |
The value of addr_space_t that represents the generic address space.
Referenced by build_def_use(), copyprop_hardreg_forward_1(), create_new_invariant(), decompose_lea_address(), expand_expr_addr_expr(), find_reloads(), find_reloads_address(), get_variable_section(), init_caller_save(), init_emit_regs(), ira_build_conflicts(), maybe_fix_stack_asms(), preprocess_constraints(), process_alt_operands(), record_operand_costs(), record_reg_classes(), reg_class_from_constraints(), set_mem_attrs_for_spill(), simplify_context::simplify_unary_operation_1(), and tree_nop_conversion_p().
#define ADDR_SPACE_GENERIC_P | ( | AS | ) | ((AS) == ADDR_SPACE_GENERIC) |
Referenced by asan_protect_global(), canon_address(), clear_storage_hints(), dump_generic_node(), emit_block_move_hints(), expand_assignment(), find_reloads_address(), find_single_drs(), function_and_variable_visibility(), get_memory_rtx(), get_variable_section(), gimplify_modify_expr(), gimplify_modify_expr_to_memcpy(), gimplify_modify_expr_to_memset(), instrument_derefs(), instrument_expr(), instrument_mem_ref(), memory_address_addr_space_p(), modified_type_die(), print_node(), print_node_brief(), rtx_writer::print_rtx(), strict_memory_address_addr_space_p(), ubsan_expand_null_ifn(), and valid_address_p().
#define gcc_obstack_init | ( | OBSTACK | ) |
Referenced by addr_stridxptr(), alloc_aux_for_blocks(), alloc_aux_for_edges(), alloc_mem(), analyze_subscript_affine_affine(), combine_instructions(), create_coalesce_list(), create_output_block(), dbr_schedule(), DFS::DFS(), do_rpo_vn_1(), dse_step0(), find_always_executed_bbs(), init_alias_vars(), init_opts_obstack(), init_pre(), init_reload(), init_subregs_of_mode(), ipa_odr_read_section(), ipa_pta_execute(), ipa_sra_summarize_function(), ira(), lto_reader_init(), new_graph(), one_code_hoisting_pass(), one_cprop_pass(), one_pre_gcse_pass(), parallelize_loops(), perform_var_substitution(), vn_walk_cb_data::push_partial_def(), regrename_init(), sra_initialize(), tree_ssa_iv_optimize_init(), and tree_ssa_lim_initialize().
#define GTY | ( | x | ) | /* nothing - marker for gengtype @endverbatim */ |
GCC core type declarations. Copyright (C) 2002-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. Under Section 7 of GPL version 3, you are granted additional permissions described in the GCC Runtime Library Exception, version 3.1, as published by the Free Software Foundation. You should have received a copy of the GNU General Public License and a copy of the GCC Runtime Library Exception along with this program; see the files COPYING3 and COPYING.RUNTIME respectively. If not, see <http://www.gnu.org/licenses/>.
Provide forward declarations of core types which are referred to by most of the compiler. This allows header files to use these types (e.g. in function prototypes) without concern for whether the full definitions are visible. Some other declarations that need to be universally visible are here, too. In the context of tconfig.h, most of these have special definitions which prevent them from being used except in further type declarations. This is a kludge; the right thing is to avoid including the "tm.h" header set in the context of tconfig.h, but we're not there yet.
#define obstack_chunk_alloc mempool_obstack_chunk_alloc |
Referenced by bitmap_obstack_initialize().
#define obstack_chunk_free mempool_obstack_chunk_free |
Referenced by bitmap_obstack_initialize().
#define OBSTACK_CHUNK_SIZE memory_block_pool::block_size |
Referenced by bitmap_obstack_initialize().
#define POLY_INT_CONVERSION 0 |
Most source files will require the following headers.
On targets that don't need polynomial offsets, target-specific code should be able to treat poly_int like a normal constant, with a conversion operator going from the former to the latter. We also allow this for gencondmd.cc for all targets, so that we can treat machine_modes as enums without causing build failures.
Address space number for named address space support.
The type of an alias set. Code currently assumes that variables of this type can take the values 0 (the alias set which aliases everything) and -1 (sometimes indicating that the alias set is unknown, sometimes indicating a memory barrier) and -2 (indicating that the alias set should be set to a unique value but has not been set yet).
Support for user-provided GGC and PCH markers. The first parameter is a pointer to a pointer, the second either NULL if the pointer to pointer points into a GC object or the actual pointer address if the first argument points to a temporary and the third a cookie.
typedef int reg_class_t |
enum reg_class is target specific, so it should not appear in target-independent code or interfaces, like the target hook declarations in target.h.
typedef std::pair<const char *, int> string_int_pair |
The thread-local storage model associated with a given VAR_DECL or SYMBOL_REF. This isn't used much, but both trees and RTL refer to it, so it's here.
Enumerator | |
---|---|
TLS_MODEL_NONE | |
TLS_MODEL_EMULATED | |
TLS_MODEL_REAL | |
TLS_MODEL_GLOBAL_DYNAMIC | |
TLS_MODEL_LOCAL_DYNAMIC | |
TLS_MODEL_INITIAL_EXEC | |
TLS_MODEL_LOCAL_EXEC |