osprey-gcc-4.2.0/gcc/config/vax/vax.c File Reference

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

Include dependency graph for vax.c:

Go to the source code of this file.

Defines

#define TARGET_ASM_ALIGNED_HI_OP   "\t.word\t"
#define TARGET_ASM_FUNCTION_PROLOGUE   vax_output_function_prologue
#define TARGET_ASM_FILE_START   vax_file_start
#define TARGET_ASM_FILE_START_APP_OFF   true
#define TARGET_INIT_LIBFUNCS   vax_init_libfuncs
#define TARGET_ASM_OUTPUT_MI_THUNK   vax_output_mi_thunk
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK   default_can_output_mi_thunk_no_vcall
#define TARGET_DEFAULT_TARGET_FLAGS   TARGET_DEFAULT
#define TARGET_RTX_COSTS   vax_rtx_costs
#define TARGET_ADDRESS_COST   vax_address_cost
#define TARGET_PROMOTE_PROTOTYPES   hook_bool_tree_true
#define TARGET_STRUCT_VALUE_RTX   vax_struct_value_rtx
#define INDEX_REGISTER_P(X, STRICT)   (REG_P (X) && (!(STRICT) || REGNO_OK_FOR_INDEX_P (REGNO (X))))
#define BASE_REGISTER_P(X, STRICT)   (REG_P (X) && (!(STRICT) || REGNO_OK_FOR_BASE_P (REGNO (X))))

Functions/Subroutines

static void vax_output_function_prologue (FILE *, HOST_WIDE_INT)
static void vax_file_start (void)
static void vax_init_libfuncs (void)
static void vax_output_mi_thunk (FILE *, tree, HOST_WIDE_INT, HOST_WIDE_INT, tree)
static int vax_address_cost_1 (rtx)
static int vax_address_cost (rtx)
static bool vax_rtx_costs (rtx, int, int, int *)
static rtx vax_struct_value_rtx (tree, int)
void override_options (void)
void split_quadword_operands (rtx *operands, rtx *low, int n ATTRIBUTE_UNUSED)
void print_operand_address (FILE *file, rtx addr)
const char * rev_cond_name (rtx op)
int vax_float_literal (rtx c)
static void vax_output_mi_thunk (FILE *file, tree thunk ATTRIBUTE_UNUSED, HOST_WIDE_INT delta, HOST_WIDE_INT vcall_offset ATTRIBUTE_UNUSED, tree function)
static rtx vax_struct_value_rtx (tree fntype ATTRIBUTE_UNUSED, int incoming ATTRIBUTE_UNUSED)
void vax_notice_update_cc (rtx exp, rtx insn ATTRIBUTE_UNUSED)
const char * vax_output_int_move (rtx insn ATTRIBUTE_UNUSED, rtx *operands, enum machine_mode mode)
const char * vax_output_int_add (rtx insn ATTRIBUTE_UNUSED, rtx *operands, enum machine_mode mode)
const char * vax_output_conditional_branch (enum rtx_code code)
int legitimate_constant_address_p (rtx x)
int legitimate_constant_p (rtx x ATTRIBUTE_UNUSED)
static int indirectable_constant_address_p (rtx x)
static int indirectable_address_p (rtx x, int strict)
static int nonindexed_address_p (rtx x, int strict)
static int index_term_p (rtx prod, enum machine_mode mode, int strict)
static int reg_plus_index_p (rtx x, enum machine_mode mode, int strict)
int legitimate_address_p (enum machine_mode mode, rtx x, int strict)
int vax_mode_dependent_address_p (rtx x)

Variables

struct gcc_target targetm = TARGET_INITIALIZER


Define Documentation

#define BASE_REGISTER_P ( X,
STRICT   )     (REG_P (X) && (!(STRICT) || REGNO_OK_FOR_BASE_P (REGNO (X))))

#define INDEX_REGISTER_P ( X,
STRICT   )     (REG_P (X) && (!(STRICT) || REGNO_OK_FOR_INDEX_P (REGNO (X))))

Definition at line 1123 of file vax.c.

Referenced by index_term_p().

#define TARGET_ADDRESS_COST   vax_address_cost

Definition at line 83 of file vax.c.

#define TARGET_ASM_ALIGNED_HI_OP   "\t.word\t"

Definition at line 59 of file vax.c.

#define TARGET_ASM_CAN_OUTPUT_MI_THUNK   default_can_output_mi_thunk_no_vcall

Definition at line 75 of file vax.c.

#define TARGET_ASM_FILE_START   vax_file_start

Definition at line 65 of file vax.c.

#define TARGET_ASM_FILE_START_APP_OFF   true

Definition at line 67 of file vax.c.

#define TARGET_ASM_FUNCTION_PROLOGUE   vax_output_function_prologue

Definition at line 62 of file vax.c.

#define TARGET_ASM_OUTPUT_MI_THUNK   vax_output_mi_thunk

Definition at line 73 of file vax.c.

#define TARGET_DEFAULT_TARGET_FLAGS   TARGET_DEFAULT

Definition at line 78 of file vax.c.

#define TARGET_INIT_LIBFUNCS   vax_init_libfuncs

Definition at line 70 of file vax.c.

#define TARGET_PROMOTE_PROTOTYPES   hook_bool_tree_true

Definition at line 86 of file vax.c.

#define TARGET_RTX_COSTS   vax_rtx_costs

Definition at line 81 of file vax.c.

#define TARGET_STRUCT_VALUE_RTX   vax_struct_value_rtx

Definition at line 89 of file vax.c.


Function Documentation

static int index_term_p ( rtx  prod,
enum machine_mode  mode,
int  strict 
) [static]

Definition at line 1207 of file vax.c.

References BASE_REGISTER_P, CONST_INT_P, GET_CODE, GET_MODE_SIZE, INDEX_REGISTER_P, INTVAL, and XEXP.

Referenced by legitimate_address_p(), and reg_plus_index_p().

static int indirectable_address_p ( rtx  x,
int  strict 
) [static]

Definition at line 1163 of file vax.c.

References BASE_REGISTER_P, GET_CODE, indirectable_constant_address_p(), PLUS, and XEXP.

Referenced by nonindexed_address_p().

static int indirectable_constant_address_p ( rtx  x  )  [static]

Definition at line 1152 of file vax.c.

References CONSTANT_ADDRESS_P.

Referenced by indirectable_address_p(), legitimate_address_p(), and nonindexed_address_p().

int legitimate_address_p ( enum machine_mode mode  ,
rtx  x,
int  strict 
)

int legitimate_constant_address_p ( rtx  x  ) 

Definition at line 1103 of file vax.c.

References CONST, CONST_INT_P, and GET_CODE.

int legitimate_constant_p ( rtx ATTRIBUTE_UNUSED  ) 

Definition at line 1114 of file vax.c.

static int nonindexed_address_p ( rtx  x,
int  strict 
) [static]

void override_options ( void   ) 

Definition at line 96 of file vax.c.

References REAL_MODE_FORMAT, TARGET_G_FLOAT, and vax_g_format.

void print_operand_address ( FILE file,
rtx  addr 
)

static int reg_plus_index_p ( rtx  x,
enum machine_mode  mode,
int  strict 
) [static]

Definition at line 1236 of file vax.c.

References BASE_REGISTER_P, GET_CODE, index_term_p(), PLUS, and XEXP.

Referenced by legitimate_address_p().

const char* rev_cond_name ( rtx  op  ) 

Definition at line 378 of file vax.c.

References EQ, gcc_unreachable, GE, GET_CODE, GT, LE, LT, and NE.

void split_quadword_operands ( rtx operands,
rtx low,
int n  ATTRIBUTE_UNUSED 
)

Definition at line 172 of file vax.c.

References addr(), gen_rtx_MEM(), GET_CODE, i, MEM_P, operand_subword(), which_alternative, and XEXP.

static int vax_address_cost ( rtx  x  )  [static]

Definition at line 417 of file vax.c.

References CONST, GET_CODE, INTVAL, MEM, offset, PLUS, REG, unsigned, and XEXP.

Referenced by vax_rtx_cost().

static int vax_address_cost_1 ( rtx  addr  )  [static]

Definition at line 456 of file vax.c.

References CONST, GET_CODE, HOST_WIDE_INT, INTVAL, MEM, offset, PLUS, REG, and XEXP.

static void vax_file_start ( void   )  [static]

Definition at line 150 of file vax.c.

References ASM_DOUBLE_CHAR, asm_out_file, DBX_DEBUG, default_file_start(), fprintf(), and write_symbols.

int vax_float_literal ( rtx  c  ) 

static void vax_init_libfuncs ( void   )  [static]

Definition at line 163 of file vax.c.

References set_optab_libfunc(), TARGET_ELF, udiv_optab, and umod_optab.

int vax_mode_dependent_address_p ( rtx  x  ) 

Definition at line 1305 of file vax.c.

References CONSTANT_ADDRESS_P, GET_CODE, PLUS, REG_P, and XEXP.

void vax_notice_update_cc ( rtx  exp,
rtx insn  ATTRIBUTE_UNUSED 
)

const char* vax_output_conditional_branch ( enum rtx_code  code  ) 

Definition at line 1081 of file vax.c.

References EQ, gcc_unreachable, GE, GT, LE, LT, and NE.

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

const char* vax_output_int_add ( rtx insn  ATTRIBUTE_UNUSED,
rtx operands,
enum machine_mode  mode 
)

const char* vax_output_int_move ( rtx insn  ATTRIBUTE_UNUSED,
rtx operands,
enum machine_mode  mode 
)

Definition at line 906 of file vax.c.

References CONST, const0_rtx, CONST_INT_P, gcc_unreachable, GET_CODE, i, INTVAL, and push_operand().

static void vax_output_mi_thunk ( FILE file,
tree thunk  ATTRIBUTE_UNUSED,
HOST_WIDE_INT  delta,
HOST_WIDE_INT vcall_offset  ATTRIBUTE_UNUSED,
tree  function 
) [static]

Definition at line 814 of file vax.c.

References asm_fprintf(), assemble_name(), DECL_RTL, fprintf(), HOST_WIDE_INT_PRINT_DEC, XEXP, and XSTR.

static void vax_output_mi_thunk ( FILE ,
tree  ,
HOST_WIDE_INT  ,
HOST_WIDE_INT  ,
tree   
) [static]

static bool vax_rtx_costs ( rtx  x,
int  code,
int  outer_code,
int *  total 
) [static]

static rtx vax_struct_value_rtx ( tree fntype  ATTRIBUTE_UNUSED,
int incoming  ATTRIBUTE_UNUSED 
) [static]

Definition at line 828 of file vax.c.

References gen_rtx_REG(), Pmode, and VAX_STRUCT_VALUE_REGNUM.

static rtx vax_struct_value_rtx ( tree  ,
int   
) [static]


Variable Documentation

struct gcc_target targetm = TARGET_INITIALIZER

Definition at line 91 of file vax.c.


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