osprey-gcc-4.2.0/gcc/postreload.c File Reference

#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "machmode.h"
#include "hard-reg-set.h"
#include "rtl.h"
#include "tm_p.h"
#include "obstack.h"
#include "insn-config.h"
#include "flags.h"
#include "function.h"
#include "expr.h"
#include "optabs.h"
#include "regs.h"
#include "basic-block.h"
#include "reload.h"
#include "recog.h"
#include "output.h"
#include "cselib.h"
#include "real.h"
#include "toplev.h"
#include "except.h"
#include "tree.h"
#include "timevar.h"
#include "tree-pass.h"

Include dependency graph for postreload.c:

Go to the source code of this file.

Data Types

type  reg_use

Defines

#define RELOAD_COMBINE_MAX_USES   6
#define LABEL_LIVE(LABEL)   (label_live[CODE_LABEL_NUMBER (LABEL) - min_labelno])
#define MODES_OK_FOR_MOVE2ADD(OUTMODE, INMODE)

Functions/Subroutines

static int reload_cse_noop_set_p (rtx)
static void reload_cse_simplify (rtx, rtx)
static void reload_cse_regs_1 (rtx)
static int reload_cse_simplify_set (rtx, rtx)
static int reload_cse_simplify_operands (rtx, rtx)
static void reload_combine (void)
static void reload_combine_note_use (rtx *, rtx)
static void reload_combine_note_store (rtx, rtx, void *)
static void reload_cse_move2add (rtx)
static void move2add_note_store (rtx, rtx, void *)
void reload_cse_regs (rtx first ATTRIBUTE_UNUSED)
static void reload_combine_note_store (rtx dst, rtx set, void *data ATTRIBUTE_UNUSED)
static void move2add_note_store (rtx dst, rtx set, void *data ATTRIBUTE_UNUSED)
static bool gate_handle_postreload (void)
static unsigned int rest_of_handle_postreload (void)

Variables

type {
   struct reg_use   reg_use [RELOAD_COMBINE_MAX_USES]
   int   use_index
   rtx   offset
   int   store_ruid
   int   use_ruid
reg_state [FIRST_PSEUDO_REGISTER]
static int reload_combine_ruid
static int reg_set_luid [FIRST_PSEUDO_REGISTER]
static HOST_WIDE_INT reg_offset [FIRST_PSEUDO_REGISTER]
static int reg_base_reg [FIRST_PSEUDO_REGISTER]
static enum machine_mode reg_mode [FIRST_PSEUDO_REGISTER]
static int move2add_luid
static int move2add_last_label_luid
struct tree_opt_pass pass_postreload_cse


Define Documentation

#define LABEL_LIVE ( LABEL   )     (label_live[CODE_LABEL_NUMBER (LABEL) - min_labelno])

Definition at line 691 of file postreload.c.

#define MODES_OK_FOR_MOVE2ADD ( OUTMODE,
INMODE   ) 

Value:

(GET_MODE_SIZE (OUTMODE) == GET_MODE_SIZE (INMODE) \
   || (GET_MODE_SIZE (OUTMODE) <= GET_MODE_SIZE (INMODE) \
       && TRULY_NOOP_TRUNCATION (GET_MODE_BITSIZE (OUTMODE), \
         GET_MODE_BITSIZE (INMODE))))

Definition at line 1186 of file postreload.c.

#define RELOAD_COMBINE_MAX_USES   6

Definition at line 660 of file postreload.c.


Function Documentation

static bool gate_handle_postreload ( void   )  [static]

Definition at line 1569 of file postreload.c.

References optimize.

static void move2add_note_store ( rtx  dst,
rtx  set,
void *data  ATTRIBUTE_UNUSED 
) [static]

static void move2add_note_store ( rtx  ,
rtx  ,
void  
) [static]

static void reload_combine ( void   )  [static]

static void reload_combine_note_store ( rtx  dst,
rtx  set,
void *data  ATTRIBUTE_UNUSED 
) [static]

static void reload_combine_note_store ( rtx  ,
rtx  ,
void  
) [static]

static void reload_combine_note_use ( rtx xp,
rtx  insn 
) [static]

static void reload_cse_move2add ( rtx  first  )  [static]

static int reload_cse_noop_set_p ( rtx  set  )  [static]

Definition at line 77 of file postreload.c.

References cselib_reg_set_mode(), GET_MODE, rtx_equal_for_cselib_p(), SET_DEST, and SET_SRC.

void reload_cse_regs ( rtx first  ATTRIBUTE_UNUSED  ) 

static void reload_cse_regs_1 ( rtx  first  )  [static]

static void reload_cse_simplify ( rtx  insn,
rtx  testreg 
) [static]

static int reload_cse_simplify_operands ( rtx  insn,
rtx  testreg 
) [static]

static int reload_cse_simplify_set ( rtx  set,
rtx  insn 
) [static]

static unsigned int rest_of_handle_postreload ( void   )  [static]


Variable Documentation

Definition at line 1182 of file postreload.c.

int move2add_luid [static]

Definition at line 1178 of file postreload.c.

Definition at line 681 of file postreload.c.

Initial value:

{
  "postreload",                         
  gate_handle_postreload,               
  rest_of_handle_postreload,            
  NULL,                                 
  NULL,                                 
  0,                                    
  TV_RELOAD_CSE_REGS,                   
  0,                                    
  0,                                    
  0,                                    
  0,                                    
  TODO_dump_func,                       
  'o'                                   
}

Definition at line 1587 of file postreload.c.

Referenced by init_optimization_passes().

int reg_base_reg[FIRST_PSEUDO_REGISTER] [static]

Definition at line 1172 of file postreload.c.

enum machine_mode reg_mode[FIRST_PSEUDO_REGISTER] [static]

Definition at line 1173 of file postreload.c.

HOST_WIDE_INT reg_offset[FIRST_PSEUDO_REGISTER] [static]

Definition at line 1171 of file postreload.c.

int reg_set_luid[FIRST_PSEUDO_REGISTER] [static]

Definition at line 1164 of file postreload.c.

struct { ... } reg_state[FIRST_PSEUDO_REGISTER] [static]

struct reg_use reg_use[RELOAD_COMBINE_MAX_USES]

Definition at line 679 of file postreload.c.

int reload_combine_ruid [static]

Definition at line 689 of file postreload.c.

Definition at line 682 of file postreload.c.

int use_index

Definition at line 680 of file postreload.c.

int use_ruid

Definition at line 683 of file postreload.c.


Generated on Wed Apr 8 14:21:47 2009 for Open64 by  doxygen 1.5.6