OSDN Git Service

2001-05-03 David O'Brien <obrien@FreeBSD.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index eded70f..c17d210 100644 (file)
@@ -1,3 +1,178 @@
+2001-05-03  David O'Brien  <obrien@FreeBSD.org>
+
+       * config/t-freebsd: Don't install "assert.h" in gcc.  Compile crtbeginS.o
+       and crtendS.o with PIC.
+
+2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
+       negative numbers.
+       (___subdi3, ___adddi3): Use x instead of y as index register.
+       (__init_bss_section, __map_data_section): Optimize for 68HC12.
+       (__memset, __memcpy): Likewise.
+       (regs): Put the soft registers in bss for 68HC12.
+       (abort): Use trap to abort for 68hc12.
+       (__mulhi3, __mulhi32): Use emul for 68hc12.
+       (__mulsi3): Avoid to use the tmp soft register for 68hc12.
+
+2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
+       * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
+       * config/m68hc11/m68hc11.c (limit_reload_class): Remove.
+       (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
+       Set 68HC12 min offset to -65536.
+       (print_operand): Put parenthesis arround the operand if it refers 
+       to a symbol having the same name as a register.
+       (m68hc11_z_replacement): When z register is replaced by its 
+       equivalent soft register, force the insn to be re-recognized.
+       (m68hc11_check_z_replacement): Fix the test when destination is
+       the index register and z dies in the insn.
+       (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
+
+2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
+       costs according to processor variant.
+       (m68hc11_shift_cost): New function to compute shift costs.
+       (m68hc11_rtx_costs): Define costs according to processor variant.
+       (m6811_cost): Costs for 68HC11.
+       (m6812_cost): Costs for 68HC12.
+       (COSTS_N_INSNS): Remove.
+
+       * config/m68hc11/m68hc11.h (RTX_COSTS): New.
+       (DEFAULT_RTX_COSTS): Remove.
+       (CONST_COSTS): Define costs according to OUTER_CODE.
+       (processor_costs): New struct to define costs.
+       (m68hc11_cost): Pointer to current costs.
+
+2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
+       and use m68hc11_notice_keep_cc when using leax/leay.
+       (addhi3 split): Reject split if the insn is handled by 
+       leax/leay above.
+       * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
+       push must be handled in a special way if the source operand uses
+       sp as index register.
+       (m68hc11_notice_keep_cc): New function.
+       (m68hc11_gen_movhi): Use it when an insn changes a register but 
+       not the flags.
+       (m68hc11_gen_movqi): Fix move for 68HC12.
+       * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
+
+2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
+       and don't pass operands[0] to emit_library_call_value.
+
+2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
+       (zero_extendsi split): Simplify and use (zero_extendhi).
+       (*addhi3): Remove 'w' constraint since stack pointer is handled 
+       by (addhi3_sp).
+       (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
+       (*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
+       (*ashrhi3_const): Fix shift by 7.
+       (*lshrsi3_const16): Fix template.
+       (call, call_value): Fix constraint and predicate.
+
+2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
+       (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
+       (CC_REGNUM): Likewise.
+       (*unnamed splits): Use above constants instead of hard coded numbers.
+       (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
+       (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
+       (*return_16bit, *unnamed peepholes): Likewise.
+
+2001-05-03  David O'Brien  <obrien@FreeBSD.org>
+
+       * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix):  Do not include
+       rs6000/rs6000.h twice.
+
+2001-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
+
+       * config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
+       (CPP_SPEC): Conditionally define MSDOS and GO32.
+       (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
+       (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
+       ignored.
+       (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
+
+2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
+
+2001-05-03  Mark Mitchell  <mark@codesourcery.com>
+
+       * integrate.h (struct inline_remap): Add leaf_reg_map table.
+       * integrate.c (expand_inline_function): Use xcalloc to allocate
+       memory.
+       (copy_rtx_and_substitute): Use the leaf_reg_map for leaf
+       registers.
+
+2001-05-03  Mark Mitchell  <mark@codesourcery.com>
+
+       * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
+       if it is not set.
+
+2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
+       linker if -mrelax is given.
+       (TARGET_SWITCHES): Document -mrelax.
+
+       Re-installed 2001-01-09's patch:
+       * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
+       if it's wider than long and the target's long is wider than the
+       host's.
+
+2001-05-02  David O'Brien  <obrien@FreeBSD.org>
+
+       * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h:  Do not
+       directly include rs6000/rs6000.h.  Instead do it in tm.h.
+
+2001-05-02  Stan Shebs  <shebs@apple.com>
+
+       * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
+       NSConstantString for NeXT-style runtimes.
+       (STRING_OBJECT_GLOBAL_NAME): New macro.
+       (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
+       OCTI_STRING_CLASS_DECL.
+       (constant_string_global_id): New macro.
+       (string_class_decl): Ditto.
+       (setup_string_decl): New function.
+       (build_objc_string_object): Use it to build a NeXT runtime
+       compatible string initializer.
+
+2001-05-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * tradcpp.c (do_define): Make sure we don't walk past limit.
+
+2000-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
+       offsets if not REG_OK_STRICT.
+
+       * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
+       (INT_REG_OK_FOR_INDEX_P): Likewise.
+       (INT_REG_OK_FOR_BASE_P): Likewise.
+       (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
+       (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
+       (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
+        INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
+       REG_OK_FOR_BASE_P. Take an additional parameter.
+       (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
+       (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
+       (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
+       (GO_IF_LEGITIMATE_ADDRESS): Move code into new function
+       rs6000_legitimate_address() and use it.
+       * config/rs6000/rs6000.c: Update all callers.
+       (rs6000_legitimate_address): New function.
+
 2001-05-02  David Edelsohn  <edelsohn@gnu.org>
 
        * config/rs6000/rs6000.c (rs6000_emit_move): Merge