GCC Middle and Back End API Reference
genpeep.c 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 genpeep.c:

Data Structures

struct  link

Functions

static void gen_peephole (rtx, int)
static void match_rtx (rtx, struct link *, int)
static void print_path (struct link *)
static void print_code (RTX_CODE)
static void gen_peephole ()
static void match_rtx ()
static void print_path ()
static void print_code ()
int main (int, char **)
int main ()

Variables

static int max_opno
static int n_operands

Function Documentation

static void gen_peephole ( rtx  ,
int   
)
static
static void gen_peephole ( )
static
Walk the insn's pattern, remembering at all times the path
down to the walking point.   
 We get this far if the pattern matches.
 Now test the extra condition.   


 If that matches, construct new pattern and put it in the first insn.
 This new pattern will never be matched.
 It exists only so that insn-extract can get the operands back.
 So use a simple regular form: a PARALLEL containing a vector
 of all the operands.   
 Record this define_peephole's insn code in the insn,
 as if it had been recognized to match this.   
 Delete the remaining insns.   
 See reload1.c for insertion of NOTE which guarantees that this
 cannot be zero.   
int main ( int  ,
char **   
)
int main ( )

Early out: no peepholes for insns followed by barriers.

 Read the machine description.   
static void match_rtx ( rtx  ,
struct link ,
int   
)
static
static void match_rtx ( )
static
         Make sure that at run time `x' is the RTX we want to test.   
         Make sure that at run time `x' is the RTX we want to test.   
         Make sure that at run time `x' is the RTX we want to test.   
static void print_code ( RTX_CODE  )
static
static void print_code ( )
static
static void print_path ( struct link )
static
static void print_path ( )
static

Given a PATH, representing a path down the instruction's pattern from the root to a certain point, output code to evaluate to the rtx at that point.


Variable Documentation

int max_opno
static
int n_operands
static

Number of operands used in current peephole definition.

Referenced by default_different_addr_displacement_p().