osprey-gcc/gcc/explow.c File Reference

#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "toplev.h"
#include "rtl.h"
#include "tree.h"
#include "tm_p.h"
#include "flags.h"
#include "function.h"
#include "expr.h"
#include "optabs.h"
#include "hard-reg-set.h"
#include "insn-config.h"
#include "ggc.h"
#include "recog.h"
#include "langhooks.h"
#include "gt-explow.h"

Include dependency graph for explow.c:

Go to the source code of this file.

Defines

#define MUST_ALIGN   (PREFERRED_STACK_BOUNDARY < BIGGEST_ALIGNMENT)
#define STACK_GROW_OP   PLUS
#define CMP_OPCODE   LTU

Functions/Subroutines

static rtx break_out_memory_refs (rtx)
static void emit_stack_probe (rtx)
HOST_WIDE_INT trunc_int_for_mode (HOST_WIDE_INT c, enum machine_mode mode)
rtx plus_constant (rtx x, HOST_WIDE_INT c)
rtx eliminate_constant_term (rtx x, rtx *constptr)
rtx expr_size (tree exp)
HOST_WIDE_INT int_expr_size (tree exp)
rtx convert_memory_address (enum machine_mode to_mode ATTRIBUTE_UNUSED, rtx x)
rtx memory_address (enum machine_mode mode, rtx x)
rtx memory_address_noforce (enum machine_mode mode, rtx x)
rtx validize_mem (rtx ref)
rtx copy_to_reg (rtx x)
rtx copy_addr_to_reg (rtx x)
rtx copy_to_mode_reg (enum machine_mode mode, rtx x)
rtx force_reg (enum machine_mode mode, rtx x)
rtx force_not_mem (rtx x)
rtx copy_to_suggested_reg (rtx x, rtx target, enum machine_mode mode)
enum machine_mode promote_mode (tree type, enum machine_mode mode, int *punsignedp, int for_call ATTRIBUTE_UNUSED)
void adjust_stack (rtx adjust)
void anti_adjust_stack (rtx adjust)
static rtx round_push (rtx size)
void emit_stack_save (enum save_level save_level, rtx *psave, rtx after)
void emit_stack_restore (enum save_level save_level, rtx sa, rtx after)
void update_nonlocal_goto_save_area (void)
rtx allocate_dynamic_stack_space (rtx size, rtx target, int known_align)
static GTY (())
void probe_stack_range (HOST_WIDE_INT first, rtx size)
rtx hard_function_value (tree valtype, tree func ATTRIBUTE_UNUSED, int outgoing ATTRIBUTE_UNUSED)
rtx hard_libcall_value (enum machine_mode mode)
int rtx_to_tree_code (enum rtx_code code)


Define Documentation

#define CMP_OPCODE   LTU

#define MUST_ALIGN   (PREFERRED_STACK_BOUNDARY < BIGGEST_ALIGNMENT)

#define STACK_GROW_OP   PLUS

Definition at line 1382 of file explow.c.


Function Documentation

void adjust_stack ( rtx  adjust  ) 

rtx allocate_dynamic_stack_space ( rtx  size,
rtx  target,
int  known_align 
)

void anti_adjust_stack ( rtx  adjust  ) 

static rtx break_out_memory_refs ( rtx  x  )  [static]

rtx convert_memory_address ( enum machine_mode to_mode  ATTRIBUTE_UNUSED,
rtx  x 
)

rtx copy_addr_to_reg ( rtx  x  ) 

Definition at line 563 of file explow.c.

References copy_to_mode_reg(), and Pmode.

rtx copy_to_mode_reg ( enum machine_mode  mode,
rtx  x 
)

rtx copy_to_reg ( rtx  x  ) 

Definition at line 544 of file explow.c.

References emit_move_insn(), force_operand(), gen_reg_rtx(), general_operand(), and GET_MODE.

rtx copy_to_suggested_reg ( rtx  x,
rtx  target,
enum machine_mode  mode 
)

Definition at line 692 of file explow.c.

References emit_move_insn(), gen_reg_rtx(), and REG_P.

rtx eliminate_constant_term ( rtx  x,
rtx constptr 
)

static void emit_stack_probe ( rtx  address  )  [static]

void emit_stack_restore ( enum save_level save_level  ,
rtx  sa,
rtx  after 
)

void emit_stack_save ( enum save_level save_level  ,
rtx psave,
rtx  after 
)

rtx expr_size ( tree  exp  ) 

rtx force_not_mem ( rtx  x  ) 

Definition at line 671 of file explow.c.

References emit_move_insn(), gen_reg_rtx(), GET_MODE, MEM_P, MEM_POINTER, and REG_POINTER.

rtx force_reg ( enum machine_mode  mode,
rtx  x 
)

static GTY ( ()   )  [static]

Definition at line 1350 of file explow.c.

rtx hard_function_value ( tree  valtype,
tree func  ATTRIBUTE_UNUSED,
int outgoing  ATTRIBUTE_UNUSED 
)

rtx hard_libcall_value ( enum machine_mode  mode  ) 

Definition at line 1552 of file explow.c.

References LIBCALL_VALUE.

HOST_WIDE_INT int_expr_size ( tree  exp  ) 

Definition at line 254 of file explow.c.

References host_integerp(), size, TREE_CODE, tree_low_cst(), and TREE_OPERAND.

rtx memory_address ( enum machine_mode  mode,
rtx  x 
)

rtx memory_address_noforce ( enum machine_mode  mode,
rtx  x 
)

Definition at line 514 of file explow.c.

References flag_force_addr, memory_address(), and val.

rtx plus_constant ( rtx  x,
HOST_WIDE_INT  c 
)

Definition at line 76 of file explow.c.

void probe_stack_range ( HOST_WIDE_INT  first,
rtx  size 
)

enum machine_mode promote_mode ( tree  type,
enum machine_mode  mode,
int *  punsignedp,
int for_call  ATTRIBUTE_UNUSED 
)

Definition at line 716 of file explow.c.

References Pmode, POINTERS_EXTEND_UNSIGNED, PROMOTE_FUNCTION_MODE, PROMOTE_MODE, and TREE_CODE.

static rtx round_push ( rtx  size  )  [static]

int rtx_to_tree_code ( enum rtx_code  code  ) 

Definition at line 1563 of file explow.c.

References DIV, MINUS, and PLUS.

HOST_WIDE_INT trunc_int_for_mode ( HOST_WIDE_INT  c,
enum machine_mode  mode 
)

void update_nonlocal_goto_save_area ( void   ) 

Definition at line 1004 of file explow.c.

Referenced by allocate_dynamic_stack_space(), expand_call(), and expand_function_start().

rtx validize_mem ( rtx  ref  ) 


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