GCC Middle and Back End API Reference
genattr.c File Reference
#include "bconfig.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "rtl.h"
#include "errors.h"
#include "read-md.h"
#include "gensupport.h"
Include dependency graph for genattr.c:

Functions

static void gen_attr (rtx)
static void gen_attr ()
static bool check_tune_attr ()
static bool find_tune_attr ()
int main ()

Variables

static vec< rtxconst_attrs
static vec< rtxreservations

Function Documentation

static bool check_tune_attr ( )
static

Check that attribute NAME is used in define_insn_reservation condition EXP. Return true if it is.

Referenced by find_tune_attr().

static bool find_tune_attr ( )
static

Try to find a const attribute (usually cpu or tune) that is used in all define_insn_reservation conditions.

References check_tune_attr(), FOR_EACH_VEC_ELT, XEXP, and XSTR.

static void gen_attr ( rtx  )
static

Generate attribute information (insn-attr.h) from machine description. Copyright (C) 1991-2013 Free Software Foundation, Inc. Contributed by Richard Kenner (kenne.nosp@m.r@vl.nosp@m.si1.u.nosp@m.ltra.nosp@m..nyu..nosp@m.edu)

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/.

static void gen_attr ( )
static

If numeric attribute, don't need to write an enum.

 If `length' attribute, write additional function definitions and define
 variables used by `insn_current_length'.   

References GET_CODE, XEXP, and XSTR.

int main ( )
 Read the machine description.   
     Output interface for pipeline hazards recognition based on
     DFA (deterministic finite state automata.   
     Interface itself:  
     Otherwise we do no scheduling, but we need these typedefs
     in order to avoid uglifying other code with more ifdefs.   
 Special-purpose attributes should be tested with if, not #ifdef.   
 We make an exception here to provide stub definitions for
 insn_*_length* / get_attr_enabled functions.   
 Output flag masks for use by reorg.

 Flags are used to hold branch direction for use by eligible_for_...   

Variable Documentation

vec<rtx> const_attrs
static
vec<rtx> reservations
static