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

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

Include dependency graph for fr30.c:

Go to the source code of this file.

Data Types

type  fr30_frame_info

Defines

#define FRAME_POINTER_MASK   (1 << (FRAME_POINTER_REGNUM))
#define RETURN_POINTER_MASK   (1 << (RETURN_POINTER_REGNUM))
#define MUST_SAVE_REGISTER(regno)
#define MUST_SAVE_FRAME_POINTER   (regs_ever_live [FRAME_POINTER_REGNUM] || frame_pointer_needed)
#define MUST_SAVE_RETURN_POINTER   (regs_ever_live [RETURN_POINTER_REGNUM] || current_function_profile)
#define TARGET_ASM_ALIGNED_HI_OP   "\t.hword\t"
#define TARGET_ASM_ALIGNED_SI_OP   "\t.word\t"
#define TARGET_PROMOTE_PROTOTYPES   hook_bool_tree_true
#define TARGET_PASS_BY_REFERENCE   hook_pass_by_reference_must_pass_in_stack
#define TARGET_ARG_PARTIAL_BYTES   fr30_arg_partial_bytes
#define TARGET_SETUP_INCOMING_VARARGS   fr30_setup_incoming_varargs
#define TARGET_MUST_PASS_IN_STACK   fr30_must_pass_in_stack
#define Mmode   enum machine_mode

Functions/Subroutines

static void fr30_setup_incoming_varargs (CUMULATIVE_ARGS *, enum machine_mode, tree, int *, int)
static bool fr30_must_pass_in_stack (enum machine_mode, tree)
static int fr30_arg_partial_bytes (CUMULATIVE_ARGS *, enum machine_mode, tree, bool)
unsigned int fr30_compute_frame_size (int from_reg, int to_reg)
void fr30_expand_prologue (void)
void fr30_expand_epilogue (void)
void fr30_setup_incoming_varargs (CUMULATIVE_ARGS *arg_regs_used_so_far, enum machine_mode mode, tree type ATTRIBUTE_UNUSED, int *pretend_size, int second_time ATTRIBUTE_UNUSED)
void fr30_print_operand_address (FILE *stream, rtx address)
void fr30_print_operand (FILE *file, rtx x, int code)
int fr30_num_arg_regs (enum machine_mode mode, tree type)
int fr30_check_multiple_regs (rtx *operands, int num_operands, int descending)
int fr30_const_double_is_zero (rtx operand)
rtx fr30_move_double (rtx *operands)

Variables

struct rtx_def * fr30_compare_op0
struct rtx_def * fr30_compare_op1
static struct fr30_frame_info current_frame_info
static struct fr30_frame_info zero_frame_info
struct gcc_target targetm = TARGET_INITIALIZER


Define Documentation

#define FRAME_POINTER_MASK   (1 << (FRAME_POINTER_REGNUM))

Definition at line 131 of file fr30.c.

#define Mmode   enum machine_mode

Definition at line 733 of file fr30.c.

#define MUST_SAVE_FRAME_POINTER   (regs_ever_live [FRAME_POINTER_REGNUM] || frame_pointer_needed)

Definition at line 143 of file fr30.c.

#define MUST_SAVE_REGISTER ( regno   ) 

Value:

(   (regno) != RETURN_POINTER_REGNUM \
   && (regno) != FRAME_POINTER_REGNUM  \
   &&   regs_ever_live [regno]         \
   && ! call_used_regs [regno]         )

Definition at line 137 of file fr30.c.

#define MUST_SAVE_RETURN_POINTER   (regs_ever_live [RETURN_POINTER_REGNUM] || current_function_profile)

Definition at line 144 of file fr30.c.

#define RETURN_POINTER_MASK   (1 << (RETURN_POINTER_REGNUM))

Definition at line 132 of file fr30.c.

#define TARGET_ARG_PARTIAL_BYTES   fr30_arg_partial_bytes

Definition at line 161 of file fr30.c.

#define TARGET_ASM_ALIGNED_HI_OP   "\t.hword\t"

Definition at line 152 of file fr30.c.

#define TARGET_ASM_ALIGNED_SI_OP   "\t.word\t"

Definition at line 154 of file fr30.c.

#define TARGET_MUST_PASS_IN_STACK   fr30_must_pass_in_stack

Definition at line 166 of file fr30.c.

#define TARGET_PASS_BY_REFERENCE   hook_pass_by_reference_must_pass_in_stack

Definition at line 159 of file fr30.c.

#define TARGET_PROMOTE_PROTOTYPES   hook_bool_tree_true

Definition at line 157 of file fr30.c.

#define TARGET_SETUP_INCOMING_VARARGS   fr30_setup_incoming_varargs

Definition at line 164 of file fr30.c.


Function Documentation

static int fr30_arg_partial_bytes ( CUMULATIVE_ARGS cum,
enum machine_mode  mode,
tree  type,
bool  named 
) [static]

Definition at line 708 of file fr30.c.

References fr30_num_arg_regs(), FR30_NUM_ARG_REGS, and UNITS_PER_WORD.

int fr30_check_multiple_regs ( rtx operands,
int  num_operands,
int  descending 
)

Definition at line 739 of file fr30.c.

References CONDITION_CODE_REGNUM, GET_CODE, REG, and REGNO.

unsigned int fr30_compute_frame_size ( int  from_reg,
int  to_reg 
)

int fr30_const_double_is_zero ( rtx  operand  ) 

Definition at line 776 of file fr30.c.

References d, dconst0, GET_CODE, NULL, REAL_VALUE_FROM_CONST_DOUBLE, REAL_VALUE_TYPE, and REAL_VALUES_EQUAL.

void fr30_expand_epilogue ( void   ) 

void fr30_expand_prologue ( void   ) 

rtx fr30_move_double ( rtx operands  ) 

static bool fr30_must_pass_in_stack ( enum machine_mode  mode,
tree  type 
) [static]

Definition at line 673 of file fr30.c.

References AGGREGATE_TYPE_P, and NULL.

int fr30_num_arg_regs ( enum machine_mode  mode,
tree  type 
)

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

void fr30_print_operand_address ( FILE stream,
rtx  address 
)

Definition at line 453 of file fr30.c.

References debug_rtx(), fprintf(), GET_CODE, output_addr_const(), and output_operand_lossage().

void fr30_setup_incoming_varargs ( CUMULATIVE_ARGS arg_regs_used_so_far,
enum machine_mode  mode,
tree type  ATTRIBUTE_UNUSED,
int *  pretend_size,
int second_time  ATTRIBUTE_UNUSED 
)

static void fr30_setup_incoming_varargs ( CUMULATIVE_ARGS ,
enum  machine_mode,
tree  ,
int *  ,
int   
) [static]


Variable Documentation

Definition at line 119 of file fr30.c.

Definition at line 55 of file fr30.c.

Definition at line 56 of file fr30.c.

struct gcc_target targetm = TARGET_INITIALIZER

Definition at line 168 of file fr30.c.

Definition at line 122 of file fr30.c.


Generated on Wed Apr 8 15:19:32 2009 for Open64 by  doxygen 1.5.6