OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 250 to Rev 251
    Reverse comparison

Rev 250 → Rev 251

/openrisc/trunk/gnu-src/gcc-4.2.2/gcc/vec.h
473,6 → 473,14
VEC(T,B) base; \
} VEC(T,A)
 
/* JPB 25-Aug-10: Derived vector type, user visible for anonymous
struct. Gets rid of compile warnings. */
#define VEC_TA_GTY_ANON(T,B,A) \
typedef struct VEC(T,A) \
{ \
VEC(T,B) base; \
} VEC(T,A)
 
/* Convert to base type. */
#define VEC_BASE(P) ((P) ? &(P)->base : 0)
 
488,11 → 496,11
} \
\
VEC_T(T,base); \
VEC_TA_GTY(T,base,none,); \
VEC_TA_GTY_ANON(T,base,none); \
DEF_VEC_FUNC_P(T) \
struct vec_swallow_trailing_semi
#define DEF_VEC_ALLOC_I(T,A) \
VEC_TA_GTY(T,base,A,); \
VEC_TA_GTY_ANON(T,base,A); \
DEF_VEC_ALLOC_FUNC_I(T,A) \
struct vec_swallow_trailing_semi
#endif
509,11 → 517,11
} \
\
VEC_T_GTY(T,base); \
VEC_TA_GTY(T,base,none,); \
VEC_TA_GTY_ANON(T,base,none); \
DEF_VEC_FUNC_P(T) \
struct vec_swallow_trailing_semi
#define DEF_VEC_ALLOC_P(T,A) \
VEC_TA_GTY(T,base,A,); \
VEC_TA_GTY_ANON(T,base,A); \
DEF_VEC_ALLOC_FUNC_P(T,A) \
struct vec_swallow_trailing_semi
#endif
795,11 → 803,11
#else
#define DEF_VEC_O(T) \
VEC_T_GTY(T,base); \
VEC_TA_GTY(T,base,none,); \
VEC_TA_GTY_ANON(T,base,none); \
DEF_VEC_FUNC_O(T) \
struct vec_swallow_trailing_semi
#define DEF_VEC_ALLOC_O(T,A) \
VEC_TA_GTY(T,base,A,); \
VEC_TA_GTY_ANON(T,base,A); \
DEF_VEC_ALLOC_FUNC_O(T,A) \
struct vec_swallow_trailing_semi
#endif
/openrisc/trunk/gnu-src/gcc-4.2.2/gcc/ChangeLog.or32
1,3 → 1,14
2010-08-26 mirekez <mirekez@gmail.com>
 
* config/or32/or32.h <enum reg_class>: CR_REGS removed from
enumeration.
 
2010-08-26 Jeremy Bennett <jeremy.bennett@embecosm.com>
 
* vec.h: All references to VEC_TA_GTY with an empty fourth
argument replaced by VEC_TA_GTY_ANON with only three arguments
<VEC_TA_GTY_ANON>: Created.
 
2010-08-25 Jeremy Bennett <jeremy.bennett@embecosm.com>
 
* config/or32/elf.h <DWARF2_DEBUGGING_INFO>: Defined.
/openrisc/trunk/gnu-src/gcc-4.2.2/gcc/config/or32/or32.h
302,18 → 302,28
#define CAN_DEBUG_WITHOUT_FP
*/
 
#define INITIAL_FRAME_POINTER_OFFSET(DEPTH) \
{ int regno; \
int offset = 0; \
for( regno=0; regno < FIRST_PSEUDO_REGISTER; regno++ ) \
if( regs_ever_live[regno] && !call_used_regs[regno] ) \
offset += 4; \
(DEPTH) = (!current_function_is_leaf || regs_ever_live[LINK_REGNUM] ? 4 : 0) + \
(frame_pointer_needed ? 4 : 0) + \
offset + \
OR32_ALIGN(current_function_outgoing_args_size,4) + \
OR32_ALIGN(get_frame_size(),4); \
}
/* This function computes the initial size of the frame (difference between SP
and FP) after the function prologue. */
#define INITIAL_FRAME_POINTER_OFFSET(DEPTH) \
{ \
int regno; \
int offset = 0; \
\
for (regno=0; regno < FIRST_PSEUDO_REGISTER; regno++) \
{ \
if (regs_ever_live[regno] && !call_used_regs[regno]) \
{ \
offset += 4; \
} \
} \
\
(DEPTH) = ((!current_function_is_leaf \
|| regs_ever_live[LINK_REGNUM]) ? 4 : 0) \
+ (frame_pointer_needed ? 4 : 0) \
+ offset \
+ OR32_ALIGN (current_function_outgoing_args_size,4) \
+ OR32_ALIGN (get_frame_size(),4); \
}
 
/* Base register for access to arguments of the function. */
#define ARG_POINTER_REGNUM FRAME_POINTER_REGNUM
354,13 → 364,14
/* The or32 has only one kind of registers, so NO_REGS, GENERAL_REGS
and ALL_REGS are the only classes. */
 
/* JPB 26-Aug-10: Based on note from Mikhael (mirekez@gmail.com), we don't
need CR_REGS and it is in the wrong place for later things! */
enum reg_class
{
NO_REGS,
GENERAL_REGS,
CR_REGS,
ALL_REGS,
/* CR_REGS, */
LIM_REG_CLASSES
};
 
782,18 → 793,9
if(LEGITIMATE_OFFSET_ADDRESS_P(MODE,X)) goto ADDR; \
if(LEGITIMATE_NONOFFSET_ADDRESS_P(MODE,X)) goto ADDR;
 
/*
* We have to force symbol_ref's into registers here
* because nobody else seems to want to do that!
*/
#define LEGITIMIZE_ADDRESS(X,OLDX,MODE,WIN) {}
/*
{ if (GET_CODE (x) == SYMBOL_REF) \
(X) = copy_to_reg (X); \
if (memory_address_p (MODE, X)) \
goto WIN; \
}
*/
/* This isn't needed at present, but we may want it in the future if a machine
specific code can do better than GCC's default rules. */
/* #define LEGITIMIZE_ADDRESS(X,OLDX,MODE,WIN) */
 
/*
* OR32 addresses do not depend on the machine mode they are
879,16 → 881,7
#define ASM_COMMENT_START "#"
 
/* Output at beginning of assembler file. */
/*
__PHX__ clenup
#ifndef ASM_FILE_START
#define ASM_FILE_START(FILE) do {\
fprintf (FILE, "%s file %s\n", ASM_COMMENT_START, main_input_filename);\
fprintf (FILE, ".file\t"); \
output_quoted_string (FILE, main_input_filename);\
fputc ('\n', FILE);} while (0)
#endif
*/
 
/* Output to assembler file text saying following lines
may contain character constants, extra white space, comments, etc. */
 
955,11 → 948,52
#undef INCOMING_RETURN_ADDR_RTX
#define INCOMING_RETURN_ADDR_RTX gen_rtx_REG (Pmode, LINK_REGNUM)
 
/* We believe this works for our assembler. Override any default value */
#undef DWARF2_ASM_LINE_DEBUG_INFO
#define DWARF2_ASM_LINE_DEBUG_INFO 1
/* Where is the start of our stack frame in relation to the end of the
previous stack frame at the start of a function, before the prologue */
#define INCOMING_FRAME_SP_OFFSET 0
 
 
 
/* This doesn't work for the OR32 assembler at present. If it did, we'd have
more compact debug tables. */
/* #undef DWARF2_ASM_LINE_DEBUG_INFO */
/* #define DWARF2_ASM_LINE_DEBUG_INFO 1 */
 
/* We don't need an alternative return address for now. */
/* DWARF_ALT_FRAME_RETURN_COLUMN */
 
/* We always save registers in the prologue with word alignment, so don't
need this. */
/* DWARF_CIE_DATA_ALIGNMENT */
 
/* This specifies the maximum number of registers we can save in a frame. We
could note that only SP, FP, LR, arg regs and callee saved regs come into
this category. However this is only an efficiency thing, so for now we
don't use it. */
/* DWARF_FRAME_REGISTERS */
 
/* This specifies a mapping from register numbers in .dwarf_frame to
.eh_frame. However for us they are the same, so we don't need it. */
/* DWARF_FRAME_REGNUM */
 
/* Defined if the DWARF column numbers do not match register numbers. For us
they do, so this is not needed. */
/* DWARF_REG_TO_UNWIND_COLUMN */
 
/* Can be used to define a register guaranteed to be zero. Only useful if zero
is used to terminate backtraces, and not recommended for new ports, so we
don't use it. */
/* DWARF_ZERO_REG */
 
/* This is the inverse function for DWARF_FRAME_REGNUM. Again not needed. */
/* DWARF2_FRAME_REG_OUT */
 
/* The following macros are not needed. */
/* TARGET_DWARF_CALLING_CONVENTION */
/* TARGET_DWARF_HANDLE_FRAME_UNSPEC */
/* TARGET_DWARF_REGISTER_SPAN */
 
 
/* Node: Label Output */
 
/* Globalizing directive for a label. */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.