osprey/kgccfe/gnu/config/romp/romp.c File Reference

#include "config.h"
#include "system.h"
#include "rtl.h"
#include "regs.h"
#include "hard-reg-set.h"
#include "real.h"
#include "insn-config.h"
#include "conditions.h"
#include "output.h"
#include "insn-attr.h"
#include "flags.h"
#include "recog.h"
#include "obstack.h"
#include "tree.h"
#include "function.h"
#include "expr.h"
#include "toplev.h"
#include "tm_p.h"
#include "target.h"
#include "target-def.h"

Include dependency graph for romp.c:

Go to the source code of this file.

Data Types

type  symref_hashent
type  fp_op

Defines

#define min(A, B)   ((A) < (B) ? (A) : (B))
#define max(A, B)   ((A) > (B) ? (A) : (B))
#define TARGET_ASM_FUNCTION_PROLOGUE   romp_output_function_prologue
#define TARGET_ASM_FUNCTION_EPILOGUE   romp_output_function_epilogue
#define SYMHASHSIZE   151
#define HASHBITS   65535
#define FP_HASH_SIZE   101

Functions/Subroutines

static int unsigned_comparisons_p PARAMS ((rtx))
static void output_loadsave_fpregs PARAMS ((FILE *, enum rtx_code, rtx))
static void output_fpops PARAMS ((FILE *))
static void init_fpops PARAMS ((void))
static int memory_offset_in_range_p PARAMS ((rtx, enum machine_mode, int, int))
static void
romp_output_function_prologue 
PARAMS ((FILE *, HOST_WIDE_INT))
int next_insn_tests_no_unsigned (rtx insn)
static int unsigned_comparisons_p (rtx x)
void update_cc (body, rtx insn)
int restore_compare_p (rtx op)
const char * output_in_line_mul ()
static int memory_offset_in_range_p (rtx op, enum machine_mode mode, int low, int high)
int zero_memory_operand (rtx op, enum machine_mode mode)
int short_memory_operand (rtx op, enum machine_mode mode)
int symbolic_memory_operand (rtx op, enum machine_mode mode)
int current_function_operand (rtx op, mode)
int null_epilogue ()
int constant_pool_address_operand (rtx op, mode)
int romp_symbolic_operand (rtx op, mode)
int constant_operand (rtx op, enum machine_mode mode)
int reg_or_cint_operand (rtx op, enum machine_mode mode)
int reg_or_any_cint_operand (rtx op, enum machine_mode mode)
int reg_or_D_operand (rtx op, enum machine_mode mode)
int reg_or_add_operand (rtx op, enum machine_mode mode)
int reg_or_and_operand (rtx op, enum machine_mode mode)
int reg_or_mem_operand (rtx op, enum machine_mode mode)
int reg_or_nonsymb_mem_operand (rtx op, enum machine_mode mode)
int romp_operand (rtx op, enum machine_mode mode)
int reg_0_operand (rtx op, enum machine_mode mode)
int reg_15_operand (rtx op, enum machine_mode mode)
int float_binary (rtx op, enum machine_mode mode)
int float_unary (rtx op, enum machine_mode mode)
int float_conversion (rtx op, enum machine_mode mode)
void print_operand (FILE *file, rtx x, int code)
int first_reg_to_save ()
int romp_sa_size ()
int romp_makes_calls ()
int romp_using_r14 ()
int romp_pushes_stack ()
static void romp_output_function_prologue (FILE *file, HOST_WIDE_INT size)
void output_encoded_offset (FILE *file, unsigned reg_offset)
static void romp_output_function_epilogue (FILE *file, HOST_WIDE_INT size)
rtx get_symref (const char *name)
int check_precision (enum machine_mode opmode, rtx op1, rtx op2)
static unsigned int hash_rtx (rtx x)
const char * output_fpop (enum rtx_code code, rtx op0, rtx op1, rtx op2, insn)
static void output_loadsave_fpregs (FILE *file, enum rtx_code code, rtx addr)
static void output_fpops (FILE *file)
static void init_fpops ()
int romp_debugger_auto_correction (int offset)
int romp_debugger_arg_correction (int offset)
void romp_initialize_trampoline (rtx tramp, rtx fnaddr, rtx cxt)

Variables

struct gcc_target targetm = TARGET_INITIALIZER
static struct symref_hashentsymref_hash_table [SYMHASHSIZE]
static struct fp_opfp_hash_table [FP_HASH_SIZE]
static struct fp_opfirst_fpop
static struct fp_oplast_fpop_in_mem
static int subr_number = 0
int data_offset


Define Documentation

#define FP_HASH_SIZE   101

Definition at line 1426 of file romp.c.

#define HASHBITS   65535

Definition at line 1328 of file romp.c.

#define max ( A,
B   )     ((A) > (B) ? (A) : (B))

Definition at line 46 of file romp.c.

#define min ( A,
B   )     ((A) < (B) ? (A) : (B))

Definition at line 45 of file romp.c.

#define SYMHASHSIZE   151

Definition at line 1327 of file romp.c.

#define TARGET_ASM_FUNCTION_EPILOGUE   romp_output_function_epilogue

Definition at line 61 of file romp.c.

#define TARGET_ASM_FUNCTION_PROLOGUE   romp_output_function_prologue

Definition at line 59 of file romp.c.


Function Documentation

int check_precision ( enum machine_mode  opmode,
rtx  op1,
rtx  op2 
)

Definition at line 1389 of file romp.c.

References FLOAT, and GET_CODE.

int constant_operand ( rtx  op,
enum machine_mode  mode 
)

Definition at line 436 of file romp.c.

References CONST, GET_CODE, INTVAL, PLUS, and romp_symbolic_operand().

int constant_pool_address_operand ( rtx  op,
mode   
)

Definition at line 397 of file romp.c.

References CONST, CONSTANT_POOL_ADDRESS_P, GET_CODE, PLUS, and XEXP.

int current_function_operand ( rtx  op,
mode   
)

int first_reg_to_save ( void   ) 

Definition at line 983 of file romp.c.

References regs_ever_live, and romp_using_r14().

int float_binary ( rtx  op,
enum machine_mode  mode 
)

Definition at line 591 of file romp.c.

References DIV, GET_CODE, GET_MODE, MINUS, PLUS, and XEXP.

int float_conversion ( rtx  op,
enum machine_mode  mode 
)

Definition at line 636 of file romp.c.

References FIX, FLOAT, GET_CODE, GET_MODE, and XEXP.

int float_unary ( rtx  op,
enum machine_mode  mode 
)

Definition at line 618 of file romp.c.

References ABS, GET_CODE, GET_MODE, and XEXP.

rtx get_symref ( const char *  name  ) 

static unsigned int hash_rtx ( rtx  x  )  [static]

Definition at line 1446 of file romp.c.

References GET_CODE, GET_MODE, GET_RTX_FORMAT, GET_RTX_LENGTH, hash_rtx(), HOST_WIDE_INT, i, int, XEXP, XINT, and XSTR.

static void init_fpops (  )  [static]

Definition at line 1996 of file romp.c.

References FP_HASH_SIZE, and i.

static int memory_offset_in_range_p ( rtx  op,
enum machine_mode  mode,
int  low,
int  high 
) [static]

int next_insn_tests_no_unsigned ( rtx  insn  ) 

int null_epilogue (  ) 

Definition at line 387 of file romp.c.

References first_reg_to_save(), reload_completed, and romp_pushes_stack().

void output_encoded_offset ( FILE file,
unsigned  reg_offset 
)

Definition at line 1168 of file romp.c.

References fprintf().

const char* output_fpop ( enum rtx_code  code,
rtx  op0,
rtx  op1,
rtx  op2,
insn   
)

static void output_fpops ( FILE file  )  [static]

const char* output_in_line_mul (  ) 

Definition at line 254 of file romp.c.

References i, insns, strcat(), and strcpy.

static void output_loadsave_fpregs ( FILE file,
enum rtx_code  code,
rtx  addr 
) [static]

Definition at line 1740 of file romp.c.

References const0_rtx, fprintf(), GEN_INT, gen_rtx_MEM(), i, output_fpop(), Pmode, regs_ever_live, and TARGET_FP_REGS.

static void romp_output_function_prologue PARAMS ( (FILE *, HOST_WIDE_INT)   )  [static]

static int memory_offset_in_range_p PARAMS ( (rtx, enum machine_mode, int, int)   )  [static]

static void init_fpops PARAMS ( (void  )  [static, read]

Definition at line 77 of file cplus-dem.c.

static void output_fpops PARAMS ( (FILE *)   )  [static]

static void output_loadsave_fpregs PARAMS ( (FILE *, enum rtx_code, rtx  )  [static]

static int unsigned_comparisons_p PARAMS ( (rtx  )  [static]

void print_operand ( FILE file,
rtx  x,
int  code 
)

int reg_0_operand ( rtx  op,
enum machine_mode  mode 
)

Definition at line 569 of file romp.c.

References GET_CODE, GET_MODE, REG, and REGNO.

int reg_15_operand ( rtx  op,
enum machine_mode  mode 
)

Definition at line 580 of file romp.c.

References GET_CODE, GET_MODE, REG, and REGNO.

int reg_or_add_operand ( rtx  op,
enum machine_mode  mode 
)

Definition at line 499 of file romp.c.

References GET_CODE, INTVAL, reg_or_D_operand(), and romp_symbolic_operand().

int reg_or_and_operand ( rtx  op,
enum machine_mode  mode 
)

Definition at line 511 of file romp.c.

References GET_CODE, INTVAL, and reg_or_cint_operand().

int reg_or_any_cint_operand ( rtx  op,
enum machine_mode  mode 
)

Definition at line 475 of file romp.c.

References GET_CODE, and register_operand().

int reg_or_cint_operand ( rtx  op,
enum machine_mode  mode 
)

Definition at line 462 of file romp.c.

References constant_operand(), GET_CODE, and register_operand().

int reg_or_D_operand ( rtx  op,
enum machine_mode  mode 
)

Definition at line 485 of file romp.c.

References GET_CODE, INTVAL, and register_operand().

int reg_or_mem_operand ( rtx  op,
enum machine_mode  mode 
)

Definition at line 528 of file romp.c.

References memory_operand(), and register_operand().

int reg_or_nonsymb_mem_operand ( rtx  op,
enum machine_mode  mode 
)

Definition at line 539 of file romp.c.

References memory_operand(), register_operand(), and symbolic_memory_operand().

int restore_compare_p ( rtx  op  ) 

Definition at line 239 of file romp.c.

References CC_UNSIGNED, GE, GET_CODE, GT, LE, and LT.

int romp_debugger_arg_correction ( int  offset  ) 

Definition at line 2034 of file romp.c.

References ARG_POINTER_REGNUM, FRAME_POINTER_REGNUM, and INITIAL_ELIMINATION_OFFSET.

int romp_debugger_auto_correction ( int  offset  ) 

Definition at line 2011 of file romp.c.

References FRAME_POINTER_REGNUM, INITIAL_ELIMINATION_OFFSET, and STACK_POINTER_REGNUM.

void romp_initialize_trampoline ( rtx  tramp,
rtx  fnaddr,
rtx  cxt 
)

int romp_makes_calls (  ) 

Definition at line 1031 of file romp.c.

References get_attr_type(), GET_CODE, get_insns(), insn, next_insn(), PATTERN, and USE.

int romp_operand ( rtx  op,
enum machine_mode  mode 
)

Definition at line 556 of file romp.c.

References constant_operand(), general_operand(), and GET_CODE.

static void romp_output_function_epilogue ( FILE file,
HOST_WIDE_INT  size 
) [static]

static void romp_output_function_prologue ( FILE file,
HOST_WIDE_INT  size 
) [static]

int romp_pushes_stack (  ) 

int romp_sa_size (  ) 

Definition at line 1004 of file romp.c.

References first_reg_to_save(), i, regs_ever_live, size, and TARGET_FP_REGS.

int romp_symbolic_operand ( rtx  op,
mode   
)

Definition at line 412 of file romp.c.

References CONST, GET_CODE, and XEXP.

int romp_using_r14 (  ) 

int short_memory_operand ( rtx  op,
enum machine_mode  mode 
)

Definition at line 329 of file romp.c.

References GET_MODE, GET_MODE_SIZE, memory_offset_in_range_p(), min, and UNITS_PER_WORD.

int symbolic_memory_operand ( rtx  op,
enum machine_mode mode   
)

static int unsigned_comparisons_p ( rtx  x  )  [static]

Definition at line 91 of file romp.c.

References cc0_rtx, CONST, GET_CODE, GET_RTX_FORMAT, GET_RTX_LENGTH, i, len, PC, REG, unsigned_comparisons_p(), XEXP, XVECEXP, and XVECLEN.

void update_cc ( body  ,
rtx  insn 
)

int zero_memory_operand ( rtx  op,
enum machine_mode  mode 
)

Definition at line 319 of file romp.c.

References memory_offset_in_range_p().


Variable Documentation

Definition at line 1441 of file romp.c.

struct fp_op* first_fpop [static]

Definition at line 1432 of file romp.c.

struct fp_op* fp_hash_table[FP_HASH_SIZE] [static]

Definition at line 1429 of file romp.c.

Definition at line 1435 of file romp.c.

int subr_number = 0 [static]

Definition at line 1438 of file romp.c.

struct symref_hashent* symref_hash_table[SYMHASHSIZE] [static]

Definition at line 1332 of file romp.c.

struct gcc_target targetm = TARGET_INITIALIZER

Definition at line 63 of file romp.c.


Generated on Wed Apr 8 15:24:27 2009 for Open64 by  doxygen 1.5.6