Mercurial > hg > CbC > CbC_gcc
diff gcc/config/arc/arc.h @ 55:77e2b8dfacca gcc-4.4.5
update it from 4.4.3 to 4.5.0
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 12 Feb 2010 23:39:51 +0900 |
parents | a06113de4d67 |
children | f6334be47118 |
line wrap: on
line diff
--- a/gcc/config/arc/arc.h Sun Feb 07 18:28:00 2010 +0900 +++ b/gcc/config/arc/arc.h Fri Feb 12 23:39:51 2010 +0900 @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler, Argonaut ARC cpu. Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, - 2007, 2008 Free Software Foundation, Inc. + 2007, 2008, 2009 Free Software Foundation, Inc. This file is part of GCC. @@ -516,12 +516,6 @@ not be a register used by the prologue. */ #define STATIC_CHAIN_REGNUM 24 -/* A C expression which is nonzero if a function must have and use a - frame pointer. This expression is evaluated in the reload pass. - If its value is nonzero the function will have a frame pointer. */ -#define FRAME_POINTER_REQUIRED \ -(cfun->calls_alloca) - /* C statement to store the difference between the frame pointer and the stack pointer values immediately after the function prologue. */ #define INITIAL_FRAME_POINTER_OFFSET(VAR) \ @@ -663,39 +657,8 @@ for profiling a function entry. */ #define FUNCTION_PROFILER(FILE, LABELNO) -/* Trampolines. */ -/* ??? This doesn't work yet because GCC will use as the address of a nested - function the address of the trampoline. We need to use that address - right shifted by 2. It looks like we'll need PSImode after all. :-( */ - -/* Output assembler code for a block containing the constant parts - of a trampoline, leaving space for the variable parts. */ -/* On the ARC, the trampoline is quite simple as we have 32-bit immediate - constants. - - mov r24,STATIC - j.nd FUNCTION -*/ -#define TRAMPOLINE_TEMPLATE(FILE) \ -do { \ - assemble_aligned_integer (UNITS_PER_WORD, GEN_INT (0x631f7c00)); \ - assemble_aligned_integer (UNITS_PER_WORD, const0_rtx); \ - assemble_aligned_integer (UNITS_PER_WORD, GEN_INT (0x381f0000)); \ - assemble_aligned_integer (UNITS_PER_WORD, const0_rtx); \ -} while (0) - -/* Length in units of the trampoline for entering a nested function. */ +#define TRAMPOLINE_ALIGNMENT 32 #define TRAMPOLINE_SIZE 16 - -/* Emit RTL insns to initialize the variable parts of a trampoline. - FNADDR is an RTX for the address of the function's pure code. - CXT is an RTX for the static chain value for the function. */ -#define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT) \ -do { \ - emit_move_insn (gen_rtx_MEM (SImode, plus_constant (TRAMP, 4)), CXT); \ - emit_move_insn (gen_rtx_MEM (SImode, plus_constant (TRAMP, 12)), FNADDR); \ - emit_insn (gen_flush_icache (validize_mem (gen_rtx_MEM (SImode, TRAMP)))); \ -} while (0) /* Addressing modes, and classification of registers for them. */ @@ -795,10 +758,6 @@ && RTX_OK_FOR_BASE_P (XEXP ((X), 0))) \ goto ADDR; \ } - -/* Go to LABEL if ADDR (a legitimate address expression) - has an effect that depends on the machine mode it is used for. */ -#define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR, LABEL) /* Given a comparison code (EQ, NE, etc.) and the first operand of a COMPARE, return the mode to be used for the comparison. */ @@ -1071,11 +1030,6 @@ /* ??? Not defined in tm.texi. */ #define SETJMP_VIA_SAVE_AREA -/* Define the information needed to generate branch and scc insns. This is - stored from the compare operation. Note that we can't use "rtx" here - since it hasn't been defined! */ -extern struct rtx_def *arc_compare_op0, *arc_compare_op1; - /* ARC function types. */ enum arc_function_type { ARC_FUNCTION_UNKNOWN, ARC_FUNCTION_NORMAL,