GCC Middle and Back End API Reference
genopinit.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 "rtl.def"
Include dependency graph for genopinit.cc:

Data Structures

struct  pattern_info

Macros

#define DEF_RTL_EXPR(V, N, X, C)
#define CMP_NAME(N)

Functions

static void gen_insn (md_rtx_info *info)
static int pattern_cmp (const void *va, const void *vb)
static int optab_kind_cmp (const void *va, const void *vb)
static int optab_rcode_cmp (const void *va, const void *vb)
static bool handle_arg (const char *arg)
static FILE * open_outfile (const char *file_name)
static void handle_overloaded_code_for (FILE *file, overloaded_name *oname)
static void handle_overloaded_gen (FILE *file, overloaded_name *oname)
static const char * narrowest_uint_type (unsigned int limit)
int main (int argc, const char **argv)

Variables

static const char *const rtx_upname []
static vec< pattern_infopatterns
static const char * header_file_name = "init-opinit.h"
static const char * source_file_name = "init-opinit.c"

Macro Definition Documentation

◆ CMP_NAME

#define CMP_NAME ( N)
Value:
!strncmp (p->name, (N), strlen ((N)))
#define N
Definition gensupport.cc:202

Referenced by main().

◆ DEF_RTL_EXPR

#define DEF_RTL_EXPR ( V,
N,
X,
C )
Value:
#V,
Generate code to initialize optabs from machine description.
   Copyright (C) 1993-2026 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/>.   

Function Documentation

◆ gen_insn()

◆ handle_arg()

bool handle_arg ( const char * arg)
static

◆ handle_overloaded_code_for()

void handle_overloaded_code_for ( FILE * file,
overloaded_name * oname )
static
Declare the maybe_code_for_* function for ONAME, and provide
an inline definition of the asserting code_for_* wrapper.   

References overloaded_name::arg_types, handle_overloaded_code_for(), i, and overloaded_name::name.

◆ handle_overloaded_gen()

void handle_overloaded_gen ( FILE * file,
overloaded_name * oname )
static
Declare the maybe_gen_* function for ONAME, and provide
an inline definition of the asserting gen_* wrapper.   

References overloaded_name::arg_types, overloaded_name::first_instance, get_pattern_stats(), handle_overloaded_gen(), HOST_WIDE_INT_1U, i, overloaded_name::name, overloaded_instance::next, and XVEC.

◆ main()

◆ narrowest_uint_type()

const char * narrowest_uint_type ( unsigned int limit)
static
Return the name of the narrowest unsigned integer type that is guaranteed
to hold every value below LIMIT.  The generated file is compiled for the
host, which need not be the machine that runs this generator, so use the
ranges that ISO C requires rather than the ones this machine happens to
provide.  GCC hosts have at least 32-bit ints, which cover every vec
index.   

References narrowest_uint_type().

Referenced by main(), and narrowest_uint_type().

◆ open_outfile()

FILE * open_outfile ( const char * file_name)
static

References errno, fatal(), fopen, and open_outfile().

Referenced by main(), and open_outfile().

◆ optab_kind_cmp()

int optab_kind_cmp ( const void * va,
const void * vb )
static

References a, b, and optab_kind_cmp().

Referenced by main(), and optab_kind_cmp().

◆ optab_rcode_cmp()

int optab_rcode_cmp ( const void * va,
const void * vb )
static

References a, b, and optab_rcode_cmp().

Referenced by main(), and optab_rcode_cmp().

◆ pattern_cmp()

int pattern_cmp ( const void * va,
const void * vb )
static

References a, b, and pattern_cmp().

Referenced by main(), and pattern_cmp().

Variable Documentation

◆ header_file_name

const char* header_file_name = "init-opinit.h"
static

Referenced by handle_arg(), and main().

◆ patterns

vec<pattern_info> patterns
static
Vector in which to collect insns that match.   

Referenced by gen_insn(), and main().

◆ rtx_upname

const char* const rtx_upname[]
static

Referenced by main().

◆ source_file_name

const char* source_file_name = "init-opinit.c"
static

Referenced by handle_arg(), and main().