GCC Middle and Back End API Reference
genconfig.cc File Reference
#include "bconfig.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "rtl.h"
#include "errors.h"
#include "gensupport.h"
Include dependency graph for genconfig.cc:

Functions

static void walk_insn_part (rtx, int, int)
 
static void gen_insn (md_rtx_info *info)
 
static void gen_expand (md_rtx_info *info)
 
static void gen_split (md_rtx_info *info)
 
static void gen_peephole (md_rtx_info *info)
 
static void gen_peephole2 (md_rtx_info *info)
 
int main (int argc, const char **argv)
 

Variables

static int max_recog_operands
 
static int max_dup_operands
 
static int max_clobbers_per_insn
 
static int have_cmove_flag
 
static int have_cond_exec_flag
 
static int have_lo_sum_flag
 
static int have_rotate_flag
 
static int have_rotatert_flag
 
static int have_peephole_flag
 
static int have_peephole2_flag
 
static int max_insns_per_split = 1
 
static int max_insns_per_peep2
 
static int clobbers_seen_this_insn
 
static int dup_operands_seen_this_insn
 

Function Documentation

◆ gen_expand()

static void gen_expand ( md_rtx_info * info)
static
Similar but scan a define_expand.   

References clobbers_seen_this_insn, md_rtx_info::def, i, max_clobbers_per_insn, walk_insn_part(), XVEC, XVECEXP, and XVECLEN.

Referenced by main().

◆ gen_insn()

◆ gen_peephole()

static void gen_peephole ( md_rtx_info * info)
static

References md_rtx_info::def, i, walk_insn_part(), XVECEXP, and XVECLEN.

Referenced by main().

◆ gen_peephole2()

static void gen_peephole2 ( md_rtx_info * info)
static

◆ gen_split()

static void gen_split ( md_rtx_info * info)
static
Similar but scan a define_split.   

References md_rtx_info::def, i, max_insns_per_split, walk_insn_part(), XVECEXP, and XVECLEN.

Referenced by main().

◆ main()

◆ walk_insn_part()

static void walk_insn_part ( rtx part,
int recog_p,
int non_pc_set_src )
static
RECOG_P will be nonzero if this pattern was seen in a context where it will
be used to recognize, rather than just generate an insn.

NON_PC_SET_SRC will be nonzero if this pattern was seen in a SET_SRC
of a SET whose destination is not (pc).   

References clobbers_seen_this_insn, dup_operands_seen_this_insn, GET_CODE, GET_RTX_FORMAT, GET_RTX_LENGTH, have_cmove_flag, have_cond_exec_flag, have_lo_sum_flag, have_rotate_flag, have_rotatert_flag, i, max_recog_operands, NULL, RTX_CODE, SET, SET_DEST, SET_SRC, walk_insn_part(), XEXP, XINT, XVEC, XVECEXP, and XVECLEN.

Referenced by gen_expand(), gen_insn(), gen_peephole(), gen_peephole2(), gen_split(), and walk_insn_part().

Variable Documentation

◆ clobbers_seen_this_insn

int clobbers_seen_this_insn
static

◆ dup_operands_seen_this_insn

int dup_operands_seen_this_insn
static

Referenced by gen_insn(), and walk_insn_part().

◆ have_cmove_flag

int have_cmove_flag
static

Referenced by main(), and walk_insn_part().

◆ have_cond_exec_flag

int have_cond_exec_flag
static

Referenced by main(), and walk_insn_part().

◆ have_lo_sum_flag

int have_lo_sum_flag
static

Referenced by main(), and walk_insn_part().

◆ have_peephole2_flag

int have_peephole2_flag
static

Referenced by main().

◆ have_peephole_flag

int have_peephole_flag
static

Referenced by main().

◆ have_rotate_flag

int have_rotate_flag
static

Referenced by main(), and walk_insn_part().

◆ have_rotatert_flag

int have_rotatert_flag
static

Referenced by main(), and walk_insn_part().

◆ max_clobbers_per_insn

int max_clobbers_per_insn
static

Referenced by gen_expand(), and gen_insn().

◆ max_dup_operands

int max_dup_operands
static

Referenced by gen_insn(), and main().

◆ max_insns_per_peep2

int max_insns_per_peep2
static
Maximum number of input insns for peephole2.   

Referenced by gen_peephole2(), and main().

◆ max_insns_per_split

int max_insns_per_split = 1
static
Maximum number of insns seen in a split.   

Referenced by gen_split(), and main().

◆ max_recog_operands

int max_recog_operands
static
Generate from machine description:
   - some #define configuration flags.
   Copyright (C) 1987-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/>.   
flags to determine output of machine description dependent #define's.   

Referenced by main(), and walk_insn_part().