]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog-2003
Daily bump.
[thirdparty/gcc.git] / gcc / ChangeLog-2003
CommitLineData
3eb54e5f
ILT
12003-12-31 Jan Hubicka <jh@suse.cz>
2
3 PR opt/13473
4 * recog.c (validate_replace_rtx_1): Take care for RTL sharing inside
5 ASM input operands
6
7 PR opt/12617
8 * toplev.c (dump_file_index): Reorder ce3 and bbro.
9 (dump_file): Likewise.
10 (rest_of_compilation): Likewise.
11
12 PR debug/13367
13 * cgraph.c (cgraph_function_possibly_inlined): Even with
14 flag_really_no_inline we inline always_inline functions.
15 * cgraphunit.c (cgraph_analyze_function): Clear inlinable flag
16 for non-always_inline functions when there is flag_really_no_inline.
17 (cgraph_decide_inlining): Limit work done when not inlining.
18 (cgraph_decide_inlining_incrementally): Likewise.
19 (cgraph_optimize_function): Check whether something got inlined.
20 * c-objc-common.c (c_disregard_inline_limits): Do not always inline
21 extern inline functions when not inlining.
22
23 * opts.c (decode_options): Disable crossjumping at -O1
24 * invoke.texi (-O1): Document change.
25
262003-12-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
27
28 * print-rtl.c (print_rtx): For hard register, write out register
29 number and register name instead of calling PRINT_REG.
30 * defaults.h (PRINT_REG): Deleted.
31 * config/i386/i386.c (print_reg): Remove handling of CODE of -1.
32 Move comments here from i386.h.
33 (print_operand, print_operand_address): Call print_reg directly.
34 * config/i386/i386.h (PRINT_REG): Deleted.
35
362003-12-31 Roger Sayle <roger@eyesopen.com>
37
38 * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Define
39 _INCLUDE_LONGLONG.
40
412003-12-31 Zack Weinberg <zack@codesourcery.com>
42
43 * gcc.c (init_spec): Add -lunwind to shared case too if
44 USE_LIBUNWIND_EXCEPTIONS.
45
462003-12-31 Joseph S. Myers <jsm@polyomino.org.uk>
47
48 * doc/include/texinfo.tex: Update to version 2003-12-21.10.
49 * doc/gcc.texi, doc/gccint.texi: Don't set font for
50 @def... commands.
51 * doc/invoke.texi: Don't use empty @opindex.
52
532003-12-31 Mark Mitchell <mark@codesourcery.com>
54
55 * c-common.c (c_expand_expr): Remove code to return a value
56 different from that returned by expand_expr.
57 * expr.c (store_expr): Use the validity of a target MEM, rather
58 than checking DECL_RTL (exp), to figure out if a copy is
59 required.
60
612003-12-31 Kazu Hirata <kazu@cs.umass.edu>
62
63 * config/v850/lib1funcs.asm: Fix comment formatting.
64 * config/v850/v850.c: Likewise.
65 * config/v850/v850.h: Likewise.
66 * config/v850/v850.md: Likewise.
67
682003-12-31 Kazu Hirata <kazu@cs.umass.edu>
69
70 * config/i386/i386.md (*movqi_insv_2): Remove AND in the
71 set source.
72
732003-12-31 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
74
75 * config.gcc: Added m32r-linux m32rle-elf and m32le-linux targets.
76 * doc/invoke.texi: Document -mflush-func, -mflush-trap options.
77 Also add documentation for -mdebug, -malign-loops, -missue-rate,
78 and -mbranch-cost options.
79 * config/m32r/t-linux: New file: m32r-linux support.
80 * config/m32r/xm-linux.h: Likewise.
81 * config/m32r/xm-m32r.h: Likewise.
82 * config/m32r/linux.h: Likewise.
83 * config/m32r/little.h: New file: Little endian code generation
84 support.
85 * config/m32r/m32r-protos.h (m32r_legitimize_pic_address,
86 m32r_legitimate_pic_operand_p, load_pic_register): Add
87 prototypes.
88 * config/m32r/m32r.c (m32r_init): Add options for cache-flush.
89 (addr24_operand): Changes for PIC code generation.
90 * config/m32r/m32r.h (LABEL_ALIGN): Define to calculate PNOP
91 length at labels.
92 (ASM_SPEC): Add PIC support.
93 (FUNCTION_PROFILER): New define.
94 (TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Changed to support
95 trampoline.
96 (CONDITIONAL_REGISTER_USAGE, CONSTANT_ADDRESS_P,
97 LEGITIMIZE_ADDRESS, JUMP_TABLES_IN_TEXT_SECTION,
98 PIC_OFFSET_TABLE_REGNUM, FINALIZE_PIC, LEGITIMATE_PIC_OPERAND_P,
99 ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE): Define for PIC.
100 (move_src_operand, m32r_compute_frame_size, m32r_expand_prologue,
101 m32r_finalize_pic): Changes for PIC and profile support.
102 (global_offset_table, load_pic_register, m32r_legitimate_pic_operand_p,
103 m32r_legitimize_pic_address): Add for PIC support.
104 (m32r_file_start): Changed for little-endian-target.
105 * config/m32r/m32r.md (mvqi, movhi, movsi, movdi, movsf, movdf,
106 tablejump, tablejump_insn, call, call_value, call_value_via_label):
107 Changes for PIC.
108 (pic_load_addr, get_pc, builtin_setjmp_receiver): Added for PIC.
109 (flush_icache): Changes for cache-flush trap.
110
1112003-12-30 Kazu Hirata <kazu@cs.umass.edu>
112
113 * config/i386/i386.h: Remove an unnecessary #undef.
114
1152003-12-30 Roger Sayle <roger@eyesopen.com>
116
117 * cppfiles.c (pch_open_file): Minor tweak to work-around native
118 HPPA compiler bug.
119
1202003-12-30 Kazu Hirata <kazu@cs.umass.edu>
121
122 * config/rs6000/aix.h: Fix comment formatting.
123 * config/rs6000/rs6000-modes.def: Likewise.
124 * config/rs6000/rs6000.c: Likewise.
125 * config/rs6000/rs6000.h: Likewise.
126 * config/rs6000/rs6000.md: Likewise.
127
1282003-12-30 Kazu Hirata <kazu@cs.umass.edu>
129
130 * config/i386/i386-protos.h: Remove prototype for
131 const_int_1_operand.
132 * config/i386/i386.c (const_int_1_operand): Remove.
133 * config/i386/i386.h (PREDICATE_CODES): Remove
134 const_int_1_operand.
135 * config/i386/i386.md: Replace all uses of const_int_1_operand
136 with const1_operand.
137 * config/i386/pentium.md: Likewise.
138
1392003-12-30 Geoffrey Keating <geoffk@greed.local>
140
141 * doc/tm.texi (PREFERRED_RELOAD_CLASS): Describe use of NO_REGS
142 with constants.
143
1442003-12-30 Mark Mitchell <mark@codesourcery.com>
145
146 * stor-layout.c (layout_decl): Turn bitfields into ordinary
147 fields, even if they are the first field in a structure.
148
1492003-12-30 Roger Sayle <roger@eyesopen.com>
150
151 * fold-const.c (fold) <COND_EXPR>: Don't require strict type
152 equality, instead just prevent replacing a COND_EXPR of non-void
153 type by one of its operands of void type.
154
1552003-12-30 Andreas Schwab <schwab@suse.de>
156
157 * doc/c-tree.texi: Fix @item vs. @itemx.
158 * doc/cpp.texi: Likewise.
159 * doc/install.texi: Likewise.
160 * doc/invoke.texi: Likewise.
161
1622003-12-30 Nathan Sidwell <nathan@codesourcery.com>
163
164 * builtins.c (expand_builtin_apply_args_1): Fix typo in previous
165 change.
166
1672003-12-30 Jan Hubicka <jh@suse.cz>
168
169 PR target/11936
170 * i386.h (CLASS_LIKELY_SPILLED_P): Return true for
171 FP_TOP_REG/FP_SECOND_REG.
172
1732003-12-30 Steven Bosscher <steven@gcc.gnu.org>
174
175 Backport from tree-ssa (relevant changes only):
176 2003-12-18 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
177
178 * et-forest.h (et_forest_create, et_forest_delete,
179 et_forest_add_node, et_forest_add_edge, et_forest_remove_node,
180 et_forest_remove_edge, et_forest_parent,
181 et_forest_common_ancestor, et_forest_node_value,
182 et_forest_enumerate_sons): Declarations removed.
183 (struct et_node): New.
184 (et_new_tree, et_free_tree, et_set_father, et_split, et_nca,
185 et_below): Declare.
186 * et-forest.c (struct et_forest_occurrence, struct et_forest,
187 struct et_forest_node): Removed.
188 (et_forest_create, et_forest_delete,
189 et_forest_add_node, et_forest_add_edge, et_forest_remove_node,
190 et_forest_remove_edge, et_forest_parent,
191 et_forest_common_ancestor, et_forest_node_value,
192 et_forest_enumerate_sons, splay, remove_all_occurrences,
193 find_leftmost_node, find_rightmost_node, calculate_value): Removed.
194 (struct et_occ): New.
195 (et_nodes, et_occurences): New.
196 (set_depth, set_depth_add, set_prev, set_next, et_recomp_min,
197 et_check_occ_sanity, et_check_sanity, et_check_tree_sanity,
198 record_path_before_1, record_path_before, check_path_after_1,
199 check_path_after, et_splay, et_new_occ, et_new_tree,
200 et_free_tree, et_set_father, et_split, et_nca, et_below): New.
201 * basic-block.h (struct basic_block_def): New field dom.
202 (struct dominance_info): Type removed.
203 (calculate_dominance_info, free_dominance_info,
204 nearest_common_dominator, set_immediate_dominator,
205 get_immediate_dominator, dominated_by_p, get_dominated_by,
206 add_to_dominance_info, delete_from_dominance_info,
207 recount_dominator, redirect_immediate_dominators,
208 iterate_fix_dominators, verify_dominators): Declarations
209 changed.
210 (enum dom_state): New.
211 (dom_computed): New variable.
212 (first_dom_son, next_dom_son): Declare.
213 * dominance.c (struct dominance_info): Removed.
214 (BB_NODE, SET_BB_NODE): Removed.
215 (calculate_dominance_info, free_dominance_info,
216 nearest_common_dominator, set_immediate_dominator,
217 get_immediate_dominator, dominated_by_p, get_dominated_by,
218 add_to_dominance_info, delete_from_dominance_info,
219 recount_dominator, redirect_immediate_dominators,
220 iterate_fix_dominators, verify_dominators,
221 debug_dominance_info): Work over new datastructure. Access
222 dominance datastructures through CFG.
223 (assign_dfs_numbers, compute_dom_fast_query, first_dom_son,
224 next_dom_son): New.
225 * bt-load.c (dom): Variable removed.
226 (augment_live_range, combine_btr_defs, migrate_btr_def,
227 migrate_btr_defs, branch_target_load_optimize): Updated for the
228 new interface for dominance information.
229 * cfg.c {exit_entry_blocks): Update initializer.
230 * cfglayout.c (copy_bbs): Removed loops argument. Updated for
231 the new interface for dominance information.
232 * cfglayout.h (copy_bbs): Declaration changed.
233 * cfgloop.c (flow_loop_pre_header_find, flow_loops_cfg_dump,
234 flow_loop_scan, canonicalize_loop_headers, flow_loops_find): Updated
235 for the new interface for dominance information.
236 (flow_loop_scan): Loops argument removed.
237 (flow_loops_free): Don't release dominators.
238 * cfgloop.h (struct cfg): Dom field removed.
239 (flow_loop_scan, loop_split_edge_with, simple_loop_p,
240 just_once_each_iteration_p, split_loop_bb): Declaration changed.
241 * cfgloopanal.c (simple_loop_exit_p, simple_increment,
242 just_once_each_iteration_p, simple_loop_p): Remove loops argument.
243 Updated for the new interface for dominance information.
244 * cfgloopmanip.c (remove_bbs, find_path, create_preheader,
245 split_loop_bb, loopify, duplicate_loop_to_header_edge,
246 force_single_succ_latches, loop_split_edge_with): Ditto.
247 * gcse.c (dominators): Variable removed.
248 (free_code_hoist_mem, compute_code_hoist_data, hoist_code):
249 Updated for the new interface for dominance information.
250 * ifcvt.c (post_dominators): Variable removed.
251 (mark_loop_exit_edges, merge_if_block, find_if_header,
252 find_cond_trap, find_if_case_1, find_if_case_2, if_convert):
253 Updated for the new interface for dominance information.
254 * loop-init.c (rtl_loop_optimizer_init,
255 rtl_loop_optimizer_finalize): Ditto.
256 * loop-unroll.c (decide_peel_simple, decide_peel_once_rolling,
257 decide_peel_completely, decide_unroll_stupid,
258 decide_unroll_constant_iterations,
259 decide_unroll_runtime_iterations): Loops argument removed.
260 Updated for the new interface for dominance information.
261 (unroll_and_peel_loops, peel_loops_completely,
262 unroll_loop_runtime_iterations): Updated for the new interface for
263 dominance information.
264 * loop-unswitch.c (may_unswitch_on_p, unswitch_loops,
265 unswitch_single_loop, unswitch_loop): Updated for the new
266 interface for dominance information.
267 * predict.c (process_note_predictions, process_note_prediction,
268 estimate_probability, note_prediction_to_br_prob): Ditto.
269 * sched-rgn.c (find_rgns, init_regions): Ditto.
270 * toplev.c (rest_of_handle_branch_prob): Free the dominators.
271
2722003-12-30 Jan Hubicka <jh@suse.cz>
273
274 PR target/13456
275 * i386.md (allocate_stack_worker): Use different pattern for pre and
276 post reload expansion.
277 (allocate_stack_worker_1, allocate_stack_worker_rex64): Use
278 match_scratch.
279 (allocate_stack_worder_1_postreload,
280 allocate_stack_worker_rex64_postreload): New.
281
2822003-12-29 Nathan Sidwell <nathan@codesourcery.com>
283
284 * builtins.c (expand_builtin_apply_args_1): Add pretend args size
285 to the virtual incoming args pointer for downward stacks.
286
2872003-12-29 Roger Sayle <roger@eyesopen.com>
288
289 PR fortran/12632
290 * fold-const.c (fold) <COND_EXPR>: Don't fold a constant condition,
291 if the type of the selected branch doesn't match its' parent.
292
2932003-12-29 Jan Hubicka <jh@suse.cz>
294
295 * coverage.c (read_counts_file): Better error messages; cause corrupted
296 profiles to produce hard errors, not just warnings
297 (get_coverage_counts): Similarly.
298
299 * toplev.c (rest_of_handle_loop_optimize): Enable LOOP_AUTO_UNROLL.
300
3012003-12-29 Phil Edwards <phil@codesourcery.com>
302
303 * doc/cppopts.texi: Use of -idirafter, -iprefix, -iwithprefix, and
304 -iwithprefixbefore is not discouraged.
305
3062003-12-28 Mostafa Hagog <mustafa@il.ibm.com>
307
308 * sbitmap.c (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg,
309 sbitmap_a_xor_b_cg): Accumulate "changed" properly.
310 (sbitmap_not): Zero all bits past n_bit.
311
3122003-12-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
313
314 PR opt/13159
315 * cfgloopanal.c (mark_irreducible_loops): Fix the strongly connected
316 components detection.
317 * loop-unswitch.c (unswitch_loop): Preserve simple preheaders.
318
3192003-12-27 Bernardo Innocenti <bernie@develer.com>
320
321 * config/m68k/uclinux.h (LIB_SPEC): Add elf2flt magic required for
322 correct linking of executables using id-based shared libraries.
323
3242003-12-27 Kazu Hirata <kazu@cs.umass.edu>
325
326 * config/i386/i386-interix.h: Remove uses of "register"
327 specifier in declarations of arguments and local variables.
328 * config/i386/i386.c: Likewise.
329 * config/i386/i386elf.h: Likewise.
330 * config/i386/ptx4-i.h: Likewise.
331 * config/i386/sysv4.h: Likewise.
332
3332003-12-26 Fariborz Jahanian <fjahanian@apple.com>
334 Geoffrey Keating <geoffk@apple.com>
335 David Edelsohn <edelsohn@gnu.org>
336
337 * config/rs6000/rs6000.c (legitimate_offset_address_p): Do not
338 restrict DFmode and TFmode to word alignment.
339 * config/rs6000/rs6000.md (movdf_hardfloat64): Use 'o' constraint
340 for ld/std and order before mr.
341
3422003-12-26 Andrew Pinski <pinskia@physics.uc.edu>
343
344 * config/darwin.h (LINK_COMMAND_SPEC): Arrange
345 -fprofile-generate to imply -lgcov.
346
3472003-12-26 Kazu Hirata <kazu@cs.umass.edu>
348
349 * config/h8300/h8300.md (ldm_h8300s_2_normal): Use HImode for
350 addresses.
351
3522003-12-25 Kazu Hirata <kazu@cs.umass.edu>
353
354 * config/m32r/m32r.md: Remove a constraint from a splitter.
355
3562003-12-25 Andrew Pinski <pinskia@physics.uc.edu>
357
358 PR C++/13429, C/11944
359 * c-common.c (c_build_qualified_type): Return early when type is
360 error_mark_node.
361 (c_apply_type_quals_to_decl): Likewise.
362
3632003-12-25 Kazu Hirata <kazu@cs.umass.edu>
364
365 * config/alpha/alpha-modes.def: Fix comment formatting.
366 * config/alpha/alpha.c: Likewise.
367 * config/alpha/alpha.h: Likewise.
368 * config/alpha/elf.h: Likewise.
369 * config/alpha/lib1funcs.asm: Likewise.
370 * config/alpha/openbsd.h: Likewise.
371 * config/alpha/vms-cc.c: Likewise.
372 * config/alpha/vms-crt0-64.c: Likewise.
373 * config/alpha/vms-crt0.c: Likewise.
374 * config/alpha/vms-ld.c: Likewise.
375 * config/alpha/vms-psxcrt0-64.c: Likewise.
376 * config/alpha/vms-psxcrt0.c: Likewise.
377 * config/alpha/vms.h: Likewise.
378 * config/arc/arc.c: Likewise.
379 * config/arm/aof.h: Likewise.
380 * config/arm/arm-modes.def: Likewise.
381 * config/arm/arm.c: Likewise.
382 * config/arm/arm.h: Likewise.
383 * config/arm/arm.md: Likewise.
384 * config/arm/linux-elf.h: Likewise.
385 * config/arm/vxworks.h: Likewise.
386 * config/avr/avr.c: Likewise.
387 * config/avr/avr.h: Likewise.
388
3892003-12-24 Kazu Hirata <kazu@cs.umass.edu>
390
391 * config/xtensa/elf.h: Fix comment formatting.
392 * config/xtensa/xtensa-protos.h: Likewise.
393 * config/xtensa/xtensa.c: Likewise.
394 * config/xtensa/xtensa.h: Likewise.
395
3962003-12-24 Kazu Hirata <kazu@cs.umass.edu>
397
398 * config/avr/avr.c: Fix comment formatting.
399 * config/avr/avr.md: Likewise.
400
4012003-12-24 Kazu Hirata <kazu@cs.umass.edu>
402
403 PR target/12721.
404 * config/avr/avr.c: Include ggc.h.
405 (tmp_reg_rtx): Declare with GTY.
406 (zero_reg_rtx): Likewise.
407 (ldi_reg_rtx): Remove.
408 (avr_override_options): Initialize zero_reg_rtx and
409 ldi_reg_rtx.
410 (avr_init): Remove.
411 Include gt-avr.h.
412 * config/avr/avr.h (LDI_REG_REGNO): Remove.
413 Remove externs for tmp_reg_rtx, zero_reg_rtx, and ldi_reg_rtx.
414
4152003-12-24 David Edelsohn <edelsohn@gnu.org>
416
417 * doc/md.texi: Document PowerPC vector register constraint letter.
418
4192003-12-23 Mark Mitchell <mark@codesourcery.com>
420
421 * calls.c (expand_call): Recognize calls to "sqrt" and create
422 corresponding notes.
423
4242003-12-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
425
426 * config/mips/mips.c (override_options): Use `inform' instead
427 of `warning' for -g -mabi=32 and native assembler.
428
429 * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
430 Don't pass -Wno-error.
431
4322003-12-23 David Edelsohn <edelsohn@gnu.org>
433
434 * function.c (assign_parms): Update max_parm_reg and
435 parm_reg_stack_loc when adding new parm reg.
436
4372003-12-23 Kazu Hirata <kazu@cs.umass.edu>
438
439 * config/ns32k/ns32k.c: Convert to ISO-C.
440
4412003-12-23 Zack Weinberg <zack@codesourcery.com>
442
443 * config/ia64/ia64.c (ia64_va_arg): Pass pointer for
444 variable-sized type through convert_memory_address.
445 (ia64_in_small_data_p): Always return false for FUNCTION_DECLs.
446
4472003-12-23 Jan Hubicka <jh@suse.cz>
448
449 * common.opt (fprofile-generate,fprofile-use): Add.
450 * gcc.c (LINK_COMMAND_SPEC): Arrange -fprofile-generate to imply -lgcov
451 * opts.c (profile_arc_flag_set, flag_profile_values_set,
452 flag_unroll_loops_set, flag_tracer_set,
453 flag_value_profile_transformations_set,
454 flag_peel_loops_set): New static variables.
455 (common_handle_option): Deal with -fprofile-generate/-fprofile-use
456 * invoke.texi (-fprofile-generate, -fprofile-use): Describe.
457
4582003-12-23 Mark Mitchell <mark@codesourcery.com>
459
460 * Makefile.in (OBJS-common): Remove dwarfout.o.
461 (dwarfout.o): Remove.
462 * common.opt: Remove -gdwarf, -gdwarf+.
463 * defaults.h (PREFERRED_DEBUGGING_TYPE): Do not check for
464 DWARF_DEBUGGING_INFO.
465 * dwarf2out.c: Fix typo in comment.
466 * dwarfout.c: Remove.
467 * opts.c (common_handle_option): Remove OPT_gdwarf, OPT_gdwarf_.
468 * toplev.c (process_options): Remove check for
469 DWARF_DEBUGGING_INFO.
470 * config/elfos.h (DWARF_DEBUGGING_INFO): Do not #define it or
471 #undef it.
472 * config/netware.h (DWARF_DEBUGGING_INFO): Likewise.
473 * config/ptx4.h (DWARF_DEBUGGING_INFO): Likewise.
474 * config/vxworks.h (DWARF_DEBUGGING_INFO): Likewise.
475 * config/alpha/unicosmk.h (DWARF_DEBUGGING_INFO): Likewise.
476 * config/arc/arc.h (DWARF_DEBUGGING_INFO): Likewise.
477 * config/i386/sco5.h (DWARF_DEBUGGING_INFO): Likewise.
478 * config/i386/x86-64.h (DWARF_DEBUGGING_INFO): Likewise.
479 * config/m32r/m32r.h (DWARF_DEBUGGING_INFO): Likewise.
480 * config/mcore/mcore-elf.h (DWARF_DEBUGGING_INFO): Likewise.
481 * config/sparc/linux64.h (DWARF_DEBUGGING_INFO): Likewise.
482 * config/sparc/liteelf.h (DWARF_DEBUGGING_INFO): Likewise.
483 * config/sparc/sol26-sld.h (DWARF_DEBUGGING_INFO): Likewise.
484 * config/sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO): Likewise.
485 * doc/invoke.texi: Do not mention -gdwarf, -gdwarf-1, -gdwarf-1+,
486 or -gdwarf+.
487 * doc/tm.texi: Likewise.
488
489 * c-common.c (flag_abi_version): Default to 2.
490 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_ABI_VERSION
491 uniformly for versions above 2.
492 * doc/invoke.texi: Update documentation for -fabi-version.
493
4942003-12-22 Geoffrey Keating <geoffk@apple.com>
495
496 * config/rs6000/rs6000.md: Change many instances of '!
497 TARGET_POWERPC64' to 'TARGET_32BIT' when the pattern being guarded
498 was guarded only because it changed CR0 or the carry bit in XER.
499
5002003-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
501
502 PR optimization/13394
503 * toplev.c (rest_of_compilation): Move call to
504 check_function_return_warnings right after the sibcall
505 optimization pass.
506
5072003-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
508
509 PR c/13382
510 * c-typeck.c (convert_for_assignment): When converting from
511 integral type to pointer type, always call convert.
512
5132003-12-22 Mark Mitchell <mark@codesourcery.com>
514
515 * doc/invoke.texi: Deprecate -fwritable-strings.
516
517 * c-common.c (flag_external_templates): Remove.
518 (flag_alt_external_templates): Likewise.
519 * c-common.h (flag_external_templates): Remove.
520 (flag_alt_external_templates): Likewise.
521 * c-opts.c (c_common_handle_option): Unsupport
522 -falt-external-templates and -ftemplates.
523 * doc/invoke.texi: Remove mention of -fexternal-templates and
524 -falt-external-templates.
525
5262003-12-22 Andrew Pinski <pinskia@physics.uc.edu>
527
528 PR target/13466
529 * config.gcc (powerpc-*-darwin): Remove overridden value of need_64bit_hwint.
530
531 * emit-rtl.c (copy_rtx_if_shared): Add comment about its use of
532 copy_rtx_if_shared_1.
533 (copy_rtx_if_shared_1): Add comment about what the function does.
534
535 * c-decl.c (finish_function): Change order of checks.
536 (c_expand_body): Likewise.
537
5382003-12-22 Fariborz Jahanian <fjahanian@apple.com>
539
540 * config/rs6000/rs6000.c (legitimate_offset_address_p): Correct
541 check for the legitimate offset when memory of
542 DImode/DFmode/TFmode/TImode mode is being referenced and target
543 is TARGET_POWERPC64.
544
5452003-12-22 Dale Johannesen <dalej@apple.com>
546
547 * reload1.c: Add reg_reloaded_call_part_clobbered.
548 (reload_as_needed): Use it.
549 (forget_old_reloads_1): Ditto.
550 (emit_reload_insns): Ditto.
551
5522003-12-22 Dale Johannesen <dalej@apple.com>
553
554 PR optimization/12828
555 * loop.c: Add find_regs_nested to look inside CLOBBER(MEM).
556 (scan_loop): Call it.
557 * regclass.c (reg_scan_mark_regs): Look inside CLOBBER(MEM).
558
5592003-12-22 Andrew Pinski <pinskia@physics.uc.edu>
560
561 PR c/9163
562 * c-decl.c (poplevel): Only set DECL_INITIAL of a current function
563 if it is non-null.
564 (finish_function): Check for error_mark_node or null on DECL_RESULT and
565 DECL_RESULT of fndecl.
566 (c_expand_body): Only expand when DECL_INITIAL of fndecl is not
567 error_mark_node and not null.
568
5692003-12-21 Dan Nicolaescu <dann@ics.uci.edu>
570
571 * rtl.h (dump_rtx_statistics): Declare it.
572 * rtl.c (rtx_alloc_counts, rtx_alloc_sizes, rtvec_alloc_counts,
573 rtx_alloc_sizes): New static vars.
574 (rtx_alloc, rtvec_alloc): Update them.
575 (dump_rtx_statistics): New function.
576 * toplev.c (finalize): Call it.
577 * ggc-page.c (struct globals): Fix comments. Add new member
578 total_allocated_per_order.
579 (ggc_alloc): Keep track of the total allocated memory.
580 (ggc_print_statistics): Clarify message. Print total allocated
581 memory stats.
582 * configure.in (gather-detailed-mem-stats): New flag.
583 * configure: Regenerate.
584 * config.in: Regenerate.
585 * doc/install.texi (Configuration): Document
586 --enable-gather-detailed-mem-stats.
587
5882003-12-22 Kazu Hirata <kazu@cs.umass.edu>
589
590 * system.h (CONVERT_HARD_REGISTER_TO_SSA_P): Poison.
591 * config/i386/i386.h (CONVERT_HARD_REGISTER_TO_SSA_P): Remove.
592
5932003-12-21 Roger Sayle <roger@eyesopen.com>
594
595 * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Define _ILP32
596 when compiling in ILP32 mode.
597
5982003-12-21 Andrew Pinski <pinskia@physics.uc.edu>
599
600 * config/rs6000/rs6000.c (rs6000_tls_referenced_p): Return early if
601 TARGET_HAVE_TLS is false.
602
6032003-12-21 Kazu Hirata <kazu@cs.umass.edu>
604
605 * config/ip2k/ip2k-protos.h: Remove the prototype for
606 asm_output_section_name.
607 * config/ip2k/ip2k.c (asm_output_section_name): Remove.
608
6092003-12-21 Kazu Hirata <kazu@cs.umass.edu>
610
611 * alias.c: Fix comment formatting.
612 * alloc-pool.c: Likewise.
613 * bitmap.c: Likewise.
614 * bitmap.h: Likewise.
615 * bt-load.c: Likewise.
616 * c-common.c: Likewise.
617 * c-common.h: Likewise.
618 * c-decl.c: Likewise.
619 * c-opts.c: Likewise.
620 * c-pretty-print.c: Likewise.
621 * caller-save.c: Likewise.
622 * cfghooks.h: Likewise.
623 * cgraph.c: Likewise.
624 * collect2.c: Likewise.
625 * cppfiles.c: Likewise.
626 * cpplib.h: Likewise.
627 * dwarf2out.c: Likewise.
628 * dwarfout.c: Likewise.
629 * emit-rtl.c: Likewise.
630 * final.c: Likewise.
631 * function.c: Likewise.
632 * gcov.c: Likewise.
633 * gcse.c: Likewise.
634 * genemit.c: Likewise.
635 * ggc.h: Likewise.
636 * haifa-sched.c: Likewise.
637 * ifcvt.c: Likewise.
638 * libgcc2.h: Likewise.
639 * loop.c: Likewise.
640 * predict.h: Likewise.
641 * unwind-libunwind.c: Likewise.
642 * varasm.c: Likewise.
643
6442003-12-21 Kazu Hirata <kazu@cs.umass.edu>
645
646 * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
647 a warning.
648
6492003-12-21 Kazu Hirata <kazu@cs.umass.edu>
650
651 * config/arm/arm.c: Convert to ISO-C.
652 * config/avr/avr.h: Likewise.
653 * config/fr30/fr30.c: Likewise.
654 * config/ip2k/ip2k.c: Likewise.
655 * config/mn10300/mn10300.c: Likewise.
656
6572003-12-20 Andrew Pinski <pinskia@gcc.gnu.org>
658 Matt Thomas <matt@3am-software.com>
659
660 PR target/12749
661 * config/i386/i386.c (print_operand): Print only the first
662 8 characters of the float in hex.
663
6642003-12-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
665
666 * pa.h (TRAMPOLINE_TEMPLATE): Shorten sequence when generating PA
667 2.0 code.
668 (TRAMPOLINE_CODE_SIZE, MIN_CACHELINE_SIZE): New defines.
669 (INITIALIZE_TRAMPOLINE): Rework to pass line length, and aligned start
670 and end addresses to I and D cache instruction patterns.
671 * pa.md (anddi3, iordi3): Change predicates of operands 1 and 2 to
672 and_operand and ior_operand, respectively. When generating 64-bit
673 code, only one operand needs to be a register operand.
674 (xordi3): Change predicates of operands 1 and 2 to register_operand.
675 (one_cmpldi2): Change predicate of operand 1 to register_operand.
676 (dcacheflush, icacheflush): Revise to flush an arbitrary number of
677 cache lines.
678
6792003-12-20 Josef Zlomek <zlomekj@suse.cz>
680
681 PR optimization/13430, PR optimization/12322
682 * bb-reorder.c (copy_bb_p): Do not allow block with many successors to
683 be copied.
684 (find_traces_1_round): Surround check for fake edges by
685 #ifdef ENABLE_CHECKING #endif.
686
6872003-12-20 Eric Botcazou <ebotcazou@libertysurf.fr>
688
689 PR other/7956
690 * genmultilib: New variable disable_multilib. Set it to 'yes'
691 if enable_multilib was set to 'no'. Emit DISABLE_MULTILIB
692 if disable_multilib was set to 'yes'.
693 * gcc.c: Include multilib.h before tm.h.
694 * config/sparc/sol2-bi.h (LINK_ARCH_SPEC): Emit an error
695 message for multiarch options if DISABLE_MULTILIB is set.
696 * config/sparc/sol2-gld-bi.h (LINK_ARCH_SPEC): Likewise.
697
6982003-12-20 Eric Botcazou <ebotcazou@libertysurf.fr>
699
700 PR c/12085
701 * c-typeck.c (build_function_call): Issue a warning if a
702 function is called through an incompatible prototype and
703 replace the call by a trap in this case.
704
7052003-12-19 James E Wilson <wilson@specifixinc.com>
706
707 * install.texi (ia64-*-linux): Document minimum libunwind version
708 number.
709
7102003-12-19 Per Bothner <per@bothner.com>
711
712 * langhooks.c (lhd_print_error_function): Fix for PR c/13110.
713 Don't do pp_newline; it causes an extra blank line.
714 * pretty-print.c (pp_base_flush): Clear pp_needs_newline.
715
7162003-12-19 Jason Merrill <jason@redhat.com>
717
718 * tree.c (get_unwidened): Decide whether to narrow a bitfield
719 reference based on TYPE_SIZE, not TYPE_PRECISION.
720
721 * stmt.c (parse_output_constraint): Warn about in-out constraint
722 that doesn't allow a register.
723 (parse_input_constraint): Warn about matching constraint that
724 doesn't allow a register.
725
7262003-12-19 James E Wilson <wilson@specifixinc.com>
727
728 * flow.c (mark_set_regs, case PARALLEL): Scan loop forwards.
729 Add case for ASM_OPERANDS.
730 * global.c (global_alloc): Set regs_ever_live for regs_asm_clobbered
731 registers.
732
7332003-12-19 Kazu Hirata <kazu@cs.umass.edu>
734
735 * expr.c (check_max_integer_computation_mode): Remove.
736 * dojump.c (do_jump): Don't use MAX_INTEGER_COMPUTATION_MODE.
737 * fold-const.c (fold): Likewise.
738 * system.h (MAX_INTEGER_COMPUTATION_MODE): Poison.
739 * doc/tm.texi (MAX_INTEGER_COMPUTATION_MODE): Remove.
740
7412003-12-19 James E Wilson <wilson@specifixinc.com>
742
743 * configure.in: Delete libunwind_has_eh_support test.
744 * configure: Regenerate.
745 * config.gcc (ia64*-*-linux*): Delete reference to t-libunwind-no-eh
746 and libunwind_has_eh_support check.
747 * config/t-libunwind-no-eh: Delete.
748
7492003-12-19 Joseph S. Myers <jsm@polyomino.org.uk>
750
751 * c-format.c (print_char_table): Allow 'I' flag on floating point
752 decimal formats.
753
7542003-12-19 Stuart Hastings <stuart@apple.com>
755
756 * gcc/config/i386/i386.c (ix86_expand_call, x86_output_mi_thunk):
757 Trivial fixes for i386.c on Darwin/x86.
758
7592003-12-19 Fariborz Jahanian <fjahanian@apple.com>
760
761 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Add code to
762 recognize macho-style lo_sum adrress patterns.
763
7642003-12-19 Kazu Hirata <kazu@cs.umass.edu>
765
766 * dwarfout.c: Remove uses of "register" specifier in
767 declarations of arguments and local variables.
768 * gensupport.c: Likewise.
769 * local-alloc.c: Likewise.
770 * regclass.c: Likewise.
771
7722003-12-19 Kelley Cook <kelleycook@wideopenwest.com>
773
774 * config.guess: Remove.
775
7762003-12-19 Jakub Jelinek <jakub@redhat.com>
777
778 * config/ia64/unwind-ia64.c (ia64_copy_rbs): New function.
779 (unw_access_gr): Only call ia64_rse_rnat_addr if addr is above
780 regstk_top.
781 (uw_frame_state_for): Handle locations inside bundles.
782 (uw_init_context_1): Initialize context->rnat.
783 Set context->regstk_top to lowest rbs address which has nat collection
784 in context->rnat.
785 (uw_install_context): Fix rnat restoring.
786 Restore ar.rsc to previous state.
787 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR,
788 MD_HANDLE_UNWABI): Handle unwinding through SA_ONSTACK frames.
789
7902003-12-19 Jakub Jelinek <jakub@redhat.com>
791
792 PR c++/13239
793 * builtins.c (expand_builtin_expect_jump): Update
794 TREE_VALUE (arglist) if unsave_expr_now langhook
795 created a new tree.
796
7972003-12-19 Richard Earnshaw <rearnsha@arm.com>
798
799 * arm.c (thumb_base_register_rtx_p): Use regno in comparison against
800 FIRST_PSEUDO_REGISTER.
801
8022003-12-18 Hartmut Penner <hpenner@de.ibm.com>
803
804 * gcc/config/rs6000/rs6000.c (USE_ALTIVEC_FOR_ARG_P): Don't check
805 for SVR4 ABI.
806
8072003-12-18 Geoffrey Keating <geoffk@apple.com>
808
809 * config/rs6000/aix.h (OS_MISSING_POWERPC64): Define.
810 (OS_MISSING_ALTIVEC): Define.
811 * config/rs6000/darwin.h (ASM_SPEC): Be generous about supplying
812 -force_cpusubtype_ALL.
813 * config/rs6000/rs6000.c (rs6000_override_options): Rearrange
814 CPU information table; now always set all CPU-specific values.
815 Also, use Altivec and powerpc64 when chip and OS supports them.
816
8172003-12-18 Geoffrey Keating <geoffk@apple.com>
818
819 * fixinc/inclhack.def (darwin_macho_dyldh): New.
820 * fixinc/fixincl.x: Regenerate.
821
8222003-12-18 Dara Hazeghi <dhazeghi@yahoo.com>
823
824 * version.c (version_string): Renumber as 3.4.0
825 * doc/include/gcc-common.texi: Likewise
826
8272003-12-18 Richard Henderson <rth@redhat.com>
828
829 * genrecog.c (print_host_wide_int): New.
830 (write_switch, write_cond): Use it.
831
8322003-12-18 Richard Henderson <rth@redhat.com>
833
834 * c-decl.c (check_bitfield_type_and_width): Remove enum special
835 case suppression of pedwarn.
836 * system.h (ENUM_BITFIELD): Use __extension__.
837 (CHAR_BITFIELD): Likewise.
838
8392003-12-18 Ulrich Weigand <uweigand@de.ibm.com>
840 Mark Dettinger <dettinge@de.ibm.com>
841
842 * config/s390/s390.md (UNSPEC_SRST): New constant.
843 ("strlendi", "strlensi"): New expanders.
844 ("*strlendi", "*strlensi"): New insns.
845
8462003-12-18 Mark Mitchell <mark@codesourcery.com>
847
848 * config/sol2.h (LINK_ARCH32_SPEC): Define in terms of ...
849 (LINK_ARCH32_SPEC_BASE): ... this new macro.
850 * config/sparc/sol2-bi.h (LINK_ARCH64_SPEC): Define in terms of
851 ...
852 (LINK_ARCH64_SPEC_BASE): ... this new macro.
853 * config/sparc/sol2-gld-bi.h (LINK_ARCH32_SPEC): New macro.
854 (LINK_ARCH64_SPEC): Likewise.
855
8562003-12-18 Jason Merrill <jason@redhat.com>
857
858 PR middle-end/13234
859 * tree-dump.c (dequeue_and_dump): Handle 'r' and 's' code
860 classes.
861
8622003-12-18 Steven Bosscher <stevenb@suse.de>
863
864 * Makefile.in (tracer.o, bb-reorder.o): Depend on timevar.h
865 * toplev.c (rest_of_handle_reorder_blocks, rest_of_handle_tracer):
866 Don't push and pop TV_REORDER_BLOCKS timevars, do it...
867 * bb-reorder.c (reorder_basic_blocks): ...here, and...
868 * tracer.c (tracer): here.
869
8702003-12-18 Ulrich Weigand <uweigand@de.ibm.com>
871
872 * loop.c (move_movables): Handle combination of m->consec,
873 m->move_insn_first, and m->insert_temp all nonzero correctly.
874
8752003-12-18 Kazu Hirata <kazu@cs.umass.edu>
876
877 * calls.c (load_register_parameters): Don't use
878 LOAD_ARGS_REVERSED.
879 * system.h (LOAD_ARGS_REVERSED): Poison.
880 * doc/tm.texi (LOAD_ARGS_REVERSED): Remove.
881
8822003-12-17 Per Bothner <per@bothner.com>
883
884 * emit-rtl.c (set_new_first_and_last_label_num): Remove function.
885 * rtl.h (set_new_first_and_last_label_num): Remove declaration.
886
8872003-12-17 Alexandre Oliva <aoliva@redhat.com>
888
889 * config/frv/frv.c (frv_ifcvt_modify_insn): Don't leave alone
890 scratch insns of the then branch that clobber regs needed by the
891 else branch.
892
8932003-12-17 Kazu Hirata <kazu@cs.umass.edu>
894
895 * calls.c (expand_call): Update comments.
896 * system.h (PRETEND_OUTGOING_VARARGS_NAMED): Poison.
897 * targhooks.c: Do not refer to PRETEND_OUTGOING_VARARGS_NAMED.
898
8992003-12-17 James E Wilson <wilson@specifixinc.com>
900 Roger Sayle <roger@eyesopen.com>
901
902 * Makefile.in (gcse.o): Add $(TREE_H) to dependencies.
903 * gcse.c: Include tree.h.
904 (implicit_set_cond_p): New.
905 (find_implicit_sets): Call it.
906
9072003-12-17 Santiago Vila <sanvila@unex.es>
908
909 * config/kfreebsdgnu.h (TARGET_OS_CPP_BUILTINS): Rename from
910 TARET_OS_CPP_BUILTINS.
911
9122003-12-16 Kazu Hirata <kazu@cs.umass.edu>
913
914 * emit-rtl.c: Fix signed/unsigned comparison warnings.
915
9162003-12-17 Joseph S. Myers <jsm@polyomino.org.uk>
917
918 * predict.c (struct block_info_def, struct edge_info_def): Change
919 bit-fields of width 1 to unsigned int.
920
9212003-12-16 Geoffrey Keating <geoffk@apple.com>
922
923 PR 12480
924 * c-pch.c (pch_init): Improve error message when precompiled
925 header can't be written.
926
927 PR 12606
928 * c-pch.c (pch_init): Make a PCH file appear invalid while it's
929 being written.
930 (c_common_write_pch): Make it valid once it's done.
931
9322003-12-17 Ulrich Weigand <uweigand@de.ibm.com>
933
934 PR target/11992
935 * config/s390/s390.md ("*cmpmem_long_64"): Use CLCLE instruction
936 instead of CLCL.
937 ("*cmpmem_long_31"): Likewise.
938
9392003-12-17 Vladimir Makarov <vmakarov@redhat.com>
940
941 * config/ia64/ia64.c: Add more comments about insn bundling.
942
9432003-12-17 Richard Earnshaw <rearnsha@arm.com>
944
945 PR optimization/10592
946 * caller-save.c (mark_referenced_regs): Don't short-circuit a reg
947 or subreg in SET_DEST if it isn't a hard register.
948
9492003-12-17 David Edelsohn <edelsohn@gnu.org>
950
951 * collect2.c (main): Add -fno-profile-arcs -fno-test-coverage
952 -fno-branch-probabilities to arguments when compiling ctors and
953 dtors.
954
9552003-12-17 Eric Botcazou <ebotcazou@libertysurf.fr>
956
957 * config/sparc/sol2.h: Set SUPPORTS_INIT_PRIORITY to 0.
958 * config/sparc/sol2-gld.h: Set SUPPORTS_INIT_PRIORITY to 1.
959
9602003-12-17 Richard Earnshaw <rearnsha@arm.com>
961
962 * arm.c (thumb_base_register_rtx_p): Don't allow virtual registers
963 as base registers for sub-word operations.
964 (thumb_legitimate_address_p): Simplify REG+REG test.
965
9662003-12-17 Segher Boessenkool <boessen@de.ibm.com>
967
968 * opts.c (wrap_help): Fix overflow.
969
9702003-12-17 Fred Fish <fnf@redhat.com>
971
972 * configure.in: Remove code to examine linker scripts and set
973 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES.
974 * configure, config.in: Regenerate.
975
9762003-12-16 Mark Mitchell <mark@codesourcery.com>
977
978 PR c++/12218
979 * varasm.c (initializer_constant_valid_p): Allow a conversion from
980 an integral constant to an OFFSET_TYPE.
981
9822003-12-16 Kazu Hirata <kazu@cs.umass.edu>
983
984 PR target/11012
985 * config/m32r/m32r.c (gen_compare): Call gen_addsi3 instead of
986 gen_cmp_ne_small_const_insn.
987 * config/m32r/m32r.md (cmp_ne_small_const_insn): Remove.
988
9892003-12-17 Neil Booth <neil@daikokuya.co.uk>
990 Joseph S. Myers <jsm@polyomino.org.uk>
991
992 PR c/3347
993 * c-decl.c (enum_decl_context): Remove BITFIELD.
994 (grokdeclarator): Take bit-field width as an input.
995 Perform bit-field width validation with
996 check_bitfield_type_and_width rather than waiting for
997 finish_struct.
998 (groktypename, groktypename_in_parm_context, start_decl,
999 push_parm_decl, grokfield, start_function): Update calls to
1000 grokdeclarator.
1001 (check_bitfield_type_and_width): New function.
1002 (finish_struct): Move bit-field validation to grokdeclarator
1003 and check_bitfield_type_and_width.
1004
10052003-12-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1006
1007 PR bootstrap/13386
1008 * configure.in (gcc_cv_ld_hidden): Set to yes on hppa64*-*-hpux* when
1009 using HP native linker.
1010 * configure: Rebuilt.
1011
10122003-12-16 Mark Mitchell <mark@codesourcery.com>
1013
1014 PR c++/13275
1015 * c-common.h (enum rid): Add RID_OFFSETOF.
1016 * c-parser.in (rid_to_yy): Ignore RID_OFFSETOF.
1017 * ginclude/stddef.h (offsetof): Reimplement for C++, using
1018 __offsetof__.
1019 * doc/extend.texi: Document __offsetof__.
1020
10212003-12-16 Stan Cox <scox@redhat.com>
1022
1023 * config/iq2000/iq2000.h: Formatting.
1024 (MAX_INT_TYPE_SIZE, MAX_INT_TYPE_SIZE, CONST_COSTS, RTX_COSTS)
1025 (ADDRESS_COST, ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL)
1026 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR, SLOW_ZERO_EXTEND): Remove
1027 * config/iq2000/iq2000.c: Formatting.
1028 (iq2000_rtx_costs): New.
1029
10302003-12-16 Richard Earnshaw <rearnsha@arm.com>
1031
1032 * arm.md (addsi3_carryin_shift): Add missing register constraints.
1033
10342003-12-16 Loren James Rittle <ljrittle@acm.org>
1035
1036 * testsuite/g++.old-deja/g++.eh/badalloc1.C: Tweak to
1037 pass with -pthread on FreeBSD systems.
1038
10392003-12-16 Richard Sandiford <rsandifo@redhat.com>
1040
1041 * config/mips/mips.c (mips_file_end): Only write symbols that have
1042 been referenced at some point.
1043
10442003-12-16 Richard Sandiford <rsandifo@redhat.com>
1045
1046 * config/mips/mips.c: Include langhooks.h
1047 (mips_build_builtin_va_list): Use lang_hooks.types.make_type.
1048
10492003-12-16 Eric Botcazou <ebotcazou@libertysurf.fr>
1050
1051 PR optimization/13313
1052 * combine.c (make_extraction) [REG]: Do not use
1053 gen_lowpart_for_combine when POS is non-zero.
1054
10552003-12-16 Hartmut Penner <hpenner@de.ibm.com>
1056
1057 * altivec.h (vec_cmple, vec_all_numeric): Fix typo.
1058 * testsuite/gcc.dg/altivec-10.c: Test for above.
1059
10602003-12-15 David O'Brien <obrien@FreeBSD.org>
1061
1062 * Makefile.in (CPPFLAGS): Initialize from configure.
1063
10642003-12-15 Roger Sayle <roger@eyesopen.com>
1065
1066 PR middle-end/13400
1067 * ifcvt.c (noce_process_if_block): Disable unconditional write
1068 optimizations if we could introduce a store to trapping memory
1069 that wasn't present previously.
1070
10712003-12-15 Kazu Hirata <kazu@cs.umass.edu>
1072
1073 * system.h (DEFAULT_CALLER_SAVES): Poison.
1074 * toplev.c (flag_caller_saves): Always initialize with 0.
1075 * doc/tm.texi (DEFAULT_CALLER_SAVES): Remove.
1076
10772003-12-15 Kazu Hirata <kazu@cs.umass.edu>
1078
1079 * flow.c (EXIT_IGNORE_STACK): Move to ...
1080 * defaults.h (EXIT_IGNORE_STACK): ... here.
1081 * dojump.c (clear_pending_stack_adjust): Don't use #ifdef
1082 EXIT_IGNORE_STACK.
1083 * function.c (expand_function_end): Likewise.
1084 * global.c (global_alloc): Likewise.
1085 * ra.c (init_ra): Likewise.
1086 * reload1.c (init_elim_table): Likewise.
1087 * reorg.c (fill_simple_delay_slots): Likewise.
1088 * resource.c (init_resource_info): Likewise.
1089 * doc/tm.texi (EXIT_IGNORE_STACK): Document that the default
1090 is 0.
1091
10922003-12-15 J"orn Rennecke <joern.rennecke@superh.com>
1093
1094 * reload.c (reg_overlap_mentioned_for_reload_p):
1095 When looking at a PLUS in X, avoid spuriously returning nonzero
1096 when IN is a REG or another simple PLUS, or a MEM containing one.
1097
1098 * loop.c (loop_invariant_p): Amend comment about where new registers
1099 might come from.
1100
11012003-12-15 Andreas Jaeger <aj@suse.de>
1102
1103 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Remove
1104 handling of obsolete language CHILL.
1105
11062003-12-15 Waldek Hebisch <hebisch@math.uni.wroc.pl>
1107
1108 * tree.c (initializer_zerop): Add test for empty set.
1109 * integrate.c (function_cannot_inline_p): Forbid inlining
1110 functions calling `longjmp'.
1111
11122003-12-15 Nathan Sidwell <nathan@codesourcery.com>
1113
1114 PR c++/11773
1115 * doc/gcov.texi (Gcov and Optimization): Document inline function
1116 behaviour. Fix some file suffixes.
1117
11182003-12-14 David O'Brien <obrien@FreeBSD.org>
1119
1120 * config/i386/i386.h (__amd64, __amd64__): Remove duplicates.
1121
11222003-12-14 Mark Mitchell <mark@codesourcery.com>
1123
1124 * c-common.h (c_parse_error): Declare it.
1125 * c-common.c (c_parse_error): New function.
1126 * c-parse.y (yyerror): Use it.
1127
11282003-12-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1129
1130 PR target/13054
1131 * pa-protos.h (indexed_memory_operand, borx_reg_operand,
1132 move_dest_operand, move_src_operand): New protypes.
1133 (basereg_operand, move_operand, reg_or_nonsymb_mem_operand): Deleted.
1134 * pa.c (copy_reg_pointer, indexed_memory_operand, move_dest_operand,
1135 move_src_operand): New functions.
1136 (basereg_operand, reg_or_nonsymb_mem_operand, move_operand): Delete.
1137 (reg_or_0_or_nonsymb_mem_operand): Return false for unscaled indexed
1138 address until cse is not expected on targets with non-equivalent
1139 space registers.
1140 (hppa_legitimize_address): Canonicalize unscaled indexed addresses
1141 on targets non-equivalent space registers.
1142 (emit_move_sequence): Break out indexed addresses from destination
1143 operand. Similarly, break out unscaled indexed addresses from
1144 source operand on targets with non-equivalent space registers. Fix
1145 REG_POINTER flag when possible. Mark register pointer when creating
1146 new pointers.
1147 (print_operand): Handle unscaled index addresses.
1148 * pa.h (IS_INDEX_ADDR_P, IS_LO_SUM_DLT_ADDR_P): New macro subroutines
1149 for EXTRA_CONSTRAINT.
1150 (EXTRA_CONSTRAINT): Rework to make more readable.
1151 (MODE_OK_FOR_SCALED_INDEXING_P, MODE_OK_FOR_UNSCALED_INDEXING_P): New
1152 subroutines for GO_IF_LEGITIMATE_ADDRESS.
1153 (GO_IF_LEGITIMATE_ADDRESS): Rework using new subroutines. Allow scaled
1154 and unscaled addresses. Canonicalize unscaled indexed addresses on
1155 targets with non-equivalent space registers. Document issues in
1156 handling indexed address modes on PA-RISC.
1157 (PREDICATE_CODES): Update for new and deleted predicates.
1158 * pa.md (move_dest_operand, move_src_operand, indexed_memory_operand):
1159 Use new predicates in move patterns.
1160 Add peephole2 patterns to optimize floating point stores. Fix
1161 constrain preferencing in move patterns. Delete patterns for handling
1162 unscaled indexed memory loads. Add missing load and store with
1163 base-register modification patterns. Correct SFmode floating point
1164 store pattern. Add missing zero extension loads.
1165
11662003-12-13 Steven Bosscher <stevenb@suse.de>
1167
1168 * ggc-zone.c (struct alloc_zone): Don't pre-declare, it already
1169 comes in with ggc.h. Add a new bool field `dead'.
1170 (destroy_ggc_zone): Don't destroy a zone at once. Instead, only
1171 set the `dead' flag for the dead zone. Wrap a sanity check in
1172 ENABLE_CHECKING.
1173 (ggc_collect_1): Always mark and sweep if a zone has the `dead'
1174 flag set.
1175 (ggc_collect): Free dead zones after collecting.
1176
11772003-12-13 Jan Hubicka <jh@suse.cz>
1178
1179 * coverage.c (get_coverage_counts): Use inform instead of warning
1180 about missing profile.
1181
11822003-12-12 Steven Bosscher <stevenb@suse.de>
1183
1184 * Makefile.in (opts.o, explow.o): Depend on langhooks.h
1185
11862003-12-12 Geoffrey Keating <geoffk@apple.com>
1187
1188 * config.gcc <i[34567]86-*-darwin*>: Don't use fixproto.
1189 <powerpc-*-darwin*>: Likewise.
1190
11912003-12-12 Jakub Jelinek <jakub@redhat.com>
1192
1193 * config/ia64/linux.h (IA64_GATE_AREA_END): Increase by 64K.
1194 (MD_FALLBACK_FRAME_STATE_FOR): Set fpsr_loc, br_loc[6] and
1195 br_loc[7]. Update comment.
1196 (MD_HANDLE_UNWABI): Define.
1197 * config/ia64/unwind-ia64.c (struct unw_state_record): Add
1198 unwabi field.
1199 (struct _Unwind_Context): Increase br_loc array size to 8 entries.
1200 (desc_abi): Set unwabi.
1201 (uw_update_reg_address): Allow br up to 7.
1202 (uw_update_context): Invoke MD_HANDLE_UNWABI if defined.
1203 (uw_install_context): Load b1..b5 from correct locations.
1204 Fix insn loading ar.fpsr.
1205 * doc/tm.texi: Document MD_HANDLE_UNWABI.
1206
12072003-12-12 Roger Sayle <roger@eyesopen.com>
1208
1209 PR optimization/13037
1210 * loop.c (update_giv_derive): Ignore redundant sets of a biv when
1211 calculating how to derive a giv from a biv.
1212
12132003-12-12 Neil Booth <neil@daikokuya.co.uk>
1214
1215 PR preprocessor/12935 preprocessor/12952 preprocessor/13046
1216 * cpplib.c (prepare_directive_trad): Clear skipping only in
1217 #if and #elif directives.
1218 (do_undef): Call the handler even if the identifier is not a macro.
1219 * cpptrad.c (scan_parameters): Emit an error message.
1220 (_cpp_create_trad_definition): Remember the params list even on
1221 failure.
1222
12232003-12-11 Zack Weinberg <zack@codesourcery.com>
1224
1225 * arm.c (ARM_ADDRESS_COST, THUMB_ADDRESS_COST): Convert macros
1226 to inline functions: arm_arm_address_cost, arm_thumb_address_cost
1227 respectively.
1228 (arm_address_cost): Use 'em.
1229
12302003-12-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1231
1232 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define
1233 __STDC_VERSION__ to ISO C94 for C++.
1234
1235 * fixinc/inclhack.def (alpha_wchar): New fix.
1236 * fixinc/fixincl.x: Regenerate.
1237 * fixinc/tests/base/wchar.h: New file.
1238
12392003-12-11 David Mosberger <davidm@hpl.hp.com>
1240
1241 * unwind-libunwind.c (_Unwind_SetGR): Clear the NaT bit as
1242 required by C++ ABI for Itanium.
1243 * config/t-libunwind (LIB2ADDEH): Remove unwind-libunwind.c.
1244 * config/t-libunwind-no-eh: New file.
1245 * configure.in: Check libunwind for _Unwind_Resume() and if it's
1246 present, set libunwind_has_eh_support to "yes".
1247 * configure: Regenerate.
1248 * config.gcc (ia64*-*-linux*): If $libunwind_has_eh_support is
1249 set to yes, use t-libunwind, otherwise, use t-libunwind-no-eh.
1250
12512003-12-11 Richard Sandiford <rsandifo@redhat.com>
1252
1253 * config/mips/mips.c (mips_global_pointer): Force functions with
1254 a nonlocal goto to set up $gp.
1255
12562003-12-11 James E Wilson <wilson@specifixinc.com>
1257
1258 PR target/13132
1259 * function.c (gen_mem_addressof): When no decl, explicitly clear flag
1260 bits.
1261
12622003-12-12 Nick Clifton <nickc@redhat.com>
1263
1264 * config/m32r/m32r.c: Convert to ISO-C
1265
12662003-12-12 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1267
1268 * doc/invoke.texi: Replace Mitsubishi with Renesas.
1269 * config/m32r/m32r.h: Ditto.
1270 * config/m32r/m32r.c: Ditto.
1271 * config/m32r/m32r.md: Ditto.
1272
12732003-12-11 Steven Bosscher <steven@gcc.gnu.org>
1274
1275 * basic-block.h (BLOCK_HEAD, BLOCK_END): Remove.
1276 (BLOCK_HEAD_TREE, BLOCK_END_TREE): Remove.
1277 (basic_block_def): Rename `head' to `head_' and `end' to `end_'.
1278 (BB_HEAD, BB_END): New accessor macros for the `head_' and `end_'
1279 fields of a basic block.
1280 * bb-reorder.c, bt-load.c, caller-save.c, cfg.c, cfganal.c,
1281 cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgloopanal.c,
1282 cfgloopmanip.c, cfgrtl.c, combine.c, conflict.c, df.c, emit-rtl.c,
1283 final.c, flow.c, function.c, gcse.c, global.c, graph.c,
1284 haifa-sched.c, ifcvt.c, lcm.c, local-alloc.c, loop-unswitch.c,
1285 loop.c, postreload.c, predict.c, profile.c, ra-build.c, ra-debug.c,
1286 ra-rewrite.c, ra.c, recog.c, reg-stack.c, regclass.c, regmove.c,
1287 regrename.c, reload1.c, resource.c, sched-ebb.c, sched-rgn.c,
1288 sibcall.c, tracer.c, config/frv/frv.c, config/i386/i386.c,
1289 config/ia64/ia64.c: Use the BB_HEAD and BB_END macros instead of
1290 accessing the `head' and `end' fields of a basic block directly.
1291
1292 * gengtype.c: Teach about "void**" pointers and "void *" function
1293 types. Fixes earlier commit.
1294
12952003-12-10 Geoffrey Keating <geoffk@apple.com>
1296
1297 * doc/extend.texi (Vector Extensions): Document that bitwise
1298 operations also work on vectors.
1299
13002003-12-10 Richard Earnshaw <rearnsha@arm.com>
1301
1302 * arm.md: New split patterns for optimizing bitfield accesses.
1303
13042003-12-10 Steven Bosscher <stevenb@suse.de>
1305
1306 * README.Portability: Remove K+R section.
1307
1308 * gengtype-lex.l: Teach about "void**" pointers and
1309 "void*" function types.
1310
13112003-12-10 Eric Botcazou <ebotcazou@libertysurf.fr>
1312
1313 PR target/13354
1314 * config/sparc/sparc.c (sparc_output_mi_thunk): Load DELTA
1315 manually if one can do that with only one instruction.
1316
13172003-12-10 Nick Clifton <nickc@redhat.com>
1318
1319 * config.gcc (arm-linux): Include linux.h in tm_file so that
1320 LINUX_TARGET_OS_CPP_BUILTINS is defined.
1321 * config/arm/linux-elf.h (LIB_SPEC): Protect the definition.
1322
13232003-12-09 James E Wilson <wilson@specifixinc.com>
1324
1325 * rtl.def (CODE_LABEL, NOTE): Correct operand numbers in comments.
1326
13272003-12-09 Matt Austern <austern@apple.com>
1328
1329 PR c/13134
1330 * c-decl.c (duplicate_decls): Copy visibility flag when appropriate.
1331
13322003-12-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1333
1334 * config/m32r/m32r.h: Add support for m32r2 processor. Including
1335 a new command line option -m32r2 to select it.
1336 * config/m32r/m32r.c: Add support for the new processor variant.
1337 * config/m32r/m32r.md: Likewise.
1338 * config/m32r/t-m32r: Add m32r2 multilibs.
1339 * doc/invoke.texi: Document the new command line switch.
1340
13412003-12-08 Kazu Hirata <kazu@cs.umass.edu>
1342
1343 * defaults.h (LOCAL_REGNO): Give the default definition.
1344 * flow.c (LOCAL_REGNO): Remove.
1345 * reload1.c (LOCAL_REGNO): Likewise.
1346
13472003-12-08 Geoffrey Keating <geoffk@apple.com>
1348
1349 PR target/11848
1350 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Allow change of mode
1351 in floating-point registers between TFmode and DImode.
1352 * rs6000.c (rs6000_emit_move): Split moves early.
1353 (secondary_reload_class): Random Whitespace Change.
1354 (rs6000_split_multireg_move): Support moves involving FP registers.
1355 Emit instructions directly.
1356 * rs6000-protos.h (rs6000_split_multireg_move): Update prototype.
1357 * altivec.md: Update for changes to rs6000_split_multireg_move.
1358 * rs6000.md: Update for changes to rs6000_split_multireg_move.
1359 (movtf_internal): Support moves to/from GPRs.
1360
13612003-12-08 Stuart Hastings <stuart@apple.com>
1362
1363 * config/i386/i386.md: Typo in split of fp-valued if_then_else.
1364
13652003-12-08 James E Wilson <wilson@specifixinc.com>
1366
1367 PR target/13132
1368 * expmed.c (extract_bit_field): Only call mode_for_size for scalar
1369 integer modes.
1370
13712003-12-08 Nathanael Nerode <neroden@gcc.gnu.org>
1372
1373 * doc/install.texi: Revert change of Dec 7; gcc is still a 2.13
1374 directory.
1375
13762003-12-08 Alexandre Oliva <aoliva@redhat.com>
1377
1378 * config/frv/frv.md (subdi2): Merge with _internal insn_and_split,
1379 by using match_scratch.
1380 (negdi2): New.
1381
13822003-12-08 Jason Merrill <jason@redhat.com>
1383 Daniel Berlin <dberlin@dberlin.org>
1384
1385 PR debug/11114
1386 Support namespaces in DWARF 2 output.
1387 * dwarf2out.c (gen_namespace_die): New function.
1388 (force_namespace_die, setup_namespace_context): New fns.
1389 (declare_in_namespace): New fn.
1390 (gen_decl_die): Call declare_in_namespace. Handle namespaces.
1391 (dwarf2out_decl): Handle namespaces.
1392 (scope_die_for): Pass through a namespace scope.
1393 (class_scope_p): Rename to class_or_namespace_scope_p.
1394 (gen_subprogram_die, gen_variable_die): Adjust.
1395 (gen_struct_or_union_die): Always emit a declaration
1396 if context_die is a namespace.
1397
13982003-12-08 Jan Hubicka <jh@suse.cz>
1399
1400 * unwind-pe.h (read_uleb128): Fix handling of large values
1401 (read_sleb128): Fix handling of large values
1402
14032003-12-08 Andrew Pinski <pinskia@physics.uc.edu>
1404
1405 PR middle-end/10060
1406 * emit-rtl.c (copy_rtx_if_shared): Split out into ...
1407 (copy_rtx_if_shared_1): here and optimize the last one
1408 in the sequence into tail-recursion.
1409 (reset_used_flags): Optimize the last one
1410 in the sequence into tail-recursion.
1411
14122003-12-08 Richard Earnshaw <rearnsha@arm.com>
1413
1414 * arm.md: New split to transform ((X << y) - 1) into ~(~(X-1) << y)
1415 for constant X.
1416
14172003-12-08 Richard Sandiford <rsandifo@redhat.com>
1418
1419 * calls.c (expand_call): Don't try using tail or recursive calls
1420 after the function body has been expanded.
1421
14222003-12-08 Jan Hubicka <jh@suse.cz>
1423
1424 * i386.md (cmpstr expander): Obey TARGET_INLINE_ALL_STRINGOPS
1425
14262003-12-08 Arnaud Charlet <charlet@act-europe.fr>
1427
1428 PR ada/13324, PR ada/12614
1429 * doc/install.texi: Update requirements for building Ada.
1430
14312003-12-07 David Edelsohn <edelsohn@gnu.org>
1432 Graham Reed <greed@pobox.com>
1433
1434 * collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
1435 (GCC_UNDEF_SYMBOL): Same.
1436
14372003-12-07 Kazu Hirata <kazu@cs.umass.edu>
1438
1439 * final.c (final_scan_insn): Don't use FINAL_PRESCAN_LABEL.
1440 * system.h (FINAL_PRESCAN_LABEL): Poison.
1441 * doc/tm.texi (FINAL_PRESCAN_LABEL): Remove.
1442
14432003-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1444
1445 * Makefile.in (compare): Combine toplevel and $(SUBDIRS) cases.
1446
14472003-12-07 Nathanael Nerode <neroden@gcc.gnu.org>
1448
1449 * configure.in, aclocal.m4: Revert to pre-2.5x conversion status.
1450 * configure: Regenerate with autoconf 2.13.
1451
1452 * configure.in: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
1453 with modern equivalents.
1454 * configure: Regenerate.
1455
1456 * configure.in: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
1457 * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
1458 * configure: Regenerate.
1459
1460 * configure: Regenerate with (preferred) autoconf 2.57.
1461 * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
1462
14632003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1464
1465 PR optimization/12965
1466 * caller-save.c (save_call_clobbered_regs): Do not save/restore
1467 registers around no-return calls.
1468
14692003-12-07 Nathanael Nerode <neroden@gcc.gnu.org>
1470
1471 * configure.in: Make minimum necessary changes for autoconf 2.5x.
1472 * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
1473 * configure: Regenerate with autoconf 2.58.
1474
14752003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1476
1477 PR optimization/13318
1478 * loop.c (express_from): Protect integer division from overflow.
1479
14802003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1481
1482 PR optimization/13060
1483 * function.c (fixup_var_refs_1) [SUBREG]: Recognize even if a
1484 replacement already exists. Fix again the whole insn if that fails.
1485
14862003-12-06 Andrew Pinski <pinskia@physics.uc.edu>
1487
1488 * config/rs6000/rs6000.c (macho_branch_islands): Use
1489 HOST_WIDE_INT_PRINT_UNSIGNED.
1490
14912003-12-06 Richard Sandiford <rsandifo@redhat.com>
1492
1493 * varasm.c (incorporeal_function_p): New.
1494 (assemble_external): Use it as a filter.
1495 * config/mips/mips.c (mips_output_external): Don't check for builtin
1496 functions here.
1497
14982003-12-06 Richard Earnshaw <reanrsha@arm.com>
1499
1500 * arm.md (IOR (COMPARISON) (AND)): New define_splits.
1501
15022003-12-06 Kelley Cook <kcook@gcc.gnu.org>
1503
1504 * Makefile.in (program_transform_cross_name): Delete.
1505 (GCC_CROSS_NAME, CPP_CROSS_NAME): Delete.
1506 (PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Delete.
1507 (AR_FOR_TARGET, RANLIB_FOR_TARGET, NM_FOR_TARGET): Adjust for above.
1508 (install_cpp, install_driver, install-man, uninstall): Likewise.
1509
15102003-12-06 Alan Modra <amodra@bigpond.net.au>
1511
1512 PR 13169
1513 * basic-block.h (PROP_ASM_SCAN): Define.
1514 * final.c (regs_asm_clobbered): New array.
1515 * regs.h (regs_asm_clobbered): Declare.
1516 * flow.c (life_analysis): Init it.
1517 (mark_set_regs): Set PROP_ASM_SCAN for asms.
1518 (mark_set_1): Set regs_asm_clobbered.
1519 * global.c (global_alloc): Don't set eliminable_regset when
1520 regs_asm_clobbered.
1521
15222003-12-05 Mark Mitchell <mark@codesourcery.com>
1523
1524 * config/ia64/ia64.h (MUST_PASS_IN_STACK): Define.
1525
1526 PR c++/13314
1527 * emit-rtl.c (set_mem_attributes_minus_bitpos): Robustify.
1528
15292003-12-05 Andrew Pinski <pinskia@physics.uc.edu>
1530
1531 PR driver/13211
1532 * gcc.c (execute) Increment execution_count when returning
1533 early because verbose_only_flag is true.
1534
15352003-12-05 Per Bothner <pbothner@apple.com>
1536
1537 * cppfiles.c (file_hash_hash): New static function.
1538 (hash_string_eq): Renamed static function to file_hash_eq.
1539 (_cpp_init_files): Create file_hash table with above callbacks.
1540 (cpp_included): Must use htab_find_with_hash insead of htab_find.
1541 (_cpp_find_find, make_cpp_dir): Must use htab_find_slot_with_hash.
1542
15432003-12-05 Per Bothner <pbothner@apple.com>
1544
1545 * line-map.h (source_location): New typedef.
1546 (fileline): Redefined as source_location.
1547 (struct line_map, linemap_add, linemap_lookup): Replace filefile
1548 by source_location.
1549 * line-map.c (linemap_add, linemap_lookup): Use source_location.
1550
15512003-12-05 Richard Henderson <rth@redhat.com>
1552
1553 * config/alpha/alpha.c (alpha_build_builtin_va_list): Add dummy
1554 field to suppress -Wpadded warnings.
1555
15562003-12-05 Stuart Hastings <stuart@apple.com>
1557
1558 * config/rs6000/rs6000.md: Correct macro test of TARGET_MACHO.
1559
15602003-12-05 Stuart Menefy <stuart.menefy@st.com>
1561 J"orn Rennecke <joern.rennecke@superh.com>
1562
1563 PR target/13302
1564 * sh.c (sh_build_builtin_va_list): Use (*lang_hooks.types.make_type).
1565
15662003-12-05 Roger Sayle <roger@eyesopen.com>
1567
1568 * dojump.c (do_jump): If the expression being compared against
1569 zero, is the subreg of a promoted variable, perform the comparison
1570 in the promoted mode.
1571 * simplify-rtx.c (simplify_unary_operation): Optimize sign and
1572 zero-extensions of subregs of promoted variables where the
1573 extension is identical to that used to promote the variable.
1574
15752003-12-05 Hans-Peter Nilsson <hp@axis.com>
1576
1577 PR target/13256
1578 * resource.h (enum mark_resource_type): Remove member MARK_DEST.
1579 The only user changed as follows:
1580 * resource.c (mark_set_resources) <case SET>: Always recurse for
1581 SET_SRC (x).
1582 <case SIGN_EXTRACT, case ZERO_EXTRACT>: Always recurse on
1583 operands.
1584 <case STRICT_LOW_PART>: Delete, deferring to default code.
1585
15862003-12-05 Waldek Hebisch <hebisch@math.uni.wroc.pl>
1587
1588 * stmt.c (expand_nl_goto_receiver): Copy hard register clobbers
1589 and ASM_INPUT barrier from expand_builtin_setjmp_receiver.
1590
15912003-12-05 Richard Sandiford <rsandifo@redhat.com>
1592
1593 * config/mips/mips.c (mips_expand_call): Don't allow laziy binding
1594 for n32 & n64 abicalls.
1595
15962003-12-05 Richard Sandiford <rsandifo@redhat.com>
1597
1598 PR bootstrap/13145
1599 * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Adjust comment.
1600 * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Add $fcall.
1601 (mips_load_got): Always create a constant MEM.
1602 (mips_expand_call): Use load_callsi and load_calldi.
1603 * config/mips/mips.md (UNSPEC_LOAD_CALL, FAKE_CALL_REGNO): New consts.
1604 (load_callsi, load_calldi): New patterns.
1605
16062003-12-05 Peter Gerwinski <peter@gerwinski.de>
1607
1608 * tree.def (PLACEHOLDER_EXPR): Clarify commentary.
1609
16102003-12-05 Steven Bosscher <stevenb@suse.de>
1611
1612 * config/d30v/d30v-protos.h , config/d30v/d30v.c,
1613 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
1614 config/fr30/fr30-protos.h, config/fr30/fr30.c,
1615 config/i370/i370-protos.h, config/i370/i370.c,
1616 config/i960/i960-protos.h, config/i960/i960.c,
1617 config/ip2k/ip2k-protos.h, config/ip2k/ip2k.c,
1618 config/m32r/m32r-protos.h, config/m32r/m32r.c,
1619 config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
1620 config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c:
1621 Convert to ISO C90 function declarations and definitions.
1622
16232003-12-05 Eric Botcazou <ebotcazou@libertysurf.fr>
1624
1625 * doc/extend.texi (Constructing Calls): Add warning about
1626 the limitations of the functions.
1627
16282003-12-05 Eric Botcazou <ebotcazou@libertysurf.fr>
1629
1630 PR middle-end/11151
1631 * function.h (struct function): New field 'x_naked_return_label'.
1632 * function.c (free_after_compilation): Set it to NULL.
1633 (expand_function_end): Emit 'naked_return_label' if it exists.
1634 * rtl.h (expand_naked_return): Declare.
1635 * stmt.c (expand_naked_return): New function to generate a
1636 jump to 'naked_return_label'.
1637 * builtins.c (expand_builtin_return): Call expand_naked_return
1638 instead of expand_null_return.
1639 * config/sparc/sparc.md (untyped_return): Likewise.
1640
16412003-12-04 Andrew Pinski <pinskia@physics.uc.edu>
1642
1643 PR target/11322
1644 * config/sh/netbsd-elf.h (NO_PROFILE_COUNTERS): Define.
1645
1646 PR target/12467
1647 * config/rs6000/altivec.md (altivec_vmsummbm): Fix typo.
1648
16492003-12-04 Stuart Hastings <stuart@apple.com>
1650
1651 * rs6000.c (output_call, macho_branch_islands,
1652 add_compiler_branch_island, no_previous_def, get_previous_label)
1653 Revisions of xx_stub functions for branch islands,
1654 add -fPIC support for Darwin.
1655 * rs6000-protos.h (output_call) Prototype.
1656 * rs6000.md Use output_call.
1657 * invoke.texi Explain Darwin semantics of -longcall.
1658 * testsuite/gcc.dg/darwin-abi-1.c Revise testcase for -longcall/jbsr.
1659
16602003-12-04 Richard Henderson <rth@redhat.com>
1661
1662 * config/i386/i386.md (addqi3_carry): Use q not r constraints.
1663 (subqi3_carry): Likewise.
1664
16652003-12-04 J"orn Rennecke <joern.rennecke@superh.com>
1666
1667 PR optimization/13260
1668 * sh-protos.h (sh_expand_t_scc): Declare.
1669 * sh.h (PREDICATE_CODES): Add cmpsi_operand.
1670 * sh.c (cmpsi_operand, sh_expand_t_scc): New functions.
1671 * sh.md (cmpsi): Use cmpsi_operand. If T_REG is compared to
1672 something that is not a CONST_INT, copy it into a pseudo register.
1673 (subc): Fix description of new T value.
1674 (slt, sgt, sge, sgtu): Don't clobber T after rtl generation is over.
1675 (sltu, sleu, sgeu): Likewise.
1676 (seq, sne): Likewise. Use sh_expand_t_scc.
1677
16782003-12-04 Nathanael Nerode <neroden@gcc.gnu.org>
1679
1680 * configure.in: Generalize the CONFIG_HEADERS pattern under which
1681 we stamp cstamp-h.
1682 * configure: Regenerate.
1683
1684 * configure.in: Pull AC_CHECK_HEADER call out of shell if statement
1685 to avoid trouble when updating to autoconf 2.5x.
1686 * configure: Regenerate (with autoconf 2.13 still).
1687
16882003-12-04 J"orn Rennecke <joern.rennecke@superh.com>
1689
1690 * sh.md (truncdiqi2): Use andi opcode for immediate.
1691 (reload_outdf+1,reload_outdf+2): Remove constraints.
1692 (movv16sf_i): Fxi multiplier for SUBREG_BYTE.
1693 (movv8qi_i+2): Zero-extend low byte before adding it to high byte.
1694 (fipr, ftrv): Add .s suffix to opcode.
1695
16962003-12-04 Richard Sandiford <rsandifo@redhat.com>
1697
1698 PR target/13186
1699
1700 Revert all of the following patch, except the addition of
1701 hook_bool_machine_mode_true:
1702
1703 2003-11-02 Richard Sandiford <rsandifo@redhat.com>
1704
1705 * Makefile.in (targhooks.o, reload.o): Update dependencies.
1706 (GTFILES): Add targhooks.c.
1707 (gt-targhooks.h): New rule; depend on s-gtype.
1708 * target.h (direct_pool_load_p): New hook.
1709 * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
1710 (TARGET_INITIALIZER): Include it.
1711 * targhooks.h (default_direct_pool_load_p): Declare.
1712 (hook_bool_machine_mode_true): Declare.
1713 * targhooks.c: Include insn-config.h, recog.h, ggc.h and
1714 gt-targhooks.h.
1715 (pool_symbol): New variable.
1716 (default_direct_pool_load_p): New function.
1717 (hook_bool_machine_mode_true): New function.
1718 * reload.c: Include target.h.
1719 (find_reloads): If an alternative will force a constant into memory,
1720 count an extra reload if constant pool symbols are not valid
1721 addresses. If an alternative uses memory to move values between
1722 registers, count the move as two reloads rather than one.
1723 * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
1724 * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
1725
17262003-12-03 Mark Mitchell <mark@codesourcery.com>
1727
1728 * config/ia64/hpux.h (TARGET_HAVE_TLS): Define it to false.
1729 * config/ia64/ia64.h (TARGET_HAVE_TLS): Define it to true if
1730 HAVE_AS_TLS is true.
1731 * config/ia64/ia64.c (TARGET_HAVE_TLS): Do not define it.
1732
17332003-12-03 James E Wilson <wilson@specifixinc.com>
1734
1735 * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name.
1736
1737 * gcc-page.c (extra_order_size_tab): Correct comment.
1738
17392003-12-03 Kazu Hirata <kazu@cs.umass.edu>
1740
1741 * config/h8300/h8300.c (push): Call gen_push_h8300hs_advanced
1742 instead of gen_push_h8300hs.
1743 (pop): Call gen_pop_h8300hs_advanced instead of
1744 gen_pop_h8300hs.
1745 * config/h8300/h8300.h (TRAMPOLINE_SIZE): Use Pmode.
1746 * config/h8300/h8300.md (*tablejump_h8300hs_advanced):
1747 Tighten the predicate.
1748 (*tablejump_h8300hs_normal): Tighten the predicate.
1749 (push_h8300hs): Change to
1750 push_h8300hs_advanced.
1751 (pop_h8300hs): Change to pop_h8300hs_advanced.
1752
17532003-12-03 Eric Christopher <echristo@redhat.com>
1754
1755 * rtl.c: Fix typo.
1756 * config/mips/mips.h: Ditto. Fix formatting.
1757
17582003-12-04 Ben Elliston <bje@wasabisystems.com>
1759
1760 * future.options: Remove. Move to gnu.org web pages.
1761
17622003-12-03 Eric Christopher <echristo@redhat.com>
1763
1764 * c-parse.in (c_in_iteration_stmt, c_in_case_stmt): Move
1765 from here...
1766 * c-tree.h: to here.
1767
17682003-12-03 Jan Hubicka <jh@suse.cz>
1769
1770 PR optimization/12324
1771 * toplev.c (rest_of_decl_compilation): Do not deffer when compiling
1772 in unit-at-a-time mode.
1773
17742003-12-03 Jakub Jelinek <jakub@redhat.com>
1775
1776 * expr.c (store_constructor): Only set RTX_UNCHANGING_P for
1777 read-only field if cleared is 0.
1778
17792003-12-03 Nathanael Nerode <neroden@gcc.gnu.org>
1780
1781 * config.gcc: Mark obsolete targets for GCC 3.4.
1782
17832003-12-03 Zack Weinberg <zack@codesourcery.com>
1784
1785 * aclocal.m4 (AM_ICONV): Add explicit check for iconv.h.
1786 * config.in, configure.in: Regenerate.
1787 * cpphash.h: Check both HAVE_ICONV and HAVE_ICONV_H before
1788 including iconv.h.
1789
17902003-12-03 Alan Modra <amodra@bigpond.net.au>
1791
1792 PR target/11229
1793 * cse.c (cse_insn): Set classp using src_const_elt if
1794 src_eqv_elt is NULL.
1795
17962003-12-03 Richard Earnshaw <rearnsha@arm.com>
1797
1798 * gcse.c (reg_clear_last_set): New function.
1799 (reg_set_info): If data is non-null, treat it as an sbitmap of
1800 registers, set the bit for the register being set.
1801 (compute_store_table): Allocate last_set_in with xcalloc. Do not
1802 memset this array on each iteration. Pass reg_set_in_block[bb->index]
1803 to note_stores while computing last_set_in instead of scanning
1804 last_set_in after the first pass through the insns.
1805 Clear last_set_in using reg_clear_last_set instead of explicitly
1806 rescanning after each insn. If checking is enabled, assert that
1807 last_set_in is completely zeroed after each bb has been processed.
1808
18092003-12-02 Geoffrey Keating <geoffk@geoffk.org>
1810
1811 * df.c (df_uses_record) <MEM>: The argument of a MEM is read-only,
1812 never read-write.
1813 <REG>: Delete incorrect comment.
1814 <SET>: Remove 'use_flags' variable.
1815
18162003-12-03 David Edelsohn <edelsohn@gnu.org>
1817
1818 * function.c (assign_parms): Make sure parm PARALLEL combined
1819 in reg is composed of more than one object and the mode really
1820 produces a reg.
1821
18222003-12-03 Jan Hubicka <jh@suse.cz>
1823
1824 * i386.c (classify_argument): Make it 64bit clean.
1825
18262003-12-02 Richard Sandiford <rsandifo@redhat.com>
1827
1828 * config/mips/mips.c (mips_output_external): Replace checks for
1829 specific builtin-in functions with a check for DECL_BUILTIN_IN.
1830
18312003-12-02 Richard Henderson <rth@redhat.com>
1832
1833 * rtl.h (PUT_CODE, PUT_MODE): Remove ENUM_BITFIELD cast.
1834 * tree.h (TREE_SET_CODE): Likewise.
1835 * recog.h (struct insn_operand_data): Move const after ENUM_BITFIELD.
1836
18372003-12-02 Ben Elliston <bje@wasabisystems.com>
1838
1839 * dbxstclass.h: Rename from this ..
1840 * xcoff.h: .. to this.
1841 * xcoffout.c: Include xcoff.h.
1842
18432003-12-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1844
1845 * Makefile.in (GCC_CFLAGS): Add -Wold-style-definition.
1846
18472003-12-01 James Lemke <jim@wasabisystems.com>
1848
1849 * config/arm/arm.c (arm_rtx_costs): Improve for xscale multiply.
1850
18512003-12-01 Roger Sayle <roger@eyesopen.com>
1852
1853 PR optimization/11634
1854 * recog.c (split_insn): Factor test of INSN_P and handling of
1855 set_noop_p out of here into the two callers.
1856 (split_all_insns): Add INSN_P test and set_noop_p handling here.
1857 If deleting a no-op set after reload that has a REG_UNUSED note,
1858 mark the basic block as changed and recalculate life information.
1859 (split_all_insns_noflow): Add INSN_P test and set_noop_p handling
1860 here.
1861
18622003-12-01 Roger Sayle <roger@eyesopen.com>
1863
1864 PR optimization/12322
1865 * gcse.c (struct ls_expr): Change type of hash_index from int to
1866 unsigned int.
1867 (hash_expr): Document hash_table_size parameter and wrap long line.
1868 (ldst_entry): Calculate expression's hash_index and record in ptr.
1869 (trim_ld_motion_mems): Use hash_index to search a single bucket
1870 instead of scanning the entire hash_table. Remove the "del" local
1871 variable and use the equivalent "expr == 0" instead. Change last
1872 to be a pointer to the pointer to the current element, to simplify
1873 and speed-up deleting from a linked list.
1874
18752003-12-01 James E Wilson <wilson@specifixinc.com>
1876
1877 * doc/contrib.texi: Update David Mosberger.
1878
1879 * doc/c-tree.texi (CONSTRUCTOR): Clarify element order and handling
1880 of missing fields.
1881
1882 PR target/8407
1883 * config/ia64/ia64.c (ia64_function_arg): For single-reg HFA, call
1884 gen_rtx_REG to create new reg with argument mode.
1885
18862003-12-01 Steven Bosscher <stevenb@suse.de>
1887
1888 * ggc.h (struct alloc_zone): Move forward declaration up.
1889 (new_ggc_zone): New function prototype.
1890 (destroy_ggc_zone): Ditto.
1891 * ggc-simple.c (new_ggc_zone): New function, does nothing.
1892 (destroy_ggc_zone): Ditto.
1893 * ggc-page.c (new_ggc_zone): New function, does nothing.
1894 (destroy_ggc_zone): Ditto.
1895 * ggc-zone.c (struct page_entry): Fix comment.
1896 (ggc_alloc_typed): Use a switch statement instead of ifs.
1897 (new_ggc_zone): New function to set up a new GC zone.
1898 (destroy_ggc_zone): New function to remove a GC zone.
1899 init_ggc): Use new_ggc_zone to set up the default zones.
1900 (ggc_collect): Walk a list of zones, instead of just the
1901 default zones. Report statistics using the zone name.
1902
19032003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
1904
1905 * unroll.c (find_splittable_givs): Add missing extend_value_for_giv.
1906
19072003-12-01 Roger Sayle <roger@eyesopen.com>
1908
1909 PR optimization/12628
1910 * toplev.c (rest_of_handle_jump_bypass): Call reg_scan.
1911 * regclass.c (reg_scan): Include allocate_reg_info time in
1912 TV_REG_SCAN. Minor clean-ups.
1913 (reg_scan_update): Minor clean-ups.
1914
19152003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
1916
1917 * config.gcc (s390x-ibm-tpf*): Add extra_parts.
1918
19192003-12-01 James E Wilson <wilson@specifixinc.com>
1920
1921 * config/ia64/ia64.h (FUNCTION_ARG_REGNO_P): Use AR_REG_FIRST not
1922 GR_ARG_FIRST.
1923
19242003-12-01 Zack Weinberg <zack@codesourcery.com>
1925
1926 * common.opt: Remove -fgnu-linker.
1927 * flags.h: Remove flag_gnu_linker.
1928 * opts.c: Don't handle OPT_fgnu_linker.
1929 * toplev.c: Don't initialize flag_gnu_linker.
1930 Remove gnu-linker entry from f_options.
1931 * config/dsp16xx/dsp16xx.h (OPTIMIZATION_OPTIONS):
1932 Don't reset flag_gnu_linker.
1933 * config/mips/mips.c (override_options): Likewise.
1934 * doc/invoke.texi: Remove all mention of -fgnu-linker.
1935
19362003-12-01 Daniel Berlin <dberlin@dberlin.org>
1937
1938 * ggc-zone.c (ggc_pch_write_object): Calculate object size using
1939 ggc_get_size (which accounts for large objects properly).
1940
19412003-12-01 Jeff Sturm <jsturm@one-point.com>
1942
1943 PR optimization/13024
1944 * toplev.c (rest_of_handle_new_regalloc): Remove rebuild_notes
1945 parameter.
1946 (rest_of_handle_old_regalloc): Likewise. Add rebuild_notes
1947 declaration. Rebuild jump labels following local_alloc if necessary.
1948 (rest_of_compilation): Remove rebuild_label_notes_after_reload
1949 declaration. Don't pass rebuild_notes parameter to
1950 rest_of_handle_new_regalloc and rest_of_handle_old_regalloc.
1951 Don't rebuild jump labels.
1952
19532003-12-01 Jeff Law <law@redhat.com>
1954
1955 * flow.c (count_or_remove_death_notes_bb): New. Extracted from
1956 count_or_remove_death_notes.
1957 (count_or_remove_death_notes): Use EXECUTE_IF_SET_IN_SBITMAP.
1958
19592003-12-01 Andreas Krebbel <krebbel1@de.ibm.com>
1960
1961 * builtins.c (expand_builtin_longjmp): Added two memory clobbers.
1962
19632003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
1964
1965 * reload.c (find_reloads_address): Split addresses of type
1966 (plus (plus (reg) (reg)) (const_int)) only if one register
1967 is either a valid base register or else one of the stack
1968 frame related registers (sp/fp/ap).
1969
19702003-12-01 Steven Bosscher <stevenb@suse.de>
1971
1972 * function.c (update_epilogue_consts): Don't use PARAMS.
1973 * rtl.h (web_main): Ditto.
1974 * target.h (is_costly_dependence): Ditto
1975
19762003-12-01 Eric Botcazou <ebotcazou@libertysurf.fr>
1977
1978 PR middle-end/7847
1979 * expr.c (expand_expr) [normal_inner_ref]: When 'offset' is non-zero,
1980 do not recheck that 'op0' is a MEM. Move comment. When testing for
1981 unaligned objects, take also into account the alignment of 'op0' and
1982 'mode1' if 'op0' is a MEM.
1983
19842003-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
1985
1986 * doc/c-tree.texi (Function Bodies): Update HANDLER documentation.
1987
19882003-12-01 Kelley Cook <kcook@gcc.gnu.org>
1989
1990 * doc/install.texi: Note that fastjar is built with automake 1.7.x
1991 and autoconf 2.57.
1992
19932003-12-01 Alan Modra <amodra@bigpond.net.au>
1994
1995 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
1996 target_flags directly rather than using TARGET_* defines.
1997
19982003-11-30 Ben Elliston <bje@wasabisystems.com>
1999
2000 * doschk.c: Remove.
2001
20022003-11-30 Richard Sandiford <rsandifo@redhat.com>
2003
2004 PR target/12727
2005 * config/mips/mips.c (mips_save_reg): Fix frame information for sdc1
2006 on 32-bit big-endian targets.
2007
20082003-11-30 Kazu Hirata <kazu@cs.umass.edu>
2009
2010 * genemit.c (register_constraints): Remove.
2011
20122003-11-30 Andreas Krebbel <krebbel1@de.ibm.com>
2013
2014 * config/s390/s390.md ("tmdi_reg", "tmsi_reg", "*movdi_64", "*movdi_31",
2015 "iordi3"): Insns now use multiple letter constraints.
2016 ("*movdi_lhi", "*movdi_lli", "*movdi_lay"): Insns deleted. They are now
2017 covered by "*movdi_64".
2018 ("*movsi_lhi", "*movsi_lli", "*movsi_lay"): Insns deleted. They are now
2019 covered by "*movsi_zarch" and "*movsi_esa".
2020 ("*movsi_zarch", "*movsi_!zarch"): New insns.
2021 ("*llgt_sisi_split", "*llgt_didi_split"): Insns deleted. Now covered
2022 by "*andsi3_zarch" and "anddi3".
2023 ("*anddi3_ni"): Insn merged with "anddi3".
2024 ("*andsi3_ni"): Insn merged with "*andsi3_zarch".
2025 ("*andsi3_zarch", "*andsi3_esa"): New insns.
2026 ("*iordi3_oi"): Insn merged with "iordi3".
2027 ("*iorsi3_oi"): Insn merged with "*iorsi3_zarch".
2028 ("*iorsi3_zarch", "*iorsi3_esa"): New insns.
2029
2030 * config/s390/s390.c (s390_single_qi, s390_single_hi): Functions
2031 merged to s390_single_part.
2032 (s390_single_part): New function.
2033 NOTE: Semantics have changed a bit. Now the value of the part must
2034 be different from the others to get a non-negative return value.
2035 (s390_extract_qi, s390_extract_hi): Functions merged to
2036 s390_extract_part.
2037 (s390_extract_part, s390_extra_constraint_str,
2038 s390_const_ok_for_constraint_p): New functions. The L constraint got a
2039 new meaning and the N constraint was added as a multiple letter
2040 constraint.
2041 (s390_extra_constraint): Function deleted.
2042 (print_operand): New output modifier 'i' and 'j' added.
2043 All uses of CONST_OK_FOR_LETTER_P were replaced by
2044 CONST_OK_FOR_CONSTRAINT_P.
2045
2046 * config/s390/s390-protos.h: Function prototypes adapted.
2047 * doc/md.texi: Documentation for new constraint letters added.
2048
20492003-11-30 Andreas Schwab <schwab@suse.de>
2050
2051 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Fix missing semicolon.
2052
20532003-11-29 James E Wilson <wilson@specifixinc.com>
2054
2055 * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name
2056 instead of in shared_name.
2057
2058 * final.c (final_start_function): Delete code for NON_SAVING_SETJMP.
2059 * reload1.c (reload): Re-add it here.
2060
20612003-11-30 Alan Modra <amodra@bigpond.net.au>
2062
2063 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Don't
2064 set SECTION_WRITE on TARGET_RELOCATABLE.
2065
20662003-11-29 Kazu Hirata <kazu@cs.umass.edu>
2067
2068 * config/h8300/h8300.h (LIBCALL_VALUE): Use R0_REG.
2069
20702003-11-28 Gunther Nikl <gni@gecko.de>
2071
2072 * config/m68k/m68k.c (MOTOROLA): Move from here...
2073 * config/m68k/m68k.h (MOTOROLA): ... to here.
2074 (OUTPUT_JUMP): Use do {...} while (0).
2075 * config/m68k/m68k.md: Replace #ifdef MOTOROLA with C statements.
2076
20772003-11-28 Gunther Nikl <gni@gecko.de>
2078
2079 * config.gcc (m68020-*-elf*, m68k-*-elf*, m68010-*-netbsdelf*,
2080 m68k*-*-netbsdelf*, m68k-*-rtems*): Add tm_defines containing
2081 MOTOROLA and USE_GAS.
2082 * config/m68k/rtemself.h (MOTOROLA): Delete.
2083 * config/m68k/netbsd-elf.h (MOTOROLA, USE_GAS): Delete.
2084 * config/m68k/m68kelf.h (MOTOROLA, USE_GAS, SGS_CMP_ORDER): Delete.
2085
20862003-11-29 Kazu Hirata <kazu@cs.umass.edu>
2087
2088 * config/h8300/h8300.h (WORDS_BIG_ENDIAN): Update the comment.
2089
20902003-11-29 Kelley Cook <kcook@gcc.gnu.org>
2091
2092 * Makefile.in (install-info): Install gccinstall.info too.
2093
20942003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
2095
2096 * config/s390/s390.md ("cmpint_di"): Fix incorrect instruction lengths.
2097
20982003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
2099
2100 * config/s390/s390.md ("movhi"): Do not emit extender pattern
2101 when loading from a (MEM (ADDRESSOF ...)).
2102 ("movqi"): Likewise.
2103
21042003-11-29 Joseph S. Myers <jsm@polyomino.org.uk>
2105
2106 PR c/10333
2107 * c-parse.in (typespec_reserved_nonattr): Reject typeof on
2108 bit-fields.
2109
21102003-11-29 Richard Sandiford <rsandifo@redhat.com>
2111
2112 * stmt.c (expand_asm_operands): Check whether force_const_mem
2113 succeeded.
2114
21152003-11-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2116
2117 * config/gnu.h (HURD_TARGET_OS_CPP_BUILTINS): New.
2118 * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): New.
2119
2120 * config/alpha/gnu.h, config/alpha/linux.h,
2121 config/arm/linux-elf.h, config/cris/cris.h, config/cris/linux.h,
2122 config/i370/linux.h, config/i386/gnu.h, config/i386/i386.h,
2123 config/i386/linux-aout.h, config/i386/linux.h,
2124 config/i386/linux64.h, config/ia64/linux.h, config/m68k/linux.h,
2125 config/m68k/uclinux.h, config/mips/linux.h,
2126 config/mn10300/linux.h, config/pa/pa-linux.h,
2127 config/rs6000/sysv4.h, config/s390/linux.h, config/sh/linux.h,
2128 config/sparc/linux.h, config/sparc/linux64.h,
2129 config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Use
2130 HURD_TARGET_OS_CPP_BUILTINS/LINUX_TARGET_OS_CPP_BUILTINS or ensure
2131 all necessary assertions are included.
2132
21332003-11-28 Jan Hubicka <jh@suse.cz>
2134
2135 * emit-rtl.c (set_used_flags): New.
2136 (verify_rtx_sharing, verify_rtl_sharing): New.
2137 (unshare_all_rtl_1): Rename to....
2138 (unshare_all_rtl_in_chain): ... this one; make static.
2139 (copy_rtx_if_shared): LABEL_REF chan be shared.
2140 * ifcvt.c (unshare_ifcvt_sequence): New.
2141 (noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
2142 noce_try_addcc, noce_try_addcc, noce_try_store_flag_mask,
2143 noce_try_cmove, noce_try_store_flag_mask, noce_try_minmax,
2144 noce_try_abs, noce_process_if_block, find_cond_trap
2145 * rtl.h (verify_rtl_sharing, set_used_flags, unshare_all_rtl_in_chain):
2146 Declare.
2147
21482003-11-28 Kazu Hirata <kazu@cs.umass.edu>
2149
2150 * config/h8300/h8300.md: Fix a comment typo.
2151
21522003-11-28 Kazu Hirata <kazu@cs.umass.edu>
2153
2154 * config/h8300/h8300.md (*movsf_h8300h): Change to
2155 *movsf_h8300hs.
2156 (addsi_h8300): Change to *addsi_h8300.
2157 (addsi_h8300h): Change to *addsi_h8300hs.
2158 (subsi3_h8300): Change to *subsi3_h8300.
2159 (subsi3_h8300h): Change to *subsi3_h8300hs.
2160 (neghi2_h8300h): Change to *neghi2_h8300hs.
2161 (negsi2_h8300h): Change to *negsi2_h8300hs.
2162
21632003-11-28 Kazu Hirata <kazu@cs.umass.edu>
2164
2165 * config/h8300/h8300.md (*subhi3_h8300): Remove '&' from the
2166 constraint.
2167 (*subhi3_h8300hs): Likewise.
2168
21692003-11-28 David Edelsohn <edelsohn@gnu.org>
2170
2171 * config/rs6000/rs6000.h (MASK_MFCRF): New.
2172 (TARGET_MFCRF): Test target_flags, not processor type.
2173 (TARGET_SWITCHES): Add mfcrf and no-mfcrf.
2174 Change Don't to Do not.
2175 * config/rs6000/rs6000.c (processors_target_table): Add MASK_MFCRF
2176 to power4, 970, G5.
2177
21782003-11-27 J"orn Rennecke <joern.rennecke@superh.com>
2179
2180 * cse.c (cse_set_around_loop): When changing a constant load
2181 to a register -register copy, add a REG_EQUAL note.
2182
21832003-11-27 Randolph Chung <tausq@debian.org>
2184 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2185
2186 * pa.c (hppa_profile_hook): Split gen_call_profiler into separate
2187 insns. Use the regular call expander for the call to the profiler.
2188 * pa.md (call_profiler): Delete.
2189 (load_offset_label_address): New insn to load the address of the
2190 current function for the profiler.
2191 (lcla1, lcla2): New insns to output a code label and load its address.
2192
21932003-11-27 Kazu Hirata <kazu@cs.umass.edu>
2194
2195 * final.c (final_scan_insn): Remove commented-out code.
2196
21972003-11-27 Nathanael Nerode <neroden@gcc.gnu.org>
2198
2199 * doc/install.texi: Remove ADAC reference and make accurate.
2200
22012003-11-27 Kazu Hirata <kazu@cs.umass.edu>
2202
2203 * config/h8300/h8300.h (FUNCTION_VALUE): Use R0_REG.
2204 (FUNCTION_VALUE_REGNO_P): Likewise.
2205 * config/h8300/h8300.md: Define R0_REG.
2206
22072003-11-27 Kazu Hirata <kazu@cs.umass.edu>
2208
2209 * config/h8300/h8300.c: Fix formatting.
2210 * config/h8300/h8300.md: Likewise.
2211
22122003-11-27 Kazu Hirata <kazu@cs.umass.edu>
2213
2214 * config/h8300/h8300.h (ELIMINABLE_REGS): Update a comment.
2215
22162003-11-27 Kazu Hirata <kazu@cs.umass.edu>
2217
2218 * config/h8300/h8300.md: Give names to anonymous insns.
2219
22202003-11-27 Kazu Hirata <kazu@cs.umass.edu>
2221
2222 * config/h8300/h8300.md (extendqisi2): Remove constraints.
2223
22242003-11-27 Gunther Nikl <gni@gecko.de>
2225
2226 * doc/tm.texi (SYSROOT_HEADERS_SUFFIX_SPEC): Fix typo.
2227
22282003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
2229
2230 PR optimization/13041
2231 * final.c (frame_pointer_needed): Fix comment.
2232 * reload1.c (reload): Decrease alignment of the frame
2233 pointer if it was used for register allocation.
2234
22352003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
2236
2237 PR target/12900
2238 * reg-stack (move_for_stack_reg): New prototype. Return
2239 whether a control flow insn was deleted.
2240 (subst_stack_regs_pat): Likewise, using the information provided
2241 by move_for_stack_reg.
2242 (subst_stack_regs): Likewise, using the information provided
2243 by subst_stack_regs_pat.
2244 (convert_regs_1): Record whether a control flow insn was deleted,
2245 using the information provided by subst_stack_regs. Purge dead
2246 edges only if a control flow insn was deleted.
2247
22482003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
2249
2250 PR middle-end/8028
2251 PR middle-end/9890
2252 PR middle-end/11151
2253 PR middle-end/12210
2254 PR middle-end/12503
2255 PR middle-end/12692
2256 * builtins.c (expand_builtin_apply): Use virtual_outgoing_args_rtx
2257 as the base address to copy the memory arguments to.
2258
22592003-11-26 Danny Smith <dannysmith@users.sourceforge.net>
2260
2261 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Declare
2262 function aliases as functions.
2263
22642003-11-26 Nathanael Nerode <neroden@gcc.gnu.org>
2265
2266 * aclocal.m4 (gcc_AC_PROG_GNAT): Rewrite to account for removal
2267 of ADAC.
2268 * configure: Regenerate.
2269
2270 * Makefile.in: Remove references to ADAC.
2271
2272 * configure.in: Remove check for whether ${ADAC} accepts -Wno-long-long.
2273 * configure: Regenerate.
2274
22752003-11-26 Eric Botcazou <ebotcazou@libertysurf.fr>
2276 Olivier Hainque <hainque@act-europe.fr>
2277
2278 PR target/6466
2279 * config/sparc/sparc-protos.h (compute_frame_size): New prototype.
2280 (sparc_flat_compute_frame_size): Likewise.
2281 (sparc_flat_save_restore): Move prototype...
2282 * config/sparc/sparc.c (sparc_flat_save_restore): ...here.
2283 (save_regs): New prototype.
2284 (build_big_number): Likewise.
2285 (apparent_fsize): Change type to HOST_WIDE_INT.
2286 (actual_fsize): Likewise.
2287 (frame_base_offset): Likewise.
2288 (build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
2289 Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
2290 [TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
2291 to load a 64-bit constant.
2292 (sparc_nonflat_function_prologue): Change string descriptor to
2293 HOST_WIDE_INT_PRINT_DEC. Change offset type to HOST_WIDE_INT.
2294 (output_restore_regs): Change offset type to HOST_WIDE_INT.
2295 (sparc_nonflat_function_epilogue): Change string descriptor to
2296 HOST_WIDE_INT_PRINT_DEC. Use build_big_number.
2297 (output_sibcall): Change size type to HOST_WIDE_INT. Use
2298 build_big_number. Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
2299 (sparc_frame_info): Change types for several components.
2300 (sparc_flat_compute_frame_size): Update types according to previous
2301 change.
2302 (sparc_flat_function_prologue): Change string descriptor to
2303 HOST_WIDE_INT_PRINT_DEC. Change offset type to int. Use
2304 build_big_number.
2305 (sparc_flat_function_epilogue): Change offset type to int.
2306 Rename 'size1' into 'reg_offset1'. Change string descriptor to
2307 HOST_WIDE_INT_PRINT_DEC. Use build_big_number. Change big number
2308 limit to 4096 instead of 4095.
2309
2310 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
2311 HOST_WIDE_INT.
2312
23132003-11-24 Waldek Hebisch <hebisch@math.uni.wroc.pl>
2314
2315 * function.c: Make outer_function-chain external.
2316 * function.h: Likewise.
2317
23182003-11-24 Richard Sandiford <rsandifo@redhat.com>
2319
2320 * config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
2321 using GNU ld.
2322 * config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
2323 whole of the previous STARTFILE_SPEC except crtbegin.o%s.
2324 (IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
2325 (STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
2326 (SUBTARGET_EXTRA_SPECS): Define.
2327 * config/mips/iris6gld.h (LINK_SPEC): Change -init function
2328 to __gcc_init and -fini function to __gcc_fini.
2329 (STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
2330 (ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
2331 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
2332 * config/mips/t-iris6gld,
2333 * config/mips/irix6-crti.asm,
2334 * config/mips/irix6-crtn.asm: New files.
2335
23362003-11-24 Eric Christopher <echristo@redhat.com>
2337
2338 PR C/13014
2339 * c-decl.c (c_in_iteration_stmt, c_in_case_stmt): New.
2340 (start_function): Use.
2341 (c_push_function_context): Ditto.
2342 (c-pop_function_context): Ditto.
2343 (language_function): Move...
2344 * c-tree.h: ... here. Add x_in_iteration_stmt, and
2345 x_in_case_stmt.
2346 * c-parse.in (do_stmt_start, select_or_iter_stmt, stmt): Use
2347 c_in_iteration_stmt, c_in_case_stmt for parser state. Move
2348 check for valid break or continue statment here...
2349 * c-semantics.c (genrtl_break_stmt, genrtl_continue_stmt): From
2350 here. Change original errors to abort.
2351
23522003-11-24 Jan Hubicka <jh@suse.cz>
2353
2354 * fold-const.c (fold): Do not return early when optimizing
2355 COMPONENT_REF and constant.
2356
23572003-11-24 Kazu Hirata <kazu@cs.umass.edu>
2358
2359 * config/h8300/h8300.md (tablejump_h8300): Change to
2360 *tablejump_h8300.
2361 (tablejump_h8300h): Change to *tablejump_h8300hs_advanced.
2362 (tablejump_normal_mode): Change to *tablejump_h8300hs_normal.
2363 (indirect_jump_h8300): Change to *indirect_jump_h8300.
2364 (indirect_jump_h8300h): Change to
2365 *indirect_jump_h8300hs_advanced.
2366 (indirect_jump_normal_mode): Change to
2367 *indirect_jump_h8300hs_normal.
2368
23692003-11-24 Kazu Hirata <kazu@cs.umass.edu>
2370
2371 * config/h8300/h8300.md: Remove constraints from expanders.
2372
23732003-11-24 Kazu Hirata <kazu@cs.umass.edu>
2374
2375 * config/h8300/h8300.md: (stm_h8300s_2): Change the name to
2376 stm_h8300s_2_advanced.
2377 (stm_h8300s_2_normal): New.
2378 (stm_h8300s_2): Likewise.
2379 (stm_h8300s_3): Change the name to stm_h8300s_3_advanced.
2380 (stm_h8300s_3_normal): New.
2381 (stm_h8300s_3): Likewise.
2382 (stm_h8300s_4): Change the name to stm_h8300s_4_advanced.
2383 (stm_h8300s_4_normal): New.
2384 (stm_h8300s_4): Likewise.
2385 (ldm_h8300s_2): Change the name to ldm_h8300s_2_advanced.
2386 (ldm_h8300s_2_normal): New.
2387 (ldm_h8300s_2): Likewise.
2388 (ldm_h8300s_3): Change the name to ldm_h8300s_3_advanced.
2389 (ldm_h8300s_3_normal): New.
2390 (ldm_h8300s_3): Likewise.
2391 (ldm_h8300s_4): Change the name to ldm_h8300s_4_advanced.
2392 (ldm_h8300s_4_normal): New.
2393 (ldm_h8300s_4): Likewise.
2394 (two peephole2's): Enable only with !TARGET_NORMAL_MODE.
2395 (two peephole2's): New.
2396
23972003-11-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2398
2399 * genattrtab.c (simplify_cond): Update indices correctly.
2400 (attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
2401 attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
2402 (check_attr_test, encode_units_mask, compute_alternative_mask,
2403 make_alternative_compare, simplify_and_tree,
2404 attr_rtx_cost, simplify_test_exp, gen_attr,
2405 write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
2406 * rtl.def (EQ_ATTR_ALT): New.
2407
24082003-11-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2409
2410 * genattrtab.c (strcmp_check, DEF_ATTR_STRING): New macros.
2411 (length_str, delay_type_str, delay_1_0_str, num_delay_slots_str):
2412 New variables.
2413 (main): Initialize them.
2414 (find_attr): Canonicalize the attribute name string.
2415 (attr_rtx_1, copy_boolean, expand_delays, gen_unit): Always canonicalize
2416 string arguments.
2417 (attr_printf, attr_eq): Use DEF_ATTR_STRING.
2418 (check_attr_test, check_attr_value, make_length_attrs,
2419 write_length_unit_log, simplify_by_exploding, gen_attr,
2420 write_test_expr, write_attr_value, write_eligible_delay,
2421 write_complex_function, make_internal_attr,
2422 write_const_num_delay_slots): Changed due to change of type of
2423 find_attr.
2424 (fill_attr, evaluate_eq_attr, simplify_and_tree,
2425 attr_rtx_cost, simplify_by_exploding, walk_attr_value): Use
2426 strcmp_check.
2427
24282003-11-23 Kazu Hirata <kazu@cs.umass.edu>
2429
2430 PR target/13122
2431 * config/h8300/h8300.c (push): Call push_h8300hs_normal in
2432 normal mode.
2433 (pop): Call pop_h8300hs_normal in normal mode.
2434 * config/h8300/h8300.md: Likewise.
2435 (pushqi1_h8300hs_normal): New.
2436 (pushqi1): Call pushqi1_h8300hs_normal in normal mode.
2437 (pushhi1_h8300hs_normal): New.
2438 (pushhi1): Call pushhi1_h8300hs_normal in normal mode.
2439 (push_h8300hs_normal): New.
2440 (pop_h8300hs_normal): Likewise.
2441
24422003-11-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2443
2444 * genattrtab.c (count_sub_rtxs): Removed.
2445
24462003-11-23 Richard Earnshaw <rearnsha@arm.com>
2447
2448 * recog.c (preprocess_constraints): Only zero those elements of
2449 recog_op_alt that are needed for this insn.
2450 * arm.c (note_invalid_constants): A function can't contain invalid
2451 constants if it has no constraints.
2452
24532003-11-22 Jan Hubicka <jh@suse.cz>
2454
2455 * i386.c (classify_argument): Pass __float128 in memory.
2456 (ix86_return_in_memory): Likewise.
2457 (ix86_libcall_value): Likewsie.
2458
24592003-11-22 Kazu Hirata <kazu@cs.umass.edu>
2460
2461 * config/h8300/h8300.c (dosize): Convert to ISO-C.
2462
24632003-11-22 J"orn Rennecke <joern.rennecke@superh.com>
2464
2465 * flow.c (update_life_info): Amend comment about when a register
2466 can become dead.
2467
24682003-11-21 Kelley Cook <kcook@gcc.gnu.org>
2469
2470 * doc/.cvsignore: Delete.
2471
24722003-11-21 Daniel Berlin <dberlin@dberlin.org>
2473 David Edelsohn <edelsohn@gnu.org>
2474
2475 * dwarf2out.c (add_location_or_const_value_attribute): Add support
2476 for PARALLEL.
2477
24782003-11-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2479
2480 * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS): Add -Wno-error.
2481 (TARGET_LIBGCC2_CFLAGS): Define.
2482
2483 * crtstuff.c [HAS_INIT_SECTION] (__do_global_dtors): Declare.
2484 (__do_global_ctors): Likewise.
2485
24862003-11-21 Mark Wielaard <mark@klomp.org>
2487
2488 * doc/invoke.texi (-O2): Doesn't enable -fweb.
2489
24902003-11-21 Kazu Hirata <kazu@cs.umass.edu>
2491
2492 * doc/invoke.texi: Mention dV and dZ.
2493
24942003-11-21 Kazu Hirata <kazu@cs.umass.edu>
2495
2496 * doc/invoke.texi: Update dump file names.
2497 Remove de, dW, and dX.
2498
24992003-11-20 James E Wilson <wilson@specifixinc.com>
2500
2501 PR c/13133
2502 * reload1.c (reload): Delete special handling for setjmp.
2503
25042003-11-21 Andreas Tobler <a.tobler@schweiz.ch>
2505
2506 * mklibgcc.in: Evaluate shlib_slibdir_qual during link
2507 step too.
2508 * config/t-slibgcc-darwin: Adjust install path.
2509 * config/rs6000/t-darwin: Revert multilib matches since
2510 it is not used on darwin.
2511
25122003-11-20 Richard Henderson <rth@redhat.com>
2513
2514 * ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
2515 * Makefile.in (OBJS-common, GTFILES): Don't reference them.
2516 (gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
2517 (ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
2518 * flow.c: Don't include ssa.h.
2519 (set_phi_alternative_reg): Remove.
2520 (calculate_global_regs_live): Don't call it.
2521 (mark_used_regs): Don't handle PHI.
2522 * gengtype.c (open_base_files): Don't reference ssa.h.
2523 * rtl.def (PHI): Remove.
2524 * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
2525 * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
2526 * opts.c (common_handle_option): Likewise.
2527 * toplev.c (f_options): Likewise.
2528 (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
2529 (dump_file): Update to match.
2530 (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
2531 (rest_of_handle_ssa): Remove.
2532 (rest_of_compilation): Don't call it.
2533 * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
2534 * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
2535 * doc/passes.texi (SSA optimizations): Remove.
2536
25372003-11-20 Bob Wilson <bob.wilson@acm.org>
2538
2539 * configure.in: Add xtensa-*-* targets to test for dwarf2 debug_line.
2540 * configure: Regenerate.
2541
25422003-11-20 Kelley Cook <kcook@gcc.gnu.org>
2543
2544 * Makefile.in (Makefile): Pass along CONFIG_SHELL.
2545
25462003-11-20 David Mosberger <davidm@hpl.hp.com>
2547
2548 * config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
2549 (SHLIB_LC): Define.
2550 * unwind-libunwind.c (_Unwind_GetCFA): Implement.
2551 (_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
2552
25532003-11-20 Fariborz Jahanian <fjahanian@apple.com>
2554 David Edelsohn <edelsohn@gnu.org>
2555
2556 * calls.c (expand_call): Allocate new temp in pass1.
2557 (store_one_arg): If PARALLEL, calculate excess using mode size of
2558 rtvec elt.
2559 * expr.c (emit_push_insn): If PARALLEL, calculate offset using
2560 mode size of rtvec elt.
2561 * function.c (assign_parms): Use parm in register, if available.
2562
25632003-11-20 Kazu Hirata <kazu@cs.umass.edu>
2564
2565 * config/h8300/lib1funcs.asm (MOVP): Remove.
2566 (ADDP): Likewise.
2567 (CMPP): Likewise.
2568
25692003-11-20 Richard Earnshaw <rearnsha@arm.com>
2570
2571 * arm.c (use_return_insn): New argument, SIBLING. Support returning
2572 with a single instruction if the stack has been decremented by 4
2573 and we have a frame pointer. Update all callers.
2574 (output_return_instruction): Likewise.
2575 (arm_output_epilogue): Change argument to SIBLING. Calculate
2576 really_return from the new argument. Update all callers.
2577 * arm.h (USE_RETURN_INSN): Pass NULL for the sibling.
2578 * arm.md (sibcall_epilogue): Call use_return_insn directly, and
2579 pass the sibling call.
2580 * arm-protos.h (use_return_insn, arm_output_epilogue): Update
2581 prototypes.
2582
25832003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
2584
2585 * Makefile.in (extraclean): Delete.
2586 * configure.in (target_list): Remove extraclean.
2587 * configure: Regenerate.
2588 * doc/makefile.texi, doc/sourcebuild.texi: Update.
2589 * objc/Make-lang.in (objc.extraclean): Delete.
2590
25912003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
2592
2593 * Makefile.in (lang_checks): Add.
2594 (check-c++, check-f77, check-java, check-g++, check-g77,
2595 check-objc): Remove hardcoded targets.
2596 * doc/sourcebuild.texi: Document testsuite hooks.
2597 * objc/Make-lang.in (check-objc, lang_checks): Add.
2598
25992003-11-19 Scott Snyder <snyder@fnal.gov>
2600
2601 PR target/13131
2602 * dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
2603 flag, not a constant.
2604
26052003-11-19 Kelley Cook <kcook@gcc.gnu.org>
2606
2607 * config/arc/arc-protos.h: Update to C90 prototypes.
2608 * config/arc/arc.c: Likewise.
2609 * config/arc/initfini.c: Likewise.
2610
26112003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
2612
2613 * stmt.c (expand_goto): Memory clobbers added.
2614
26152003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
2616
2617 * reload.c (find_reloads): Added missing type casts.
2618
26192003-11-19 James E Wilson <wilson@specifixinc.com>
2620
2621 * combine.c (sets_function_arg_p): Delete unused function.
2622
26232003-11-19 Eric Christopher <echristo@redhat.com>
2624
2625 * reload1.c (reload): Revert 2 previous checkins.
2626
26272003-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
2628
2629 * cpptrad.c (_cpp_scan_out_logical_line): Improve test for
2630 whether directive begins at the beginning of a line.
2631
26322003-11-19 Richard Sandiford <rsandifo@redhat.com>
2633
2634 * config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
2635
26362003-11-19 Gerald Pfeifer <gp@suse.de>
2637
2638 * doc/install.texi (Specific): Remove information on old versions
2639 of glibc versus old versions of GCC.
2640
26412003-11-19 Richard SAndiford <rsandifo@redhat.com>
2642
2643 * emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
2644 the register lowpart is a TRULY_NOOP_TRUNCATION.
2645
26462003-11-19 Richard Henderson <rth@redhat.com>
2647
2648 * config/i386/i386.c (print_reg): Handle QI and HI modes for
2649 non Q regs.
2650
26512003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
2652
2653 * config/config.gcc (powerpc-*-darwin*): Add libgcc build
2654 specification file.
2655 * config/t-slibgcc-darwin: New file, libgcc build specification.
2656 * config/t-darwin: Add libgcc2 flag -fPIC.
2657 * config/rs6000/t-darwin: Multilib matches float.
2658 * libgcc-darwin.ver: New file, contains libgcc symbols.
2659
26602003-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
2661
2662 * config/ns32k/ns32k.h: Remove obsolete comment.
2663
26642003-11-18 Roger Sayle <roger@eyesopen.com>
2665
2666 PR middle-end/11821
2667 * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
2668 size for calls to libgcc's div & mod subroutines when using -Os.
2669
26702003-11-18 Jan Hubicka <jh@suse.cz>
2671
2672 * cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
2673
26742003-11-18 Marc Espie <espie@openbsd.org>
2675
2676 * config/rs6000/sysv4.h: OpenBSD hooks.
2677
26782003-11-18 Richard Henderson <rth@redhat.com>
2679
2680 * expr.c (expand_expr): Don't look through constant arrays if
2681 they don't bind locally.
2682
26832003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2684
2685 * expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
2686 when seeing if truncation or extension.
2687
26882003-11-17 Eric Christopher <echristo@redhat.com>
2689
2690 * reload1.c (reload): Fix previous change.
2691
26922003-11-17 Scott Snyder <snyder@fnal.gov>
2693
2694 PR debug/11325
2695 * dwarf2out.c (struct die_struct): Add die_definition field.
2696 (add_AT_specification): New.
2697 (gen_subprogram_die, gen_variable_die,
2698 gen_struct_or_union_type_die): Use it.
2699 (prune_unused_types_mark): If we're marking a forward declaration,
2700 also mark the full definition, if it exists.
2701
27022003-11-16 Nick Clifton <nickc@redhat.com>
2703
2704 * config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
2705 * config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
2706 Remove prototype.
2707 * config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
2708 to xstormy16_build_builtin_va_list and make static.
2709 (TARGET_BUILD_BUILTIN_VA_LIST): Define.
2710
27112003-11-16 Kazu Hirata <kazu@cs.umass.edu>
2712
2713 * config/h8300/h8300-protos.h: Add the prototype for
2714 same_cmp_following_p.
2715 * config/h8300/h8300.c (same_cmp_following_p): New.
2716 * config/h8300/h8300.md (peephole2): Use it.
2717
27182003-11-16 Kazu Hirata <kazu@cs.umass.edu>
2719
2720 * config/h8300/h8300.md: Don't use REGNO when its operand is
2721 not guaranteed to be a REG.
2722
27232003-11-16 Richard Sandiford <rsandifo@redhat.com>
2724
2725 * Makefile.in (expr.o): Depend on $(TARGET_H).
2726 * target.h (return_in_msb): New target hook.
2727 * target-def.h (TARGET_RETURN_IN_MSB): New macro.
2728 (TARGET_CALLS): Include it.
2729 * calls.c (shift_returned_value): New function.
2730 (expand_call): Use it.
2731 * expr.c: Include target.h.
2732 (copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
2733 deciding what padding is needed. Change the name of the local
2734 padding variable from big_endian_correction to padding_correction.
2735 * stmt.c (shift_return_value): New function.
2736 (expand_return): Use it. Adjust memory->register copy in the same
2737 way as copy_blkmode_from_reg. Only change the return register's
2738 mode if it was originally BLKmode.
2739 * doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
2740 * config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
2741 (mips_fpr_return_fields): New, split out from mips_function_value.
2742 (mips_return_in_msb, mips_return_fpr_pair): New functions.
2743 (mips_function_value): Rework to use the functions above.
2744 * config/mips/irix6-libc-compat.c: Delete.
2745 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
2746
27472003-11-16 Kazu Hirata <kazu@cs.umass.edu>
2748
2749 * doc/install.texi (--enable-checking): Update valgrind's URL.
2750
27512003-11-16 Kazu Hirata <kazu@cs.umass.edu>
2752
2753 * config/h8300/h8300.md: Fix warnings by replacing -2147483648
2754 with -2147483647 - 1.
2755
27562003-11-16 Gerald Pfeifer <gerald@pfeifer.com>
2757
2758 Fix links in online manuals.
2759 * doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
2760 (Precompiled Headers): @pxref to cpp, not cpp.info.
2761
27622003-11-16 Jason Merrill <jason@redhat.com>
2763
2764 * Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
2765 files in each directory and TAGS files that include them for each
2766 front end.
2767
27682003-11-15 Kazu Hirata <kazu@cs.umass.edu>
2769
2770 * config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
2771 3 of S2L.
2772 (modnorm): Likewise.
2773 (exitdiv): Look at bit 3 of S2L only.
2774
27752003-11-15 Kazu Hirata <kazu@cs.umass.edu>
2776
2777 * config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
2778 (DO_GLOBAL_DTORS_BODY): Likewise.
2779
27802003-11-15 Joseph S. Myers <jsm@polyomino.org.uk>
2781
2782 * doc/install.texi (Prerequisites): Refine documentation of
2783 autoconf, automake and perl requirements. Document required
2784 gettext version.
2785
2786<2003-11-14 Jason Merrill <jason@redhat.com>
2787
2788 * function.c (assign_parms): Use TREE_TYPE to determine the real
2789 type of the argument object.
2790
27912003-11-14 Kazu Hirata <kazu@cs.umass.edu>
2792
2793 * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
2794 iteration.
2795
27962003-11-14 Fariborz Jahanian <fjahanian@apple.com>
2797
2798 * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
2799 New routine to save vararg registers on stack. Support for
2800 -mpowerpc64 in mixed mode.
2801
28022003-11-14 Bernardo Innocenti <bernie@develer.com>
2803
2804 * config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
2805 for MOTOROLA versus MIT syntax. Improves readability and provides
2806 better compile-time error checking for both code paths.
2807
28082003-11-14 Kelley Cook <kcook@gcc.gnu.org>
2809
2810 * config/frv/frv-protos.h: Update for C90.
2811 * config/frv/frv.h: Likewise.
2812 * config/frv/frvbegin.c: Likewise.
2813 * config/frv/frv.c: Likewise.
2814 (frv_adjust_field_align): Delete unused variable.
2815
28162003-11-14 Geoffrey Keating <geoffk@apple.com>
2817
2818 * config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
2819 to each place where TARGET_LONG_DOUBLE_128 is used with
2820 DEFAULT_ABI == ABI_AIX.
2821
2822 * cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
2823 message comply with GNU standards.
2824
28252003-11-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2826
2827 PR/6552
2828 * function.c (struct epi_info): New field const_equiv.
2829 (update_epilogue_consts): New function.
2830 (keep_stack_depressed): Clear new field and verify scratch register
2831 doesn't have it set.
2832 Call new function via note_stores.
2833 (handle_epilogue_set): Allow setting SP equiv reg in different mode.
2834 Allow PLUS where second operand is register known set to constant.
2835 (emit_equiv_load): Write load using proper mode if source different.
2836 * config/mips/mips.md (return_internal): Put (return) first.
2837
28382003-11-14 Kazu Hirata <kazu@cs.umass.edu>
2839
2840 * config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
2841
28422003-11-14 Kazu Hirata <kazu@cs.umass.edu>
2843
2844 * config/h8300/lib1funcs.asm (modsi3): Don't save unused
2845 registers.
2846 (divsi3): Likewise.
2847 (reti): Don't restore unused registers.
2848
28492003-11-14 Nick Clifton <nickc@redhat.com>
2850
2851 * config/fr30/fr30.c: Include toplev.h
2852
28532003-11-14 Richard Earnshaw <rearnsha@arm.com>
2854
2855 * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
2856
28572003-11-14 Richard Earnshaw <rearnsha@arm.com>
2858
2859 * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
2860 function definition syntax.
2861
28622003-11-14 Eric Christopher <echristo@redhat.com>
2863
2864 * reload1.c (reload): Revert previous patch. Make
2865 check for assignment into reg_equiv_address stricter.
2866
28672003-11-14 Arnaud Charlet <charlet@act-europe.fr>
2868
2869 * Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
2870
28712003-11-14 Richard Sandiford <rsandifo@redhat.com>
2872
2873 * config/frv/frv.c (frv_in_small_data_p): Return false for unknown
2874 section names.
2875
28762003-11-14 Jason Merrill <jason@redhat.com>
2877
2878 PR middle-end/12526
2879 * tree.c (build): A CALL_EXPR has side-effects if its arguments do.
2880 * calls.c (call_expr_flags): New fn.
2881 * tree.h: Declare it.
2882
28832003-11-13 Kazu Hirata <kazu@cs.umass.edu>
2884
2885 * config/h8300/lib1funcs.asm (__udivsi3): Remove.
2886 (divmodsi3): Change the name to ___udivsi3.
2887 Update all callers.
2888
28892003-11-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2890
2891 * libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
2892 __mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
2893 __ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
2894 __udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
2895 __fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
2896 __floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
2897 Const-ify and/or initialize automatic variables at declaration.
2898
28992003-11-13 Kazu Hirata <kazu@cs.umass.edu>
2900
2901 * config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
2902 of er4 with er3. Adjust all callers.
2903
29042003-11-13 Andrew Pinski <apinski@apple.com>
2905
2906 * config/darwin.c (machopic_output_possible_stub_label):
2907 Allow stub symbol be not defined when outputting possible
2908 stub label.
2909
29102003-11-13 Kazu Hirata <kazu@cs.umass.edu>
2911
2912 * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
2913 instead of exitdiv.
2914 (___umodsi3): Likewise.
2915 (exitdiv): Do not restore any register.
2916 (reti): Restore registers.
2917
29182003-11-13 Steven Bosscher <stevenb@suse.de>
2919
2920 * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
2921
29222003-11-13 Kazu Hirata <kazu@cs.umass.edu>
2923
2924 * config/h8300/lib1funcs.asm: Fix comment typos.
2925
29262003-11-13 Kazu Hirata <kazu@cs.umass.edu>
2927
2928 * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
2929 unused registers. Don't jump to exitdiv.
2930 (umodsi3): Likewise.
2931
29322003-11-13 Mark Mitchell <mark@codesourcery.com>
2933 Kean Johnston <jkj@sco.com>
2934
2935 PR c/13029
2936 * toplev.c (check_global_declarations): Do not warn about unused
2937 static consts.
2938
29392003-11-13 Pavel Pisa <pisa@cmp.felk.cvut.cz>
2940 Kazu Hirata <kazu@cs.umass.edu>
2941
2942 * config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
2943 the approximate quotient method.
2944
29452003-11-13 Richard Earnshaw <rearnsha@arm.com>
2946
2947 * combine.c (distribute_notes): When re-distributing the notes from
2948 an insn we are about to delete, ensure we can't end up with a cyclic
2949 list of notes.
2950
29512003-11-13 Eric Botcazou <ebotcazou@libertysurf.fr>
2952
2953 PR optimization/12926
2954 * expr.c (expand_assignment) [COMPONENT_REF]: Don't put
2955 the UNCHANGING_RTX_P flag on memory references to read-only
2956 components that are not addressable.
2957
29582003-11-12 Kazu Hirata <kazu@cs.umass.edu>
2959
2960 * config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
2961 DenHighNonZero.
2962
29632003-11-13 Jan Hubicka <jh@suse.cz>
2964
2965 PR opt/12275
2966 * c-decl.c (finish_decl): Use change_decl_assembler_name.
2967 * c-pragma.c (handle_pragma_redefine_extname): Likewise.
2968 * varasm.c (make_decl_rtl): Likewise.
2969 * cgraph.c (change_decl_assembler_name): New function.
2970 * tree.h (set_decl_assembler_name): Kill dead declaration.
2971 (change_decl_assembler_name): Declare.
2972
2973 * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
2974 * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
2975
29762003-11-12 Kazu Hirata <kazu@cs.umass.edu>
2977
2978 * config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
2979 an unused register.
2980
29812003-11-12 Richard Sandiford <rsandifo@redhat.com>
2982
2983 PR bootstrap/12752
2984 * config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
2985 (MULTILIB_OSDIRNAMES): Reorder accordingly.
2986
29872003-11-12 Janis Johnson <janis187@us.ibm.com>
2988
2989 * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
2990 (rs6000_stack_info): Remove. (debug_stack_info): Remove.
2991 (rs6000_emit_eh_reg_restore): Add
2992 * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
2993 of vars_size and total_size to HOST_WIDE_INT.
2994 (emit_frame_save): Change parameter size to HOST_WIDE_INT.
2995 (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
2996 (debug_stack_info): Make static; change output format of HOST_WIDE_INT
2997 values.
2998 (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
2999 (rs6000_initial_elimination_offset): New, with code formerly in
3000 INITIAL_ELIMINATION_OFFSET.
3001 * rs6000.h (rs6000_stack_t): Remove.
3002 (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
3003 rs6000_initial_elimination_offset.
3004 * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
3005 rs6000_emit_eh_reg_restore.
3006
30072003-11-12 Mike Stump <mrs@apple.com>
3008
3009 * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
3010 is the argumnt we are processing so that warnings and errors
3011 will have that information.
3012 * c-tree.h (c_convert_parm_for_inlining): Add argnum.
3013 * lang-hooks-def.h
3014 (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
3015 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
3016 * langhooks.h (convert_parm_for_inlining): Likewise.
3017 * tree-inline.c (initialize_inlined_parameters): Compute and
3018 pass argnum down.
3019
30202003-11-12 Alexey Starovoytov <alexey.starovoytov@sun.com>
3021 Roger Sayle <roger@eyesopen.com>
3022
3023 PR optimization/12953
3024 * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
3025 before switch by FUNCTION_CODE.
3026
30272003-11-12 Richard Earnshaw <rearnsha@arm.com>
3028
3029 * arm.md (storehi): Avoid use of explicit subreg.
3030 (storehi_bigend, storeinthi, movhi_bigend): Likewise.
3031
30322003-11-12 J"orn Rennecke <joern.rennecke@superh.com>
3033
3034 * config/sh/sh.md (prefetch): New pattern.
3035
30362003-11-11 Eric Christopher <echristo@redhat.com>
3037
3038 * reload1.c (reload): Verify that addresses for
3039 reg_equiv_* are valid for the architecture.
3040
30412003-11-11 Eric Christopher <echristo@redhat.com>
3042
3043 * function.c (purge_addressof_1): Add libcall check.
3044 Remove test for cached replacements on fallback case.
3045 Simplify mode comparisons. Add libcall test for
3046 paradoxical subregs.
3047
30482003-11-11 Kazu Hirata <kazu@cs.umass.edu>
3049
3050 * config/h8300/t-h8300: Fix an obsolete comment.
3051
30522003-11-11 James E Wilson <wilson@specifixinc.com>
3053
3054 * expmed.c (store_bit_field, extract_bit_field): Revert last two
3055 changes.
3056
30572003-11-11 Kazu Hirata <kazu@cs.umass.edu>
3058
3059 * config/h8300/lib1funcs.asm: Replace DenHighZero with
3060 DenHighNonZero.
3061
30622003-11-11 Jan Hubicka <jh@suse.cz>
3063
3064 * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
3065 really_no_inline.
3066
30672003-11-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3068
3069 * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
3070 generating 64-bit code.
3071
30722003-11-10 David Edelsohn <edelsohn@gnu.org>
3073
3074 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
3075 accidental commit in previous change.
3076
30772003-11-10 Fariborz Jahanian <fjahanian@apple.com>
3078
3079 * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
3080 * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
3081 address recognition.
3082 (macho_lo_sum_memory_operand): Routine to recognize macho-style
3083 address recognition.
3084
30852003-11-10 Richard Henderson <rth@redhat.com>
3086
3087 * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
3088
30892003-11-10 Matt Austern <austern@apple.com>
3090
3091 * config/darwin-protos.h (darwin_assemble_visibility): Declare.
3092 * config/darwin.c (darwin_assemble_visibility): Define. Warn for
3093 anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
3094 * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
3095 darwin_assemble_visibility instead of default.
3096
30972003-11-10 Waldek Hebisch <hebisch@math.uni.wroc.pl>
3098
3099 PR target/12865
3100 * config/sparc/sparc.c (sparc_initialize_trampoline): Call
3101 __enable_execute_stack only after writing onto the stack.
3102 (sparc64_initialize_trampoline): Likewise.
3103
31042003-11-09 Roger Sayle <roger@eyesopen.com>
3105
3106 * loop.c (check_dbra_loop): Try swapping the comparison operands
3107 of the loop condition to identify a suitable induction variable.
3108 * unroll.c (loop_iterations): Likewise.
3109
31102003-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3111
3112 * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
3113 sparc64 #cpu and #machine assertions.
3114
31152003-11-09 Richard Henderson <rth@redhat.com>
3116
3117 * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
3118
31192003-11-09 Jan Hubicka <jh@suse.cz>
3120
3121 * tree-optimize.c (tree_rest_of_compilation): Fix warning.
3122
3123 * cgraphunit.c (cgraph_expand_function): Use
3124 cgraph_possibly_inlined_p.
3125 * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
3126
3127 * opts.c (common_handle_option): Do not set max-inline-insns.
3128 * params.def: Update comments.
3129 (PARAM_MAX_INLINE_INSNS): Kill.
3130 * invoke.texi (max-inline-insns): Kill.
3131
31322003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
3133
3134 PR c/3190
3135 PR c/8714
3136 * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
3137 * invoke.texi: Update.
3138
31392003-11-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3140
3141 PR optimization/12630
3142 * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
3143 Handle length computation 64-bit moves.
3144 (compute_clrstr_length, output_block_clear): Implement block clear.
3145 (output_block_move): Handle 64-bit moves.
3146 (pa_adjust_insn_length): Use compute_movstr_length and
3147 compute_clrstr_length.
3148 * pa.md (movstrsi): Revise operand order and comments. Don't use
3149 match_scratch.
3150 (movstrsi_internal): Delete.
3151 (movstrsi_prereload, movstrsi_postreload): New insns. Define splitter
3152 and peephole2 patterns to transform prereload to postreload form.
3153 (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
3154 clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
3155 clrstrdi_postreload): New patterns for 64-bit block move, and block
3156 clear.
3157 * pa-protos.h (output_block_clear): New prototype.
3158
31592003-11-08 Andreas Schwab <schwab@suse.de>
3160
3161 * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
3162 XCOFF_DEBUGGING_INFO.
3163
31642003-11-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3165
3166 * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
3167
31682003-11-07 Geoffrey Keating <geoffk@apple.com>
3169
3170 * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
3171 redundant parens.
3172
3173 * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
3174 (find_file_in_dir): Likewise.
3175 (_cpp_find_file): Print message if no header file is found
3176 but an invalid PCH file was.
3177
31782003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
3179
3180 * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
3181 expressions as lvalues.
3182 (internal_build_compound_expr): Remove special handling for
3183 non-pedantic case.
3184 * doc/extend.texi: Document that all extended lvalues are now
3185 deprecated.
3186
31872003-11-07 Geoffrey Keating <geoffk@apple.com>
3188
3189 PR 11654
3190 * dbxout.c (struct dbx_file): Do not save for PCH.
3191 (current_file): Likewise.
3192 (dbxout_init): Don't allocate struct dbx_file using GC.
3193 (dbxout_start_source_file): Likewise.
3194
31952003-11-07 Falk Hueffner <falk@debian.org>
3196
3197 * config/alpha/elf.h, config/alpha/unicosmk.h,
3198 config/alpha/vms.h: Convert to ISO C90.
3199
32002003-11-07 Nathanael Nerode <neroden@gcc.gnu.org>
3201
3202 * config/arm/pe.h: Convert to ISO C90.
3203
32042003-11-07 J"orn Rennecke <joern.rennecke@superh.com>
3205
3206 * sh-protos.h (sh_pch_valid_p): Declare.
3207 * sh.c ("intl.h"): Include.
3208 (TARGET_PCH_VALID_P): Override.
3209 (sh_target_switches): New variable.
3210 (target_switches): Define.
3211 (sh_pch_valid_p): New function.
3212
3213 * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
3214
32152003-11-07 Jan Hubicka <jh@suse.cz>
3216
3217 * i386.c (x86_64_sign_extended_value): Return false from tls variables.
3218 (x86_64_zero_extended_value): likewise.
3219
32202003-11-07 Richard Sandiford <rsandifo@redhat.com>
3221
3222 * config/mips/mips.md (loadgp): Take $25 as a second operand.
3223 * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
3224
32252003-11-06 Matt Austern <austern@apple.com>
3226
3227 * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
3228 field instead of hanging an attribute object off the decl.
3229 * tree.h (DECL_VISIBLITY): New accessor macro for
3230 symbol_visibility field in struct tree_decl.
3231 (enum symbol_visibility): Move definition to before tree_decl.
3232 (struct tree_decl): Define new two-bit field, symbol_visibility.
3233 (decl_visibility): Remove declaration.
3234 * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
3235 instead of decl_visibility.
3236 (default_binds_local_p_1): Use DECL_VISIBILITY instead of
3237 decl_visibility.
3238 (decl_visibility): Remove.
3239
32402003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
3241
3242 * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
3243 where register 14 will be saved.
3244
32452003-11-06 Geoffrey Keating <geoffk@apple.com>
3246
3247 * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
3248 (USE_ALTIVEC_FOR_ARG_P): Likewise.
3249 * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
3250 Take a pointer as the CUM parameter. Update callers.
3251 (USE_ALTIVEC_FOR_ARG_P): Likewise. Also correct for Darwin/AIX
3252 32-bit ABIs.
3253 (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P. Correct case
3254 of vector parameters as named arguments of stdarg function.
3255 (function_arg): Likewise.
3256
3257 * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
3258 -maltivec is specified, not the non-existent -faltivec.
3259
32602003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
3261
3262 * config/s390/s390-protos.h (s390_function_value): Declare.
3263 * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
3264 (s390_return_in_memory): New function.
3265 (s390_function_value): New function.
3266 (s390_function_arg_float): Return false for all arguments larger
3267 than 8 bytes.
3268 (s390_function_arg_pass_by_reference): Likewise. Return true for
3269 all vector arguments.
3270 (s390_function_arg_integer): New function.
3271 (s390_function_arg_advance): Call it. Add sanity checks.
3272 (s390_function_arg): Likewise.
3273 * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
3274 (LIBCALL_VALUE): Likewise.
3275 (RET_REG): Remove.
3276 (RETURN_IN_MEMORY): Remove.
3277
32782003-11-06 Richard Sandiford <rsandifo@redhat.com>
3279
3280 * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
3281 return type to HOST_WIDE_INT.
3282 * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
3283 Make initialized a bool. Make register masks unsigned ints.
3284 (compute_frame_size): Make same mask change here. Use HOST_WIDE_INT
3285 where appropriate.
3286 (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
3287 (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
3288
32892003-11-06 Richard Sandiford <rsandifo@redhat.com>
3290
3291 * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
3292 negation.
3293
32942003-11-06 Richard Sandiford <rsandifo@redhat.com>
3295
3296 * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
3297
32982003-11-06 Momchil Velikov <velco@fadata.bg>
3299
3300 * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
3301 for VR4111 too.
3302
33032003-11-06 Jan Hubicka <jh@suse.cz>
3304
3305 * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
3306 missing casts.
3307
33082003-11-06 Zack Weinberg <zack@codesourcery.com>
3309
3310 * genmodes.c: Change the word "bitsize" to "precision" throughout.
3311 * machmode.def: Likewise.
3312 * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
3313 (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
3314 (GET_MODE_PRECISION): New macro.
3315 (mode_bitsize): Renamed mode_precision.
3316 * stor-layout.c (mode_for_size, smallest_mode_for_size):
3317 Use GET_MODE_PRECISION; clarify comments.
3318
33192003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
3320
3321 * doc/install-old.texi: Remove old documentation of building
3322 cross-compilers.
3323 * doc/install.texi: Move some of it to here.
3324
33252003-11-05 Per Bothner <pbothner@apple.com>
3326
3327 PR preprocessor/12891
3328 * c-opts.c (finish_options): Set include_cursor to disable premature
3329 calls to push_command_line_include from cpp_scan_nooutput.
3330 Fixes bug reported by DJ Delorie.
3331
33322003-11-05 Geoffrey Keating <geoffk@apple.com>
3333
3334 * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
3335 code supporting old-style varargs.
3336
3337 * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
3338 an intermediate register for better optimisation.
3339
33402003-11-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3341
3342 PR optimization/10080
3343 * cfgloopanal.c (variable_initial_value, variable_initial_values,
3344 simple_loop_exit_p): Record the fact that initial value is extended
3345 from inner mode.
3346 (count_strange_loop_iterations, count_loop_iterations): Handle
3347 ivs that iterate in a narrower mode. Fix handling of overflows.
3348 Improve handling of NE conditions.
3349 (inverse, fits_in_mode_p): New static functions.
3350 (simple_increment): Detect variables that iterate in a narrower mode.
3351 * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
3352
33532003-11-05 Geoffrey Keating <geoffk@apple.com>
3354
3355 * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
3356 error.
3357
3358 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
3359 needs VRSAVE.
3360
33612003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
3362
3363 * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
3364 conditional expressions as lvalues.
3365
33662003-11-05 Kazu Hirata <kazu@cs.umass.edu>
3367
3368 * tsystem.h: Add the prototype of strlen.
3369 * unwind-pe.h (read_encoded_value_with_base): Add an
3370 appropriate cast to handle a case where the pointer size is
3371 smaller than sizeof (int).
3372
33732003-11-04 Richard Sandiford <rsandifo@redhat.com>
3374
3375 * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
3376 (mips_delegitimize_address): Delete.
3377 (mips_gotoff_global, mips_load_got_page): Declare.
3378 (mips_load_got_global, mips_rewrite_small_data): Declare.
3379
3380 * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
3381 (DANGEROUS_FOR_LA25_P): Use global_got_operand.
3382 (PREDICATE_CODES): Add global_got_operand, local_got_operand and
3383 small_data_pattern. Remove CONST from const_arith_operand's entry.
3384
3385 * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
3386 (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
3387 (mips_constant_type): Delete.
3388 (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
3389 SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
3390 (NUM_SYMBOL_TYPES): New macro.
3391 (mips_address_type): Remove ADDRESS_INVALID.
3392 (machine_function): Add has_gp_insn_p.
3393 (mips_constant_info): Delete.
3394 (mips_address_info): Add the address type as an extra field. Replace
3395 the c field with symbol_type.
3396 (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
3397 (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
3398 (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
3399 (mips_split_const, mips_symbolic_constant_p): New functions.
3400 (mips_symbolic_address_p): Take the symbol type and mode as arguments.
3401 (mips_classify_address): Return true if the address is valid, storing
3402 its type in INFO. Use mips_symbolic_constant_p. Use mips_lo_relocs[]
3403 to test whether a LO_SUM address is allowed.
3404 (mips_symbol_insns): Return 0 for general mips16 symbols.
3405 Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
3406 Handle the new SYMBOL_GOTOFF_*s.
3407 (mips_address_insns): Update call to mips_classify_address.
3408 (mips_const_insns): Be more fussy about HIGH constants. Remove use
3409 of mips_classify_constant. Be more accurate about CONSTs.
3410 (mips_global_pic_constant_p): Delete.
3411 (const_arith_operand): Only accept CONST_INTs.
3412 (call_insn_operand): Remove call to mips_classify_constant.
3413 Let mips_symbolic_constant_p check for invalid offsets.
3414 (move_operand): Check for general_operands first. Only accept symbolic
3415 constants if they satisfy mips_symbolic_constant_p and cannot be split.
3416 (symbolic_constant): Use mips_symbolic_constant_p.
3417 (global_got_operand, local_got_operand): New predicates.
3418 (stack_operand): Update call to mips_classify_address.
3419 (mips_legitimate_address_p): Likewise.
3420 (mips_reloc, mips_lui_reloc): Delete.
3421 (mips_force_temporary): Only use the given temporary if no_new_pseudos.
3422 Use emit_move_insn.
3423 (mips_split_symbol, mips_unspec_address): New functions.
3424 (mips_unspec_offset_high): New function.
3425 (mips_load_got): Replace reloc argument with a symbol_type.
3426 Use mips_unspec_address to create the address and put it in a
3427 LO_SUM with the base register.
3428 (mips_load_got16, mips_load_got32): Delete.
3429 (mips_emit_high, mips_legitimize_symbol): Delete.
3430 (mips_gotoff_global): New function.
3431 (mips_load_got_page, mips_load_got_global): New functions.
3432 (mips_legitimize_symbol): Inline handling of LO_SUM splits.
3433 (mips_legitimize_const_move): Likewise. Remove HIGH handling.
3434 Inline code to handle constants plus invalid offsets. Use
3435 mips_split_symbol to legitimize constant pool addresses.
3436 (mips_delegitimize_address): Delete.
3437 (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
3438 a cost of 1 insn. Give the rest a cost of CONSTANT_POOL_ADDRESS.
3439 (mips_subword): Pass memrefs through mips_rewrite_small_data.
3440 (mips_output_move): Remove use of mips_classify_constant.
3441 (mips_expand_call): Use mips_unspec_offset_high to calculate the
3442 high part of the GOT address for calls to global functions.
3443 (override_options): Initialize mips_split_p[], mips_lo_relocs[]
3444 and mips_hi_relocs[].
3445 (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
3446 Remove use of mips_classify_constant.
3447 (mips_reloc_string): Delete.
3448 (print_operand_reloc): New function.
3449 (print_operand_address): Update call to mips_classify_address.
3450 (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
3451 (small_data_pattern): New predicate.
3452 (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
3453 (mips_function_has_gp_insn): New function.
3454 (mips_global_pointer): Use it.
3455 (mips_gp_insn): Delete.
3456 (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
3457 single loadgp pattern to initialize $gp. Pass it the offset of _gp
3458 from the start of the current function.
3459 (mips16_gp_pseudo_reg): Revert last patch.
3460
3461 * config/mips/mips.md (RELOC_*): Delete.
3462 (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
3463 (got): New insn attribute.
3464 (type): Set to "load" if got == load.
3465 (length): Set to 4 if got == load, 8 if got == xgot_high.
3466 (lui[sd]i): Delete.
3467 (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
3468 (*got_disp[sd]i, *got_page[sd]i): Likewise.
3469 (*low[sd]i): Change constraints to "d". Add a new define_split to
3470 rewrite small data constants into LO_SUMs.
3471 (loadgp): New insns.
3472
34732003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3474
3475 * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
3476
34772003-11-04 DJ Delorie <dj@redhat.com>
3478
3479 * config/v850/v850.md (mulhisi3): Expand the const_int case
3480 separately to avoid trying to sign extend the const.
3481
34822003-11-04 Richard Sandiford <rsandifo@redhat.com>
3483
3484 * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
3485 addresses to be shared.
3486 (force_const_mem): Return a copy of the pool entry.
3487
34882003-11-03 Andreas Jaeger <aj@suse.de>
3489
3490 * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
3491
34922003-11-03 Kelley Cook <kcook@gcc.gnu.org>
3493
3494 * Makefile.in (cpp.dvi): New target split from cpp.info.
3495 (gcc.dvi): New target split from gcc.info.
3496 (gccint.dvi): New target split from gccint.info.
3497 (cppinternals.dvi): New target split from cppinternals.info
3498 (gccinstall.info): New specific rule.
3499 (gccinstall.dvi): Likewise.
3500 (dvi): Move targets to $(docobjdir).
3501 ($(docobjdir)/%.dvi): New implicit rule.
3502
35032003-11-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3504
3505 * doc/gty.texi (tag, desc): Say more about role of desc values in
3506 selecting between tags.
3507
35082003-11-03 Alexander Kabaev <ak03@gte.com>
3509
3510 * real.c (encode_ieee_single): Ensure proper promotion.
3511
35122003-11-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3513
3514 * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
3515 and Andrew Pinski.
3516
35172003-11-03 Syd Polk <spolk@apple.com>
3518
3519 * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
3520 marketing names to the list of supported processors.
3521 * config/rs6000/rs6000.h: Ditto.
3522 * doc/invoke.texi: Ditto.
3523 * config.gcc: Ditto.
3524
35252003-11-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3526
3527 * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
3528 Merge two substitutions.
3529 * fixinc/fixincl.x: Regenerate.
3530 Fixes PR bootstrap/12666.
3531
35322003-11-03 Joseph S. Myers <jsm@polyomino.org.uk>
3533
3534 * doc/install-old.texi: Remove VMS documentation.
3535
35362003-11-03 Jan Hubicka <jh@suse.cz>
3537
3538 * i386.c (override_options): Remove hack enabling 128bit long double
3539 commited by accident.
3540
35412003-11-02 Per Bothner <per@bothner.com>
3542
3543 * c-opts.c (needValue): Do cpp_find_main_file before processing
3544 any imacros flags, so pfile->main_file is set for the latter.
3545
35462003-11-03 Andreas Jaeger <aj@suse.de>
3547 Zack Weinberg <zack@codesourcery.com>
3548
3549 * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
3550 (SYSCALLS.c.X-warn): Suppress warnings.
3551
35522003-11-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3553
3554 PR optimization/12845
3555 * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
3556
35572003-11-02 Zack Weinberg <zack@codesourcery.com>
3558
3559 * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
3560 * config/i386/i386.c (print_reg): Abort on a virtual register
3561 if code != -1; not if file == asm_out_file.
3562 * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
3563 (DEBUG_PRINT_REG): Delete, unused.
3564
35652003-11-02 Andreas Schwab <schwab@suse.de>
3566
3567 * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
3568 empty to avoid conflict with the definition from configure.
3569
35702003-11-02 Roger Sayle <roger@eyesopen.com>
3571
3572 PR optimization/10817
3573 * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
3574 (noce_try_move): New function to optimize an if-the-else into an
3575 unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
3576 (noce_process_if_block): Attempt simplification with noce_try_move.
3577
3578 * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
3579 and improvements to the optimizations of IF_THEN_ELSE expressions.
3580 (simplify_subreg): Silence signed/unsigned comparison warning.
3581
35822003-11-02 Richard Sandiford <rsandifo@redhat.com>
3583
3584 * Makefile.in (targhooks.o, reload.o): Update dependencies.
3585 (GTFILES): Add targhooks.c.
3586 (gt-targhooks.h): New rule; depend on s-gtype.
3587 * target.h (direct_pool_load_p): New hook.
3588 * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
3589 (TARGET_INITIALIZER): Include it.
3590 * targhooks.h (default_direct_pool_load_p): Declare.
3591 (hook_bool_machine_mode_true): Declare.
3592 * targhooks.c: Include insn-config.h, recog.h, ggc.h and
3593 gt-targhooks.h.
3594 (pool_symbol): New variable.
3595 (default_direct_pool_load_p): New function.
3596 (hook_bool_machine_mode_true): New function.
3597 * reload.c: Include target.h.
3598 (find_reloads): If an alternative will force a constant into memory,
3599 count an extra reload if constant pool symbols are not valid
3600 addresses. If an alternative uses memory to move values between
3601 registers, count the move as two reloads rather than one.
3602 * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
3603 * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
3604
36052003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
3606
3607 PR optimization/12799
3608 * postreload.c (reload_cse_move2add): Generate the add2
3609 patterns manually.
3610
36112003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
3612
3613 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
3614 Return 0 for all complex modes whose size is lesser or equal to
3615 a word. Add a ??? comment for the condition used with 16-byte
3616 aligned modes.
3617
36182003-11-01 Kelley Cook <kcook@gcc.gnu.org>
3619
3620 * .cvsignore: Remove c-parse* and tradcif.c.
3621 * objc/.cvsignore: Delete.
3622
36232003-11-01 Roger Sayle <roger@eyesopen.com>
3624
3625 * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
3626 of NULL.
3627
36282003-11-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3629
3630 * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
3631
3632 * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
3633
3634 * collect2.c (scan_libraries): Fix typos.
3635
3636 PR preprocessor/12847
3637 * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
3638 cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
3639 c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
3640 DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
3641 "CPP_".
3642
36432003-11-01 Fariborz Jahanian <fjahanian@apple.com>
3644
3645 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
3646 no_units calculation.
3647
36482003-11-01 Andreas Jaeger <aj@suse.de>
3649
3650 * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
3651 enumeration list.
3652
36532003-11-01 Andreas Schwab <schwab@suse.de>
3654
3655 * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
3656 prototypes.
3657 (SBSS_SECTION_FUNCTION): Likewise.
3658
36592003-11-01 Andreas Jaeger <aj@suse.de>
3660
3661 * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
3662
36632003-11-01 Andreas Tobler <a.tobler@schweiz.ch>
3664
3665 * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
3666 prototypes.
3667
36682003-11-01 Andreas Jaeger <aj@suse.de>
3669
3670 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
3671 (uw_frame_state_for): Constify variables.
3672 (extract_cie_info): Constify first argument.
3673
3674 * unwind-dw2-fde-darwin.c: Adjust prototype of
3675 _Unwind_Find_registered_FDE for recent changes.
3676 (examine_objects): Constify return value and local variable result.
3677 (_Unwind_Find_FDE): Constify return value and local variable ret.
3678
36792003-10-31 Per Bothner <pbothner@apple.com>
3680
3681 * c-opts.c (finish_options): Change to returns boolean - false iff
3682 the call to cpp_find_main_file fails.
3683 (c_common_init): Skip preprocess_file if finish_options failed.
3684 (c_common_parse_file): Break if finish_options failed.
3685 Fixes PR preprocessor/12545.
3686
36872003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3688
3689 * aclocal.m4: Blacklist ultrix* for mmap file.
3690 * configure: Rebuilt.
3691
3692 * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
3693 reg_parm_stack_space.
3694 * toplev.c (default_get_pch_validity): Fix warning.
3695
3696 * vax.c: Include toplev.h.
3697 (vax_init_libfuncs): Fix typo (umod).
3698 * vax.h (ASM_COMMENT_START): Define.
3699 (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
3700
37012003-10-31 Roger Sayle <roger@eyesopen.com>
3702
3703 PR middle-end/11968
3704 * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
3705 confusing comment; distributivity isn't handled in expand_expr.
3706 * fold-const.c (extract_muldiv_1 <PLUS_EXPR>): Allow overflow
3707 in distributivity, if wrap-around semantics are specified with
3708 -fwrapv.
3709
37102003-11-01 Alan Modra <amodra@bigpond.net.au>
3711
3712 PR 12315
3713 * final.c (profile_function): Allow for NULL svrtx.
3714
37152003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3716
3717 * pa.c (pa_select_section): Use new style declaration.
3718 * som.h (readonly_data): Likewise.
3719
37202003-10-31 Kelley Cook <kcook@gcc.gnu.org>
3721
3722 * config/rs6000/rs6000.c: Update to C90 prototypes.
3723
37242003-10-31 Richard Earnshaw <rearnsha@arm.com>
3725
3726 PR target/7513
3727 * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
3728 code.
3729
37302003-10-31 Andreas Jaeger <aj@suse.de>,
3731 Zack Weinberg <zack@codesourcery.com>
3732
3733
3734 * crtstuff.c (__register_frame_info, __register_frame_info_bases)
3735 (__deregister_frame_info, __deregister_frame_info_bases):
3736 Constify void * argument.
3737 * unwind-dw2-fde.h (struct fde_vector):
3738 Constify 'orig_data' and 'array' fields.
3739 (__register_frame_info, __register_frame_info_bases)
3740 (__deregister_frame_info, __deregister_frame_info_bases):
3741 Constify void * argument.
3742 (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
3743 return values, and casts of type fde *, struct dwarf_fde *,
3744 and struct dwarf_cie *.
3745 * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
3746 (__deregister_frame_info, __deregister_frame_info_bases):
3747 Constify void * argument.
3748 (get_cie_encoding, ): Constify struct dwarf_cie * argument.
3749 (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
3750 (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
3751 fde_split, SWAP, frame_downheap, frame_heapsort)
3752 (classify_object_over_fdes, add_fdes, linear_search_fdes,
3753 binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
3754 binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
3755 Constify arguments, local variables, return values, and casts
3756 of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
3757 Use const pointer types in sizeof expressions, for clarity.
3758 * unwind-dw2-fde-glibc.c
3759 (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
3760 (struct unw_eh_callback_data): Constify 'ret' field.
3761
37622003-10-31 Fariborz Jahanian <fjahanian@apple.com>
3763 David Edelsohn <edelsohn@gnu.org>
3764
3765 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
3766 (function_arg): Call it.
3767 (rs6000_function_value): Widen integral return value to mode based
3768 on TARGET_32BIT, not word_mode.
3769 * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
3770 (UNITS_PER_ARG): New.
3771 (RS6000_ARG_SIZE): Use it.
3772
37732003-10-31 Gerald Pfeifer <gerald@pfeifer.com>
3774
3775 * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
3776 and gengtype-yacc.h.
3777
37782003-10-31 Richard Earnshaw <rearnsha@arm.com>
3779
3780 PR optimization/8896
3781 * postreload.c (reload_combine): Check that REGY doesn't die in an
3782 insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
3783
37842003-10-31 Josef Zlomek <zlomekj@suse.cz>
3785
3786 PR/10239
3787 * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
3788
37892003-10-31 Josef Zlomek <zlomekj@suse.cz>
3790
3791 PR/11640
3792 * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
3793 immediatelly before BARRIER.
3794
37952003-10-31 Kelley Cook <kcook@gcc.gnu.org>
3796
3797 * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
3798
37992003-10-31 Richard Earnshaw <rearnsha@arm.com>
3800
3801 PR target/11271
3802 * reload.c (find_reloads_address): Handle any register in
3803 (PLUS (PLUS (REG) (REG)) (CONST_INT).
3804
38052003-10-31 Richard Earnshaw <rearnsha@arm.com>
3806
3807 * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
3808 ENABLE_GC_CHECKING not in GGC_POISON.
3809
38102003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
3811
3812 PR bootstrap/9863
3813 * configure.in: Bail out if awk is missing.
3814 * configure: Regenerate.
3815
3816 PR ada/12761
3817 * Makefile.in: Move default definitions of X_ADA_CFLAGS,
3818 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
3819
38202003-10-30 Richard Henderson <rth@redhat.com>
3821
3822 * c-objc-common.c (c_tree_printer): Handle types correctly.
3823 Factor code a bit.
3824
38252003-10-30 Kelley Cook <kcook@gcc.gnu.org>
3826
3827 * value-prof.c, web.c: Update to C90.
3828
38292003-10-30 Eric Christopher <echristo@redhat.com>
3830
3831 * function.c (purge_addressof_1): Add case for REG_RETVAL
3832 notes when modes are unequal.
3833
38342003-10-31 Jan Hubicka <jh@suse.cz>
3835
3836 * i386-modes.def: Add XFmode format adjustment.
3837
38382003-10-30 Jan Hubicka <jh@suse.cz>
3839
3840 * real.c (encode_ieee_extended): Back out previous patch.
3841
38422003-10-30 Jan Hubicka <jh@suse.cz>
3843
3844 * real.c (encode_ieee_extended): Initialize whole array.
3845 * reg-stack.c (move_for_stack_reg0: Use always XFmode.
3846 * i386-modes.def: Change definitions of TFmode and XFmode.
3847 * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
3848 code.
3849 (construct_container): Allow constructing of TFmode integer containers.
3850 (ix86_return_in_memory): XFmode is not returned in memory.
3851 (init_ext_80387_constants): Always use XFmode.
3852 (print_operand): Likewise.
3853 (ix86_prepare_fp_compare_regs): Likewise.
3854 (split_to_parts): Deal with TFmode.
3855 (split_long_move): Simplify.
3856 (ix86_init_mmx_sse_builtins): Add __float80, __float128.
3857 (ix86_memory_move_cost): Do not confuse TFmode.
3858 * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
3859 (IS_STACK_MODE): TFmode is not stack mode.
3860 (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
3861 (VALID_SSE_REG_MODE): Allow TFmode.
3862 (VALID_FP_MODE_P): Disallow TFmode.
3863 (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
3864 * i386.md (TFmode patterns): Kill.
3865 (movtf, motf_rex64): New patterns.
3866
38672003-10-30 Richard Sandiford <rsandifo@redhat.com>
3868
3869 * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
3870
38712003-10-30 Richard Sandiford <rsandifo@redhat.com>
3872
3873 * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
3874 (mov_lwr, mov_swl, mov_swr): Likewise.
3875 (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
3876
38772003-10-30 Richard Sandiford <rsandifo@redhat.com>
3878
3879 * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
3880
38812003-10-30 Richard Henderson <rth@redhat.com>
3882
3883 * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
3884 test for irix6 rather than preprocessor test.
3885
38862003-10-30 Richard Henderson <rth@redhat.com>
3887
3888 * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
3889
38902003-10-30 Ulrich Weigand <uweigand@de.ibm.com>
3891
3892 * config/s390/s390.c (struct machine_function): Use save_return_addr_p
3893 as a general flag that the return address register needs to be saved,
3894 not necessarily because of __builtin_return_addr (0).
3895 (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
3896 remove special handling of zSeries machines.
3897 (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
3898 register as a regular register on zSeries machines.
3899 (s390_reorg): Adjust calls to s390_split_branches and
3900 s390_optimize_prolog.
3901 (s390_frame_info): On zSeries machines, do not assume the return
3902 register is always used. Update regs_ever_live with current data
3903 for the special registers.
3904 (s390_emit_epilogue): Use save_return_addr_p to determine whether
3905 the return register was saved.
3906 * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
3907 RETURN_REGNUM fixed on zSeries machines.
3908 (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
3909 * config/s390/s390.md ("*doloop_si"): Handle branch overflow
3910 via ahi-jgne pair on zSeries machines.
3911 ("*doloop_di"): Likewise.
3912 ("*doloop_di_long"): Remove.
3913
39142003-10-30 Richard Earnshaw <rearnsha@arm.com>
3915
3916 * arm.c (arm_override_options): Revert change of arm_constant_limit
3917 when optimizing for size.
3918
39192003-10-29 Richard Henderson <rth@redhat.com>
3920
3921 * fold-const.c (fold_single_bit_test): Convert the input to the
3922 operational intermediate type.
3923
39242003-10-29 Richard Henderson <rth@redhat.com>
3925
3926 * builtins.c (std_build_builtin_va_list): New.
3927 * expr.h (std_build_builtin_va_list): Declare.
3928 * defaults.h (BUILD_VA_LIST_TYPE): New.
3929 * system.h (BUILD_VA_LIST_TYPE): Poison.
3930 * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
3931 * target.h (struct gcc_target): Add build_builtin_va_list.
3932 * tree.c (build_common_tree_nodes_2): Use it.
3933
3934 * config/alpha/alpha-protos.h, config/alpha/alpha.c,
3935 config/alpha/alpha.h, config/alpha/unicosmk.h,
3936 config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
3937 config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
3938 config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
3939 config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
3940 config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
3941 config/mips/mips.h, config/rs6000/rs6000-protos.h,
3942 config/rs6000/rs6000.c, config/rs6000/rs6000.h,
3943 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
3944 config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
3945 config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
3946 config/xtensa/xtensa.h: Rename foo_build_va_list to
3947 foo_build_builtin_va_list; make it static. Define
3948 TARGET_BUILD_BUILTIN_VA_LIST. Remove BUILD_VA_LIST_TYPE.
3949 Update protos.
3950
3951 * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
3952 * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
3953
39542003-10-29 James E Wilson <wilson@specifixinc.com>
3955
3956 * recog.c (asm_operand_ok): Add missing break after case 'X'.
3957 Change if statements to else if statements in default case.
3958 (extract_constrain_insn_cached): Fix misspelling of constrain_operands
3959 in comment.
3960 (constrain_operands_cached): Likewise.
3961 (constrain_operands): Change if statements to else if statements in
3962 default case.
3963 * reload.c (find_reloads): Likewise.
3964
39652003-10-29 Richard Henderson <rth@redhat.com>
3966
3967 * config/m68k/m68k.c (notice_update_cc): Clear cc status for
3968 shifts and rotates.
3969
39702003-10-30 Alan Modra <amodra@bigpond.net.au>
3971
3972 * config/rs6000/rs6000.md: Remove duplicate pattern.
3973
39742003-10-29 Hans-Peter Nilsson <hp@axis.com>
3975
3976 * real.c (do_divide): Initialize result with a 0.
3977
3978 * configure.in <enable-checking for valgrind>: Look for
3979 <valgrind/memcheck.h> first. AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
3980 if it exists.
3981 * configure, config.in: Regenerate.
3982 * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
3983 HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>. Use
3984 #elif for other alternatives.
3985 * ggc-page.c: Ditto.
3986 * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
3987 include structure from ggc-common.c.
3988
39892003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3990
3991 * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
3992 (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
3993 * pa.c (pa_adjust_insn_length): Check for btable branches using
3994 attribute TYPE_BTABLE_BRANCH.
3995 (pa_reorg): Simplify.
3996 * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
3997 (ASM_OUTPUT_ADDR_VEC_ELT): As above.
3998 (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
3999 * pa.md (btable_branch): New instruction type.
4000 (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
4001 btable branches.
4002 (define_delay): Add btable branches to insn types that may have an
4003 insn in the delay position.
4004 (Z2, Z3): Add btable branch to list.
4005 Simplify unamed pattern set copy pic_label_operand to register. Add
4006 PA 2.0 variant.
4007 (short_jump): New jump for use in branch tables.
4008 (casesi, casesi0): Revise for new branch table formats.
4009 (casesi32, casesi32p, casesi64p): New casesi patterns.
4010 (indirect_jump): Move.
4011
40122003-10-29 David Edelsohn <edelsohn@gnu.org>
4013
4014 * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
4015 !TARGET_POWERPC64.
4016 (UNITS_PER_GPR_WORD): Delete.
4017 (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
4018 (HARD_REGNO_MODE_OK): Same.
4019 (CLASS_MAX_NREGS): Same.
4020
40212003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4022
4023 * pa.h (ASM_COMMENT_START): Define.
4024
40252003-10-29 Zack Weinberg <zack@codesourcery.com>
4026
4027 * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
4028 MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
4029 component, not zero.
4030
40312003-10-29 Andreas Schwab <schwab@suse.de>
4032
4033 * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
4034
40352003-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
4036
4037 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
4038 Never return 1 for complex integral modes whose size is lesser or
4039 equal to a word.
4040 (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
4041 in the comment.
4042 (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
4043 modes.
4044 (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
4045 greater than 16 bytes by reference.
4046
40472003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4048
4049 * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
4050 not TARGET_ILP32.
4051 (ia64_initialize_trampoline): Use globalize_label target call.
4052
40532003-10-29 Andreas Schwab <schwab@suse.de>
4054
4055 * doc/install.texi (Building): Add a sentence about building Ada
4056 for a canadian cross.
4057
40582003-10-28 Zack Weinberg <zack@codesourcery.com>
4059
4060 * config/ia64/ia64.c (cmptf_libfunc): New static.
4061 (ia64_expand_compare): Add logic to open-code calls to
4062 _U_Qfcmp for TFmode comparisons.
4063 (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
4064 Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
4065 never be generated anymore.
4066 * config/ia64/ia64.md (cmptf): New expander.
4067
40682003-10-28 Zack Weinberg <zack@codesourcery.com>
4069
4070 * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
4071 (*sqrt_approx): New instruction pattern for approximate square roots.
4072 (*setf_exp_xf): New instruction pattern for exponentiation.
4073 (*maddxf4_alts_truncsf): New instruction pattern for truncation.
4074 (sqrtsf2_internal_thr): New define_and_split implementing
4075 throughput-optimized inline calculation of SFmode square root.
4076 (sqrtdf2_internal_thr): Likewise for DFmode.
4077 (sqrtxf2_internal_thr): Likewise for XFmode.
4078 (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
4079 latency- and throughput-optimized square root algorithms.
4080 * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
4081 TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
4082 New macros.
4083 (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
4084 -minline-sqrt-max-throughput.
4085 * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
4086 and -minline-sqrt-max-throughput are given, notify the user
4087 that both options cannot be used simultaneously.
4088 If -minline-sqrt-min-latency is given, notify the user that
4089 this mode is not yet implemented.
4090 (rtx_needs_barrier): Reformat initial comment to obey
4091 72-character width limit. Support UNSPEC_SETF_EXP and
4092 UNSPEC_FR_SQRT_RECIP_APPROX.
4093
40942003-10-29 Alan Modra <amodra@bigpond.net.au>
4095
4096 * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
4097 moves.
4098
40992003-10-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4100
4101 PR target/11598
4102 PR libgcj/10610
4103 * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
4104
41052003-10-28 Richard Earnshaw <rearnsha@arm.com>
4106
4107 * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
4108 an extra stack adjustment insn if the stack pointer is already
4109 pointing at the right place.
4110 (use_return_insn): Allow a return insn to be used when we have a
4111 frame pointer if the stack pointer is in the right place.
4112 (output_return_instruction): Handle it.
4113
41142003-10-28 Andreas Jaeger <aj@suse.de>
4115
4116 * ggc-zone.c (check_cookies): Add missing variable.
4117 Add void to prototypes.
4118
41192003-10-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4120
4121 * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
4122 * crtstuff.c (__do_global_ctors_1): Move prototype.
4123 * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
4124 appropriate.
4125 * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
4126 Mark parameter with __attribute__((unused)).
4127
41282003-10-27 Zack Weinberg <zack@codesourcery.com>
4129
4130 * c-decl.c (pushdecl): Clarify comment.
4131
41322003-10-27 Arnaud Charlet <charlet@act-europe.fr>
4133
4134 * doc/install.texi: Update instructions for Ada cross builds
4135
4136 PR ada/5909:
4137 * doc/sourcebuild.texi: Document Ada test suite.
4138
41392003-10-27 Stephane Carrez <stcarrez@nerim.fr>
4140
4141 * config/m68hc11/m68hc11.c: Convert to ISO C90.
4142 * config/m68hc11/m68hc11-protos.h: Likewise.
4143
41442003-10-27 Jan Hubicka <jh@suse.cz>
4145 Eric Botcazou <ebotcazou@libertysurf.fr>
4146
4147 * toplev.c (enum dump_file_index, dump_file): Fix ordering of
4148 webizer pass dump.
4149
41502003-10-27 Jakub Jelinek <jakub@redhat.com>
4151 Jan Hubicka <jh@suse.cz>
4152
4153 * reload1.c (struct elim_table): Change offset, initial_offset and
4154 previous_offset fields to HOST_WIDE_INT.
4155 (offsets_at): Change from int to HOST_WIDE_INT.
4156 (reload): Adjust offsets_at initialization.
4157 (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
4158 (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
4159 * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
4160 to HOST_WIDE_INT. Don't save regs using mov for huge frame sizes
4161 if TARGET_64BIT.
4162 (pro_epilogue_adjust_stack): New function.
4163 (ix86_expand_prologue, ix86_expand_epilogue): Use it.
4164 * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
4165 (pro_epilogue_adjust_stack_1): Remove * in front of name.
4166 (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
4167 (pro_epilogue_adjust_stack_rex64_2): New insn.
4168
4169 * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
4170
4171 * config/i386/i386.c (ix86_expand_call): Replace 40 with
4172 FIRST_REX_INT_REG + 3 /* R11 */.
4173
41742003-10-26 Richard Henderson <rth@redhat.com>
4175
4176 * config/alpha/alpha.md (attr cannot_copy): New.
4177 (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
4178 prologue_ldgp_er_2, prologue_ldgp_1): Set it.
4179 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
4180
41812003-10-26 Daniel Berlin <dberlin@dberlin.org>
4182
4183 * ggc-zone.c: New file, zone allocating collector.
4184 * configure: Accept zone option for --with-gc
4185 * configure.in: Ditto.
4186 * ggc.h (ggc_pch_count_object): Pass bool indicating
4187 stringiness. Update all callers.
4188 (ggc_pch_alloc_object): Ditto.
4189 (ggc_pch_write_object): Ditto.
4190 (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
4191 type.
4192 (ggc_alloc_rtvec): Ditto.
4193 (ggc_alloc_tree): Use zone allocation, since some things using this macro
4194 aren't a single typecode.
4195 * ggc-none.c (ggc_alloc_typed): New function.
4196 (ggc_alloc_zone): Ditto.
4197 * ggc-page.c: Ditto on both functions.
4198
41992003-10-26 Gunther Nikl <gni@gecko.de>
4200
4201 * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
4202 frame information is always valid.
4203 (m68k_output_function_prologue): Remove superfluous TARGET_68881
4204 test; fix formatting.
4205
42062003-10-26 Gunther Nikl <gni@gecko.de>
4207
4208 * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
4209 reg_rev_mask computation.
4210 (m68k_output_function_prologue): Fix usage of current_frame (one typo
4211 and one missing); use reg_rev_mask not reg_mask.
4212 (m68k_output_function_epilogue): Fix usage of current_frame;
4213 use fpu_rev_mask not fpu_mask.
4214
42152003-10-26 Bernardo Innocenti <bernie@develer.com>
4216
4217 * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
4218 num_saved_regs, use current_frame.reg_no instead.
4219
42202003-10-26 Bernardo Innocenti <bernie@develer.com>
4221 Paul Dale <pauli@snapgear.com>
4222
4223 * doc/extend.texi (interrupt_handler): Add m68k to the
4224 list of processors implementing it.
4225 * doc/invoke.texi (-msep-data): Document new m68k option.
4226 (-mno-sep-data): Likewise.
4227 (-mid-shared-library): Likewise.
4228 (-mno-id-shared-library): Likewise.
4229 (-mshared-library-id): Likewise.
4230
42312003-10-26 Andreas Jaeger <aj@suse.de>
4232
4233 * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
4234 comparison.
4235 (_Unwind_SetGR): Likewise.
4236
42372003-10-26 Ottavio Campana <ottavio@campana.vi.it>
4238
4239 PR target/12690
4240 * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
4241
42422003-10-26 Gunther Nikl <gni@gecko.de>
4243
4244 * config/m68k/m68k.c (m68k_output_function_prologue): Move front
4245 comment from here to...
4246 (m68k_save_reg): ...here. Fix comment formatting.
4247 (m68k_output_function_prologue): Fix comment formatting.
4248 (m68k_output_function_epilogue): Likewise.
4249 (const_method): Likewise.
4250
42512003-10-26 Kazu Hirata <kazu@cs.umass.edu>
4252
4253 * toplev.c (default_get_pch_validity): Guard the use of
4254 target_options with #ifdef TARGET_OPTIONS.
4255 (default_pch_valid_p): Likewise.
4256
42572003-10-26 Andreas Jaeger <aj@suse.de>
4258 Zack Weinberg <zack@codesourcery.com>
4259 Andreas Tobler <toa@pop.agri.ch>
4260
4261 * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
4262 (output_die): Likewise.
4263 (print_die): Likewise.
4264
42652003-10-26 Andreas Jaeger <aj@suse.de>
4266
4267 * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
4268 dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
4269 dwarf2out.c change.
4270
4271 * toplev.c (default_pch_valid_p): Fix warning.
4272
42732003-10-25 Roger Sayle <roger@eyesopen.com>
4274
4275 * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
4276 RTL nodes. If an operator's operands are unchanged, return the
4277 original argument unchanged.
4278
42792003-10-26 Graham Stott <graham.stott@btinternet.com>
4280
4281 Fix bootstrap failure.
4282 * expmed.c (store_bit_field): Don't compare bitsize against
4283 modes with zero bit-size.
4284
4285 (extract_bit_field): Likewise
4286
42872003-10-25 Jan Hubicka <jh@suse.cz>
4288
4289 * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
4290 (cfa_loc): Likewise.
4291 (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
4292 HOST_WIDE_INT.
4293 (args_size, old_args_size): change type to HOST_WIDE_INT.
4294 (dwarf2out_def_cfa, dwarf2out_args_size,
4295 dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
4296 (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
4297 (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
4298 AT_offset): Use HOST_WIDE_INT.
4299 (based_loc_descr): offset is HOST_WIDE_INT.
4300 (add_data_member): Likewise.
4301 (add_const_value_attribute): Simplify.
4302
43032003-10-25 Richard Henderson <rth@redhat.com>
4304
4305 * config/i386/i386.c (ix86_eax_live_at_start_p): New.
4306 (ix86_expand_prologue): Save and restore eax around stack probe
4307 if it's live.
4308
43092003-10-25 Jan Hubicka <jh@suse.cz>
4310
4311 * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
4312
43132003-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
4314
4315 PR target/12712
4316 * reg-stack.c (convert_regs_1): Create an arbitrary input stack
4317 if the block has no predecessors.
4318 (convert_regs_2): Document the problem with successors whose
4319 only predecessor is the block to be processed.
4320 (convert_regs): Don't create the arbitrary input stack here.
4321
43222003-10-24 Zack Weinberg <zack@codesourcery.com>
4323
4324 * genmodes.c (struct mode_data): Add contained and next_cont
4325 fields.
4326 (complete_mode): Maintain linked list of modes that have a
4327 given component.
4328 (emit_mode_unit_size): Delete.
4329 (emit_mode_nunits): New.
4330 (emit_insn_modes_c): Update to match.
4331 (emit_mode_adjustments): Propagate size and alignment
4332 adjustments from component modes to their containers.
4333 * machmode.h (mode_unit_size): Delete.
4334 (mode_nunits): New.
4335 (GET_MODE_NUNITS): Just return the value in the table.
4336 (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
4337 GET_MODE_SIZE.
4338 * expmed.c (store_bit_field, extract_bit_field): Can use a
4339 plain move instruction if bitsize >= GET_MODE_BITSIZE of
4340 destination/source mode, respectively.
4341 * varasm.c (assemble_real): Write out the full size of the
4342 constant, not just its bitsize.
4343 (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
4344
4345 * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
4346 Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
4347 alignment of XF and TF modes in compliance with ia64 ABIs.
4348 Can now hardwire the format of both modes.
4349 * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
4350 (general_tfmode_operand, destination_tfmode_operand)
4351 (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
4352 general_xfmode_operand, destination_xfmode_operand,
4353 xfreg_or_fp01_operand, spill_xfmode_operand respectively.
4354 (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
4355 and float80_type be 96 so they get XFmode. Use !TARGET_HPUX,
4356 not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
4357 __float128.
4358 * config/ia64/ia64.h: Default TARGET_HPUX to 0.
4359 Change TFmode to XFmode wherever appropriate. Remove all
4360 references to INTEL_EXTENDED_IEEE_FORMAT.
4361 (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
4362 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
4363 (PREDICATE_CODES): Update to match function renames.
4364 * config/ia64/ia64.md: Change TF to XF throughout; rename all
4365 patterns to match. Remove all references to
4366 INTEL_EXTENDED_IEEE_FORMAT. Update predicate calls to match
4367 function renames.
4368 * config/ia64/ia64-protos.c: Update all prototypes to match
4369 renamed functions.
4370 * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
4371 Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
4372 * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
4373 __divtf3; keep old name for backward compatibility.
4374 (L__compat): New section providing forwarding stubs for
4375 __fixtfti, __fixunstfti, __floattitf.
4376 * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
4377
43782003-10-24 Geoffrey Keating <geoffk@apple.com>
4379
4380 PR 10757
4381 * c-pch.c: Include target.h. Improve comments.
4382 (struct c_pch_validity): Add target_data_length.
4383 (pch_init): Add target's validity data.
4384 (c_common_valid_pch): Check target's validity data.
4385 * target-def.h (TARGET_GET_PCH_VALIDITY): New.
4386 (TARGET_PCH_VALID_P): New.
4387 (TARGET_INITIALIZER): Add new fields.
4388 * target.h: Include tm.h.
4389 (struct gcc_target): Add get_pch_validity, pch_valid_p.
4390 * toplev.h (default_get_pch_validity): New prototype.
4391 (default_pch_valid_p): New prototype.
4392 * toplev.c (default_get_pch_validity): New routine.
4393 (default_pch_valid_p): New routine.
4394 * Makefile.in (TARGET_H): Add TM_H. Replace all users of
4395 target.h with $(TARGET_H).
4396 (c-pch.o): Add TARGET_H.
4397 * doc/tm.texi (PCH Target): New node.
4398 (TARGET_GET_PCH_VALIDITY): Document.
4399 (TARGET_PCH_VALID_P): Document.
4400
44012003-10-24 Kelley Cook <kcook@gcc.gnu.org>
4402
4403 * Makefile.in: Define a vpath for %.texi. Remove explicit $(docdir)
4404 and $(docdir)/include from any *.texi dependencies.
4405 ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
4406 ($(docobjdir)/%.1): Depend on .pod instead of .texi.
4407 ($(docobjdir)/%.7): Likewise.
4408 (%.pod): New implicit rule.
4409 (cpp.pod): New dependency only rule.
4410 (gcc.pod): New intermediate rule with dependencies and commands.
4411 (gfdl.pod): Likewise.
4412 (fsf-funding.pod): Likewise.
4413
44142003-10-24 Nathanael Nerode <neroden@gcc.gnu.org>
4415
4416 * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
4417 related code.
4418 * fixinc/fixinc.ptx: Remove.
4419 * fixinc/fixinc.svr4: Remove.
4420
44212003-10-24 Ulrich Weigand <uweigand@de.ibm.com>
4422
4423 * config/s390/s390.c (load_multiple_operation): Allow both SImode
4424 and DImode if word_mode is DImode.
4425 (store_multiple_operation): Likewise.
4426 * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
4427 ("*load_multiple_di"): Allow only if word_mode == DImode.
4428 ("movqi"): Use LLGC whenever TARGET_ZARCH.
4429 ("fix_truncdfsi2"): Fix incorrect temporary size.
4430 ("fix_truncsfsi2"): Likewise.
4431 ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
4432 string for function return value operand.
4433 ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
4434
44352003-10-24 Joseph S. Myers <jsm@polyomino.org.uk>
4436
4437 * c-parse.in (array_declarator): Use expr_no_commas.
4438 Fixes PR c/11943.
4439
44402003-10-24 Richard Sandiford <rsandifo@redhat.com>
4441
4442 * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
4443 associated includes in #ifndef inhibit_libc.
4444
44452003-10-24 Roger Sayle <roger@eyesopen.com>
4446
4447 * doc/libgcc.texi: Document some more of the libgcc API.
4448
44492003-10-24 Richard Earnshaw <rearnsha@arm.com>
4450
4451 * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
4452 comparing a constant with small negative numbers and add costing
4453 for constants in conjunction with AND.
4454 (note_invalid_constants): Tidy previous change.
4455 (thumb_cmp_operand): Tidy.
4456 (thumb_cmpneg_operand): New function.
4457 * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
4458 for size.
4459 (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
4460 (PREDICATE_CODES): Add thumb_cmpneg_operand.
4461 * arm.md (cbranchsi4): Convert to define_expand. Handle comparison
4462 with a negative constant.
4463 (cbranchsi4_insn): Matcher for cbranchsi4.
4464 (cbranchsi4_scratch): Similar, but a scratch is available for
4465 handling negative constants.
4466 (movsi_cbranchsi4): New pattern.
4467 (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
4468 and use the TST instruction.
4469 (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
4470 (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
4471 cannot see high regs or memory alternatives.
4472 (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
4473
44742003-10-24 Richard Earnshaw <rearnsha@arm.com>
4475
4476 * arm.c (note_invalid_constants): Try to extract the constant
4477 pool value using avoid_constant_pool_reference; only use
4478 get_pool_constant if that returns the original reference.
4479
44802003-10-24 Jan Hubicka <jh@suse.cz>
4481
4482 PR c++/12624
4483 * varasm.c (notice_global_symbol): Disqualify global registers.
4484
44852003-10-23 Roger Sayle <roger@eyesopen.com>
4486
4487 PR middle-end/11414
4488 * loop.c (load_mems): Use redirect_jump to forward jumps from
4489 the original loop end label to the new "loop sink" block's label.
4490
44912003-10-23 Roger Sayle <roger@eyesopen.com>
4492
4493 PR middle-end/12705
4494 * optabs.c (expand_binop): When expanding complex operations
4495 inline, always calculate result into a new temporary register.
4496 Minor code clean-ups.
4497
44982003-10-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4499
4500 * objc/lang-specs.h: Handle -print-objc-runtime-info.
4501 * doc/invoke.texi (Objective-C Dialect Options): Document it.
4502
45032003-10-24 Danny Smith <dannysmith@users.sourceforge.net>
4504
4505 * config/i386/cygwin.asm: Add copyright notice. Add comment
4506 on why this code is needed.
4507
45082003-10-23 Kazu Hirata <kazu@cs.umass.edu>
4509
4510 * config/h8300/clzhi2.c: Fix warnings.
4511 * config/h8300/ctzhi2.c: Likewise.
4512 * config/h8300/fixunssfsi.c: Likewise.
4513 * config/h8300/parityhi2.c: Likewise.
4514 * config/h8300/popcounthi2.c: Likewise.
4515
45162003-10-23 James E Wilson <wilson@specifixinc.com>
4517
4518 * gcc.c (option_map): Delete --target and --use-version.
4519
45202003-10-23 Fariborz Jahanian <fjahanian@apple.com>
4521 David Edelsohn <edelsohn@gnu.org>
4522
4523 * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
4524 TARGET_POWREPC64.
4525 (UNITS_PER_GPR_WORD): Define.
4526 (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
4527 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
4528 (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
4529 (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
4530 * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
4531 DFmode and DImode in 32-bit ABI / 64-bit computation mode.
4532 (rs6000_emit_prologue): Select reg_mode and reg_size using
4533 TARGET_32BIT, not TARGET_POWERPC64.
4534 (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
4535 ABI / 64-bit computation mode
4536
45372003-10-22 Andrew Haley <aph@redhat.com>
4538
4539 * toplev.c (output_file_directive): Allow for null input_name.
4540
45412003-10-22 Waldek Hebisch <hebisch@math.uni.wroc.pl>
4542
4543 * config/i386/i386.c (classify_argument): Handle SET_TYPE.
4544
45452003-10-22 Chris Demetriou <cgd@broadcom.com>
4546
4547 * configure.in: In --enable-generated-files-in-srcdir option
4548 handling, fix default case handling.
4549 * configure: Regenerate.
4550
45512003-10-22 Phil Edwards <phil@codesourcery.com>
4552
4553 * config.gcc: Update *-*-vxworks* generic hook and comments.
4554 (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
4555 mips-wrs-windiss, sh-wrs-vxworks): New stanzas.
4556 * genmultilib: Allow the MULTILIB_OSDIRNAMES to be mapped directly.
4557 * config/svr4.h (SWITCH_TAKES_ARG): Undefine it before redefining it.
4558 * config/windiss.h: New file.
4559 * config/arm/t-vxworks: New file.
4560 * config/arm/vxworks.h: New file.
4561 * config/i386/t-vxworks: New file.
4562 * config/i386/vxworks.h: New file.
4563 * config/mips/t-vxworks: New file.
4564 * config/mips/vxworks.h: New file.
4565 * config/mips/windiss.h: New file.
4566 * config/sh/t-vxworks: New file.
4567 * config/sh/vxworks.h: New file.
4568
45692003-10-22 Kazu Hirata <kazu@cs.umass.edu>
4570
4571 * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
4572 (h8300_saveall_function_p): New.
4573 (h8300_insert_attributes): Insert the saveall attribute if
4574 #pragma saveall is specified.
4575 (h8300_attribute_table): Add saveall.
4576 (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
4577 * doc/extend.texi: Mention the saveall attribute.
4578
45792003-10-22 Joseph S. Myers <jsm@polyomino.org.uk>
4580
4581 * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
4582 deprecation of casts as lvalues.
4583 * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
4584 * fixinc/fixincl.x: Regenerate.
4585 * fixinc/tests/base/obstack.h: New test.
4586
45872003-10-22 Andreas Schwab <schwab@suse.de>
4588
4589 PR target/12676
4590 * config/m68k/m68k.c (output_addsi3): Fix range check to work on
4591 LP64 platforms.
4592
45932003-10-22 Jan Hubicka <jh@suse.cz>
4594
4595 * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
4596 presence of DW_AT_inline.
4597 (gen_subprogram_die): Likewise; do not abort instead of emitting
4598 DW_AT_not_inline.
4599
46002003-10-22 Jan Hubicka <jh@suse.cz>
4601
4602 * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
4603 global info is not ready.
4604
46052003-10-22 Kazu Hirata <kazu@cs.umass.edu>
4606
4607 * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
4608
46092003-10-22 Ulrich Weigand <uweigand@de.ibm.com>
4610
4611 * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
4612 ("*movstr_short"): ... into this insn pattern.
4613 ("movstr_short"): New expander.
4614 ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
4615 ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
4616 ("movstr_long"): New expander.
4617 ("clrstr_short_64", "clrstr_short_31"): Merge ...
4618 ("*clrstr_short"): ... into this insn pattern.
4619 ("clrstr_short"): New expander.
4620 ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
4621 ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
4622 ("clrstr_long"): New expander.
4623 ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
4624 ("*cmpmem_short"): ... into this insn pattern.
4625 ("cmpmem_short"): New expander.
4626 ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
4627 ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
4628 ("cmpmem_long"): New expander.
4629 * config/s390/s390.c (s390_expand_movstr): Use new expanders.
4630 (s390_expand_clrstr): Likewise.
4631 (s390_expand_cmpmem): Likewise.
4632
46332003-10-22 Mark Mitchell <mark@codesourcery.com>
4634
4635 * c-pch.c (struct c_pch_validity): Add pch_init field.
4636 (pch_init): Set it.
4637 (c_common_valid_pch): Check it.
4638
46392003-10-22 David Taylor <dtaylor@emc.com>
4640
4641 PR debug/12500
4642 * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
4643
46442003-10-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4645
4646 * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
4647 alpha_return_in_memory if no VALTYPE specified.
4648
46492003-10-22 Jan Hubicka <jh@suse.cz>
4650
4651 PR debug/12389
4652 * Makefile.in (dwarf2out.o): Depend on cgraph.h.
4653 * cgraph.c (cgraph_function_possibly_inlined_p): New function.
4654 * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
4655 (cgraph_global_info): Add flag inlined
4656 * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
4657 cgraph_function_possibly_inded_p
4658 * cgraphunit.c (mark_inline): Set inlined flag.
4659 * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
4660 only for possibly inlined functions.
4661 * c-decl.c (duplicate_decls): Never output abstract DIE representing old
4662 body of function.
4663
46642003-10-22 Andrew Haley <aph@redhat.com>
4665
4666 * varasm.c (output_constructor): Make constructor annotation
4667 conditional on ASM_COMMENT_START.
4668
46692003-10-21 Jason Merrill <jason@redhat.com>
4670
4671 * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
4672 (get_narrower): Likewise.
4673
4674 * stor-layout.c (layout_decl): Do packed field alignment for
4675 bit-fields, too.
4676
46772003-10-21 Eric Christopher <echristo@redhat.com>
4678
4679 * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
4680
46812003-10-21 Geoffrey Keating <geoffk@apple.com>
4682
4683 * c-pch.c: Add comments in various places.
4684 (struct c_pch_validity): Add the lengths of various strings.
4685 (host_machine): New static.
4686 (target_machine): New static.
4687 (get_ident): Bump version number.
4688 (pch_init): Write out version, host, target validity data.
4689 (c_common_valid_pch): Check version, host, target.
4690 * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
4691 TARGET_MACHINE.
4692
46932003-10-21 Jason Merrill <jason@redhat.com>
4694
4695 * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
4696 (EXPR_P): New macro.
4697
46982003-10-21 Zack Weinberg <zack@codesourcery.com>
4699
4700 * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
4701 * config/ia64/ia64.c (ia64_expand_fetch_and_op,
4702 ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
4703 DImode. Use convert_move to load ar.ccv.
4704 (ia64_expand_compare_and_swap): Likewise.
4705 If expand_expr doesn't put 'old' and 'new' in the proper
4706 modes, run them through convert_to_mode.
4707
47082003-10-21 Eric Christopher <echristo@redhat.com>
4709
4710 * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
4711 for too large bitfields.
4712
47132003-10-21 Mark Mitchell <mark@codesourcery.com>
4714
4715 * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
4716
47172003-10-21 Andrew Haley <aph@redhat.com>
4718
4719 * varasm.c (output_constructor): Annotate constructor.
4720
47212003-10-21 Mark Mitchell <mark@codesourcery.com>
4722
4723 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
4724 on existence of destination file.
4725
47262003-10-21 Jan Hubicka <jh@suse.cz>
4727
4728 * haifa-sched.c (choose_ready): Initialize index.
4729
47302003-10-21 Jason Merrill <jason@redhat.com>
4731
4732 * tree.c (build1): Fix off-by-one error.
4733
47342003-10-21 Robert Millan <robertmh@gnu.org>
4735
4736 * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
4737 * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
4738 * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
4739 * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
4740
47412003-10-21 Eric Botcazou <ebotcazou@libertysurf.fr>
4742
4743 * web.c: Fix various comments.
4744
47452003-10-20 Nicolas Pitre <nico@cam.org>
4746
4747 * config/arm/arm.c (arm_override_options): Set arm_constant_limit
4748 to 2 instead of 1 when optimize_size is true. Gather code based on
4749 optimize_size together. Add comment about XScale load latency.
4750
47512003-10-21 Gunther Nikl <gni@gecko.de>
4752
4753 * config/m68k/m68k.c (m68k_output_function_prologue): Remove
4754 obsolete comments.
4755
47562003-10-20 Kelley Cook <kcook@gcc.gnu.org>
4757
4758 * Makefile.in: Get parsedir and docobjdir from configure.
4759 * configure.in: Recogonize --enable-generated-files-in-srcdir.
4760 Pass along parsedir and docobjdir.
4761 * configure: Regenerate.
4762 * doc/install.texi: Document --enable-generated-files-in-srcdir.
4763
47642003-10-20 Kelley Cook <kcook@gcc.gnu.org>
4765
4766 * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
4767 included.
4768
47692003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
4770
4771 * c-common.c (expand_tree_builtin): Ensure creal and cimag
4772 functions do not return lvalues.
4773
47742003-10-20 Jason Merrill <jason@redhat.com>
4775
4776 PR c/12553
4777 * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
4778 appropriately.
4779
4780 PR c/11446
4781 * stor-layout.c (layout_decl): Fix alignment handling.
4782
47832003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
4784
4785 * doc/extend.texi: Deprecate casts as lvalues.
4786
47872003-10-20 Jan Hubicka <jh@suse.cz>
4788
4789 * toplev.c (rest_of_compilation): Fix webizer pass ordering.
4790
4791 * cgraphunit.c (decide_is_function_needed): Fix test dealing
4792 with functions implicitly made inline.
4793
4794 * cgraphunit.c (cgraph_decide_inlining_incrementally): New function.
4795 (cgraph_finalize_function): Use it.
4796 (cgraph_mark_inline): Allow incrmental decisions
4797 * invoke.texi (max-inline-slope, min-inline-insns): Kill.
4798 * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
4799 * tree-inline.c (limits_allow_inlining): Kill.
4800 (expand_call_inline): Always use unit-at-a-time path.
4801
48022003-10-20 Zack Weinberg <zack@codesourcery.com>
4803
4804 * fixinc/inclhack.def (hpux11_snprintf): New edit.
4805 * fixinc/fixincl.x: Regenerate.
4806 * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
4807
48082003-10-20 Mark Mitchell <mark@codesourcery.com>
4809
4810 * Makefile.in (install-info): Simplify.
4811 ($(DESTDIR)$(infodir)/%.info): New rule.
4812 * configure.in (target_list): Remove install-info.
4813 * doc/.cvsignore (gcc.info*): Remove.
4814 (gccint.info*): Likewise.
4815 (gccinstall.info*): Likewise.
4816 (cpp.info*): Likewise.
4817 (cppinternals.info*): Likewise.
4818 (*.info*): Add it.
4819 * doc/sourcebuild.texi: Update description of install-info.
4820 * objc/Make-lang.in (objc.install-info): Remove.
4821
48222003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4823
4824 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
4825 Use it in _MIPS_SIM definition.
4826 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
4827
48282003-10-20 Zack Weinberg <zack@codesourcery.com>
4829
4830 * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
4831 virtual register, but only if file == asm_out_file.
4832 * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
4833 for ARG_POINTER_REGNUM.
4834
48352003-10-20 Zack Weinberg <zack@codesourcery.com>
4836
4837 * c-common.c (registered_builtin_types): New static.
4838 (c_common_type_for_mode): Consult registered_builtin_types.
4839 (c_register_builtin_type): Add type to registered_builtin_types.
4840 * optabs.c (init_floating_libfuncs): Initialize libfuncs for
4841 all MODE_FLOAT modes, not just the ones corresponding to
4842 float_type_node, double_type_node, and long_double_type_node.
4843
48442003-10-20 Richard Henderson <rth@redhat.com>
4845
4846 * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
4847 * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
4848
48492003-10-20 Dorit Naishlos <dorit@il.ibm.com>
4850
4851 * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
4852 support new flag -minsert-sched-nops.
4853 (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
4854 * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
4855 support new flag -minsert-sched-nops.
4856 (is_cracked_insn, is_microcoded_insn): New functions.
4857 (rs6000_sched_finish): New function.
4858 (rs6000_issue_rate): Return 5 for power4.
4859 (get_next_active_insn, insn_terminates_group_p): New
4860 functions.
4861 (is_costly_group, force_new_group): New functions.
4862 (redefine_groups, pad_groups): New functions.
4863 (rs6000_variable_issue): Use new functions.
4864 * doc/invoke.texi (-minsert-sched-nops): Document new
4865 option.
4866
48672003-10-20 David S. Miller <davem@redhat.com>
4868
4869 * config/sparc/sparc.md (type attribute): Add new insn types
4870 fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
4871 (patterns emitting VIS insns): Use them.
4872 * config/sparc/ultra1_2.md: Add VIS scheduling rules.
4873 * config/sparc/ultra3.md: Likewise.
4874
48752003-10-20 Falk Hueffner <falk@debian.org>
4876
4877 PR target/12654
4878 * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
4879 comparison against constant by adjusting the argument except for
4880 EQ and NE.
4881
48822003-10-19 Mark Mitchell <mark@codesourcery.com>
4883
4884 * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
4885 arm1136jfs, and armv6j.
4886 * config/arm/arm.c (FL_ARCH6J): New macro.
4887 (FL_VFPV2): Likewise.
4888 (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
4889 and arm1136jfs.
4890 (all_architectures): Add entry for armv6j.
4891 (arm_override_options): Add entries for arm926ejs, arm1026ejs,
4892 arm1136js, and arm1136jfs.
4893 * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
4894 (TARGET_CPU_arm1026ej_s): Likewise.
4895 (TARGET_CPU_arm1136j_s): Likewise.
4896 (TARGET_CPU_arm1136jf_s): Likewise.
4897 * doc/invoke.texi: Document new ARM cores and architecture
4898 variants.
4899
49002003-10-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4901
4902 * Makefile.in (toplev.o): Add value-prof.h dependency.
4903 (value-prof.o): Add REGS_H dependency.
4904 * common.opt (fprofile-values, fvpt): New.
4905 * flags.h (flag_value_profile_transformations): Declare.
4906 * opts.c (common_handle_option): Handle -fprofile_values and
4907 -fvpt.
4908 * profile.c (branch_prob): Don't remove death notes here.
4909 * timevar.def (TV_VPT): New.
4910 * value-prof.c: Include regs.h.
4911 (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
4912 gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
4913 mod_subtract_transform, value_profile_transformations): New.
4914 (insn_values_to_profile): Call insn_divmod_values_to_profile.
4915 (find_values_to_profile): Add dumps.
4916 * value-prof.h (value_profile_transformations): Declare.
4917 * toplev.c: Include value-prof.h.
4918 (rest_of_handle_value_profile_transformations): New.
4919 (enum dump_file_index): Add DFI_vpt.
4920 (dump_file): Add vpt dump.
4921 (flag_value_profile_transformations): New.
4922 (lang_independent_options): Add flag_profile_values and
4923 flag_value_profile_transformations.
4924 (rest_of_compilation): Call
4925 rest_of_handle_value_profile_transformations.
4926 (process_options): Let -fvpt imply -fprofile-values.
4927 * doc/invoke.texi (-fvpt): Document.
4928
49292003-10-19 Jan Hubicka <jh@suse.cz>
4930
4931 * i386.c (print_reg): Do not abort on certain registers.
4932
4933 PR optimization/12612
4934 * reg-stack.c (subst_stack_regs_pat): Use st(1) for clobbers.
4935 * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
4936 match_scratch; avoid bogus paralles.
4937
4938 PR target/12674
4939 * i386.c (ix86_function_regparm): Disable implicit register passing
4940 conventions when profiling.
4941
49422003-10-19 Eric Botcazou <ebotcazou@libertysurf.fr>
4943 Richard Henderson <rth@redhat.com>
4944
4945 PR optimization/8178
4946 * config/i386/i386.md (*movsi_zero): Delete.
4947 (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
4948
49492003-10-19 Richard Henderson <rth@redhat.com>
4950
4951 * config/alpha/alpha.c (fix_operator): New.
4952 (divmod_operator): Tidy.
4953 (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
4954 * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
4955 (PREDICATE_CODES): Update.
4956 * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
4957 (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
4958 (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
4959 (fix_truncsfdi_ieee): Likewise.
4960 (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
4961 (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
4962 * config/alpha/alpha-protos.h: Update.
4963
49642003-10-19 Richard Sandiford <rsandifo@redhat.com>
4965
4966 * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
4967 * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
4968 * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
4969 constant operands.
4970
49712003-10-18 Kazu Hirata <kazu@cs.umass.edu>
4972
4973 * doc/extend.texi: Fix typos.
4974 * doc/invoke.texi: Likewise.
4975
49762003-10-18 Nicolas Pitre <nico@cam.org>
4977
4978 * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
4979 XScale optimizations not arm_arch_xscale.
4980 * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
4981
49822003-10-18 Ulrich Weigand <uweigand@de.ibm.com>
4983
4984 * config/s390/s390-protos.h (shift_count_operand): Add prototype.
4985 * config/s390/s390.c (shift_count_operand): New function.
4986 (s390_extra_constraint): Use it to implement 'Y' constraint.
4987 (print_shift_count_operand): New function.
4988 (print_operand): Use it to implement '%Y'.
4989 * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
4990 (PREDICATE_CODES): Add shift_count_operand.
4991 * config/s390/s390.md ("rotldi3"): Merge alternatives,
4992 using "shift_count_operand" predicate and "Y" constraint,
4993 and "%Y" to output the combined shift count.
4994 ("rotlsi3"): Likewise.
4995 ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
4996 ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
4997 "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
4998 ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
4999 ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
5000 ("lshrsi3"): Likewise.
5001
50022003-10-18 Gunther Nikl <gni@gecko.de>
5003
5004 * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
5005 argument to asm_fprintf statement.
5006
50072003-10-18 Fariborz Jahanian <fjahanian@apple.com>
5008
5009 * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
5010 (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
5011 a "long long" argument.
5012
50132003-10-18 Alexandre Oliva <aoliva@redhat.com>
5014
5015 * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
5016 as well.
5017
50182003-10-18 Richard Sandiford <rsandifo@redhat.com>
5019
5020 * rtl.h (rtl_size): Declare.
5021 (rtunion): Remove rtwint.
5022 (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
5023 (RTX_HDR_SIZE, RTX_SIZE): New macros.
5024 (RTL_CHECK1): Adjust for new rtx_def layout.
5025 (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
5026 (XWINT, XCWINT): Likewise. Access the rtx structure directly.
5027 (X0WINT): Remove.
5028 (X0ANY): New macro.
5029 * rtl.def: Adjust comments for new rtx_def layout.
5030 * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
5031 number of slots.
5032 * rtl.c (rtx_size): New array.
5033 (rtx_alloc): Adjust call to ggc_alloc_rtx. Use RTX_HDR_SIZE.
5034 (copy_rtx): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
5035 (shallow_copy_rtx): Adjust call to ggc_alloc_rtx. Use RTX_SIZE.
5036 * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
5037 * emit-rtl.c (copy_most_rtx): Likewise.
5038 (copy_rtx_if_shared): Use RTX_SIZE.
5039 (copy_insn_1): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
5040 * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call. Use RTX_HDR_SIZE.
5041 * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
5042 (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
5043 an array. Adjust output for new rtx_def layout.
5044 * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
5045 * reload1.c (eliminate_regs): Use RTX_SIZE.
5046 * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
5047 * gdbinit.in (pi): Likewise.
5048
50492003-10-18 Jan Hubicka <jh@suse.cz>
5050
5051 * integrate.c (copy_decl_for_inlining): Revert previous patch.
5052
50532003-10-18 Jan Hubicka <jh@suse.cz>
5054
5055 * integrate.c (copy_decl_for_inlining): Fix copying of copies.
5056
50572003-10-18 Roger Sayle <roger@eyesopen.com>
5058
5059 * libgcc.texi: Group multi-word types, such as "long double" and
5060 "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
5061 Document __unord?f2 as returning a non-zero value, not just one.
5062
50632003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
5064
5065 * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
5066 ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
5067
50682003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
5069
5070 * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
5071 match_operand.
5072
50732003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
5074
5075 * config/sparc/sparc.c (function_arg_record_value_1): New fourth
5076 parameter packed_p. Search for a DECL_PACKED field only if
5077 packed_p is false. Pass packed_p recursively.
5078 (function_arg_record_value_2): Likewise.
5079 (function_arg_record_value): Update calls to
5080 function_arg_record_value_1 and function_arg_record_value_2.
5081
50822003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
5083
5084 * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
5085 was successfully forced to memory before using the result.
5086
50872003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
5088
5089 PR optimization/8178
5090 * config/i386/i386.md (*movsi_zero): New insn to set
5091 a register to zero on TARGET_USE_MOV0 targets.
5092
50932003-10-18 Kelley Cook <kcook@gcc.gnu.org>
5094
5095 * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
5096 (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
5097
50982003-10-17 David Edelsohn <edelsohn@gnu.org>
5099
5100 * doc/invoke.texi (gcse-las): Fix typo.
5101
51022003-10-17 Andrew Pinski <pinskia@physics.uc.edu>
5103
5104 * doc/install.texi: Remove first part of the sentence for
5105 zsh not working. Change gcc to GCC.
5106
5107 PR bootstrap/12546
5108 * doc/install.texi: Document that zsh does not work when
5109 configuring gcc.
5110
51112003-10-17 Nathanael Nerode <neroden@gcc.gnu.org>
5112
5113 * config/ptx4.h: Switch to DWARF 2; update comments.
5114
51152003-10-17 Segher Boessenkool <boessen@de.ibm.com>
5116 Hartmut Penner <hpenner@de.ibm.com>
5117
5118 PR 10404, partial 11591, partial 11601
5119 * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
5120 "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
5121 "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
5122 "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
5123 "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
5124 * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
5125 (altivec_expand_stv_builtin): Adjust for the memory_operand.
5126 (altivec_expand_builtin): Call altivec_expand_lv_builtin.
5127 (altivec_init_builtins): Use `long int' for memory offsets.
5128
51292003-10-17 Jan Hubicka <jh@suse.cz>
5130
5131 * opts.c (common_handle_option): Handle OPT_fweb
5132 * invoke.texi (-fweb): Add missing parts of documentation.
5133
51342003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5135
5136 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
5137 before redefinition.
5138
51392003-10-17 Mostafa Hagog <mustafa@il.ibm.com>
5140
5141 * common.opt: Add description of the new -fgcse-las flag.
5142 * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
5143 * gcse.c (hash_scan_set): Handle the case of store expression and
5144 insert the memory expression to the hash table, this way we make it
5145 possible to discover redundant loads after stores and remove them.
5146 (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
5147 to pre_insert_copies, it is not the correct place to call it after
5148 adding stores to be in the available expression hash table.
5149 (pre_insert_copies): Added the call to update_ld_motion_stores when
5150 one or more copies were inserted.
5151 * opts.c (common_handle_option): Handle the -fgcse-las flag.
5152 * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
5153
5154 * doc/invoke.tex: Document new -fgcse-las flag.
5155
51562003-10-18 Alan Modra <amodra@bigpond.net.au>
5157
5158 * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
5159 for posterity, then remove it.
5160
51612003-10-17 Richard Earnshaw <rearnsha@arm.com>
5162 Nathan Sidwell <nathan@codesourcery.com>
5163
5164 * config/arm/arm.c (use_return_insn): Not a single instruction, if
5165 there's a frame pointer.
5166 (arm_output_epilogue): Protect stack pointer from being corrupted
5167 on interrupt.
5168
51692003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
5170
5171 * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
5172
51732003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
5174
5175 * combine.c (simplify_set): Do not clear out undobuf.other_insn
5176 already set elsewhere.
5177
51782003-10-17 Kelley Cook <kcook@gcc.gnu.org>
5179
5180 * config/i386/i386.c (ix86_expand_prologue): Use
5181 gen_allocate_stack_worker.
5182
51832003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5184
5185 * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
5186 without gas.
5187 (mips-sgi-irix6*): Likewise.
5188
5189 * config/mips/iris6gas.h: New file.
5190 * gcc/config.gcc (mips-sgi-irix6*): Use it.
5191
5192 * config/mips/mips.h (TARGET_IRIX): Provide default.
5193 (TARGET_IRIX5): Likewise.
5194 (TARGET_SGI_O32_AS): Likewise.
5195 * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
5196 (TARGET_IRIX5): Likewise.
5197 * config/mips/iris6.h (TARGET_IRIX6): Remove.
5198 (TARGET_IRIX5): Redefine as 0.
5199
5200 * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
5201 linker workaround with TARGET_IRIX and mips_abi instead of
5202 ASM_OUTPUT_UNDEF_FUNCTION.
5203 (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
5204 testing TARGET_IRIX and mips_abi explicitly.
5205 * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
5206 * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
5207
5208 * config/mips/mips.c (irix_output_external_libcall): Renamed from
5209 mips_output_external_libcall.
5210 Use new TARGET_IRIX in guard.
5211 * config/mips/mips-protos.h (irix_output_external_libcall): Match
5212 this.
5213 * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
5214
5215 * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
5216 Define as 0.
5217
5218 * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
5219 depending on mips_abi.
5220 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
5221 * config/mips/mips.c (mips_output_function_prologue): Test
5222 FUNCTION_NAME_ALREADY_DECLARED at runtime.
5223 (mips_output_function_epilogue): Likewise.
5224 (build_mips16_function_stub): Likewise.
5225 (build_mips16_call_stub): Likewise.
5226 * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
5227 default.
5228
5229 * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
5230 IRIX 6 O32 assembler.
5231 (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
5232 (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
5233 _MIPS_SIM for O32 ABI.
5234 (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
5235 (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
5236 (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
5237 Integrate O32 version.
5238 (SUBTARGET_ASM_SPEC): Handle -mabi=32.
5239 (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
5240 O32 ABI.
5241 (BSS_SECTION_ASM_OP_32): Define.
5242 (BSS_SECTION_ASM_OP_64): Likewise.
5243 (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
5244 using them.
5245 (TARGET_ASM_NAMED_SECTION): Reflect renaming.
5246 Move up to allow override for O32 ABI without GNU as.
5247 (EH_FRAME_SECTION_NAME): Define explicitly.
5248 (MUST_USE_SJLJ_EXCEPTIONS): Define.
5249 [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
5250 DTORS_SECTION_ASM_OP): Dummy definitions.
5251 (TARGET_ASM_NAMED_SECTION): Undef statically.
5252 (EH_FRAME_SECTION_NAME): Likewise.
5253 (ASM_OUTPUT_FILENAME): Integrate mips.h version.
5254 (LINK_SPEC): Only use default options -call_shared -no_unresolved
5255 without -r.
5256 Don't pass -init, -fini with -mabi=32.
5257 (COLLECT_PARSE_FLAG): Define.
5258
5259 * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
5260 TARGET_IRIX.
5261 Renamed to use irix_ prefix.
5262 (iris6_asm_named_section): Likewise.
5263 (iris_section_align_entry_eq): Likewise.
5264 (iris_section_align_entry_hash): Likewise.
5265 (iris6_file_start): Likewise.
5266 (iris6_section_align_1): Likewise.
5267 (iris6_file_end): Likewise.
5268 (iris6_section_type_flags): Likewise.
5269 (iris_section_align_htab): Likewise.
5270 (iris_orig_asm_out_file): Likewise.
5271 [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
5272 (TARGET_ASM_FILE_END): Likewise.
5273 (TARGET_SECTION_TYPE_FLAGS): Likewise.
5274
5275 * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
5276 (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
5277 override_options instead.
5278 (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
5279 (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
5280 * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
5281 flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
5282 assemblers.
5283 Likewise for constructor/destructor handling.
5284 (override_options): Handle IRIX O32 assembler quirks.
5285 [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
5286 without gas.
5287 (mips_file_start): Use new TARGET_IRIX.
5288 (mips_declare_object_name): No special processing for IRIX O32
5289 assembler.
5290 (mips_finish_declare_object): Likewise.
5291 (irix_asm_output_align): Renamed from iris6_asm_output_align.
5292 Don't record alignment for O32 ABI.
5293 (irix_file_start): Renamed from iris6_file_start.
5294 Return early for O32 ABI.
5295 (irix_file_end): Renamed from iris6_file_end.
5296 Don't emit .section directives for O32 ABI.
5297 * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
5298 * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
5299
5300 * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
5301 (MULTILIB_OSDIRNAMES): Likewise.
5302
53032003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5304
5305 * collect2.c (COLLECT_PARSE_FLAG): Provide default.
5306 (main): Use it.
5307 * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
5308
53092003-10-17 Richard Earnshaw <rearnsha@arm.com>
5310
5311 * arm-modes.def (CC_Nmode): New condition code mode.
5312 * arm.c (thumb_condition_code): Delete.
5313 (arm_select_cc_mode): Handle single-bit test for Thumb.
5314 (arm_print_operand, cases 'd' and 'D'): Don't special case the
5315 condition code logic for Thumb.
5316 (get_arm_condition_code): Handle CC_Nmode.
5317 (thumb_cbrch_target_operand): New function.
5318 * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
5319 * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
5320 * arm.md: Add Thumb split patterns for zero_extract and
5321 sign_extract.
5322 (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
5323 (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
5324 (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
5325 (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
5326 (cbranchne_decr1): Re-work to use CC_Nmode.
5327
5328 * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
5329 by the return instruction. Add a use of the link register if it
5330 wasn't stored.
5331
53322003-10-17 Richard Earnshaw <rearnsha@arm.com>
5333
5334 * flow.c (init_propagate_block_info): Don't abort if a conditional
5335 jump is not a comparison of a register. Instead, just don't record
5336 conditional life information.
5337
53382003-10-16 Jan Hubicka <jh@suse.cz>
5339
5340 PR optimization/12630
5341 * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
5342 for operands 7 and 8.
5343
53442003-10-16 Kelley Cook <kcook@gcc.gnu.org>
5345
5346 * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
5347
53482003-10-16 Danny Smith <dannysmith@users.sourceforge.net>
5349
5350 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
5351
5352 * config/i386/winnt.c (gen_stdcall_suffix): Make static
5353 (gen_fastcall_suffix): Likewise.
5354 (i386_pe_dllexport_p): Likewise.
5355 (i386_pe_dllimport_p): Likewise.
5356 (i386_pe_mark_dllexport): Likewise.
5357 (i386_pe_mark_dllimport): Likewise.
5358 (i386_pe_asm_named_section): Fix formatting.
5359
53602003-10-16 Zack Weinberg <zack@codesourcery.com>
5361
5362 * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
5363 * system.h: Declare snprintf if necessary.
5364 * configure, config.in: Regenerate.
5365
53662003-10-15 David Edelsohn <edelsohn@gnu.org>
5367
5368 * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
5369 arguments if TARGET_ALTIVEC_ABI.
5370
53712003-10-15 Roger Sayle <roger@eyesopen.com>
5372
5373 * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
5374 fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
5375 fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
5376 New functions.
5377 (expand_builtin_memcpy): Use integer_zerop instead of testing
5378 host_integerp and tree_low_cst directly. Move misapplied hunk
5379 for optimization wher SRC and DEST point to the same location.
5380 (expand_builtin_mempcpy): From here.
5381 (expand_builtin_memmove): Use integer_zerop instead of testing
5382 host_integerp and tree_low_cst_directly.
5383 (expand_builtin_memset): Likewise.
5384 (expand_builtin_memcmp): Likewise (and for integer_onep).
5385 (expand_builtin_strncmp): Likewise.
5386 (fold_builtin): Call the appropriate fold_builtin_foo functions
5387 to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
5388 strcmp and strncmp.
5389
53902003-10-15 Geoffrey Keating <geoffk@apple.com>
5391
5392 * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
5393 prototype. Clean up some whitespace.
5394 * config/darwin.c: Use gen_rtx_FOO (...) rather than
5395 gen_rtx (FOO, ...).
5396 (machopic_non_lazy_ptr_name): Make static.
5397 (name_needs_quotes): Allow '.' and '$' unquoted.
5398 (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
5399 case.
5400
5401