OSDN Git Service

PR optimization/13318
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 3f755a6..ade64d8 100644 (file)
@@ -1,3 +1,390 @@
+2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR optimization/13318
+       * loop.c (express_from): Protect integer division from overflow.
+
+2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR optimization/13060
+       * function.c (fixup_var_refs_1) [SUBREG]: Recognize even if a
+       replacement already exists.  Fix again the whole insn if that fails.
+
+2003-12-06  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * config/rs6000/rs6000.c (macho_branch_islands): Use 
+       HOST_WIDE_INT_PRINT_UNSIGNED.
+
+2003-12-06  Richard Sandiford  <rsandifo@redhat.com>
+
+       * varasm.c (incorporeal_function_p): New.
+       (assemble_external): Use it as a filter.
+       * config/mips/mips.c (mips_output_external): Don't check for builtin
+       functions here.
+
+2003-12-06  Richard Earnshaw  <reanrsha@arm.com>
+
+       * arm.md (IOR (COMPARISON) (AND)): New define_splits.
+
+2003-12-06  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * Makefile.in (program_transform_cross_name): Delete.
+       (GCC_CROSS_NAME, CPP_CROSS_NAME): Delete.
+       (PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Delete.
+       (AR_FOR_TARGET, RANLIB_FOR_TARGET, NM_FOR_TARGET): Adjust for above.
+       (install_cpp, install_driver, install-man, uninstall): Likewise.
+
+2003-12-06  Alan Modra  <amodra@bigpond.net.au>
+
+       PR 13169
+       * basic-block.h (PROP_ASM_SCAN): Define.
+       * final.c (regs_asm_clobbered): New array.
+       * regs.h (regs_asm_clobbered): Declare.
+       * flow.c (life_analysis): Init it.
+       (mark_set_regs): Set PROP_ASM_SCAN for asms.
+       (mark_set_1): Set regs_asm_clobbered.
+       * global.c (global_alloc): Don't set eliminable_regset when
+       regs_asm_clobbered.
+
+2003-12-05  Mark Mitchell  <mark@codesourcery.com>
+
+       * config/ia64/ia64.h (MUST_PASS_IN_STACK): Define.
+
+       PR c++/13314
+       * emit-rtl.c (set_mem_attributes_minus_bitpos): Robustify.
+
+2003-12-05  Andrew Pinski <pinskia@physics.uc.edu>
+
+       PR driver/13211
+       * gcc.c (execute) Increment execution_count when returning
+       early because verbose_only_flag is true.
+
+2003-12-05  Per Bothner  <pbothner@apple.com>
+
+       * cppfiles.c (file_hash_hash):  New static function.
+       (hash_string_eq):  Renamed static function to file_hash_eq.
+       (_cpp_init_files):  Create file_hash table with above callbacks.
+       (cpp_included):  Must use htab_find_with_hash insead of htab_find.
+       (_cpp_find_find, make_cpp_dir):  Must use htab_find_slot_with_hash.
+
+2003-12-05  Per Bothner  <pbothner@apple.com>
+
+       * line-map.h (source_location):  New typedef.
+       (fileline):  Redefined as source_location.
+       (struct line_map, linemap_add, linemap_lookup):  Replace filefile
+       by source_location.
+       * line-map.c (linemap_add, linemap_lookup):  Use source_location.
+
+2003-12-05  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (alpha_build_builtin_va_list): Add dummy
+       field to suppress -Wpadded warnings.
+
+2003-12-05  Stuart Hastings  <stuart@apple.com>
+
+       * config/rs6000/rs6000.md: Correct macro test of TARGET_MACHO.
+
+2003-12-05  Stuart Menefy <stuart.menefy@st.com>
+            J"orn Rennecke <joern.rennecke@superh.com>
+
+       PR target/13302
+       * sh.c (sh_build_builtin_va_list): Use (*lang_hooks.types.make_type).
+
+2003-12-05  Roger Sayle  <roger@eyesopen.com>
+
+       * dojump.c (do_jump): If the expression being compared against
+       zero, is the subreg of a promoted variable, perform the comparison
+       in the promoted mode.
+       * simplify-rtx.c (simplify_unary_operation): Optimize sign and
+       zero-extensions of subregs of promoted variables where the
+       extension is identical to that used to promote the variable.
+
+2003-12-05  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/13256
+       * resource.h (enum mark_resource_type): Remove member MARK_DEST.
+       The only user changed as follows:
+       * resource.c (mark_set_resources) <case SET>: Always recurse for
+       SET_SRC (x).
+       <case SIGN_EXTRACT, case ZERO_EXTRACT>: Always recurse on
+       operands.
+       <case STRICT_LOW_PART>: Delete, deferring to default code.
+
+2003-12-05  Waldek Hebisch <hebisch@math.uni.wroc.pl>
+
+       * stmt.c (expand_nl_goto_receiver): Copy hard register clobbers
+       and ASM_INPUT barrier from expand_builtin_setjmp_receiver.
+
+2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_expand_call): Don't allow laziy binding
+       for n32 & n64 abicalls.
+
+2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
+
+       PR bootstrap/13145
+       * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Adjust comment.
+       * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Add $fcall.
+       (mips_load_got): Always create a constant MEM.
+       (mips_expand_call): Use load_callsi and load_calldi.
+       * config/mips/mips.md (UNSPEC_LOAD_CALL, FAKE_CALL_REGNO): New consts.
+       (load_callsi, load_calldi): New patterns.
+
+2003-12-05  Peter Gerwinski <peter@gerwinski.de>
+
+        * tree.def (PLACEHOLDER_EXPR): Clarify commentary.
+
+2003-12-05  Steven Bosscher  <stevenb@suse.de>
+
+       * config/d30v/d30v-protos.h , config/d30v/d30v.c,
+       config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
+       config/fr30/fr30-protos.h, config/fr30/fr30.c,
+       config/i370/i370-protos.h, config/i370/i370.c,
+       config/i960/i960-protos.h, config/i960/i960.c,
+       config/ip2k/ip2k-protos.h, config/ip2k/ip2k.c,
+       config/m32r/m32r-protos.h, config/m32r/m32r.c,
+       config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
+       config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c:
+       Convert to ISO C90 function declarations and definitions.
+
+2003-12-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * doc/extend.texi (Constructing Calls): Add warning about
+       the limitations of the functions.
+
+2003-12-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR middle-end/11151
+       * function.h (struct function): New field 'x_naked_return_label'.
+       * function.c (free_after_compilation): Set it to NULL.
+       (expand_function_end): Emit 'naked_return_label' if it exists.
+       * rtl.h (expand_naked_return): Declare.
+       * stmt.c (expand_naked_return): New function to generate a
+       jump to 'naked_return_label'.
+       * builtins.c (expand_builtin_return): Call expand_naked_return
+       instead of expand_null_return.
+       * config/sparc/sparc.md (untyped_return): Likewise.
+
+2003-12-04  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR target/11322
+       * config/sh/netbsd-elf.h (NO_PROFILE_COUNTERS): Define.
+
+       PR target/12467
+       * config/rs6000/altivec.md (altivec_vmsummbm): Fix typo.
+
+2003-12-04  Stuart Hastings  <stuart@apple.com>
+
+        * rs6000.c (output_call, macho_branch_islands,
+        add_compiler_branch_island, no_previous_def, get_previous_label)
+        Revisions of xx_stub functions for branch islands,
+        add -fPIC support for Darwin.
+        * rs6000-protos.h (output_call) Prototype.
+        * rs6000.md Use output_call.
+        * invoke.texi Explain Darwin semantics of -longcall.
+        * testsuite/gcc.dg/darwin-abi-1.c Revise testcase for -longcall/jbsr.
+
+2003-12-04  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.md (addqi3_carry): Use q not r constraints.
+       (subqi3_carry): Likewise.
+
+2003-12-04  J"orn Rennecke <joern.rennecke@superh.com>
+
+       PR optimization/13260
+       * sh-protos.h (sh_expand_t_scc): Declare.
+       * sh.h (PREDICATE_CODES): Add cmpsi_operand.
+       * sh.c (cmpsi_operand, sh_expand_t_scc): New functions.
+       * sh.md (cmpsi): Use cmpsi_operand.  If T_REG is compared to
+       something that is not a CONST_INT, copy it into a pseudo register.
+       (subc): Fix description of new T value.
+       (slt, sgt, sge, sgtu): Don't clobber T after rtl generation is over.
+       (sltu, sleu, sgeu): Likewise.
+       (seq, sne): Likewise. Use sh_expand_t_scc.
+
+2003-12-04  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure.in: Generalize the CONFIG_HEADERS pattern under which
+       we stamp cstamp-h.
+       * configure: Regenerate.
+
+       * configure.in: Pull AC_CHECK_HEADER call out of shell if statement
+       to avoid trouble when updating to autoconf 2.5x.
+       * configure: Regenerate (with autoconf 2.13 still).
+
+2003-12-04  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh.md (truncdiqi2): Use andi opcode for immediate.
+       (reload_outdf+1,reload_outdf+2): Remove constraints.
+       (movv16sf_i): Fxi multiplier for SUBREG_BYTE.
+       (movv8qi_i+2): Zero-extend low byte before adding it to high byte.
+       (fipr, ftrv): Add .s suffix to opcode.
+
+2003-12-04  Richard Sandiford  <rsandifo@redhat.com>
+
+       PR target/13186
+
+       Revert all of the following patch, except the addition of
+       hook_bool_machine_mode_true:
+
+       2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
+
+       * Makefile.in (targhooks.o, reload.o): Update dependencies.
+       (GTFILES): Add targhooks.c.
+       (gt-targhooks.h): New rule; depend on s-gtype.
+       * target.h (direct_pool_load_p): New hook.
+       * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
+       (TARGET_INITIALIZER): Include it.
+       * targhooks.h (default_direct_pool_load_p): Declare.
+       (hook_bool_machine_mode_true): Declare.
+       * targhooks.c: Include insn-config.h, recog.h, ggc.h and
+       gt-targhooks.h.
+       (pool_symbol): New variable.
+       (default_direct_pool_load_p): New function.
+       (hook_bool_machine_mode_true): New function.
+       * reload.c: Include target.h.
+       (find_reloads): If an alternative will force a constant into memory,
+       count an extra reload if constant pool symbols are not valid
+       addresses.  If an alternative uses memory to move values between
+       registers, count the move as two reloads rather than one.
+       * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
+       * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
+
+2003-12-03  Mark Mitchell  <mark@codesourcery.com>
+
+       * config/ia64/hpux.h (TARGET_HAVE_TLS): Define it to false.
+       * config/ia64/ia64.h (TARGET_HAVE_TLS): Define it to true if
+       HAVE_AS_TLS is true.
+       * config/ia64/ia64.c (TARGET_HAVE_TLS): Do not define it.
+
+2003-12-03  James E Wilson  <wilson@specifixinc.com>
+
+       * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name.
+
+       * gcc-page.c (extra_order_size_tab): Correct comment.
+
+2003-12-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c (push): Call gen_push_h8300hs_advanced
+       instead of gen_push_h8300hs.
+       (pop): Call gen_pop_h8300hs_advanced instead of
+       gen_pop_h8300hs.
+       * config/h8300/h8300.h (TRAMPOLINE_SIZE): Use Pmode.
+       * config/h8300/h8300.md (*tablejump_h8300hs_advanced):
+       Tighten the predicate.
+       (*tablejump_h8300hs_normal): Tighten the predicate.
+       (push_h8300hs): Change to
+       push_h8300hs_advanced.
+       (pop_h8300hs): Change to pop_h8300hs_advanced.
+
+2003-12-03  Eric Christopher  <echristo@redhat.com>
+
+       * rtl.c: Fix typo.
+       * config/mips/mips.h: Ditto. Fix formatting.
+
+2003-12-04  Ben Elliston  <bje@wasabisystems.com>
+
+       * future.options: Remove. Move to gnu.org web pages.
+
+2003-12-03  Eric Christopher  <echristo@redhat.com>
+
+       * c-parse.in (c_in_iteration_stmt, c_in_case_stmt): Move
+        from here...
+        * c-tree.h: to here.
+
+2003-12-03  Jan Hubicka  <jh@suse.cz>
+
+       PR optimization/12324
+       * toplev.c  (rest_of_decl_compilation): Do not deffer when compiling
+       in unit-at-a-time mode.
+
+2003-12-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * expr.c (store_constructor): Only set RTX_UNCHANGING_P for
+       read-only field if cleared is 0.
+
+2003-12-03  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * config.gcc: Mark obsolete targets for GCC 3.4.
+
+2003-12-03  Zack Weinberg  <zack@codesourcery.com>
+
+       * aclocal.m4 (AM_ICONV): Add explicit check for iconv.h.
+       * config.in, configure.in: Regenerate.
+       * cpphash.h: Check both HAVE_ICONV and HAVE_ICONV_H before
+       including iconv.h.
+
+2003-12-03  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/11229
+       * cse.c (cse_insn): Set classp using src_const_elt if
+       src_eqv_elt is NULL.
+
+2003-12-03  Richard Earnshaw  <rearnsha@arm.com>
+
+       * gcse.c (reg_clear_last_set): New function.
+       (reg_set_info): If data is non-null, treat it as an sbitmap of
+       registers, set the bit for the register being set.
+       (compute_store_table): Allocate last_set_in with xcalloc.  Do not
+       memset this array on each iteration.  Pass reg_set_in_block[bb->index]
+       to note_stores while computing last_set_in instead of scanning
+       last_set_in after the first pass through the insns.
+       Clear last_set_in using reg_clear_last_set instead of explicitly
+       rescanning after each insn.  If checking is enabled, assert that
+       last_set_in is completely zeroed after each bb has been processed.
+
+2003-12-02  Geoffrey Keating  <geoffk@geoffk.org>
+
+       * df.c (df_uses_record) <MEM>: The argument of a MEM is read-only,
+       never read-write.
+       <REG>: Delete incorrect comment.
+       <SET>: Remove 'use_flags' variable.
+
+2003-12-03  David Edelsohn  <edelsohn@gnu.org>
+
+       * function.c (assign_parms): Make sure parm PARALLEL combined
+       in reg is composed of more than one object and the mode really
+       produces a reg.
+
+2003-12-03  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (classify_argument): Make it 64bit clean.
+
+2003-12-02  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_output_external): Replace checks for
+       specific builtin-in functions with a check for DECL_BUILTIN_IN.
+
+2003-12-02  Richard Henderson  <rth@redhat.com>
+
+       * rtl.h (PUT_CODE, PUT_MODE): Remove ENUM_BITFIELD cast.
+       * tree.h (TREE_SET_CODE): Likewise.
+       * recog.h (struct insn_operand_data): Move const after ENUM_BITFIELD.
+
+2003-12-02  Ben Elliston  <bje@wasabisystems.com>
+
+       * dbxstclass.h: Rename from this ..
+       * xcoff.h: .. to this.
+       * xcoffout.c: Include xcoff.h.
+
+2003-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Makefile.in (GCC_CFLAGS): Add -Wold-style-definition.
+
+2003-12-01  James Lemke <jim@wasabisystems.com>
+
+       * config/arm/arm.c (arm_rtx_costs): Improve for xscale multiply.
+
+2003-12-01  Roger Sayle  <roger@eyesopen.com>
+
+       PR optimization/11634
+       * recog.c (split_insn): Factor test of INSN_P and handling of
+       set_noop_p out of here into the two callers.
+       (split_all_insns): Add INSN_P test and set_noop_p handling here.
+       If deleting a no-op set after reload that has a REG_UNUSED note,
+       mark the basic block as changed and recalculate life information.
+       (split_all_insns_noflow): Add INSN_P test and set_noop_p handling
+       here.
+
 2003-12-01  Roger Sayle  <roger@eyesopen.com>
 
        PR optimization/12322
 
 2003-12-01  James E Wilson  <wilson@specifixinc.com>
 
+       * doc/contrib.texi: Update David Mosberger.
+
        * doc/c-tree.texi (CONSTRUCTOR): Clarify element order and handling
        of missing fields.