1 2003-12-09 Matt Austern <austern@apple.com>
4 * c-decl.c (duplicate_decls): Copy visibility flag when appropriate.
6 2003-12-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
8 * config/m32r/m32r.h: Add support for m32r2 processor. Including
9 a new command line option -m32r2 to select it.
10 * config/m32r/m32r.c: Add support for the new processor variant.
11 * config/m32r/m32r.md: Likewise.
12 * config/m32r/t-m32r: Add m32r2 multilibs.
13 * doc/invoke.texi: Document the new command line switch.
15 2003-12-08 Kazu Hirata <kazu@cs.umass.edu>
17 * defaults.h (LOCAL_REGNO): Give the default definition.
18 * flow.c (LOCAL_REGNO): Remove.
19 * reload1.c (LOCAL_REGNO): Likewise.
21 2003-12-08 Geoffrey Keating <geoffk@apple.com>
24 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Allow change of mode
25 in floating-point registers between TFmode and DImode.
26 * rs6000.c (rs6000_emit_move): Split moves early.
27 (secondary_reload_class): Random Whitespace Change.
28 (rs6000_split_multireg_move): Support moves involving FP registers.
29 Emit instructions directly.
30 * rs6000-protos.h (rs6000_split_multireg_move): Update prototype.
31 * altivec.md: Update for changes to rs6000_split_multireg_move.
32 * rs6000.md: Update for changes to rs6000_split_multireg_move.
33 (movtf_internal): Support moves to/from GPRs.
35 2003-12-08 Stuart Hastings <stuart@apple.com>
37 * config/i386/i386.md: Typo in split of fp-valued if_then_else.
39 2003-12-08 James E Wilson <wilson@specifixinc.com>
42 * expmed.c (extract_bit_field): Only call mode_for_size for scalar
45 2003-12-08 Nathanael Nerode <neroden@gcc.gnu.org>
47 * doc/install.texi: Revert change of Dec 7; gcc is still a 2.13
50 2003-12-08 Alexandre Oliva <aoliva@redhat.com>
52 * config/frv/frv.md (subdi2): Merge with _internal insn_and_split,
53 by using match_scratch.
56 2003-12-08 Jason Merrill <jason@redhat.com>
57 Daniel Berlin <dberlin@dberlin.org>
60 Support namespaces in DWARF 2 output.
61 * dwarf2out.c (gen_namespace_die): New function.
62 (force_namespace_die, setup_namespace_context): New fns.
63 (declare_in_namespace): New fn.
64 (gen_decl_die): Call declare_in_namespace. Handle namespaces.
65 (dwarf2out_decl): Handle namespaces.
66 (scope_die_for): Pass through a namespace scope.
67 (class_scope_p): Rename to class_or_namespace_scope_p.
68 (gen_subprogram_die, gen_variable_die): Adjust.
69 (gen_struct_or_union_die): Always emit a declaration
70 if context_die is a namespace.
72 2003-12-08 Jan Hubicka <jh@suse.cz>
74 * unwind-pe.h (read_uleb128): Fix handling of large values
75 (read_sleb128): Fix handling of large values
77 2003-12-08 Andrew Pinski <pinskia@physics.uc.edu>
80 * emit-rtl.c (copy_rtx_if_shared): Split out into ...
81 (copy_rtx_if_shared_1): here and optimize the last one
82 in the sequence into tail-recursion.
83 (reset_used_flags): Optimize the last one
84 in the sequence into tail-recursion.
86 2003-12-08 Richard Earnshaw <rearnsha@arm.com>
88 * arm.md: New split to transform ((X << y) - 1) into ~(~(X-1) << y)
91 2003-12-08 Richard Sandiford <rsandifo@redhat.com>
93 * calls.c (expand_call): Don't try using tail or recursive calls
94 after the function body has been expanded.
96 2003-12-08 Jan Hubicka <jh@suse.cz>
98 * i386.md (cmpstr expander): Obey TARGET_INLINE_ALL_STRINGOPS
100 2003-12-08 Arnaud Charlet <charlet@act-europe.fr>
102 PR ada/13324, PR ada/12614
103 * doc/install.texi: Update requirements for building Ada.
105 2003-12-07 David Edelsohn <edelsohn@gnu.org>
106 Graham Reed <greed@pobox.com>
108 * collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
109 (GCC_UNDEF_SYMBOL): Same.
111 2003-12-07 Kazu Hirata <kazu@cs.umass.edu>
113 * final.c (final_scan_insn): Don't use FINAL_PRESCAN_LABEL.
114 * system.h (FINAL_PRESCAN_LABEL): Poison.
115 * doc/tm.texi (FINAL_PRESCAN_LABEL): Remove.
117 2003-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
119 * Makefile.in (compare): Combine toplevel and $(SUBDIRS) cases.
121 2003-12-07 Nathanael Nerode <neroden@gcc.gnu.org>
123 * configure.in, aclocal.m4: Revert to pre-2.5x conversion status.
124 * configure: Regenerate with autoconf 2.13.
126 * configure.in: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
127 with modern equivalents.
128 * configure: Regenerate.
130 * configure.in: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
131 * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
132 * configure: Regenerate.
134 * configure: Regenerate with (preferred) autoconf 2.57.
135 * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
137 2003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
139 PR optimization/12965
140 * caller-save.c (save_call_clobbered_regs): Do not save/restore
141 registers around no-return calls.
143 2003-12-07 Nathanael Nerode <neroden@gcc.gnu.org>
145 * configure.in: Make minimum necessary changes for autoconf 2.5x.
146 * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
147 * configure: Regenerate with autoconf 2.58.
149 2003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
151 PR optimization/13318
152 * loop.c (express_from): Protect integer division from overflow.
154 2003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
156 PR optimization/13060
157 * function.c (fixup_var_refs_1) [SUBREG]: Recognize even if a
158 replacement already exists. Fix again the whole insn if that fails.
160 2003-12-06 Andrew Pinski <pinskia@physics.uc.edu>
162 * config/rs6000/rs6000.c (macho_branch_islands): Use
163 HOST_WIDE_INT_PRINT_UNSIGNED.
165 2003-12-06 Richard Sandiford <rsandifo@redhat.com>
167 * varasm.c (incorporeal_function_p): New.
168 (assemble_external): Use it as a filter.
169 * config/mips/mips.c (mips_output_external): Don't check for builtin
172 2003-12-06 Richard Earnshaw <reanrsha@arm.com>
174 * arm.md (IOR (COMPARISON) (AND)): New define_splits.
176 2003-12-06 Kelley Cook <kcook@gcc.gnu.org>
178 * Makefile.in (program_transform_cross_name): Delete.
179 (GCC_CROSS_NAME, CPP_CROSS_NAME): Delete.
180 (PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Delete.
181 (AR_FOR_TARGET, RANLIB_FOR_TARGET, NM_FOR_TARGET): Adjust for above.
182 (install_cpp, install_driver, install-man, uninstall): Likewise.
184 2003-12-06 Alan Modra <amodra@bigpond.net.au>
187 * basic-block.h (PROP_ASM_SCAN): Define.
188 * final.c (regs_asm_clobbered): New array.
189 * regs.h (regs_asm_clobbered): Declare.
190 * flow.c (life_analysis): Init it.
191 (mark_set_regs): Set PROP_ASM_SCAN for asms.
192 (mark_set_1): Set regs_asm_clobbered.
193 * global.c (global_alloc): Don't set eliminable_regset when
196 2003-12-05 Mark Mitchell <mark@codesourcery.com>
198 * config/ia64/ia64.h (MUST_PASS_IN_STACK): Define.
201 * emit-rtl.c (set_mem_attributes_minus_bitpos): Robustify.
203 2003-12-05 Andrew Pinski <pinskia@physics.uc.edu>
206 * gcc.c (execute) Increment execution_count when returning
207 early because verbose_only_flag is true.
209 2003-12-05 Per Bothner <pbothner@apple.com>
211 * cppfiles.c (file_hash_hash): New static function.
212 (hash_string_eq): Renamed static function to file_hash_eq.
213 (_cpp_init_files): Create file_hash table with above callbacks.
214 (cpp_included): Must use htab_find_with_hash insead of htab_find.
215 (_cpp_find_find, make_cpp_dir): Must use htab_find_slot_with_hash.
217 2003-12-05 Per Bothner <pbothner@apple.com>
219 * line-map.h (source_location): New typedef.
220 (fileline): Redefined as source_location.
221 (struct line_map, linemap_add, linemap_lookup): Replace filefile
223 * line-map.c (linemap_add, linemap_lookup): Use source_location.
225 2003-12-05 Richard Henderson <rth@redhat.com>
227 * config/alpha/alpha.c (alpha_build_builtin_va_list): Add dummy
228 field to suppress -Wpadded warnings.
230 2003-12-05 Stuart Hastings <stuart@apple.com>
232 * config/rs6000/rs6000.md: Correct macro test of TARGET_MACHO.
234 2003-12-05 Stuart Menefy <stuart.menefy@st.com>
235 J"orn Rennecke <joern.rennecke@superh.com>
238 * sh.c (sh_build_builtin_va_list): Use (*lang_hooks.types.make_type).
240 2003-12-05 Roger Sayle <roger@eyesopen.com>
242 * dojump.c (do_jump): If the expression being compared against
243 zero, is the subreg of a promoted variable, perform the comparison
244 in the promoted mode.
245 * simplify-rtx.c (simplify_unary_operation): Optimize sign and
246 zero-extensions of subregs of promoted variables where the
247 extension is identical to that used to promote the variable.
249 2003-12-05 Hans-Peter Nilsson <hp@axis.com>
252 * resource.h (enum mark_resource_type): Remove member MARK_DEST.
253 The only user changed as follows:
254 * resource.c (mark_set_resources) <case SET>: Always recurse for
256 <case SIGN_EXTRACT, case ZERO_EXTRACT>: Always recurse on
258 <case STRICT_LOW_PART>: Delete, deferring to default code.
260 2003-12-05 Waldek Hebisch <hebisch@math.uni.wroc.pl>
262 * stmt.c (expand_nl_goto_receiver): Copy hard register clobbers
263 and ASM_INPUT barrier from expand_builtin_setjmp_receiver.
265 2003-12-05 Richard Sandiford <rsandifo@redhat.com>
267 * config/mips/mips.c (mips_expand_call): Don't allow laziy binding
268 for n32 & n64 abicalls.
270 2003-12-05 Richard Sandiford <rsandifo@redhat.com>
273 * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Adjust comment.
274 * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Add $fcall.
275 (mips_load_got): Always create a constant MEM.
276 (mips_expand_call): Use load_callsi and load_calldi.
277 * config/mips/mips.md (UNSPEC_LOAD_CALL, FAKE_CALL_REGNO): New consts.
278 (load_callsi, load_calldi): New patterns.
280 2003-12-05 Peter Gerwinski <peter@gerwinski.de>
282 * tree.def (PLACEHOLDER_EXPR): Clarify commentary.
284 2003-12-05 Steven Bosscher <stevenb@suse.de>
286 * config/d30v/d30v-protos.h , config/d30v/d30v.c,
287 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
288 config/fr30/fr30-protos.h, config/fr30/fr30.c,
289 config/i370/i370-protos.h, config/i370/i370.c,
290 config/i960/i960-protos.h, config/i960/i960.c,
291 config/ip2k/ip2k-protos.h, config/ip2k/ip2k.c,
292 config/m32r/m32r-protos.h, config/m32r/m32r.c,
293 config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
294 config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c:
295 Convert to ISO C90 function declarations and definitions.
297 2003-12-05 Eric Botcazou <ebotcazou@libertysurf.fr>
299 * doc/extend.texi (Constructing Calls): Add warning about
300 the limitations of the functions.
302 2003-12-05 Eric Botcazou <ebotcazou@libertysurf.fr>
305 * function.h (struct function): New field 'x_naked_return_label'.
306 * function.c (free_after_compilation): Set it to NULL.
307 (expand_function_end): Emit 'naked_return_label' if it exists.
308 * rtl.h (expand_naked_return): Declare.
309 * stmt.c (expand_naked_return): New function to generate a
310 jump to 'naked_return_label'.
311 * builtins.c (expand_builtin_return): Call expand_naked_return
312 instead of expand_null_return.
313 * config/sparc/sparc.md (untyped_return): Likewise.
315 2003-12-04 Andrew Pinski <pinskia@physics.uc.edu>
318 * config/sh/netbsd-elf.h (NO_PROFILE_COUNTERS): Define.
321 * config/rs6000/altivec.md (altivec_vmsummbm): Fix typo.
323 2003-12-04 Stuart Hastings <stuart@apple.com>
325 * rs6000.c (output_call, macho_branch_islands,
326 add_compiler_branch_island, no_previous_def, get_previous_label)
327 Revisions of xx_stub functions for branch islands,
328 add -fPIC support for Darwin.
329 * rs6000-protos.h (output_call) Prototype.
330 * rs6000.md Use output_call.
331 * invoke.texi Explain Darwin semantics of -longcall.
332 * testsuite/gcc.dg/darwin-abi-1.c Revise testcase for -longcall/jbsr.
334 2003-12-04 Richard Henderson <rth@redhat.com>
336 * config/i386/i386.md (addqi3_carry): Use q not r constraints.
337 (subqi3_carry): Likewise.
339 2003-12-04 J"orn Rennecke <joern.rennecke@superh.com>
341 PR optimization/13260
342 * sh-protos.h (sh_expand_t_scc): Declare.
343 * sh.h (PREDICATE_CODES): Add cmpsi_operand.
344 * sh.c (cmpsi_operand, sh_expand_t_scc): New functions.
345 * sh.md (cmpsi): Use cmpsi_operand. If T_REG is compared to
346 something that is not a CONST_INT, copy it into a pseudo register.
347 (subc): Fix description of new T value.
348 (slt, sgt, sge, sgtu): Don't clobber T after rtl generation is over.
349 (sltu, sleu, sgeu): Likewise.
350 (seq, sne): Likewise. Use sh_expand_t_scc.
352 2003-12-04 Nathanael Nerode <neroden@gcc.gnu.org>
354 * configure.in: Generalize the CONFIG_HEADERS pattern under which
356 * configure: Regenerate.
358 * configure.in: Pull AC_CHECK_HEADER call out of shell if statement
359 to avoid trouble when updating to autoconf 2.5x.
360 * configure: Regenerate (with autoconf 2.13 still).
362 2003-12-04 J"orn Rennecke <joern.rennecke@superh.com>
364 * sh.md (truncdiqi2): Use andi opcode for immediate.
365 (reload_outdf+1,reload_outdf+2): Remove constraints.
366 (movv16sf_i): Fxi multiplier for SUBREG_BYTE.
367 (movv8qi_i+2): Zero-extend low byte before adding it to high byte.
368 (fipr, ftrv): Add .s suffix to opcode.
370 2003-12-04 Richard Sandiford <rsandifo@redhat.com>
374 Revert all of the following patch, except the addition of
375 hook_bool_machine_mode_true:
377 2003-11-02 Richard Sandiford <rsandifo@redhat.com>
379 * Makefile.in (targhooks.o, reload.o): Update dependencies.
380 (GTFILES): Add targhooks.c.
381 (gt-targhooks.h): New rule; depend on s-gtype.
382 * target.h (direct_pool_load_p): New hook.
383 * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
384 (TARGET_INITIALIZER): Include it.
385 * targhooks.h (default_direct_pool_load_p): Declare.
386 (hook_bool_machine_mode_true): Declare.
387 * targhooks.c: Include insn-config.h, recog.h, ggc.h and
389 (pool_symbol): New variable.
390 (default_direct_pool_load_p): New function.
391 (hook_bool_machine_mode_true): New function.
392 * reload.c: Include target.h.
393 (find_reloads): If an alternative will force a constant into memory,
394 count an extra reload if constant pool symbols are not valid
395 addresses. If an alternative uses memory to move values between
396 registers, count the move as two reloads rather than one.
397 * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
398 * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
400 2003-12-03 Mark Mitchell <mark@codesourcery.com>
402 * config/ia64/hpux.h (TARGET_HAVE_TLS): Define it to false.
403 * config/ia64/ia64.h (TARGET_HAVE_TLS): Define it to true if
405 * config/ia64/ia64.c (TARGET_HAVE_TLS): Do not define it.
407 2003-12-03 James E Wilson <wilson@specifixinc.com>
409 * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name.
411 * gcc-page.c (extra_order_size_tab): Correct comment.
413 2003-12-03 Kazu Hirata <kazu@cs.umass.edu>
415 * config/h8300/h8300.c (push): Call gen_push_h8300hs_advanced
416 instead of gen_push_h8300hs.
417 (pop): Call gen_pop_h8300hs_advanced instead of
419 * config/h8300/h8300.h (TRAMPOLINE_SIZE): Use Pmode.
420 * config/h8300/h8300.md (*tablejump_h8300hs_advanced):
421 Tighten the predicate.
422 (*tablejump_h8300hs_normal): Tighten the predicate.
423 (push_h8300hs): Change to
424 push_h8300hs_advanced.
425 (pop_h8300hs): Change to pop_h8300hs_advanced.
427 2003-12-03 Eric Christopher <echristo@redhat.com>
430 * config/mips/mips.h: Ditto. Fix formatting.
432 2003-12-04 Ben Elliston <bje@wasabisystems.com>
434 * future.options: Remove. Move to gnu.org web pages.
436 2003-12-03 Eric Christopher <echristo@redhat.com>
438 * c-parse.in (c_in_iteration_stmt, c_in_case_stmt): Move
442 2003-12-03 Jan Hubicka <jh@suse.cz>
444 PR optimization/12324
445 * toplev.c (rest_of_decl_compilation): Do not deffer when compiling
446 in unit-at-a-time mode.
448 2003-12-03 Jakub Jelinek <jakub@redhat.com>
450 * expr.c (store_constructor): Only set RTX_UNCHANGING_P for
451 read-only field if cleared is 0.
453 2003-12-03 Nathanael Nerode <neroden@gcc.gnu.org>
455 * config.gcc: Mark obsolete targets for GCC 3.4.
457 2003-12-03 Zack Weinberg <zack@codesourcery.com>
459 * aclocal.m4 (AM_ICONV): Add explicit check for iconv.h.
460 * config.in, configure.in: Regenerate.
461 * cpphash.h: Check both HAVE_ICONV and HAVE_ICONV_H before
464 2003-12-03 Alan Modra <amodra@bigpond.net.au>
467 * cse.c (cse_insn): Set classp using src_const_elt if
470 2003-12-03 Richard Earnshaw <rearnsha@arm.com>
472 * gcse.c (reg_clear_last_set): New function.
473 (reg_set_info): If data is non-null, treat it as an sbitmap of
474 registers, set the bit for the register being set.
475 (compute_store_table): Allocate last_set_in with xcalloc. Do not
476 memset this array on each iteration. Pass reg_set_in_block[bb->index]
477 to note_stores while computing last_set_in instead of scanning
478 last_set_in after the first pass through the insns.
479 Clear last_set_in using reg_clear_last_set instead of explicitly
480 rescanning after each insn. If checking is enabled, assert that
481 last_set_in is completely zeroed after each bb has been processed.
483 2003-12-02 Geoffrey Keating <geoffk@geoffk.org>
485 * df.c (df_uses_record) <MEM>: The argument of a MEM is read-only,
487 <REG>: Delete incorrect comment.
488 <SET>: Remove 'use_flags' variable.
490 2003-12-03 David Edelsohn <edelsohn@gnu.org>
492 * function.c (assign_parms): Make sure parm PARALLEL combined
493 in reg is composed of more than one object and the mode really
496 2003-12-03 Jan Hubicka <jh@suse.cz>
498 * i386.c (classify_argument): Make it 64bit clean.
500 2003-12-02 Richard Sandiford <rsandifo@redhat.com>
502 * config/mips/mips.c (mips_output_external): Replace checks for
503 specific builtin-in functions with a check for DECL_BUILTIN_IN.
505 2003-12-02 Richard Henderson <rth@redhat.com>
507 * rtl.h (PUT_CODE, PUT_MODE): Remove ENUM_BITFIELD cast.
508 * tree.h (TREE_SET_CODE): Likewise.
509 * recog.h (struct insn_operand_data): Move const after ENUM_BITFIELD.
511 2003-12-02 Ben Elliston <bje@wasabisystems.com>
513 * dbxstclass.h: Rename from this ..
514 * xcoff.h: .. to this.
515 * xcoffout.c: Include xcoff.h.
517 2003-12-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
519 * Makefile.in (GCC_CFLAGS): Add -Wold-style-definition.
521 2003-12-01 James Lemke <jim@wasabisystems.com>
523 * config/arm/arm.c (arm_rtx_costs): Improve for xscale multiply.
525 2003-12-01 Roger Sayle <roger@eyesopen.com>
527 PR optimization/11634
528 * recog.c (split_insn): Factor test of INSN_P and handling of
529 set_noop_p out of here into the two callers.
530 (split_all_insns): Add INSN_P test and set_noop_p handling here.
531 If deleting a no-op set after reload that has a REG_UNUSED note,
532 mark the basic block as changed and recalculate life information.
533 (split_all_insns_noflow): Add INSN_P test and set_noop_p handling
536 2003-12-01 Roger Sayle <roger@eyesopen.com>
538 PR optimization/12322
539 * gcse.c (struct ls_expr): Change type of hash_index from int to
541 (hash_expr): Document hash_table_size parameter and wrap long line.
542 (ldst_entry): Calculate expression's hash_index and record in ptr.
543 (trim_ld_motion_mems): Use hash_index to search a single bucket
544 instead of scanning the entire hash_table. Remove the "del" local
545 variable and use the equivalent "expr == 0" instead. Change last
546 to be a pointer to the pointer to the current element, to simplify
547 and speed-up deleting from a linked list.
549 2003-12-01 James E Wilson <wilson@specifixinc.com>
551 * doc/contrib.texi: Update David Mosberger.
553 * doc/c-tree.texi (CONSTRUCTOR): Clarify element order and handling
557 * config/ia64/ia64.c (ia64_function_arg): For single-reg HFA, call
558 gen_rtx_REG to create new reg with argument mode.
560 2003-12-01 Steven Bosscher <stevenb@suse.de>
562 * ggc.h (struct alloc_zone): Move forward declaration up.
563 (new_ggc_zone): New function prototype.
564 (destroy_ggc_zone): Ditto.
565 * ggc-simple.c (new_ggc_zone): New function, does nothing.
566 (destroy_ggc_zone): Ditto.
567 * ggc-page.c (new_ggc_zone): New function, does nothing.
568 (destroy_ggc_zone): Ditto.
569 * ggc-zone.c (struct page_entry): Fix comment.
570 (ggc_alloc_typed): Use a switch statement instead of ifs.
571 (new_ggc_zone): New function to set up a new GC zone.
572 (destroy_ggc_zone): New function to remove a GC zone.
573 init_ggc): Use new_ggc_zone to set up the default zones.
574 (ggc_collect): Walk a list of zones, instead of just the
575 default zones. Report statistics using the zone name.
577 2003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
579 * unroll.c (find_splittable_givs): Add missing extend_value_for_giv.
581 2003-12-01 Roger Sayle <roger@eyesopen.com>
583 PR optimization/12628
584 * toplev.c (rest_of_handle_jump_bypass): Call reg_scan.
585 * regclass.c (reg_scan): Include allocate_reg_info time in
586 TV_REG_SCAN. Minor clean-ups.
587 (reg_scan_update): Minor clean-ups.
589 2003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
591 * config.gcc (s390x-ibm-tpf*): Add extra_parts.
593 2003-12-01 James E Wilson <wilson@specifixinc.com>
595 * config/ia64/ia64.h (FUNCTION_ARG_REGNO_P): Use AR_REG_FIRST not
598 2003-12-01 Zack Weinberg <zack@codesourcery.com>
600 * common.opt: Remove -fgnu-linker.
601 * flags.h: Remove flag_gnu_linker.
602 * opts.c: Don't handle OPT_fgnu_linker.
603 * toplev.c: Don't initialize flag_gnu_linker.
604 Remove gnu-linker entry from f_options.
605 * config/dsp16xx/dsp16xx.h (OPTIMIZATION_OPTIONS):
606 Don't reset flag_gnu_linker.
607 * config/mips/mips.c (override_options): Likewise.
608 * doc/invoke.texi: Remove all mention of -fgnu-linker.
610 2003-12-01 Daniel Berlin <dberlin@dberlin.org>
612 * ggc-zone.c (ggc_pch_write_object): Calculate object size using
613 ggc_get_size (which accounts for large objects properly).
615 2003-12-01 Jeff Sturm <jsturm@one-point.com>
617 PR optimization/13024
618 * toplev.c (rest_of_handle_new_regalloc): Remove rebuild_notes
620 (rest_of_handle_old_regalloc): Likewise. Add rebuild_notes
621 declaration. Rebuild jump labels following local_alloc if necessary.
622 (rest_of_compilation): Remove rebuild_label_notes_after_reload
623 declaration. Don't pass rebuild_notes parameter to
624 rest_of_handle_new_regalloc and rest_of_handle_old_regalloc.
625 Don't rebuild jump labels.
627 2003-12-01 Jeff Law <law@redhat.com>
629 * flow.c (count_or_remove_death_notes_bb): New. Extracted from
630 count_or_remove_death_notes.
631 (count_or_remove_death_notes): Use EXECUTE_IF_SET_IN_SBITMAP.
633 2003-12-01 Andreas Krebbel <krebbel1@de.ibm.com>
635 * builtins.c (expand_builtin_longjmp): Added two memory clobbers.
637 2003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
639 * reload.c (find_reloads_address): Split addresses of type
640 (plus (plus (reg) (reg)) (const_int)) only if one register
641 is either a valid base register or else one of the stack
642 frame related registers (sp/fp/ap).
644 2003-12-01 Steven Bosscher <stevenb@suse.de>
646 * function.c (update_epilogue_consts): Don't use PARAMS.
647 * rtl.h (web_main): Ditto.
648 * target.h (is_costly_dependence): Ditto
650 2003-12-01 Eric Botcazou <ebotcazou@libertysurf.fr>
653 * expr.c (expand_expr) [normal_inner_ref]: When 'offset' is non-zero,
654 do not recheck that 'op0' is a MEM. Move comment. When testing for
655 unaligned objects, take also into account the alignment of 'op0' and
656 'mode1' if 'op0' is a MEM.
658 2003-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
660 * doc/c-tree.texi (Function Bodies): Update HANDLER documentation.
662 2003-12-01 Kelley Cook <kcook@gcc.gnu.org>
664 * doc/install.texi: Note that fastjar is built with automake 1.7.x
667 2003-12-01 Alan Modra <amodra@bigpond.net.au>
669 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
670 target_flags directly rather than using TARGET_* defines.
672 2003-11-30 Ben Elliston <bje@wasabisystems.com>
676 2003-11-30 Richard Sandiford <rsandifo@redhat.com>
679 * config/mips/mips.c (mips_save_reg): Fix frame information for sdc1
680 on 32-bit big-endian targets.
682 2003-11-30 Kazu Hirata <kazu@cs.umass.edu>
684 * genemit.c (register_constraints): Remove.
686 2003-11-30 Andreas Krebbel <krebbel1@de.ibm.com>
688 * config/s390/s390.md ("tmdi_reg", "tmsi_reg", "*movdi_64", "*movdi_31",
689 "iordi3"): Insns now use multiple letter constraints.
690 ("*movdi_lhi", "*movdi_lli", "*movdi_lay"): Insns deleted. They are now
691 covered by "*movdi_64".
692 ("*movsi_lhi", "*movsi_lli", "*movsi_lay"): Insns deleted. They are now
693 covered by "*movsi_zarch" and "*movsi_esa".
694 ("*movsi_zarch", "*movsi_!zarch"): New insns.
695 ("*llgt_sisi_split", "*llgt_didi_split"): Insns deleted. Now covered
696 by "*andsi3_zarch" and "anddi3".
697 ("*anddi3_ni"): Insn merged with "anddi3".
698 ("*andsi3_ni"): Insn merged with "*andsi3_zarch".
699 ("*andsi3_zarch", "*andsi3_esa"): New insns.
700 ("*iordi3_oi"): Insn merged with "iordi3".
701 ("*iorsi3_oi"): Insn merged with "*iorsi3_zarch".
702 ("*iorsi3_zarch", "*iorsi3_esa"): New insns.
704 * config/s390/s390.c (s390_single_qi, s390_single_hi): Functions
705 merged to s390_single_part.
706 (s390_single_part): New function.
707 NOTE: Semantics have changed a bit. Now the value of the part must
708 be different from the others to get a non-negative return value.
709 (s390_extract_qi, s390_extract_hi): Functions merged to
711 (s390_extract_part, s390_extra_constraint_str,
712 s390_const_ok_for_constraint_p): New functions. The L constraint got a
713 new meaning and the N constraint was added as a multiple letter
715 (s390_extra_constraint): Function deleted.
716 (print_operand): New output modifier 'i' and 'j' added.
717 All uses of CONST_OK_FOR_LETTER_P were replaced by
718 CONST_OK_FOR_CONSTRAINT_P.
720 * config/s390/s390-protos.h: Function prototypes adapted.
721 * doc/md.texi: Documentation for new constraint letters added.
723 2003-11-30 Andreas Schwab <schwab@suse.de>
725 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Fix missing semicolon.
727 2003-11-29 James E Wilson <wilson@specifixinc.com>
729 * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name
730 instead of in shared_name.
732 * final.c (final_start_function): Delete code for NON_SAVING_SETJMP.
733 * reload1.c (reload): Re-add it here.
735 2003-11-30 Alan Modra <amodra@bigpond.net.au>
737 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Don't
738 set SECTION_WRITE on TARGET_RELOCATABLE.
740 2003-11-29 Kazu Hirata <kazu@cs.umass.edu>
742 * config/h8300/h8300.h (LIBCALL_VALUE): Use R0_REG.
744 2003-11-28 Gunther Nikl <gni@gecko.de>
746 * config/m68k/m68k.c (MOTOROLA): Move from here...
747 * config/m68k/m68k.h (MOTOROLA): ... to here.
748 (OUTPUT_JUMP): Use do {...} while (0).
749 * config/m68k/m68k.md: Replace #ifdef MOTOROLA with C statements.
751 2003-11-28 Gunther Nikl <gni@gecko.de>
753 * config.gcc (m68020-*-elf*, m68k-*-elf*, m68010-*-netbsdelf*,
754 m68k*-*-netbsdelf*, m68k-*-rtems*): Add tm_defines containing
755 MOTOROLA and USE_GAS.
756 * config/m68k/rtemself.h (MOTOROLA): Delete.
757 * config/m68k/netbsd-elf.h (MOTOROLA, USE_GAS): Delete.
758 * config/m68k/m68kelf.h (MOTOROLA, USE_GAS, SGS_CMP_ORDER): Delete.
760 2003-11-29 Kazu Hirata <kazu@cs.umass.edu>
762 * config/h8300/h8300.h (WORDS_BIG_ENDIAN): Update the comment.
764 2003-11-29 Kelley Cook <kcook@gcc.gnu.org>
766 * Makefile.in (install-info): Install gccinstall.info too.
768 2003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
770 * config/s390/s390.md ("cmpint_di"): Fix incorrect instruction lengths.
772 2003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
774 * config/s390/s390.md ("movhi"): Do not emit extender pattern
775 when loading from a (MEM (ADDRESSOF ...)).
778 2003-11-29 Joseph S. Myers <jsm@polyomino.org.uk>
781 * c-parse.in (typespec_reserved_nonattr): Reject typeof on
784 2003-11-29 Richard Sandiford <rsandifo@redhat.com>
786 * stmt.c (expand_asm_operands): Check whether force_const_mem
789 2003-11-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
791 * config/gnu.h (HURD_TARGET_OS_CPP_BUILTINS): New.
792 * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): New.
794 * config/alpha/gnu.h, config/alpha/linux.h,
795 config/arm/linux-elf.h, config/cris/cris.h, config/cris/linux.h,
796 config/i370/linux.h, config/i386/gnu.h, config/i386/i386.h,
797 config/i386/linux-aout.h, config/i386/linux.h,
798 config/i386/linux64.h, config/ia64/linux.h, config/m68k/linux.h,
799 config/m68k/uclinux.h, config/mips/linux.h,
800 config/mn10300/linux.h, config/pa/pa-linux.h,
801 config/rs6000/sysv4.h, config/s390/linux.h, config/sh/linux.h,
802 config/sparc/linux.h, config/sparc/linux64.h,
803 config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Use
804 HURD_TARGET_OS_CPP_BUILTINS/LINUX_TARGET_OS_CPP_BUILTINS or ensure
805 all necessary assertions are included.
807 2003-11-28 Jan Hubicka <jh@suse.cz>
809 * emit-rtl.c (set_used_flags): New.
810 (verify_rtx_sharing, verify_rtl_sharing): New.
811 (unshare_all_rtl_1): Rename to....
812 (unshare_all_rtl_in_chain): ... this one; make static.
813 (copy_rtx_if_shared): LABEL_REF chan be shared.
814 * ifcvt.c (unshare_ifcvt_sequence): New.
815 (noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
816 noce_try_addcc, noce_try_addcc, noce_try_store_flag_mask,
817 noce_try_cmove, noce_try_store_flag_mask, noce_try_minmax,
818 noce_try_abs, noce_process_if_block, find_cond_trap
819 * rtl.h (verify_rtl_sharing, set_used_flags, unshare_all_rtl_in_chain):
822 2003-11-28 Kazu Hirata <kazu@cs.umass.edu>
824 * config/h8300/h8300.md: Fix a comment typo.
826 2003-11-28 Kazu Hirata <kazu@cs.umass.edu>
828 * config/h8300/h8300.md (*movsf_h8300h): Change to
830 (addsi_h8300): Change to *addsi_h8300.
831 (addsi_h8300h): Change to *addsi_h8300hs.
832 (subsi3_h8300): Change to *subsi3_h8300.
833 (subsi3_h8300h): Change to *subsi3_h8300hs.
834 (neghi2_h8300h): Change to *neghi2_h8300hs.
835 (negsi2_h8300h): Change to *negsi2_h8300hs.
837 2003-11-28 Kazu Hirata <kazu@cs.umass.edu>
839 * config/h8300/h8300.md (*subhi3_h8300): Remove '&' from the
841 (*subhi3_h8300hs): Likewise.
843 2003-11-28 David Edelsohn <edelsohn@gnu.org>
845 * config/rs6000/rs6000.h (MASK_MFCRF): New.
846 (TARGET_MFCRF): Test target_flags, not processor type.
847 (TARGET_SWITCHES): Add mfcrf and no-mfcrf.
848 Change Don't to Do not.
849 * config/rs6000/rs6000.c (processors_target_table): Add MASK_MFCRF
852 2003-11-27 J"orn Rennecke <joern.rennecke@superh.com>
854 * cse.c (cse_set_around_loop): When changing a constant load
855 to a register -register copy, add a REG_EQUAL note.
857 2003-11-27 Randolph Chung <tausq@debian.org>
858 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
860 * pa.c (hppa_profile_hook): Split gen_call_profiler into separate
861 insns. Use the regular call expander for the call to the profiler.
862 * pa.md (call_profiler): Delete.
863 (load_offset_label_address): New insn to load the address of the
864 current function for the profiler.
865 (lcla1, lcla2): New insns to output a code label and load its address.
867 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
869 * final.c (final_scan_insn): Remove commented-out code.
871 2003-11-27 Nathanael Nerode <neroden@gcc.gnu.org>
873 * doc/install.texi: Remove ADAC reference and make accurate.
875 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
877 * config/h8300/h8300.h (FUNCTION_VALUE): Use R0_REG.
878 (FUNCTION_VALUE_REGNO_P): Likewise.
879 * config/h8300/h8300.md: Define R0_REG.
881 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
883 * config/h8300/h8300.c: Fix formatting.
884 * config/h8300/h8300.md: Likewise.
886 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
888 * config/h8300/h8300.h (ELIMINABLE_REGS): Update a comment.
890 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
892 * config/h8300/h8300.md: Give names to anonymous insns.
894 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
896 * config/h8300/h8300.md (extendqisi2): Remove constraints.
898 2003-11-27 Gunther Nikl <gni@gecko.de>
900 * doc/tm.texi (SYSROOT_HEADERS_SUFFIX_SPEC): Fix typo.
902 2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
904 PR optimization/13041
905 * final.c (frame_pointer_needed): Fix comment.
906 * reload1.c (reload): Decrease alignment of the frame
907 pointer if it was used for register allocation.
909 2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
912 * reg-stack (move_for_stack_reg): New prototype. Return
913 whether a control flow insn was deleted.
914 (subst_stack_regs_pat): Likewise, using the information provided
915 by move_for_stack_reg.
916 (subst_stack_regs): Likewise, using the information provided
917 by subst_stack_regs_pat.
918 (convert_regs_1): Record whether a control flow insn was deleted,
919 using the information provided by subst_stack_regs. Purge dead
920 edges only if a control flow insn was deleted.
922 2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
930 * builtins.c (expand_builtin_apply): Use virtual_outgoing_args_rtx
931 as the base address to copy the memory arguments to.
933 2003-11-26 Danny Smith <dannysmith@users.sourceforge.net>
935 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Declare
936 function aliases as functions.
938 2003-11-26 Nathanael Nerode <neroden@gcc.gnu.org>
940 * aclocal.m4 (gcc_AC_PROG_GNAT): Rewrite to account for removal
942 * configure: Regenerate.
944 * Makefile.in: Remove references to ADAC.
946 * configure.in: Remove check for whether ${ADAC} accepts -Wno-long-long.
947 * configure: Regenerate.
949 2003-11-26 Eric Botcazou <ebotcazou@libertysurf.fr>
950 Olivier Hainque <hainque@act-europe.fr>
953 * config/sparc/sparc-protos.h (compute_frame_size): New prototype.
954 (sparc_flat_compute_frame_size): Likewise.
955 (sparc_flat_save_restore): Move prototype...
956 * config/sparc/sparc.c (sparc_flat_save_restore): ...here.
957 (save_regs): New prototype.
958 (build_big_number): Likewise.
959 (apparent_fsize): Change type to HOST_WIDE_INT.
960 (actual_fsize): Likewise.
961 (frame_base_offset): Likewise.
962 (build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
963 Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
964 [TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
965 to load a 64-bit constant.
966 (sparc_nonflat_function_prologue): Change string descriptor to
967 HOST_WIDE_INT_PRINT_DEC. Change offset type to HOST_WIDE_INT.
968 (output_restore_regs): Change offset type to HOST_WIDE_INT.
969 (sparc_nonflat_function_epilogue): Change string descriptor to
970 HOST_WIDE_INT_PRINT_DEC. Use build_big_number.
971 (output_sibcall): Change size type to HOST_WIDE_INT. Use
972 build_big_number. Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
973 (sparc_frame_info): Change types for several components.
974 (sparc_flat_compute_frame_size): Update types according to previous
976 (sparc_flat_function_prologue): Change string descriptor to
977 HOST_WIDE_INT_PRINT_DEC. Change offset type to int. Use
979 (sparc_flat_function_epilogue): Change offset type to int.
980 Rename 'size1' into 'reg_offset1'. Change string descriptor to
981 HOST_WIDE_INT_PRINT_DEC. Use build_big_number. Change big number
982 limit to 4096 instead of 4095.
984 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
987 2003-11-24 Waldek Hebisch <hebisch@math.uni.wroc.pl>
989 * function.c: Make outer_function-chain external.
990 * function.h: Likewise.
992 2003-11-24 Richard Sandiford <rsandifo@redhat.com>
994 * config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
996 * config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
997 whole of the previous STARTFILE_SPEC except crtbegin.o%s.
998 (IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
999 (STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
1000 (SUBTARGET_EXTRA_SPECS): Define.
1001 * config/mips/iris6gld.h (LINK_SPEC): Change -init function
1002 to __gcc_init and -fini function to __gcc_fini.
1003 (STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
1004 (ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
1005 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
1006 * config/mips/t-iris6gld,
1007 * config/mips/irix6-crti.asm,
1008 * config/mips/irix6-crtn.asm: New files.
1010 2003-11-24 Eric Christopher <echristo@redhat.com>
1013 * c-decl.c (c_in_iteration_stmt, c_in_case_stmt): New.
1014 (start_function): Use.
1015 (c_push_function_context): Ditto.
1016 (c-pop_function_context): Ditto.
1017 (language_function): Move...
1018 * c-tree.h: ... here. Add x_in_iteration_stmt, and
1020 * c-parse.in (do_stmt_start, select_or_iter_stmt, stmt): Use
1021 c_in_iteration_stmt, c_in_case_stmt for parser state. Move
1022 check for valid break or continue statment here...
1023 * c-semantics.c (genrtl_break_stmt, genrtl_continue_stmt): From
1024 here. Change original errors to abort.
1026 2003-11-24 Jan Hubicka <jh@suse.cz>
1028 * fold-const.c (fold): Do not return early when optimizing
1029 COMPONENT_REF and constant.
1031 2003-11-24 Kazu Hirata <kazu@cs.umass.edu>
1033 * config/h8300/h8300.md (tablejump_h8300): Change to
1035 (tablejump_h8300h): Change to *tablejump_h8300hs_advanced.
1036 (tablejump_normal_mode): Change to *tablejump_h8300hs_normal.
1037 (indirect_jump_h8300): Change to *indirect_jump_h8300.
1038 (indirect_jump_h8300h): Change to
1039 *indirect_jump_h8300hs_advanced.
1040 (indirect_jump_normal_mode): Change to
1041 *indirect_jump_h8300hs_normal.
1043 2003-11-24 Kazu Hirata <kazu@cs.umass.edu>
1045 * config/h8300/h8300.md: Remove constraints from expanders.
1047 2003-11-24 Kazu Hirata <kazu@cs.umass.edu>
1049 * config/h8300/h8300.md: (stm_h8300s_2): Change the name to
1050 stm_h8300s_2_advanced.
1051 (stm_h8300s_2_normal): New.
1052 (stm_h8300s_2): Likewise.
1053 (stm_h8300s_3): Change the name to stm_h8300s_3_advanced.
1054 (stm_h8300s_3_normal): New.
1055 (stm_h8300s_3): Likewise.
1056 (stm_h8300s_4): Change the name to stm_h8300s_4_advanced.
1057 (stm_h8300s_4_normal): New.
1058 (stm_h8300s_4): Likewise.
1059 (ldm_h8300s_2): Change the name to ldm_h8300s_2_advanced.
1060 (ldm_h8300s_2_normal): New.
1061 (ldm_h8300s_2): Likewise.
1062 (ldm_h8300s_3): Change the name to ldm_h8300s_3_advanced.
1063 (ldm_h8300s_3_normal): New.
1064 (ldm_h8300s_3): Likewise.
1065 (ldm_h8300s_4): Change the name to ldm_h8300s_4_advanced.
1066 (ldm_h8300s_4_normal): New.
1067 (ldm_h8300s_4): Likewise.
1068 (two peephole2's): Enable only with !TARGET_NORMAL_MODE.
1069 (two peephole2's): New.
1071 2003-11-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1073 * genattrtab.c (simplify_cond): Update indices correctly.
1074 (attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
1075 attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
1076 (check_attr_test, encode_units_mask, compute_alternative_mask,
1077 make_alternative_compare, simplify_and_tree,
1078 attr_rtx_cost, simplify_test_exp, gen_attr,
1079 write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
1080 * rtl.def (EQ_ATTR_ALT): New.
1082 2003-11-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1084 * genattrtab.c (strcmp_check, DEF_ATTR_STRING): New macros.
1085 (length_str, delay_type_str, delay_1_0_str, num_delay_slots_str):
1087 (main): Initialize them.
1088 (find_attr): Canonicalize the attribute name string.
1089 (attr_rtx_1, copy_boolean, expand_delays, gen_unit): Always canonicalize
1091 (attr_printf, attr_eq): Use DEF_ATTR_STRING.
1092 (check_attr_test, check_attr_value, make_length_attrs,
1093 write_length_unit_log, simplify_by_exploding, gen_attr,
1094 write_test_expr, write_attr_value, write_eligible_delay,
1095 write_complex_function, make_internal_attr,
1096 write_const_num_delay_slots): Changed due to change of type of
1098 (fill_attr, evaluate_eq_attr, simplify_and_tree,
1099 attr_rtx_cost, simplify_by_exploding, walk_attr_value): Use
1102 2003-11-23 Kazu Hirata <kazu@cs.umass.edu>
1105 * config/h8300/h8300.c (push): Call push_h8300hs_normal in
1107 (pop): Call pop_h8300hs_normal in normal mode.
1108 * config/h8300/h8300.md: Likewise.
1109 (pushqi1_h8300hs_normal): New.
1110 (pushqi1): Call pushqi1_h8300hs_normal in normal mode.
1111 (pushhi1_h8300hs_normal): New.
1112 (pushhi1): Call pushhi1_h8300hs_normal in normal mode.
1113 (push_h8300hs_normal): New.
1114 (pop_h8300hs_normal): Likewise.
1116 2003-11-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1118 * genattrtab.c (count_sub_rtxs): Removed.
1120 2003-11-23 Richard Earnshaw <rearnsha@arm.com>
1122 * recog.c (preprocess_constraints): Only zero those elements of
1123 recog_op_alt that are needed for this insn.
1124 * arm.c (note_invalid_constants): A function can't contain invalid
1125 constants if it has no constraints.
1127 2003-11-22 Jan Hubicka <jh@suse.cz>
1129 * i386.c (classify_argument): Pass __float128 in memory.
1130 (ix86_return_in_memory): Likewise.
1131 (ix86_libcall_value): Likewsie.
1133 2003-11-22 Kazu Hirata <kazu@cs.umass.edu>
1135 * config/h8300/h8300.c (dosize): Convert to ISO-C.
1137 2003-11-22 J"orn Rennecke <joern.rennecke@superh.com>
1139 * flow.c (update_life_info): Amend comment about when a register
1142 2003-11-21 Kelley Cook <kcook@gcc.gnu.org>
1144 * doc/.cvsignore: Delete.
1146 2003-11-21 Daniel Berlin <dberlin@dberlin.org>
1147 David Edelsohn <edelsohn@gnu.org>
1149 * dwarf2out.c (add_location_or_const_value_attribute): Add support
1152 2003-11-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1154 * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS): Add -Wno-error.
1155 (TARGET_LIBGCC2_CFLAGS): Define.
1157 * crtstuff.c [HAS_INIT_SECTION] (__do_global_dtors): Declare.
1158 (__do_global_ctors): Likewise.
1160 2003-11-21 Mark Wielaard <mark@klomp.org>
1162 * doc/invoke.texi (-O2): Doesn't enable -fweb.
1164 2003-11-21 Kazu Hirata <kazu@cs.umass.edu>
1166 * doc/invoke.texi: Mention dV and dZ.
1168 2003-11-21 Kazu Hirata <kazu@cs.umass.edu>
1170 * doc/invoke.texi: Update dump file names.
1171 Remove de, dW, and dX.
1173 2003-11-20 James E Wilson <wilson@specifixinc.com>
1176 * reload1.c (reload): Delete special handling for setjmp.
1178 2003-11-21 Andreas Tobler <a.tobler@schweiz.ch>
1180 * mklibgcc.in: Evaluate shlib_slibdir_qual during link
1182 * config/t-slibgcc-darwin: Adjust install path.
1183 * config/rs6000/t-darwin: Revert multilib matches since
1184 it is not used on darwin.
1186 2003-11-20 Richard Henderson <rth@redhat.com>
1188 * ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
1189 * Makefile.in (OBJS-common, GTFILES): Don't reference them.
1190 (gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
1191 (ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
1192 * flow.c: Don't include ssa.h.
1193 (set_phi_alternative_reg): Remove.
1194 (calculate_global_regs_live): Don't call it.
1195 (mark_used_regs): Don't handle PHI.
1196 * gengtype.c (open_base_files): Don't reference ssa.h.
1197 * rtl.def (PHI): Remove.
1198 * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
1199 * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
1200 * opts.c (common_handle_option): Likewise.
1201 * toplev.c (f_options): Likewise.
1202 (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
1203 (dump_file): Update to match.
1204 (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
1205 (rest_of_handle_ssa): Remove.
1206 (rest_of_compilation): Don't call it.
1207 * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
1208 * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
1209 * doc/passes.texi (SSA optimizations): Remove.
1211 2003-11-20 Bob Wilson <bob.wilson@acm.org>
1213 * configure.in: Add xtensa-*-* targets to test for dwarf2 debug_line.
1214 * configure: Regenerate.
1216 2003-11-20 Kelley Cook <kcook@gcc.gnu.org>
1218 * Makefile.in (Makefile): Pass along CONFIG_SHELL.
1220 2003-11-20 David Mosberger <davidm@hpl.hp.com>
1222 * config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
1224 * unwind-libunwind.c (_Unwind_GetCFA): Implement.
1225 (_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
1227 2003-11-20 Fariborz Jahanian <fjahanian@apple.com>
1228 David Edelsohn <edelsohn@gnu.org>
1230 * calls.c (expand_call): Allocate new temp in pass1.
1231 (store_one_arg): If PARALLEL, calculate excess using mode size of
1233 * expr.c (emit_push_insn): If PARALLEL, calculate offset using
1234 mode size of rtvec elt.
1235 * function.c (assign_parms): Use parm in register, if available.
1237 2003-11-20 Kazu Hirata <kazu@cs.umass.edu>
1239 * config/h8300/lib1funcs.asm (MOVP): Remove.
1243 2003-11-20 Richard Earnshaw <rearnsha@arm.com>
1245 * arm.c (use_return_insn): New argument, SIBLING. Support returning
1246 with a single instruction if the stack has been decremented by 4
1247 and we have a frame pointer. Update all callers.
1248 (output_return_instruction): Likewise.
1249 (arm_output_epilogue): Change argument to SIBLING. Calculate
1250 really_return from the new argument. Update all callers.
1251 * arm.h (USE_RETURN_INSN): Pass NULL for the sibling.
1252 * arm.md (sibcall_epilogue): Call use_return_insn directly, and
1253 pass the sibling call.
1254 * arm-protos.h (use_return_insn, arm_output_epilogue): Update
1257 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
1259 * Makefile.in (extraclean): Delete.
1260 * configure.in (target_list): Remove extraclean.
1261 * configure: Regenerate.
1262 * doc/makefile.texi, doc/sourcebuild.texi: Update.
1263 * objc/Make-lang.in (objc.extraclean): Delete.
1265 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
1267 * Makefile.in (lang_checks): Add.
1268 (check-c++, check-f77, check-java, check-g++, check-g77,
1269 check-objc): Remove hardcoded targets.
1270 * doc/sourcebuild.texi: Document testsuite hooks.
1271 * objc/Make-lang.in (check-objc, lang_checks): Add.
1273 2003-11-19 Scott Snyder <snyder@fnal.gov>
1276 * dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
1277 flag, not a constant.
1279 2003-11-19 Kelley Cook <kcook@gcc.gnu.org>
1281 * config/arc/arc-protos.h: Update to C90 prototypes.
1282 * config/arc/arc.c: Likewise.
1283 * config/arc/initfini.c: Likewise.
1285 2003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
1287 * stmt.c (expand_goto): Memory clobbers added.
1289 2003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
1291 * reload.c (find_reloads): Added missing type casts.
1293 2003-11-19 James E Wilson <wilson@specifixinc.com>
1295 * combine.c (sets_function_arg_p): Delete unused function.
1297 2003-11-19 Eric Christopher <echristo@redhat.com>
1299 * reload1.c (reload): Revert 2 previous checkins.
1301 2003-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
1303 * cpptrad.c (_cpp_scan_out_logical_line): Improve test for
1304 whether directive begins at the beginning of a line.
1306 2003-11-19 Richard Sandiford <rsandifo@redhat.com>
1308 * config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
1310 2003-11-19 Gerald Pfeifer <gp@suse.de>
1312 * doc/install.texi (Specific): Remove information on old versions
1313 of glibc versus old versions of GCC.
1315 2003-11-19 Richard SAndiford <rsandifo@redhat.com>
1317 * emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
1318 the register lowpart is a TRULY_NOOP_TRUNCATION.
1320 2003-11-19 Richard Henderson <rth@redhat.com>
1322 * config/i386/i386.c (print_reg): Handle QI and HI modes for
1325 2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
1327 * config/config.gcc (powerpc-*-darwin*): Add libgcc build
1329 * config/t-slibgcc-darwin: New file, libgcc build specification.
1330 * config/t-darwin: Add libgcc2 flag -fPIC.
1331 * config/rs6000/t-darwin: Multilib matches float.
1332 * libgcc-darwin.ver: New file, contains libgcc symbols.
1334 2003-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
1336 * config/ns32k/ns32k.h: Remove obsolete comment.
1338 2003-11-18 Roger Sayle <roger@eyesopen.com>
1341 * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
1342 size for calls to libgcc's div & mod subroutines when using -Os.
1344 2003-11-18 Jan Hubicka <jh@suse.cz>
1346 * cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
1348 2003-11-18 Marc Espie <espie@openbsd.org>
1350 * config/rs6000/sysv4.h: OpenBSD hooks.
1352 2003-11-18 Richard Henderson <rth@redhat.com>
1354 * expr.c (expand_expr): Don't look through constant arrays if
1355 they don't bind locally.
1357 2003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1359 * expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
1360 when seeing if truncation or extension.
1362 2003-11-17 Eric Christopher <echristo@redhat.com>
1364 * reload1.c (reload): Fix previous change.
1366 2003-11-17 Scott Snyder <snyder@fnal.gov>
1369 * dwarf2out.c (struct die_struct): Add die_definition field.
1370 (add_AT_specification): New.
1371 (gen_subprogram_die, gen_variable_die,
1372 gen_struct_or_union_type_die): Use it.
1373 (prune_unused_types_mark): If we're marking a forward declaration,
1374 also mark the full definition, if it exists.
1376 2003-11-16 Nick Clifton <nickc@redhat.com>
1378 * config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
1379 * config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
1381 * config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
1382 to xstormy16_build_builtin_va_list and make static.
1383 (TARGET_BUILD_BUILTIN_VA_LIST): Define.
1385 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
1387 * config/h8300/h8300-protos.h: Add the prototype for
1388 same_cmp_following_p.
1389 * config/h8300/h8300.c (same_cmp_following_p): New.
1390 * config/h8300/h8300.md (peephole2): Use it.
1392 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
1394 * config/h8300/h8300.md: Don't use REGNO when its operand is
1395 not guaranteed to be a REG.
1397 2003-11-16 Richard Sandiford <rsandifo@redhat.com>
1399 * Makefile.in (expr.o): Depend on $(TARGET_H).
1400 * target.h (return_in_msb): New target hook.
1401 * target-def.h (TARGET_RETURN_IN_MSB): New macro.
1402 (TARGET_CALLS): Include it.
1403 * calls.c (shift_returned_value): New function.
1404 (expand_call): Use it.
1405 * expr.c: Include target.h.
1406 (copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
1407 deciding what padding is needed. Change the name of the local
1408 padding variable from big_endian_correction to padding_correction.
1409 * stmt.c (shift_return_value): New function.
1410 (expand_return): Use it. Adjust memory->register copy in the same
1411 way as copy_blkmode_from_reg. Only change the return register's
1412 mode if it was originally BLKmode.
1413 * doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
1414 * config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
1415 (mips_fpr_return_fields): New, split out from mips_function_value.
1416 (mips_return_in_msb, mips_return_fpr_pair): New functions.
1417 (mips_function_value): Rework to use the functions above.
1418 * config/mips/irix6-libc-compat.c: Delete.
1419 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
1421 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
1423 * doc/install.texi (--enable-checking): Update valgrind's URL.
1425 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
1427 * config/h8300/h8300.md: Fix warnings by replacing -2147483648
1428 with -2147483647 - 1.
1430 2003-11-16 Gerald Pfeifer <gerald@pfeifer.com>
1432 Fix links in online manuals.
1433 * doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
1434 (Precompiled Headers): @pxref to cpp, not cpp.info.
1436 2003-11-16 Jason Merrill <jason@redhat.com>
1438 * Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
1439 files in each directory and TAGS files that include them for each
1442 2003-11-15 Kazu Hirata <kazu@cs.umass.edu>
1444 * config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
1446 (modnorm): Likewise.
1447 (exitdiv): Look at bit 3 of S2L only.
1449 2003-11-15 Kazu Hirata <kazu@cs.umass.edu>
1451 * config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
1452 (DO_GLOBAL_DTORS_BODY): Likewise.
1454 2003-11-15 Joseph S. Myers <jsm@polyomino.org.uk>
1456 * doc/install.texi (Prerequisites): Refine documentation of
1457 autoconf, automake and perl requirements. Document required
1460 <2003-11-14 Jason Merrill <jason@redhat.com>
1462 * function.c (assign_parms): Use TREE_TYPE to determine the real
1463 type of the argument object.
1465 2003-11-14 Kazu Hirata <kazu@cs.umass.edu>
1467 * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
1470 2003-11-14 Fariborz Jahanian <fjahanian@apple.com>
1472 * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
1473 New routine to save vararg registers on stack. Support for
1474 -mpowerpc64 in mixed mode.
1476 2003-11-14 Bernardo Innocenti <bernie@develer.com>
1478 * config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
1479 for MOTOROLA versus MIT syntax. Improves readability and provides
1480 better compile-time error checking for both code paths.
1482 2003-11-14 Kelley Cook <kcook@gcc.gnu.org>
1484 * config/frv/frv-protos.h: Update for C90.
1485 * config/frv/frv.h: Likewise.
1486 * config/frv/frvbegin.c: Likewise.
1487 * config/frv/frv.c: Likewise.
1488 (frv_adjust_field_align): Delete unused variable.
1490 2003-11-14 Geoffrey Keating <geoffk@apple.com>
1492 * config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
1493 to each place where TARGET_LONG_DOUBLE_128 is used with
1494 DEFAULT_ABI == ABI_AIX.
1496 * cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
1497 message comply with GNU standards.
1499 2003-11-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1502 * function.c (struct epi_info): New field const_equiv.
1503 (update_epilogue_consts): New function.
1504 (keep_stack_depressed): Clear new field and verify scratch register
1505 doesn't have it set.
1506 Call new function via note_stores.
1507 (handle_epilogue_set): Allow setting SP equiv reg in different mode.
1508 Allow PLUS where second operand is register known set to constant.
1509 (emit_equiv_load): Write load using proper mode if source different.
1510 * config/mips/mips.md (return_internal): Put (return) first.
1512 2003-11-14 Kazu Hirata <kazu@cs.umass.edu>
1514 * config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
1516 2003-11-14 Kazu Hirata <kazu@cs.umass.edu>
1518 * config/h8300/lib1funcs.asm (modsi3): Don't save unused
1521 (reti): Don't restore unused registers.
1523 2003-11-14 Nick Clifton <nickc@redhat.com>
1525 * config/fr30/fr30.c: Include toplev.h
1527 2003-11-14 Richard Earnshaw <rearnsha@arm.com>
1529 * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
1531 2003-11-14 Richard Earnshaw <rearnsha@arm.com>
1533 * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
1534 function definition syntax.
1536 2003-11-14 Eric Christopher <echristo@redhat.com>
1538 * reload1.c (reload): Revert previous patch. Make
1539 check for assignment into reg_equiv_address stricter.
1541 2003-11-14 Arnaud Charlet <charlet@act-europe.fr>
1543 * Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
1545 2003-11-14 Richard Sandiford <rsandifo@redhat.com>
1547 * config/frv/frv.c (frv_in_small_data_p): Return false for unknown
1550 2003-11-14 Jason Merrill <jason@redhat.com>
1553 * tree.c (build): A CALL_EXPR has side-effects if its arguments do.
1554 * calls.c (call_expr_flags): New fn.
1555 * tree.h: Declare it.
1557 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
1559 * config/h8300/lib1funcs.asm (__udivsi3): Remove.
1560 (divmodsi3): Change the name to ___udivsi3.
1563 2003-11-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1565 * libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
1566 __mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
1567 __ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
1568 __udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
1569 __fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
1570 __floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
1571 Const-ify and/or initialize automatic variables at declaration.
1573 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
1575 * config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
1576 of er4 with er3. Adjust all callers.
1578 2003-11-13 Andrew Pinski <apinski@apple.com>
1580 * config/darwin.c (machopic_output_possible_stub_label):
1581 Allow stub symbol be not defined when outputting possible
1584 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
1586 * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
1588 (___umodsi3): Likewise.
1589 (exitdiv): Do not restore any register.
1590 (reti): Restore registers.
1592 2003-11-13 Steven Bosscher <stevenb@suse.de>
1594 * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
1596 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
1598 * config/h8300/lib1funcs.asm: Fix comment typos.
1600 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
1602 * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
1603 unused registers. Don't jump to exitdiv.
1604 (umodsi3): Likewise.
1606 2003-11-13 Mark Mitchell <mark@codesourcery.com>
1607 Kean Johnston <jkj@sco.com>
1610 * toplev.c (check_global_declarations): Do not warn about unused
1613 2003-11-13 Pavel Pisa <pisa@cmp.felk.cvut.cz>
1614 Kazu Hirata <kazu@cs.umass.edu>
1616 * config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
1617 the approximate quotient method.
1619 2003-11-13 Richard Earnshaw <rearnsha@arm.com>
1621 * combine.c (distribute_notes): When re-distributing the notes from
1622 an insn we are about to delete, ensure we can't end up with a cyclic
1625 2003-11-13 Eric Botcazou <ebotcazou@libertysurf.fr>
1627 PR optimization/12926
1628 * expr.c (expand_assignment) [COMPONENT_REF]: Don't put
1629 the UNCHANGING_RTX_P flag on memory references to read-only
1630 components that are not addressable.
1632 2003-11-12 Kazu Hirata <kazu@cs.umass.edu>
1634 * config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
1637 2003-11-13 Jan Hubicka <jh@suse.cz>
1640 * c-decl.c (finish_decl): Use change_decl_assembler_name.
1641 * c-pragma.c (handle_pragma_redefine_extname): Likewise.
1642 * varasm.c (make_decl_rtl): Likewise.
1643 * cgraph.c (change_decl_assembler_name): New function.
1644 * tree.h (set_decl_assembler_name): Kill dead declaration.
1645 (change_decl_assembler_name): Declare.
1647 * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
1648 * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
1650 2003-11-12 Kazu Hirata <kazu@cs.umass.edu>
1652 * config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
1655 2003-11-12 Richard Sandiford <rsandifo@redhat.com>
1658 * config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
1659 (MULTILIB_OSDIRNAMES): Reorder accordingly.
1661 2003-11-12 Janis Johnson <janis187@us.ibm.com>
1663 * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
1664 (rs6000_stack_info): Remove. (debug_stack_info): Remove.
1665 (rs6000_emit_eh_reg_restore): Add
1666 * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
1667 of vars_size and total_size to HOST_WIDE_INT.
1668 (emit_frame_save): Change parameter size to HOST_WIDE_INT.
1669 (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
1670 (debug_stack_info): Make static; change output format of HOST_WIDE_INT
1672 (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
1673 (rs6000_initial_elimination_offset): New, with code formerly in
1674 INITIAL_ELIMINATION_OFFSET.
1675 * rs6000.h (rs6000_stack_t): Remove.
1676 (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
1677 rs6000_initial_elimination_offset.
1678 * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
1679 rs6000_emit_eh_reg_restore.
1681 2003-11-12 Mike Stump <mrs@apple.com>
1683 * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
1684 is the argumnt we are processing so that warnings and errors
1685 will have that information.
1686 * c-tree.h (c_convert_parm_for_inlining): Add argnum.
1688 (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
1689 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
1690 * langhooks.h (convert_parm_for_inlining): Likewise.
1691 * tree-inline.c (initialize_inlined_parameters): Compute and
1694 2003-11-12 Alexey Starovoytov <alexey.starovoytov@sun.com>
1695 Roger Sayle <roger@eyesopen.com>
1697 PR optimization/12953
1698 * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
1699 before switch by FUNCTION_CODE.
1701 2003-11-12 Richard Earnshaw <rearnsha@arm.com>
1703 * arm.md (storehi): Avoid use of explicit subreg.
1704 (storehi_bigend, storeinthi, movhi_bigend): Likewise.
1706 2003-11-12 J"orn Rennecke <joern.rennecke@superh.com>
1708 * config/sh/sh.md (prefetch): New pattern.
1710 2003-11-11 Eric Christopher <echristo@redhat.com>
1712 * reload1.c (reload): Verify that addresses for
1713 reg_equiv_* are valid for the architecture.
1715 2003-11-11 Eric Christopher <echristo@redhat.com>
1717 * function.c (purge_addressof_1): Add libcall check.
1718 Remove test for cached replacements on fallback case.
1719 Simplify mode comparisons. Add libcall test for
1720 paradoxical subregs.
1722 2003-11-11 Kazu Hirata <kazu@cs.umass.edu>
1724 * config/h8300/t-h8300: Fix an obsolete comment.
1726 2003-11-11 James E Wilson <wilson@specifixinc.com>
1728 * expmed.c (store_bit_field, extract_bit_field): Revert last two
1731 2003-11-11 Kazu Hirata <kazu@cs.umass.edu>
1733 * config/h8300/lib1funcs.asm: Replace DenHighZero with
1736 2003-11-11 Jan Hubicka <jh@suse.cz>
1738 * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
1741 2003-11-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1743 * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
1744 generating 64-bit code.
1746 2003-11-10 David Edelsohn <edelsohn@gnu.org>
1748 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
1749 accidental commit in previous change.
1751 2003-11-10 Fariborz Jahanian <fjahanian@apple.com>
1753 * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
1754 * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
1755 address recognition.
1756 (macho_lo_sum_memory_operand): Routine to recognize macho-style
1757 address recognition.
1759 2003-11-10 Richard Henderson <rth@redhat.com>
1761 * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
1763 2003-11-10 Matt Austern <austern@apple.com>
1765 * config/darwin-protos.h (darwin_assemble_visibility): Declare.
1766 * config/darwin.c (darwin_assemble_visibility): Define. Warn for
1767 anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
1768 * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
1769 darwin_assemble_visibility instead of default.
1771 2003-11-10 Waldek Hebisch <hebisch@math.uni.wroc.pl>
1774 * config/sparc/sparc.c (sparc_initialize_trampoline): Call
1775 __enable_execute_stack only after writing onto the stack.
1776 (sparc64_initialize_trampoline): Likewise.
1778 2003-11-09 Roger Sayle <roger@eyesopen.com>
1780 * loop.c (check_dbra_loop): Try swapping the comparison operands
1781 of the loop condition to identify a suitable induction variable.
1782 * unroll.c (loop_iterations): Likewise.
1784 2003-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1786 * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
1787 sparc64 #cpu and #machine assertions.
1789 2003-11-09 Richard Henderson <rth@redhat.com>
1791 * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
1793 2003-11-09 Jan Hubicka <jh@suse.cz>
1795 * tree-optimize.c (tree_rest_of_compilation): Fix warning.
1797 * cgraphunit.c (cgraph_expand_function): Use
1798 cgraph_possibly_inlined_p.
1799 * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
1801 * opts.c (common_handle_option): Do not set max-inline-insns.
1802 * params.def: Update comments.
1803 (PARAM_MAX_INLINE_INSNS): Kill.
1804 * invoke.texi (max-inline-insns): Kill.
1806 2003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
1810 * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
1811 * invoke.texi: Update.
1813 2003-11-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1815 PR optimization/12630
1816 * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
1817 Handle length computation 64-bit moves.
1818 (compute_clrstr_length, output_block_clear): Implement block clear.
1819 (output_block_move): Handle 64-bit moves.
1820 (pa_adjust_insn_length): Use compute_movstr_length and
1821 compute_clrstr_length.
1822 * pa.md (movstrsi): Revise operand order and comments. Don't use
1824 (movstrsi_internal): Delete.
1825 (movstrsi_prereload, movstrsi_postreload): New insns. Define splitter
1826 and peephole2 patterns to transform prereload to postreload form.
1827 (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
1828 clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
1829 clrstrdi_postreload): New patterns for 64-bit block move, and block
1831 * pa-protos.h (output_block_clear): New prototype.
1833 2003-11-08 Andreas Schwab <schwab@suse.de>
1835 * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
1836 XCOFF_DEBUGGING_INFO.
1838 2003-11-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1840 * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
1842 2003-11-07 Geoffrey Keating <geoffk@apple.com>
1844 * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
1847 * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
1848 (find_file_in_dir): Likewise.
1849 (_cpp_find_file): Print message if no header file is found
1850 but an invalid PCH file was.
1852 2003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
1854 * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
1855 expressions as lvalues.
1856 (internal_build_compound_expr): Remove special handling for
1858 * doc/extend.texi: Document that all extended lvalues are now
1861 2003-11-07 Geoffrey Keating <geoffk@apple.com>
1864 * dbxout.c (struct dbx_file): Do not save for PCH.
1865 (current_file): Likewise.
1866 (dbxout_init): Don't allocate struct dbx_file using GC.
1867 (dbxout_start_source_file): Likewise.
1869 2003-11-07 Falk Hueffner <falk@debian.org>
1871 * config/alpha/elf.h, config/alpha/unicosmk.h,
1872 config/alpha/vms.h: Convert to ISO C90.
1874 2003-11-07 Nathanael Nerode <neroden@gcc.gnu.org>
1876 * config/arm/pe.h: Convert to ISO C90.
1878 2003-11-07 J"orn Rennecke <joern.rennecke@superh.com>
1880 * sh-protos.h (sh_pch_valid_p): Declare.
1881 * sh.c ("intl.h"): Include.
1882 (TARGET_PCH_VALID_P): Override.
1883 (sh_target_switches): New variable.
1884 (target_switches): Define.
1885 (sh_pch_valid_p): New function.
1887 * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
1889 2003-11-07 Jan Hubicka <jh@suse.cz>
1891 * i386.c (x86_64_sign_extended_value): Return false from tls variables.
1892 (x86_64_zero_extended_value): likewise.
1894 2003-11-07 Richard Sandiford <rsandifo@redhat.com>
1896 * config/mips/mips.md (loadgp): Take $25 as a second operand.
1897 * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
1899 2003-11-06 Matt Austern <austern@apple.com>
1901 * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
1902 field instead of hanging an attribute object off the decl.
1903 * tree.h (DECL_VISIBLITY): New accessor macro for
1904 symbol_visibility field in struct tree_decl.
1905 (enum symbol_visibility): Move definition to before tree_decl.
1906 (struct tree_decl): Define new two-bit field, symbol_visibility.
1907 (decl_visibility): Remove declaration.
1908 * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
1909 instead of decl_visibility.
1910 (default_binds_local_p_1): Use DECL_VISIBILITY instead of
1912 (decl_visibility): Remove.
1914 2003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1916 * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
1917 where register 14 will be saved.
1919 2003-11-06 Geoffrey Keating <geoffk@apple.com>
1921 * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
1922 (USE_ALTIVEC_FOR_ARG_P): Likewise.
1923 * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
1924 Take a pointer as the CUM parameter. Update callers.
1925 (USE_ALTIVEC_FOR_ARG_P): Likewise. Also correct for Darwin/AIX
1927 (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P. Correct case
1928 of vector parameters as named arguments of stdarg function.
1929 (function_arg): Likewise.
1931 * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
1932 -maltivec is specified, not the non-existent -faltivec.
1934 2003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1936 * config/s390/s390-protos.h (s390_function_value): Declare.
1937 * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
1938 (s390_return_in_memory): New function.
1939 (s390_function_value): New function.
1940 (s390_function_arg_float): Return false for all arguments larger
1942 (s390_function_arg_pass_by_reference): Likewise. Return true for
1943 all vector arguments.
1944 (s390_function_arg_integer): New function.
1945 (s390_function_arg_advance): Call it. Add sanity checks.
1946 (s390_function_arg): Likewise.
1947 * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
1948 (LIBCALL_VALUE): Likewise.
1950 (RETURN_IN_MEMORY): Remove.
1952 2003-11-06 Richard Sandiford <rsandifo@redhat.com>
1954 * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
1955 return type to HOST_WIDE_INT.
1956 * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
1957 Make initialized a bool. Make register masks unsigned ints.
1958 (compute_frame_size): Make same mask change here. Use HOST_WIDE_INT
1960 (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
1961 (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
1963 2003-11-06 Richard Sandiford <rsandifo@redhat.com>
1965 * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
1968 2003-11-06 Richard Sandiford <rsandifo@redhat.com>
1970 * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
1972 2003-11-06 Momchil Velikov <velco@fadata.bg>
1974 * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
1977 2003-11-06 Jan Hubicka <jh@suse.cz>
1979 * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
1982 2003-11-06 Zack Weinberg <zack@codesourcery.com>
1984 * genmodes.c: Change the word "bitsize" to "precision" throughout.
1985 * machmode.def: Likewise.
1986 * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
1987 (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
1988 (GET_MODE_PRECISION): New macro.
1989 (mode_bitsize): Renamed mode_precision.
1990 * stor-layout.c (mode_for_size, smallest_mode_for_size):
1991 Use GET_MODE_PRECISION; clarify comments.
1993 2003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
1995 * doc/install-old.texi: Remove old documentation of building
1997 * doc/install.texi: Move some of it to here.
1999 2003-11-05 Per Bothner <pbothner@apple.com>
2001 PR preprocessor/12891
2002 * c-opts.c (finish_options): Set include_cursor to disable premature
2003 calls to push_command_line_include from cpp_scan_nooutput.
2004 Fixes bug reported by DJ Delorie.
2006 2003-11-05 Geoffrey Keating <geoffk@apple.com>
2008 * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
2009 code supporting old-style varargs.
2011 * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
2012 an intermediate register for better optimisation.
2014 2003-11-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2016 PR optimization/10080
2017 * cfgloopanal.c (variable_initial_value, variable_initial_values,
2018 simple_loop_exit_p): Record the fact that initial value is extended
2020 (count_strange_loop_iterations, count_loop_iterations): Handle
2021 ivs that iterate in a narrower mode. Fix handling of overflows.
2022 Improve handling of NE conditions.
2023 (inverse, fits_in_mode_p): New static functions.
2024 (simple_increment): Detect variables that iterate in a narrower mode.
2025 * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
2027 2003-11-05 Geoffrey Keating <geoffk@apple.com>
2029 * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
2032 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
2035 2003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
2037 * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
2038 conditional expressions as lvalues.
2040 2003-11-05 Kazu Hirata <kazu@cs.umass.edu>
2042 * tsystem.h: Add the prototype of strlen.
2043 * unwind-pe.h (read_encoded_value_with_base): Add an
2044 appropriate cast to handle a case where the pointer size is
2045 smaller than sizeof (int).
2047 2003-11-04 Richard Sandiford <rsandifo@redhat.com>
2049 * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
2050 (mips_delegitimize_address): Delete.
2051 (mips_gotoff_global, mips_load_got_page): Declare.
2052 (mips_load_got_global, mips_rewrite_small_data): Declare.
2054 * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
2055 (DANGEROUS_FOR_LA25_P): Use global_got_operand.
2056 (PREDICATE_CODES): Add global_got_operand, local_got_operand and
2057 small_data_pattern. Remove CONST from const_arith_operand's entry.
2059 * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
2060 (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
2061 (mips_constant_type): Delete.
2062 (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
2063 SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
2064 (NUM_SYMBOL_TYPES): New macro.
2065 (mips_address_type): Remove ADDRESS_INVALID.
2066 (machine_function): Add has_gp_insn_p.
2067 (mips_constant_info): Delete.
2068 (mips_address_info): Add the address type as an extra field. Replace
2069 the c field with symbol_type.
2070 (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
2071 (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
2072 (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
2073 (mips_split_const, mips_symbolic_constant_p): New functions.
2074 (mips_symbolic_address_p): Take the symbol type and mode as arguments.
2075 (mips_classify_address): Return true if the address is valid, storing
2076 its type in INFO. Use mips_symbolic_constant_p. Use mips_lo_relocs[]
2077 to test whether a LO_SUM address is allowed.
2078 (mips_symbol_insns): Return 0 for general mips16 symbols.
2079 Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
2080 Handle the new SYMBOL_GOTOFF_*s.
2081 (mips_address_insns): Update call to mips_classify_address.
2082 (mips_const_insns): Be more fussy about HIGH constants. Remove use
2083 of mips_classify_constant. Be more accurate about CONSTs.
2084 (mips_global_pic_constant_p): Delete.
2085 (const_arith_operand): Only accept CONST_INTs.
2086 (call_insn_operand): Remove call to mips_classify_constant.
2087 Let mips_symbolic_constant_p check for invalid offsets.
2088 (move_operand): Check for general_operands first. Only accept symbolic
2089 constants if they satisfy mips_symbolic_constant_p and cannot be split.
2090 (symbolic_constant): Use mips_symbolic_constant_p.
2091 (global_got_operand, local_got_operand): New predicates.
2092 (stack_operand): Update call to mips_classify_address.
2093 (mips_legitimate_address_p): Likewise.
2094 (mips_reloc, mips_lui_reloc): Delete.
2095 (mips_force_temporary): Only use the given temporary if no_new_pseudos.
2097 (mips_split_symbol, mips_unspec_address): New functions.
2098 (mips_unspec_offset_high): New function.
2099 (mips_load_got): Replace reloc argument with a symbol_type.
2100 Use mips_unspec_address to create the address and put it in a
2101 LO_SUM with the base register.
2102 (mips_load_got16, mips_load_got32): Delete.
2103 (mips_emit_high, mips_legitimize_symbol): Delete.
2104 (mips_gotoff_global): New function.
2105 (mips_load_got_page, mips_load_got_global): New functions.
2106 (mips_legitimize_symbol): Inline handling of LO_SUM splits.
2107 (mips_legitimize_const_move): Likewise. Remove HIGH handling.
2108 Inline code to handle constants plus invalid offsets. Use
2109 mips_split_symbol to legitimize constant pool addresses.
2110 (mips_delegitimize_address): Delete.
2111 (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
2112 a cost of 1 insn. Give the rest a cost of CONSTANT_POOL_ADDRESS.
2113 (mips_subword): Pass memrefs through mips_rewrite_small_data.
2114 (mips_output_move): Remove use of mips_classify_constant.
2115 (mips_expand_call): Use mips_unspec_offset_high to calculate the
2116 high part of the GOT address for calls to global functions.
2117 (override_options): Initialize mips_split_p[], mips_lo_relocs[]
2118 and mips_hi_relocs[].
2119 (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
2120 Remove use of mips_classify_constant.
2121 (mips_reloc_string): Delete.
2122 (print_operand_reloc): New function.
2123 (print_operand_address): Update call to mips_classify_address.
2124 (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
2125 (small_data_pattern): New predicate.
2126 (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
2127 (mips_function_has_gp_insn): New function.
2128 (mips_global_pointer): Use it.
2129 (mips_gp_insn): Delete.
2130 (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
2131 single loadgp pattern to initialize $gp. Pass it the offset of _gp
2132 from the start of the current function.
2133 (mips16_gp_pseudo_reg): Revert last patch.
2135 * config/mips/mips.md (RELOC_*): Delete.
2136 (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
2137 (got): New insn attribute.
2138 (type): Set to "load" if got == load.
2139 (length): Set to 4 if got == load, 8 if got == xgot_high.
2141 (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
2142 (*got_disp[sd]i, *got_page[sd]i): Likewise.
2143 (*low[sd]i): Change constraints to "d". Add a new define_split to
2144 rewrite small data constants into LO_SUMs.
2145 (loadgp): New insns.
2147 2003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2149 * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
2151 2003-11-04 DJ Delorie <dj@redhat.com>
2153 * config/v850/v850.md (mulhisi3): Expand the const_int case
2154 separately to avoid trying to sign extend the const.
2156 2003-11-04 Richard Sandiford <rsandifo@redhat.com>
2158 * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
2159 addresses to be shared.
2160 (force_const_mem): Return a copy of the pool entry.
2162 2003-11-03 Andreas Jaeger <aj@suse.de>
2164 * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
2166 2003-11-03 Kelley Cook <kcook@gcc.gnu.org>
2168 * Makefile.in (cpp.dvi): New target split from cpp.info.
2169 (gcc.dvi): New target split from gcc.info.
2170 (gccint.dvi): New target split from gccint.info.
2171 (cppinternals.dvi): New target split from cppinternals.info
2172 (gccinstall.info): New specific rule.
2173 (gccinstall.dvi): Likewise.
2174 (dvi): Move targets to $(docobjdir).
2175 ($(docobjdir)/%.dvi): New implicit rule.
2177 2003-11-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2179 * doc/gty.texi (tag, desc): Say more about role of desc values in
2180 selecting between tags.
2182 2003-11-03 Alexander Kabaev <ak03@gte.com>
2184 * real.c (encode_ieee_single): Ensure proper promotion.
2186 2003-11-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2188 * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
2191 2003-11-03 Syd Polk <spolk@apple.com>
2193 * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
2194 marketing names to the list of supported processors.
2195 * config/rs6000/rs6000.h: Ditto.
2196 * doc/invoke.texi: Ditto.
2197 * config.gcc: Ditto.
2199 2003-11-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2201 * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
2202 Merge two substitutions.
2203 * fixinc/fixincl.x: Regenerate.
2204 Fixes PR bootstrap/12666.
2206 2003-11-03 Joseph S. Myers <jsm@polyomino.org.uk>
2208 * doc/install-old.texi: Remove VMS documentation.
2210 2003-11-03 Jan Hubicka <jh@suse.cz>
2212 * i386.c (override_options): Remove hack enabling 128bit long double
2213 commited by accident.
2215 2003-11-02 Per Bothner <per@bothner.com>
2217 * c-opts.c (needValue): Do cpp_find_main_file before processing
2218 any imacros flags, so pfile->main_file is set for the latter.
2220 2003-11-03 Andreas Jaeger <aj@suse.de>
2221 Zack Weinberg <zack@codesourcery.com>
2223 * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
2224 (SYSCALLS.c.X-warn): Suppress warnings.
2226 2003-11-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2228 PR optimization/12845
2229 * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
2231 2003-11-02 Zack Weinberg <zack@codesourcery.com>
2233 * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
2234 * config/i386/i386.c (print_reg): Abort on a virtual register
2235 if code != -1; not if file == asm_out_file.
2236 * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
2237 (DEBUG_PRINT_REG): Delete, unused.
2239 2003-11-02 Andreas Schwab <schwab@suse.de>
2241 * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
2242 empty to avoid conflict with the definition from configure.
2244 2003-11-02 Roger Sayle <roger@eyesopen.com>
2246 PR optimization/10817
2247 * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
2248 (noce_try_move): New function to optimize an if-the-else into an
2249 unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
2250 (noce_process_if_block): Attempt simplification with noce_try_move.
2252 * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
2253 and improvements to the optimizations of IF_THEN_ELSE expressions.
2254 (simplify_subreg): Silence signed/unsigned comparison warning.
2256 2003-11-02 Richard Sandiford <rsandifo@redhat.com>
2258 * Makefile.in (targhooks.o, reload.o): Update dependencies.
2259 (GTFILES): Add targhooks.c.
2260 (gt-targhooks.h): New rule; depend on s-gtype.
2261 * target.h (direct_pool_load_p): New hook.
2262 * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
2263 (TARGET_INITIALIZER): Include it.
2264 * targhooks.h (default_direct_pool_load_p): Declare.
2265 (hook_bool_machine_mode_true): Declare.
2266 * targhooks.c: Include insn-config.h, recog.h, ggc.h and
2268 (pool_symbol): New variable.
2269 (default_direct_pool_load_p): New function.
2270 (hook_bool_machine_mode_true): New function.
2271 * reload.c: Include target.h.
2272 (find_reloads): If an alternative will force a constant into memory,
2273 count an extra reload if constant pool symbols are not valid
2274 addresses. If an alternative uses memory to move values between
2275 registers, count the move as two reloads rather than one.
2276 * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
2277 * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
2279 2003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
2281 PR optimization/12799
2282 * postreload.c (reload_cse_move2add): Generate the add2
2285 2003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
2287 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
2288 Return 0 for all complex modes whose size is lesser or equal to
2289 a word. Add a ??? comment for the condition used with 16-byte
2292 2003-11-01 Kelley Cook <kcook@gcc.gnu.org>
2294 * .cvsignore: Remove c-parse* and tradcif.c.
2295 * objc/.cvsignore: Delete.
2297 2003-11-01 Roger Sayle <roger@eyesopen.com>
2299 * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
2302 2003-11-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2304 * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
2306 * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
2308 * collect2.c (scan_libraries): Fix typos.
2310 PR preprocessor/12847
2311 * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
2312 cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
2313 c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
2314 DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
2317 2003-11-01 Fariborz Jahanian <fjahanian@apple.com>
2319 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
2320 no_units calculation.
2322 2003-11-01 Andreas Jaeger <aj@suse.de>
2324 * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
2327 2003-11-01 Andreas Schwab <schwab@suse.de>
2329 * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
2331 (SBSS_SECTION_FUNCTION): Likewise.
2333 2003-11-01 Andreas Jaeger <aj@suse.de>
2335 * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
2337 2003-11-01 Andreas Tobler <a.tobler@schweiz.ch>
2339 * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
2342 2003-11-01 Andreas Jaeger <aj@suse.de>
2344 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
2345 (uw_frame_state_for): Constify variables.
2346 (extract_cie_info): Constify first argument.
2348 * unwind-dw2-fde-darwin.c: Adjust prototype of
2349 _Unwind_Find_registered_FDE for recent changes.
2350 (examine_objects): Constify return value and local variable result.
2351 (_Unwind_Find_FDE): Constify return value and local variable ret.
2353 2003-10-31 Per Bothner <pbothner@apple.com>
2355 * c-opts.c (finish_options): Change to returns boolean - false iff
2356 the call to cpp_find_main_file fails.
2357 (c_common_init): Skip preprocess_file if finish_options failed.
2358 (c_common_parse_file): Break if finish_options failed.
2359 Fixes PR preprocessor/12545.
2361 2003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2363 * aclocal.m4: Blacklist ultrix* for mmap file.
2364 * configure: Rebuilt.
2366 * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
2367 reg_parm_stack_space.
2368 * toplev.c (default_get_pch_validity): Fix warning.
2370 * vax.c: Include toplev.h.
2371 (vax_init_libfuncs): Fix typo (umod).
2372 * vax.h (ASM_COMMENT_START): Define.
2373 (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
2375 2003-10-31 Roger Sayle <roger@eyesopen.com>
2378 * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
2379 confusing comment; distributivity isn't handled in expand_expr.
2380 * fold-const.c (extract_muldiv_1 <PLUS_EXPR>): Allow overflow
2381 in distributivity, if wrap-around semantics are specified with
2384 2003-11-01 Alan Modra <amodra@bigpond.net.au>
2387 * final.c (profile_function): Allow for NULL svrtx.
2389 2003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2391 * pa.c (pa_select_section): Use new style declaration.
2392 * som.h (readonly_data): Likewise.
2394 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
2396 * config/rs6000/rs6000.c: Update to C90 prototypes.
2398 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
2401 * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
2404 2003-10-31 Andreas Jaeger <aj@suse.de>,
2405 Zack Weinberg <zack@codesourcery.com>
2408 * crtstuff.c (__register_frame_info, __register_frame_info_bases)
2409 (__deregister_frame_info, __deregister_frame_info_bases):
2410 Constify void * argument.
2411 * unwind-dw2-fde.h (struct fde_vector):
2412 Constify 'orig_data' and 'array' fields.
2413 (__register_frame_info, __register_frame_info_bases)
2414 (__deregister_frame_info, __deregister_frame_info_bases):
2415 Constify void * argument.
2416 (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
2417 return values, and casts of type fde *, struct dwarf_fde *,
2418 and struct dwarf_cie *.
2419 * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
2420 (__deregister_frame_info, __deregister_frame_info_bases):
2421 Constify void * argument.
2422 (get_cie_encoding, ): Constify struct dwarf_cie * argument.
2423 (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
2424 (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
2425 fde_split, SWAP, frame_downheap, frame_heapsort)
2426 (classify_object_over_fdes, add_fdes, linear_search_fdes,
2427 binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
2428 binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
2429 Constify arguments, local variables, return values, and casts
2430 of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
2431 Use const pointer types in sizeof expressions, for clarity.
2432 * unwind-dw2-fde-glibc.c
2433 (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
2434 (struct unw_eh_callback_data): Constify 'ret' field.
2436 2003-10-31 Fariborz Jahanian <fjahanian@apple.com>
2437 David Edelsohn <edelsohn@gnu.org>
2439 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
2440 (function_arg): Call it.
2441 (rs6000_function_value): Widen integral return value to mode based
2442 on TARGET_32BIT, not word_mode.
2443 * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
2444 (UNITS_PER_ARG): New.
2445 (RS6000_ARG_SIZE): Use it.
2447 2003-10-31 Gerald Pfeifer <gerald@pfeifer.com>
2449 * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
2450 and gengtype-yacc.h.
2452 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
2454 PR optimization/8896
2455 * postreload.c (reload_combine): Check that REGY doesn't die in an
2456 insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
2458 2003-10-31 Josef Zlomek <zlomekj@suse.cz>
2461 * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
2463 2003-10-31 Josef Zlomek <zlomekj@suse.cz>
2466 * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
2467 immediatelly before BARRIER.
2469 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
2471 * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
2473 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
2476 * reload.c (find_reloads_address): Handle any register in
2477 (PLUS (PLUS (REG) (REG)) (CONST_INT).
2479 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
2481 * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
2482 ENABLE_GC_CHECKING not in GGC_POISON.
2484 2003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
2487 * configure.in: Bail out if awk is missing.
2488 * configure: Regenerate.
2491 * Makefile.in: Move default definitions of X_ADA_CFLAGS,
2492 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
2494 2003-10-30 Richard Henderson <rth@redhat.com>
2496 * c-objc-common.c (c_tree_printer): Handle types correctly.
2499 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
2501 * value-prof.c, web.c: Update to C90.
2503 2003-10-30 Eric Christopher <echristo@redhat.com>
2505 * function.c (purge_addressof_1): Add case for REG_RETVAL
2506 notes when modes are unequal.
2508 2003-10-31 Jan Hubicka <jh@suse.cz>
2510 * i386-modes.def: Add XFmode format adjustment.
2512 2003-10-30 Jan Hubicka <jh@suse.cz>
2514 * real.c (encode_ieee_extended): Back out previous patch.
2516 2003-10-30 Jan Hubicka <jh@suse.cz>
2518 * real.c (encode_ieee_extended): Initialize whole array.
2519 * reg-stack.c (move_for_stack_reg0: Use always XFmode.
2520 * i386-modes.def: Change definitions of TFmode and XFmode.
2521 * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
2523 (construct_container): Allow constructing of TFmode integer containers.
2524 (ix86_return_in_memory): XFmode is not returned in memory.
2525 (init_ext_80387_constants): Always use XFmode.
2526 (print_operand): Likewise.
2527 (ix86_prepare_fp_compare_regs): Likewise.
2528 (split_to_parts): Deal with TFmode.
2529 (split_long_move): Simplify.
2530 (ix86_init_mmx_sse_builtins): Add __float80, __float128.
2531 (ix86_memory_move_cost): Do not confuse TFmode.
2532 * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
2533 (IS_STACK_MODE): TFmode is not stack mode.
2534 (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
2535 (VALID_SSE_REG_MODE): Allow TFmode.
2536 (VALID_FP_MODE_P): Disallow TFmode.
2537 (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
2538 * i386.md (TFmode patterns): Kill.
2539 (movtf, motf_rex64): New patterns.
2541 2003-10-30 Richard Sandiford <rsandifo@redhat.com>
2543 * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
2545 2003-10-30 Richard Sandiford <rsandifo@redhat.com>
2547 * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
2548 (mov_lwr, mov_swl, mov_swr): Likewise.
2549 (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
2551 2003-10-30 Richard Sandiford <rsandifo@redhat.com>
2553 * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
2555 2003-10-30 Richard Henderson <rth@redhat.com>
2557 * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
2558 test for irix6 rather than preprocessor test.
2560 2003-10-30 Richard Henderson <rth@redhat.com>
2562 * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
2564 2003-10-30 Ulrich Weigand <uweigand@de.ibm.com>
2566 * config/s390/s390.c (struct machine_function): Use save_return_addr_p
2567 as a general flag that the return address register needs to be saved,
2568 not necessarily because of __builtin_return_addr (0).
2569 (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
2570 remove special handling of zSeries machines.
2571 (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
2572 register as a regular register on zSeries machines.
2573 (s390_reorg): Adjust calls to s390_split_branches and
2574 s390_optimize_prolog.
2575 (s390_frame_info): On zSeries machines, do not assume the return
2576 register is always used. Update regs_ever_live with current data
2577 for the special registers.
2578 (s390_emit_epilogue): Use save_return_addr_p to determine whether
2579 the return register was saved.
2580 * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
2581 RETURN_REGNUM fixed on zSeries machines.
2582 (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
2583 * config/s390/s390.md ("*doloop_si"): Handle branch overflow
2584 via ahi-jgne pair on zSeries machines.
2585 ("*doloop_di"): Likewise.
2586 ("*doloop_di_long"): Remove.
2588 2003-10-30 Richard Earnshaw <rearnsha@arm.com>
2590 * arm.c (arm_override_options): Revert change of arm_constant_limit
2591 when optimizing for size.
2593 2003-10-29 Richard Henderson <rth@redhat.com>
2595 * fold-const.c (fold_single_bit_test): Convert the input to the
2596 operational intermediate type.
2598 2003-10-29 Richard Henderson <rth@redhat.com>
2600 * builtins.c (std_build_builtin_va_list): New.
2601 * expr.h (std_build_builtin_va_list): Declare.
2602 * defaults.h (BUILD_VA_LIST_TYPE): New.
2603 * system.h (BUILD_VA_LIST_TYPE): Poison.
2604 * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
2605 * target.h (struct gcc_target): Add build_builtin_va_list.
2606 * tree.c (build_common_tree_nodes_2): Use it.
2608 * config/alpha/alpha-protos.h, config/alpha/alpha.c,
2609 config/alpha/alpha.h, config/alpha/unicosmk.h,
2610 config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
2611 config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
2612 config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
2613 config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
2614 config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
2615 config/mips/mips.h, config/rs6000/rs6000-protos.h,
2616 config/rs6000/rs6000.c, config/rs6000/rs6000.h,
2617 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
2618 config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
2619 config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
2620 config/xtensa/xtensa.h: Rename foo_build_va_list to
2621 foo_build_builtin_va_list; make it static. Define
2622 TARGET_BUILD_BUILTIN_VA_LIST. Remove BUILD_VA_LIST_TYPE.
2625 * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
2626 * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
2628 2003-10-29 James E Wilson <wilson@specifixinc.com>
2630 * recog.c (asm_operand_ok): Add missing break after case 'X'.
2631 Change if statements to else if statements in default case.
2632 (extract_constrain_insn_cached): Fix misspelling of constrain_operands
2634 (constrain_operands_cached): Likewise.
2635 (constrain_operands): Change if statements to else if statements in
2637 * reload.c (find_reloads): Likewise.
2639 2003-10-29 Richard Henderson <rth@redhat.com>
2641 * config/m68k/m68k.c (notice_update_cc): Clear cc status for
2644 2003-10-30 Alan Modra <amodra@bigpond.net.au>
2646 * config/rs6000/rs6000.md: Remove duplicate pattern.
2648 2003-10-29 Hans-Peter Nilsson <hp@axis.com>
2650 * real.c (do_divide): Initialize result with a 0.
2652 * configure.in <enable-checking for valgrind>: Look for
2653 <valgrind/memcheck.h> first. AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
2655 * configure, config.in: Regenerate.
2656 * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
2657 HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>. Use
2658 #elif for other alternatives.
2659 * ggc-page.c: Ditto.
2660 * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
2661 include structure from ggc-common.c.
2663 2003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2665 * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
2666 (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
2667 * pa.c (pa_adjust_insn_length): Check for btable branches using
2668 attribute TYPE_BTABLE_BRANCH.
2669 (pa_reorg): Simplify.
2670 * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
2671 (ASM_OUTPUT_ADDR_VEC_ELT): As above.
2672 (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
2673 * pa.md (btable_branch): New instruction type.
2674 (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
2676 (define_delay): Add btable branches to insn types that may have an
2677 insn in the delay position.
2678 (Z2, Z3): Add btable branch to list.
2679 Simplify unamed pattern set copy pic_label_operand to register. Add
2681 (short_jump): New jump for use in branch tables.
2682 (casesi, casesi0): Revise for new branch table formats.
2683 (casesi32, casesi32p, casesi64p): New casesi patterns.
2684 (indirect_jump): Move.
2686 2003-10-29 David Edelsohn <edelsohn@gnu.org>
2688 * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
2690 (UNITS_PER_GPR_WORD): Delete.
2691 (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
2692 (HARD_REGNO_MODE_OK): Same.
2693 (CLASS_MAX_NREGS): Same.
2695 2003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2697 * pa.h (ASM_COMMENT_START): Define.
2699 2003-10-29 Zack Weinberg <zack@codesourcery.com>
2701 * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
2702 MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
2703 component, not zero.
2705 2003-10-29 Andreas Schwab <schwab@suse.de>
2707 * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
2709 2003-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
2711 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
2712 Never return 1 for complex integral modes whose size is lesser or
2714 (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
2716 (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
2718 (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
2719 greater than 16 bytes by reference.
2721 2003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2723 * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
2725 (ia64_initialize_trampoline): Use globalize_label target call.
2727 2003-10-29 Andreas Schwab <schwab@suse.de>
2729 * doc/install.texi (Building): Add a sentence about building Ada
2730 for a canadian cross.
2732 2003-10-28 Zack Weinberg <zack@codesourcery.com>
2734 * config/ia64/ia64.c (cmptf_libfunc): New static.
2735 (ia64_expand_compare): Add logic to open-code calls to
2736 _U_Qfcmp for TFmode comparisons.
2737 (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
2738 Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
2739 never be generated anymore.
2740 * config/ia64/ia64.md (cmptf): New expander.
2742 2003-10-28 Zack Weinberg <zack@codesourcery.com>
2744 * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
2745 (*sqrt_approx): New instruction pattern for approximate square roots.
2746 (*setf_exp_xf): New instruction pattern for exponentiation.
2747 (*maddxf4_alts_truncsf): New instruction pattern for truncation.
2748 (sqrtsf2_internal_thr): New define_and_split implementing
2749 throughput-optimized inline calculation of SFmode square root.
2750 (sqrtdf2_internal_thr): Likewise for DFmode.
2751 (sqrtxf2_internal_thr): Likewise for XFmode.
2752 (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
2753 latency- and throughput-optimized square root algorithms.
2754 * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
2755 TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
2757 (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
2758 -minline-sqrt-max-throughput.
2759 * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
2760 and -minline-sqrt-max-throughput are given, notify the user
2761 that both options cannot be used simultaneously.
2762 If -minline-sqrt-min-latency is given, notify the user that
2763 this mode is not yet implemented.
2764 (rtx_needs_barrier): Reformat initial comment to obey
2765 72-character width limit. Support UNSPEC_SETF_EXP and
2766 UNSPEC_FR_SQRT_RECIP_APPROX.
2768 2003-10-29 Alan Modra <amodra@bigpond.net.au>
2770 * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
2773 2003-10-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2777 * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
2779 2003-10-28 Richard Earnshaw <rearnsha@arm.com>
2781 * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
2782 an extra stack adjustment insn if the stack pointer is already
2783 pointing at the right place.
2784 (use_return_insn): Allow a return insn to be used when we have a
2785 frame pointer if the stack pointer is in the right place.
2786 (output_return_instruction): Handle it.
2788 2003-10-28 Andreas Jaeger <aj@suse.de>
2790 * ggc-zone.c (check_cookies): Add missing variable.
2791 Add void to prototypes.
2793 2003-10-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2795 * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
2796 * crtstuff.c (__do_global_ctors_1): Move prototype.
2797 * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
2799 * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
2800 Mark parameter with __attribute__((unused)).
2802 2003-10-27 Zack Weinberg <zack@codesourcery.com>
2804 * c-decl.c (pushdecl): Clarify comment.
2806 2003-10-27 Arnaud Charlet <charlet@act-europe.fr>
2808 * doc/install.texi: Update instructions for Ada cross builds
2811 * doc/sourcebuild.texi: Document Ada test suite.
2813 2003-10-27 Stephane Carrez <stcarrez@nerim.fr>
2815 * config/m68hc11/m68hc11.c: Convert to ISO C90.
2816 * config/m68hc11/m68hc11-protos.h: Likewise.
2818 2003-10-27 Jan Hubicka <jh@suse.cz>
2819 Eric Botcazou <ebotcazou@libertysurf.fr>
2821 * toplev.c (enum dump_file_index, dump_file): Fix ordering of
2824 2003-10-27 Jakub Jelinek <jakub@redhat.com>
2825 Jan Hubicka <jh@suse.cz>
2827 * reload1.c (struct elim_table): Change offset, initial_offset and
2828 previous_offset fields to HOST_WIDE_INT.
2829 (offsets_at): Change from int to HOST_WIDE_INT.
2830 (reload): Adjust offsets_at initialization.
2831 (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
2832 (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
2833 * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
2834 to HOST_WIDE_INT. Don't save regs using mov for huge frame sizes
2836 (pro_epilogue_adjust_stack): New function.
2837 (ix86_expand_prologue, ix86_expand_epilogue): Use it.
2838 * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
2839 (pro_epilogue_adjust_stack_1): Remove * in front of name.
2840 (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
2841 (pro_epilogue_adjust_stack_rex64_2): New insn.
2843 * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
2845 * config/i386/i386.c (ix86_expand_call): Replace 40 with
2846 FIRST_REX_INT_REG + 3 /* R11 */.
2848 2003-10-26 Richard Henderson <rth@redhat.com>
2850 * config/alpha/alpha.md (attr cannot_copy): New.
2851 (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
2852 prologue_ldgp_er_2, prologue_ldgp_1): Set it.
2853 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
2855 2003-10-26 Daniel Berlin <dberlin@dberlin.org>
2857 * ggc-zone.c: New file, zone allocating collector.
2858 * configure: Accept zone option for --with-gc
2859 * configure.in: Ditto.
2860 * ggc.h (ggc_pch_count_object): Pass bool indicating
2861 stringiness. Update all callers.
2862 (ggc_pch_alloc_object): Ditto.
2863 (ggc_pch_write_object): Ditto.
2864 (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
2866 (ggc_alloc_rtvec): Ditto.
2867 (ggc_alloc_tree): Use zone allocation, since some things using this macro
2868 aren't a single typecode.
2869 * ggc-none.c (ggc_alloc_typed): New function.
2870 (ggc_alloc_zone): Ditto.
2871 * ggc-page.c: Ditto on both functions.
2873 2003-10-26 Gunther Nikl <gni@gecko.de>
2875 * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
2876 frame information is always valid.
2877 (m68k_output_function_prologue): Remove superfluous TARGET_68881
2878 test; fix formatting.
2880 2003-10-26 Gunther Nikl <gni@gecko.de>
2882 * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
2883 reg_rev_mask computation.
2884 (m68k_output_function_prologue): Fix usage of current_frame (one typo
2885 and one missing); use reg_rev_mask not reg_mask.
2886 (m68k_output_function_epilogue): Fix usage of current_frame;
2887 use fpu_rev_mask not fpu_mask.
2889 2003-10-26 Bernardo Innocenti <bernie@develer.com>
2891 * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
2892 num_saved_regs, use current_frame.reg_no instead.
2894 2003-10-26 Bernardo Innocenti <bernie@develer.com>
2895 Paul Dale <pauli@snapgear.com>
2897 * doc/extend.texi (interrupt_handler): Add m68k to the
2898 list of processors implementing it.
2899 * doc/invoke.texi (-msep-data): Document new m68k option.
2900 (-mno-sep-data): Likewise.
2901 (-mid-shared-library): Likewise.
2902 (-mno-id-shared-library): Likewise.
2903 (-mshared-library-id): Likewise.
2905 2003-10-26 Andreas Jaeger <aj@suse.de>
2907 * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
2909 (_Unwind_SetGR): Likewise.
2911 2003-10-26 Ottavio Campana <ottavio@campana.vi.it>
2914 * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
2916 2003-10-26 Gunther Nikl <gni@gecko.de>
2918 * config/m68k/m68k.c (m68k_output_function_prologue): Move front
2919 comment from here to...
2920 (m68k_save_reg): ...here. Fix comment formatting.
2921 (m68k_output_function_prologue): Fix comment formatting.
2922 (m68k_output_function_epilogue): Likewise.
2923 (const_method): Likewise.
2925 2003-10-26 Kazu Hirata <kazu@cs.umass.edu>
2927 * toplev.c (default_get_pch_validity): Guard the use of
2928 target_options with #ifdef TARGET_OPTIONS.
2929 (default_pch_valid_p): Likewise.
2931 2003-10-26 Andreas Jaeger <aj@suse.de>
2932 Zack Weinberg <zack@codesourcery.com>
2933 Andreas Tobler <toa@pop.agri.ch>
2935 * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
2936 (output_die): Likewise.
2937 (print_die): Likewise.
2939 2003-10-26 Andreas Jaeger <aj@suse.de>
2941 * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
2942 dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
2945 * toplev.c (default_pch_valid_p): Fix warning.
2947 2003-10-25 Roger Sayle <roger@eyesopen.com>
2949 * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
2950 RTL nodes. If an operator's operands are unchanged, return the
2951 original argument unchanged.
2953 2003-10-26 Graham Stott <graham.stott@btinternet.com>
2955 Fix bootstrap failure.
2956 * expmed.c (store_bit_field): Don't compare bitsize against
2957 modes with zero bit-size.
2959 (extract_bit_field): Likewise
2961 2003-10-25 Jan Hubicka <jh@suse.cz>
2963 * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
2964 (cfa_loc): Likewise.
2965 (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
2967 (args_size, old_args_size): change type to HOST_WIDE_INT.
2968 (dwarf2out_def_cfa, dwarf2out_args_size,
2969 dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
2970 (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
2971 (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
2972 AT_offset): Use HOST_WIDE_INT.
2973 (based_loc_descr): offset is HOST_WIDE_INT.
2974 (add_data_member): Likewise.
2975 (add_const_value_attribute): Simplify.
2977 2003-10-25 Richard Henderson <rth@redhat.com>
2979 * config/i386/i386.c (ix86_eax_live_at_start_p): New.
2980 (ix86_expand_prologue): Save and restore eax around stack probe
2983 2003-10-25 Jan Hubicka <jh@suse.cz>
2985 * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
2987 2003-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
2990 * reg-stack.c (convert_regs_1): Create an arbitrary input stack
2991 if the block has no predecessors.
2992 (convert_regs_2): Document the problem with successors whose
2993 only predecessor is the block to be processed.
2994 (convert_regs): Don't create the arbitrary input stack here.
2996 2003-10-24 Zack Weinberg <zack@codesourcery.com>
2998 * genmodes.c (struct mode_data): Add contained and next_cont
3000 (complete_mode): Maintain linked list of modes that have a
3002 (emit_mode_unit_size): Delete.
3003 (emit_mode_nunits): New.
3004 (emit_insn_modes_c): Update to match.
3005 (emit_mode_adjustments): Propagate size and alignment
3006 adjustments from component modes to their containers.
3007 * machmode.h (mode_unit_size): Delete.
3009 (GET_MODE_NUNITS): Just return the value in the table.
3010 (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
3012 * expmed.c (store_bit_field, extract_bit_field): Can use a
3013 plain move instruction if bitsize >= GET_MODE_BITSIZE of
3014 destination/source mode, respectively.
3015 * varasm.c (assemble_real): Write out the full size of the
3016 constant, not just its bitsize.
3017 (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
3019 * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
3020 Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
3021 alignment of XF and TF modes in compliance with ia64 ABIs.
3022 Can now hardwire the format of both modes.
3023 * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
3024 (general_tfmode_operand, destination_tfmode_operand)
3025 (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
3026 general_xfmode_operand, destination_xfmode_operand,
3027 xfreg_or_fp01_operand, spill_xfmode_operand respectively.
3028 (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
3029 and float80_type be 96 so they get XFmode. Use !TARGET_HPUX,
3030 not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
3032 * config/ia64/ia64.h: Default TARGET_HPUX to 0.
3033 Change TFmode to XFmode wherever appropriate. Remove all
3034 references to INTEL_EXTENDED_IEEE_FORMAT.
3035 (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
3036 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
3037 (PREDICATE_CODES): Update to match function renames.
3038 * config/ia64/ia64.md: Change TF to XF throughout; rename all
3039 patterns to match. Remove all references to
3040 INTEL_EXTENDED_IEEE_FORMAT. Update predicate calls to match
3042 * config/ia64/ia64-protos.c: Update all prototypes to match
3044 * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
3045 Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
3046 * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
3047 __divtf3; keep old name for backward compatibility.
3048 (L__compat): New section providing forwarding stubs for
3049 __fixtfti, __fixunstfti, __floattitf.
3050 * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
3052 2003-10-24 Geoffrey Keating <geoffk@apple.com>
3055 * c-pch.c: Include target.h. Improve comments.
3056 (struct c_pch_validity): Add target_data_length.
3057 (pch_init): Add target's validity data.
3058 (c_common_valid_pch): Check target's validity data.
3059 * target-def.h (TARGET_GET_PCH_VALIDITY): New.
3060 (TARGET_PCH_VALID_P): New.
3061 (TARGET_INITIALIZER): Add new fields.
3062 * target.h: Include tm.h.
3063 (struct gcc_target): Add get_pch_validity, pch_valid_p.
3064 * toplev.h (default_get_pch_validity): New prototype.
3065 (default_pch_valid_p): New prototype.
3066 * toplev.c (default_get_pch_validity): New routine.
3067 (default_pch_valid_p): New routine.
3068 * Makefile.in (TARGET_H): Add TM_H. Replace all users of
3069 target.h with $(TARGET_H).
3070 (c-pch.o): Add TARGET_H.
3071 * doc/tm.texi (PCH Target): New node.
3072 (TARGET_GET_PCH_VALIDITY): Document.
3073 (TARGET_PCH_VALID_P): Document.
3075 2003-10-24 Kelley Cook <kcook@gcc.gnu.org>
3077 * Makefile.in: Define a vpath for %.texi. Remove explicit $(docdir)
3078 and $(docdir)/include from any *.texi dependencies.
3079 ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
3080 ($(docobjdir)/%.1): Depend on .pod instead of .texi.
3081 ($(docobjdir)/%.7): Likewise.
3082 (%.pod): New implicit rule.
3083 (cpp.pod): New dependency only rule.
3084 (gcc.pod): New intermediate rule with dependencies and commands.
3085 (gfdl.pod): Likewise.
3086 (fsf-funding.pod): Likewise.
3088 2003-10-24 Nathanael Nerode <neroden@gcc.gnu.org>
3090 * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
3092 * fixinc/fixinc.ptx: Remove.
3093 * fixinc/fixinc.svr4: Remove.
3095 2003-10-24 Ulrich Weigand <uweigand@de.ibm.com>
3097 * config/s390/s390.c (load_multiple_operation): Allow both SImode
3098 and DImode if word_mode is DImode.
3099 (store_multiple_operation): Likewise.
3100 * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
3101 ("*load_multiple_di"): Allow only if word_mode == DImode.
3102 ("movqi"): Use LLGC whenever TARGET_ZARCH.
3103 ("fix_truncdfsi2"): Fix incorrect temporary size.
3104 ("fix_truncsfsi2"): Likewise.
3105 ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
3106 string for function return value operand.
3107 ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
3109 2003-10-24 Joseph S. Myers <jsm@polyomino.org.uk>
3111 * c-parse.in (array_declarator): Use expr_no_commas.
3114 2003-10-24 Richard Sandiford <rsandifo@redhat.com>
3116 * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
3117 associated includes in #ifndef inhibit_libc.
3119 2003-10-24 Roger Sayle <roger@eyesopen.com>
3121 * doc/libgcc.texi: Document some more of the libgcc API.
3123 2003-10-24 Richard Earnshaw <rearnsha@arm.com>
3125 * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
3126 comparing a constant with small negative numbers and add costing
3127 for constants in conjunction with AND.
3128 (note_invalid_constants): Tidy previous change.
3129 (thumb_cmp_operand): Tidy.
3130 (thumb_cmpneg_operand): New function.
3131 * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
3133 (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
3134 (PREDICATE_CODES): Add thumb_cmpneg_operand.
3135 * arm.md (cbranchsi4): Convert to define_expand. Handle comparison
3136 with a negative constant.
3137 (cbranchsi4_insn): Matcher for cbranchsi4.
3138 (cbranchsi4_scratch): Similar, but a scratch is available for
3139 handling negative constants.
3140 (movsi_cbranchsi4): New pattern.
3141 (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
3142 and use the TST instruction.
3143 (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
3144 (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
3145 cannot see high regs or memory alternatives.
3146 (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
3148 2003-10-24 Richard Earnshaw <rearnsha@arm.com>
3150 * arm.c (note_invalid_constants): Try to extract the constant
3151 pool value using avoid_constant_pool_reference; only use
3152 get_pool_constant if that returns the original reference.
3154 2003-10-24 Jan Hubicka <jh@suse.cz>
3157 * varasm.c (notice_global_symbol): Disqualify global registers.
3159 2003-10-23 Roger Sayle <roger@eyesopen.com>
3162 * loop.c (load_mems): Use redirect_jump to forward jumps from
3163 the original loop end label to the new "loop sink" block's label.
3165 2003-10-23 Roger Sayle <roger@eyesopen.com>
3168 * optabs.c (expand_binop): When expanding complex operations
3169 inline, always calculate result into a new temporary register.
3170 Minor code clean-ups.
3172 2003-10-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3174 * objc/lang-specs.h: Handle -print-objc-runtime-info.
3175 * doc/invoke.texi (Objective-C Dialect Options): Document it.
3177 2003-10-24 Danny Smith <dannysmith@users.sourceforge.net>
3179 * config/i386/cygwin.asm: Add copyright notice. Add comment
3180 on why this code is needed.
3182 2003-10-23 Kazu Hirata <kazu@cs.umass.edu>
3184 * config/h8300/clzhi2.c: Fix warnings.
3185 * config/h8300/ctzhi2.c: Likewise.
3186 * config/h8300/fixunssfsi.c: Likewise.
3187 * config/h8300/parityhi2.c: Likewise.
3188 * config/h8300/popcounthi2.c: Likewise.
3190 2003-10-23 James E Wilson <wilson@specifixinc.com>
3192 * gcc.c (option_map): Delete --target and --use-version.
3194 2003-10-23 Fariborz Jahanian <fjahanian@apple.com>
3195 David Edelsohn <edelsohn@gnu.org>
3197 * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
3199 (UNITS_PER_GPR_WORD): Define.
3200 (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
3201 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
3202 (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
3203 (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
3204 * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
3205 DFmode and DImode in 32-bit ABI / 64-bit computation mode.
3206 (rs6000_emit_prologue): Select reg_mode and reg_size using
3207 TARGET_32BIT, not TARGET_POWERPC64.
3208 (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
3209 ABI / 64-bit computation mode
3211 2003-10-22 Andrew Haley <aph@redhat.com>
3213 * toplev.c (output_file_directive): Allow for null input_name.
3215 2003-10-22 Waldek Hebisch <hebisch@math.uni.wroc.pl>
3217 * config/i386/i386.c (classify_argument): Handle SET_TYPE.
3219 2003-10-22 Chris Demetriou <cgd@broadcom.com>
3221 * configure.in: In --enable-generated-files-in-srcdir option
3222 handling, fix default case handling.
3223 * configure: Regenerate.
3225 2003-10-22 Phil Edwards <phil@codesourcery.com>
3227 * config.gcc: Update *-*-vxworks* generic hook and comments.
3228 (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
3229 mips-wrs-windiss, sh-wrs-vxworks): New stanzas.
3230 * genmultilib: Allow the MULTILIB_OSDIRNAMES to be mapped directly.
3231 * config/svr4.h (SWITCH_TAKES_ARG): Undefine it before redefining it.
3232 * config/windiss.h: New file.
3233 * config/arm/t-vxworks: New file.
3234 * config/arm/vxworks.h: New file.
3235 * config/i386/t-vxworks: New file.
3236 * config/i386/vxworks.h: New file.
3237 * config/mips/t-vxworks: New file.
3238 * config/mips/vxworks.h: New file.
3239 * config/mips/windiss.h: New file.
3240 * config/sh/t-vxworks: New file.
3241 * config/sh/vxworks.h: New file.
3243 2003-10-22 Kazu Hirata <kazu@cs.umass.edu>
3245 * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
3246 (h8300_saveall_function_p): New.
3247 (h8300_insert_attributes): Insert the saveall attribute if
3248 #pragma saveall is specified.
3249 (h8300_attribute_table): Add saveall.
3250 (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
3251 * doc/extend.texi: Mention the saveall attribute.
3253 2003-10-22 Joseph S. Myers <jsm@polyomino.org.uk>
3255 * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
3256 deprecation of casts as lvalues.
3257 * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
3258 * fixinc/fixincl.x: Regenerate.
3259 * fixinc/tests/base/obstack.h: New test.
3261 2003-10-22 Andreas Schwab <schwab@suse.de>
3264 * config/m68k/m68k.c (output_addsi3): Fix range check to work on
3267 2003-10-22 Jan Hubicka <jh@suse.cz>
3269 * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
3270 presence of DW_AT_inline.
3271 (gen_subprogram_die): Likewise; do not abort instead of emitting
3274 2003-10-22 Jan Hubicka <jh@suse.cz>
3276 * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
3277 global info is not ready.
3279 2003-10-22 Kazu Hirata <kazu@cs.umass.edu>
3281 * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
3283 2003-10-22 Ulrich Weigand <uweigand@de.ibm.com>
3285 * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
3286 ("*movstr_short"): ... into this insn pattern.
3287 ("movstr_short"): New expander.
3288 ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
3289 ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
3290 ("movstr_long"): New expander.
3291 ("clrstr_short_64", "clrstr_short_31"): Merge ...
3292 ("*clrstr_short"): ... into this insn pattern.
3293 ("clrstr_short"): New expander.
3294 ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
3295 ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
3296 ("clrstr_long"): New expander.
3297 ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
3298 ("*cmpmem_short"): ... into this insn pattern.
3299 ("cmpmem_short"): New expander.
3300 ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
3301 ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
3302 ("cmpmem_long"): New expander.
3303 * config/s390/s390.c (s390_expand_movstr): Use new expanders.
3304 (s390_expand_clrstr): Likewise.
3305 (s390_expand_cmpmem): Likewise.
3307 2003-10-22 Mark Mitchell <mark@codesourcery.com>
3309 * c-pch.c (struct c_pch_validity): Add pch_init field.
3311 (c_common_valid_pch): Check it.
3313 2003-10-22 David Taylor <dtaylor@emc.com>
3316 * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
3318 2003-10-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3320 * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
3321 alpha_return_in_memory if no VALTYPE specified.
3323 2003-10-22 Jan Hubicka <jh@suse.cz>
3326 * Makefile.in (dwarf2out.o): Depend on cgraph.h.
3327 * cgraph.c (cgraph_function_possibly_inlined_p): New function.
3328 * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
3329 (cgraph_global_info): Add flag inlined
3330 * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
3331 cgraph_function_possibly_inded_p
3332 * cgraphunit.c (mark_inline): Set inlined flag.
3333 * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
3334 only for possibly inlined functions.
3335 * c-decl.c (duplicate_decls): Never output abstract DIE representing old
3338 2003-10-22 Andrew Haley <aph@redhat.com>
3340 * varasm.c (output_constructor): Make constructor annotation
3341 conditional on ASM_COMMENT_START.
3343 2003-10-21 Jason Merrill <jason@redhat.com>
3345 * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
3346 (get_narrower): Likewise.
3348 * stor-layout.c (layout_decl): Do packed field alignment for
3351 2003-10-21 Eric Christopher <echristo@redhat.com>
3353 * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
3355 2003-10-21 Geoffrey Keating <geoffk@apple.com>
3357 * c-pch.c: Add comments in various places.
3358 (struct c_pch_validity): Add the lengths of various strings.
3359 (host_machine): New static.
3360 (target_machine): New static.
3361 (get_ident): Bump version number.
3362 (pch_init): Write out version, host, target validity data.
3363 (c_common_valid_pch): Check version, host, target.
3364 * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
3367 2003-10-21 Jason Merrill <jason@redhat.com>
3369 * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
3370 (EXPR_P): New macro.
3372 2003-10-21 Zack Weinberg <zack@codesourcery.com>
3374 * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
3375 * config/ia64/ia64.c (ia64_expand_fetch_and_op,
3376 ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
3377 DImode. Use convert_move to load ar.ccv.
3378 (ia64_expand_compare_and_swap): Likewise.
3379 If expand_expr doesn't put 'old' and 'new' in the proper
3380 modes, run them through convert_to_mode.
3382 2003-10-21 Eric Christopher <echristo@redhat.com>
3384 * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
3385 for too large bitfields.
3387 2003-10-21 Mark Mitchell <mark@codesourcery.com>
3389 * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
3391 2003-10-21 Andrew Haley <aph@redhat.com>
3393 * varasm.c (output_constructor): Annotate constructor.
3395 2003-10-21 Mark Mitchell <mark@codesourcery.com>
3397 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
3398 on existence of destination file.
3400 2003-10-21 Jan Hubicka <jh@suse.cz>
3402 * haifa-sched.c (choose_ready): Initialize index.
3404 2003-10-21 Jason Merrill <jason@redhat.com>
3406 * tree.c (build1): Fix off-by-one error.
3408 2003-10-21 Robert Millan <robertmh@gnu.org>
3410 * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
3411 * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
3412 * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
3413 * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
3415 2003-10-21 Eric Botcazou <ebotcazou@libertysurf.fr>
3417 * web.c: Fix various comments.
3419 2003-10-20 Nicolas Pitre <nico@cam.org>
3421 * config/arm/arm.c (arm_override_options): Set arm_constant_limit
3422 to 2 instead of 1 when optimize_size is true. Gather code based on
3423 optimize_size together. Add comment about XScale load latency.
3425 2003-10-21 Gunther Nikl <gni@gecko.de>
3427 * config/m68k/m68k.c (m68k_output_function_prologue): Remove
3430 2003-10-20 Kelley Cook <kcook@gcc.gnu.org>
3432 * Makefile.in: Get parsedir and docobjdir from configure.
3433 * configure.in: Recogonize --enable-generated-files-in-srcdir.
3434 Pass along parsedir and docobjdir.
3435 * configure: Regenerate.
3436 * doc/install.texi: Document --enable-generated-files-in-srcdir.
3438 2003-10-20 Kelley Cook <kcook@gcc.gnu.org>
3440 * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
3443 2003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
3445 * c-common.c (expand_tree_builtin): Ensure creal and cimag
3446 functions do not return lvalues.
3448 2003-10-20 Jason Merrill <jason@redhat.com>
3451 * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
3455 * stor-layout.c (layout_decl): Fix alignment handling.
3457 2003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
3459 * doc/extend.texi: Deprecate casts as lvalues.
3461 2003-10-20 Jan Hubicka <jh@suse.cz>
3463 * toplev.c (rest_of_compilation): Fix webizer pass ordering.
3465 * cgraphunit.c (decide_is_function_needed): Fix test dealing
3466 with functions implicitly made inline.
3468 * cgraphunit.c (cgraph_decide_inlining_incrementally): New function.
3469 (cgraph_finalize_function): Use it.
3470 (cgraph_mark_inline): Allow incrmental decisions
3471 * invoke.texi (max-inline-slope, min-inline-insns): Kill.
3472 * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
3473 * tree-inline.c (limits_allow_inlining): Kill.
3474 (expand_call_inline): Always use unit-at-a-time path.
3476 2003-10-20 Zack Weinberg <zack@codesourcery.com>
3478 * fixinc/inclhack.def (hpux11_snprintf): New edit.
3479 * fixinc/fixincl.x: Regenerate.
3480 * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
3482 2003-10-20 Mark Mitchell <mark@codesourcery.com>
3484 * Makefile.in (install-info): Simplify.
3485 ($(DESTDIR)$(infodir)/%.info): New rule.
3486 * configure.in (target_list): Remove install-info.
3487 * doc/.cvsignore (gcc.info*): Remove.
3488 (gccint.info*): Likewise.
3489 (gccinstall.info*): Likewise.
3490 (cpp.info*): Likewise.
3491 (cppinternals.info*): Likewise.
3493 * doc/sourcebuild.texi: Update description of install-info.
3494 * objc/Make-lang.in (objc.install-info): Remove.
3496 2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3498 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
3499 Use it in _MIPS_SIM definition.
3500 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
3502 2003-10-20 Zack Weinberg <zack@codesourcery.com>
3504 * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
3505 virtual register, but only if file == asm_out_file.
3506 * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
3507 for ARG_POINTER_REGNUM.
3509 2003-10-20 Zack Weinberg <zack@codesourcery.com>
3511 * c-common.c (registered_builtin_types): New static.
3512 (c_common_type_for_mode): Consult registered_builtin_types.
3513 (c_register_builtin_type): Add type to registered_builtin_types.
3514 * optabs.c (init_floating_libfuncs): Initialize libfuncs for
3515 all MODE_FLOAT modes, not just the ones corresponding to
3516 float_type_node, double_type_node, and long_double_type_node.
3518 2003-10-20 Richard Henderson <rth@redhat.com>
3520 * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
3521 * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
3523 2003-10-20 Dorit Naishlos <dorit@il.ibm.com>
3525 * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
3526 support new flag -minsert-sched-nops.
3527 (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
3528 * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
3529 support new flag -minsert-sched-nops.
3530 (is_cracked_insn, is_microcoded_insn): New functions.
3531 (rs6000_sched_finish): New function.
3532 (rs6000_issue_rate): Return 5 for power4.
3533 (get_next_active_insn, insn_terminates_group_p): New
3535 (is_costly_group, force_new_group): New functions.
3536 (redefine_groups, pad_groups): New functions.
3537 (rs6000_variable_issue): Use new functions.
3538 * doc/invoke.texi (-minsert-sched-nops): Document new
3541 2003-10-20 David S. Miller <davem@redhat.com>
3543 * config/sparc/sparc.md (type attribute): Add new insn types
3544 fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
3545 (patterns emitting VIS insns): Use them.
3546 * config/sparc/ultra1_2.md: Add VIS scheduling rules.
3547 * config/sparc/ultra3.md: Likewise.
3549 2003-10-20 Falk Hueffner <falk@debian.org>
3552 * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
3553 comparison against constant by adjusting the argument except for
3556 2003-10-19 Mark Mitchell <mark@codesourcery.com>
3558 * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
3559 arm1136jfs, and armv6j.
3560 * config/arm/arm.c (FL_ARCH6J): New macro.
3561 (FL_VFPV2): Likewise.
3562 (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
3564 (all_architectures): Add entry for armv6j.
3565 (arm_override_options): Add entries for arm926ejs, arm1026ejs,
3566 arm1136js, and arm1136jfs.
3567 * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
3568 (TARGET_CPU_arm1026ej_s): Likewise.
3569 (TARGET_CPU_arm1136j_s): Likewise.
3570 (TARGET_CPU_arm1136jf_s): Likewise.
3571 * doc/invoke.texi: Document new ARM cores and architecture
3574 2003-10-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3576 * Makefile.in (toplev.o): Add value-prof.h dependency.
3577 (value-prof.o): Add REGS_H dependency.
3578 * common.opt (fprofile-values, fvpt): New.
3579 * flags.h (flag_value_profile_transformations): Declare.
3580 * opts.c (common_handle_option): Handle -fprofile_values and
3582 * profile.c (branch_prob): Don't remove death notes here.
3583 * timevar.def (TV_VPT): New.
3584 * value-prof.c: Include regs.h.
3585 (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
3586 gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
3587 mod_subtract_transform, value_profile_transformations): New.
3588 (insn_values_to_profile): Call insn_divmod_values_to_profile.
3589 (find_values_to_profile): Add dumps.
3590 * value-prof.h (value_profile_transformations): Declare.
3591 * toplev.c: Include value-prof.h.
3592 (rest_of_handle_value_profile_transformations): New.
3593 (enum dump_file_index): Add DFI_vpt.
3594 (dump_file): Add vpt dump.
3595 (flag_value_profile_transformations): New.
3596 (lang_independent_options): Add flag_profile_values and
3597 flag_value_profile_transformations.
3598 (rest_of_compilation): Call
3599 rest_of_handle_value_profile_transformations.
3600 (process_options): Let -fvpt imply -fprofile-values.
3601 * doc/invoke.texi (-fvpt): Document.
3603 2003-10-19 Jan Hubicka <jh@suse.cz>
3605 * i386.c (print_reg): Do not abort on certain registers.
3607 PR optimization/12612
3608 * reg-stack.c (subst_stack_regs_pat): Use st(1) for clobbers.
3609 * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
3610 match_scratch; avoid bogus paralles.
3613 * i386.c (ix86_function_regparm): Disable implicit register passing
3614 conventions when profiling.
3616 2003-10-19 Eric Botcazou <ebotcazou@libertysurf.fr>
3617 Richard Henderson <rth@redhat.com>
3619 PR optimization/8178
3620 * config/i386/i386.md (*movsi_zero): Delete.
3621 (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
3623 2003-10-19 Richard Henderson <rth@redhat.com>
3625 * config/alpha/alpha.c (fix_operator): New.
3626 (divmod_operator): Tidy.
3627 (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
3628 * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
3629 (PREDICATE_CODES): Update.
3630 * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
3631 (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
3632 (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
3633 (fix_truncsfdi_ieee): Likewise.
3634 (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
3635 (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
3636 * config/alpha/alpha-protos.h: Update.
3638 2003-10-19 Richard Sandiford <rsandifo@redhat.com>
3640 * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
3641 * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
3642 * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
3645 2003-10-18 Kazu Hirata <kazu@cs.umass.edu>
3647 * doc/extend.texi: Fix typos.
3648 * doc/invoke.texi: Likewise.
3650 2003-10-18 Nicolas Pitre <nico@cam.org>
3652 * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
3653 XScale optimizations not arm_arch_xscale.
3654 * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
3656 2003-10-18 Ulrich Weigand <uweigand@de.ibm.com>
3658 * config/s390/s390-protos.h (shift_count_operand): Add prototype.
3659 * config/s390/s390.c (shift_count_operand): New function.
3660 (s390_extra_constraint): Use it to implement 'Y' constraint.
3661 (print_shift_count_operand): New function.
3662 (print_operand): Use it to implement '%Y'.
3663 * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
3664 (PREDICATE_CODES): Add shift_count_operand.
3665 * config/s390/s390.md ("rotldi3"): Merge alternatives,
3666 using "shift_count_operand" predicate and "Y" constraint,
3667 and "%Y" to output the combined shift count.
3668 ("rotlsi3"): Likewise.
3669 ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
3670 ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
3671 "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
3672 ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
3673 ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
3674 ("lshrsi3"): Likewise.
3676 2003-10-18 Gunther Nikl <gni@gecko.de>
3678 * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
3679 argument to asm_fprintf statement.
3681 2003-10-18 Fariborz Jahanian <fjahanian@apple.com>
3683 * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
3684 (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
3685 a "long long" argument.
3687 2003-10-18 Alexandre Oliva <aoliva@redhat.com>
3689 * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
3692 2003-10-18 Richard Sandiford <rsandifo@redhat.com>
3694 * rtl.h (rtl_size): Declare.
3695 (rtunion): Remove rtwint.
3696 (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
3697 (RTX_HDR_SIZE, RTX_SIZE): New macros.
3698 (RTL_CHECK1): Adjust for new rtx_def layout.
3699 (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
3700 (XWINT, XCWINT): Likewise. Access the rtx structure directly.
3703 * rtl.def: Adjust comments for new rtx_def layout.
3704 * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
3706 * rtl.c (rtx_size): New array.
3707 (rtx_alloc): Adjust call to ggc_alloc_rtx. Use RTX_HDR_SIZE.
3708 (copy_rtx): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
3709 (shallow_copy_rtx): Adjust call to ggc_alloc_rtx. Use RTX_SIZE.
3710 * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
3711 * emit-rtl.c (copy_most_rtx): Likewise.
3712 (copy_rtx_if_shared): Use RTX_SIZE.
3713 (copy_insn_1): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
3714 * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call. Use RTX_HDR_SIZE.
3715 * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
3716 (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
3717 an array. Adjust output for new rtx_def layout.
3718 * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
3719 * reload1.c (eliminate_regs): Use RTX_SIZE.
3720 * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
3721 * gdbinit.in (pi): Likewise.
3723 2003-10-18 Jan Hubicka <jh@suse.cz>
3725 * integrate.c (copy_decl_for_inlining): Revert previous patch.
3727 2003-10-18 Jan Hubicka <jh@suse.cz>
3729 * integrate.c (copy_decl_for_inlining): Fix copying of copies.
3731 2003-10-18 Roger Sayle <roger@eyesopen.com>
3733 * libgcc.texi: Group multi-word types, such as "long double" and
3734 "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
3735 Document __unord?f2 as returning a non-zero value, not just one.
3737 2003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
3739 * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
3740 ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
3742 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3744 * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
3747 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3749 * config/sparc/sparc.c (function_arg_record_value_1): New fourth
3750 parameter packed_p. Search for a DECL_PACKED field only if
3751 packed_p is false. Pass packed_p recursively.
3752 (function_arg_record_value_2): Likewise.
3753 (function_arg_record_value): Update calls to
3754 function_arg_record_value_1 and function_arg_record_value_2.
3756 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3758 * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
3759 was successfully forced to memory before using the result.
3761 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3763 PR optimization/8178
3764 * config/i386/i386.md (*movsi_zero): New insn to set
3765 a register to zero on TARGET_USE_MOV0 targets.
3767 2003-10-18 Kelley Cook <kcook@gcc.gnu.org>
3769 * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
3770 (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
3772 2003-10-17 David Edelsohn <edelsohn@gnu.org>
3774 * doc/invoke.texi (gcse-las): Fix typo.
3776 2003-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3778 * doc/install.texi: Remove first part of the sentence for
3779 zsh not working. Change gcc to GCC.
3782 * doc/install.texi: Document that zsh does not work when
3785 2003-10-17 Nathanael Nerode <neroden@gcc.gnu.org>
3787 * config/ptx4.h: Switch to DWARF 2; update comments.
3789 2003-10-17 Segher Boessenkool <boessen@de.ibm.com>
3790 Hartmut Penner <hpenner@de.ibm.com>
3792 PR 10404, partial 11591, partial 11601
3793 * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
3794 "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
3795 "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
3796 "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
3797 "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
3798 * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
3799 (altivec_expand_stv_builtin): Adjust for the memory_operand.
3800 (altivec_expand_builtin): Call altivec_expand_lv_builtin.
3801 (altivec_init_builtins): Use `long int' for memory offsets.
3803 2003-10-17 Jan Hubicka <jh@suse.cz>
3805 * opts.c (common_handle_option): Handle OPT_fweb
3806 * invoke.texi (-fweb): Add missing parts of documentation.
3808 2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3810 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
3811 before redefinition.
3813 2003-10-17 Mostafa Hagog <mustafa@il.ibm.com>
3815 * common.opt: Add description of the new -fgcse-las flag.
3816 * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
3817 * gcse.c (hash_scan_set): Handle the case of store expression and
3818 insert the memory expression to the hash table, this way we make it
3819 possible to discover redundant loads after stores and remove them.
3820 (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
3821 to pre_insert_copies, it is not the correct place to call it after
3822 adding stores to be in the available expression hash table.
3823 (pre_insert_copies): Added the call to update_ld_motion_stores when
3824 one or more copies were inserted.
3825 * opts.c (common_handle_option): Handle the -fgcse-las flag.
3826 * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
3828 * doc/invoke.tex: Document new -fgcse-las flag.
3830 2003-10-18 Alan Modra <amodra@bigpond.net.au>
3832 * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
3833 for posterity, then remove it.
3835 2003-10-17 Richard Earnshaw <rearnsha@arm.com>
3836 Nathan Sidwell <nathan@codesourcery.com>
3838 * config/arm/arm.c (use_return_insn): Not a single instruction, if
3839 there's a frame pointer.
3840 (arm_output_epilogue): Protect stack pointer from being corrupted
3843 2003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
3845 * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
3847 2003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
3849 * combine.c (simplify_set): Do not clear out undobuf.other_insn
3850 already set elsewhere.
3852 2003-10-17 Kelley Cook <kcook@gcc.gnu.org>
3854 * config/i386/i386.c (ix86_expand_prologue): Use
3855 gen_allocate_stack_worker.
3857 2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3859 * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
3861 (mips-sgi-irix6*): Likewise.
3863 * config/mips/iris6gas.h: New file.
3864 * gcc/config.gcc (mips-sgi-irix6*): Use it.
3866 * config/mips/mips.h (TARGET_IRIX): Provide default.
3867 (TARGET_IRIX5): Likewise.
3868 (TARGET_SGI_O32_AS): Likewise.
3869 * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
3870 (TARGET_IRIX5): Likewise.
3871 * config/mips/iris6.h (TARGET_IRIX6): Remove.
3872 (TARGET_IRIX5): Redefine as 0.
3874 * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
3875 linker workaround with TARGET_IRIX and mips_abi instead of
3876 ASM_OUTPUT_UNDEF_FUNCTION.
3877 (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
3878 testing TARGET_IRIX and mips_abi explicitly.
3879 * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
3880 * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
3882 * config/mips/mips.c (irix_output_external_libcall): Renamed from
3883 mips_output_external_libcall.
3884 Use new TARGET_IRIX in guard.
3885 * config/mips/mips-protos.h (irix_output_external_libcall): Match
3887 * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
3889 * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
3892 * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
3893 depending on mips_abi.
3894 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
3895 * config/mips/mips.c (mips_output_function_prologue): Test
3896 FUNCTION_NAME_ALREADY_DECLARED at runtime.
3897 (mips_output_function_epilogue): Likewise.
3898 (build_mips16_function_stub): Likewise.
3899 (build_mips16_call_stub): Likewise.
3900 * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
3903 * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
3904 IRIX 6 O32 assembler.
3905 (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
3906 (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
3907 _MIPS_SIM for O32 ABI.
3908 (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
3909 (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
3910 (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
3911 Integrate O32 version.
3912 (SUBTARGET_ASM_SPEC): Handle -mabi=32.
3913 (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
3915 (BSS_SECTION_ASM_OP_32): Define.
3916 (BSS_SECTION_ASM_OP_64): Likewise.
3917 (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
3919 (TARGET_ASM_NAMED_SECTION): Reflect renaming.
3920 Move up to allow override for O32 ABI without GNU as.
3921 (EH_FRAME_SECTION_NAME): Define explicitly.
3922 (MUST_USE_SJLJ_EXCEPTIONS): Define.
3923 [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
3924 DTORS_SECTION_ASM_OP): Dummy definitions.
3925 (TARGET_ASM_NAMED_SECTION): Undef statically.
3926 (EH_FRAME_SECTION_NAME): Likewise.
3927 (ASM_OUTPUT_FILENAME): Integrate mips.h version.
3928 (LINK_SPEC): Only use default options -call_shared -no_unresolved
3930 Don't pass -init, -fini with -mabi=32.
3931 (COLLECT_PARSE_FLAG): Define.
3933 * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
3935 Renamed to use irix_ prefix.
3936 (iris6_asm_named_section): Likewise.
3937 (iris_section_align_entry_eq): Likewise.
3938 (iris_section_align_entry_hash): Likewise.
3939 (iris6_file_start): Likewise.
3940 (iris6_section_align_1): Likewise.
3941 (iris6_file_end): Likewise.
3942 (iris6_section_type_flags): Likewise.
3943 (iris_section_align_htab): Likewise.
3944 (iris_orig_asm_out_file): Likewise.
3945 [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
3946 (TARGET_ASM_FILE_END): Likewise.
3947 (TARGET_SECTION_TYPE_FLAGS): Likewise.
3949 * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
3950 (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
3951 override_options instead.
3952 (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
3953 (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
3954 * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
3955 flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
3957 Likewise for constructor/destructor handling.
3958 (override_options): Handle IRIX O32 assembler quirks.
3959 [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
3961 (mips_file_start): Use new TARGET_IRIX.
3962 (mips_declare_object_name): No special processing for IRIX O32
3964 (mips_finish_declare_object): Likewise.
3965 (irix_asm_output_align): Renamed from iris6_asm_output_align.
3966 Don't record alignment for O32 ABI.
3967 (irix_file_start): Renamed from iris6_file_start.
3968 Return early for O32 ABI.
3969 (irix_file_end): Renamed from iris6_file_end.
3970 Don't emit .section directives for O32 ABI.
3971 * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
3972 * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
3974 * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
3975 (MULTILIB_OSDIRNAMES): Likewise.
3977 2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3979 * collect2.c (COLLECT_PARSE_FLAG): Provide default.
3981 * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
3983 2003-10-17 Richard Earnshaw <rearnsha@arm.com>
3985 * arm-modes.def (CC_Nmode): New condition code mode.
3986 * arm.c (thumb_condition_code): Delete.
3987 (arm_select_cc_mode): Handle single-bit test for Thumb.
3988 (arm_print_operand, cases 'd' and 'D'): Don't special case the
3989 condition code logic for Thumb.
3990 (get_arm_condition_code): Handle CC_Nmode.
3991 (thumb_cbrch_target_operand): New function.
3992 * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
3993 * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
3994 * arm.md: Add Thumb split patterns for zero_extract and
3996 (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
3997 (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
3998 (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
3999 (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
4000 (cbranchne_decr1): Re-work to use CC_Nmode.
4002 * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
4003 by the return instruction. Add a use of the link register if it
4006 2003-10-17 Richard Earnshaw <rearnsha@arm.com>
4008 * flow.c (init_propagate_block_info): Don't abort if a conditional
4009 jump is not a comparison of a register. Instead, just don't record
4010 conditional life information.
4012 2003-10-16 Jan Hubicka <jh@suse.cz>
4014 PR optimization/12630
4015 * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
4016 for operands 7 and 8.
4018 2003-10-16 Kelley Cook <kcook@gcc.gnu.org>
4020 * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
4022 2003-10-16 Danny Smith <dannysmith@users.sourceforge.net>
4024 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
4026 * config/i386/winnt.c (gen_stdcall_suffix): Make static
4027 (gen_fastcall_suffix): Likewise.
4028 (i386_pe_dllexport_p): Likewise.
4029 (i386_pe_dllimport_p): Likewise.
4030 (i386_pe_mark_dllexport): Likewise.
4031 (i386_pe_mark_dllimport): Likewise.
4032 (i386_pe_asm_named_section): Fix formatting.
4034 2003-10-16 Zack Weinberg <zack@codesourcery.com>
4036 * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
4037 * system.h: Declare snprintf if necessary.
4038 * configure, config.in: Regenerate.
4040 2003-10-15 David Edelsohn <edelsohn@gnu.org>
4042 * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
4043 arguments if TARGET_ALTIVEC_ABI.
4045 2003-10-15 Roger Sayle <roger@eyesopen.com>
4047 * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
4048 fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
4049 fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
4051 (expand_builtin_memcpy): Use integer_zerop instead of testing
4052 host_integerp and tree_low_cst directly. Move misapplied hunk
4053 for optimization wher SRC and DEST point to the same location.
4054 (expand_builtin_mempcpy): From here.
4055 (expand_builtin_memmove): Use integer_zerop instead of testing
4056 host_integerp and tree_low_cst_directly.
4057 (expand_builtin_memset): Likewise.
4058 (expand_builtin_memcmp): Likewise (and for integer_onep).
4059 (expand_builtin_strncmp): Likewise.
4060 (fold_builtin): Call the appropriate fold_builtin_foo functions
4061 to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
4064 2003-10-15 Geoffrey Keating <geoffk@apple.com>
4066 * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
4067 prototype. Clean up some whitespace.
4068 * config/darwin.c: Use gen_rtx_FOO (...) rather than
4070 (machopic_non_lazy_ptr_name): Make static.
4071 (name_needs_quotes): Allow '.' and '$' unquoted.
4072 (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
4075 2003-10-15 Gábor Lóki <alga@rgai.hu>
4077 * fold-const.c (tree_swap_operands_p): Disable some features
4078 when optimizing for size.
4080 2003-10-15 David Daney <ddaney@avtrex.com>
4082 * config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New
4083 * config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind
4084 from leaf functions.
4085 (DWARF_FRAME_RETURN_COLUMN): Ditto.
4086 (SIGNAL_UNWIND_RETURN_COLUMN): New, used
4087 by MD_FALLBACK_FRAME_STATE_FOR.
4088 * testsuite/gcc.dg/cle