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:

Macros

#define DEF_RTL_EXPR(V, N, X, C)   #V,
 
#define CMP_NAME(N)   !strncmp (p->name, (N), strlen ((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 FILEopen_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)
 
int main (int argc, const char **argv)
 

Variables

static const char *const rtx_upname []
 
static vec< optab_patternpatterns
 
static const charheader_file_name = "init-opinit.h"
 
static const charsource_file_name = "init-opinit.c"
 

Macro Definition Documentation

◆ CMP_NAME

#define CMP_NAME ( N)    !strncmp (p->name, (N), strlen ((N)))

◆ DEF_RTL_EXPR

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

Function Documentation

◆ gen_insn()

static void gen_insn ( md_rtx_info * info)
static

References md_rtx_info::def, find_optab(), patterns, and XSTR.

Referenced by main().

◆ handle_arg()

static bool handle_arg ( const char * arg)
static

References header_file_name, and source_file_name.

Referenced by main().

◆ handle_overloaded_code_for()

static 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 assserting code_for_* wrapper.   

References ggc_alloc(), and i.

Referenced by main().

◆ handle_overloaded_gen()

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

References get_pattern_stats(), ggc_alloc(), HOST_WIDE_INT_1U, i, stats, and XVEC.

Referenced by main().

◆ main()

◆ open_outfile()

static FILE * open_outfile ( const char * file_name)
static

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

Referenced by main().

◆ optab_kind_cmp()

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

References a, b, and ggc_alloc().

Referenced by main().

◆ optab_rcode_cmp()

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

References a, b, and ggc_alloc().

Referenced by main().

◆ pattern_cmp()

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

References a, b, and ggc_alloc().

Referenced by main().

Variable Documentation

◆ header_file_name

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

Referenced by handle_arg(), and main().

◆ patterns

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

Referenced by gen_insn(), main(), process_decls(), and process_presence_absence_patterns().

◆ rtx_upname

const char* const rtx_upname[]
static
Initial value:
= {
}

Referenced by main().

◆ source_file_name

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

Referenced by handle_arg(), and main().