GCC Middle and Back End API Reference
|
#include "bconfig.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "rtl.h"
#include "errors.h"
#include "gensupport.h"
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 |
|
static |
|
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 |
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 |
|
static |
|
static |
|
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.
|
static |
|
static |
Number of operands used in current peephole definition.
Referenced by default_different_addr_displacement_p().