]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
rs6000.c (print_operand): Call mark_decl_referenced before assemble_name.
[gcc.git] / gcc / ChangeLog
CommitLineData
9bf6462a
AP
12004-05-20 Andrew Pinski <pinskia@physics.uc.edu>
2
3 * rs6000.c (print_operand) <case 'z'>: Call
4 mark_decl_referenced before assemble_name.
5
30719c65
ZW
62004-05-20 Zack Weinberg <zack@codesourcery.com>
7
8 * cgraph.c (hash_node, eq_node, cgraph_node, cgraph_remove_node)
9 (cgraph_varpool_hash_node, eq_cgraph_varpool_node)
10 (cgraph_varpool_node): Hash on the pointer to the decl, not
11 the DECL_UID. Fixes 64-bit bootstrap failure.
12
69260355
RE
132004-05-20 Richard Earnshaw <rearnsha@arm.com>
14
15 * arm.md (ite_ne_zeroextractsi, ite_ne_zeroextractsi_shifted): Ensure
16 we don't earlyclobber operands used in the second insn.
17
1ffae628
SB
182004-05-20 Steven Bosscher <stevenb@suse.de>
19
20 * tree-mudflap.c: Formatting fixes.
21
965ccc5a
R
222004-05-20 J"orn Rennecke <joern.rennecke@superh.com>
23
24 * Makefile.in (GTFILES): Add $(srcdir)/reload.h.
25 * gengtype.c (open_base_files): Include reload.h in ifiles.
26 * reload.h (reg_equiv_memory_loc_varray): Declare.
27 * reload1.c (reg_equiv_memory_loc_varray): New variable.
28 (init_reload): Initialize it.
29 (reload): Instead of freeing reg_equiv_memory_loc, 'grow'
30 reg_equiv_memory_loc_varray to size 0.
31 * ra.c (reg_alloc): Allocate reg_equiv_memory_loc by
32 growing reg_equiv_memory_loc_varray to the desired size.
33 * passes.c (rest_of_handle_old_regalloc): Likewise.
34 * reload.c: Amend comment on calling init_reload.
35
4ccfc10a
NC
362004-05-20 Nick Clifton <nickc@redhat.com>
37
38 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Replace 'tramp'
39 with 'TRAMP' in the body of the macro definition.
40
6bc709c1
L
412004-05-19 H.J. Lu <hongjiu.lu@intel.com>
42
43 PR target/15383
44 * config/ia64/ia64.c (ia64_expand_compare): Don't check
45 TARGET_HPUX for TFmode compare. Abort if op0 is in TFmode and
46 cmptf_libfunc isn't set.
47 (ia64_init_libfuncs): Rename TFmode libfuncs using the HPUX
48 conventions.
49 (ia64_sysv4_init_libfuncs): New.
50
51 * config/ia64/sysv4.h (TARGET_INIT_LIBFUNCS): New. Defined as
52 ia64_sysv4_init_libfuncs.
53
d3a7ef9a
FH
542004-05-20 Falk Hueffner <falk@debian.org>
55
56 PR other/15526
57 * libgcc2.c (__mulvsi3): Fix overflow test.
58
e916e1d0
AP
592004-05-19 Andrew Pinski <pinskia@physics.uc.edu>
60
dc44e18a 61 PR c/14171
d2032ad8
AP
62 * reg-stack.c (nan): Rename to ...
63 (not_a_num): Here.
64 (reg_to_stack): Rename nan to not_a_num.
65 (subst_stack_regs_pat): Likewise.
66 (convert_regs_entry): Likewise.
67 (convert_regs_1): Likewise.
68
e916e1d0
AP
69 * tree-cfg.c (find_case_label_for_value): Replace call to
70 simple_cst_equal with tree_int_cst_equal.
71
84c672b9
JL
722004-05-19 Jeff Law <law@redhat.com>
73
34eb8991
JL
74 * tree-into-ssa.c (prepare_operand_for_rename): New argument is_use.
75 If the operand is for a use, then strip away the SSA_NAME, do not
76 strip away the SSA_NAME for a set. Never call release_ssa_name.
77 (mark_def_sites): Appropriately pass additional argument to
78 prepare_operand_for_rename. If a VDEF_RESULT is not an SSA_NAME,
79 then set the VDEF_RESULT to the VDEF_OP.
80 (set_def_block): Strip away any SSA_NAME to get to the real
81 underlying variable.
82
84c672b9
JL
83 * tree-ssa-phiopt.c (value_replacement): Handle the case where
84 the desired edge out of COND_BLOCK reaches OTHER_BLOCK rather than
85 BB directly.
86
0aea6467
ZD
872004-05-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
88
89 PR c++/15463
90 * loop-iv.c (iv_number_of_iterations): Use trunc_int_for_mode on
91 result of inverse.
92
93 PR rtl-optimization/15274
94 * loop-iv.c (determine_max_iter, shorten_into_mode,
95 iv_number_of_iterations): Handle constants correctly.
96 * rtl.h (get_mode_bounds): Declaration changed.
97 * stor-layout.c (get_mode_bounds): Return a constant suitable for
98 the target mode.
99
100 PR rtl-optimization/14692
101 * loop-unswitch.c (may_unswitch_on): Try folding the result.
102 (unswitch_single_loop): Work correctly when may_unswitch_on
103 returns a folded constant.
104
105 * loop-iv.c (implies_p): Handle A < B ==> A + 1 <= B.
106 * simplify-rtx.c (simplify_const_relational_operation): Optimize
107 comparisons with mode bounds.
108
109 * function.c (struct temp_slot): Add new field prev.
110 (free_after_compilation, init_temp_slots): Free new fields.
111 (cut_slot_from_list, insert_slot_to_list,
112 temp_slots_at_level, max_slot_level, move_slot_to_level,
113 make_slot_available): New functions.
114 (assign_stack_temp_for_type, combine_temp_slots,
115 find_temp_slot_from_address, preserve_temp_slots,
116 preserve_rtl_expr_result, free_temp_slots,
117 free_temps_for_rtl_expr, pop_temp_slots): Work with
118 the new structure of lists.
119 (mark_all_temps_used): Removed.
120 * function.h (struct function): Field x_temp_slots
121 replaced by x_used_temp_slots and x_avail_temp_slots.
122 (temp_slots): Replaced by ...
123 (used_temp_slots, avail_temp_slots): New.
124 * tree.h (mark_all_temps_used): Declaration removed.
125
126 * loop-iv.c (mark_single_set, get_biv_step_1, iv_analyze,
127 simplify_using_assignment): Take the expression out of
128 the expr_list wrapper.
129
130 * loop-iv.c (iv_number_of_iterations): Improve clasification of
131 infinite loops.
132
31a52b86
RS
1332004-05-19 Roger Sayle <roger@eyesopen.com>
134
135 * doc/tm.texi (TARGET_RTX_COSTS): Document that instruction
136 costs should be based on code size when optimizing for size.
137
d28f752b
PB
1382004-05-19 Paolo Bonzini <bonzini@gnu.org>
139
140 * fold-const.c: Remove non-printable character 160.
141
d55b55aa
NC
1422004-05-19 Nick Clifton <nickc@redhat.com>
143
34a86306
NC
144 * doc/invoke.texi (ARM Options): Fix typo.
145 Remove descrption of -mshort-load-bytes and
146 -mno-short-load-bytes.
147
d55b55aa
NC
148 * config/ip2k/ip2k.c (ip2k_composite_xexp_not_uses_reg_p): Add
149 missing parenthesis.
150 * config/ip2k/ip2k.c (ip2k_unary_operator): Likewise.
151 * config/ip2k/ip2k.c (ip2k_binary_operator): Likewise.
152
6af8eb57
SB
1532004-05-19 Steven Bosscher <stevenb@suse.de>
154
155 * expr.c (store_constructor): Build loop start and end by hand
156 instead of via loop functions from stmt.c.
157 (expand_expr_real_1): Abort if we see an EXIT_EXPR or a LOOP_EXPR.
158 Remove the code to expand them.
159
160 * stmt.c (loop_stack): Remove this and everything related.
161 (struct nesting, enum nesting_desc): Update.
162 (expand_fixup): Likewise.
163 (expand_loop_start, expand_start_loop_continue_elsewhere,
164 expand_start_null_loop, expand_loop_continue_here, expand_end_loop,
165 expand_end_null_loop, expand_continue_loop, expand_exit_loop,
166 expand_exit_loop_if_false, expand_exit_loop_top_cond,
167 expand_exit_something): Remove.
168 * tree.h: Remove prototypes.
169
eeab4d81
MS
1702004-05-18 Mike Stump <mrs@apple.com>
171 Devang Patel <dpatel@apple.com>
172
173 * doc/tm.texi (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument to indicate
174 if this label is for eh.
175 * config/darwin-protos.h (darwin_emit_unwind_label): Likewise.
176 * config/darwin.c (darwin_emit_unwind_label): Likewise.
177 * dwarf2out.c (output_call_frame_info): Likewise.
178 * output.h (default_emit_unwind_label): Likewise.
179 * target.h (unwind_label): Likewise.
180 * varasm.c (default_emit_unwind_label): Likewise.
181
182 * config/darwin.h (DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
183 DEBUG_FRAME_SECTION, DEBUG_INFO_SECTION, DEBUG_ABBREV_SECTION,
184 DEBUG_ARANGES_SECTION, DEBUG_MACINFO_SECTION, DEBUG_LINE_SECTION,
185 DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_STR_SECTION,
186 DEBUG_RANGES_SECTION): Define.
187
bb9a388d
ZW
1882004-05-18 Zack Weinberg <zack@codesourcery.com>
189
190 * cgraph.c (hash_node, eq_node, cgraph_node, cgraph_remove_node)
191 (cgraph_varpool_hash_node, eq_cgraph_varpool_node)
192 (cgraph_varpool_node):
193 Use DECL_UID for the key, not DECL_ASSEMBLER_NAME.
194 (cgraph_function_possibly_inlined_p): Use the decl itself for
195 the key, not DECL_ASSEMBLER_NAME.
196 (change_decl_assembler_name): No need to muck with the hash tables.
197 (cgraph_node_for_identifier, cgraph_varpool_node_for_identifier):
198 Delete.
199 * cgraphunit.c (cgraph_mark_inline_edge): Use the decl itself
200 for the key, not DECL_ASSEMBLER_NAME.
201 * cgraph.h: Remove prototypes of deleted functions.
202 * varasm.c (mark_referenced): Just set TREE_SYMBOL_REFERENCED.
203 (mark_decl_referenced): New function.
204 * tree.h: Prototype mark_decl_referenced.
205 * final.c (output_addr_const) <case SYMBOL_REF>: Call
206 mark_decl_referenced before assemble_name.
207 * c-decl.c (finish_decl): Use mark_decl_referenced.
208
3a3f4da9
AP
2092004-05-18 Andrew Pinski <pinskia@physics.uc.edu>
210 Jeff Law <law@redhat.com>
211
cc52902d
AP
212 * tree-ssa-phiopt.c (abs_replacement): New function.
213 (empty_block_p): New function extracted from...
214 (candidate_bb_for_phi_optimization): Break out empty block test.
215 (conditional_replacement): Use empty_block_p.
216 (value_replacement): Similarly.
217
3a3f4da9
AP
218 * Makefile.in (tree-ssa-phiopt.o): Depends on flags.h.
219 * tree-ssa-phiopt.c: Include flags.h.
220 (conditional_replacement): Remove argument names from prototype.
221 Minor formatting and comment fixes.
222 (tree_ssa_phiopt): If conditional_replacement returns false, then
223 call value_replacement.
224 (value_replacement): New function.
225
14886ab7
JL
2262004-05-18 Jeff Law <law@redhat.com>
227
1833df5c
JL
228 * tree-ssa-phiopt.c (replace_phi_with_stmt): New function extracted
229 from conditional_replacement.
230 (candidate_bb_for_phi_optimization): Similarly.
231 (conditional_replacement): Use replace_phi_with_stmt and
232 candidate_bb_for_phi_optimization.
233
14886ab7
JL
234 * tree-ssa-phiopt.c: Fix various formatting issues.
235
70315fcd
SB
2362004-05-18 Steven Bosscher <stevenb@suse.de>
237
238 * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
239 s390_expand_cmpmem): Do not use expand_start_loop and
240 expand_end_loop, instead build the loop manually.
241
f82ddcae
AM
2422004-05-18 Alan Modra <amodra@bigpond.net.au>
243
244 * config/rs6000/rs6000.md (ctrsi_internal3): Delete.
245 (ctrsi_internal4, ctrdi_internal3, ctrdi_internal4): Delete.
246
dd747311
JL
2472004-05-17 Jeff Law <law@redhat.com>
248
249 * toplev.h (flag_delete_null_pointer_checks): Move from here to...
250 * flags.h (flag_delete_null_pointer_checks): Here.
251 * tree-flow.h (cprop_into_successor_phis): Add argument to prototype.
252 * tree-phinodes.c (resize_phi_node): Initialize PHI_ARG_NONZERO.
253 (add_phi_arg, remove_phi_arg_num): Similarly.
254 * tree-ssa-copy.c (cprop_into_successor_phis): Propagate nonzero
255 property into PHI nodes.
256 * tree-ssa-dom.c: Remove redundant inclusion of flags.h.
257 (record_equivalences_from_phis): If all PHI arguments are known to be
258 nonzero, then the result must be nonzero as well.
8eb14e2e
SB
259 (cprop_into_phis): Pass nonzero_vars bitmap to cprop_into_successor_phis.
260 (record_equivalences_from_stmt): Check flag_delete_null_pointer_checks
dd747311
JL
261 appropriately. Walk the USE-DEF chains and propagate nonzero property
262 as appropriate.
263 * tree.h (PHI_ARG_NONZERO): Define.
264 (phi_arg_d): Add nonzero flag.
265
b4117c30
ZW
2662004-05-17 Zack Weinberg <zack@codesourcery.com>
267
268 * f: Entire directory removed
269
270 * c-common.h (CTI_G77_INTEGER_TYPE, CTI_G77_UINTEGER_TYPE)
271 (CTI_G77_LONGINT_TYPE, CTI_G77_ULONGINT_TYPE)
272 (g77_integer_type_node, g77_uinteger_type_node)
273 (g77_longint_type_node, or g77_ulongint_type_node): Delete.
274 * c-common.c (c_common_nodes_and_builtins): Do not initialize
275 the above set of variables.
276
277 * config/i386/uwin.h: No need to define WIN32_UWIN_TARGET.
278 * doc/invoke.texi, doc/standards.texi: Remove cross-references
279 to g77 manual.
280
6944d9dd
SB
2812004-05-17 Steven Bosscher <stevenb@suse.de>
282
5e806501 283 PR tree-optimization/15438
6944d9dd
SB
284 * tree-ssa-operands.c (get_expr_operands): Do not treat malloc
285 attributed functions as pure or const.
286
e1564e1d
FCE
2872004-05-17 Frank Ch. Eigler <fche@redhat.com>
288
289 * tree-mudflap.c (mx_register_decls): Tolerate decl trees resulting
290 from source code with errors.
291
a2824db3
RM
2922004-05-17 Ranjit Mathew <rmathew@hotmail.com>
293
294 Enable tree browser for all front ends.
295 * Makefile.in (cc1): Moved @TREEBROWSER@ from here...
296 (BACKEND): ...to here.
297
2c6b27c3
JH
2982004-05-17 Jan Hubicka <jh@suse.cz>
299
300 * i386.c (construct_container): Do not produce BLKmode registers.
301 (classify_argument): Properly compute alignment of complex types.
302
044b3892
L
3032004-05-17 H.J. Lu <hongjiu.lu@intel.com>
304
305 PR target/15084
306 * config/i386/i386.md (*movsi_insv_1_rex64): Changed to DImode
307 and renamed to movdi_insv_1_rex64.
308 (insv): Support SImode for 32bit and DImode for 64bit.
309
646ca712
RS
3102004-05-17 Richard Sandiford <rsandifo@redhat.com>
311
312 * config/mips/mips.h (MASK_DEBUG_G, TARGET_DEBUG_G_MODE): Delete.
313 (TARGET_SWITCHES): Remove debugg.
314 * config/mips/mips.md (adddi3, ashldi3, ashrdi3, lshrdi3): Only handle
315 TARGET_64BIT.
316 (subdi3): Replace the define_expand with a define_insn, the latter
317 renamed from subdi3_internal_3.
318 (negdi2): Likewise negdi2_internal_2.
319 (adddi3_internal_[12], subdi3_internal, ashldi3_internal{,2,3})
320 (ashrdi3_internal{,2,3}, lshrdi3_internal{,2,3}): Remove patterns
321 and associated define_splits.
322 (adddi3_internal): Renamed from adddi3_internal_3.
323 (ashldi3_internal): Likewise ashldi3_internal4.
324 (ashrdi3_internal): Likewise ashrdi3_internal4.
325 (lshrdi3_internal): Likewise lshrdi3_internal4.
326
d83aba0f
RS
3272004-05-17 Richard Sandiford <rsandifo@redhat.com>
328
329 * optabs.c (expand_unop): Try implementing negation using subtraction
330 from zero.
331
15581992
JDA
3322004-05-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
333
334 * pa.md: Fix typo from last change. Remove DFmode move to and from
335 SAR register.
336
2a2789d8
RE
3372004-05-16 Richard Earnshaw <rearnsha@arm.com>
338
339 PR target/10982
340 * arm.md (ne_zeroextractsi): Convert to insn-and-split.
341 (ne_zeroextractsi_shifted): New pattern.
342 (ite_ne_zeroextractsi): New pattern.
343 (ite_ne_zeroextractsi_shifted): New pattern.
344
673fda6b
SB
3452004-05-15 Steven Bosscher <stevenb@suse.de>
346
347 * c-gimplify.c (c_genericize):
348 Replace calls via (*lang_hooks.foo) with lang_hooks.foo.
349 * c-parse.in <expr_no_commas>: Likewise.
350 <if_prefix>: Likewise.
351 <select_or_iter_stmt>: Likewise.
352 * expr.c (expand_var, expand_expr_real_1): Likewise.
353 * expr.h (expand_expr): Make it a static inline function.
354 Move prototype for expand_expr_real up before this.
355 * fold-const.c (fold_relational_hi_lo, fold_relational_const):
356 Likewise.
357 * gimplify.c (gimple_boolify, gimplify_addr_expr,
358 gimplify_asm_expr, gimplify_expr): Likewise.
359 * tree-cfg.c (dump_tree_cfg, dump_cfg_stats, tree_cfg2vcg,
360 dump_function_to_file): Likewise.
361 * tree-dfa.c (dump_immediate_uses, dump_dfa_stats): Likewise.
362 * tree-inline.c (remap_block, save_body, walk_tree): Likewise.
363 * tree-into-ssa.c (dump_tree_ssa): Likewise.
364 * tree-mudflap.c (mf_varname_tree, mf_file_function_line_tree):
365 Likewise.
366 * tree-optimize.c (execute_one_pass): Likewise.
367 * tree-pretty-print.c (dump_generic_bb_buff): Likewise.
368 * tree-ssa-alias.c (dump_alias_stats, dump_alias_info): Likewise.
369
370 * objc/objc-act.c (objc_build_try_enter_fragment,
371 objc_build_try_epilogue, objc_build_catch_stmt,
372 objc_build_finally_prologue): Replace calls via (*lang_hooks.foo)
373 with lang_hooks.foo ().
374
e2bb53e5
RS
3752004-05-15 Roger Sayle <roger@eyesopen.com>
376
377 * builtins.c (simplify_builtin_strcpy): Avoid use of chainon, so
378 that simplify_builtin doesn't destructively modify its argument.
379
dc491742
RE
3802004-05-15 Richard Earnshaw <reanrsha@arm.com>
381
b4117c30 382 * arm/lib1funcs.asm (_lshrdi3, _ashrdi3, _ashldi3): Add ASM
dc491742
RE
383 implementations for ARM and Thumb.
384 * arm/t-arm-elf (LIB1ASMFUNCS): Use them.
385
428d4d76
TQ
3862004-05-15 Thomas Quinot <quinot@act-europe.fr>
387
388 * prefix.c (update_path): Replace PREFIX with KEY only
389 when it matches a full directory name in PATH.
390
61f0ccff
RE
3912004-05-15 Richard Earnshaw <reanrsha@arm.com>
392
393 * arm.h (TARGET_APCS_32): Delete.
394 (TARGET_MMU_TRAPS): Delete.
395 (TARGET_CPU_CPP_BUILTINS): Unconditionally define __APCS_32__. Never
396 define __APCS_26__.
397 (CPP_SPEC): Remove checking of -mapcs-{26,32}.
398 (ARM_FLAG_APCS_32, ARM_FLAG_MMU_TRAPS): Delete.
399 (TARGET_SWITCHES): Remove alignment_traps and apcs-{26,32} switches.
400 (prog_mode_type): Delete.
401 (PROMOTE_MODE): Always promote unsigned for HImode.
402 (SECONDARY_INPUT_RELOAD_CLASS): Simplify.
403 (MASK_RETURN_ADDR): Simplify.
404 * arm.c (arm_prgmode): Delete.
405 (arm_override_options, arm_gen_rotated_half_load): Simplify.
406 (print_multi_reg, output_return_instruction): Simplify.
407 (arm_output_epilogue, arm_final_prescan_insn): Simplify.
408 (arm_return_addr): Simplify.
409 * arm.md (prog_mode): Delete.
410 (conds): Simplify.
411 (zero_extendhisi2, extendhisi2, movhi, movhi_bytes): Simplify.
412 (rotated_loadsi, movhi_insn_littleend, movhi_insn_bigend): Delete.
413 (loadhi_si_bigend, loadhi_preinc, loadhi_shiftpreinc): Delete.
414 (loadhi_shiftpredec): Delete.
415 (peephole for post-increment on HImode load): Delete.
416 * arm/crtn.asm: (FUNC_END): Simplify.
417 * arm/lib1funcs.asm: Remove APCS-26 return macros.
418 * arm/aof.h, arm/coff.h arm/elf.h arm/linux-elf.h arm/netbsd-elf.h
b4117c30 419 * arm/netbsd.h arm/pe.h arm/semi.h arm/semiaof.h arm/unknown-elf.h
61f0ccff
RE
420 * arm/vxworks.h arm/wince-pe.h: Tidy TARGET_DEFAULTS and
421 MULTILIB_DEFAULTS as required.
422 * arm/t-arm-elf arm/t-linux arm/t-pe arm/t-semi arm/t-wince-pe
423 * arm/t-xscale-coff arm/t-xscale-elf arm/uclinux-elf: Tidy MULTILIB
424 variables as required.
425 * doc/invoke.texi (ARM Options): Remove obsolete flags.
426
11c01dcc
AM
4272004-05-15 Alan Modra <amodra@bigpond.net.au>
428
429 * config/rs6000/rs6000.c (rs6000_va_arg <ABI_V4>): Don't use
430 UNITS_PER_WORD to calculate gpr size. Re-instate code to set reg
431 count to 8 to handle n_reg > 2.
432
aaa67502
JM
4332004-05-15 Joseph S. Myers <jsm@polyomino.org.uk>
434
435 * doc/extend.texi: Update WG14 URL.
436
827c06b6
SB
4372004-05-15 Steven Bosscher <stevenb@suse.de>
438
439 * basic-block.h (life_analysis, delete_noop_moves):
440 Update prototypes.
441 * bt-load.c (branch_target_load_optimize): Don't take the
442 insns stream as an argument. Update the life_analysis calls.
443 * combine.c (combine_instructions): Update delete_noop_moves
444 calls.
445 * flow.c (notice_stack_pointer_modification): Don't take the
446 insns stream as an argument. Work on the flow graph.
447 (life_analysis): Likewise.
448 (delete_noop_moves): Likewise.
449 * passes.c (rest_of_handle_stack_regs): Update reg_to_stack call.
450 (rest_of_handle_life): Update life_analysis call.
451 (rest_of_compilation): Likewise, and also update
452 branch_target_load_optimize call.
453 * ra.c (reg_alloc): Update life_analysis call.
454 * reg-stack.c (reg_to_stack): Likewise. Also, don't take
455 the insns stream as an argument.
456 * regrename.c (copyprop_hardreg_forward): Update delete_noop_moves
457 call.
458 * rtl.c (branch_target_load_optimize, reg_to_stack): Update
459 prototypes.
460 * value-profile.c (branch_prob): Update life_analysis call.
461 * web.c (web_main): Work on the CFG, not on the insns stream.
462
463 * config/ip2k/ip2k.c (ip2k_reorg): Update life_analysis calls.
464 * config/m68hc11/m68hc11.c (m68hc11_reorg): Likewise.
465 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
466
e9a75776
JM
4672004-05-15 Joseph S. Myers <jsm@polyomino.org.uk>
468
469 PR c/15444
470 * c-format.c (avoid_dollar_number): New function.
471 (check_format_info_main): Call avoid_dollar_number when operand
472 numbers might occur but has_operand_number == 0.
473
3053b100
RE
4742004-05-14 Richard Earnshaw <rearnsha@arm.com>
475
476 * arm.md (all peephole2 patterns): Use predicates that validate
477 register classes as appropriate.
478
b89e96ac
SB
4792004-05-14 Steven Bosscher <stevenb@suse.de>
480
481 PR opt/14472
482 * tree-tailcall.c (process_assignment): Use STRIP_NOPS to
483 ignore type conversions that do not inhibit tail calling.
484 (find_tail_calls): Likewise.
485
14bc8dc2
JL
4862004-05-14 Jeff Law <law@redhat.com>
487
91cde0c3
JL
488 * tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Don't even
489 bother marking bypassed virtuals for out-of-ssa. Instead merge
827c06b6 490 bypassed virtuals into vars_to_rename just before into-ssa pass.
91cde0c3 491
14bc8dc2
JL
492 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Reorganize
493 so that it picks up more opportunities to eliminate ABS expressions
494 or turn them into negations.
495
e83f4801
SB
4962004-05-14 Steven Bosscher <stevenb@suse.de>
497
498 * passes.c (rest_of_handle_null_pointer): Remove.
499 (rest_of_handle_cse): Don't call rest_of_handle_null_pointer.
500 (rest_of_compilation): Likewise.
501 * rtl.h (delete_null_pointer_checks): Remove prototype.
502 * gcse.c (rd_kill, rd_gen, reaching_defs, rd_out, ae_in, ae_out):
503 Remove declarations.
504 (get_bitmap_width, alloc_rd_mem, free_rd_mem, handle_rd_kill_set,
505 compute_kill_rd, compute_rd, alloc_avail_expr_mem,
506 free_avail_expr_mem, compute_ae_gen, expr_killed_p, compute_ae_kill,
507 expr_reaches_here_p, computing_insn, def_reaches_here_p,
508 can_disregard_other_sets, handle_avail_expr, classic_gcse,
509 one_classic_gcse_pass, invalidate_nonnull_info,
510 delete_null_pointer_checks_1, delete_null_pointer_checks,
511 expr_reached_here_p_work): Remove.
512 (gcse_main): Do not perform classic GCSE when optimizing for size.
513 (alloc_pre_mem, free_pre_mem): Don't touch ae_in and ae_out, they
514 are never used.
515
571325db
AP
5162004-05-14 Andrew Pinski <pinskia@physics.uc.edu>
517
518 PR optimization/14466
519 * tree-complex.c (make_temp): Remove.
520 (gimplify_val): Replace make_temp with make_rename_temp
521 and add NULL as the second argument.
522 (expand_complex_div_wide): Likewise.
523 * tree-dfa.c (make_rename_temp): New function.
524 * tree-flow.h (make_rename_temp): Declare.
525 * tree-sra.c (make_temp): Remove.
526 (lookup_scalar): Replace make_temp with make_rename_temp.
527 (create_scalar_copies): Likewise.
528 * tree-ssa-phiopt.c (conditional_replacement): When we
529 get non gimple create a temporary variable to hold the
530 casted expression.
531
13c1cd82
PB
5322004-05-14 Paul Brook <paul@codesourcery.com>
533
534 * stor-layout.c (update_alignment_for_field): Use
535 targetm.align_anon_bitfield.
536 * target-def.h (TARGET_ALIGN_ANON_BITFIELD): Define.
537 (TARGET_INITIALIZER): Use it.
538 * target.h (struct gcc_target): Add align_anon_bitfield.
539 * config/arm/arm.c (arm_align_anon_bitfield): New function.
540 (TARGET_ALIGN_ANON_BITFIELD): Define.
541 * doc/tm.texi: Document TARGET_ALIGN_ANON_BITFIELD.
542
90afe2c9
ZW
5432004-05-13 Zack Weinberg <zack@codesourcery.com>
544
545 * tree.def (documentation): Remove mention of class 'b'.
546 (BLOCK): Now in class 'x'.
547 * c-common.c (verify_tree): Remove case 'b'.
548 * c-typeck.c (same_translation_unit_p): Change 'b' to 'x'.
549 * calls.c (calls_function_1): Control cannot get past the switch
550 when exp is a BLOCK.
551 * print-tree.c (print_node): Move code for class 'b' to the class
552 'c'/'x' switch, as case BLOCK.
553 * tree.c (tree_size, make_node_stat, tree_node_structure): Likewise.
554 (unsafe_for_reeval, substitute_placeholder_in_expr)
555 (stabilize_reference_1): Remove case 'b'.
556 * tree-browser.c (browse_tree): Change all tests for TREE_CODE_CLASS
557 of something being 'b' to tests for TREE_CODE of something being
558 BLOCK.
559 * tree-ssa-operands.c (get_expr_operands): Likewise.
560
eadf906f
DN
5612004-05-13 Diego Novillo <dnovillo@redhat.com>
562
563 * tree-gimple.c: Rename from tree-simple.c.
564 * tree-gimple.h: Rename from tree-simple.h.
565 * c-gimplify.c: Rename from c-simplify.c
566 * Makefile.in, c-decl.c, gimple-low.c, gimplify.c,
567 langhooks.c, tree-alias-ander.c, tree-alias-common.c,
568 tree-complex.c, tree-dfa.c, tree-flow.h, tree-inline.c,
569 tree-into-ssa.c, tree-iterator.c, tree-mudflap.c,
570 tree-nested.c, tree-nomudflap.c, tree-outof-ssa.c, tree-sra.c,
571 tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-copyrename.c,
572 tree-ssa-dce.c, tree-ssa-live.c, tree-ssa-pre.c, tree-ssa.c:
573 Update.
574
fc55c95e
RM
5752004-05-14 Ranjit Mathew <rmathew@hotmail.com>
576
577 * doc/sourcebuild.texi: Mention libbanshee and libmudflap.
578
2b648957
AP
5792004-05-13 Andrew Pinski <pinskia@physics.uc.edu>
580
6b9bee8e
AP
581 * tree-ssa.c (delete_tree_ssa): XFREE
582 bitmaps allocated with BITMAP_XMALLOC.
583
15342341
AP
584 * tree-ssa-pre.c (execute_pre): Free ephi_use_pool and
585 idfs_cache at the end of the function.
586
587 * tree-ssa-live.c (calculate_live_on_entry): Free saw_def
623f4556
AP
588 at the end of the function.
589
960076d9
AP
590 * tree-ssa-dce.c (perform_tree_ssa_dce): Free
591 el at the end of the function.
592
8b752086
AP
593 * tree-into-ssa.c (insert_phi_nodes_for): XFREE
594 bitmaps allocated with BITMAP_XMALLOC.
595
77e23325
AP
596 * loop-unswitch.c (unswitch_single_loop): Free bbs at
597 the end.
598
07a1f795
AP
599 * final.c (shorten_branches): Free uid_shuid before
600 reallocating it.
601
2b648957
AP
602 * bb-reoder.c (connect_traces): Free cold_traces at the end.
603
91581bcc
JL
6042004-05-13 Jeff Law <law@redhat.com>
605
02ea8d06
JL
606 * tree-ssa-live.c (calculate_live_on_entry): Ignore virtual
607 variables. Simplify slightly by using USE_OP/DEF_OP instead
608 of USE_OP_PTR/DEF_OP_PTR and dereferencing the result.
609
6c875a31
JL
610 * tree-into-ssa.c (compute_global_livein): Use EXECUTE_IF_SET_IN_BITMAP
611 rather than iterating through the blocks testing each bit in
612 livein to initialize the worklist.
613 (mark_def_sites): Remove useless checks of KILLS for virtual
614 operands.
615
91581bcc
JL
616 * tree-ssa-forwprop.c (record_single_argument_cond_exprs): Accept
617 new parameters for the statement and variable worklist as well
618 as a bitmap of interesting SSA_NAMEs. Walk over the statement
619 worklist recording interesting variables in the variable worklist
620 and bitmap. Handle casts between integral and boolean types.
621 (substitute_single_use_vars): Accept new parameters for the statement
622 and variable worklist. When a substitution is made add a new
623 entry to the statement worklist. Handle casts between integral
624 and boolean types.
625 (tree_ssa_forward_propagate_single_use_vars): Rework to pass
626 worklists to children. Iterate until the statement worklist
627 is empty.
628
0b87eff5
AP
6292004-05-13 Andrew Pinski <pinskia@physics.uc.edu>
630
520f0c48
AP
631 * tree-outof-ssa.c (rewrite_vars_out_of_ssa): Free map at
632 the end of the block.
633
f472590a
AP
634 * tree-into-ssa.c (def_blocks_free): XFREE bitmaps allocated
635 with BITMAP_XMALLOC.
636
d1f9044b
AP
637 * tree-ssa-alias.c (delete_alias_info): XFREE bitmaps allocated
638 with BITMAP_XMALLOC.
639
cfa4cb00
AP
640 * tree-ssa-dom.c (tree_ssa_dominator_optimize):
641 Free nonzero_vars at the end of the function.
642
0b87eff5
AP
643 * convert.c (convert_to_integer): Make a CONVERT_EXPR when there is a
644 need to generate code instead of a NOP_EXPR.
645
eb18fd8d
ILT
6462004-05-13 Ian Lance Taylor <ian@wasabisystems.com>
647
648 * gcc.c (default_compilers): Fill out initializers for new Fortran
649 entries.
650
d81d0bdd
PB
6512004-05-13 Paul Brook <paul@codesourcery.com>
652
653 * config/arm/arm.h (PCC_BITFIELD_TYPE_MATTERS): Define.
654
6b045785
PB
6552004-05-13 Paul Brook <paul@codesourcery.com>
656
657 * config/arm/arm.c (arm_default_short_enums): New function.
658 (TARGET_DEFAULT_SHORT_ENUMS): Define.
659
6de9cd9a
DN
6602004-05-13 Diego Novillo <dnovillo@redhat.com>
661
662 Merge from tree-ssa-20020619-branch.
663
664 * Makefile.in (reload1.o-warn): Add.
665 (tree-alias-ander.o-warn): Add.
666 (GMPLIBS): Define.
667 (GMPINC): Define.
668 (BANSHEELIB): Define.
669 (BANSHEEINC): Define.
670 (TREE_DUMP_H): Define.
671 (TREE_SIMPLE_H): Define.
672 (TREE_FLOW_H): Define.
673 (LIBDEPS): Add BANSHEELIB.
674 (INCLUDES): Add BANSHEEINC and GMPINC.
675 (C_AND_OBJC_OBJS): Add c-simplify.o, tree-mudflap.o,
676 c-mudflap.o and c-pretty-print.o.
677 (C_OBJS): Remove c-pretty-print.o.
678 (OBJS-common): Remove sibcall.o.
679 Add tree-cfg.o, tree-dfa.o, tree-eh.o,
680 tree-ssa.o, tree-optimize.o, tree-simple.o,
681 tree-alias-type.o, gimplify.o, tree-pretty-print.o,
682 tree-into-ssa.o, tree-outof-ssa.o, tree-alias-common.o,
683 tree-ssa-ccp.o, @ANDER@, tree-ssa-dce.o, tree-ssa-copy.o,
684 tree-nrv.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
685 tree-ssa-live.o, tree-ssa-operands.o, tree-ssa-alias.o,
686 tree-ssa-phiopt.o, tree-ssa-forwprop.o, tree-nested.o,
687 tree-ssa-dse.o, tree-ssa-dom.o, domwalk.o,
688 tree-tailcall.o, gimple-low.o, tree-iterator.o,
689 tree-phinodes.o, tree-ssanames.o, tree-sra.o,
690 tree-complex.o, tree-ssa-loop.o, rtl-profile.o and
691 tree-profile.o.
692 (OBJC-archive): Add tree-nomudflap.o.
693 (cc1): Add dependency on @TREEBROWSER@.
694 (c-decl.o): Add dependency on TREE_DUMP_H.
695 (c-dump.o): Likewise.
696 (c-common.o): Add dependency on tree-iterator.h
697 (c-pretty-print.o): Add dependency on DIAGNOSTIC_H.
698 (gtype-desc.o): Add dependency on TREE_FLOW_H.
699 (tree.o): Add dependency on tree-iterator.h,
700 BASIC_BLOCK_H and TREE_FLOW_H.
701 (tree-dump.o): Depend on TREE_DUMP_H instead of tree-dump.h.
702 (langhooks.o): Add dependency on TREE_SIMPLE_H.
703 (tree-alias-type.o, tree-alias-ander.o,
704 tree-alias-common.o, tree-ssa.o, tree-into-ssa.o,
705 tree-outof-ssa.o, tree-ssa-dse.o, tree-ssa-forwprop.o,
706 tree-ssa-phiopt.o, tree-nrv.o, tree-ssa-copy.o,
707 tree-ssa-dom.o, tree-ssanames.o, tree-phinodes.o,
708 domwalk.o, tree-ssa-live.o, tree-ssa-copyrename.o,
709 tree-ssa-pre.o, tree-cfg.o, tree-tailcall.o,
710 tree-nested.o, tree-iterator.o, tree-dfa.o,
711 tree-ssa-operands.o, tree-eh.o, tree-ssa-loop.o,
712 tree-ssa-alias.o, tree-optimize.o, c-simplify.o,
713 gimplify.o, gimple-low.o, tree-browser.o, tree-simple.o,
714 tree-mudflap.o, c-mudflap.o, tree-nomudflap.o,
715 tree-pretty-print.o, tree-ssa-dce.o, tree-ssa-ccp.o,
716 tree-sra.o, tree-complex.o, tree-profile.o,
717 rtl-profile.o): New rules.
718 (function.o): Add dependency on basic-block.h
719 (expr.o): Add dependency on tree-iterator.h.
720 (sibcall.o): Remove.
721 (profile.o): Depend on TREE_FLOW_H instead of TREE_H.
722 (cfg.o): Add dependency on TIMEVAR_H.
723 (cfghooks.o): Add dependency on TREE_FLOW_H.
724 (reg-stack.o): Add dependency on basic-block.h.
725 (GTFILES): Add hwint.h, tree-mudflaph.c, tree-flow.h,
726 c-objc-common.c, c-common.c, c-parse.in, tree-ssanames.c,
727 tree-eh.c, tree-phinodes.c, tree-cfg.c, tree-dfa.c,
728 tree-ssa-ccp.c, tree-iterator.c, gimplify.c,
729 tree-alias-type.h, tree-alias-common.h,
730 tree-alias-type.c, tree-alias-common.c,
731 tree-ssa-operands.h, tree-ssa-operands.c, tree-profile.c,
732 rtl-profile.c and tree-nested.c.
733 (gt-tree-alias-common.h, gt-tree-mudflap.h,
734 gt-tree-ssa-ccp.h, gt-tree-eh.h, gt-tree-ssanames.h,
735 gt-tree-iterator.h, gt-gimplify.h, gt-tree-phinodes.h,
736 gt-tree-cfg.h, gt-tree-nested.h): New rules.
737 (TEXI_GCCINT_FILES): Add cfg.texi and tree-ssa.texi.
738 * basic-block.h: Include predict.h
739 (struct edge_def): Add GTY marker.
740 Change field 'insns' to be a union of tree and rtx.
741 (EDGE_TRUE_VALUE): Define.
742 (EDGE_FALSE_VALUE): Define.
743 (EDGE_EXECUTABLE): Define.
744 (struct bb_ann_d): Forward declare.
745 (struct basic_block_def): Add GTY marker.
746 Remove fields head_tree and end_tree.
747 Add fields stmt_list, rbi and tree_annotations.
748 (struct reorder_block_def): Define.
749 (basic_block_info): Add GTY marker.
750 (ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Change to global
751 variables instead of macros.
752 (flow_call_edges_add): Remove declaration.
753 (make_eh_edge): Remove declaration.
754 (brief_dump_cfg, find_edge, tree_predicted_by_p,
755 rtl_predicted_by_p, tree_predict_edge, rtl_predict_edge,
756 predict_edge_def, rtl_make_eh_edge, find_basic_blocks,
757 cleanup_cfg, delete_unreachable_blocks, merge_seq_blocks,
758 alloc_rbi_pool, initialize_bb_rbi, free_rbi_pool): Declare.
759 (try_redirect_by_replacing_jump): Modfiy return type to
760 edge instead of bool.
761 * bb-reorder.c (copy_bb): Call duplicate_block
762 instead of cfg_layout_duplicate_bb.
763 (copy_bb_p): Call can_duplicate_block_p instead of
764 cfg_layout_can_duplicate_bb_p.
765 * bitmap.c (bitmap_first_set_bit): Abort if word
766 wasn't found.
767 (bitmap_last_set_bit): Likewise.
768 * builtin-types.def (DEF_FUNCTION_TYPE_2): Add
769 (DEF_FUNCTION_TYPE_3): Add.
770 * builtins.c (c_strlen): Make extern.
771 (builtin_save_expr): New.
772 (expand_builtin_nonlocal_goto): New.
773 (expand_builtin_constant_p): Remove.
774 (expand_builtin_mathfn): Call builtin_save_expr instead
775 of save_expr.
776 (expand_builtin_mathfn_2): Likewise.
777 (expand_builtin_strcmp): Likewise.
778 (expand_builtin_strncmp): Likewise.
779 (expand_builtin_strcat): Likewise.
780 (fold_builtin_cabs): Likewise.
781 (expand_builtin_alloca): Don't trigger if -fmudflap is
782 given.
783 (build_string_literal): Set TREE_INVARIANT on new node.
784 (expand_builtin_profile_fun): New.
785 (round_trampoline_addr): New.
786 (expand_builtin_init_trampoline): New.
787 (expand_builtin_adjust_trampoline): New.
788 (expand_builtin) <BUILT_IN_NEXT_ARG>: Call simplify_builtin_next_arg.
789 <BUILT_IN_CONSTANT_P>: Return const0_rtx;
790 <BUILT_IN_STACK_ALLOC, BUILT_IN_STACK_SAVE,
791 BUILT_IN_STACK_RESTORE, BUILT_IN_NONLOCAL_GOTO,
792 BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT,
793 BUILT_IN_INIT_TRAMPOLINE, BUILT_IN_ADJUST_TRAMPOLINE>:
794 Handle.
795 (fold_builtin_expect): New.
796 (fold_builtin_isascii): Don't return non-constant results
797 in GIMPLE form.
798 (fold_builtin_isdigit): Likewise.
799 (fold_builtin_1): New.
800 (fold_builtin): Call it.
801 (build_function_call_expr): Update call to build a new
802 CALL_EXPR.
803 (purge_builtin_constant_p): Remove.
804 (simplify_builtin, simplify_builtin_memcmp,
805 simplify_builtin_strcmp, simplify_builtin_strncmp,
806 simplify_builtin_strpbrk, simplify_builtin_strstr,
807 simplify_builtin_strchr, simplify_builtin_strrchr,
808 simplify_builtin_strcat, simplify_builtin_strncat,
809 simplify_builtin_strspn, simplify_builtin_strcspn,
810 simplify_builtin_next_arg, simplify_builtin_va_start,
811 simplify_builtin_sprintf): New.
812 * builtins.def (BUILT_IN_STACK_ALLOC,
813 BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE,
814 BUILT_IN_INIT_TRAMPOLINE, BUILT_IN_ADJUST_TRAMPOLINE,
815 BUILT_IN_NONLOCAL_GOTO, BUILT_IN_PROFILE_FUNC_ENTER,
816 BUILT_IN_PROFILE_FUNC_EXIT): Define.
817 * c-common.c: Include tree-iterator.h and hashtab.h.
818 (lang_statement_code_p): Declare.
819 (lang_gimplify_stmt): Declare.
820 (fix_string_type): Set TREE_INVARIANT for value.
821 (pointer_int_sum): Rely on build to set TREE_CONSTANT.
822 (c_type_hash): New.
823 (c_common_get_alias_set): Handle multiple type nodes
824 referring to "the same" type, currently for C90 only.
825 (c_add_case_label): Use create_artificial_label.
826 (finish_label_address_expr): Don't set TREE_CONSTANT on
827 result.
828 (c_expand_expr): Don't handle STMT_EXPR.
829 (handle_alias_attribute): Marke aliased variables to be
830 TREE_STATIC.
831 (handle_nonnull_attribute): Initialize arg_num.
832 (check_function_nonnull): Likewise.
833 (c_walk_subtrees): New.
834 (c_estimate_num_insns_1): Don't handle
835 EXPR_WITH_FILE_LOCATION nor FILE_STMT.
836 (c_decl_uninit_1): Remove.
837 (c_decl_uninit): Remove.
838 (c_warn_unused_result): New.
839 * c-common.def (ASM_STMT): Change number of operands
840 to 4.
841 (FILE_STMT): Remove.
842 * c-common.h (lang_expand_stmt, lang_expand_decl_stmt):
843 Remove.
844 (lang_gimplify_stmt): Add.
845 (expand_stmt): Remove.
846 (ASM_CV_QUAL, ASM_STRING, ASM_OUTPUTS, ASM_INPUTS,
847 ASM_CLOBBERS, STMT_EXPR_WARN_UNUSED_RESULT,
848 ASM_VOLATILE_P, FILE_STMT_FILENAME_NODE,
849 FILE_STMT_FILENAME, STMT_LINENO, STMT_LINENO_FOR_FN_P,
850 ASM_INPUT_P, DECL_C_HARD_REGISTER): Remove.
851 (genrtl_do_pushlevel, genrtl_goto_stmt, genrtl_expr_stmt,
852 genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
853 genrtl_while_stmt, genrtl_do_stmt, genrtl_return_stmt,
854 genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
855 genrtl_scope_stmt, genrtl_switch_stmt, genrtl_case_label,
856 genrtl_compound_stmt, genrtl_asm_stmt,
857 genrtl_cleanup_stmt, c_decl_uninit): Remove.
858 (c_do_switch_warnings, c_gimplify_expr, c_walk_subtrees,
859 c_tree_chain_matters_p, c_warn_unused_result,
860 c_genericize, c_gimplify_stmt, stmt_expr_last_stmt):
861 Declare.
862 * c-convert.c (convert): Make convert work when
863 converting to compatible types across translation unit.
864 * c-decl.c: Include langhooks.h, tree-mudflap.h,
865 tree-simple.h, diagnostic.h and tree-dump.h
866 (merge_decls): Initialize oldtype to NULL.
867 (finish_decl): Use DECL_HARD_REGISTER instead of
868 DECL_C_HARD_REGISTER.
869 (check_bitfield_type_and_width): Check for null
870 lang_type_specific when check the precision of an enum.
871 (grokdeclarator): Immediately layout an ARRAY_TYPE used
872 in a pointer-to-array declarator.
873 (finish_struct): Clear allocated struct lang_type.
874 (finish_enum): Set enum_min and enum_max. Set
875 TYPE_MIN/MAX_VALUE to the limits of the compatible type,
876 not to the enumerators.
877 (set_decl_nonlocal): New.
878 (store_parm_decls): Use it via walk_tree.
879 (c_finalize): New.
880 (finish_function): When !targetm.have_ctors_dtors,
881 record static constructors and destructors here...
882 (c_expand_body_1): ... not here.
883 (c_expand_decl): Rename from c_expand_decl_stmt.
884 Handle all C-specific expansion semantics.
885 * c-dump.c (dump_stmt): Use EXPR_LOCUS instead of
886 STMT_LINENO.
887 * c-format.c (handle_format_arg_attribute): Initialize
888 format_num.
889 * c-lang.c: Include tree-inline.h
890 (LANG_HOOKS_EXPAND_DECL,
891 LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
892 LANG_HOOKS_TREE_INLINING_WALK_SUBTREES,
893 LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P,
894 LANG_HOOKS_GIMPLIFY_EXPR, LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
895 (LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
896 LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): Remove.
897 (c_types_compatible_p): New.
898 * c-mudflap.c: New file.
899 * c-objc-common.c: Include tree-mudflap.h
900 (start_cdtor, finish_cdtor): Collapse
901 together into
902 (build_cdtor): ...here. Update to construct a complete tree
903 for the function. No need to call push_scope, pop_scope, or
904 clear_last_expr, or set current_function_cannot_inline.
905 (c_missing_noreturn_ok_p): Change prototype to return
906 bool.
907 (c_objc_common_init): Don't set lang_missing_noreturn_ok_p.
908 * c-opts.c (c_common_handle_option): Move handling of -fdump- to
909 opts.c.
910 (c_common_post_options): Don't ever use rtl inlining.
911 * c-parse.in: Use EXPR_LOCUS instead of STMT_LINENO.
912 * c-pragma.c (handle_pragma_redefine_extname): Define
913 always.
914 (init_pragma): Activate #pragma redefine_extname for mudflap.
915 * c-pretty-print.c (pp_c_statement): Remove FILE_STMT.
916 (pp_c_initializer): Accept any type CONSTRUCTOR.
917 (pp_c_initializer_list): Fix code expectations for VECTOR_TYPE and
918 COMPLEX_TYPE.
919 (decl_name_str): New local function.
920 (pp_c_direct_declarator): Call it.
921 (pp_c_primary_expression): Call it.
922 (pp_c_id_expression): Call it.
923 (pp_c_statement): Call it.
924 (print_c_tree): Create new pp object.
925 * c-pretty-print.h (pp_c_tree_decl_identifier,
926 print_c_tree): Declare.
927 * c-semantics.c: Include langhooks.h
928 (lang_expand_stmt, lang_expand_decl_stmt,
929 find_reachable_label_1, find_reachable_label,
930 expand_unreachable_if_stmt, expand_unreachable_stmt,
931 genrtl_do_stmt_1): Remove.
932 (begin_stmt_tree): Don't check for changed filename.
933 Call annotate_with_locus.
934 (finish_stmt_tree): Don't set line for end of function.
935 (build_stmt): Don't check type nodes for
936 side effects.
937 (build_stmt): Set TREE_SIDE_EFFECTS.
938 Set EXPR_LOCUS instead of STMT_LINENO.
939 (lang_expand_stmt, lang_expand_decl_stmt,
940 expand_cond, genrtl_do_pushlevel, genrtl_goto_stmt, genrtl_expr_stmt,
941 genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
942 genrtl_while_stmt, genrtl_do_stmt_1, genrtl_do_stmt,
943 genrtl_return_stmt, genrtl_for_stmt, genrtl_break_stmt,
944 genrtl_continue_stmt, genrtl_scope_stmt, genrtl_switch_stmt,
945 genrtl_case_label, genrtl_compound_stmt, genrtl_asm_stmt,
946 genrtl_cleanup_stmt, expand_stmt, find_reachable_label,
947 find_reachable_label_1, expand_unreachable_if_stmt,
948 expand_unreachable_stmt): Remove.
949 (prep_stmt): Use EXPR_LOCUS instead of STMT_LINENO.
950 * c-simplify.c: New file.
951 * c-tree.h (C_LANG_TREE_NODE_CHAIN_NEXT): Define.
952 (struct lang_type): Add fields enum_min and enum_max.
953 (c_expand_decl_stmt, c_missing_noreturn_ok_p): Remove.
954 (c_expand_decl, c_missing_noreturn_ok_p,
955 c_types_compatible_p): Declare.
956 * c-typeck.c (tagged_types_tu_compatible_p): Allow for
957 compiler-generated TYPE_DECLs without a DECL_ORIGINAL_TYPE.
958 (default_function_array_conversion): Rely on build to
959 set TREE_CONSTANT.
960 (parser_build_binary_op, pointer_diff): Likewise.
961 (build_unary_op, build_binary_op): Likewise.
962 (build_array_ref):
963 (build_external_ref): Set TREE_INVARIANT.
964 (build_c_cast, pop_init_level): Likewise.
965 (process_init_element): Use ASM_VOLATILE_P.
966 (build_asm_expr): Adapt to GENERIC/GIMPLE syntax.
967 (c_finish_case): Call c_do_switch_warnings.
968 * c.opt (fdump-): Remove.
969 * calls.c (try_to_integrate): Remove.
970 (prepare_call_address): Replace fndecl arg with a
971 precomputed static chain value.
972 (emit_call_1): New argument for full call expr.
973 (flags_from_decl_or_type): Call special_function_p.
974 (initialize_argument_information): Add argument
975 may_tailcall.
976 (purge_reg_equiv_notes): New.
977 (expand_call): Do not try to expand calls inline.
978 (fixup_tail_calls): New.
979 * cfg.c: Include timevar.h and ggc.h.
980 (bb_pool, edge_pool): Remove.
981 (ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Declare.
982 (entry_exit_blocks): Remove.
983 (rbi_pool): Declare.
984 (init_flow): Do not create pools.
985 Allocate entry/exit block.
986 (free_edge, alloc_block, expunge_block, unchecked_make_edge): Use GGC.
987 (alloc_rbi_pool, free_rbi_pool, initialize_bb_rbi): New.
988 (unlink_block): Clear b->prev_bb and b->next_bb.
989 (compact_blocks): Clear all slots of BASIC_BLOCK array.
990 (dump_flow_info): Work on trees too.
991 (dump_cfg_bb_info): New.
992 (brief_dump_cfg): New.
993 * cfganal.c (need_fake_edge_p, flow_call_edges_add): Remove.
994 (find_edge): New.
995 * cfgbuild.c (rtl_make_eh_edge): Rename from
996 make_eh_edge. Update all users.
997 (find_basic_blocks): Don't call VARRAY_FREE on
998 basic_block_info.
999 * cfgcleanup.c (outgoing_edges_match): Initialize newpos1
1000 and newpos2.
1001 (delete_unreachable_blocks): Return changed status.
1002 (merge_seq_blocks): New.
1003 * cfghooks.c: Include tree-flow.h
1004 (tree_register_cfg_hooks, ir_type): New.
1005 (redirect_edge_and_branch): Change return type to edge.
1006 (predict_edge, predicted_by_p, can_duplicate_block_p,
1007 duplicate_block, block_ends_with_call_p,
1008 block_ends_with_condjump_p, flow_call_edges_add): New.
1009 * cfghooks.h (redirect_edge_and_branch): Change return
1010 type to edge.
1011 (predict_edge, predicted_by_p, can_duplicate_block_p,
1012 duplicate_block, block_ends_with_call_p,
1013 block_ends_with_condjump_p, flow_call_edges_add): Declare.
1014 (redirect_edge_and_branch): Change return type to edge.
1015 (struct cfg_hooks): Add fields block_ends_with_call_p,
1016 block_ends_with_condjump_p, flow_call_edges_add,
1017 predict_edge, predicted_by_p, can_duplicate_block_p and
1018 duplicate_block.
1019 (tree_cfg_hooks, ir_type, tree_register_cfg_hooks): Declare.
1020 * cfglayout.c (cfg_layout_pool, cfg_layout_initialize_rbi): Removed.
1021 (fixup_reorder_chain): Use initialize_bb_rbi.
1022 (cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Hookized.
1023 (cfg_layout_initialize): Use cfg.c rbi pool manipulation functions.
1024 (can_copy_bbs_p, copy_bbs): Use cfghooks for bb duplication.
1025 (insn_locators_initialize): Use new info about blocks.
1026 * cfglayout.h (typedef struct reorder_block_def): Moved to
1027 basic_block.h.
1028 (cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Declaration
1029 removed.
1030 * cfgloop.c: Include tree.h and tree-flow.h.
1031 * cfgloop.h (create_loop_notes): Declare.
1032 * cfgloopmanip.c (create_loop_notes): New.
1033 * cfgrtl.c (cfg_layout_create_basic_block): Use initialize_bb_rbi.
1034 (rtl_cfg_hooks, cfg_layout_rtl_cfg_hook): Fill in can_duplicate_block_p
1035 and duplicate_block fields.
1036 (create_basic_block_structure): Don't look at
1037 RTX_INTEGRATED_P.
1038 (rtl_block_ends_with_call_p): New.
1039 (rtl_block_ends_with_condjump_p): New.
1040 (need_fake_edge_p): Moved from cfganal.c.
1041 (rtl_flow_call_edges_add): Moved from cfganal.c (flow_call_edges_add).
1042 (rtl_cfg_hooks): Add rtl_block_ends_with_call_p,
1043 rtl_block_ends_with_condjump_p, rtl_flow_call_edges_add.
1044 (cfg_layout_rtl_cfg_hooks): Ditto.
1045 * cgraph.c (cgraph_mark_reachable_node): Don't force nested
1046 functions to be reachable.
1047 * cgraphunit.c (decide_is_function_needed):
1048 * cgraphunit.c (decide_is_function_needed): Nested functions of extern
1049 inline functions don't need to be output.
1050 (cgraph_assemble_pending_functions): Don't do anything
1051 special for nested functions.
1052 (cgraph_mark_functions_to_output): Likewise.
1053 (cgraph_finalize_function): Don't zap DECL_STRUCT_FUNCTION.
1054 (cgraph_analyze_function): Use estimate_num_insns.
1055 (cgraph_mark_functions_to_output): Likewise.
1056 (cgraph_estimate_growth, cgraph_clone_inlined_nodes): Likewise.
1057 (cgraph_expand_function): Allow functions to not be
1058 emitted.
1059 (cgraph_remove_unreachable_nodes):
1060 (cgraph_recursive_inlining_p): Simplify.
1061 (lookup_recursive_calls,
1062 cgraph_decide_recursive_inlining): New.
1063 (cgraph_decide_inlining_*): Update calls of
1064 cgraph_mark_inline.
1065 * combine.c (get_pos_from_mask): Always set *plen.
1066 * common.opt (fdump-, fmudflap, fmudflapth, fmudflapir,
1067 ftree-based-profiling, ftree-ccp, ftree-ch,
1068 ftree-combine-temps, ftree-copyrename, ftree-dce,
1069 ftree-dominator-opts, ftree-dse, ftree-loop-optimize,
1070 ftree-points-to, ftree-pre, ftree-sra, ftree-ter,
1071 ftree-lrs): Add.
1072 * config.in (HAVE_LD_PIE, HAVE_BANSHEE, PREFIX_INCLUDE_DIR):
1073 Undefine.
1074 * configure.ac: Add --enable-tree-browser option.
1075 Add --with-libbanshee option.
1076 Add GMPLIBS and GMPINC.
1077 * configure: Regenerate.
1078 * coverage.c (tree_ctr_tables): New.
1079 (coverage_counter_alloc): Use it.
1080 (build_ctr_info_value): Ditto.
1081 (coverage_counter_ref): Ditto. Rename to rtl_coverage_counter_ref.
1082 (tree_coverage_counter_ref): New.
1083 * coverage.h (coverage_counter_ref): Remove declaration.
1084 (rtl_coverage_counter_ref): Declare.
1085 (tree_coverage_counter_ref): Declare.
1086 * cppexp.c (append_digit): Rearrange unsignedp/overflow setting.
1087 (eval_token, num_binary_op, num_part_mul, num_div_op): Likewise.
1088 * cse.c (fold_rtx): Do not handle CONSTANT_P_RTX.
1089 (struct cse_basic_block_data): Rename enum values to not
1090 conflict with profile.h; update all uses.
1091 * dbxout.c (dbxout_symbol_location): Don't mention integrate.c
1092 in comments.
1093 * defaults.h (TRAMPOLINE_ALIGNMENT): Move from function.c.
1094 * diagnostic.h (debug_output_buffer, dump_generic_node,
1095 print_generic_stmt, print_generic_stmt_indented,
1096 print_generic_expr, print_generic_decl,
1097 debug_generic_expr, debug_generic_stmt, debug_c_tree):
1098 Declare.
1099 * dominance.c: Cache immediate dominators.
1100 * domwalk.c: New file.
1101 * domwalk.h: New file.
1102 * dwarf2out.c (is_fortran): Support DW_LANG_Fortran95.
1103 (gen_subprogram_die): Generate a DIE for a named
1104 return value.
1105 (loc_descriptor_from_tree): Treat RESULT_DECL like VAR_DECL.
1106 (add_location_or_const_value_attribute): Likewise.
1107 (add_bound_info): Likewise.
1108 (gen_decl_die): Likewise.
1109 * emit-rtl.c (maybe_set_first_label_num): New.
1110 (copy_most_rtx): Don't copy the integrated flag.
1111 Copy the new return_val flag.
1112 * et-forest.c (MAX_NODES): Define.
1113 (record_path_before_1): Abort if len is greater than
1114 MAX_NODES.
1115 * except.c (gen_eh_region, gen_eh_region_cleanup, gen_eh_region_try,
1116 gen_eh_region_catch, gen_eh_region_allowed,
1117 gen_eh_region_must_not_throw, get_eh_region_number,
1118 get_eh_region_may_contain_throw, get_eh_region_tree_label,
1119 set_eh_region_tree_label, expand_resx_expr): New.
1120 (expand_eh_region_start, expand_start_catch): Use them.
1121 (expand_end_catch): Tidy.
1122 (note_eh_region_may_contain_throw): Take region argument.
1123 (note_current_region_may_contain_throw): New.
1124 (get_exception_filter): Export.
1125 (collect_eh_region_array): Export.
1126 (remove_unreachable_regions): Check ERT_TRY based on reachability
1127 of catches, not reachability of continue_label. Never remove
1128 ERT_MUST_NOT_THROW regions.
1129 (collect_rtl_labels_from_trees): New.
1130 (convert_from_eh_region_ranges): Use it.
1131 (connect_post_landing_pads): Handle dying cleanups.
1132 (struct reachable_info): Add callback data.
1133 (add_reachable_handler): Invoke the callback.
1134 (foreach_reachable_handler): New.
1135 (reachable_handlers): Use it.
1136 (arh_to_landing_pad, arh_to_label): New.
1137 (can_throw_internal_1): Split out from can_throw_internal.
1138 (can_throw_external_1): Similarly.
1139 * except.h: Update.
1140 * explow.c (emit_stack_save): Remove savearea mode check.
1141 (update_nonlocal_goto_save_area): New.
1142 (allocate_dynamic_stack_space): Use it.
1143 (probe_stack_range): Never emit loop notes.
1144 * expmed.c (extract_fixed_bit_field): Always propagate the
1145 target for the shift if it is a REG.
1146 * expr.c: Include tree-iterator.h
1147 (is_zeros_p): Remove.
1148 (categorize_ctor_elements_1, categorize_ctor_elements): New.
1149 (count_type_elements): New.
1150 (mostly_zeros_p): Use them.
1151 (expr_wfl_stack): Remove.
1152 (convert_move): Do nothing if to and from are the same.
1153 (emit_block_move_via_loop): Don't emit LOOP notes.
1154 (emit_move_insn): Don't handle CONSTANT_P_RTX.
1155 (emit_move_insn_1): Don't generate inline warnings.
1156 (expand_vars, expand_var): Split from ...
1157 (expand_expr_1): ... here.
1158 (expand_expr_real, expand_expr_real_1): Use new macros
1159 EXPR_LOCATION and EXPR_HAS_LOCATION.
1160 * expr.h (simplify_builtin_fputs,
1161 simplify_builtin_strcpy, simplify_builtin_strncpy,
1162 expand_var, fixup_tail_calls,
1163 update_nonlocal_goto_save_area): Declare.
1164 (lookup_static_chain, expand_inline_function,
1165 mark_seen_cases): Remove.
1166 (prepare_call_address): Change type of 2nd argument to
1167 rtx.
1168 * final.c (profile_function): Update static chain test.
1169 (final): Don't look at RTX_INTEGRATED_P.
1170 * flags.h (flag_mudflap, flag_mudflap_threads,
1171 flag_mudflap_ignore_reads, flag_tree_pre, flag_tree_ccp,
1172 flag_tree_dce, flag_tree_combine_temps,
1173 flag_tree_live_range_split, flag_tree_dom, flag_tree_ch,
1174 flag_tree_dse, flag_tree_sra, flag_tree_copyrename,
1175 flag_tree_points_to): Declare.
1176 (enum pta_type): Declare.
1177 * flow.c (lang_missing_noreturn_ok_p): Remove.
1178 (check_function_return_warnings): Remove.
1179 (update_life_info): Update comments.
1180 (free_basic_block_vars): Don't call VARRAY_FREE for
1181 basic_block_info.
1182 (regno_uninitialized): Remove.
1183 * fold-const.c (int_const_binop): Make extern.
1184 (non_lvalue): Rely on build to set TREE_CONSTANT.
1185 (operand_equal_p): Replace only_const argument with
1186 flags. Allow pure functions if OEP_PURE_SAME.
1187 (fold): Use OEP_ONLY_CONST.
1188 (invert_truthvalue) <NOP_EXPR> Break if argument is of
1189 boolean type.
1190 (fold_relational_hi_lo,
1191 nondestructive_fold_binary_to_constant,
1192 nondestructive_fold_unary_to_constant,
1193 fold_read_from_constant_string): New.
1194 * function.c (struct function): Remove calls_constant_p.
1195 (current_function_calls_constant_p): Remove.
1196 (inline_function_decl): Remove.
1197 (put_var_into_stack): Don't use it.
1198 (fix_lexical_addr): Likewise.
1199 (inline_function_decl): Remove extern declaration.
1200 (TRAMPOLINE_ALIGNMENT): Move to defaults.h.
1201 (trampolines_created): Move to varasm.c.
1202 (free_after_compilation): Update for removed fields.
1203 (allocate_struct_function): Likewise.
1204 (delete_handlers, lookup_static_chain): Remove.
1205 (fix_lexical_addr): Don't consider non-local variable refs.
1206 (trampoline_address): Remove.
1207 (round_trampoline_addr): Move to builtins.c.
1208 (adjust_trampoline_addr): Remove.
1209 (expand_function_start): Update for changes to static chain
1210 and nonlocal goto handling.
1211 (initial_trampoline): Move to varasm.c.
1212 (expand_function_end): Don't build trampolines or kill
1213 unreferenced nonlocal goto labels.
1214 (free_after_compilation): Don't set it.
1215 (expand_function_end): Likewise.
1216 (setjmp_vars_warning): Rename from
1217 uninitialized_vars_warning, remove uninitialized vars warning.
1218 (uninitialized_vars_warning): Remove old comment
1219 and check for DECL_INITIAL, replace with a check of TREE_NO_WARNING
1220 and do not call the langhook.
1221 (expand_function_start, expand_function_end): Don't do
1222 function instrumentation here.
1223 (clear_block_marks): Rename from reorder_blocks_0, export.
1224 (blocks_nreverse): Export.
1225 (uninitialized_vars_warning): Use DECL_RTL_SET_P to test for presence
1226 of rtl.
1227 (reset_block_changes, record_block_change, finalize_block_changes,
1228 check_block_change, free_block_changes): New functions.
1229 (assign_parms): Setting of current_function_stdarg
1230 moved ...
1231 (allocate_struct_function): ... here.
1232 * function.h (struct function): Remove x_nonlocal_labels,
1233 x_nonlocal_goto_handler_slots, x_nonlocal_goto_stack_level,
1234 x_context_display, x_trampoline_list, needs_context.
1235 Add static_chain_decl, nonlocal_goto_save_area.
1236 (struct function): Remove x_clobber_return_insn.
1237 Add tail_call_emit field, last_label_uid,
1238 unexpanded_var_list, dont_emit_block_notes,
1239 ib_boundaries_block, function_end_locus and saved_tree/saved_args.
1240 (clear_block_marks): Declare.
1241 * gcc.c (MFWRAP_SPEC, MFLIB_SPEC): Add -fmudflapth support.
1242 (mfwrap_spec, mflib_spec): Declare.
1243 (cpp_unique_options, cc1_options): Ditto.
1244 (default_compilers): Add .F and .f90.
1245 (static_specs): Add mfwrap and mflib.
1246 * gcse.c (want_to_gcse_p, gcse_constant_p): Don't handle
1247 CONSTANT_RTX_P.
1248 (reg_used_on_edge, reg_killed_on_edge, bypass_block):
1249 Update to match insns field in struct edge_def.
1250 * gdbinit.in (pgs, pge): Define.
1251 * genattrtab.c (ATTR_PERMANENT_P): Use the return_val flag
1252 instead of the integrated flag.
1253 * gengtype-lex.l (IWOrD): Add HOST_WIDEST_INT
1254 * gengtype-yacc.y (bitfieldlen): Add empty action.
1255 (struct_fields): Accept unnamed bitfields.
1256 (bitfieldlen): Split from ...
1257 (bitfieldopt): ... here.
1258 * gengtype.c (ifiles): Add tree-alias-type.h and
1259 tree-flow.h.
1260 * genrecog.c (validate_pattern): Do not handle
1261 CONSTANT_P_RTX.
1262 * gimple-low.c: New file.
1263 * gimplify.c: New file.
1264 * haifa-sched.c (priority): Do not handle CONSTANT_P_RTX.
1265 (restore_line_notes): Do not set RTX_INTEGRATED_P.
1266 * ifcvt.c (dead_or_predicable): Initialize local variable
1267 'earliest'.
1268 * input.h (expr_wfl_stack): Remove.
1269 * integrate.c (INTEGRATE_THRESHOLD): Remove.
1270 (setup_initial_hard_reg_value_integration): Likewise.
1271 (initialize_for_inline): Likewise.
1272 (note_modified_parmregs): Likewise.
1273 (integrate_parm_decls): Likewise.
1274 (process_reg_param): Likewise.
1275 (save_parm_insns): Likewise.
1276 (copy_insn_list): Likewise.
1277 (copy_insn_notes): Likewise.
1278 (compare_blocks): Likewise.
1279 (find_block): Likewise.
1280 (inlining): Likewise.
1281 (function_cannot_inline_p): Likewise.
1282 (parmdecl_map): Likewise.
1283 (in_nonparam_insns): Likewise.
1284 (save_for_inline): Likewise.
1285 (FIXED_BASE_PLUS): Likewise.
1286 (expand_inline_function): Likewise.
1287 (copy_rtx_and_substitute): Don't look at map->integrating,
1288 map->inline_target, and inlining, since we are never copying
1289 for integrating.
1290 Don't abort on RTX_INTEGRATED_P.
1291 (old_fun): Remove.
1292 (output_inline_function): Remove.
1293 * integrate.h (struct inline_map): Remove fields integrating,
1294 block_map, leaf_reg_map, inline_target, and local_return_label.
1295 * jump.c (next_nonnote_insn_in_loop, duplicate_loop_exit_test,
1296 copy_loop_headers, never_reached_warning): Removed.
1297 (any_uncondjump_p): Reject nonlocal goto.
1298 * langhooks-def.h (lhd_types_compatible_p,
1299 lhd_expand_decl, lhd_gimplify_expr): Declare.
1300 (LANG_HOOKS_EXPAND_DECL, LANG_HOOKS_TYPES_COMPATIBLE_P,
1301 LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
1302 LANG_HOOKS_FUNCTION_LEAVE_NESTED,
1303 LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
1304 LANG_HOOKS_GIMPLIFY_EXPR,
1305 LANG_HOOKS_GIMPLE_BEFORE_INLINING,
1306 LANG_HOOKS_EXPAND_DECL, LANG_HOOKS_TYPES_COMPATIBLE_P,
1307 LANG_HOOKS_GIMPLIFY_EXPR,
1308 LANG_HOOKS_GIMPLE_BEFORE_INLINING): Define.
1309 (LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_START,
1310 LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END,
1311 LANG_HOOKS_FUNCTION_LEAVE_NESTED,
1312 LANG_HOOKS_RTL_EXPAND_INITIALIZER,
1313 LANG_HOOKS_DECL_UNINIT,
1314 LANG_HOOKS_RTL_EXPAND_INITIALIZER): Remove.
1315 * langhooks.c: Include tree-simple.h.
1316 (lhd_expand_decl): New.
1317 (lhd_types_compatible_p): New.
1318 (lhd_decl_uninit): Remove.
1319 (lhd_gimplify_expr): New.
1320 * langhooks.h (struct lang_hooks_for_rtl_expansion):
1321 Remove.
1322 (struct lang_hooks_for_functions): Add field
1323 missing_noreturn_ok_p.
1324 (struct lang_hooks): Add field expand_decl,
1325 types_compatible_p, gimplify_expr and
1326 gimple_before_inlining.
1327 Remove fields decl_uninit and rtl_expand
1328 * opts.c (decode_options): Set flag_tree_ccp,
1329 flag_tree_dce, flag_tree_dom, flag_tree_dse,
1330 flag_tree_pre, flag_tree_ter,
1331 flag_tree_live_range_split, flag_tree_sra,
1332 flag_tree_copyrename and flag_tree_ch at -O1 and higher.
1333 (common_handle_option): Handle OPT_fdump_, OPT_fmudflap,
1334 OPT_fmudflapth, OPT_fmudflapir,
1335 OPT_ftree_based_profiling, OPT_ftree_ccp, OPT_ftree_dce,
1336 OPT_ftree_combine_temps, OPT_ftree_ter, OPT_ftree_lrs,
1337 OPT_ftree_dominator_opts, OPT_ftree_copyrename,
1338 OPT_ftree_ch, OPT_ftree_dse, OPT_ftree_sra,
1339 OPT_ftree_points_to_ and OPT_ftree_pre.
1340 * output.h (regno_uninitialized, find_basic_blocks,
1341 cleanup_cfg, delete_unreachable_blocks,
1342 check_function_return_warnings): Remove.
1343 * params.def (PARAM_MAX_INLINE_INSNS_RECURSIVE,
1344 PARAM_MAX_INLINE_INSNS_RECURSIVE_AUTO,
1345 PARAM_MAX_INLINE_RECURSIVE_DEPTH,
1346 PARAM_MAX_INLINE_RECURSIVE_DEPTH_AUTO,
1347 PARAM_GLOBAL_VAR_THRESHOLD, PARAM_MAX_ALIASED_VOPS):
1348 * params.h (GLOBAL_VAR_THRESHOLD, MAX_ALIASED_VOPS):
1349 Define.
1350 * passes.c (rest_of_decl_compilation):
1351 (rest_of_handle_sibling_calls): Remove.
1352 (rest_of_handle_inlining): Remove.
1353 (rest_of_handle_gcse): Do not run
1354 purge_builtin_constant_p.
1355 (rest_of_compilation): Update.
1356 Do not call copy_loop_headers.
1357 Do rtl-based profiling only when
1358 !flag_tree_based_profiling. Register rtl-based profiling
1359 hooks.
1360 * predict.c: Include tree-flow.h, ggc.h, tree-dump.h
1361 (predicted_by_p): Rename to ...
1362 (rtl_predicted_by_p): .. this one; make global
1363 (tree_predicted_by_p): New.
1364 (dump_prediction): Add FILE argument.
1365 (predict_edge): Rename to ...
1366 (rtl_predict_edge): .. this one.
1367 (tree_predict_edge): New.
1368 (combine_predictions_for_insn): Update calls of predict_edge.
1369 (predict_loops): Break out from ...
1370 (estimate_probability): ... here; update comments; move updating
1371 of unknown probabilities from ...
1372 (estimate_bb_frequencies): ... here.
1373 (combine_predictions_for_bb): New.
1374 (tree_predict_by_opcode): New.
1375 (tree_estimate_probability): New.
1376 * predict.def (PRED_TREE_POINTER, PRED_TREE_OPCODE_POSITIVE,
1377 PRED_TREE_OPCODE_NONEQUAL, PRED_TREE_FPOPCODE): New predictors.
1378 * predict.h: Add include guard.
1379 (predict_edge, predict_edge_def): Move prototypes to basic_block.h
1380 * pretty-print.c (pp_write_text_to_stream): Make extern.
1381 * pretty-print.h (pp_write_text_to_stream): Declare.
1382 * print-rtl.c (print_rtx): Don't print the integrated flag.
1383 Print the return_val flag.
1384 * print-tree.c: Use TREE_FILENAME and TREE_LINENO instead
1385 of DECL_SOURCE_FILE and DECL_SOURCE_LINE respectively.
1386 Remove support for EXPR_WITH_FILE_LOCATION nodes.
1387 (print_node): Print TREE_INVARIANT and TREE_VISITED.
1388 * profile.c: Include cfghooks.h, tree-flow.h.
1389 (profile_hooks): New.
1390 (profile_dump_file): New.
1391 (instrument_edges): Use hooks instead of RTL-specific code.
1392 (instrument_values): Ditto.
1393 (get_exec_counts): Ditto.
1394 (compute_branch_probabilities): Ditto.
1395 (compute_value_histograms): Ditto.
1396 (branch_prob): Ditto.
1397 (find_spanning_tree): Ditto.
1398 (end_branch_prob): Ditto.
1399 (gen_edge_profiler): Move to rtl-profile.c (rtl_gen_edge_profiler).
1400 (gen_interval_profiler): Ditto (rtl_gen_interval_profiler).
1401 (gen_pow2_profiler): Ditto (rtl_gen_pow2_profiler).
1402 (gen_one_value_profiler): Ditto (rtl_gen_one_value_profiler).
1403 (tree_register_profile_hooks): New.
1404 (rtl_register_profile_hooks): New.
1405 * ra-rewrite.c (rewrite_program): Clear variable info.
1406 * recog.c (immediate_operand): Do not handle CONSTANT_P_RTX.
1407 * regs.h: Add include guards.
1408 * reload.c (decompose): Clear val using memset.
1409 * rtl.def (CONSTANT_P_RTX): Remove.
1410 * rtl.h (CONSTANT_P): Do not handle CONSTANT_P_RTX.
1411 (copy_loop_headers): Remove.
1412 (struct rtx_def): Replace the integrated flag with the
1413 return_val flag.
1414 (maybe_set_first_label_num): Declare.
1415 (init_branch_prob): Move declaration to value-prof.h.
1416 (end_branch_prob): Ditto.
1417 (branch_prob): Ditto.
1418 (never_reached_warning): Don't declare it.
1419 * rtlanal.c (get_related_value): Initialize get_jump_table_offset
1420 (hoist_insn_to_edge): Update to match field insns in
1421 struct edge_def.
1422 * sbitmap.c (sbitmap_realloc): New.
1423 * sbitmap.h (sbitmap_realloc): Declare.
1424 * sibcall.c: Remove file.
1425 * simplify-rtx.c (simplify_rtx): Do not handle
1426 CONSTANT_P_RTX.
1427 * stmt.c (parse_output_constraint): Don't warn for read-write
90afe2c9 1428 memory operand.
6de9cd9a
DN
1429 (tail_recursion_args): Use types_compatible_p langhook.
1430 (force_label_rtx): Don't look at inline_function_decl.
1431 (label_rtx): Set LABEL_PRESERVE_P appropriately.
1432 (expand_label): Handle DECL_NONLOCAL and FORCED_LABEL.
1433 (declare_nonlocal_label): Remove.
1434 (expand_goto): Don't handle nonlocal gotos.
1435 (expand_nl_handler_label): Remove.
1436 (expand_nl_goto_receivers): Remove.
1437 (expand_end_bindings): Don't expand_nl_goto_receivers. Use
1438 update_nonlocal_goto_save_area.
1439 (expand_expr_stmt_value): Check TREE_NO_WARNING.
1440 (warn_if_unused_value): Likewise.
1441 (expand_start_loop, expand_loop_continue_here,
1442 expand_end_loop): Don't create loop notes.
1443 (all_cases_count, BITARRAY_TEST, BITARRAY_SET,
1444 mark_seen_cases, check_for_full_enumeration_handling): Remove.
1445 (expand_end_case_type): Don't do warn_switch handling.
1446 (pushcase, pushcase_range) Update add_case_node calls.
1447 (add_case_node): Add dont_expand_label argument.
1448 (same_case_target_p): Don't search rtl.
1449 (expand_start_bindings_and_block, expand_end_bindings):
1450 Don't emit block notes when dont_emit_block_notes.
1451 (using_eh_for_cleanups_p): Export.
1452 (expand_return): Allow any typed rhs.
1453 (expand_stack_alloc): New.
1454 (expand_stack_save, expand_stack_restore): New.
1455 (containing_blocks_have_cleanups_or_stack_level): New
1456 function.
1457 (asm_op_is_mem_input): New fn.
1458 (expand_asm_expr): New fn.
1459 (warn_if_unused_value): Check operand 0 of SAVE_EXPR
1460 nodes.
1461 * stor-layout.c (layout_type): Just return if type is
1462 error_mark_node.
1463 (update_alignment_for_field): Export.
1464 (variable_size): We don't care about global_bindings_p if
1465 the frontend doesn't want a list of the expressions.
1466 * system.h: Poison INTEGRATE_THRESHOLD.
1467 * timevar.def (TV_TREE_GIMPLIFY, TV_TREE_EH, TV_TREE_CFG,
1468 TV_TREE_CLEANUP_CFG, TV_TREE_PTA, TV_TREE_MAY_ALIAS,
1469 TV_TREE_INSERT_PHI_NODES, TV_TREE_SSA_REWRITE_BLOCKS,
1470 TV_TREE_SSA_OTHER, TV_TREE_OPS,
1471 TV_TREE_SSA_DOMINATOR_OPTS, TV_TREE_SRA, TV_TREE_CCP,
1472 TV_TREE_SPLIT_EDGES, TV_TREE_PRE, TV_TREE_PHIOPT,
1473 TV_TREE_FORWPROP, TV_TREE_DCE, TV_TREE_CD_DCE,
1474 TV_TREE_DSE, TV_TREE_LOOP, TV_TREE_CH,
1475 TV_TREE_SSA_TO_NORMAL, TV_TREE_SSA_TO_NORMAL,
1476 TV_TREE_NRV, TV_TREE_COPY_RENAME, TV_TREE_SSA_VERIFY,
1477 TV_TREE_STMT_VERIFY, TV_DOM_FRONTIERS,
1478 TV_CONTROL_DEPENDENCES): Define.
1479 * toplev.c: Include tree-alias-common.h
1480 (current_file_decl, flag_mudflap, flag_mudflap_threads,
1481 flag_mudflap_ignore_reads, flag_tree_based_profiling,
1482 flag_tree_gvn, flag_tree_points_to, flag_tree_ccp,
1483 flag_tree_dce, flag_tree_ch, flag_tree_sra,
1484 flag_tree_combine_temps, flag_tree_ter,
1485 flag_tree_live_range_split, flag_tree_dom,
1486 flag_tree_copyrename, flag_tree_dse): Declare.
1487 (f_options): Add tree-based-profiling, tree-gvn,
1488 tree-pre, tree-ccp, tree-dce,
1489 tree-dominator-opts, tree-copyrename, tree-dse,
1490 tree-combine-temps, tree-ter, tree-lrs and tree-ch.
1491 (wrapup_global_declarations): Don't output nested inlined functions.
1492 (general_init): Call init_tree_optimization_passes.
1493 (process_options): Sorry for -ftree-based-profiling plus
1494 -ftest-coverage or -fprofile-values.
1495 * toplev.h (init_tree_optimization_passes,
1496 flag_tree_based_profiling): Declare.
1497 * tracer.c (tail_duplicate): Use cfghooks for bb duplication.
1498 * tree-alias-ander.c: New file.
1499 * tree-alias-ander.h: New file.
1500 * tree-alias-common.c: New file.
1501 * tree-alias-common.h: New file.
1502 * tree-alias-type.c: New file.
1503 * tree-alias-type.h: New file.
1504 * tree-browser.c: New file.
1505 * tree-browser.def: New file.
1506 * tree-cfg.c: New file.
1507 * tree-complex.c: New file.
1508 * tree-dfa.c: New file.
1509 * tree-dump.c (dump_enable_all): New.
1510 (dequeue_and_dump): Do not handle EXPR_WITH_FILE_LOCATION.
1511 (dump_node): Remove const from field suffix and swtch.
1512 (dump_files): Add null entry, .generic, .nested, .vcg,
1513 .xml and a match-all entry.
1514 (extra_dump_files, extra_dump_files_in_use,
1515 extra_dump_files_alloced): Declare
1516 (dump_option_value_info): Add raw, details, stats,
1517 blocks, vops, lineno, uid and all.
1518 (dump_register): New.
1519 (get_dump_file_info): New.
1520 (dump_begin): Call it.
1521 Do nothing for TDI_none.
1522 (dump_begin): Include phase number in dump filename.
1523 (dump_enable_all): New.
1524 (dump_switch_p_1): Split out from dump_switch_p.
1525 (dump_switch_p): Handle extra_dump_files.
1526 Start our scan at TDI_none + 1.
1527 If -fdump-tree-all was given, call dump_enable_all.
1528 * tree-dump.h: Include splay-tree.h.
1529 (dump_function, dump_function_to_file, dump_register):
1530 Declare.
1531 * tree-eh.c: New file.
1532 * tree-flow-inline.h: New file.
1533 * tree-flow.h: New file.
1534 * tree-inline.c: Re-write to handle inlining on GIMPLE.
1535 * tree-inline.h (walk_tree,
1536 walk_tree_without_duplicates): Move to tree.h.
1537 (estimate_num_insns): Declare.
1538 * tree-into-ssa.c: New file.
1539 * tree-iterator.c: New file.
1540 * tree-iterator.h: New file.
1541 * tree-mudflap.c: New file.
1542 * tree-mudflap.h: New file.
1543 * tree-nested.c: New file.
1544 * tree-nomudflap.c: New file.
1545 * tree-nrv.c: New file.
1546 * tree-optimize.c (dump_flags, vars_to_rename,
1547 in_gimple_form, all_passes, pass_gimple,
1548 pass_rebuild_bind, pass_all_optimizations, pass_del_cfg): Declare.
1549 (execute_gimple, execute_rebuild_bind,
1550 gate_all_optimizations, execute_del_cfg,
1551 register_one_dump_file, register_dump_files, dup_pass_1,
1552 init_tree_optimization_passes, execute_todo,
1553 execute_one_pass, execute_pass_list): New.
1554 (clear_decl_rtl): Remove.
1555 (tree_rest_of_compilation): Update to use tree
1556 optimizers.
1557 * tree-outof-ssa.c: New file.
1558 * tree-pass.h: New file.
1559 * tree-phinodes.c: New file.
1560 * tree-pretty-print.c: New file.
1561 * tree-profile.c: New file.
1562 * tree-simple.c: New file.
1563 * tree-simple.h: New file.
1564 * tree-sra.c: New file.
1565 * tree-ssa-alias.c: New file.
1566 * tree-ssa-ccp.c: New file.
1567 * tree-ssa-copy.c: New file.
1568 * tree-ssa-copyrename.c: New file.
1569 * tree-ssa-dce.c: New file.
1570 * tree-ssa-dom.c: New file.
1571 * tree-ssa-dse.c: New file.
1572 * tree-ssa-forwprop.c: New file.
1573 * tree-ssa-live.c: New file.
1574 * tree-ssa-live.h: New file.
1575 * tree-ssa-loop.c: New file.
1576 * tree-ssa-operands.c: New file.
1577 * tree-ssa-operands.h: New file.
1578 * tree-ssa-phiopt.c: New file.
1579 * tree-ssa-pre.c: New file.
1580 * tree-ssa.c: New file.
1581 * tree-ssanames.c: New file.
1582 * tree-tailcall.c: New file.
1583 * tree.c: Include tree-iterator.h, basic-block.h and
1584 tree-flow.h.
1585 (tree_node_kind): Add phi_nodes and ssa names.
1586 (tree_size): Handle PHI_NODE, EPHI_NODE, SSA_NAME,
1587 EUSE_NODE, EKILL_NODE, EEXIT_NODE and STATEMENT_LIST.
1588 (make_node_stat): Handle PHI_NODE and SSA_NAME.
1589 <'c'> Set TREE_INVARIANT.
1590 (copy_node_stat): Abort if trying to copy a
1591 STATEMENT_LIST.
1592 Clear TREE_VISITED.
1593 Clear annotation field.
1594 (build_constructor): Copy TREE_INVARIANT from vals.
1595 Don't clear TREE_CONSTANT.
1596 (expr_first, expr_last, expr_length): Remove.
1597 (staticp): Pass unknown component references to the language.
1598 (save_expr): Check TREE_INVARIANT instead of TREE_CONSTANT.
1599 (skip_simple_arithmetic): Likewise.
1600 (stabilize_reference_1): Likewise.
1601 (tree_node_structure): Handle PHI_NODE, EPHI_NODE,
1602 EUSE_NODE, EKILL_NODE, EEXIT_NODE, SSA_NAME and
1603 STATEMENT_LIST.
1604 (lhd_unsave_expr_now): Remove.
1605 (unsafe_for_reeval): Handle LABEL_EXPR and BIND_EXPR.
1606 (recompute_tree_invarant_for_addr_expr): New.
1607 (build1_stat): Clear EXPR_LOCUS and TREE_BLOCK.
1608 Call recompute_tree_invarant_for_addr_expr.
1609 Set TREE_INVARIANT accordingly.
1610 (build2_stat): Don't handle CALL_EXPR.
1611 (build3_stat): Don't call build2_stat for CALL_EXPRs.
1612 (build_expr_wfl): Remove.
1613 (annotate_with_file_line, annotate_with_locus): New.
1614 (simple_cst_equal): Call simple_cst_list_equal to compare
1615 CONSTRUCTOR_ELTS pointers.
1616 (iterative_hash_expr): Don't hash types associated
1617 with conversions. Instead hash on the signedness of the
1618 toplevel object and the operand of the conversion.
1619 (dump_tree_statistics): Call ssanames_print_statistics
1620 and phinodes_print_statistics.
1621 (ephi_node_elt_check_failed, phi_node_elt_check_failed,
1622 add_var_to_bind_expr, build_empty_stmt, is_essa_node,
1623 needs_to_live_in_memory): New.
1624 (initializer_zerop): Handle VECTOR_CST. Don't check
1625 AGGREGATE_TYPE_P for CONSTRUCTOR.
1626 * tree.def (FILTER_EXPR, CASE_LABEL_EXPR, RESX_EXPR,
1627 SSA_NAME, EUSE_NODE, EKILL_NODE, EPHI_NODE, EEXIT_NODE,
1628 PHI_NODE, CATCH_EXPR, EH_FILTER_EXPR, STATEMENT_LIST): Define.
1629 (GOTO_SUBROUTINE_EXPR): Change type to 's'.
1630 (CALL_EXPR): Add another operand.
1631 (EXPR_WITH_FILE_LOCATION): Remove.
1632 (SWITCH_EXPR): Add another operand.
1633 * tree.h: Update various comments.
1634 (union tree_ann_d): Forward declare.
1635 (struct tree_common): Add fields nowarning_flag,
1636 invariant_flag and visited.
1637 (EREF_NODE_CHECK, EPHI_NODE_ELT_CHECK,
1638 PHI_NODE_ELT_CHECK, EREF_NODE_CHECK, PHI_NODE_ELT_CHECK,
1639 EPHI_NODE_ELT_CHECK, TREE_BLOCK,
1640 STRIP_USELESS_TYPE_CONVERSION, CALL_EXPR_TAILCALL,
1641 TREE_NO_WARNING, FORCED_LABEL, TREE_INVARIANT,
1642 IS_EMPTY_STMT, EXPR_LOCUS, SET_EXPR_LOCUS, EXPR_FILENAME,
1643 EXPR_LINENO, EXPR_LOCATION, EXPR_HAS_LOCATION,
1644 EXIT_EXPR_COND, SWITCH_COND, SWITCH_BODY, SWITCH_LABELS,
1645 CASE_LOW, CASE_HIGH, CASE_LABEL, BIND_EXPR_VARS,
1646 BIND_EXPR_BODY, BIND_EXPR_BLOCK, GOTO_DESTINATION,
1647 ASM_STRING, ASM_OUTPUTS, ASM_INPUTS, ASM_CLOBBERS,
1648 ASM_INPUT_P, ASM_VOLATILE_P, COND_EXPR_COND,
1649 COND_EXPR_THEN, COND_EXPR_ELSE, LABEL_EXPR_LABEL,
1650 CATCH_TYPES, CATCH_BODY, EH_FILTER_TYPES,
1651 EH_FILTER_FAILURE, EH_FILTER_MUST_NOT_THROW,
1652 SSA_NAME_VAR, SSA_NAME_DEF_STMT, SSA_NAME_VERSION,
1653 SSA_NAME_OCCURS_IN_ABNORMAL_PHI, SSA_NAME_IN_FREE_LIST,
1654 PHI_RESULT, PHI_REWRITTEN, PHI_NUM_ARGS,
1655 PHI_ARG_CAPACITY, PHI_ARG_ELT, PHI_ARG_EDGE, PHI_ARG_DEF,
1656 EREF_PROCESSED, EREF_ID, EREF_NAME, EREF_STMT,
1657 EREF_RELOAD, EREF_SAVE, EREF_CLASS, EREF_INJURED,
1658 EREF_TEMP, EUSE_DEF, EUSE_PHIOP, EUSE_INSERTED,
1659 EUSE_LVAL, EPHI_NUM_ARGS, EPHI_ARG_CAPACITY,
1660 EPHI_ARG_ELT, EPHI_ARG_EDGE, EPHI_ARG_PRED, EPHI_ARG_DEF,
1661 EPHI_ARG_INJURED, EPHI_ARG_DELAYED_RENAME,
1662 EPHI_ARG_HAS_REAL_USE, EPHI_ARG_STOPS,
1663 EPHI_ARG_PROCESSED2, EPHI_IDENTITY, EPHI_IDENT_INJURED,
1664 EPHI_REP_OCCUR_KNOWN, EPHI_IDENTICAL_TO, EPHI_DOWNSAFE,
1665 EPHI_CANT_BE_AVAIL, EPHI_DEAD, EPHI_USES, EPHI_STOPS,
1666 TREE_VISITED, SSA_VAR_P, DECL_NUM_STMTS,
1667 DECL_HARD_REGISTER, DECL_PTA_ALIASVAR, LABEL_DECL_UID,
1668 DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL,
1669 STATEMENT_LIST_HEAD, STATEMENT_LIST_TAIL, TDF_RAW,
1670 TDF_DETAILS, TDF_STATS, TDF_BLOCKS, TDF_VOPS, TDF_LINENO,
1671 TDF_UID,): Define.
1672 (TREE_NO_UNUSED_WARNING, EXPR_WFL_EMIT_LINE_NOTE,
1673 EXPR_WFL_NODE, EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME,
1674 EXPR_WFL_LINECOL, EXPR_WFL_LINENO, EXPR_WFL_COLNO,
1675 EXPR_WFL_SET_LINECOL): Remove.
1676 (phi_node_elt_check_failed, ephi_node_elt_check_failed,
1677 make_phi_node, init_phinodes, fini_phinodes,
1678 release_phi_node, phinodes_print_statistics,
1679 init_ssanames, fini_ssanames, make_ssa_name,
1680 release_ssa_name, ssanames_print_statistics,
1681 annotate_with_file_line, build_empty_stmt,
1682 annotate_with_locus, expr_only, categorize_ctor_elements,
1683 count_type_elements, add_var_to_bind_expr, is_essa_node,
1684 expand_stack_alloc, expand_stack_save,
1685 expand_stack_restore, add_case_node, operand_equal_p,
1686 nondestructive_fold_unary_to_constant,
1687 nondestructive_fold_binary_to_constant,
1688 fold_read_from_constant_string, int_const_binop,
1689 strip_float_extensions, simplify_builtin, c_strlen,
1690 recompute_tree_invarant_for_addr_expr,
1691 needs_to_live_in_memory, make_vector,
1692 setjmp_vars_warning, update_alignment_for_field,
1693 expand_asm_expr, asm_op_is_mem_input,
1694 containing_blocks_have_cleanups_or_stack_level,
1695 create_artificial_label, gimplify_function_tree,
1696 get_name, unshare_expr, walk_tree,
1697 walk_tree_without_duplicates, in_gimple_form): Declare.
1698 (struct tree_exp): Add fields locus and block.
1699 (struct tree_ssa_name, struct edge_def, struct
1700 tree_phi_node, struct tree_eref_common, struct
1701 tree_euse_node, struct ephi_arg_d, struct tree_ephi_node,
1702 union alias_var_def, struct tree_statement_list_node,
1703 struct tree_statement_list, enum operand_equal_flag): Declare.
1704 (enum tree_node_structure_enum): Add TS_SSA_NAME,
1705 TS_PHI_NODE, TS_EPHI_NODE, TS_EUSE_NODE, TS_EREF_NODE,
1706 TS_STATEMENT_LIST.
1707 (union tree_node): Add fields ssa_name, phi, eref, ephi,
1708 euse and stmt_list.
1709 (function_cannot_inline_p, uninitialized_vars_warning,
1710 save_for_inline, output_inline_function, all_cases_count,
1711 check_for_full_enumeration_handling,
1712 declare_nonlocal_label): Remove.
1713 (enum tree_dump_index): Add TDI_none, TDI_tu,
1714 TDI_generic, TDI_nested, TDI_vcg, TDI_xml.
1715 * unroll.c (unroll_loop): Don't clear map->inline_target.
1716 * unwind-sjlj.c (uw_install_context): Make a proper static inline
1717 function.
1718 * value-prof.c (value_prof_hooks): New.
1719 (find_values_to_profile): Rename to rtl_find_values_to_profile.
1720 Move rtl-specific bits in from branch_prob.
1721 (value_profile_transformations): Rename to
1722 rtl_value_profile_transformations.
1723 (struct value_prof_hooks): New.
1724 (rtl_value_prof_hooks): New.
1725 (rtl_register_value_prof_hooks): New.
1726 (tree_find_values_to_profile): New stub.
1727 (tree_value_profile_transformations): New stub.
1728 (tree_value_prof_hooks): New stub.
1729 (tree_register_value_prof_hooks): New stub.
1730 (find_values_to_profile): New.
1731 (value_profile_transformations): New.
1732 * value-prof.h: Add multiple inclusion guard.
1733 (struct histogram_value): Change rtx fields to void *.
1734 (rtl_register_value_prof_hooks): New declaration.
1735 (tree_register_value_prof_hooks): New declaration.
1736 (find_values_to_profile): New declaration.
1737 (free_profiled_values): New declaration.
1738 (value_profile_transformations): New declaration.
1739 (struct profile_hooks): New declaration.
1740 (init_branch_prob): Declaration moved from rtl.h.
1741 (branch_prob): Declaration moved from rtl.h.
1742 (end_branch_prob): Declaration mooved from rtl.h.
1743 (tree_register_profile_hooks): New declaration.
1744 (rtl_register_profile_hooks): New declaration.
1745 (tree_profile_hooks): New declaration.
1746 (rtl_profile_hooks): New declaration.
1747 * varasm.c: Include tree-mudflap.h.
1748 (TRAMPOLINE_ALIGNMENT): Remove.
1749 (make_decl_rtl): Call mudflap_enqueue_decl.
1750 (assemble_static_space):
1751 (assemble_trampoline_template): Set and return
1752 TRAMPOLINE_ALIGNMENT.
1753 * varray.c (element): Add GENERIC_PTR_NOGC entry.
1754 Add entry for 'tree *'.
1755 Add entry for struct edge_def *.
1756 (varray_copy): New.
1757 * varray.h (enum varray_data_enum): Add
1758 VARRAY_DATA_GENERIC_NOGC, VARRAY_DATA_EDGE and
1759 VARRAY_DATA_TREE_PTR.
1760 (union varray_data_tag): Corresponding changes.
1761 (VARRAY_GENERIC_PTR_NOGC_INIT, VARRAY_EDGE_INIT,
1762 VARRAY_TREE_PTR_INIT, VARRAY_GENERIC_PTR_NOGC,
1763 VARRAY_EDGE, VARRAY_TREE_PTR,
1764 VARRAY_PUSH_GENERIC_PTR_NOGC, VARRAY_PUSH_EDGE,
1765 VARRAY_PUSH_TREE_PTR, VARRAY_TOP_GENERIC_PTR_NOGC,
1766 VARRAY_TOP_EDGE, VARRAY_TOP_TREE_PTR): Define.
1767
1768 * config/*/*: Various updates for changed macros, tree
1769 codes, etc. Check ChangeLog.tree-ssa.
1770
1771 * doc/cfg.texi: New file.
1772 * doc/tree-ssa.texi: New file.
1773 * doc/c-tree.texi: Document new codes.
1774 * doc/gccint.texi: Include new files.
1775 * doc/install.texi: Document new features.
1776 * doc/invoke.texi: Document new switches.
1777 * doc/passes.texi: Document new passes.
1778 * doc/rtl.texi: Update changed RTL codes.
1779 * doc/sourcebuild.texi: Update build instructions.
1780 * doc/standards.texi: Document Fortran changes.
1781 * doc/tm.texi: Update.
1782
5eaad481
PB
17832004-05-12 Paolo Bonzini <bonzini@gnu.org>
1784
1785 Replace several arrays with a struct of arrays.
90afe2c9
ZW
1786 * combine.c (struct reg_stat): New.
1787 (init_reg_last_arrays): Renamed to...
1788 (init_reg_last): ...this. Callers adjusted.
1789 (reg_stat): New.
1790 (combine_instructions): Allocate it and use it.
1791 (reg_last_death, reg_last_set, reg_last_set_value,
1792 reg_last_set_label, reg_last_set_table_tick,
1793 reg_last_set_invalid, reg_nonzero_bits, reg_sign_bit_copies,
1794 reg_last_set_mode, reg_last_set_nonzero_bits,
1795 reg_last_set_sign_bit_copies): Replace throughout
1796 with items of reg_stat.
5eaad481 1797
e51f9159
KK
17982004-05-11 Kaz Kojima <kkojima@gcc.gnu.org>
1799
1800 PR optimization/15100
1801 * combine.c (distribute_notes): Don't create a dangling
1802 REG_LIBCALL/REG_RETVAL note.
1803
6a599451
AH
18042004-05-11 Aldy Hernandez <aldyh@redhat.com>
1805
1806 * config/rs6000/spe.md (spe_evneg): Rename to negv2si2.
1807
1808 * config/rs6000/rs6000.c (bdesc_1arg): Change spe_evneg to
1809 negv2si2.
1810
425a2bde
AH
18112004-05-11 Aldy Hernandez <aldyh@redhat.com>
1812
1813 * doc/md.texi (Standard Names): Fix typo in vec_init description.
1814
bed7b8f1
GK
18152004-05-11 Geoffrey Keating <geoffk@apple.com>
1816
1817 * doc/gty.texi (GTY Options): Clarify example.
1818
7958a2a6
FJ
18192004-05-11 Fariborz Jahanian <fjahanian@apple.com>
1820
1821 * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute):
1822 Add const qualifier to altivec vector type if one is needed.
1823
32770746
PB
18242004-05-11 Paul Brook <paul@codesourcery.com>
1825
1826 * flags.h (flag_short_enums): Update comment.
1827 * opts.c (decode_options): Set flag_short_enums to 2.
1828 * toplev.c (flag_short_enums): Update comment.
1829 (process_options): Call default_short_enums target hook.
1830
78f59f3e
AP
18312004-05-11 Andrew Pinski <pinskia@gcc.gnu.org>
1832
1833 PR target/14063
1834 * config/rs6000/altivec.md (altivec_dssall):
1835 Change to unspec_volatile.
1836 (altivec_dss): Likewise.
1837
39302b6a
AH
18382004-05-10 Aldy Hernandez <aldyh@redhat.com>
1839
1840 * config/rs6000/altivec.md ("one_cmplv16qi2"): Change vnot to
1841 vnor.
1842 ("one_cmplv8hi2"): Same.
1843 ("one_cmplv4si2"): Same.
1844
726d4cb7
KK
18452004-05-10 Kaz Kojima <kkojima@gcc.gnu.org>
1846
1847 PR target/15130
1848 * config/sh/sh-protos.h (sh_expand_epilogue): Change prototype.
1849 * config/sh/sh.c (output_stack_adjust): Take the sibcall epilogue
1850 into account. Compute the correct number of general registers
1851 for the return value. Generate a special push/pop sequence when
1852 failing to get a temporary register for non SHmedia epilogue.
1853 (sh_expand_epilogue): Add an argument to show whether it's for
1854 sibcall or not. Set the 3rd argument of output_stack_adjust to
1855 -1 if needed.
1856 (sh_need_epilogue): Call sh_expand_epilogue with 0.
1857 * config/sh/sh.md (sibcall_epilogue): Call sh_expand_epilogue
1858 with 1.
1859 (epilogue): Call sh_expand_epilogue with 0.
1860
0c196bf9
AP
18612004-05-10 Andrew Pinski <pinskia@physics.uc.edu>
1862
1863 * gcse.c (eliminate_partially_redundant_loads): Instead of returning early,
1864 goto a cleanup label. After the cleanup, free the allocated memory.
1865
16cfa3dc
ZL
18662004-05-10 Ziemowit Laski <zlaski@apple.com>
1867
1868 * config/rs6000/altivec.h (vec_sld): Add overloads for
1869 argument/return types of 'vector bool int', 'vector bool short'
1870 and 'vector bool char'.
1871
3358cae0
ZW
18722004-05-10 Zack Weinberg <zack@codesourcery.com>
1873
1874 * c-decl.c (store_parm_decls_newstyle): Correct test for a
1875 nested function.
1876
62d45923
RS
18772004-05-10 Richard Sandiford <rsandifo@redhat.com>
1878
1879 * read-rtl.c (read_rtx): Allow 's' and 'T' strings to be omitted,
1880 treating missing ones as "".
1881 * config/mips/mips.md: Remove constraints from match_operands and
1882 match_scratches if they appear in define_expands (except reload*),
1883 define_peephole2s, define_splits or attribute specifications.
1884 * config/mips/7000.md, config/mips/sb1.md: Remove match_operand
1885 constraint strings.
1886
b2d04ecf
AM
18872004-05-10 Alan Modra <amodra@bigpond.net.au>
1888
1889 * config/rs6000/rs6000.c (function_arg_boundary): Always align
1890 AltiVec vectors.
1891 (function_arg_advance): Pass TARGET_32BIT -mabi=no-altivec AltiVec
1892 vectors by refererence. Align the same for TARGET_64BIT to a 16
1893 byte boundary. Remove useless code. Add function comment.
1894 (function_arg): Similarly. Move gpr rs6000_mixed_function_arg
1895 call to where it belongs.
1896 (function_arg_partial_nregs): Return true for all TARGET_32BIT
1897 -mabi=no-altivec AltiVec vectors. Fix debug output.
1898 (rs6000_va_arg): Adjust for AltiVec change.
1899
b6685939
PB
19002004-05-10 Paul Brook <paul@codesourcery.com>
1901
1902 * config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED.
1903 * config/arm/arm.h (TARGET_AAPCS_BASED): Define.
1904 (TARGET_DOUBLEWORD_ALIGN): Use it.
1905 (WCHAR_TYPE): Define.
1906 (WCHAR_SIZE_TYPE): Define.
1907 (SIZE_TYPE): Define.
1908
4ed78545
AM
19092004-05-10 Alan Modra <amodra@bigpond.net.au>
1910
1911 * config/rs6000/rs6000.c (function_arg_boundary): Align for ABI_V4
1912 when size is 8 bytes.
1913 (function_arg_advance): Account for stack space used by AltiVec
3358cae0 1914 args when -mabi=altivec. Simplify alignment calculations. For
4ed78545
AM
1915 ABI_V4, pass AltiVec vectors by reference when -mabi=no-altivec.
1916 (function_arg): Similarly.
1917 (function_arg_pass_by_reference): True for ABI_V4 AltiVec when
1918 not AltiVec ABI.
1919 (rs6000_va_arg): Correct fp arg test. Adjust for AltiVec change.
1920 Correct alignment, and align before testing reg count. Remove
1921 TREE_THIS_VOLATILE from reg. Don't emit unused labels.
1922 (rs6000_complex_function_value): Check TARGET_HARD_FLOAT and
1923 TARGET_FPRS here..
1924 (rs6000_function_value): .. not here before call.
1925
f350ff00
AH
19262004-05-09 Aldy Hernandez <aldyh@redhat.com>
1927
1928 * config/rs6000/spe.md ("tstsflt_gpr"): Fix typo in unspec.
1929
eecec698
ZW
19302004-05-09 Zack Weinberg <zack@codesourcery.com>
1931
1932 PR 15007
1933 * c-decl.c (current_file_decl): Rename to all_translation_units,
1934 adjust comment.
1935 (pop_scope): If popping file_scope, construct a
1936 TRANSLATION_UNIT_DECL and make it the context of all the
1937 symbols in the scope.
1938 (push_file_scope): Don't construct a TRANSLATION_UNIT_DECL here.
1939 (pushdecl): Clarify comment. Do not set DECL_CONTEXT of
1940 anything to current_file_decl.
1941 (pushdecl_top_level): Likewise.
1942 (store_parm_decls_newstyle): Adjust check for nested function.
4ed78545
AM
1943 (c_write_global_declarations): Update for renamed variable.
1944
2aa4498c
AH
19452004-05-09 Aldy Hernandez <aldyh@redhat.com>
1946
1947 * config/rs6000/rs6000-protos.h
1948 (rs6000_conditional_register_usage): Protoize.
1949
1950 * config/rs6000/rs6000.c (rs6000_conditional_register_usage): New.
1951
1952 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Call
1953 function.
1954
8dc2384c
RS
19552004-05-08 Roger Sayle <roger@eyesopen.com>
1956
1957 * fold-const.c (fold_div_compare): New function to optimize X/C1 op C2
1958 where op is a comparison operator and C1 and C2 are integer constants
1959 into a range check.
1960 (fold): Call fold_div_compare.
1961
ae81c844
EB
19622004-05-08 Eric Botcazou <ebotcazou@libertysurf.fr>
1963
1964 * doc/install.texi (sparc-sun-solaris2*): Document bootstrap
1965 problems with earlier versions of the GNU compiler.
1966
0d1fbc8c
AH
19672004-05-07 Aldy Hernandez <aldyh@redhat.com>
1968
1969 * config/rs6000/rs6000-protos.h (rs6000_hard_regno_mode_ok_p):
1970 Declare.
1971
1972 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok_p): New.
1973 (rs6000_hard_regno_mode_ok): New.
1974 (rs6000_init_hard_regno_mode_ok): New.
1975 (rs6000_override_options): Call rs6000_init_hard_regno_mode_ok.
1976
1977 * config/rs6000/rs6000.h (HARD_REGNO_NREGS): Use precomputed
1978 result.
1979
f95d9272
ZL
19802004-05-07 Ziemowit Laski <zlaski@apple.com>
1981
1982 * config/rs6000/altivec.h (vector, pixel, bool): Do not
1983 define as macros #ifdef __APPLE_ALTIVEC__.
1984
19852004-05-07 Fariborz Jahanian <fjahanian@apple.com>
1986
36a454e1
FJ
1987 * config/rs6000/rs6000.c (rs6000_mixed_function_arg):
1988 Generate appropriate parallels for vector arguments
1989 passed to vararg functions. (function_arg): make the call
1990 to rs6000_mixed_function_arg for vector args as needed.
eecec698 1991
f7dbd289
RS
19922004-05-07 Richard Sandiford <rsandifo@redhat.com>
1993
1994 * config/mips/mips.c (mips_va_arg): Fix calculation of osize for
1995 EABI_FLOAT_VARARGS_P.
1996
5c8a81d5
RS
19972004-05-07 Richard Sandiford <rsandifo@redhat.com>
1998
1999 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY): Remove TARGET_MIPS5500.
2000 * config/mips/mips.c (override_options): Disable branch likely
2001 instructions if TUNE_MIPS5500.
2002
9045f39a
RS
20032004-05-07 Richard Sandiford <rsandifo@redhat.com>
2004
2005 * config/mips/mips.c (override_options): Allow the hi and lo registers
2006 to store any integral mode, not just MODE_INTs.
2007
bc21b3f3
PB
20082004-05-07 Paul Brook <paul@codesourcery.com>
2009
2010 * config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED.
2011 * config/arm/arm.h (TARGET_AAPCS_BASED): Define.
2012 (TARGET_DOUBLEWORD_ALIGN): Use it.
2013 (WCHAR_TYPE): Define.
2014 (WCHAR_SIZE_TYPE): Define.
2015 (SIZE_TYPE): Define.
2016
2484cc35
UB
20172004-05-07 Uros Bizjak <uros@kss-loka.si>
2018
2019 * config/i386/i386.c (ix86_emit_fp_unordered_jump): Use
2020 testb $4, %ah insn instead of sahf insn if !TARGET_USE_SAHF.
2021
7600f094
AP
20222004-05-07 Andrew Pinski <pinskia@physics.uc.edu>
2023
2024 * loop-doloop.c (doloop_valid_p): Make sure that body
2025 gets freed.
2026
bfb23806
EB
20272004-05-07 Eric Botcazou <ebotcazou@act-europe.fr>
2028
2029 * config/sparc/sparc-protos.h (sparc_skip_caller_unimp): New
2030 declaration.
2031 * config/sparc/sparc.c (SKIP_CALLERS_UNIMP_P): Delete.
2032 (sparc_skip_caller_unimp): New global variable.
2033 (sparc_function_epilogue): Set 'sparc_skip_caller_unimp'.
2034 Use it instead of SKIP_CALLERS_UNIMP_P.
2035 * config/sparc/sparc.md (call expander): Add sanity check.
2036 (call_address_struct_value_sp32): Re-sync with expander.
2037 (call_symbolic_struct_value_sp32): Likewise.
2038 (return peepholes): Use 'sparc_skip_caller_unimp' instead
2039 of custom predicate.
2040
92ff0c41
EB
20412004-05-07 Eric Botcazou <ebotcazou@libertysurf.fr>
2042
2043 PR c++/14962
2044 * c-pragma.c (handle_pragma_redefine_extname): Only change
2045 the assembler name of FUNCTION_DECLs and VAR_DECLs.
2046
c2fcfa4f
UB
20472004-05-07 Uros Bizjak <uros@kss-loka.si>
2048
2049 * optabs.h (enum optab_index): Add new OTI_log1p.
2050 (log1p_optab): Define corresponding macro.
2051 * optabs.c (init_optabs): Initialize log1p_optab.
2052 * genopinit.c (optabs): Implement log1p_optab using log1p?f2
2053 patterns.
2054 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG1P{,F,L}
2055 using log1p_optab.
2056 (expand_builtin): Expand BUILT_IN_LOG1P{,F,L} using
2057 expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
2058
2059 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2XP1.
2060
2061 * config/i386/i386.c (ix86_emit_i387_log1p): New function.
2062 * config/i386/i386-protos.h (ix86_emit_i387_log1p):
2063 Prototype here.
2064 * config/i386/i386.md (UNSPEC_FYL2XP1): New unspec to represent
2065 x87's fyl2xp1 instruction.
2066 (*fyl2x_xf3): Rename insn definition to fyl2x_xf3.
2067 (fyl2xp1_xf3): New pattern to implement fyl2xp1 x87 instruction.
2068 (log1psf2, log1pdf2, log1pxf2): New expanders to implement log1pf,
2069 log1p and log1pl built-ins as inline x87 intrinsics.
2070
4d980568
LR
20712004-05-07 Loren James Rittle <ljrittle@acm.org>
2072
3c4392aa 2073 * config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Proper redefinition.
4d980568
LR
2074 * config/arm/freebsd.h: Likewise.
2075 * config/ia64/freebsd.h: Likewise.
2076 * config/sparc/freebsd.h: Likewise.
2077
afce2847
HPN
20782004-05-07 Hans-Peter Nilsson <hp@axis.com>
2079
2080 PR optimization/15296
2081 * reorg.c (fill_simple_delay_slots): Use next_real_insn when
2082 getting last consecutive label at a branch.
2083 (relax_delay_slots): Similar, near top of loop.
2084
9acf97b6
JDA
20852004-05-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2086
2087 PR target/15202
2088 * pa.md (movdi, movsi, movhi, movqi): Support move from shift amount
2089 register to general register.
2090
19fb36e3
AM
20912004-05-07 Alan Modra <amodra@bigpond.net.au>
2092
2093 * config/rs6000/rs6000.h (STACK_BOUNDARY): Use 128 bit for either
2094 TARGET_ALTIVEC or TARGET_ALTIVEC_ABI.
2095 * config/rs6000/sysv4.h (ABI_STACK_BOUNDARY): Likewise.
2096 (STACK_BOUNDARY): Delete.
2097
db643b91 20982004-05-06 Stuart Hastings <stuart@apple.com>
2484cc35 2099
db643b91
SH
2100 * gcc/doc/invoke.texi: Restore -fgcse-after-reload doc from 1.421,
2101 mistakenly clobbered by 1.423.
19fb36e3 2102
dc884a86
RS
21032004-05-06 Richard Sandiford <rsandifo@redhat.com>
2104
2105 * doc/invoke.texi: Document -mvr4130-align.
2106 * config/mips/mips.h (MASK_VR4130_ALIGN, TARGET_VR4130_ALIGN)
2107 (TUNE_MIPS4120, TUNE_MIPS4130): New macros.
2108 (TUNE_MACC_CHAINS): Include TUNE_MIPS4120 and TUNE_MIPS4130.
2109 (TARGET_SWITCHES): Add -mvr4130-align and -mno-vr4130-align.
2110 * config/mips/mips.md: Include sched-int.h.
2111 (USEFUL_INSN_P, SEQ_BEGIN, SEQ_END, FOR_EACH_SUBINSN): New macros.
2112 (mips_rtx_costs): Set integer multiplication costs for TUNE_MIPS4130.
2113 (override_options): Enable -mvr4130-align at -O3 and above.
2114 (mips_sim_insn): New variable.
2115 (mips_sim): New structure.
2116 (mips_sim_reset, mips_sim_init, mips_sim_next_cycle, mips_sim_wait_reg)
2117 (mips_sim_wait_regs_2, mips_sim_wait_regs_1, mips_sim_wait_regs)
2118 (mips_sim_wait_units, mips_sim_wait_insn, mips_sim_record_set)
2119 (mips_sim_issue_insn, mips_sim_issue_nop, mips_sim_finish_insn)
2120 (vr4130_avoid_branch_rt_conflict, vr4130_align_insns): New functions.
2121 (mips_reorg): Call vr4130_align_insns.
2122 (vr4130_last_insn): New variable.
2123 (vr4130_true_reg_dependence_p_1, vr4130_true_reg_dependence_p)
2124 (vr4130_swap_insns_p, vr4130_reorder): New functions.
2125 (mips_sched_reorder, mips_variable_issue): Hook in vr4130 code.
2126 (mips_issue_rate): Return 2 for PROCESSOR_R4130.
2127 (mips_use_dfa_pipeline_interface): Return true for the same.
2128 * config/mips/4130.md: New file.
2129 * config/mips/mips.md: Include it. Add a peephole2 to convert
2130 "mult;mflo" into "mtlo;macc".
2131 (*macc, *umul_acc_di, *smul_acc_di): Use $1 rather than $0 as the
2132 target of maccs.
2133 (*msac_using_macc): New pattern.
2134
615ccdd3
RS
21352004-05-06 Richard Sandiford <rsandifo@redhat.com>
2136
2137 * config/mips/5500.md (ir_vr55_store): Set latency to 0.
2138 (ir_vr55_hilo): Split into...
2139 (ir_vr55_mfhilo, ir_vr55_mthilo): ...these new reservations.
2140 (ir_vr55_imul_si, ir_vr55_imadd): Change latency to 5.
2141 (ir_vr55_imul_di): Change latency to 9. Reserve vr55_mac for 4 cycles.
2142 Add various multiplication bypasses.
2143 * config/mips/mips.c (mips_rtx_costs): Adjust VR5500 costs for integer
2144 multiplication.
2145
152e3565
UB
21462004-05-06 Uros Bizjak <uros@kss-loka.si>
2147
2148 * config/i386/i386.md (*fscalexf4): Correct insn "mode"
2149 attribute to "XF".
2150
5ae27cfa
UB
21512004-05-05 Uros Bizjak <uros@kss-loka.si>
2152
2153 * optabs.h (enum optab_index): Add new OTI_fmod and OTI_drem.
152e3565 2154 (fmod_optab, drem_optab): Define corresponding macros.
5ae27cfa
UB
2155 * optabs.c (init_optabs): Initialize fmod_optab and drem_optab.
2156 * genopinit.c (optabs): Implement fmod_optab and drem_optab
2157 using fmod?f3 and drem?f3 patterns.
2158 * builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_FMOD{,F,L}
2159 using fmod_optab and BUILT_IN_DREM{,F,L} using drem_optab.
2160 (expand_builtin): Expand BUILT_IN_FMOD{,F,L} and
2161 BUILT_IN_DREM{,F,L} using expand_builtin_mathfn_2 if
2162 flag_unsafe_math_optimizations is set.
2163
2164 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FPREM_F,
2165 UNSPEC_FPREM_U, UNSPEC_FPREM1_F and UNSPEC_FPREM1_U.
2166
2167 * config/i386/i386.c (ix86_emit_fp_unordered_jump): New function.
2168 * config/i386/i386-protos.h (ix86_emit_fp_unordered_jump):
2169 Prototype here.
2170 * config/i386/i386.md (UNSPEC_FPREM_F, UNSPEC_FPREM_U,
2171 UNSPEC_FPREM1_F, UNSPEC_FPREM1_U): New unspecs to represent x87's
2172 fprem and fprem1 instructions.
2173 (*x86_fnstsw_1): Change input parameter to (reg:CCFP 18).
2174 Rename insn definition to x86_fnstsw_1.
2175 (fpremxf4, fprem1xf4): New patterns to implement fprem and fprem1
2176 x87 instructions.
2177 (fmodsf3, fmoddf3, fmodxf3): New expanders to implement fmodf, fmod
2178 and fmodl built-ins as inline x87 intrinsics.
2179 (dremsf3, dremdf3, dremxf3): New expanders to implement dremf, drem
2180 and dreml built-ins as inline x87 intrinsics.
2181
cf9c6ca5
RS
21822004-05-05 Roger Sayle <roger@eyesopen.com>
2183
2184 * reload1.c (inherit_piecemeal_p): Mark parameters potentially unused.
2185
32dd2dc9
ILT
21862004-05-05 Ian Lance Taylor <ian@wasabisystems.com>
2187
2188 PR driver/9822
2189 * doc/invoke.texi (Spec Files): Remove documentation of %c.
2190
4a6f766d
CD
21912004-05-05 Chris Demetriou <cgd@broadcom.com>
2192
2193 * config/mips/mips.md: Update the msub define_split for new mflo/mfhi
2194 representation.
2195
fdd695fd
PB
21962004-05-06 Paul Brook <paul@codesourcery.com>
2197
2198 * config/arm/arm-protots.h (vfp_mem_operand): Rename ...
2199 (arm_coproc_mem_operand): ... To this.
2200 * config/arm/arm.c (arm_legitimate_address_p): Allow ldrd modes.
2201 (arm_legitimate_index_p): Ditto.
2202 (vfp_mem_operand): Rename ...
2203 (arm_coproc_mem_operand): ... To this. Handle writeback modes.
2204 (vfp_secondary_reload_class): Use it.
2205 (output_move_double): Use doubleword load/store instructions.
2206 (arm_hard_regno_mode_ok): Only allow even reg pairs for ldrd.
2207 * config/arm/arm.h (TARGET_LDRD): Define.
2208 (EXTRA_CONSTRAINT_STR_ARM): Add 'Uy'.
2209 * config/gcc/arm/arm.md (arm_movdi): Allow all valid memory operands.
2210 New splitter for invalid doubleword loads.
2211 * config/arm/iwmmxt.md (iwmmxt_arm_movdi): Use Uy constraint.
2212 * config/arm/vfp.md (arm_movdi_vfp): Allow all valid memory operands.
2213 * doc/md.texi: Document Uy constraint.
2214
59af0b6a
JH
22152004-05-05 Jan Hubicka <jh@suse.cz>
2216
2217 PR opt/14980
2218 * cgraphunit.c (cgraph_remove_unreachable_nodes): Deal properly with
2219 inline clones.
2220
9953b5e1
L
22212004-05-05 H.J. Lu <hongjiu.lu@intel.com>
2222
2223 PR target/15290
2224 * config/i386/i386.c (ix86_split_to_parts): Use real_to_target
2225 instead of REAL_VALUE_TO_TARGET_LONG_DOUBLE.
2226
e3c287c9
MS
22272004-05-05 Mike Stump <mrs@apple.com>
2228
2229 * config/darwin-c.c (add_framework): Copy the directory name as it
2230 can be freed later. Also, ensure we always allocate enough room
2231 for the cached framework information.
2232 (find_subframework_header): Keep track of the directory where the
2233 subframework header was found.
2234 (framework_construct_pathname): Speed up by not trying to re-add a
2235 framework.
2236 * cppfiles.c (search_path_exhausted): Arrange for the missing
2237 header callback to be able to set the directory where the header
2238 was found.
2239 (cpp_get_dir): Add.
2240 * cpplib.h (missing_header_cb): Add a parameter.
2241 (cpp_get_dir): Add.
2242
22432004-05-03 Mike Stump <mrs@apple.com>
4bed3787
MS
2244
2245 * doc/invoke.texi (Directory Options): Document -iquote.
2246 * doc/cpp.texi: Likewise.
2247 * doc/cppopts.texi: Likewise.
2248 * c-opts.c (c_common_missing_argument): Add -iquote processing.
2249 (c_common_handle_option): Likewise.
2250 * c.opt (iquote): Add.
2251 * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -iquote.
2252 * c-incpath.c (merge_include_chains): Update comment to use -iquote.
2253
2254 * c-opts.c (case OPT_I): Deprecate -I- support.
2255 * doc/invoke.texi: Likewise.
2256 * doc/cpp.texi: Likewise.
2257 * doc/cppopts.texi: Likewise.
2258
bb8a619e
SB
22592004-05-05 Steven Bosscher <stevenb@suse.de>
2260
2261 * basic-block.h (free_basic_block_vars): Update prototype.
2262 * flow.c (free_basic_block_vars): Remove the keep_head_end_p
2263 argument.
2264 (life_analysis): Update call.
2265 * ifcvt.c (if_convert): Likewise.
2266 * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
2267 * passes.c (rest_of_handle_final): Likewise.
2268 (rest_of_compilation): Likewise.
2269 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
2270
2271 * emit-rtl.c (next_real_insn): Use INSN_P.
2272 (prev_real_insn): Likewise.
2273
2e592dce
EC
22742004-05-05 Eric Christopher <echristo@redhat.com>
2275
2276 * config/mips/mips.md: Update the madd define_split for new mflo/mfhi
2277 representation.
2278
7c62e993
PB
22792004-05-05 Paolo Bonzini <bonzini@gnu.org>
2280
2281 * config/rs6000/rs6000.c (build_opaque_vector_type):
2282 New function.
2283 (rs6000_init_builtins): Use it.
2284
87fac4e3
BG
22852004-05-04 Bernard Giroud <bgiroud2@free.fr>
2286
2287 * gcc/gcc/vmsdbgout.c (vms_func_node, vms_func_ref): New.
2288 (func_table): Change type from char ** to vms_func_ref.
2289 (write_rtnbeg): Update to reflect func_table change. Use
2290 fde->funcdef_number instead of rtnnum in output.
2291 (write_rtnend, vmxdbgout_begin_function, vmsdbgout_init): Likewise.
2292
cc27e657
PB
22932004-05-04 Paolo Bonzini <bonzini@gnu.org>
2294 Richard Henderson <rth@redhat.com>
2295
2296 PR target/14899
2297
2298 * c-common.c (vector_types_convertible_p): New function.
2299 * c-typeck.c (comptypes): Recurse on vector types.
2300 (convert_for_assignment): Use vector_types_convertible_p.
2301 (digest_init): Use vector_types_convertible_p to check
2302 validness of constant vector initializers; otherwise treat
2303 them as scalars.
2304 * tree.c (make_or_reuse_type): New.
2305 (build_common_tree_nodes): Use it.
2306 * cp/call.c (standard_conversion): Likewise.
2307 * cp/typeck.c (comptypes): Recurse on vector types.
2308 (convert_for_assignment): Use vector_types_convertible_p.
cc27e657 2309
6fc8a30a
CD
23102004-05-04 Chris Demetriou <cgd@broadcom.com>
2311
2312 * config/mips/mips.c (override_options): Default to no
2313 generation of branch-likely operations when tuning for
2314 CPUs where they tend to have a negative performance impact
2315 (e.g., SB-1).
2316
6c89c39a
RK
23172004-05-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2318
2319 * expr.c (store_constructor_field): Don't call store_constructor
2320 if bitsize is not a multiple of a byte.
2321
b5ba341f
RS
23222004-05-04 Richard Sandiford <rsandifo@redhat.com>
2323
2324 * reload1.c (inherit_piecemeal_p): New function.
2325 (emit_reload_insns): When reloading a group of hard registers, use
2326 inherit_piecemeal_p to decide whether the values of individual hard
2327 registers can be inherited.
2328
c6c8779b
L
23292004-05-04 H.J. Lu <hongjiu.lu@intel.com>
2330
2331 * config/ia64/t-ia64 (LIB2ADDEH): Remove gthr-gnat.c.
2332 * config/s390/t-tpf (LIB2ADDEHDEP): Likewise.
2333 * config/t-linux (LIB2ADDEHDEP): Likewise.
2334
82c732f9
PB
23352004-05-04 Paul Brook <paul@codesourcery.com>
2336
2337 * config/arm/crti.asm: Push an even number of registers.
2338 * config/arm/crtn.asm: And restore them. Load via sp.
2339
92e838e2
PB
23402004-05-04 Paolo Bonzini <bonzini@gnu.org>
2341
2342 * ggc-zone.c (ggc_alloc_zone_1): Add MEM_STAT_DECL parameter.
2343 Collect overhead information.
2344 (ggc_alloc_stat): New name of ggc_alloc. Add MEM_STAT_DECL
2345 parameter and pass it through.
2346 (ggc_alloc_typed_stat): New name of ggc_alloc_typed. Add
2347 MEM_STAT_DECL parameter and pass it through.
2348 (ggc_alloc_zone_stat): New name of ggc_alloc_zone. Add
2349 MEM_STAT_DECL parameter and pass it through.
2350
d8ecbcdb
AH
23512004-05-03 Aldy Hernandez <aldyh@redhat.com>
2352
2353 * config/rs6000/rs6000-protos.h: Protoize rs6000_hard_regno_nregs.
2354
2355 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): New.
2356
2357 * config/rs6000/rs6000.h (HARD_REGNO_NREGS): Call
2358 rs6000_hard_regno_nregs.
2359
2f7e5a0d
EC
23602004-05-03 Eric Christopher <echristo@redhat.com>
2361
2362 * config/s390/s390.c (s390_emit_prologue): Call unspec tpf
2363 prologue insn instead of setting up call.
2364 (s390_emit_epilogue): Ditto.
2365 * config/s390/s390.md (prologue_tpf, epilogue_tpf): New patterns.
2366 (define_constants): Add numbers for above patterns.
2367
38899e29
EC
23682004-05-03 Eric Christopher <echristo@redhat.com>
2369
2370 * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Move body...
2371 * config/s390/s390.c (s390_conditional_register_usage): ...here.
2372 * config/s390/s390-protos.h: Prototype.
2373
97d62313
JB
23742004-05-03 Joe Buck <jbuck@welsh-buck.org>
2375
2376 * cppfiles.c (pchf_adder): Eliminate use of |= in d->have_once_only
2377 assignment.
2378
03a53989
EC
23792004-05-03 Eric Christopher <echristo@redhat.com>
2380
2381 * config/mips/mips.md: Fix branch length attribute definition.
2382
318fec6d
AH
23832004-05-03 Aldy Hernandez <aldyh@redhat.com>
2384
2385 * config.gcc: Remove --enable-altivec support.
2386
2387 * config/rs6000/altivec-defs.h: Remove.
2388
553cba65
RO
23892004-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2390
2391 * fixinc/inclhack.def (svr4_profil): Don't apply on IRIX 5/6.
2392 * fixinc/fixincl.x: Regenerate.
2393
6adcf89d
UB
23942004-05-03 Uros Bizjak <uros@kss-loka.si>
2395
2396 * config/i386/i386.md (*fyl2x_sfxf3, *fyl2x_dfxf3): Remove insn
2397 definition.
2398 (log?f2, log10?f2, log2?f2): Reimplement expanders with
2399 float_truncate insn.
2400 (*fxtractsf3, *fxtractdf3): Remove insn definition.
2401 (logb?f2): Reimplement expanders with float_truncate insn.
2402
834eb1f0
GS
24032004-05-03 Graham Stott <graham.stott@btinternet.com>
2404
2405 PR 14718
2406 * dwarf2out.c (dwarf2out_imported_module_or_decl): Use
2407 force_type_die for CONST_DECL.
2408
bb8a619e
SB
24092004-05-03 Eric Botcazou <ebotcazou@libertysurf.fr>
2410 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
178af0f3
EB
2411
2412 * config.gcc (sparc64-*-solaris2*, sparcv9-*-solaris2*): Add
2413 tm-dwarf2.h to tm_file.
2414 (sparc-*-solaris2*): Add tm-dwarf2.h to tm_file for Solaris 7+.
2415 * config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Delete.
2416 (ASM_DEBUG_SPEC): Delete.
2417
7a8e07c7
UB
24182004-05-03 Uros Bizjak <uros@kss-loka.si>
2419
2420 * optabs.h (enum optab_index): Add new OTI_expm1.
2421 (expm1_optab): Define corresponding macro.
2422 * optabs.c (init_optabs): Initialize expm1_optab.
2423 * genopinit.c (optabs): Implement expm1_optab using expm1?f2
2424 patterns.
2425 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXPM1{,F,L}
2426 using expm1_optab.
2427 (expand_builtin): Expand BUILT_IN_EXPM1{,F,L} using
2428 expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
2429
2430 * config/i386/i386.md (expm1df2, expm1sf2, expm1xf2): New expanders
2431 to implement expm1, expm1f and expm1l built-ins as inline x87
2432 intrinsics.
2433
5f2b9599
AO
24342004-05-02 Alexandre Oliva <aoliva@redhat.com>
2435
2436 2003-11-19 Richard Sandiford <rsandifo@redhat.com>
2437 * config/frv/frv.md (*return_true, *return_false): New patterns.
2438
1e5b67ff
KH
24392004-05-02 Kazu Hirata <kazu@cs.umass.edu>
2440
2441 * rtl.h (PHI_NODE_P): Remove.
2442
cfa29a4c
EB
24432004-05-02 Eric Botcazou <ebotcazou@act-europe.fr>
2444
2445 PR middle-end/14988
2446 * function.c (assign_stack_local_1): Use BITS_PER_UNIT alignment
2447 when passed -2 as 'align'.
2448 (put_var_into_stack): Use 'bool' as the type for the three local
2449 predicates. Adjust calls to put_reg_into_stack.
2450 When passed a CONCAT, instruct put_reg_into_stack to use
2451 a consecutive stack slot for the second part.
2452 (put_reg_into_stack): Remove 'promoted_mode' parameter, add
2453 'consecutive_p' parameter. Turn the three predicates into 'bool'
2454 parameters. Retrieve the register mode from 'reg'.
2455 When consecutive_p is true, instruct assign_stack_local_1 to use
2456 BITS_PER_UNIT alignment.
2457 (put_addressof_into_stack): Use 'bool' as the type for the two
2458 local predicates. Adjust call to put_reg_into_stack.
2459
fc627530
KG
24602004-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2461
2462 * fold-const.c (fold_convert_const, fold): Add missing
2463 FIX_ROUND_EXPR case.
2464
afbe7e61
AO
24652004-05-02 Alexandre Oliva <aoliva@redhat.com>
2466
9850f34a
AO
2467 * configure.ac (FLEX, BISON): Only use tools from the build tree
2468 if build equals host.
2469 * configure: Rebuilt.
2470
764678d1
AO
2471 * config/frv/frv-protos.h (frv_expand_epilogue,
2472 frv_expand_fdpic_call): Add bool argument.
2473 * config/frv/frv.c (frv_function_ok_for_sibcall): New.
2474 (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to it.
2475 (frv_expand_epilogue): Use new argument to decide whether to emit
2476 return instruction or copy the return address to LR.
2477 (frv_expand_fdpic_call): Inline PLT entry when emitting direct
2478 sibcalls.
2479 (sibcall_operand): New.
2480 * config/frv/frv.h (PREDICATE_CODES): call_operand doesn't match
2481 PLUS nor LABEL_REF. Add sibcall_operand.
2482 * config/frv/frv.md (call, call_value): Pass false to
2483 frv_expand_fdpic_call.
2484 (call_fdpicdi, call_value_fdpicdi): Insert %i0 in calll.
2485 (sibcall, sibcall_internal, sibcall_fdpicdi, sibcall_value,
2486 sibcall_value_internal, sibcall_value_fdpicdi): New.
2487 (return_unsigned_true, return_unsigned_false): New.
2488 (epilogue): Adjust call to frv_expand_epilogue.
2489 (sibcall_epilogue): New.
2490
afbe7e61
AO
2491 * config/frv/frv.h (ASM_SPEC): Pass -mno-fdpic as -mnopic.
2492 (CPP_SPEC, CPP_SIMPLE_SPEC): Undefine __FRV_ACC__ and __FRV_FPR__
2493 before redefining them.
2494
ca3df643
KG
24952004-05-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2496
2497 * builtins.c (fold_fixed_mathfn): New function.
2498 (fold_builtin_lround, fold_builtin): Use it.
2499
f2c0cb15
JJ
25002004-05-01 Jakub Jelinek <jakub@redhat.com>
2501
2502 * config/sparc/linux64.h (TARGET_DEFAULT): Make 64-bit by default
2503 also for TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc3.
2504
ea2637eb
KH
25052004-05-01 Kazu Hirata <kazu@cs.umass.edu>
2506
2507 * config/cris/cris.h: Revert my "fix comment typos" patch.
2508
d0cb84e9
RS
25092004-05-01 Richard Sandiford <rsandifo@redhat.com>
2510
6c3db3ab 2511 * config/mips/mips.h (TUNE_MACC_CHAINS): Fix comment.
d0cb84e9 2512
ebade076
FH
25132004-05-01 Falk Hueffner <falk@debian.org>
2514
2515 * config/alpha/alpha.md (builtin_insbl, builtin_inswl,
2516 builtin_insll): Disallow 0 as first input operand.
2517
0962c33d
FH
25182004-05-01 Falk Hueffner <falk@debian.org>
2519
2520 * config/alpha/alpha.c (alpha_rtx_costs): Fix shiftadd costs.
2521
e2655d15 25222004-05-01 Ulrich Weigand <uweigand@de.ibm.com>
03a53989 2523
e2655d15 2524 PR middle-end/15054
03a53989 2525 * expr.c (expand_expr_real): Do not call preserve_temp_slots
e2655d15
UW
2526 on a TARGET_EXPR temp.
2527 * function.c (assign_stack_temp_for_type): Set 'keep' flag for
2528 TARGET_EXPR temp slots.
2529
77306e3e
PB
25302004-05-01 Paolo Bonzini <bonzini@gnu.org>
2531
2532 * simplify-rtx.c (simplify_ternary_operation): When
2533 converting an IF_THEN_ELSE to a relational op, return
2534 correct mode.
2535
3bf05748
KG
25362004-04-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2537
2538 * builtins.c (fold_builtin_round): Fix comment typo.
2539 (fold_builtin_lround): New function.
2540 (fold_builtin): Use it.
2541
c0873231
AP
25422004-04-20 Andrew Pinski <pinskia@physics.uc.edu>
2543
2544 PR target/11608
2545 * config/sh/elf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Update and make it
2546 more like the one in config/dbxelf.h.
2547
5c5214a9
ZW
25482004-04-30 Zack Weinberg <zack@codesourcery.com>
2549
2550 * tree.h (SET_ARRAY_OR_VECTOR_CHECK): Rename to SET_OR_ARRAY_CHECK
2551 and adjust definition accordingly.
2552 (TYPE_DOMAIN): Allow only SET_TYPE and ARRAY_TYPE.
2553 (TYPE_DEBUG_REPRESENTATION_TYPE): Allow only VECTOR_TYPE.
2554 * expr.c (store_constructor): Do not access TYPE_DOMAIN of a
2555 VECTOR_TYPE.
2556
67214984
JM
25572004-04-30 Jason Merrill <jason@redhat.com>
2558
2559 PR c++/14587
2560 * config/i386/winnt.c (associated_type): Look for attributes on
2561 the TYPE_MAIN_VARIANT of *this.
2562 * attribs.c (decl_attributes): If ATTR_FLAG_TYPE_IN_PLACE, also
2563 apply the attributes to the variants.
2564
b73f075a
PB
25652004-04-30 Paul Brook <paul@codesourcery.com>
2566
2567 * config.gcc: Simplify arm --with-{cpu,tune} test.
2568 * config/arm/arm-cores.def: Document whitespace restrictions.
2569
5076da17
RO
25702004-04-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2571
2572 PR other/1963
2573 * config/alpha/osf.h (SWITCHES_NEED_SPACES): Define.
2574
8a897bf9 25752004-04-30 Brian Ford <ford@vss.fsi.com>
bb8a619e
SB
2576 DJ Delorie <dj@redhat.com>
2577
2578 * config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
2579 (DWARF2_DEBUGGING_INFO): Define to enable.
2580 (DBX_REGISTER_NUMBER): Define to use the svr4 register map for
2581 DWARF2.
2582 * configure.ac (Target-specific assembler checks)
2583 <i[34567]86-*-[cygwin*|pe|mingw32*]>: New test for .secrel32
2584 relocs.
2585 * configure: Regenerate.
2586 * config.in: Likewise.
2587
2588 * config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
2589 (ASM_OUPUT_DWARF_OFFSET): Define.
8a897bf9 2590
ed9676cf
AK
25912004-04-29 Andreas Krebbel <krebbel1@de.ibm.com>
2592
2593 * config/s390/s390-protos.h (s390_emit_epilogue): Parameter added.
2594 (s390_emit_call): New function prototype added.
2595 (s390_tls_get_offset): Function removed.
2596 * config/s390/s390.c (s390_function_ok_for_sibcall,
2597 s390_call_saved_register_used_p): New functions.
2598 (TARGET_FUNCTION_OK_FOR_SIBCALL): Definition of target macro added.
2599 (s390_tls_get_offset): Function merged into s390_emit_tls_call_insn.
2600 (s390_emit_tls_call_insn): New function.
2601 (legitimize_tls_address): Call s390_emit_tls_call_insn instead of
2602 emit_call_insn.
2603 (s390_emit_prologue): Use s390_emit_call instead of emit_call_insn.
5c5214a9 2604 (s390_emit_epilogue): Like s390_emit_prologue. Parameter for sibcalls
ed9676cf 2605 added.
5c5214a9 2606 * config/s390/s390.h (SIBCALL_REGNUM): New macro representing the
ed9676cf
AK
2607 register number used to hold the target address for sibcalls.
2608 * config/s390/s390.md ("sibcall", "sibcall_value", "sibcall_epilogue"):
2609 New expanders.
5c5214a9 2610 ("*sibcall_br", "*sibcall_brc", "*sibcall_brcl", "*sibcall_value_br",
ed9676cf 2611 "*sibcall_value_brc", "*sibcall_value_brcl"): New insns.
5c5214a9 2612 ("call_exp", "call_value_exp", "call_value_tls", "call_value_tls_exp"):
ed9676cf
AK
2613 Expanders removed.
2614 ("call", "call_value"): Call s390_emit_call to emit the call patterns.
5c5214a9 2615 ("*bras", "*brasl", "*bras_r", "*brasl_r", "*bras_tls", "*brasl_tls",
ed9676cf
AK
2616 "*basr", "*basr_r", "*basr_tls"): Added constraint: !SIBLING_CALL_P.
2617 ("epilogue"): Changed the call to s390_emit_epilogue to use the
2618 new parameter.
2619
1ae58c30
KH
26202004-04-30 Kazu Hirata <kazu@cs.umass.edu>
2621
2622 * bb-reorder.c, c-opts.c, cfglayout.c, cgraph.c, cgraphunit.c,
2623 cppfiles.c, fold-const.c, ggc-zone.c, loop-doloop.c, optabs.c,
2624 reg-stack.c, varasm.c, config/alpha/ev4.md,
2625 config/alpha/ev5.md, config/alpha/ev6.md, config/arm/arm.c,
2626 config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.c,
2627 config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.c,
2628 config/frv/frv.h, config/frv/frv.md, config/h8300/h8300.c,
2629 config/i386/i386.c, config/i386/i386.md, config/i386/winnt.c,
2630 config/ia64/itanium2.md, config/ip2k/ip2k.c,
2631 config/mips/mips.c, config/mips/mips.h, config/mips/sr71k.md,
2632 config/pa/pa.c, config/s390/s390.c, config/sh/sh.c: Fix
2633 comment typos.
2634
78011587
PB
26352004-04-30 Paul Brook <paul@codesourcery.com>
2636
2d84a437 2637 * config.gcc: Default ep9312 to hard-float.
78011587
PB
2638 * config/arm/arm-cores.def: Add ARCH field.
2639 * config/arm/arm.c (FL_FOR_ARCH*): Define.
2640 (arm_arch_cirrus): New variable.
2641 (all_cores): Set and use arch.
2642 (all_architectures): Ditto.
2643 (arm_arch_name): New variable.
2644 (arm_override_options): Set it. Use [SUB]TARGET_CPU_DEFAULT.
2645 Set and use arm_arch_cirrus.
2646 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Set arch defines.
2647 (enum processor_type): Update ARM_CORE define.
2648 (enum target_cpus): Add. Replaces TARGET_CPU_* defines.
2649 (CPP_SPEC): Remove %(cpp_cpu_arch).
2650 (CPP_ARCH_DEFAULT_SPEC): Remove.
2651 (CPP_CPU_ARCH_SPEC): Remove.
2652 (EXTRA_SPECS): Don't use CPP_*ARCH*_SPEC.
2653 (FPUTYPE_DEFAULT): Don't define here.
2654
e344dbf3
R
26552004-04-30 J"orn Rennecke <joern.rennecke@superh.com>
2656
2657 * flow.c (propagate_one_insn): Call mark_set_regs for stack pointer
2658 updates too.
2659
65a939f7
PB
26602004-04-30 Paul Brook <paul@codesourcery.com>
2661
2662 * arm.c (arm_needs_doubleword_align): Use mode alignment.
2663
0bf87ea5
PB
26642004-04-30 Paolo Bonzini <bonzini@gnu.org>
2665
2666 * config/altivec/altivec.h [__cplusplus] (vec_subsubs): Rename to
2667 vec_sububs.
2668 [__cplusplus] (vec_subsuhs): Rename to vec_subuhs, without
2669 duplicates.
2670
a6bf61c7
UB
26712004-04-30 Uros Bizjak <uros@kss-loka.si>
2672
65a939f7
PB
2673 * config/i386/i386.md (atansf2, atandf2, atanxf2): Move near
2674 atan2?f3 expanders.
a6bf61c7 2675
150e407a
NC
26762004-04-29 Nick Clifton <nickc@redhat.com>
2677
2678 Bug 14093
2679 * config/sh/sh-protos.h (sh_promote_prototypes): Declare.
2680 * config/sh/sh.c (sh_promote_prototypes): Remove declaration.
2681 Delete static from definition.
2682 * config/sh/sh.h (FUNCTION_VALUE): Add sh_promote_prototypes call.
2683
6862f97f
UB
26842004-04-30 Uros Bizjak <uros@kss-loka.si>
2685
65a939f7
PB
2686 * reg-stack.c (subst_stack_regs_pat): <UNSPEC_SIN, UNSPEC_COS,
2687 UNSPEC_FRNDINT, UNSPEC_F2XM1>: abort() if src1 dies.
2688 <UNSPEC_SINCOS_COS, UNSPEC_TAN_ONE, UNSPEC_XTRACT_FRACT>: Same.
2689 <UNSPEC_SINCOS_SIN, UNSPEC_TAN_TAN, UNSPEC_XTRACT_EXP>: Same.
6862f97f 2690
c65a01af
RG
26912004-04-29 Richard Guenther <richard.guenther@uni-tuebingen.de>
2692
2693 * commom.opt (Wfatal-errors): Add it.
2694 * diagnostic.c (flag_fatal_errors): Define it.
2695 (diagnostic_action_after_output): Check for flag_fatal_errors.
2696 * flags.h (flag_fatal_errors): Declare it.
2697 * opts.c (common_handle_option): Add OPT_Wfatal_errors.
2698 * doc/invoke.texi (Warning Options): Document -Wfatal-errors.
2699
d1c6a401
JZ
27002004-04-30 Josef Zlomek <zlomekj@suse.cz>
2701
2702 * gcse.c (remove_reachable_equiv_notes): Delete notes also in
2703 blocks which have kill flag set.
2704
99c012a8
BE
27052004-04-29 Ben Elliston <bje@au.ibm.com>
2706
2707 * configure.ac (--with-as): Abort if user-supplied assembler
2708 cannot be executed.
2709 (--with-ld): Likewise for the linker.
2710 * configure: Regenerate.
2711
d2be4368
KG
27122004-04-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2713
2714 * convert.c (convert_to_integer): Ensure `long_integer_type_node'
2715 isn't NULL before using it.
2716
15a6f2c3
RS
27172004-04-29 Richard Sandiford <rsandifo@redhat.com>
2718
2719 PR target/15189
2720 * config/mips/mips.md (load_df_low): Use default length.
2721 (load_df_high, store_df_high): Likewise.
2722
effa5d5d
KH
27232004-04-29 Kazu Hirata <kazu@cs.umass.edu>
2724
2725 * config/mips/mips.md, config/mips/sb1.md,
2726 config/rs6000/rs6000.c: Fix comment typos.
2727
2b8a92de
KH
27282004-04-29 Kazu Hirata <kazu@cs.umass.edu>
2729
2730 * builtins.c, cgraph.c, cgraphunit.c, final.c, fold-const.c:
2731 Fix comment typos.
2732
8fd58397
DR
27332004-04-29 Douglas B Rupp <rupp@gnat.com>
2734
2735 * gcc.c (DELETE_IF_ORDINARY): New macro default definition.
2736 (delete_if_ordinary): Use above macro.
2737 * config/alpha/xm-vms.h (DELETE_IF_ORDINARY): New macro VMS definition.
2738 Update copyright.
2739 * doc/hostconfig.texi (DELETE_IF_ORDINARY): Document new macro.
2740
56141a6a
RE
27412004-04-29 Richard Earnshaw <rearnsha@arm.com>
2742
2743 * c-decl.c (get_parm_info): Use the correct tag keywords when
2744 warning about type declarations in prototypes.
2745
2682e19f
PB
27462004-04-29 Paul Brook <paul@codesourcery.com>
2747
2748 * config.gcc: Pull list of cores from arm-cores.def.
2749
c6fb08ad
PB
27502004-04-29 Paolo Bonzini <bonzini@gnu.org>
2751
2752 * combine.c (combine_simplify_rtx): Adjust call to use
2753 simplify_relational_operation. Do not use SELECT_CC_MODE
2754 when a comparison already has a MODE_CC mode.
0bf87ea5
PB
2755
27562004-04-29 Paolo Bonzini <bonzini@gnu.org>
2757
c6fb08ad
PB
2758 (simplify_set): simplify_relational_operation may now
2759 return another relational expression.
2760 * cse.c (fold_rtx): simplify_relational_operation now
2761 takes of computing the comparison mode.
2762 * dojump.c (compare_from_rtx): Use simplify_relational_operation,
2763 remove dead code.
2764 (do_compare_rtx_and_jump): Likewise.
2765 * integrate.c (subst_constants): simplify_relational_operation
2766 may now return another relational expression.
2767 * simplify-rtx.c (simplify_gen_relational): Move most code to
2768 the new simplify_relational_operation and
2769 simplify_relational_operation_1 functions.
2770 (simplify_relational_operation): Rewritten.
2771 (simplify_relational_operation_1): New function.
2772 (simplify_ternary_operation): simplify_relational_operation
2773 may now return another relational expression.
5c5214a9 2774 (simplify_rtx): Remove unnecessary temp variable.
c6fb08ad 2775
f964bd29
UB
27762004-04-29 Uros Bizjak <uros@kss-loka.si>
2777
2682e19f
PB
2778 * reg-stack.c (swap_to_top): New function.
2779 (subst_stack_regs_pat): UNSPEC_FPATAN, UNSPEC_FYL2X: Use
2780 swap_to_top().
2781 (subst_stack_regs_pat): UNSPEC_FSCALE: Remove.
5c5214a9 2782 (subst_stack_regs_pat): Handle UNSPEC_FSCALE_FRACT and
2682e19f 2783 UNSPEC_FSCALE_EXP.
f964bd29 2784
2682e19f
PB
2785 * config/i386/i386.md (UNSPEC_FSCALE): Remove.
2786 (*fscale_sfxf3, *fscale_dfxf3, *fscale_xf3): Remove insn pattern.
2787 (UNSPEC_FSCALE_FRACT, UNSPEC_FSCALE_EXP): New unspecs to represent
2788 x87's fscale insn.
2789 (*fscalexf4: Define new insn pattern to implement x87 fscale insn.
2790 (exp?f2, exp10?f2, exp2?f2): Use *fscalexf4 and float_truncate
2791 patterns.
f964bd29 2792
cb83302c
SB
27932004-04-28 Serge Belyshev <1319@bot.ru>
2794
2795 PR 14944
2796 * coverage.c (read_counts_file): Fix usage of warning () call.
2797 * pretty-print.c (pp_base_format_text): Fix typo in the comment.
2798
5ad7ae7f
BE
27992004-04-28 Ben Elliston <bje@au.ibm.com>
2800
2801 * doc/invoke.texi (Objective-C Dialect Options): Don't prefix
2802 options with "-" in the option index.
2803 (SPARC Options): Likewise.
2804 (M32R/D Options): Likewise.
2805
332d782c
KG
28062004-04-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2807
2808 * convert.c (convert_to_integer): Convert (long)round -> lround,
2809 etc.
2810
90f81f99
AP
28112004-04-28 Andrew Pinski <pinskia@physics.uc.edu>
2812
2813 * config/rs6000/rs6000.c (registers_ok_for_quad_peep):
2814 Return false if we do not have fp register.
2815 (addrs_ok_for_quad_peep): Rename to ...
2816 (mems_ok_for_quad_peep): this.
2817 Add check for volatile memory.
2818 * config/rs6000/rs6000-protos.h (addrs_ok_for_quad_peep):
2819 Rename to ...
2820 (mems_ok_for_quad_peep): this.
2821 * config/rs6000/rs6000.md: Change peephole's for lfq/stq
2822 to peephole2's.
2823 (lfq_power2): New instruction.
2824 (stfq_power2): Likewise.
2825
902edd36
JH
28262004-04-28 Jan Hubicka <jh@suse.cz>
2827
2828 PR c/15004
2829 * function.c (do_warn_unused_parameter): Break out form ...
2830 (expand_function_end): ... here; warn only when not using cgraphunit.
2831 * function.h (do_warn_unused_parameter): Declare.
2832 * cgraphunit.c: Include function.h.
2833 (cgraph_finalize_function): Do unused parameter warning.
2834 * Makefile.in (cgraphunit.o): Depend on function.h
2835
a89f5df3
JM
28362004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
2837
2838 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Don't condition
2839 calling install-info on $(DESTDIR)$(infodir)/dir already being
2840 present.
2841
40f0b3ee
PB
28422004-04-28 Paul Brook <paul@codesourcery.com>
2843
2844 * dwarf2out.c (mem_loc_descriptor): Handle shifts.
2845
c2e2375e
UW
28462004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
2847
5c5214a9 2848 * gcse.c (find_moveable_store): Do not accept store insns with
c2e2375e
UW
2849 REG_EH_REGION note.
2850
9e1622ed
PB
28512004-04-28 Paul Brook <paul@codesourcery.com>
2852
2853 * calls.c (precompute_arguments): Remove PROMOTE_FOR_CALL_ONLY.
2854 * function.c (assign_temp): Ditto.
2855 * system.h (PROMOTE_FOR_CALL_ONLY): Poison.
2856
e0d4a859
PB
28572004-04-28 Paul Brook <paul@codesourcery.com>
2858
2859 * config/arm/lib1funcs.asm: Recognize armv5tej and armv6.
2860
83532fb7
JZ
28612004-04-28 Josef Zlomek <zlomekj@suse.cz>
2862
2863 * var-tracking.c (variable_different_p): Add a parameter
2864 compare_current_location, compare current location of variable parts
2865 if it is true.
2866 (dataflow_set_different_1): Pass compare_current_location == false.
2867 (dataflow_set_different_2): Pass compare_current_location == false.
2868 (emit_notes_for_differences_1): Pass compare_current_location == true.
2869
cfa29496
UW
28702004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
2871
2872 * config/s390/s390.md ("casesi"): Mark jump table access as
2873 non-trapping and unchanging.
2874
23959f19
JDA
28752004-04-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2876
2877 PR debug/14829
2878 * dwarf2out.c (reg_number): Rename to dbx_reg_number. Adjust all
2879 callers.
2880 (multiple_reg_loc_descriptor, reg_loc_descriptor): Use gcc register
2881 number for indexing hard_regno_nregs array.
5c5214a9 2882
2f70eed1
GK
28832004-04-27 Geoffrey Keating <geoffk@apple.com>
2884
2885 * config/darwin.h (STARTFILE_SPEC): Use %s to find crt2.o.
2886 * config/darwin-crt2.c: Only have contents on __ppc__.
2887
f1dfe704
BW
28882004-04-27 Bob Wilson <bob.wilson@acm.org>
2889
2890 * config/xtensa/xtensa.c (call_insn_operand): Check
2891 SYMBOL_REF_EXTERNAL_P in addition to SYMBOL_REF_LOCAL_P.
2892 * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND): Likewise.
2893 * config/xtensa/xtensa.md (call, call_value): Likewise.
2894
80408cac
WY
28952004-04-27 Wu Yongwei <adah@sh163.net>
2896
2897 * gthr-win32.h (__gthread_mutex_t): Change typedef to new structure.
2898 (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
2899 (__gthread_mutex_init_function): Replace CreateMutex with
2900 initialization of custom mutex using CreateSemaphore.
2901 (__gthread_mutex_lock): Use InterlockedIncrement.
2902 (__gthread_mutex_trylock): Use InterlockedCompareExchange.
2903 (__gthread_mutex_unlock): Use InterlockedDecrement and
2904 ReleaseSemaphore to unlock
2905 * config/i386/gthr-win32.c (__gthread_mutex_init_function,
2906 __gthread_mutex_lock, __gthread_mutex_trylock,
2907 __gthread_mutex_unlock): Adjust to match inline versions in
2908 gthr-win32.h.
2909
70301b45
PB
29102004-04-27 Paul Brook <paul@codesourcery.com>
2911
2912 * config/arm/arm.c (arm_promote_prototypes): New function.
2913 (TARGET_PROMOTE_PROTOTYPES): Use it.
2914
4b763d77
PB
29152004-04-27 Paul Brook <paul@codesourcery.com>
2916
2917 * config/arm/arm.c (arm_expand_epilogue): Count blocks of 4 regs.
2918
7053a0e2
BG
29192004-04-26 Bernard Giroud <bgiroud@free.fr>
2920
2921 * config/alpha.c (alpha_end_function): For OpenVMS gas,
2922 correctly output .pdesc directive before .end.
2923
6d7870d1
JW
29242004-04-26 James E Wilson <wilson@specifixinc.com>
2925
2926 Bug 14927
2927 * config/ia64/ia64.md (movxf): New local op0. Handle case where
2928 operands[0] is a SUBREG. Handle case where operands[1] is a GR reg.
2929
7dd7fb88
ZW
29302004-04-26 Zack Weinberg <zack@codesourcery.com>
2931
2932 * config/ia64/hpux.h: Predefine __STDCPP__ when compiling C++.
2933 * config/pa/pa-hpux10.h: Likewise.
2934 * config/pa/pa-hpux11.h: Likewise.
2935
488061c8
GK
29362004-04-26 Geoffrey Keating <geoffk@apple.com>
2937
2938 * doc/invoke.texi (Overall Options): Document default for -o
2939 for PCH files.
2940
2b92e7f5
RK
29412004-04-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2942
2943 * builtins.c (expand_builtin_update_setjmp_buf): New function.
2944 (expand_builtin, case BUILT_IN_UPDATE_SETJMP_BUF): New case.
2945 * builtins.def (BUILT_IN_UPDATE_SETJMP_BUF): New code.
2946
3657dc3e
PB
29472004-04-26 Paul Brook <paul@codesourcery.com>
2948
2949 * config/arm/arm.c (arm_legitimate_index_p): Correct iwmmxt offsets.
2950
778ebdd9
PB
29512004-04-26 Paul Brook <paul@codesourcery.com>
2952
2953 * config/arm/arm.c (arm_legitimate_index_p): Correct maverick offsets.
2954
7c95f621
RS
29552004-04-25 Roger Sayle <roger@eyesopen.com>
2956
2957 * fold-const.c (fold): Prefer fold_convert (negate_expr (...)) to
2958 fold (build1 (NEGATE_EXPR, ...)). Optimize X / -1 as -X and
2959 X % -1 as 0.
2960
29c246a7
HPN
29612004-04-26 Hans-Peter Nilsson <hp@bitrange.com>
2962
2963 PR bootstrap/15141
2964 * except.c (connect_post_landing_pads): Delete insns after the
2965 barrier when generating a unwind_resume_libfunc call.
2966
95df09f0
RK
29672004-04-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2968
2969 PR/c++ 15119
2970 * tree.c (substitute_placeholder_in_expr, case 4): New case,
2971 for TARGET_EXPR.
2972
29732004-04-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
060c5f00
ZD
2974
2975 * gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
2976 __gcov_execv, __gcov_execvp, __gcov_execve): Do not declare when
2977 inhibit_libc is defined.
2978
39ba1719
RS
29792004-04-25 Richard Sandiford <rsandifo@redhat.com>
2980
2981 * config/mips/mips-protos.h (mips_linked_macc_p): Declare.
2982 * config/mips/mips.h (TUNE_MACC_CHAINS): New macro.
2983 * config/mips/mips.c (TARGET_SCHED_REORDER): Define.
2984 (TARGET_SCHED_VARIABLE_ISSUE): Define.
2985 (mips_adjust_cost): Move later in file, next to other sched hooks.
2986 (mips_macc_chains_last_hilo): New variable.
2987 (mips_linked_madd_p, mips_macc_chains_record, mips_macc_chains_reorder)
2988 (mips_promote_ready, mips_sched_reorder, mips_variable_issue): New.
2989 * config/mips/mips.md (may_clobber_hilo): New attribute.
2990
d3535e80
RS
29912004-04-24 Roger Sayle <roger@eyesopen.com>
2992 Bruce Korb <bkorb@gnu.org>
2993
2994 * fixinc/inclhack.def (aix_syswait_2): New fix.
2995 * fixinc/fixincl.x: Regenerate.
2996 * fixinc/tests/base/sys/wait.h: Update for new test.
2997
44688022
AM
29982004-04-24 Alan Modra <amodra@bigpond.net.au>
2999
3000 PR target/14960
3001 * config/rs6000/rs6000.c (rs6000_stack_info): Rename total_raw_size
3002 to non_fixed_size, and leave out fixed_size from the sum.
3003 (generate_set_vrsave): Correct clobbers.
3004 (rs6000_emit_epilogue): Test TARGET_ALTIVEC with TARGET_ALTIVEC_SAVE.
3005 (rs6000_function_value): Test TARGET_ALTIVEC and TARGET_ALTIVEC_ABI.
3006 (rs6000_libcall_value): Likewise.
3007 * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Likewise.
3008 (FUNCTION_ARG_REGNO_P): Likewise.
3009
77278891
UW
30102004-04-24 Ulrich Weigand <uweigand@de.ibm.com>
3011
3012 * expmed.c (expand_mult_highpart_adjust): Do not assume OP1
3013 is a CONST_INT.
3014 (expand_mult_highpart_optab): Call expand_mult_highpart_adjust
3015 with NARROW_OP1 instead of OP1.
3016
170f9e63
UW
30172004-04-24 Ulrich Weigand <uweigand@de.ibm.com>
3018
3019 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __s390__
3020 and __s390x__ hosts.
3021
d1c38823
ZD
30222004-03-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3023
3024 * Makefile.in (LIBGCOV): Add _gcov_fork, _gcov_execl, _gcov_execlp,
3025 _gcov_execle, _gcov_execv, _gcov_execvp, _gcov_execve.
3026 * builtin-types.def (BT_PID, BT_PTR_CONST_STRING, BT_FN_PID,
3027 BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
3028 BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING): New.
3029 * builtins.c (expand_builtin_fork_or_exec): New.
3030 (expand_builtin): Call it.
3031 * builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP,BUILT_IN_EXECLE,
3032 BUILT_IN_EXECV, BUILT_IN_EXECVP, BUILT_IN_EXECVE, BUILT_IN_FORK): New.
3033 * c-common.c (PID_TYPE): New macro.
3034 (c_common_nodes_and_builtins): Initialize pid_type_node.
3035 * calls.c (special_function_p): Do not handle fork and exec.
3036 (expand_call): Do not handle ECF_FORK_OR_EXEC.
3037 * gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
3038 __gcov_execv, __gcov_execvp, __gcov_execve): Declare.
3039 * libgcov.c (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
3040 __gcov_execv, __gcov_execvp, __gcov_execve): New.
3041 * tree.h (enum tree_index): Add TI_PID_TYPE.
3042 (pid_type_node): New macro.
3043 (ECF_FORK_OR_EXEC): Removed.
3044
1548580c
EB
30452004-04-23 Eric Botcazou <ebotcazou@libertysurf.fr>
3046
3047 PR optimization/13985
3048 * cfgloopmanip.c (fix_loop_placements): New prototype.
3049 Call fix_bb_placements on the preheader of loops that have
3050 been reparented.
3051 (remove_path): Adjust call to fix_loop_placements.
3052
9b2d02a0
AP
30532004-04-23 Andrew Pinski <pinskia@physics.uc.edu>
3054
3055 * config/darwin7.h: New file.
3056 * config.gcc (*-*-darwin*): Add darwin7.h if the
3057 version is greater than 6.
3058 * config/darwin.h (TARGET_C99_FUNCTIONS): Define.
3059 (MATH_LIBRARY): Wrap in ifdefs.
3060
01d4c813
DJ
30612004-04-23 Daniel Jacobowitz <drow@mvista.com>
3062
3063 * config/arm/arm.c (arm_output_epilogue): Reverse the order of
3064 loading iWMMXt registers with a frame pointer. Use post-increment
3065 without a frame pointer.
3066 (arm_expand_prologue): Reverse the order of saving iWMMXt registers.
3067
7797ff53
PB
30682004-04-23 Paolo Bonzini <bonzini@gnu.org>
3069
3070 * doc/invoke.texi (Optimize Options): Refer to "unit-at-a-time
3071 mode" rather than "-funit-at-a-time" since -O2 enables it
3072 without requiring -f* options. Refer to -fprofile-generate and
3073 -fprofile-use correctly. Move -funit-at-a-time among options
3074 enabled by -O. Add information about unit-at-a-time caveats.
3075
500bee0a
PB
30762004-04-22 Per Bothner <per@bothner.com>
3077
3078 * line-map.h (struct line_maps): New field highest_line.
3079 (linemap_position_for_column): Make non-inline function.
3080 (LINEMAP_POSITION_FOR_COLUMN): New macro.
3081 * line-map.c (linemap_init): Clear highest_line field.
3082 (linemap_add): Set highest_line field.
3083 (linemap_line_start): Minor optimization - use highest_line field.
3084 Reduce maximum column hint to 10000. Update highest_line field.
3085 (linemap_position_for_column): Moved from line-map.h. Optimize a bit.
3086 * cpphash.h (struct cpp_reader): Remove line field - instead use
3087 line_table->highest_line.
3088 (saved_line): Remove unused field.
3089 (CPP_INCREMENT_FILE): Don't do linemap_lookup - just use newest map.
3090 Use line_table's highest_line field instead of cpp_reader's line.
3091 * cpplib.c (start_directive): Likewise use highest_line field.
3092 (do_line, do_linemarker): Likewise just use newest map.
3093 (_cpp_do_file_change): Don't need to set cpp_reader's line field.
3094 * cpperror.c (cpp_error): Likewise use highest_line field.
3095 * cppfiles.c (open_file_failed: Likewise.
3096 (cpp_make_system_header): Likewise use newest map and highest_line.
3097 * cppinit.c (cpp_create_reader): Don't initialize removed field.
3098 * cpplex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
3099 skip_line_comment, skip_whitespace, _cpp_get_fresh_line,
3100 _cpp_lex_direct): Likewise use highest_line.
3101 (_cpp_lex_direct): Use new LINEMAP_POSITION_FOR_COLUMN macro.
3102 * cppmacro.c (_cpp_builtin_macro_text): Likewise use highest_line,
3103 and use newest map.
3104 * cpppch.c (cpp_read_state): Don't save+restore cpp_reader's line.
3105 * cpptrad.c (_cpp_overlay_buffer): Don't save cpp_reader's line.
3106 (copy_comment, _cpp_scan_out_logical_line): Likewise use highest_line.
3107
8efcd34f
AM
31082004-04-23 Alan Modra <amodra@bigpond.net.au>
3109
9344fdb9 3110 PR bootstrap/14992
8efcd34f
AM
3111 * gcc.c (init_gcc_specs): Test USE_LD_AS_NEEDED, not HAVE_LD_AS_NEEDED.
3112 * config/linux.h (USE_LD_AS_NEEDED): Define.
3113 * gcc/config/alpha/linux.h (USE_LD_AS_NEEDED): Define.
3114 * gcc/config/arm/linux-elf.h (USE_LD_AS_NEEDED): Define.
3115 * gcc/config/rs6000/linux.h (USE_LD_AS_NEEDED): Define.
3116 * gcc/config/rs6000/linux64.h (USE_LD_AS_NEEDED): Define.
3117 * gcc/config/sh/linux.h (USE_LD_AS_NEEDED): Define.
3118 * gcc/config/sparc/linux.h (USE_LD_AS_NEEDED): Define.
3119 * gcc/config/sparc/linux64.h (USE_LD_AS_NEEDED): Define.
3120
3092d0fc
PB
31212004-04-22 Per Bothner <per@bothner.com>
3122
3123 * cppinit.c (cpp_read_main_file): Return NULL rather than false.
3124 Fixes PR preprocessor/15067.
3125
e203404e
AS
31262004-04-23 Andreas Schwab <schwab@suse.de>
3127
3128 * config/ia64/ia64intrin.h: Add intermediate cast to void * to
3129 avoid aliasing warning.
3130
bade3a00 31312004-04-22 Jan Hubicka <jh@suse.cz>
bdabb153 3132 Mostafa Hagog <mustafa@il.ibm.com>
bade3a00
JH
3133
3134 * cfgloopmanip.c (scale_bbs_frequencies): Use RDIV macro
3135 * cfgloopanal.c (expected_loop_iterations): Change the return value
3136
fb5d4a68
JJ
31372004-04-22 Jakub Jelinek <jakub@redhat.com>
3138
3139 * cselib.h (struct elt_loc_list): Remove canon_loc field.
3140 * cselib.c (new_elt_loc_list): Remove canon_loc initialization.
3141 (cselib_invalidate_mem): Remove all canon_loc and canon_x
3142 traces.
3143
b10e5b3a
JZ
31442004-04-22 Josef Zlomek <zlomekj@suse.cz>
3145
3146 Revert
3147 2004-04-20 Josef Zlomek <zlomekj@suse.cz>
3148
3149 * var-tracking.c (variable_part_different_p): Variable parts
3150 differ when the most recent locations differ.
3151
827555ea
RS
31522004-04-22 Richard Sandiford <rsandifo@redhat.com>
3153
3154 * doc/invoke.texi: Remove the MIPS -membedded-pic option.
3155 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): Delete.
3156 (embedded_pic_offset): Delete.
3157 * config/mips/mips.h (MASK_EMBEDDED_PIC): Delete. Shuffle other
3158 MASK_* constants.
3159 (TARGET_EMBEDDED_PIC): Delete.
3160 (TARGET_SWITCHES): Remove -m{no-,}embedded-pic.
3161 (ASM_SPEC): Remove -membedded-pic.
3162 (ASM_OUTPUT_ADDR_DIFF_ELT): Remove embedded-pic handling.
3163 (ASM_OUTPUT_CASE_LABEL): Likewise.
3164 * config/mips/vxworks.h (ASM_SPEC): Remove -membedded-pic.
3165 * config/mips/windiss.h (ASM_SPEC): Likewise.
3166 * config/mips/mips.c (struct machine_function): Remove
3167 embedded_pic_fnaddr_rtx.
3168 (TARGET_ENCODE_SECTION_INFO): Remove override.
3169 (embedded_pic_fnaddr_reg, embedded_pic_offset): Delete.
3170 (override_options): Remove -membedded-pic handling.
3171 (print_operand): Remove handling of '%S'.
3172 (mips_select_section: Remove -membedded-pic handling.
3173 (mips_encode_section_info): Delete.
3174 (mips_output_conditional_branch): Remove mention of -membedded-pic.
3175 * config/mips/mips.md (define_attr length, movsi, movdi, jump): Remove
3176 -membedded-pic handling.
3177 (casesi, casesi_internal, casesi_internal_di, get_fnaddr): Delete.
3178
00ca716b
AM
31792004-04-22 Alan Modra <amodra@bigpond.net.au>
3180
3181 * var-tracking.c (frame_base_decl): Remove useless GTY.
3182
e4463bf1
AH
31832004-04-21 Aldy Hernandez <aldyh@redhat.com>
3184
3185 * config/rs6000/rs6000.c (rs6000_override_options): Error when
3186 user wants altivec and e500 instructions.
3187
e24e0aa7
L
31882004-04-21 H.J. Lu <hongjiu.lu@intel.com>
3189
3190 PR target/14813
3191 * config/ia64/crtend.asm: Move pointer to __do_global_ctors_aux
3192 in .init_array section to ...
3193 * config/ia64/crtbegin.asm: Here.
3194
3195 * config/ia64/crtend.asm: Mark __do_global_ctors_aux global
3196 and hidden if HAVE_INITFINI_ARRAY is defined.
3197
cb7761f5
JW
31982004-04-21 James E Wilson <wilson@specifixinc.com>
3199
50d32cf6
JW
3200 * config/mips/mips-protos.h (fp_register_operand, lo_operand): Declare.
3201 * config/mips/mips.c (mips_multipass_dfa_lookahead): Declare.
3202 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): New.
3203 (fp_register_operand, lo_operand): New.
3204 (mips_rtx_costs): Add TUNE_SB1 support.
3205 (mips_issue_rate): Add comment. Add PROCESSOR_SB1 support.
3206 (mips_use_dfa_pipeline_interface): Add PROCESSOR_SB1 support.
3207 (mips_multipass_dfa_lookahead): New.
3208 * config/mips/mips.h (MASK_FP_EXCEPTIONS, TARGET_FP_EXCEPTIONS,
3209 TUNE_SB1): New.
3210 (TARGET_SWITCHES): Add -mfp-exceptions support.
3211 (TARGET_FP_EXCEPTIONS_DEFAULT): New.
3212 (BRANCH_COST): Fix whitespace.
3213 * config/mips/mips.md: Include sb1.md.
3214 * config/mips/sb1.md: New file.
3215 * doc/invoke.texi: Document -mfp-exceptions.
3216
cb7761f5
JW
3217 * Makefile.in (fixinc.sh): Don't set or export WARN_CFLAGS. Fix
3218 comment.
3219 * fixinc/Makefile.in (FL_LIST): Don't mention WARN_CFLAGS.
3220 (fixincl.o-warn): Delete.
3221
a031e781
AP
32222004-04-21 Andrew Pinski <pinskia@physics.uc.edu>
3223
3224 * config/rs6000/rs6000 (print_operand) ['z']:
3225 Change ifdef of TARGET_MACHO to if TARGET_MACHO.
3226
06a6469a
DJ
32272004-04-21 Daniel Jacobowitz <drow@mvista.com>
3228
3229 * config.gcc: Support --with-arch=iwmmxt for ARM.
3230
665acd1e
RK
32312004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3232
3233 * expmed.c (expand_mult_highpart_optab): Use narrower version of OP1
3234 in two more places; remove unneeded force_reg
3235
f9da97f0
AP
32362004-04-21 Andrew Pinski <pinskia@physics.uc.edu>
3237
3238 * config/rs6000/rs6000.c (symbol_ref_operand): Remove hack
3239 for TARGET_MACHO.
3240 (print_operand): For TARGET_MACHO check to see if we need a stub
3241 and output one if we need it.
de3c6d93
AP
3242
3243 PR debug/15033
3244 * dwarf2out.c (rtl_for_decl_location): Check for NULL
3245 rtl.
3246
75293ad6
JW
32472004-04-20 James E Wilson <wilson@specifixinc.com>
3248
3249 * config/ia64/ia64.md (call_value_nogp): Add constraints for op0.
3250 (vall_value_gp): Likewise.
3251
8b495402 32522004-04-20 DJ Delorie <dj@redhat.com>
7dd7fb88 3253
8b495402
DD
3254 * dwarf2out.c (rtl_for_decl_location): Adjust rtl for byte
3255 variables stored in word registers, then in memory.
3256
77a705e4
EC
32572004-04-20 Eric Christopher <echristo@redhat.com>
3258
3259 * cp/parser.c (cp_parser_declaration): Move translate
3260 up before tokens are lexed.
3261
c56122d8
UB
32622004-04-20 Uros Bizjak <uros@kss-loka.si>
3263
3264 * optabs.h (enum optab_index): Add new OTI_asin and OTI_acos.
3265 (asin_optab, acos_optab): Define corresponding macros.
3266 * optabs.c (init_optabs): Initialize asin_optab and acos_optab.
3267 * genopinit.c (optabs): Implement asin_optab and acos_optab
3268 using asin?f2 and acos?f2 patterns.
3269 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_ASIN{,F,L}
3270 using asin_optab, and BUILT_IN_ACOS{,F,L} using acos_optab.
3271 (expand_builtin): Expand BUILT_IN_ASIN{,F,L} and BUILT_IN_ACOS{,F,L}
3272 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
3273
3274 * config/i386/i386.md (asindf2, asinsf2, asinxf2, acosdf2,
3275 acossf2, acosxf2): New expanders to implement asin, asinf, asinl,
3276 acos, acosf and acosl built-ins as inline x87 intrinsics.
3277
386d3a16
PB
32782004-04-20 Paul Brook <paul@codesourcery.com>
3279
3280 * config/arm/arm.c (arm_legitimate_address_p): Use rtx_equal_p.
3281
7aebacee
PB
32822004-04-20 Paul Brook <paul@codesourcery.com>
3283
3284 * config/arm/arm.c (arm_expand_prologue): Fix size calculation.
3285
a7b1dc36
PB
32862004-04-20 Paolo Bonzini <bonzini@gnu.org>
3287
3288 Revert part of 2004-04-17 change that moved -frename-registers
3289 to -O1. -frename-registers is buggy.
3290
3291 * toplev.c (flag_rename_registers): Initialize to 0.
3292 * doc/invoke.texi (Optimize options): Move -frename-registers
3293 to "Not triggered by any -O level" section. Adjust commentary
3294 accordingly.
77a705e4 3295
1548580c 32962004-04-20 Anil Paranjpe <anilp1@kpitcummins.com>
57bef48e
AP
3297
3298 * toplev.c (compile_file): Move targetm.asm_out.file_end call to end.
3299
169304de
RS
33002004-04-20 Richard Sandiford <rsandifo@redhat.com>
3301
3302 * config/mips/mips.c (mips_legitimize_move): Generate special patterns
3303 for mflo and mfhi instructions.
3304 (mips_output_move): Remove mflo and mfhi handling.
3305 * config/mips/mips.md (UNSPEC_MFHILO): New unspec.
3306 (*mulsidi3_64bit): Update for new mfhi/mflo representation.
3307 Likewise various define_peephole2s.
3308 (*movdi_32bit, *movdi_64bit, *movsi_internal): Merge x<-J and x<-d
3309 alternatives.
3310 (*movdi_64bit, *movdi_64bit_mips16, *mov[shq]i_internal)
3311 (*mov[shq]i_mips16): Remove mflo and mfhi alternatives.
3312 (mfhilo_di, mfhilo_si): New patterns.
3313
c6ca23fb
JZ
33142004-04-20 Josef Zlomek <zlomekj@suse.cz>
3315
3316 * function.c (assign_parms): Force
3317 MEM_EXPR (DECL_INCOMING_RTL (parm)) == parm.
3318
6f615a28
JZ
33192004-04-20 Josef Zlomek <zlomekj@suse.cz>
3320
3321 * var-tracking.c (variable_part_different_p): Variable parts differ
3322 when the most recent locations differ.
3323
a1bac22c
JW
33242004-04-19 James E Wilson <wilson@specifixinc.com>
3325
3326 * rtl.h (reg_set_last): Delete declaration.
3327 * rtlanal.c (reg_set_last): Delete.
3328
e419fe91
RS
33292004-04-19 Roger Sayle <roger@eyesopen.com>
3330
3331 * fold-const.c (fold_convert): Make function extern/public.
3332 * tree.h (fold_convert): Prototype here.
3333 * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
3334 expand_builtin_strrchr, expand_builtin_strpbrk,
3335 expand_builtin_mempcpy, expand_builtin_bcopy,
3336 expand_builtin_bzero, expand_builtin_memcmp,
3337 expand_builtin_strcmp, expand_builtin_strncmp,
3338 stabilize_va_list, expand_builtin_sprintf,
3339 fold_trunc_transparent_mathfn, fold_builtin_logarithm,
3340 fold_builtin_exponent, fold_builtin_mempcpy,
3341 fold_builtin_strcpy, fold_builtin_strcmp, fold_builtin_strncmp,
3342 fold_builtin_signbit, fold_builtin_isdigit, fold_builtin): Prefer
3343 fold_convert to "convert" or "fold (build1 (NOP_EXPR, ...))".
3344
423c1189
AH
33452004-04-19 Aldy Hernandez <aldyh@redhat.com>
3346
7dd7fb88
ZW
3347 * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): New constant.
3348 (move_from_CR_gt_bit): New.
3349 (cceq_ior_compare): Name previously unnamed pattern. Disable for
3350 E500.
3351 (cceq_rev_compare): Name previously unnamed pattern. Allow for
3352 E500.
3353
3354 * config/rs6000/spe.md (cmpsfeq_gpr): Rewrite as unspec.
3355 (tstsfeq_gpr): Same.
3356 (cmpsfgt_gpr): Same.
3357 (tstsfgt_gpr): Same.
3358 (cmpsflt_gpr): Same.
3359 (tstsflt_gpr): Same.
3360 (e500_cceq_ior_compare): New.
3361 (e500_flip_gt_bit): New.
3362
3363 * config/rs6000/rs6000.c (ccr_bit): Remove E500 specific code.
3364 (print_operand): Add 'c' and 'D'.
3365 (rs6000_generate_compare): Rewrite to generate correct rtl.
3366 (rs6000_emit_sCOND): Handle E500.
3367 (output_cbranch): Adjust for changes in rs6000_generate_compare.
3368 (output_e500_flip_gt_bit): New.
3369
3370 * config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit):
3371 Protoize.
423c1189 3372
d2beeae7
EC
33732004-04-19 Eric Christopher <echristo@redhat.com>
3374
3375 * config/mips/mips.h (DWARF2_ADDR_SIZE): New.
3376
06e7f299
DE
33772004-04-19 David Edelsohn <edelsohn@gnu.org>
3378
3379 * doc/install.texi (*-ibm-aix*): Add AIX 5.1 assembler and archiver
3380 fix information.
d2beeae7 3381
8df5a2b4
RO
33822004-04-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3383
3384 * doc/install.texi (Specific, mips-sgi-irix5): Fix IRIX 5.3 IDO
3385 download URL.
3386
9ca75f15
DJ
33872004-04-19 Daniel Jacobowitz <drow@mvista.com>
3388
3389 * stor-layout.c (layout_decl): Check DECL_PACKED before calling
3390 ADJUST_FIELD_ALIGN. Check maximum_field_alignment after.
3391
4b493aa5
AP
33922004-04-19 Andrew PInski <pinskia@physics.uc.edu>
3393
66a5d24b
AP
3394 * builtins.c (fold_builtin_cabs): Remove fndecl parameter.
3395 (fold_builtin): Update caller to match.
3396
4b493aa5
AP
3397 PR bootstrap/15009
3398 * bb-reorder.c (fix_up_fall_thru_edges): Init cond_jump.
3399
3400 PR bootstrap/14999
3401 * builtins.c (fold_builtin_cabs): Mark fndecl as unused.
3402
3d8f2528
RK
34032004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3404
a3d71605
RK
3405 * varasm.c (compare_constant, case VIEW_CONVERT_EXPR): Add case.
3406
3d8f2528
RK
3407 * expmed.c (expand_mult_highpart_adjust): Make OP1 valid for MODE.
3408 (expand_mult_highpart_optab): Likewise.
3409 (expand_mult_highpart): Make OP1 valid for WIDER_MODE, not MODE.
3410
6f6c1f6d
PB
34112004-04-19 Paul Brook <paul@codesourcery.com>
3412
3413 * config/arm/arm.md (fixuns_truncsfsi2, fixuns_truncdfsi2,
3414 floatunssisf2, floatunssidf2): New patterns.
3415
fea77ed9
MM
34162004-04-18 Mark Mitchell <mark@codesourcery.com>
3417
33adcb6c
MM
3418 PR other/14918
3419 * doc/invoke.texi (-fprofile-generate): Document requirement to
3420 use -fprofile-generate when linking.
3421
fea77ed9
MM
3422 * doc/extend.texi (Strong Using): Warn users against using this
3423 feature.
3424
76cbf5bf
RS
34252004-04-18 Richard Sandiford <rsandifo@redhat.com>
3426
3427 * config/mips/mips-protos.h (m16_usym8_4, m16_usym5_4): Delete.
3428 * config/mips/mips.h (mips_entry, mips_string_length): Delete.
3429 (CONSTANT_POOL_BEFORE_FUNCTION, ASM_OUTPUT_POOL_EPILOGUE): Undefine.
3430 * config/mips/mips.c (struct mips16_constant): Renamed from struct
3431 constant. Propogate change throughout file.
3432 (struct machine_function): Remove insns_len.
3433 (mips_string_length, mips16_strings, string_constants): Delete.
3434 (mips_classify_symbol): Return SYMBOL_CONSTANT_POOL for LABEL_REFs
3435 when generating mips16 code. Remove special mips16 treatment of
3436 string constants.
3437 (mips_symbolic_constant_p): Allow mips16 constant pool accesses
3438 to have the form LABEL+CONSTANT.
3439 (mips_symbolic_address_p): Fix comment.
3440 (m16_usym8_4, m16_usym5_4): Delete.
3441 (mips_output_function_epilogue): Remove mips16 string handling.
3442 (mips_output_mi_thunk): Call mips16_lay_out_constants.
3443 (mips_select_section, mips_encode_section_info): Remove mips16
3444 string handling.
3445 (struct mips16_constant_pool): New.
3446 (add_constant): Take a mips16_constant_pool structure. Keep pool
3447 sorted into order of ascending mode size. Keep track of the highest
3448 possible start address, taking padding and the masking of the base PC
3449 value into account.
3450 (dump_constants_1): New function, split out from dump_constants.
3451 Handle vector constants. Use gen_consttable_{int,float} rather than
3452 separate functions for each mode.
3453 (dump_constants): Simplify. Use GET_MODE_ALIGNMENT. Use gen_align
3454 rather than separate functions for each alignment.
3455 (mips_find_symbol): Delete.
3456 (mips16_insn_length): New function, split out from
3457 mips16_lay_out_constants.
3458 (mips16_rewrite_pool_refs): New function.
3459 (mips16_lay_out_constants): Rework. Remove string handling.
3460 Always create an inline constant pool.
3461 * config/mips/mips.md (UNSPEC_CONSTTABLE_INT, UNSPEC_CONSTTABLE_FLOAT)
3462 (UNSPEC_ALIGN): New constants.
3463 (UNSPEC_CONSTTABLE_[QHSD]I, UNSPEC_CONSTTABLE_[SD]F): Delete.
3464 (UNSPEC_ALIGN_[248]): Delete.
3465 (consttable_int, consttable_float, align): New patterns.
3466 (consttable_[qhsd]i, consttable_[sd]f, align_[248]): Delete.
3467
8d33585c
AH
34682004-04-17 Aldy Hernandez <aldyh@redhat.com>
3469
3470 * config/rs6000/altivec.h (vec_any_numeric): Correct typo in
3471 __unn_args_eq.
3472
03e007d7
AM
34732004-04-17 Alan Modra <amodra@bigpond.net.au>
3474
3475 PR target/14715
3476 * config/rs6000/rs6000.c (rs6000_stack_info): Make parm_size agree
3477 with STARTING_FRAME_OFFSET.
3478
3bd06df7
RS
34792004-04-17 Richard Sandiford <rsandifo@redhat.com>
3480
3481 * config/mips/mips.h (PREDICATE_CODES): Add macc_msac_operand.
3482 * config/mips/mips.c (macc_msac_operand): New function.
3483 * config/mips/mips.md (*msac): Move after *macc.
3484 (*msac2): New. Generalize macc-related peepholes so that they apply
3485 to msac too.
3486
38d396e5
PB
34872004-04-17 Paolo Bonzini <bonzini@gnu.org>
3488
3489 * opts.c (decode_options): Do not enable flag_rename_registers
3490 and flag_web at -O3.
3491 * toplev.c (flag_rename_registers): Initialize
3492 flag_rename_registers and flag_web to
3493 AUTODETECT_FLAG_VAR_TRACKING.
3494 (default_debug_hooks): New global.
3495 (process_options): Initialize default_debug_hooks. Warn if
3496 -fvar-tracking specified but not supported by the current
3497 debug format. Do not run var tracking at -O0 or if not
3498 supported by the current debug format, even if
3499 -fvar-tracking was given. If -fno-rename-registers
3500 is not specified, always run register renaming if var
3501 tracking is supported by the default debugging information
3502 format for the target, and we are at -O1 or higher; similarly
3503 for -fweb, but only at -O2 or higher.
3504 * doc/invoke.texi (Optimize Options): Document this.
3505
82e923f6
RS
35062004-04-17 Richard Sandiford <rsandifo@redhat.com>
3507
3508 * configure.ac (gcc_cv_ld_as_needed): Use AC_CACHE_CHECK.
3509 * configure: Regenerate.
3510
f645e2bd
RS
35112004-04-17 Richard Sandiford <rsandifo@redhat.com>
3512
3513 * gcc.c (used_arg): Check whether an option has been removed.
3514
04db08db
RO
35152004-04-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3516
3517 * config.gcc (i[34567]86-*-solaris2*): Default to DWARF-2
3518 debugging on Solaris 7 and up.
3519
7e270317
RO
35202004-04-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3521
3522 * doc/install.texi (Specific, mips-sgi-irix5): Reflect working
3523 IRIX 5 port.
3524 Remove -save-temps workaround, handled automatically.
3525 Require GNU binutils 2.15 for debugging.
3526 Remove SGI make warnings since GNU make is now required.
3527 (Specific, mips-sgi-irix6): Some markup fixes.
3528 Describe MIPSpro C problems and workarounds.
3529 Mention working O32 ABI support.
3530 Recommend GNU as 2.15 for O32 with debugging.
3531 Remove description of fixed structure pass/return bug.
3532
2d49ce67
DD
35332004-04-16 DJ Delorie <dj@redhat.com>
3534
3535 * sdbout.c (sdbout_one_type): Use TYPE_VALUES for enums, not
3536 TYPE_FIELDS.
3537 (sdbout_finish): Don't free deferred_global_decls; it's GC'd.
3538
41067a2f
JDA
35392004-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3540
e6b75edc
JDA
3541 * pa.md: Remove unnecessary declarations for asm_out_file.
3542
7945b276
JDA
3543 * pa64-regs.h (DBX_REGISTER_NUMBER): Simplify and correct mapping of
3544 SAR register. Fix comment.
3545 (ADDITIONAL_REGISTER_NAMES): Correct register number of SAR register
3546 (%cr11).
3547
41067a2f
JDA
3548 * pa64-hpux.h (LIB_SPEC): Fix library specification used with GNU ld.
3549
c805f22e
NC
35502004-04-16 Nick Clifton <nickc@redhat.com>
3551
3552 * config/arm/arm.c (arm_override_options): Revert previous patch.
3553 * config/arm/t-xscale-elf: Disable iwmmxt multilibs until they can
3554 be safely built.
3555
8a897efe
KI
35562004-04-16 Kazuhiro Inaoka <inaoka dot kazuhiro at renesas dot com>
3557
3558 * config/m32r/m32r.h (BIG_ENDIAN_BIT): Deleted to fix endian
3559 bug.
3560 (TARGET_LITTLE_ENDIAN, TARGET_BIG_ENDIAN,
3561 TARGET_DEFAULT): Changed. Ditto.
3562 (LITTLE_ENDIAN_BIT, TARGET_CPU_DEFAULT,
3563 TARGET_ENDIAN_DEFAULT): Added. Ditto.
3564 * config/m32r/little.h (TARGET_LITTLE_ENDIAN): Deleted.
3565 (TARGET_ENDIAN_DEFAULT): Added.
3566
b069dd3f
KG
35672004-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3568
3569 * builtins.def (BUILT_IN_ISDIGIT, BUILT_IN_ISXDIGIT): Mark with
3570 ATTR_CONST_NOTHROW_LIST.
3571
df28deda
KG
35722004-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3573
3574 PR/middle-end 14915
3575 * builtins.c (expand_builtin_signbit): Test BYTES_BIG_ENDIAN, not
3576 BITS_BIG_ENDIAN.
3577
c87fbb0a
PH
35782004-04-15 Pat Haugen <pthaugen@us.ibm.com>
3579
3580 * ra-debug.c (ra_print_rtx): Add break's to case legs.
3581
ea7b98d0
JW
35822004-04-14 James E Wilson <wilson@specifixinc.com>
3583
3584 * Makefile.in (fixinc.sh): Set WARN_CFLAGS to empty string.
3585
69f9a345
NN
35862004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
3587
3588 * libada-mk.in: New file.
3589 * configure.ac: Create libada-mk from libada-mk.in.
3590 * configure: Regenerate.
3591
88b28a31
UB
35922004-04-14 Uros Bizjak <uros@kss-loka.si>
3593
3594 * optabs.h (enum optab_index): Add new OTI_logb and OTI_ilogb.
3595 (logb_optab, ilogb_optab): Define corresponding macros.
3596 * optabs.c (init_optabs): Initialize logb_optab and ilogb_optab.
3597 * genopinit.c (optabs): Implement logb_optab and ilogb_optab
3598 using logb?f2 and ilogb?i2 patterns.
3599 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOGB{,F,L}
3600 using logb_optab, and BUILT_IN_ILOGB{,F,L} using ilogb_optab.
3601 (expand_builtin): Expand BUILT_IN_LOGB{,F,L} and BUILT_IN_ILOGB{,F,L}
3602 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
3603
3604 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_XTRACT_FRACT
3605 and UNSPEC_XTRACT_EXP.
3606
3607 * config/i386/i386.md (*fxtractdf3, *fxtractsf3, *fxtractxf3): New
3608 patterns to implement fxtract x87 instruction.
3609 (logbdf2, logbsf2, logbxf2, ilogbsi2): New expanders to implement
3610 logb, logbf, logbl, ilogb, ilogbf and ilogbl built-ins as inline x87
3611 intrinsics.
3612 (UNSPEC_XTRACT_FRACT, UNSPEC_XTRACT_EXP): New unspecs to represent
3613 x87's fxtract insn.
3614
ec6e4092
EC
36152004-04-14 Eric Christopher <echristo@redhat.com>
3616
3617 * config/mips/t-elf: Enable multilibs by default.
3618
ef482a86
AT
36192004-04-14 Andreas Tobler <a.tobler@schweiz.ch>
3620
3621 * bb-reorder.c (fix_crossing_conditional_branches): Adjust the
3622 previous fix to check HAVE_return at runtime too.
3623
cd2b7af0
NC
36242004-04-14 Nick Clifton <nickc@redhat.com>
3625
3626 * config/arm/arm.c (arm_override_options): If the user has not
3627 specified an ABI, then default to AAPCS for the iWMMXt processor.
3628 * config/arm/t-xscale-elf: Remove redundant multilib specifications.
3629 * config/arm/t-xscale-coff: Likewise.
3630
61218d19
KG
36312004-04-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3632
3633 * builtins.c (fold_builtin_isdigit): New.
3634 (fold_builtin): Handle BUILT_IN_ISDIGIT.
3635 * defaults.h: Add TARGET_DIGIT0 and sort.
3636 * doc/tm.texi: Add TARGET_BS and TARGET_DIGIT0.
3637
a69934e0
KG
36382004-04-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3639
3640 * builtins.c (fold_builtin_cabs, fold_builtin): Use
3641 `mathfn_built_in' to determine the new builtin.
3642 * fold-const.c (fold): Likewise.
3643
74b9f2d5
RS
36442004-04-14 Richard Sandiford <rsandifo@redhat.com>
3645
3646 * doc/invoke.texi: Rename MIPS's -mfix-vr4122-bugs to -mfix-vr4120.
3647 * config/mips/mips.h (MASK_FIX_VR4120): Renamed from MASK_FIX_VR4122.
3648 (TARGET_FIX_VR4120): Likewise TARGET_FIX_VR4122.
3649 (TARGET_SWITCHES): Replace -mfix-vr4122-bugs with -mfix-vr4120.
3650 (ASM_SPEC): Update accordingly.
3651 * config/mips/mips.c: Update after above renaming.
3652 * config/mips/mips.md, config/mips/t-vr, config/mips/vr.h: Likewise.
3653 * config/mips/vr4120-div.S: Renamed from vr4122-div.S.
3654
540554f4
JW
36552004-04-13 James E Wilson <wilson@specifixinc.com>
3656
3657 * c-opt.c (c_common_post_options): If this_input_filename is NULL,
3658 increment errorcount and return false instead of true.
3659
a072d43b
UB
36602004-04-13 Uros Bizjak <uros@kss-loka.si>:
3661
3662 * optabs.c (expand_twoval_unop): Reorder function arguments.
3663 * builtins.c (expand_builtin_mathfn_3): Update calls to
3664 expand_twoval_unop.
3665
3666 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_TAN_ONE
3667 and UNSPEC_TAN_TAN. Add missing comment.
3668
3669 * config/i386/i386.md (*tandf3_1, *tansf3_1, *tanxf3_1): New
3670 patterns to implement fptan x87 instruction.
3671 (tandf2, tansf2, tanxf2): New expanders to implement tan, tanf
3672 and tanl built-ins as inline x87 intrinsics. Define corresponding
3673 peephole2 optimizers for 'fptan; fstp %st(0); fld1' sequence.
3674 (UNSPEC_TAN_ONE, UNSPEC_TAN_TAN): New unspecs to represent
3675 x87's fptan insn.
3676
b50b729d
RH
36772004-03-13 Richard Henderson <rth@redhat.com>
3678
3679 * bb-reorder.c (fix_crossing_unconditional_branches): Use Pmode
3680 for LABEL_REFs.
3681
3a4bdd05
RH
3682 * defaults.h (HOT_TEXT_SECTION_NAME): Add leading dot.
3683 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Likewise.
3684 * doc/invoke.texi: Update to match.
3685
73ad3de5
RH
3686 * varasm.c (unlikely_text_section): Use assemble_align instead of
3687 ASM_OUTPUT_ALIGN. Use it in the correct place with an approximately
3688 correct alignment argument.
3689
9532c14f
UW
36902004-04-13 Ulrich Weigand <uweigand@de.ibm.com>
3691
3692 * reload1.c (emit_reload_insns): Set reg_has_output_reload to one
3693 after setting reg_last_reload_reg for optional output reloads.
3694
3d3947a9
FJ
36952004-04-12 Fariborz Jahanian <fjahanian@apple.com>
3696
3697 * config/rs6000/altivec.h (vec_mergeh, vec_mergel):
3698 Definition of these two macros are corrected by adding
3699 matchine right paren.
3700
f778cbf0
JL
37012004-04-12 Jonathan Larmour <jifl@eCosCentric.com>
3702
3703 * fix-header.c: kill(), putenv() and tzset() are POSIX not ANSI.
3704
5ea9cb6e
RS
37052004-04-12 Roger Sayle <roger@eyesopen.com>
3706
3707 * config/i386/i386.c (output_387_reg_move): New function.
3708 * config/i386/i386-protos.h (output_387_reg_move): Prototype here.
3709 * config/i386/i386.md (*movsf_1, *movsf1_nointerunit,
3710 *movdf_nointeger, *movdf_integer, *movxf_nointeger, *movxf_integer,
3711 *extendsfdf2_1, *extendsfxf2_1, *extenddfxf2_1, truncdfsf2_noop,
3712 truncxfsf2_noop, truncxfdf2_noop): Call output_387_reg_move.
3713
1c9766da
RK
37142004-04-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3715
3716 * c-decl.c (finish_decl): Make a decl_stmt for a variable-sized
3717 TYPE_DECL.
3718 * c-semantics.c (genrtl_decl_stmt): Handle TYPE_DECL.
3719 * stmt.c (expand_decl): Remove redundant expansion of TYPE_DOMAIN.
3720 * stor-layout.c (variable_size): Don't check for MINUS_EXPR.
3721 Use skip_simple_arithmetic to find SAVE_EXPR.
3722 (force_type_save_exprs, force_type_save_exprs_1): New functions.
3723 * tree-inline.c (remap_type, case POINTER_TYPE, case REFERENCE_TYPE):
3724 Properly chain multiple pointers.
3725 (copy_tree_r): Copy a TYPE_DECL.
3726 * tree.c (variably_modified_type_p): Add some missing tests and
3727 make some other minor changes.
3728 * tree.h (force_type_save_exprs): New declaration.
3729
1e9b78b0
RS
37302004-04-12 Roger Sayle <roger@eyesopen.com>
3731
3732 * simplify-rtx.c (simplify_binary_operation) <UDIV, DIV, UMOD, MOD>:
3733 Remove fall throughs. Convert 0/x and 0%x into x&0 when x has
3734 side-effects. Don't convert x/1.0 into x if we honor signaling NaNs.
3735 Convert x/-1.0 into -x if we don't honor signaling NaNs. Convert
3736 x/-1 into -x. Optimize x%1 into x&0 if x has side-effects. Optimize
3737 x%-1 into 0 (or x&0 if x has side-effects).
3738
fef98bf2
AH
37392004-04-11 Aldy Hernandez <aldyh@redhat.com>
3740
3741 * config/rs6000/rs6000.md: Document why a pattern is not
3742 available.
3743
3744 * config/rs6000/rs6000.c (rs6000_emit_cmove): Disable comparisons
3745 of floats on the E500.
3746 (branch_positive_comparison_operator): Do not allow NE even on the
3747 E500.
3748
642af3be
AH
37492004-04-11 Aldy Hernandez <aldyh@redhat.com>
3750
3751 * config/rs6000/rs6000.c (rs6000_assemble_integer): Change
3752 in_text_unlikely_section to in_unlikely_text_section.
3753
b3e65ebb
RS
37542004-04-11 Roger Sayle <roger@eyesopen.com>
3755
3756 * fold-const.c (fold_binary_op_with_conditional_arg): Tweak
3757 calling convention to allow a NULL_TREE to be returned. Factor
3758 sanity checks from callers, return NULL_TREE when appropriate.
3759 (fold): Handle COMPOUND_EXPR operands of binary expressions
3760 before COND_EXPR operands. Use reorder_operands_p(a,b) to check
3761 whether a op (b,c) can be rewritten as (b, a op c). Simplify
3762 calls to fold_binary_op_with_conditional_arg.
3763
19d33948
KG
37642004-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3765
3766 * config/mips/iris5.h (current_section_flags): Add
3767 in_unlikely_executed_text and default case.
3768
cf22ce3c
AT
37692004-04-11 Andreas Tobler <a.tobler@schweiz.ch>
3770
3771 * bb-reorder.c (fix_crossing_conditional_branches): Fix bootstrap
3772 failure on solaris. Place ifdef HAVE_return around gen_ret call.
3773 * cfgrtl.c (force_nonfallthru_and_redirect): Remove ifdef
3774 HAVE_return and place it around the place where it is needed.
3775
34982294
AP
37762004-04-11 Andrew Pinski <pinskia@physics.uc.edu>
3777
3778 * varasm.c (text_section): Use TEXT_SECTION_ASM_OP and
3779 ASM_OUTPUT_ALIGN instead of SECTION_FORMAT_STRING
3780 and NORMAL_TEXT_SECTION_NAME.
3781 (unlikely_text_section): Check targetm.have_named_sections
3782 instead of TARGET_ASM_NAMED_SECTION and use TEXT_SECTION_ASM_OP
3783 instead of SECTION_FORMAT_STRING.
3784 * config/mips/iris5.h (current_section_name): Add
3785 in_unlikely_executed_text case and move the abort into the switch.
3786 * config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME): Remove.
3787 (NORMAL_TEXT_SECTION_NAME): Remove.
3788 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
3789 (SECTION_FORMAT_STRING): Remove.
3790 * defaults.h (SECTION_FORMAT_STRING): Remove.
3791 * tm.texi (NORMAL_TEXT_SECTION_NAME): Remove.
3792 (SECTION_FORMAT_STRING): Remove.
3793
c7e1876b
JM
37942004-04-10 Joseph S. Myers <jsm@polyomino.org.uk>
3795
3796 * c-typeck.c (common_type): Prefer long long to long when same
3797 precision.
3798
7c3ac422
ZW
37992004-04-09 Zack Weinberg <zack@codesourcery.com>
3800
3801 PR 14887
3802 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Look only at
3803 mode argument.
3804 * config/ia64/ia64.c (ia64_hpux_file_end): Check
3805 TREE_SYMBOL_REFERENCED on DECL_ASSEMBLER_NAME, not DECL_NAME.
3806
0b24db88
RS
38072004-04-09 Roger Sayle <roger@eyesopen.com>
3808
3809 * simplify-rtx.c (mode_signbit_p): New function to check whether
3810 an RTX is an immediate constant that represents the most significant
3811 bit of a given machine mode.
3812 (simplify_unary_operation) <NOT>: Optimize ~(X+C) as X ^ ~C, where
3813 C is the sign bit.
3814 (simplify_binary_operation) <PLUS>: Optimize (X^C1) + C2 as X^(C1^C2)
3815 when C2 is the sign bit.
3816 (simplify_binary_operation) <XOR>: Canonicalize X^C as X+C when C
3817 is the sign bit. Optimize (X+C1) ^ C2 as X^(C1^C2) when C1 is the
3818 sign bit.
3819
ce58118c
KG
38202004-04-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3821
3822 * builtins.c (mathfn_built_in): Check TYPE_MAIN_VARIANT, not
3823 TYPE_MODE.
3824
c29726e2
AP
38252004-04-09 Andrew Pinski <pinskia@physics.uc.edu>
3826
3827 * c-common.c (handle_noreturn_attribute): Use TYPE_READONLY instead
3828 of TREE_READONLY for types.
3829
750054a2
CT
38302004-04-09 Caroline Tice <ctice@apple.com>
3831
7c3ac422 3832 * basic-block.h (struct edge_def): Add new field, crossing_edge.
750054a2
CT
3833 (struct basic_block_def): Add new field, partition.
3834 (UNPARTITIONED, HOT_PARTITION, COLD_PARTITION): New constant macro
3835 definitions.
7c3ac422 3836 (partition_hot_cold_basic_blocks): Add extern function
750054a2 3837 declaration.
7c3ac422 3838 * bb-reorder.c (function.h, obstack.h, expr.h, regs.h): Add four new
750054a2
CT
3839 include statements.
3840 (N_ROUNDS): Increase the maximum number of rounds by 1.
3841 (branch_threshold): Add array value for new round.
3842 (exec_threshold): Add array value for new round.
3843 (push_to_next_round_p): New function.
3844 (add_unlikely_executed_notes): New function.
3845 (find_rarely_executed_basic_blocks_and_crossing_edges): New function.
3846 (mark_bb_for_unlikely_executed_section): New function.
3847 (add_labels_and_missing_jumps): New function.
3848 (add_reg_crossing_jump_notes): New function.
3849 (fix_up_fall_thru_edges): New function.
3850 (find_jump_block): New function.
3851 (fix_crossing_conditional_branches): New function.
3852 (fix_crossing_unconditional_branches): New function.
3853 (fix_edges_for_rarely_executed_code): New function.
3854 (partition_hot_cold_basic_blocks): New function.
3855 (find_traces): Add an extra round for partitioning hot/cold
3856 basic blocks.
3857 (find_traces_1_round): Add a parameter. Modify to push all cold blocks,
3858 and only cold blocks, into the last (extra) round of collecting traces.
7c3ac422 3859 (better_edge_p): Add a parameter. Modify to favor non-crossing edges
750054a2 3860 over crossing edges.
7c3ac422 3861 (bb_to_key): Add code to correctly identify cold blocks when
750054a2
CT
3862 doing partitioning.
3863 (connect_traces): Modify to connect all the non-cold traces first, then
3864 go back and connect up all the cold traces.
3865 (reorder_basic_blocks): Add call to add_unlikely_executed_notes.
3866 * cfg.c (entry_exit_blocks): Add initialization for partition field in
3867 entry and exit blocks.
7c3ac422 3868 * cfgbuild.c (make_edges): Update current_function_has_computed_jump
750054a2
CT
3869 if we are doing hot/cold partitioning.
3870 * cfgcleanup.c (cfglayout.h): Add new include statement.
7c3ac422 3871 (try_simplify_condjump): Modify to not attempt on blocks with jumps
750054a2
CT
3872 that cross section boundaries.
3873 (try_forward_edges): Likewise.
3874 (merge_blocks_move_predecessor_nojumps): Likewise.
3875 (merge_blocks_move_successor_nojumps): Likewise.
3876 (merge_blocks_move): Likewise.
3877 (try_crossjump_to_edge): Modify to not attempt after we have done
3878 the block partitioning.
3879 (try_crossjump_bb): Modify to not attempt on blocks with jumps that
3880 cross section boundaries.
3881 (try_optimize_cfg): Likewise.
3882 * cfghooks.c (tidy_fallthru_edges): Modify to not remove indirect
3883 jumps that cross section boundaries.
7c3ac422 3884 * cfglayout.c (flags.h): Add new include statement.
750054a2 3885 (update_unlikely_executed_notes): New function.
7c3ac422
ZW
3886 (fixup_reorder_chain): Add code so when a new jumping basic block is
3887 added, it's UNLIKELY_EXECUTED_CODE and REG_CROSSING_JUMP notes are
750054a2
CT
3888 updated appropriately.
3889 (duplicate_insn_chain): Add code to duplicate the new NOTE insn
3890 introduced by this optimization.
7c3ac422
ZW
3891 * cfglayout.h (scan_ahead_for_unlikely_executed_note): Add new
3892 extern function declaration.
750054a2
CT
3893 * cfgrtl.c (can_delete_note_p): Add NOTE_INSN_UNLIKELY_EXECUTED_CODE to
3894 list of notes that can be deleted.
3895 (create_basic_block_structure): Add initialization for partition field.
3896 (rtl_can_merge_blocks): Modify to test blocks for jumps that cross
3897 section boundaries.
3898 (try_redirect_by_replacing_jump): Modify to not attempt on jumps that
3899 cross section boundaries.
3900 (commit_one_edge_insertion): Add code so newly created basic block
7c3ac422 3901 ends up in correct (hot or cold) section. Modify to disallow
750054a2
CT
3902 insertions before NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
3903 (rtl_verify_flow_info_1): Add code to verify that no fall_thru edge
3904 crosses section boundaries.
3905 (cfg_layout_can_merge_blocks_p): Modify to test blocks for jumps that
3906 cross section boundaries.
3907 (force_nonfallthru_and_redirect): Modify to make sure new basic block
3908 ends up in correct section, with correct notes attached.
7c3ac422
ZW
3909 * common.opt (freorder-blocks-and-partition): Add new flag for this
3910 optimization.
3911 * dbxout.c (dbx_function_end): Add code to make sure scope labels at
3912 the end of functions are written into the correct (hot or cold)
3913 section.
750054a2
CT
3914 (dbx_source_file): Add code so writing debug file information
3915 doesn't incorrectly change sections.
7c3ac422 3916 * defaults.h (NORMAL_TEXT_SECTION_NAME): New constant macro, for use
750054a2 3917 in partitioning hot/cold basic blocks into separate sections.
7c3ac422 3918 (SECTION_FORMAT_STRING): New constant macro, for linux/i386 hot/cold
750054a2
CT
3919 section partitioning.
3920 (HAS_LONG_COND_BRANCH): New constant macro, indicating whether or not
3921 conditional branches can span all of memory.
3922 (HAS_LONG_UNCOND_BRANCH): New constant macro, indicationg whether or not
3923 unconditional branches can span all of memory.
7c3ac422
ZW
3924 * final.c (scan_ahead_for_unlikely_executed_note): New function.
3925 (final_scan_insn): Add code to check for NOTE instruction indicating
3926 whether basic block belongs in hot or cold section, and to make sure
3927 the current basic block is being written to the appropriate section.
3928 Also added code to ensure that jump table basic blocks end up in the
3929 correct section.
3930 * flags.h (flag_reorder_blocks_and_partition): New flag.
750054a2
CT
3931 * ifcvt.c (find_if_case_1): Modify to not attempt if conversion if
3932 one of the branches has a jump that crosses between sections.
3933 (find_if_case_2): Likewise.
7c3ac422 3934 (ifcvt): Modify to not attempt to mark loop exit edges after
750054a2 3935 hot/cold partitioning has occurred.
7c3ac422
ZW
3936 * opts.c (decode_options): Code to handle new flag,
3937 flag_reorder_blocks_and_partition; also to turn it off if
750054a2 3938 flag_exceptions is on.
7c3ac422
ZW
3939 (common_handle_option): Code to handle new flag,
3940 flag_reorder_blocks_and_partition.
3941 * output.h (unlikely_text_section): New extern function declaration.
750054a2 3942 (in_unlikely_text_section): New extern function declaration.
7c3ac422
ZW
3943 * passes.c (rest_of_handle_stack_regs): Add
3944 flag_reorder_blocks_and_partition as an 'or' condition for calling
750054a2 3945 reorder_basic_blocks.
7c3ac422 3946 (rest_of_handle_reorder_blocks): Add flag_reorder_blocks_and_partition
750054a2
CT
3947 as an 'or' condition for calling reorder_basic_blocks.
3948 (rest_of_compilation): Add call to partition_hot_cold_basic_blocks.
7c3ac422
ZW
3949 * print-rtl.c (print_rtx): Add code for handling new note,
3950 NOTE_INSN_UNLIKELY_EXECUTED_CODE
3951 * rtl.c (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note insn (see below).
750054a2
CT
3952 (REG_CROSSING_JUMP): New kind of reg_note, to mark jumps that
3953 cross between section boundaries.
7c3ac422
ZW
3954 * rtl.h (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note instruction,
3955 indicating the basic block containing it belongs in the cold section.
750054a2
CT
3956 (REG_CROSSING_JUMP): New type of reg_note, to mark jumps that cross
3957 between hot and cold sections.
7c3ac422
ZW
3958 * toplev.c (flag_reorder_blocks_and_partition): Add code to
3959 initialize this flag, and to tie it to the command-line option
3960 freorder-blocks-and-partition.
3961 * varasm.c (cfglayout.h): Add new include statement.
3962 (unlikely_section_label_printed): New global variable, used for
3963 determining when to output section name labels for cold sections.
750054a2
CT
3964 (in_section): Add in_unlikely_executed_text to enum data structure.
3965 (text_section): Modify code to use SECTION_FORMAT_STRING and
3966 NORMAL_TEXT_SECTION_NAME macros.
3967 (unlikely_text_section): New function.
3968 (in_unlikely_text_section): New function.
7c3ac422
ZW
3969 (function_section): Add code to make sure beginning of function is
3970 written into correct section (hot or cold).
3971 (assemble_start_function): Add code to make sure stuff is written to
3972 the correct section.
3973 (assemble_zeros): Add in_unlikely_text_section as an 'or' condition
3974 to an if statement that was checking 'in_text_section'.
3975 (assemble_variable): Add 'in_unlikely_text_section' as an 'or'
3976 condition to an if statement that was checking 'in_text_section'.
3977 (default_section_type_flags_1): Add check: if in cold section
3978 flags = SECTION_CODE.
750054a2
CT
3979 * config/darwin.c (darwin_asm_named_section): Modify to use
3980 SECTION_FORMAT_STRING if we are partitioning hot/cold blocks.
7c3ac422 3981 * config/i386/i386.h (HAS_LONG_COND_BRANCH): Defined this macro
750054a2
CT
3982 specifically for the i386.
3983 (HAS_LONG_UNCOND_BRANCH): Defined this macro specifically for the i386.
7c3ac422 3984 * config/rs6000/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Change
750054a2
CT
3985 text string to something more informative.
3986 (NORMAL_TEXT_SECTION_NAME): Add new definition.
3987 (SECTION_FORMAT_STRING): Add new definition.
7c3ac422
ZW
3988 * config/rs6000/rs6000.c (rs6000_assemble_integer): Add
3989 '!in_unlikely_text_section' as an 'and' condition to an if statement
3990 that was already checking '!in_text_section'.
3991 * config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME,NORMAL_TEXT_SECTION_NAME,
3992 UNLIKELY_EXECUTED_TEXT_SECTION_NAME,SECTION_FORMAT_STRING): Make
3993 sure these are properly defined for linux on ppc.
3994 * doc/invoke.texi (freorder-blocks-and-partition): Add documentation
3995 for this new flag.
750054a2
CT
3996 * doc/rtl.texi (REG_CROSSING_JUMP): Add documentation for new
3997 reg_note.
7c3ac422
ZW
3998 * doc/tm.texi (NORMAL_TEXT_SECTION_NAME, SECTION_FORMAT_STRING,
3999 HAS_LONG_COND_BRANCH, HAS_LONG_UNCOND_BRANCH): Add documentation for
750054a2
CT
4000 these new macros.
4001
88673361
RS
40022004-04-08 Roger Sayle <roger@eyesopen.com>
4003
4004 * function.c (gen_mem_addressof): When changing the RTX from a REG
4005 to a MEM, clear MEM_VOLATILE_P which was formerly REG_USERVAR_P.
4006
82a6a758
RS
40072004-04-08 Roger Sayle <roger@eyesopen.com>
4008
4009 PR target/14888
4010 * config/i386/i386.md (truncdfsf2_noop, truncxfsf2_noop,
4011 truncxfdf2_noop): Provide dummy "fmov" implementations.
4012
febc5365
ILT
40132004-04-08 Ian Lance Taylor <ian@wasabisystems.com>
4014
2a782c52
ILT
4015 * gcc.c (default_compilers): Add missing initializers.
4016
febc5365
ILT
4017 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
4018 Return 1 if file was successfully mapped.
4019
f07e9f0f
GK
40202004-04-08 Geoffrey Keating <geoffk@apple.com>
4021
54e109ed
GK
4022 PR pch/13419
4023 PR pch/14137
4024 Radar #: 3315288
4025 * doc/invoke.texi (Precompiled Headers): Suggest -o
4026 to put an output file in a particular place. Be more detailed
4027 about which options affect PCH validity and which options
4028 might not work.
4029 * c-pch.c (pch_matching): New.
4030 (MATCH_SIZE): New.
4031 (struct c_pch_validity): New field 'match'.
4032 (pch_init): Handle pch_matching.
4033 (c_common_valid_pch): Check pch_matching.
4034
f07e9f0f
GK
4035 * explow.c: Fix typo defining default of PROMOTE_FUNCTION_MODE.
4036
f7b6f250
MM
40372004-04-08 Mark Mitchell <mark@codesourcery.com>
4038
4039 * doc/invoke.texi (Precompiled Headers): Warn about known
4040 problems.
4041
4a77e08c
DS
40422004-04-08 Danny Smith <dannysmith@users.sourceforge.net>
4043
4044 PR c++/14808
4045 * defaults.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): New macro. Default
4046 to 1 if ASM_OUTPUT_DEF is defined.
4047 * doc/tm.texi (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document.
4048 * config/i386/cygming.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): Define.
4049 Set to non-zero iff not a one_only decl.
4050
cc81dde8
PB
40512004-04-08 Paul Brook <paul@codesourcery.com>
4052
4053 * arm.h (CLASS_LIKELY_SPILLED_P): Define.
4054
d4453b7a
PB
40552004-04-08 Paul Brook <paul@codesourcery.com>
4056
4057 * explow.c (promote_mode): Use PROMOTE_FUNCTION_MODE instead of
4058 PROMOTE_FOR_CALL_ONLY.
4059 * config/arm/arm-protos.h (arm_function_value): Declare.
4060 * config/arm/arm.h (TARGET_PROMOTE_FUNCTION_ARGS): Define.
4061 (TARGET_PROMOTE_PROTOTYPES): Return false.
4062 (arm_function_value): New function.
4063 * config/arm/arm.h (PROMOTE_FUNCTION_MODE): Define.
4064 (FUNCTION_VALUE): Call arm_function_value.
4065 * config/cris/cris.h (PROMOTE_MODE): Rename ...
4066 (PROMOTE_FUNCTION_MODE): ... to this.
4067 (PROMOTE_FOR_CALL_ONLY): Remove.
4068 * config/mmix/mmix.h: Likewise.
4069 * config/s390/s390.h: Likewise.
4070 * config/sparc/sparc.h: Likewise.
4071 * config/sparc/sparc.c: Update comments about PROMOTE_MODE.
4072 * doc/tm.texi (PROMOTE_FUNCTION_MODE): Document.
4073 (TARGET_PROMOTE_FUNCTION_MODE, TARGET_PROMOTE_FUNCTION_RETURN): Update.
4074 (PROMOTE_FOR_CALL_ONLY): Remove.
4075
c00e272e
JS
40762004-04-08 Joel Sherrill <joel@oarcorp.com>
4077
4078 PR ada/14538
4079 * ada/5rosinte.adb: Remove fake mprotect() body.
4080 * ada/5rosinte.ads: Add SA_SIGINFO.
4081 * ada/5rtpopsp.adb: Rewrite to use new interface.
4082 * ada/init.c: Reorder so the simple single OS conditional __rtems__
4083 is tested before more complex ones which mix UNIX and embedded
4084 systems in the conditional.
4085
4afae4b9
JS
40862004-04-08 Joel Sherrill <joel@oarcorp.com>
4087
4088 PR ada/14665
4089 * ada/osint.adb (Find_Program_Name): Rework to properly handle
4090 filenames which end in .exe or have versioning suffixes like VMS.
4091
bfbdca0b
AP
40922004-04-08 Andrew Pinski <pinskia@physics.uc.edu>
4093
467f3af0 4094 PR target/10129
bfbdca0b
AP
4095 * config/darwin.c (darwin_encode_section_info): When the decl has
4096 a DECL_INITIAL, it is only defined also when it is not a common.
4097
df0785d6
KG
40982004-04-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4099
4100 * builtins.c (fold_builtin_isascii, fold_builtin_toascii): New.
4101 (fold_builtin): Handle BUILT_IN_ISASCII and BUILT_IN_TOASCII.
4102
2897f1d4
L
41032004-04-07 H.J. Lu <hongjiu.lu@intel.com>
4104
4105 * config/ia64/ia64.c (ia64_encode_section_info): Don't prod
4106 global register variables.
4107
6ed6a1b9
JM
41082004-04-07 Joseph S. Myers <jsm@polyomino.org.uk>
4109
4110 * fixinc/inclhack.def (rpc_xdr_lvalue_cast_a,
4111 rpc_xdr_lvalue_cast_b): New fixes.
4112 * fixinc/fixincl.x: Regenerate.
4113 * fixinc/tests/base/rpc/xdr.h: Add new tests.
4114
fc091c8e
DE
41152004-04-07 David Edelsohn <edelsohn@gnu.org>
4116
4117 * config/rs6000/rs6000.c (processor_target_table): Add MASK_MFCRF
4118 to power4 and power5 entries.
4119
7876228d
GK
41202004-04-06 Geoffrey Keating <geoffk@apple.com>
4121
4122 * c-common.h (pending_lang_change): Mark for PCH.
4123
b21292d0
CT
41242004-04-07 Caroline Tice <ctice@apple.com>
4125
4126 * gcc.c (main): Move 'break' in main loops (on an error)
4127 to wait until error processing has occurred.
7c3ac422 4128
615be2cf
NN
41292004-04-06 Nathanael Nerode <neroden@gcc.gnu.org>
4130
4131 * config.gcc: Stop changing enable_threads midstream.
4132 Replace uses of enable_threads_flag with enable_threads.
4133 * configure.ac: Replace uses of enable_threads_flag with
4134 enable_threads. Improve autoconf quotation in one place.
4135 * configure: Regenerate.
4136
6c7cf1f0
UB
41372004-04-06 Uros Bizjak <uros@kss-loka.si>
4138
4139 * builtins.c: Implement support for sincos function.
4140 (expand_builtin_mathfn): Remove BUILT_IN_SIN{,F,L} and
4141 BUILT_IN_COS{,F,L}.
4142 (expand_builtin_mathfn_3): New function.
4143 (expand_builtin): Expand BUILT_IN_SIN{,F,L} and
4144 BUILT_IN_COS{,F,L} using expand_builtin_mathfn_3 if
4145 flag_unsafe_math_optimization is set.
4146
4147 * optabs.h (enum optab_index): Add new OTI_sincos.
4148 (sincos_optab): Define corresponding macro.
4149
4150 * optabs.c (init_optabs): Initialize sincos_optab.
4151 (expand_twoval_unop): New function.
4152
4153 * genopinit.c (optabs): Implement sincos_optab using sincos?f3
4154 patterns.
4155
4156 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_SINCOS_COS
4157 and UNSPEC_SINCOS_SIN.
4158
4159 * config/i386/i386.md (sincosdf3, sincossf3, *sincosextendsfdf3,
4160 sincosxf3): New patterns to implement sincos, sincosf and sincosl
4161 built-ins as inline x87 intrinsics. Define splits for
4162 sindf2, sinsf2, *sinextendsfdf2, sinxf2, cosdf2,
4163 cossf2, *cosextendsfdf2 and cosxf2 patterns from corresponding
4164 sincos patterns.
4165 (sindf2, sinsf2, sinxf2): Rename to *sindf2, *sinsf2, *sinxf2.
4166 (cosdf2, cossf2, cosxf2): Rename to *cosdf2, *cossf2, *cosxf2.
4167
a072d43b
UB
4168 (UNSPEC_SINCOS_SIN, UNSPEC_SINCOS_COS): New unspecs to represent
4169 x87's fsincos insn.
6c7cf1f0 4170
23bd1514
DP
41712004-04-06 Devang Patel <dpatel@apple.com>
4172
4173 PR 14467
4174 * config/darwin.h (LINK_COMMAND_SPEC): Use c++filt instead of c++filt3.
7c3ac422 4175
c5124497
JDA
41762004-04-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4177
4178 * doc/install.texi: Update HP-UX 11 installation procedure.
4179
485d61a7
PB
41802004-04-06 Paul Brook <paul@codesourcery.com>
4181
4182 * doc/sourcebuild.texi: Remove obsolete contraint on testcases.
4183
13ecc9e0
KK
41842004-04-05 Kaz Kojima <kkojima@gcc.gnu.org>
4185
4186 * config/sh/sh.c (prepare_move_operands): Use emit_call_insn
4187 when the TLS address is generated by a function call.
4188 * config/sh/sh.md (tls_global_dynamic): Use a call expression.
4189 (tls_local_dynamic): Likewise.
4190
e0e4ac7f
AP
41912004-04-05 Andrew Pinski <pinskia@physics.uc.edu>
4192
4193 * tree.c (reconstruct_complex_type): Use TYPE_READONLY
4194 and TYPE_VOLATILE.
4195
0855eab7
CT
41962004-04-05 Caroline Tice <ctice@apple.com>
4197
485d61a7 4198 * gcc.c (combine_flag): New global variable, for new driver option.
0855eab7
CT
4199 (struct compiler): Add two new fields, to be used when
4200 combining multiple input files in a single pass (IMA).
7c3ac422
ZW
4201 (default_compilers): Add values for the new fields to all
4202 compiler entries. Modify the "@c" compiler entry for doing IMA
0855eab7
CT
4203 properly with "-save-temps" and the "combine" flag.
4204 (option_map): Add new driver option, "--combine", to tell driver
4205 to pass multiple input files to compiler at one time.
4206 (have_o_argbuf_index): New global variable.
4207 (store_arg): Modify to assign value to have_o_argbuf_index.
4208 (struct infile): Add three new fields, to help with IMA.
4209 (display_help): Add help for new "combine" option.
4210 (process_command): Remove local variable have_o; add code to check
4211 for new "combine" option; remove assignment to combine_inputs.
4212 (do_spec_1): Modify to deal with IMA better.
4213 (main): Make variable 'lang_n_infiles' local to entire function
7c3ac422
ZW
4214 rather than to a single block. Use flag combine_flag to
4215 determine whether to do IMA or not; Modify loop initializing
0855eab7
CT
4216 infiles to deal properly with linker files.
4217 Add code for doing preprocessing in presence of
4218 IMA with "-save-temps" flag. Modify "main" loop to handle
4219 multiple input files, in multiple languages, with or without
4220 preprocessing, gracefully.
4221 * toplev.c (set_src_pwd): Modify to not complain if attempting to
4222 re-set it to same directory it's previously been set to (avoid
7c3ac422 4223 irritating, meaningless warning messages when doing IMA with
0855eab7
CT
4224 save-temps).
4225 * doc/invoke.texi: Add "-combine" to list of Overall Options;
4226 remove documentation about IMA that is no longer accurate; Add
4227 documentation explaining what "-combine" does.
4228 * ada/lang-specs.h: Add initialization values for new fields in
4229 "struct compiler".
4230 * cp/lang-specs.h: Likewise.
4231 * f/lang-specs.h: Likewise.
4232 * java/lang-specs.h: Likewise.
4233 * objc/lang-specs.h: Likewise.
4234 * treelang/lang-specs.h: Likewise.
4235
26be75db
DE
42362004-04-05 David Edelsohn
4237
4238 * config/rs6000/rs6000.c (VTABLE_NAME_P): Add _ZTI to special
4239 symbol handling.
4240
fda935a2 42412004-04-05 Jakub Jelinek <jakub@redhat.com>
26be75db 4242 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
fda935a2
JJ
4243
4244 PR optimization/13424 (hppa), bootstrap/14462, c/14828
4245 * pa.md: Use replace_equiv_address to retain the attributes of the
4246 memory operands used in the split and peephole2 patterns for optimizing
4247 the pre-reload movstrsi, movstrdi, clrstrsi and clrstrdi patterns.
4248
4f976745
RK
42492004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4250
4251 * c-decl.c (build_compound_literal): Use TYPE_READONLY.
4252 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
4253 * objc/objc-act.c (adorn_decl, gen_declspecs): Likewise.
4254 * c-typeck.c (decl_constant_value): Don't access DECL_INITIAL of a
4255 PARM_DECL.
4256 * calls.c (flags_from_decl_or_type): Use TYPE_READONLY and do so only
4257 for a type.
4258 * print-tree.c (print_node): Properly handle side-effects, readonly,
4259 and constant flags.
4260 * tree.c (build1_stat, build_expr_wfl): Only look at TREE_SIDE_EFFECTS
4261 and TREE_CONSTANT if not a type.
4262 * tree.h (IS_NON_TYPE_CODE_CLASS): New macro.
4263 (IS_EXPR_CODE_CLASS): Write 'E', not 'e'.
4264 (NON_TYPE_CHECK): New macro.
4265 (TREE_SIDE_EFFECT, TREE_READONLY, TREE_CONSTANT: Add check.
4266
5ffc4730
EB
42672004-04-05 Eric Botcazou <ebotcazou@libertysurf.fr>
4268
4269 * config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Set
4270 to DWARF2_DEBUG unconditionally.
4271 (ASM_DEBUG_SPEC): Set the default to --gdwarf2 unconditionally.
4272
c38f02df
ILT
42732004-04-04 Ian Lance Taylor <ian@wasabisystems.com>
4274 Nathanael Nerode <neroden@gcc.gnu.org>
4275
4276 PR target/14548
4277 * config.host: Set the shell variable host_can_use_collect2.
4278 Set it to yes by default, and to no for alpha*-dec-*vms*,
4279 i[34567]86-*-mingw32*, and powerpc-*-beos*.
4280 * configure.ac: Set and substitute the shell variable collect2.
4281 Give an error if use_collect2 is yes and host_can_use_collect2 is
4282 no.
4283 * Makefile.in (COLLECT2): Rename from USE_COLLECT2. Change all
4284 uses. Initialize to @collect2@.
4285 (STAGESTUFF): Remove $(USE_COLLECT2).
4286 * config/alpha/x-vms (USE_COLLECT2): Don't set.
4287 * config/i386/t-mingw32 (USE_COLLECT2): Likewise.
4288 * config/rs6000/t-beos (USE_COLLECT2): Likewise.
4289 * config/pa/t-pa64: Remove commented out USE_COLLECT2.
4290 * configure: Regenerate.
4291
9d317251
RS
42922004-04-04 Roger Sayle <roger@eyesopen.com>
4293
4294 * simplify-rtx.c (simplify_binary_operation): Constant fold
4295 DIV, MOD, UDIV and UMOD using div_and_round_double.
4296
64480988
MM
42972004-04-04 Mark Mitchell <mark@codesourcery.com>
4298
4299 PR c++/14804
4300 * varasm.c (initializer_constant_valid_p): Allow NOP_EXPRs to
4301 RECORD_TYPEs.
4302
aaf3c6d9
MM
43032004-04-04 Mark Mitchell <mark@codesourcery.com>
4304
4305 * doc/invoke.texi (-mabi=o64): Create link to O64 ABI
4306 documentation.
cd3f11a6 4307
d8b7ec41
RS
43082004-04-04 Roger Sayle <roger@eyesopen.com>
4309
4310 * cse.c (cse_insn): Correct usage of simplify_replace_rtx when
4311 updating the REG_EQUAL note on an insn's libcall_insn.
4312
4012b7db
RS
43132004-04-04 Roger Sayle <roger@eyesopen.com>
4314
4315 * df.h: Tidy up whitespace in the definitions of the DF_ flags.
4316
2f63a457
RS
43172004-04-03 Roger Sayle <roger@eyesopen.com>
4318
4319 * fold-const.c (fold) <PLUS_EXPR>: Guard (-A)+B -> B-A transformation
4320 with reorder_operands_p.
4321
ef1140a9
JH
43222004-04-03 Jan Hubicka <jh@suse.cz>
4323
4324 * md.texi (vec_set, vec_extract, vec_init): Document.
4325
f736cb3e
GL
43262004-04-02 Gabor Loki <loki@inf.u-szeged.hu>
4327
4328 * opts.c (decode_options): Do function inlining with very small
4329 max-inline-insns-* parameters when optimizing for size.
4330
89c43c0a
VM
43312004-04-02 Vladimir Makarov <vmakarov@redhat.com>
4332
4333 * config/i386/i386.h (TARGET_NOCONA): New macro.
4334 (TARGET_CPU_CPP_BUILTINS): Add code for Nocona.
4335 (processor_type): Add PROCESSOR_NOCONA.
7c3ac422 4336
89c43c0a
VM
4337 * config/i386/i386.md (cpu): Add nocona to the attribute values.
4338
4339 * config/i386/i386.c (nocona_cost): New variable.
4340 (m_NOCONA): New macro.
4341 (x86_push_memory, x86_movx, x86_cmove, x86_deep_branch,
4342 x86_branch_hints, x86_use_sahf, x86_single_stringop,
4343 x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8,
4344 x86_integer_DFmode_moves, x86_partial_reg_dependency,
4345 x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
4346 x86_decompose_lea, x86_arch_always_fancy_math_387,
4347 x86_sse_partial_reg_dependency, x86_sse_load0_by_pxor,
4348 x86_ext_80387_constants, x86_four_jump_limit):
4349 (override_options): Add nocona_cost to processor_target_table.
4350 Set up PROCESSOR_NOCONA for Nocona entry in processor_alias_table.
4351 (incdec_operand): Prevent inc/dec generation for Nocona too.
4352 (ix86_issue_rate): Add PROCESSOR_NOCONA.
7c3ac422 4353
cd798543
AP
43542004-04-01 Andrew Pinski <pinskia@physics.uc.edu>
4355
4356 * rtlanal.c (find_reg_note): Manually
4357 unswitch the loop.
4358
a406f566
MM
43592004-04-01 Mark Mitchell <mark@codesourcery.com>
4360
4361 * genemit.c (gen_split): Change prototype of generated code.
4362 * genrecog.c (write_action): Adjust prototype for and calls to
4363 gen_split_*.
4364 * gensupport.c (struct queue_elem): Add split field.
4365 (queue_pattern): Return a value. Clear the split field.
4366 (process_rtx): Maintain an association between an insn and the
4367 split generated from it for a define_insn_and_split.
4368 (process_one_cond_exec): Generate a new split for a
4369 define_insn_and_split.
4370 * config/arm/arm-protos.h (arm_split_constant): Add insn
4371 parameter.
4372 (emit_constant_insn): New function.
4373 (arm_gen_constant): Use it.
4374 * config/arm/arm.md: Adjust calls to arm_split_constant.
4375
18c6ada9
JH
43762004-04-02 Jan Hubicka <jh@suse.cz>
4377
4378 * cgraph.c: Add overall comment.
4379 (cgraph_inline_hash): New global variable.
4380 (cgraph_create_node): Break out from ...
4381 (cgraph_node): ... here.
4382 (cgraph_edge): New function.
4383 (cgraph_create_edge): New CALL_EXPR argument; some sanity checking.
4384 (cgraph_remove_edge): Accept edge, intead of source and destination.
4385 (cgraph_redirect_edge_callee): New.
4386 (cgraph_remove_node): Update all new datastructures.
4387 (cgraph_record_call, cgraph_remove_call): Kill.
4388 (dump_cgraph_node): Break out from ... ; dump new datastructures.
4389 (dump_cgraph): ... here.
4390 (cgraph_function_possibly_inlined_p): Use new hashtable.
4391 (cgraph_clone_edge, cgraph_clone_node): New.
4392 * cgraph.h: Include hashtab.h
4393 (struct cgraph_global_info): Kill cloned_times, inline_once, will_be_output
4394 fields, add inlined_to pointer.
4395 (cgraph_node): Add pointer to next_clone.
4396 (cgraph_remove_edge, cgraph_create_edge): Update prototype.
4397 (cgraph_remove_call, cgraph_record_call): Kill.
4398 (cgraph_inline_hash): Declare.
4399 (dump_cgraph_node, cgraph_edge, cg4raph_clone_edge, cgraph_clone_node,
4400 cgraph_redirect_edge_callee): Declare.
4401 (cgraph_create_edges, cgraph_inline_p): Update prorotype.
4402 (cgraph_preserve_function_body_p, verify_cgraph, verify_cgraph_node,
4403 cgraph_mark_inline_edge, cgraph_clone_inlined_nodes): Declare.
4404 * cgraphunit.c: Add overall comment.
4405 (cgraph_optimize_function): Kill.
4406 (cgraph_assemble_pending_functions): Do not assemble inline clones.
4407 (cgraph_finalize_function): Update call of cgraph_remove_node
4408 (record_call_1): Record call sites.
4409 (cgraph_create_edges): Accept node instead of decl argument.
4410 (error_found): New static variable.
4411 (verify_cgraph_node_1, verify_cgraph_node, verify_cgraph): New functions.
4412 (cgraph_analyze_function): Update for new datastructures.
4413 (cgraph_finalize_compilation_unit): Plug memory leak.
4414 (cgraph_optimize_function): Kill.
4415 (cgraph_expand_function): Do not use cgraph_optimize_function.
4416 (INLINED_TIMES, SET_INLINED_TIMES, cgraph_inlined_into,
4417 cgraph_inlined_callees): Kill.
4418 (cgraph_remove_unreachable_nodes): Verify cgraph; update handling of
4419 clones.
4420 (estimate_growth): Simplify.
4421 (cgraph_clone_inlined_nodes): New function.
4422 (cgraph_mark_inline_edge): Re-implement.
4423 (cgraph_mark_inline): Likewise.
4424 (cgraph_check_inline_limits): Simplify.
4425 (cgraph_recursive_inlining_p): New.
4426 (update_callee_keys): Break out from ...
4427 (cgraph_decide_inlining_of_small_functions): ... here; simplify.
4428 (cgraph_decide_inlining, cgraph_decide_inlining_incrementally):
4429 Likewise.
4430 (cgraph_expand_all_functions): Remove inline clones from the ordered
4431 list.
4432 (cgraph_preserve_function_body_p): New predicate.
4433 (cgraph_optimize): Verify cgraph.
4434 * function.h (struct function): Add fields saved_tree/saved_args.
4435 * timevar.def (TV_CGRAPH_VERIFY): Use verifier.
4436 * toplev.c (rest_of_compilation): Do not free cfun.
4437 * tree-inline.c: Include function.h
4438 (struct inline_data): Add saving_p field; replace decl/current_decl by
4439 node/current_node.
4440 (insert_decl_map): New function.
4441 (copy_body_r): Handle saving; update cgraph datastructure.
4442 (copy_body): Handle recursive inlining.
4443 (initialize_inlined_parameters): Likewise.
4444 (expand_call_inline): Propagate node attributes; update cgraph.
4445 (optimize_inline_calls): Verify that datastructure still match.
4446 (save_body): New function.
4447 * tree-inline.h (save_body): New.
4448 * tree-optimize.c (tree_rest_of_compilation): preserve function body; do inlining.
4449 * langhooks-def.c (LANG_HOOKS_UPDATE_DECL_AFTER_SAVING): New.
4450 * langhooks.c (lang_hooks): Add update_decl_after_saving.
4451
717415ad
SB
44522004-04-01 Serge Belyshev <1319@bot.ru>
4453
7c3ac422
ZW
4454 PR target/14702
4455 * config/i386/i386.md: fix source operand constraints in
4456 mmx_pshufw, sse2_pshufd, sse2_pshuflw, sse2_pshufhw
717415ad 4457
af5bdf6a
WH
44582004-04-01 Waldek Hebisch <hebisch@math.uni.wroc.pl>
4459
4460 * fold-const.c (folda): Preserve types of comparisons.
4461
54fdc910
RH
44622004-04-01 Richard Henderson <rth@redhat.com>
4463
4464 * toplev.c (backend_init): Move init_optimization_passes call ...
4465 (lang_dependent_init): ... here.
4466
765f1bf9
AM
44672004-04-01 Alan Modra <amodra@bigpond.net.au>
4468 Jakub Jelinek <jakub@redhat.com>
4469
4470 * gcc.c (init_gcc_specs): If HAVE_LD_AS_NEEDED, link with
4471 -lgcc --as-needed -lgcc_s --no-as-needed by default.
4472 * configure.ac (HAVE_LD_AS_NEEDED): Check for ld --as-needed.
4473 * configure: Rebuilt.
4474 * config.in: Rebuilt.
4475 * Makefile.in (stage1-start): Copy also libgcc_s*$(SHLIB_EXT).
4476 (stage2-start, stage3-start, stage4-start): Likewise.
4477 (stageprofile-start, stagefeedback-start): Likewise.
4478
45dcc026
JJ
44792004-04-01 Jakub Jelinek <jakub@redhat.com>
4480
4481 * config/sparc/sparc.h (DITF_CONVERSION_LIBFUNCS): Define to 0.
4482 * config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
4483 * config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
4484 * config/sparc/sol2.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
4485 (SOLARIS_CONVERSION_LIBFUNCS): Rename to SUN_CONVERSION_LIBFUNCS.
4486 * config/sparc/sparc.c (sparc_init_libfuncs): Initialize optabs
4487 with _Q_qtoll, _Q_qtoull and _Q_lltoq if DITF_CONVERSION_LIBFUNCS.
4488 * config.gcc (sparc-*-linux*): Revert 2004-03-23 change.
4489 * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise.
4490 * config/sparc/t-linux: Removed.
4491
0b612185
JJ
44922004-04-01 Jakub Jelinek <jakub@redhat.com>
4493
4494 PR c++/14755
4495 * fold-const.c (fold) <EQ_EXPR>: Properly compute newconst in
4496 "bitfld++ == const" to "++bitfld == const + incr" transformations.
4497
a150de29
RK
44982004-04-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4499
4500 * expr.c (get_inner_reference): Use DECL_UNSIGNED, not TREE_UNSIGNED.
4501 * stor-layout.c (layout_decl): Likewise.
4502 * tree.c (get_narrower): Likewise and also use BIT_FIELD_REF_UNSIGNED.
4503 * fold-const.c (make_bit_field_ref): Use BIT_FIELD_REF_UNSIGNED.
4504 * print-tree.c (print_node): Handle various used of unsigned_flag.
4505 * tree.def (BIT_FIELD_REF): Update comment.
4506 * tree.h (TREE_UNSIGNED): Deleted.
4507 (DECL_UNSIGNED, BIT_FIELD_REF_UNSIGNED): New macros.
4508
8df83eae
RK
45092004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4510
4511 * builtins.c, c-aux-info.c, c-common.c, c-cppbuiltin.c, c-decl.c:
4512 Change most occurrences of TREE_UNSIGNED to TYPE_UNSIGNED.
4513 * c-format.c, c-opts.c, c-pretty-print.c, c-typeck.c: Likewise.
4514 * calls.c, convert.c, dbxout.c, dojump.c, dwarf2out.c: Likewise.
4515 * expmed.c, expr.c, fold-const.c, function.c, integrate.c: Likewise.
4516 * optabs.c, sdbout.c, stmt.c, stor-layout.c, tree-dump.c: Likewise.
4517 * tree.c, config/iq2000/iq2000.c, config/m32r/m32r.c: Likewise.
4518 * config/mips/mips.c, config/rs6000/rs6000.c: Likewise.
4519 * config/s390/s390.c, config/sparc/sparc.c, objc/objc-act.c: Likewise.
4520 * stor-layout.c (layout_type, case COMPLEX_TYPE): Test for
4521 REAL_TYPE, not INTEGER_TYPE.
4522 (layout_type, case VECTOR_TYPE): Simplify code.
4523 * tree.c (build_vector_type_for_mode): Remove dup unsigned setting.
4524 * tree.h: Update comments.
4525 (STRIP_NOPS): Use TYPE_UNSIGNED.
4526 (TYPE_UNSIGNED): New macro.
4527 (TYPE_TRAP_SIGNED): Remove now redundant check.
4528 (SAVE_EXPR_NOPLACEHOLDER): Don't use TREE_UNSIGNED.
4529
8465edcc
RK
45302004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4531
4532 * function.c (put_var_into_stack): Properly set orig_reg for indirect.
4533
45342004-03-31 Andrew Pinski <pinskia@physics.uc.edu>
efdc5d91
AP
4535
4536 * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA):
4537 Add darwin-fpsave.asm, darwin-vecsave.asm,
4538 and darwin-world.asm.
4539 (TARGET_LIBGCC2_CFLAGS): Add -Wa,-force_cpusubtype_ALL
4540 as the asm files contain altivec instructions.
4541 * config/rs6000/darwin-fpsave.asm: New file.
4542 * config/rs6000/darwin-vecsave.asm: New file.
4543 * config/rs6000/darwin-world.asm: New file.
4544
5fece182
ZW
45452004-03-31 Zack Weinberg <zack@codesourcery.com>
4546
4547 * gengtype-yacc.y (option, stringseq): Add missing
4548 terminating semicolon.
4549
b150f4f3
DE
45502004-03-30 David Edelsohn <edelsohn@gnu.org>
4551
4552 * config/rs6000/rs6000.md (tls_gd_32, tls_gd_64,
4553 tls_ld_32, tls_ld_64, tls_dtprel_32, tls_dtprel_64,
4554 tls_dtprel_ha_32, tls_dtprel_ha_64,
4555 tls_dtprel_lo_32, tls_dtprel_lo_64,
4556 tls_got_dtprel_64, tls_tprel_32, tls_tprel_64,
4557 tls_tprel_ha_32, tls_tprel_ha_64,
4558 tls_tprel_lo_32, tls_tprel_lo_64,
4559 tls_got_tprel_32, tls_got_tprel_64,
4560 tls_tls_32, tls_tls_64): Replace register_operand with
4561 gpc_reg_operand.
4562
45632004-03-30 Mostafa Hagog <mustafa@il.ibm.com>
4564
4565 * config/rs6000/rs6000.md (*ctrsi_internal1, *ctrsi_internal2,
4566 *ctrdi_internal1, *ctrdi_internal2, *ctrsi_internal3,
4567 *ctrsi_internal4, *ctrdi_internal3, *ctrdi_internal4,
4568 *ctrsi_internal5, *ctrsi_internal6, *ctrdi_internal5,
4569 *ctrdi_internal6): Replace register_operand with
4570 nonimmediate_operand.
4571
0af5da7f
FJ
45722004-03-29 Fariborz Jahanian <fjahanian@apple.com>
4573
5fece182
ZW
4574 * fold-const.c (fold): Reassociate multiply expression
4575 with an adjacent non-multiply expression to use
4576 architecture's multiply-add instruction.
0af5da7f 4577
1431042e
ZW
45782004-03-30 Zack Weinberg <zack@codesourcery.com>
4579
4580 * gengtype.c (create_option): New function.
4581 * gengtype.h: Prototype it.
4582 * gengtype-yacc.y (stringseq): New rule.
4583 (option): Use create_option. Add new bare ID production. Use
4584 stringseq, not STRING directly.
4585
4586 * alias.c, bitmap.c, c-decl.c, cgraph.h, cpplib.h, cselib.h
4587 * dwarf2out.c, emit-rtl.c, function.h, lists.c, tree.h
4588 * varray.h, config/alpha/alpha.c:
4589 Use new shorter form of GTY markers.
4590
4591 * doc/gty.texi: Rewrite.
4592
9ffab06b
AP
45932004-03-30 Andrew Pinski <pinskia@physics.uc.edu>
4594
4595 * config/darwin.c (machopic_function_base_name):
4596 Remove current_name and getting the name of the
4597 current function.
4598
a2246edc
NC
45992004-03-30 Nick Clifton <nickc@redhat.com>
4600
4601 * config/arm/arm.md (thumb_jump): Reduce the backward branch
4602 range, and increase the forward branch range, to allow for
4603 the fact that the PC will be off by 4.
4604
547799a7
AM
46052004-03-30 Alan Modra <amodra@bigpond.net.au>
4606
4607 * .cvsignore: Add GPATH, GRTAGS, GSYMS and GTAGS (GNU GLOBAL)
4608
452a7d36
HP
46092004-03-30 Hartmut Penner <hpenner@de.ibm.com>
4610
1431042e
ZW
4611 * config/rs6000/rs6000.c (output_vec_const_move):
4612 Find all cases of EASY_VECTOR_15_ADD_SELF.
4613 (easy_vector_constant_add_self): Accept
4614 all vector constant loadable by vsplt* and vadd*.
452a7d36
HP
4615 (easy_vector_same): Use easy_vector_splat_const.
4616 (easy_vector_const): Use easy_vector_splat_const.
1431042e 4617 (easy_vector_splat_const): New function.
452a7d36 4618 (gen_easy_vector_constant_add_self): New function.
1431042e 4619
452a7d36
HP
4620 * config/rs6000/rs6000-protos.c (gen_easy_vector_constant_add_self):
4621 New prototype.
4622
1431042e 4623 * config/rs6000/altivec.md (movv4si splitter): Change to
452a7d36
HP
4624 emit move insn with halfed vector constant.
4625 (*movv8hi splitter): Likewise.
4626 (*movv16qi splitter): Likewise.
1431042e 4627
708d2456
HP
46282004-03-30 Hartmut Penner <hpenner@de.ibm.com>
4629
1431042e
ZW
4630 PR 11591
4631 * config/rs6000/rs6000.c (rs6000_legitimate_address):
708d2456
HP
4632 Allow any offset to argument pointer in no-strict case.
4633
6868bb1c
JH
46342004-03-30 Jan Hubicka <jh@suse.cz>
4635
4636 * toplev.c (backend_init): Add missing call to inint_optimization_passes.
4637 * passes.c (init_optimization_passes, finish_optimization_passes): Output cgraph
4638 dump file in non-unit-at-a-time mode.
4639
43537bf6
HPN
46402004-03-29 Hans-Peter Nilsson <hp@axis.com>
4641
4642 * config/cris/cris.h: Correct #ifdef to test for
4643 HAVE_AS_NO_MUL_BUG_ABORT_OPTION, not
4644 HAVE_AS_MUL_BUG_ABORT_OPTION.
4645
97955d55
RK
46462004-03-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4647
4648 * function.c (put_var_into_stack): If old RTL was ADDRESSOF, update
4649 the address inside the old RTL.
4650
18d5f982
ZW
46512004-03-28 Zack Weinberg <zack@codesourcery.com>
4652
4653 * c-decl.c: Verify that C_SIZEOF_STRUCT_LANG_IDENTIFIER is correct.
4654 (struct c_binding, struct c_scope): Add chain_next
4655 attributes to GTY markers.
4656 (struct lang_identifier, struct lang_tree_node): Define
4657 here...
4658 * c-tree.h: ... not here. No longer need to declare struct
4659 c_binding either. Do define C_SIZEOF_STRUCT_LANG_IDENTIFIER.
4660 * c-lang.c, objc/objc-lang.c: Set LANG_HOOKS_IDENTIFIER_SIZE
4661 to C_SIZEOF_STRUCT_LANG_IDENTIFIER.
4662
4663 PR 14734, 11944
4664 * c-decl.c (get_parm_info): If error_mark_node is encountered
4665 in the bindings chain, unbind and discard it; don't abort.
4666
e20f3dd1 46672004-03-28 Olga Golovonevsky <olga@il.ibm.com>
18d5f982 4668 Dorit Naishlos <dorit@il.ibm.com>
e20f3dd1 4669
18d5f982
ZW
4670 * config/rs6000/altivec.md: (andvv16qi3, andv8hi3, one_cmplv16qi2,
4671 one_cmplv8hi2, one_cmplv4si2, iorv16qi3, iorv8hi3,): New modelling.
e20f3dd1 4672
d5ebbf58
SC
46732004-03-28 Stephane Carrez <stcarrez@nerim.fr>
4674
4675 * config/m68hc11/m68hc11-protos.h (m68hc11_page0_symbol_p): Declare.
4676
4677 * config/m68hc11/m68hc11.c (m68hc11_handle_page0_attribute): New.
4678 (m68hc11_attribute_table): New attribute "page0" to mark a global
4679 variable as being allocated from within page0 section.
4680 (m68hc11_encode_label): New function.
4681 (m68hc11_strip_name_encoding): New function.
4682 (m68hc11_page0_symbol_p): New function.
4683 (m68hc11_indirect_p): Accept global variables marked in page0.
4684 (m68hc11_encode_section_info): Lookup "page0" attribute.
4685
4686 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): 'R' constraint also
4687 represents access to page0 variables.
4688
4689 * config/m68hc11/m68hc11.md ("*logicalsi3_zexthi"): Use gen_rtx_REG.
4690 ("*logicalsi3_silshl16_zext"): Likewise.
4691 ("*ashldi3_const32"): Likewise.
4692 (peephole2 ashift): Likewise.
4693
5baeaac0
JM
46942004-03-28 Joseph S. Myers <jsm@polyomino.org.uk>
4695
4696 * c-tree.h (C_DECL_REGISTER): New.
4697 * c-aux-info.c (gen_decl), c-decl.c (objc_mark_locals_volatile,
4698 finish_decl, grokdeclarator, get_parm_info), c-typeck.c
4699 (build_array_ref, c_mark_addressable): Set and use it.
4700 * c-decl.c (grokdeclarator), c-typeck.c (c_mark_addressable):
4701 Allow structures with volatile fields to be declared register.
4702 Don't check TREE_ADDRESSABLE before warning about taking address
4703 of register.
4704 * c-decl.c (finish_decl): Don't allow structures with volatile
4705 fields to be placed in named register.
4706 * doc/trouble.texi: Remove reference to structures with volatile
4707 fields in registers.
4708
84c1fa24
UW
47092004-03-27 Ulrich Weigand <uweigand@de.ibm.com>
4710
4711 * function.c (thread_prologue_and_epilogue): Move
4712 NOTE_INSN_FUNCTION_END and NOTE_INSN_FUNCTION_BEG notes
4713 before the epilogue.
4714
053ee101
UW
47152004-03-27 Ulrich Weigand <uweigand@de.ibm.com>
4716
4717 * expr.c (store_constructor): Use gen_int_mode to correctly
4718 sign-extend CONST_INT value.
4719
ca4944e1
KG
47202004-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4721
4722 * builtin-types.def (BT_WINT, BT_FN_INT_WINT, BT_FN_WINT_WINT): New.
4723 * builtins.def (DEF_C94_BUILTIN): New. Add wctype builtins.
4724 * doc/extend.texi: Likewise.
4725
eb1a2c88
DN
47262004-03-26 Diego Novillo <dnovillo@redhat.com>
4727
4728 * c-typeck.c (comptypes): Replace calls to TYPE_DOMAIN
4729 with TYPE_ORIG_SIZE_TYPE.
4730
eabe2b29 47312004-03-25 Aldy Hernandez <aldyh@redhat.com>
18d5f982
ZW
4732
4733 PR 14219
4734 * c-typeck.c (build_binary_op): Do not allow comparisons of
4735 vectors.
eabe2b29 4736
9e1395f1
JM
47372004-03-26 James A. Morrison <ja2morri@uwaterloo.ca>
4738
4739 * config.gcc: Remove sparc-tti-*.
4740 * config/sparc/pbd.h: Delete.
4741
4742 * config/sparc/sol2.h: Remove note about Sun OS 4.x.
4743 * config/sparc/aout.h: Likewise.
4744
4745 * config/sparc/sparc.h: Remove if 0'd code.
4746 * config/sparc/sparc.md (call): Remove if 0'd code.
4747 (call_value): Likewise.
4748 (nonlocal_goto): Likewise.
4749 (unimp_insn): Delete.
4750
22e63bd3
RS
47512004-03-25 Roger Sayle <roger@eyesopen.com>
4752
4753 * fold-const.c (tree_expr_nonnegative_p): Handle BIT_XOR_EXPR like
4754 BIT_IOR_EXPR; A^B is nonnegative when A and B are nonnegative.
4755
0066ef9c
RH
47562004-03-25 Richard Henderson <rth@redhat.com>
4757
4758 PR 11527
18d5f982
ZW
4759 * c-typeck.c (pop_init_level): Emit pending init elements earlier
4760 rather than later.
0066ef9c 4761
3a048383
KG
47622004-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4763
4764 * builtins.c (fold_builtin): Fix error in last change.
4765
0d63bf21
RS
47662004-03-25 Richard Sandiford <rsandifo@redhat.com>
4767
4768 * config/mips/mips.h: Formatting fix.
4769
740e5b6f
KG
47702004-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4771
4772 * builtins.def: Add ctype builtins.
4773 * doc/extend.texi: Likewise.
4774
e19f6bde
KG
47752004-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4776
4777 * builtins.c (fold_builtin): Add new builtin optimizations for
4778 sqrt and/or cbrt.
4779 * fold-const.c (fold): Likewise.
4780
ec507f2d
DE
47812004-03-25 David Edelsohn <edelsohn@gnu.org>
4782
4783 * config/rs6000/rs6000.c (rs6000_always_hint): New variable.
4784 (rs6000_sched_groups): New variable.
4785 (processor_target_table): Add power5.
4786 (rs6000_override_options): Set rs6000_sched_insert_nops,
4787 rs6000_sched_costly_dep and rs6000_sched_restricted_insns_priority
4788 from rs6000_sched_groups.
4789 (output_cbranch): Use rs6000_always_hint.
4790 (rs6000_variable_issue): Use rs6000_sched_groups.
4791 (rs6000_adjust_cost): Add CPU_POWER5.
4792 (is_microcoded_insn): Use rs6000_sched_groups.
4793 (is_dispatch_slot_restricted): Use rs6000_sched_groups.
4794 Return 2 for POWER5 cracked instructions.
4795 (is_cracked_insn): Use rs6000_sched_groups.
4796 (is_branch_slot_insn): Use rs6000_sched_groups.
4797 (rs6000_issue_rate): Add CPU_POWER5.
4798 (rs6000_sched_finish): Use rs6000_sched_groups.
4799 (rs6000_rtx_costs): Add PROCESSOR_POWER5.
4800 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER5.
4801 (DEFAULT_SCHED_COSTLY_DEP): Delete.
4802 (DEFAULT_RESTRICTED_INSNS_PRIORITY): Delete.
4803 (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Delete.
4804 * config/rs6000/rs6000.md (define_attr "cpu"): Add power5.
4805 * config/rs6000/power5.md: New file.
4806 * doc/invoke.texi: Add power5 option.
4807
666c27b9
KH
48082004-03-25 Kazu Hirata <kazu@cs.umass.edu>
4809
4810 * cfgrtl.c, dbxout.c, tree.def, config/darwin.h,
4811 config/arm/arm.c, objc/objc-act.c: Fix comment typos.
4812 * doc/invoke.texi: Fix a typo.
4813
43a21dfc
KH
48142004-03-25 Kazu Hirata <kazu@cs.umass.edu>
4815
4816 PR optimization/9707.
4817 * stmt.c (emit_case_nodes): Emit equality comparisons instead
4818 of recursing if both children are single-valued cases with no
4819 children.
4820
9728c9d1
PB
48212004-03-25 Paul Brook <paul@codesourcery.com>
4822
4823 * config/arm/arm.c (vfp_print_multi): Remove.
4824 (arm_output_fldmx): New function.
4825 (vfp_emit_fstmx): Return block size, not insn. Add ARM10 VFPr1 bugfix.
4826 (arm_expand_prologue): Update to match.
4827 (arm_get_vfp_saved_size): New Function.
4828 (arm_get_frame_offsets): Use it.
4829 (arm_output_epilogue): Use new functions.
4830
bb1acb3e
RH
48312004-03-24 Richard Henderson <rth@redhat.com>
4832
4833 * alias.c (alias_invariant, alias_invariant_size): Mark GTY.
4834 (reg_known_value, reg_known_value_size): Likewise; make static.
4835 (reg_known_equiv_p): Make static.
4836 (clear_reg_alias_info): Update for new indexing.
4837 (get_reg_known_value, set_reg_known_value): New.
4838 (get_reg_known_equiv_p, set_reg_known_equiv_p): New.
4839 (canon_rtx): Use them.
4840 (init_alias_analysis): Likewise. Allocate reg_known_value with gc.
4841 Don't play queer offsetting games with reg_known_value and
4842 reg_known_equiv_p.
4843 (end_alias_analysis): Free reg_known_value with gc.
4844 * rtl.h (get_reg_known_value, get_reg_known_equiv_p): Declare.
4845 * sched-deps.c (reg_known_equiv_p, reg_known_value): Remove.
4846 (deps_may_trap_p, sched_analyze_1, sched_analyze_2): Use the new
4847 functions instead.
4848
ef335eb8
KH
48492004-03-24 Kazu Hirata <kazu@cs.umass.edu>
4850
4851 * dwarf2asm.c, loop.h, pretty-print.c, pretty-print.h,
4852 config/i386/mmintrin.h: Update copyright.
4853
09a9c095
NN
48542004-03-24 Nathanael Nerode <neroden@gcc.gnu.org>
4855
4856 * configure.ac: Add --enable-werror-always (for top level bootstrap
4857 support).
4858 * configure: Regenerate.
4859
f75963f5
ZL
48602004-03-24 Ziemowit Laski <zlaski@apple.com>
4861
4862 * objc/objc-act.c (objc_comptypes): Treat comparisons
4863 between 'Class' and '<class> *' as explicitly invalid.
4864
8d3b3fb7
DE
48652004-03-24 David Edelsohn <edelsohn@gnu.org>
4866
827c06b6 4867 * doc/invoke.texi (-frename-registers): Add enabled at -O3.
8d3b3fb7
DE
4868 (-fprofile-values): Add enabled with profile-{generate,use}.
4869 (-fvpt): Same.
4870 (-ftracer): Add enabled with profile-use.
4871 (-funit-at-a-time): Add enabled at -O2,-O3.
4872 (-funroll-loops): Add enabled with profile-use.
4873 (-funswitch-loops): Add enabled with profile-use. Remove duplicates.
4874 (max-gcse-passes): Mention default.
4875 (max-cse-path-length): Mention default.
4876
643d3bd2
NN
48772004-03-24 Nathanael Nerode <neroden@gcc.gnu.org>
4878
4879 * Makefile.in (STRICT2_WARN): Reorder.
4880 * configure.ac: Check for -Wold-style-definition, and use it
4881 in strict1_warn if it's available.
4882 * configure: Regnerate.
4883
5848830f
PB
48842004-03-24 Paul Brook <paul@nowt.org>
4885
4886 * config.gcc <arm>: Add --with-abi=
4887 * config/arm/arm-protos.h (arm_get_frame_size, thumb_get_frame_size,
4888 thumb_far_jump_used): Remove prototypes.
4889 (arm_needs_doubleword_align): Add prototype.
4890 (thumb_compute_initial_elimination_offset): Ditto.
4891 * config/arm/arm.c (arm_get_frame_offsets): New function.
4892 (use_return_insn, output_return_instruction, arm_output_epilogue,
4893 arm_output_function_epilogue, arm_compute_initial_elimination_offset,
4894 arm_expand_prologue, thumb_expand_epilogue): Use it.
4895 (arm_abi, target_abi_name, all_arm_abis): New variables.
4896 (arm_override_options): Set them. Set structure padding for AAPCS.
4897 (arm_return_in_memory): Update ABI check.
4898 (arm_init_cumulative_args): Initialize can_split.
4899 (arm_needs_doubleword_align): New function.
4900 (arm_function_arg): Don't split args after pushing to stack. Handle
4901 doubleword/even reg alignment.
4902 (arm_va_arg): Handle all doubleword aligned args.
4903 (add_minpoolforward ref, dump_minpool, push_minpool_fix): Align based
4904 on ABI, not CPU.
4905 (arm_compute_save_reg0_reg12_mask): Fix comment.
4906 (thumb_get_frame_size, thumb_get_frame_size): Remove.
4907 (thumb_jump_far_used_p): Remove superfluous argument. Return save
4908 value for alignment.
4909 (thumb_unexpanded_epilogue, thumb_output_function_prologue): Change
4910 to match.
4911 (thumb_compute_initial_elimination_offset): New function.
4912 (thumb_expand_prologue): Use arm_get_frame_offsets. Remove
4913 unneccessary rounding.
4914 * config/arm/arm.h (target_abi_name): Declare.
4915 (ARM_DOUBLEWORD_ALIGN, DOUBLEWORD_ALIGNMENT, TARGET_IWMMXT_ABI,
4916 arm_abi_type, ARM_DEFAULT_ABI): Define.
4917 (ARM_FLAG_ATPCS): Remove.
4918 (TARGET_OPTIONS, OPTION_DEFAULT_SPECS): Add -mabi=.
4919 (BIGGEST_ALIGNMENT, PREFERRED_STACK_BOUNDARY, STACK_BOUNDARY): Use it.
4920 (ADJUST_FIELD_ALIGN, DATA_ALIGNMENT, LOCAL_ALIGNMENT,
4921 TYPE_NEEDS_IWMMXT_ALIGNMENT): Remove.
4922 (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P):
4923 Contitionalize on ABI, not CPU.
4924 (struct arm_stack_offsets): Define.
4925 (struct machine_function): Add stack_offsets. Remove frame_size.
4926 (FUNCTION_ARG_PARTIAL_NREGS): Don't split if previous args have been
4927 pushed.
4928 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_BOUNDARY): Handle general
4929 doubleword alignment.
4930 (THUMB_INITIAL_ELIMINATION_OFFSET,
4931 ARM_INITIAL_ELIMINATION_OFFSET): Remove.
4932 (INITIAL_ELIMINATION_OFFSET): Call functions directly.
4933 * config/arm/arm.md (align_8): Enable for all targets.
4934 * config/arm/netbsd-elf.h (TARGET_DEFAULT): Remove TARGET_ATPCS.
4935 (ARM_DEFAULT_ABI): Define.
4936 * doc/invoke.texi <ARM>: Document -mabi=. Update documentation for
4937 -mstructure-size-boundary.
4938
b5472e1d
NN
49392004-03-24 Nathanael Nerode <neroden@gcc.gnu.org>
4940
4941 * configure.ac: Check for -Wno-variadic-macros; don't use
4942 -pedantic (in stage 1 or a simple 'make all') unless it's available,
4943 and if it's available, use it. Also, clean up check for
4944 -Wno-long-long.
4945 * configure: Regenerate.
4946
c1077e1e
RS
49472004-03-24 Richard Sandiford <rsandifo@redhat.com>
4948
4949 * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Remove tm_defines.
4950 * config/mips/vr.h (DEFAULT_VR_ARCH): New macro, defined to vr4130.
4951 (MULTILIB_DEFAULTS): Use it.
4952 (MIPS_CPU_STRING_DEFAULT): Remove.
4953 (MIPS_ABI_DEFAULT, MIPS_MARCH_CONTROLS_SOFT_FLOAT): Define.
4954 (DRIVER_SELF_SPECS): Make -mfix-vr4122-bugs imply -march=vr4120. Make
4955 EABI64 -mlong32 the default ABI. Enforce the default architecture.
4956 * config/mips/t-vr (MULTILIB_OPTIONS): Add mfix-vr4122-bugs,
398a9492 4957 march=vr4130, march=vr4300, march=vr5000 and march=vr5500.
c1077e1e
RS
4958 (MULTILIB_MATCHES): Use -mfix-vr4122-bugs multilibs for -march=vr4120.
4959 (MULTILIB_EXCEPTIONS): Change choice of multilibs. Update comments
4960 accordingly.
4961
c235ddf2
DD
49622004-03-24 DJ Delorie <dj@redhat.com>
4963 Richard Sandiford <rsandifo@redhat.com>
4964
4965 * config/mips/mips.h (MASK_FIX_VR4122, TARGET_FIX_VR4122): New macros.
4966 (TARGET_SWITCHES): Add -mfix-vr4122-bugs and -mno-fix-vr4122-bugs.
4967 (ASM_SPEC): Pass down -mfix-vr4122-bugs.
4968 * config/mips/mips.c (mips_avoid_hazards): Don't emit whole functions
4969 in .set noreorder and .set nomacro if TARGET_FIX_VR4122.
4970 (mips_init_libfuncs): Use special functions for divsi3 and modsi3
4971 if TARGET_FIX_VR4122.
4972 * config/mips/mips.md (define_attr length): Account for nops inserted
4973 after macc and dmult when using -mfix-vr4122-bugs.
4974 (umuldi3_highpart, divmodsi4, divmoddi4): Disable if TARGET_FIX_VR4122.
4975 * config/mips/t-vr (LIB2FUNCS_STATIC_EXTRA): Define instead of
4976 LIB2FUNCS_EXTRA. Add config/mips/vr4122-div.S.
4977 * config/mips/vr4122-div.S: New file.
4978 * doc/invoke.texi: Document -mfix-vr4122-bugs.
4979
cf768d70
RS
49802004-03-24 Richard Sandiford <rsandifo@redhat.com>
4981
4982 * config/mips/mips.h (PROCESSOR_R4130): New processor_type.
4983 (TARGET_MIPS4130): New macro.
4984 (ISA_HAS_MACC): Return true if TARGET_MIPS4130 && !TARGET_MIPS16.
4985 * config/mips/mips.c (mips_cpu_info_table): Add a vr4130 entry.
4986 (override_options): Extend MIPS_MARCH_CONTROLS_SOFT_FLOAT to deal
4987 with PROCESSOR_R4130.
4988 * config/mips/mips.md (define_attr cpu): Add r4130.
4989 * doc/invoke.texi: Document vr4130 as a supported MIPS architecture.
4990
5ef1a99d
MR
49912004-03-24 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
4992 Richard Sandiford <rsandifo@redhat.com>
4993
4994 * doc/invoke.texi: Apply missed hunk from 2004-03-03 change.
4995
ae87624f
AO
49962004-03-24 Alexandre Oliva <aoliva@redhat.com>
4997
4998 PR preprocessor/14438
4999 * cpplib.c (do_pragma): Remove line_change call after pragma
5000 handler.
5001
d63851eb
ILT
50022004-03-23 Ian Lance Taylor <ian@wasabisystems.com>
5003
5004 * doc/extend.texi (ARM Built-in Functions): Replace with correct
5005 declarations.
5006
0c5faf29
RS
50072004-03-23 Roger Sayle <roger@eyesopen.com>
5008
5009 * reg-stack.c (get_true_reg): Handle FLOAT_TRUNCATE like FLOAT_EXTEND
5010 if flag_unsafe_math_optimizations.
5011 * config/i386/i386.md (truncdfsf2): If flag_unsafe_math_optimizations
5012 and TARGET_80387 expand using truncdfsf2_noop pattern.
5013 (truncxfsf2): Likewise using truncxfsf2_noop.
5014 (truncxfdf2): Likewise using truncxfdf2_noop.
5015 (truncdfsf2_noop, truncxfsf2_noop, truncxfdf2_noop): New patterns.
5016
f18eca82
ZL
50172004-03-23 Ziemowit Laski <zlaski@apple.com>
5018
5019 * hooks.c (hook_constcharptr_tree_null): New hook.
5020 * hooks.h (hook_constcharptr_tree_null): New prototype.
5021 * target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): New target hook.
5022 * target.h (mangle_fundamental_type): New target hook.
5023 * config/rs6000/rs6000.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Point
5024 target hook at rs6000_mangle_fundamental_type.
5025 (rs6000_mangle_fundamental_type): New function.
5026 * doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Document.
5027
f75fbaf7
ZW
50282004-03-23 Zack Weinberg <zack@codesourcery.com>
5029
1b1d85bd 5030 PR 12267, 12391, 12560, 13129, 14114, 14133
f75fbaf7
ZW
5031 * c-tree.h: Forward declare struct c_binding. Declare
5032 c_override_bindings_to_false. Update prototypes.
5033 (struct lang_identifier): Update comments. Change fields to be
5034 struct c_binding *.
5035 (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE)
5036 (IDENTIFIER_LABEL_VALUE, C_DECL_INVISIBLE)
5037 (KEEP_NO, KEEP_YES, KEEP_MAYBE): Delete.
5038 (C_DECL_IN_EXTERNAL_SCOPE, C_DECL_DECLARED_BUILTIN): New.
5039 * c-common.h: Update prototypes.
5040 * c-decl.c (struct c_scope): Update commentary. Remove names,
5041 names_last, parms, parms_last, tags, and shadowed fields. Add
5042 bindings and depth fields.
5043 (scope_freelist): Move to more appropriate location.
5044 (c_print_identifier): Update for changes to struct lang_identifier.
5045 (objc_mark_locals_volatile): Update for new bindings structures.
5046 (global_bindings_p): Honor c_override_global_bindings_to_false.
5047 (pushlevel): Rename to push_scope; take no arguments; use the
5048 scope_freelist; initialize scope->depth and check for overflow.
5049 (poplevel): Rename to pop_scope; totally rewritten for new bindings
5050 structures.
5051 (diagnose_mismatched_decls): Use C_DECL_DECLARED_BUILTIN, not
5052 C_DECL_INVISIBLE, for certain decisions. Adjust some diagnostics.
5053 Improve some commentary. Adjust handling of forward parm decls.
5054 (merge_decls): Set C_DECL_DECLARED_BUILTIN when appropriate.
5055 Preserve C_DECL_IN_EXTERNAL_SCOPE.
5056 (warn_if_shadowing): Correct indentation. Improve diagnostics.
5057 (pushdecl): Remove unnecessary assertion. Short-circuit anonymous
5058 decls. Rewrite for new bindings structures. Improve commentary.
5059 Eliminate the copy_node call.
5060 (implicit_decl_warning): Use the "diag" idiom (as seen in
5061 locate_old_decl) to reduce code duplication; call locate_old_decl
5062 if appropriate. Relocate to remove need for forward declaration.
5063 (implicitly_declare): Adjust for new bindings structures. Kludge
5064 around Objective-C not-really-builtin functions.
5065 (undeclared_variable): Improve diagnostics. If current_function_decl
5066 is nonnull but current_function_scope is null, use current_scope.
5067 Use bind.
5068 (lookup_tag): Adjust for new bindings structures. Kludge around
5069 Objective-C's tag declarations that wind up in the external scope.
5070 (lookup_name): Adjust for new bindings structures. Kludge around
5071 c-common.c's pseudo-typedefs that wind up in the external scope.
5072 (lookup_name_current_level): Rename lookup_name_in_scope; take a
5073 second argument indicating the scope to examine; rewrite for
5074 new bindings structures.
5075 (c_init_decl_processing): Adjust for renamed functions. Do not
5076 initialize current_file_decl, first_builtin_decl, last_builtin_decl.
5077 First scope pushed is the external scope, not the global scope.
5078 (builtin_function): Use bind, not pushdecl. Adjust other bits
5079 for new data structures. Keep track of builtins that should be
5080 made visible automatically.
5081 (start_decl): Adjust diagnostics. Remove unnecessary call to
5082 expand_decl.
5083 (grokparms): Return 0 if arg_types is error_mark_node.
5084 (get_parm_info): Rename "void_at_end" argument to "ellipsis", with
5085 reversed sense. Rewrite for new bindings structures. Do not
5086 leave any decls in the scope, to prevent pop_scope from doing
5087 contradictory things with them.
5088 (finish_struct, finish_enum): Remove redundant diagnostics.
5089 (build_enumerator): Don't cascade diagnostics for error_mark_node.
5090 Mark location where -pedantic changes the meaning of the program.
5091 (store_parm_decls_newstyle, store_parm_decls_oldstyle): Load the
5092 parameter decls into the function's scope structure using bind.
5093 Warn here about function definitions in the wrong style.
5094 Adjust diagnostics.
5095 (store_parm_decls): Correct the determination of whether a
5096 function was defined with a prototype.
5097 (c_write_global_declarations): Operate on all file decls and on
5098 the external scope. Split body of the loop to...
5099 (c_write_global_declarations_1): ... this new function, to avoid
5100 code duplication.
5101 (truly_local_externals, first_builtin_decl, last_builtin_decl)
5102 (make_scope, pop_scope, in_parm_level_p, set_block)
5103 (any_external_decl, record_external_decl, bind_label, getdecls)
5104 (link_hash_hash, link_hash_eq, merge_translation_unit_decls)
5105 (c_reset_state): Delete.
5106 (visible_builtins, c_override_global_bindings_to_false)
5107 (c_binding, I_SYMBOL_BINDING, I_SYMBOL_DECL, I_TAG_BINDING)
5108 (I_TAG_DECL, I_LABEL_BINDING, I_LABEL_DECL, file_scope)
5109 (external_scope, binding_freelist, bind, free_binding_and_advance)
5110 (push_file_scope, pop_file_scope): New.
5111 (pushtag, pushdecl_top_level, lookup_label, declare_label)
5112 (define_label, c_make_fname_decl, finish_decl)
5113 (mark_forward_parm_decls, build_compound_literal)
5114 (grokdeclarator, start_function, check_for_loop_decls)
5115 (identifier_global_value, record_builtin_type): Minor adjustments
5116 for new bindings structures. Improve diagnostics and commentary.
5117 * c-objc-common.c (start_cdtor, finish_cdtor): Adjust calls to
5118 pushlevel/poplevel respectively.
5119 (c_objc_common_finish_file): Don't call merge_translation_unit_decls.
5120 * c-opts.c (c_common_parse_file): Remove spurious ATTRIBUTE_UNUSED.
5121 Warn about YYDEBUG not being defined only if -dy. Remove no-longer-
5122 correct loop over multiple translation units; call fatal_error if
5123 requested to compile more than one file at once. (This disables
5124 IMA temporarily - an up-front error being preferable to a crash.)
5125 * c-parse.in (pushlevel, poplevel rules): Rename push_scope, pop_scope.
5126 (all actions): Adjust calls to pushlevel/poplevel.
5127 (parsing_iso_function_signature): Delete.
5128 (extdef_1): Fold into extdef.
5129 (old_style_parm_decls_1): Fold into old_style_parm_decls. Don't
5130 warn here about function definitions in the wrong style.
5131 (after_tyle_declarator, parm_declarator_starttypename)
5132 (parm_declarator_nostarttypename, notype_declarator): Remove
5133 commented-out productions.
5134 (parmlist_1, parmlist_2): Use make_node, not tree_cons, to create
5135 an empty TREE_LIST node. Adjust calls to get_parm_info.
5136 (parmlist_2 : ELLIPSIS): Tag the arg-info block with error_mark_node
5137 to suppress -Wold-style-definition after this error.
5138 (c_parse_file): Don't clear the binding stack or call
5139 finish_fname_decls here. Correct comment.
5140 * c-typeck.c (same_translation_unit_p): Export.
5141 (common_type): Use c_override_global_bindings_to_false, not
5142 pushlevel/poplevel/declare_parm_level.
5143 * c-lang.c: Override LANG_HOOKS_CLEAR_BINDING_STACK,
5144 LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK,
5145 and LANG_HOOKS_GETDECLS with do-nothing stubs.
5146 * objc/objc-lang.c: Likewise.
5147 * objc/objc-act.c: Adjust all calls to pushlevel, poplevel,
5148 get_parm_info.
5149 (OBJC_VOID_AT_END): Delete; replace all uses
5150 with void_list_node.
5151 (generate_forward_declaration_to_string_table): Delete.
5152 * objc/objc-act.h (OCTI_STRG_DECL, UOBJC_STRINGS_decl): Delete.
5153
5154 * coverage.c (create_coverage): Don't pushdecl anything.
5155 * langhooks.c (lhd_clear_binding_stack): Call
5156 lang_hooks.decls.poplevel, not poplevel.
5157 * tree.c (list_length): If ENABLE_TREE_CHECKING, abort on a
5158 circular list rather than going into an infinite loop.
5159
0c0ab0f1
OH
51602004-03-23 Olivier Hainque <hainque@act-europe.fr>
5161
f75fbaf7
ZW
5162 * optabs.c (expand_binop): When synthesizing double word rotates
5163 from single word shifts, use a new register target if the provided
5164 target is not a REG already.
0c0ab0f1 5165
22421b79
RK
51662004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5167
5168 * alias.c (get_alias_set): Add support for TYPE_REF_CAN_ALIAS_ALL.
5169 * c-common.c (handle_mode_attribute): Add extra arg to
5170 build_pointer_type_for_mode and build_reference_type_for_mode.
5171 * c-typeck.c (build_c_cast): Only look at TREE_CONSTANT_OVERFLOW
5172 for INTEGER_CST.
5173 * tree.c (build_pointer_type_for_mode): Add arg CAN_ALIAS_ALL.
5174 Chain pointers via TYPE_NEXT_PTR_TO.
5175 (build_reference_type_for_mode): Similarly.
5176 (build_type_no_quals): Add extra arg to build_pointer_type_for_mode
5177 and build_reference_type_for_mode.
5178 (tree_check4_failed): New function.
5179 * tree.h (TREE_CHECK4, PTR_OR_REF_CHECK): New macros.
5180 (TYPE_REF_CAN_ALIAS_ALL, TYPE_NEXT_PTR_TO, TYPE_NEXT_REF_TO): Likewise.
5181 (TREE_NO_UNSUED_WARNING, TREE_VIA_VIRTUAL, TREE_CONSTANT_OVERFLOW):
5182 Add check.
5183
b1500d00
RS
51842004-03-23 Roger Sayle <roger@eyesopen.com>
5185
5186 * fold-const.c (tree_expr_nonnegative_p): A&B is nonnegative when
5187 A is nonnegative or B is nonnegative. Similarly A|B is nonnegative
5188 when both A and B are nonnegative.
5189 (tree_expr_nonzero_p): A|B is nonzero when A is nonzero or B is
5190 nonzero.
5191
73b91357
KH
51922004-03-23 Kazu Hirata <kazu@cs.umass.edu>
5193
5194 * fold-const.c (fold): Remove cases for INTEGER_CST, REAL_CST,
5195 VECTOR_CST, STRING_CST, COMPLEX_CST, and CONSTRUCTOR.
5196
bb3a37ac
RS
51972004-03-23 Kazu Hirata <kazu@cs.umass.edu>
5198
5199 PR optimization/14669
5200 * fold-const.c (fold): Only unwiden integer comparisons for equality
5201 and inequality operators, or when the signedness doesn't change.
5202
f2c79f80
JJ
52032004-03-23 Jakub Jelinek <jakub@redhat.com>
5204
5205 * config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
5206 * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Set.
5207 * config/sparc/t-linux: New file.
5208
1707bafa
RS
52092004-03-23 Richard Sandiford <rsandifo@redhat.com>
5210
5211 * gcse.c (can_assign_to_reg_p): New function, split out from...
5212 (want_to_gcse_p): ...here.
5213 (compute_ld_motion_mems): Use can_assign_to_reg_p to validate
5214 the rhs of a store.
5215
63185fab
DN
52162004-03-22 Diego Novillo <dnovillo@redhat.com>
5217
5218 * c-typeck.c (same_translation_unit_p): Fix pasto.
5219
f72c6b56
DE
52202004-03-22 David Edelsohn <edelsohn@gnu.org>
5221
5222 * params.def (PARAM_MAX_SCHED_REGION_BLOCKS): New.
5223 (PARAM_MAX_SCHED_REGION_INSNS): New.
5224 * sched-rgn.c: Include params.h
5225 (MAX_RGN_BLOCKS): Delete.
5226 (MAX_RGN_INSNS): Delete.
5227 (too_large): Return bool. Convert to PARAM_VALUE.
0483ab6e 5228 * Makefile.in (sched-rgn.o): Depend on $(PARAMS_H).
f72c6b56
DE
5229 * doc/invoke.texi (param): Document max-sched-region-blocks and
5230 max-sched-region-insns.
5231
d6672e91
JB
52322004-03-22 Joel Brobecker <brobecker@gnat.com>
5233
5234 * dwarf2out.c (is_subrange_type): Do not emit a subrange_type DIE
5235 for base types.
5236
886de2d4
JB
52372004-03-22 Joel Brobecker <brobecker@gnat.com>
5238
5239 * dwarf2out.c (is_subrange_type): Minor code rework. No behavior
5240 change.
5241
d915eec0
JJ
52422004-03-22 Jakub Jelinek <jakub@redhat.com>
5243
5244 PR c/14069
5245 * c-decl.c (finish_struct): Change type of incorrect flexible array
5246 field into error_mark_node.
5247
aa6d25c9
AP
52482004-03-22 Andrew Pinski <pinskia@physics.uc.edu>
5249
19a03303 5250 PR target/14580
aa6d25c9
AP
5251 * config/rs6000/rs6000.c (symbol_ref_operand): Reject symbols
5252 who are not local for Darwin PIC.
5253
ead61c1d
UW
52542004-03-22 Ulrich Weigand <uweigand@de.ibm.com>
5255
5256 * regrename.c (regrename_optimize): Set regs_ever_live for all
5257 registers introduced as replacement.
5258
1bbd65cd
EB
52592004-03-22 Eric Botcazou <ebotcazou@libertysurf.fr>
5260
5261 PR middle-end/14470
5262 * expr.c (mark_queue): New function.
5263 (emit_insns_enqueued_after_mark): New function replacing
5264 emit_queue. Clear the body of emitted queued insns.
5265 (emit_queue): Call emit_insns_enqueued_after_mark.
5266 (store_expr): Mark the increment queue on entry. Emit
5267 only the incrementations queued when expanding the source.
5268
6dd297da
NN
52692004-03-22 Nathanael Nerode <neroden@gcc.gnu.org>
5270
5271 * configure.ac: Allow --disable-coverage-flags (for the future benefit
5272 of top level bootstrap, and consistency). Reindent.
5273 * configure: Regenerate.
5274
400e39e3
KH
52752004-03-21 Kazu Hirata <kazu@cs.umass.edu>
5276
5277 * bt-load.c, builtins.c, cfghooks.c, cfgrtl.c, gcse.c,
5278 ggc-page.c, integrate.c, var-tracking.c, web.c: Remove
5279 unnecessary casts.
5280
bd8ec6a7
DS
52812004-03-22 Danny Smith <dannysmith@users.sourceforge.net>
5282
5283 PR target/14291
5284 * gcov-io.h (gcov_truncate): Define ftruncate as _chsize for
5285 __MINGW32__.
5286
bd446804
UW
52872004-03-21 Ulrich Weigand <uweigand@de.ibm.com>
5288
5289 * config/s390/s390.md ("*doloop_si"): Change predicate for operand 2
5290 to nonimmediate_operand.
5291 ("*doloop_di"): Likewise.
5292
1e92bbb9
AO
52932004-03-21 Alexandre Oliva <aoliva@redhat.com>
5294
5295 * real.h (struct real_value): Use the same type for all
5296 bitfields. Rename exp to uexp.
5297 (REAL_EXP, SET_REAL_EXP): New accessor macros for uexp.
5298 Adjust all uses of exp...
5299 * builtins.c: ... here, ...
5300 * emit-rtl.c: ... here, and ...
5301 * real.c: ... and here.
5302
b9b44fb9
GDR
53032004-03-21 Gabriel Dos Reis <gdr@integrable-solutions.net>
5304
5305 * pretty-print.c (pp_base_maybe_space): New function.
5306 * pretty-print.h (pp_base_maybe_space): Declare.
5307 (pp_maybe_space): New macro.
5308
1c7b1b7e
UW
53092004-03-21 Ulrich Weigand <uweigand@de.ibm.com>
5310
5311 * config/s390/s390.md ("addti3", "subti3"): New insns and splitters.
5312
f258e38b
UW
53132004-03-21 Ulrich Weigand <uweigand@de.ibm.com>
5314
5315 * expmed.c (choose_mult_variant): Pass MULT_COST as argument instead
5316 of using register multiplication cost.
5317 (expand_mult): Adapt choose_mult_variant call.
5318 (expand_mult_highpart): Call choose_mult_variant with WIDER_MODE
5319 of MODE; pass appropriate cost bound. Adjust result when
5320 performing signed multiplication by a negative constant.
5321 Don't use intermediate modes larger than word_mode.
5322
6fce44af
RK
53232004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5324
5325 * alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR.
5326 * emit-rtl.c (component_ref_for_mem_expr): Likewise.
5327 (set_mem_attributes_minus_bitpos): Call SUBSTITUTE_PLACEHOLDER_IN_EXPR.
5328 * explow.c (expr_size): Likewise.
5329 * expr.h (placeholder_list, find_placeholder): Deleted.
5330 * expr.c (store_constructor): Likewise.
5331 (get_inner_reference): Likewise. Also don't call find_placeholder.
5332 (placeholder_list, find_placeholder): Deleted.
5333 (is_aligning_offset): Don't handle WITH_RECORD_EXPR, PLACEHOLDER_EXPR.
5334 (expand_expr_real, cases PLACEHOLDER_EXPR, WITH_RECORD_EXPR): Likewise.
5335 (highest_pow2_factor, case WITH_RECORD_EXPR): Remove.
5336 * dojump.c (do_jump, case WITH_RECORD_EXPR): Likewise.
5337 * dwarf2out.c (loc_descriptor_from_tree, case WITH_RECORD_EXPR):
5338 Likewise.
5339 * fold-const.c (invert_truthvalue, case WITH_RECORD_EXPR): Likewise.
5340 (extract_muldiv, case WITH_RECORD_EXPR): Likewise.
5341 * tree.c (expr_align, case WITH_RECORD_EXPR): Likewise.
5342 (contains_placeholder_p): Don't handle WITH_RECORD_EXPR.
5343 Clean up by using first_rtl_op.
5344 (substitute_in_expr): Use SUBSTITUTE_IN_EXPR for recursive call.
5345 (substitute_placeholder_in_expr): New function.
5346 * tree.def (WITH_RECORD_EXPR): Deleted.
5347 * tree.h (SUBSTITUTE_IN_EXPR, SUBSTITUTE_PLACEHOLDER_IN_EXPR): New.
5348 (substitute_placeholder_in_expr): New.
5349
0f005f33
AP
53502004-03-21 Andrew Pinski <pinskia@gcc.gnu.org>
5351
5352 * dojump.c (prefer_and_bit_test): Fix which part of
5353 the and_test is replaced.
5354
f80352b8
JM
53552004-03-21 Joseph S. Myers <jsm@polyomino.org.uk>
5356
5357 * frontends.texi: Add missing line.
5358
6ad79f18 53592004-03-21 Zack Weinberg <zack@codesourcery.com>
f75fbaf7
ZW
5360 Chris Devers <cdevers@pobox.com>
5361 Joseph S. Myers <jsm@polyomino.org.uk>
6ad79f18
JM
5362
5363 * doc/frontends.texi: Rewrite.
5364 * doc/gcc.texi: Update last modification date.
5365
eabd7d31
JZ
53662004-03-21 Josef Zlomek <zlomekj@suse.cz>
5367
5368 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Print the debug
5369 message before redirecting the edge.
5370
f8ad8d7c
ZD
53712004-03-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5372
5373 * emit-rtl.c (set_mem_attributes_minus_bitpos): Set MEM_POINTER
5374 flag.
5375 * explow.c (force_not_mem): Set REG_POINTER flag according to
5376 MEM_POINTER one.
5377 * rtl.h (MEM_POINTER): New macro.
5378 (struct rtx_def): Use integrated for MEM_SCALAR_P and frame_related
5379 for MEM_POINTER.
5380
8cce3d04
RS
53812004-03-20 Roger Sayle <roger@eyesopen.com>
5382
5383 PR target/13889
5384 * cse.c (fold_rtx): Avoid substituting constants into unary
687c3ea5 5385 conversion operations.
8cce3d04 5386
05fe5c67
KH
53872004-03-20 Kazu Hirata <kazu@cs.umass.edu>
5388
5389 * fold-const.c (fold): Replace "expr" with "t".
5390
dea984dc
ILT
53912004-03-20 Ian Lance Taylor <ian@wasabisystems.com>
5392
5393 PR c/12373
5394 * c-typeck.c (tagged_types_tu_compatible_p): Don't use
5395 DECL_ORIGINAL_TYPE if there isn't one.
5396
079f946d
KH
53972004-03-20 Kazu Hirata <kazu@cs.umass.edu>
5398
5399 * fold-const.c (fold): Replace "final_type" with "type".
5400 Remove variable "final_type".
5401
8d3784af
KH
54022004-03-20 Kazu Hirata <kazu@cs.umass.edu>
5403
5404 * fold-const.c (fold): Constify "type".
5405 Replace "TREE_TYPE (t)" with "type".
5406
245f1bfa
KH
54072004-03-20 Kazu Hirata <kazu@cs.umass.edu>
5408
5409 * bb-reorder.c, bt-load.c, c-decl.c, cfgcleanup.c, coverage.c,
5410 dwarf2asm.c, ifcvt.c, stor-layout.c, varasm.c: Replace calls
5411 via (*targetm.foo) () with targetm.foo ().
5412
802f6d4b
JM
54132004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
5414
5415 PR other/14630
5416 * doc/install.texi: Add info directory category and entry.
5417
ea993805
KH
54182004-03-20 Kazu Hirata <kazu@cs.umass.edu>
5419
5420 * fold-const.c (fold): Replace "t" with "tem" where it is used
5421 as a temporary variable. Remove "orig_t" and all of its uses.
5422
8e7b3a43
KH
54232004-03-20 Kazu Hirata <kazu@cs.umass.edu>
5424
5425 * fold-const.c (fold): Remove variable "invert".
5426 Move the handling of relational expressions that can be folded
5427 to a constant ...
5428 (fold_relational_const): ... here.
5429 (tree_expr_nonzero_p): New.
5430
b1c2d04a
JM
54312004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
5432
5433 PR c/14635
5434 * builtins.def (nan, nanf, nanl, nans, nansf, nansl): Change to
5435 DEF_GCC_BUILTIN.
5436
dbf833ee
RS
54372004-03-20 Richard Sandiford <rsandifo@redhat.com>
5438
5439 * Makefile.in (dojump.o): Depend on $(GGC_H) and dojump.h.
5440 (GTFILES): Add $(srcdir)/dojump.h.
5441 (gt-dojump.h): New dependency.
5442 * dojump.c (and_reg, and_test, shift_test): New static variables.
5443 (prefer_and_bit_test): New function.
5444 (do_jump): Use it to choose between (X & (1 << C)) and (X >> C) & 1.
5445
d1a6adeb
KH
54462004-03-20 Kazu Hirata <kazu@cs.umass.edu>
5447
5448 * c-common.c, cfgcleanup.c, cgraphunit.c, c-pretty-print.c,
5449 expmed.c, ggc-common.c, jump.c, passes.c, recog.c, regmove.c,
5450 reorg.c, tree.h: Fix comment typos.
5451
5fd9b178
KH
54522004-03-19 Kazu Hirata <kazu@cs.umass.edu>
5453
5454 * alias.c, attribs.c, bt-load.c, builtins.c, c-common.c,
5455 c-decl.c, c-objc-common.c, c-typeck.c, calls.c, cfglayout.c,
5456 cse.c, dbxout.c, dwarf2out.c, except.c, final.c,
5457 haifa-sched.c, integrate.c, passes.c, rtlanal.c, sched-rgn.c,
5458 sched-vis.c, simplify-rtx.c, stor-layout.c, tree.c, varasm.c,
5459 vmsdbgout.c: Replace calls via (*targetm.foo) () with
5460 targetm.foo ().
5461
86e7df90
ZL
54622004-03-19 Ziemowit Laski <zlaski@apple.com>
5463
5464 * config/rs6000/altivec.h (vec_dst, vec_dstst, vec_dststt,
5465 vec_dstt, vec_sld, vec_splat): Add prototypes, marked with
5466 always_inline attribute.
5467 * config/rs6000/rs6000.c (altivec_expand_dst_builtin):
5468 Treat expansion as completed even if literal argument is
5469 invalid (so that other expansions are not tried in vain).
5470
147d77b6
KH
54712004-03-19 Kazu Hirata <kazu@cs.umass.edu>
5472
5473 * loop-doloop.c (add_test): Replace GEN_INT (0) with
5474 const0_rtx.
5475
73c4ab99
KH
54762004-03-19 Kazu Hirata <kazu@cs.umass.edu>
5477
5478 * fold-const.c (fold) <ABS_EXPR>: Move the handling of constants
5479 ...
5480 (fold_abs_const): ... here.
5481
a6002f8d
RK
54822004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5483
5484 * tree.h (TYPE_ARRAY_MAX_SIZE): Use type.maxval directly.
5485
829bde68
DC
54862004-03-19 Denis Chertykov <denisc@overta.ru>
5487
d0aa5f10 5488 PR target/11520
829bde68
DC
5489 * config/avr/avr.md ("call_insn"): Handle explicit integer
5490 specially.
5491 (call_value_insn): Likewise.
5492
9d2a492d
RK
54932004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5494
5495 * tree.c (substitute_in_expr): Rewrite to simplify and be more generic.
5496
33d13fac
KH
54972004-03-19 Kazu Hirata <kazu@cs.umass.edu>
5498
5499 * fold-const.c (negate_expr): Move the handling of constants
5500 ...
5501 (fold_negate_const): ... here.
5502
7548281d
RK
55032004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5504
5505 * langhooks-def.h (LANG_HOOKS_HASH_TYPES): New macro and hook.
5506 * langhooks.h (struct lang_hooks_for_types): New field hash_types.
5507 * tree.c (debug_no_type_hash): Deleted.
5508 (type_hash_canon): Abort if passed a variant.
5509 Check lang_hooks.types.hash_types.
5510 (build_type_no_quals): Copy mode of POINTER_TYPE and REFERENCE_TYPE.
5511 (build_array_type): Remove unnecessary allocation of pointer type.
5512 (build_complex_type): Properly qualify resulting type.
5513
7e463bda
PB
55142004-03-19 Paolo Bonzini <bonzini@gnu.org>
5515
5516 * config/rs6000/rs6000.c (rs6000_init_builtins): Fix typo.
5517
8efc8980
RS
55182004-03-19 Richard Sandiford <rsandifo@redhat.com>
5519
5520 * expmed.c (choose_mult_variant, expand_mult_const): New, split from...
5521 (expand_mult): ...here.
5522 (extract_high_half): New, split out from expand_mult_highpart.
5523 (expand_highpart_optab): Likewise. Don't clobber target prematurely.
5524 (expand_highpart): Evaluate the cost of a shift/add sequence,
5525 then see if any of the specialized optabs are cheaper.
5526
ff3fcb8a
ILT
55272004-03-18 Ian Lance Taylor <ian@wasabisystems.com>
5528
5529 * mklibgcc.in: Remove obsolete MAYBE_USE_COLLECT2.
5530
1fb7e3af
KG
55312004-03-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5532
5533 * convert.c (convert_to_real): Add more math builtins.
5534
b3810360
KG
55352004-03-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5536
5537 * convert.c (convert_to_real): Reformat using switch stmt.
5538
9d363a56
MM
55392004-03-18 Mark Mitchell <mark@codesourcery.com>
5540
5541 * c-common.c (pointer_int_sum): Do not complain about using
5542 pointers to pointers-to-members.
5543
c3690d79
KH
55442004-03-18 Kazu Hirata <kazu@cs.umass.edu>
5545
5546 * system.h (MD_ASM_CLOBBERS): Move to "Old target macros that
5547 have moved to the target hooks structure".
5548
c3840092
JW
55492004-03-18 James E Wilson <wilson@specifixinc.com>
5550
5551 * config/mips/mips.md (type): Split move into arith and fmove. Split
5552 hilo into mthilo and mfhilo. Add trap. Delete icmp. Fix all uses.
5553 * config/mips/5400.md (ir_vr54_hilo, ir_vr54_arith, ir_vr54_fabs):
5554 Likewise.
5555 * config/mips/5500.md (ir_vr55_hilo, ir_vr55_arith, ir_vr55_fabs):
5556 Likewise.
5557 * config/mips/7000.md (rm7_int_other, rm7_mthilo, rm7_mfhilo,
5558 rm7_fp_quick): Likewise.
5559 * config/mips/9000.md (rm9k_int, rm9k_mfhilo, rm9k_mthilo,
5560 rm9k_fquick): Likewise.
5561 * config/mips/sr71k.md (ir_sr70_hilo, ir_sr70_arith, ir_sr70_fabs):
5562 Likewise.
5563 (ir_sr70_icmp): Delete.
5564
eb34af89 55652004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
f75fbaf7 5566
eb34af89
RK
5567 * tree.h (TREE_CHECK2, TREE_CHECK3, TREE_CHECK5): New macros.
5568 (tree_check2_failed, tree_check3_failed, tree_check5_failed): New decl.
5569 (FUNC_OR_METHOD_CHECK, SET_ARRAY_OR_VECTOR_CHECK): New macros.
5570 (REC_OR_UNION_CHECK, NUMERICAL_TYPE_CHECK): Likewise.
5571 (TYPE_VALUES, TYPE_DOMAIN, TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD):
5572 Protect with proper check.
5573 (TYPE_ARG_TYPES, TYPE_METHOD_BASETYPE, TYPE_OFFSET_BASETYPE): Likewise.
5574 (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Likewise.
5575 * tree.c (type_hash_eq): Rewrite to access proper fields for each type.
5576 (tree_check2_failed, tree_check3_failed, tree_check5_failed): New.
5577 * c-typeck.c (build_array_ref): Use TYPE_DOMAIN, not TYPE_VALUES.
5578 * dwarf2out.c (gen_enumeration_type_die): Use TYPE_VALUES,
5579 not TYPE_FIELDS.
d3b6a5fb 5580 * stor-layout.c (set_sizetype): Use TYPE_ORIG_SIZE_TYPE.
eb34af89 5581
2171cb85
MH
55822004-03-18 Mostafa Hagog <mustafa@il.ibm.com>
5583
5584 * gcse.c (eliminate_partially_redundant_loads): Reject change if
5585 dest is set between beginning and current insn.
5586
4ada538b
MM
55872004-03-18 Mark Mitchell <mark@codesourcery.com>
5588
5589 * c-decl.c (grokdeclarator): Do not complain about redeclaring
5590 visible "static" identifiers "extern" in a local scope.
5591 * dwarf2out.c (loc_descriptor_from_tree): Handle pre- and
5592 post-increments/decrements.
5593
79e9ebdc
BW
55942004-03-18 Bob Wilson <bob.wilson@acm.org>
5595
5596 * config/xtensa/xtensa.c (current_function_arg_words): Delete.
5597 (xtensa_builtin_saveregs): Use current_function_args_info.arg_words.
5598 (xtensa_va_start): Remove assignment to current_function_arg_words.
5599
5da6f168
RS
56002004-03-18 Richard Sandiford <rsandifo@redhat.com>
5601
5602 * alias.c (record_set): Detect the case where a register is assigned
5603 a new value that has the same base term as the old one.
5604
689ba89d
ZD
56052004-03-18 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5606
5607 * doloop.c: Removed.
5608 * loop-doloop.c: New file.
5609 * Makefile.in (doloop.o): Remove.
5610 (loop-doloop.o): New.
5611 * cfgloop.h (get_loop_level, doloop_optimize_loops): Declare.
5612 * cfgloopanal.c (get_loop_level): New function.
5613 * loop-iv.c (iv_number_of_iterations): Handle case when loop
5614 is leaved immediatelly.
5615 * loop.c (strength_reduce): Do not call doloop optimization.
5616 * loop.h (LOOP_BCT): Removed.
5617 * passes.c (rest_of_handle_loop_optimize): Do not use LOOP_BCT.
5618 (rest_of_handle_loop2): Call doloop_optimize_loops.
5619 (rest_of_compilation): Test for optimizations moved to
5620 rest_of_handle_loop2.
5621
327e5343
FJ
56222004-03-17 Fariborz Jahanian <fjahanian@apple.com>
5623
f75fbaf7
ZW
5624 * config/rs6000/rs6000.c (rs6000_stack_info): correct reg_size
5625 for mixed mode.
5626 (rs6000_emit_prologue): Ditto.
5627 (rs6000_emit_epilogue): Ditto.
5628 * config/rs6000/rs6000.h: Definition of DWARF_CIE_DATA_ALIGNMENT
5629 macro for mixed mode.
327e5343 5630
214ee4a2
JH
56312004-03-18 Jan Hubicka <jh@suse.cz>
5632
5633 * predict.c (propagate_freq): Compute correctly frequency of
5634 EXIT_BLOCK.
5635
33521f7d
EC
56362004-03-17 Eric Christopher <echristo@redhat.com>
5637
5638 * builtins.c (apply_args_size): Use reg_raw_mode.
5639 (apply_result_size): Ditto.
5640
d3daf7bb
RC
56412004-03-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
5642
5643 PR target/14620
5644 * config/rtems.h: Add STD_LIB_SPEC and LIB_SPEC.
5645
bb6df272
JJ
56462004-03-17 Jakub Jelinek <jakub@redhat.com>
5647
5648 * config/rs6000/t-linux64 (bispecs): Don't add -mlong-double-128 for
5649 32-bit builds when defaulting to 32-bit.
5650
7eca0767
JH
56512004-03-17 Jan Hubicka <jh@suse.cz>
5652
5653 * cfgrtl.c (rtl_create_basic_block): Pre-allocate basic_block_info
5654 array.
5655
3a3ae5e5
JW
56562004-03-17 James E Wilson <wilson@specifixinc.com>
5657
5658 * config/mips/mips.md (zero_extendsidi2): Add length attribute.
5659 (hazard_nop): Change type to nop.
5660 (type): Split arith into arith, shift, slt, clz. Delete darith.
5661 Fix all uses. Change arith to multi if more than one insn emitted.
5662 * config/mips/5400.md (ir_vr54_arith): Likewise.
5663 * config/mips/5500.md (ir_vr55_arith): Likewise.
5664 * config/mips/7000.md (rm7_int_other): Likewise.
5665 * config/mips/9000.md (rm9k_int): Likewise.
5666 * config/mips/sr71k.md (ir_sr70_arith): Likewise.
5667
6582c808
JB
56682004-03-17 Joel Brobecker <brobecker@gnat.com>
5669
5670 * dwarf2out.c (subrange_type_die): Define new variable "subtype"
5671 to hold the subtype tree instead of recomputing it several times.
5672
7ae4afcb
KH
56732004-03-17 Kazu Hirata <kazu@cs.umass.edu>
5674
5675 * config/mn10300/mn10300.c (notice_update_cc): Don't handle
5676 CC_INVERT.
5677 * config/mn10300/mn10300.md (cc): Remove "invert".
5678
b57051b2
KG
56792004-03-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5680
d093738d
KG
5681 * builtins.c (integer_valued_real_p): Add builtin rint.
5682 (fold_builtin): Likewise.
5683 * convert.c (convert_to_real): Likewise.
5684
b57051b2
KG
5685 * convert.c (convert_to_real): Fix typos in `long double'
5686 builtins.
5687
88020bd8
MM
56882004-03-16 Mark Mitchell <mark@codesourcery.com>
5689
5690 PR c++/14481
5691 * fold-const.c (fold): Set TREE_NO_UNUSED_WARNING on implicitly
5692 generated COMPOUND_EXPRs.
5693
bf3864fe
RC
56942004-03-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
5695
5696 * config/h8300/t-rtems (h8300-*-rtems*): New.
5697
bc4c01b7
EC
56982004-03-16 Eric Christopher <echristo@redhat.com>
5699
5700 * doc/cppopts.texi(fwide-exec-charset): Fix typo.
5701
3c5cb3e4
KH
57022004-03-16 Kazu Hirata <kazu@cs.umass.edu>
5703
5704 * config/i386/i386-protos.h: Add a prototype for
5705 ix86_reverse_condition.
5706 * config/i386/i386.c (ix86_reverse_condition): New.
5707 * config/i386/i386.h (REVERSE_CONDITION): Use
5708 ix86_reverse_condition.
5709 * config/i386/i386.md: Use ix86_reverse_condition instead of
5710 REVERSE_CONDITION.
5711
fd5580cb
B
57122004-03-16 J. Brobecker <brobecker@gnat.com>
5713
5714 * dwarf2out.c (loc_descriptor_from_tree): Add handling for MIN_EXPR.
5715
78fab00f
NN
57162004-03-16 Nathanael Nerode <neroden@gcc.gnu.org>
5717
5718 PR bootstrap/12974
5719 * Makefile.in: Pass $(INCLUDES) down to libgcc.mk explicitly.
5720
4a5eab38
PB
57212004-03-16 Paolo Bonzini <bonzini@gnu.org>
5722
5723 * c-common.c (c_common_type_for_mode): Build vector types on
5724 demand.
5725 (handle_mode_attribute): Deprecate using the mode attribute
5726 to create vector types. Fix indentation.
5727 (vector_type_node_list): Remove.
5728 (handle_vector_size_attribute): Create vector types on demand.
5729 Strip a NON_LVALUE_EXPR from the attribute if there is one.
5730 * c-typeck.c (comptypes): Make vector types compatible if they
5731 have the same underlying mode.
5732 (convert_for_assignment): Use comptypes to convert between
5733 vector types.
5734 * tree.c (build_common_tree_nodes_2): Do not create vector types.
5735 * config/arm/arm.c (arm_init_iwmmxt_builtins): Create necessary
5736 vector types.
5737 * tree.h: Remove vector types.
5738 * config/i386/i386.c (i386_init_mmx_sse_builtins): Likewise.
5739 * config/rs6000/rs6000.c (rs6000_init_builtins): Likewise.
5740 (V16QI_type_node, V2SI_type_node, V2SF_type_node, V4HI_type_node,
5741 V4SI_type_node, V4SF_type_node, V8HI_type_node): New globals.
5742 * doc/extend.texi (Vector Types): Document how to use the
5743 vector_size attribute to create vectors, rather than mode.
5744
5745 * config/arm/mmintrin.h: Use vector_size attribute, not mode.
5746 * config/i386/emmintrin.h: Likewise.
5747 * config/i386/mmintrin.h: Likewise.
5748 * config/i386/xmmintrin.h: Likewise.
5749 * config/sh/ushmedia.h: Likewise.
5750
b862b3b3
KH
57512004-03-16 Kazu Hirata <kazu@cs.umass.edu>
5752
5753 * config/freebsd-spec.h, config/arc/arc-protos.h,
5754 config/arm/aout.h, config/arm/elf.h, config/arm/freebsd.h,
5755 config/arm/linux-gas.h, config/arm/semi.h,
5756 config/cris/cris-protos.h, config/i386/xm-djgpp.h,
5757 config/ia64/freebsd.h, config/mips/7000.md,
5758 config/mips/9000.md, config/ns32k/ns32k-protos.h,
5759 config/sparc/pbd.h: Update copyright.
5760
314733e2
RC
57612004-03-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
5762
5763 PR target/14577
5764 * config.gcc: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff.
5765
6621d78e
PB
57662004-03-16 Paolo Bonzini <bonzini@gnu.org>
5767
5768 * combine.c (combine_simplify_rtx): Remove the "last"
5769 parameter and its documentation. Adjust recursive calls.
5770 (simplify_logical): Always perform the only simplification
5771 controlled by "last", if the simplified expression is
5772 actually different.
5773 (try_combine): Do not pass the "last" parameter to
5774 combine_simplify_rtx.
5775
4e7edcca
RS
57762004-03-16 Richard Sandiford <rsandifo@redhat.com>
5777
5778 PR target/14599
5779 * config/mips/mips.md (UNSPEC_GP): New constant.
5780 * config/mips/mips.c (CONST_GP_P): Expect the CONST to contain
5781 an UNSPEC instead of (reg $gp).
5782 (mips16_gp_pseudo_reg): Change accordingly.
5783 (print_operand): Print $gp directly when handling CONST_GP_P.
5784
57852004-03-16 Richard Zidlicky <rz@linux-m68k.org>
3704aae9
RZ
5786
5787 * config.gcc, config/m68k/linux.h: Implement with-cpu for m68k-linux.
5788 * longlong.h: Make code 68060 clean when compiling for m68060.
5789
4e7edcca 57902004-03-16 Richard Zidlicky <rz@linux-m68k.org>
8ac658b6
RZ
5791
5792 * config/m68k/m68k.md: Fix constraints for bitfield instructions.
5793 * doc/md.texi: Clarify description of "i" constraint.
5794
1a478672
JW
57952004-03-15 James E Wilson <wilson@specifixinc.com>
5796
5797 * config/mips/mips.md (type): Split load into load, fpload, fpidxload.
5798 Split store into store, fpstore, fpidxstore. Fix all uses.
5799 * config/mips/5400.md (ir_vr54_load, ir_vr54_store, ir_vr54_fstore):
5800 Likewise.
5801 * config/mips/5500.md (ir_vr55_load, i5_vr55_store): Likewise.
5802 * config/mips/7000.md (rm7_ld, rm7_st): Likewise.
5803 * config/mips/9000.md (rm9k_load, rm9k_store): Likewise.
5804 * config/mips/sr71k.md (ir_sr70_load, ir_sr70_store, ir_sr70_fload,
5805 ir_sr70_fstore): Likewise.
5806
0977ab3a
RH
58072004-03-15 Richard Henderson <rth@redhat.com>
5808
5809 PR middle-end/14535
5810 * except.c (collect_one_action_chain): Record action for cleanup
5811 outer of exception spec.
5812
4e4083ad
ILT
58132004-03-15 Ian Lance Taylor <ian@wasabisystems.com>
5814
5815 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
5816 Fix the check for abort and only do the mmap if we can.
5817
ed38d6fe
EB
58182004-03-15 Eric Botcazou <ebotcazou@act-europe.fr>
5819
5820 * config/sparc/sparc.h: Rework comments about the code model
5821 in 64-bit environment and the mode 'Pmode'.
5822 * doc/invoke.texi (SPARC options): Rework description of the
5823 different code models supported in 64-bit environment.
5824
1f8551b2
KH
58252004-03-15 Kazu Hirata <kazu@cs.umass.edu>
5826
5827 * defaults.h (REVERSIBLE_CC_MODE): Define.
5828 * jump.c (reversed_comparison_code_parts): Don't check if
5829 REVERSIBLE_CC_MODE is defined.
5830
ca2b05ba
KH
58312004-03-15 Kazu Hirata <kazu@cs.umass.edu>
5832
5833 * c-incpath.c, c-incpath.h, c-pch.c, c.opt, cppexp.c,
5834 et-forest.h, genattr.c, ggc-none.c, hosthooks-def.h,
5835 hosthooks.h, params.h, ra-colorize.c, web.c,
5836 config/darwin-c.c, config/alpha/freebsd.h, config/arm/pe.c,
5837 config/avr/avr-protos.h, config/avr/avr.md,
5838 config/fr30/fr30-protos.h, config/fr30/fr30.md,
5839 config/h8300/fixunssfsi.c, config/i386/darwin.h,
5840 config/i386/freebsd.h, config/i386/freebsd64.h,
5841 config/ia64/hpux.h, config/ia64/unwind-ia64.c,
5842 config/ip2k/libgcc.S, config/m32r/xm-m32r.h,
5843 config/mmix/mmix-modes.def, config/ns32k/netbsd.h,
5844 config/ns32k/ns32k.md, config/pa/pa64-hpux.h,
5845 config/pa/pa64-regs.h, config/rs6000/aix41.h,
5846 config/rs6000/aix43.h, config/rs6000/host-darwin.c,
5847 config/sparc/aout.h, config/sparc/freebsd.h,
5848 config/sparc/litecoff.h, config/vax/vax-protos.h,
5849 doc/hostconfig.texi, doc/include/gcc-common.texi: Update
5850 copyright.
5851
983e6484
PB
58522004-03-15 Paul Brook <paul@codesourcery.com>
5853
5854 * config/arm/arm.c (thumb_expand_prologue): Tie prologue insns to fp.
5855
5c3c69f4
GDR
58562004-03-15 Gabriel Dos Reis <gdr@integrable-solutions.net>
5857
5858 * c-pretty-print.c (pp_c_semicolon): Fix formatting.
5859 (pp_c_cv_qualifier): Document.
5860 (pp_c_space_for_pointer_operator): Likewise.
5861 (pp_c_integer_constant): Likewise.
5862 (pp_c_identifier): Likewise.
5863 (pp_c_init_declarator): Don't print function body.
5864
2dd76960
JM
58652004-03-14 Joseph S. Myers <jsm@polyomino.org.uk>
5866
5867 * doc/contrib.texi, doc/extend.texi, doc/gcov.texi,
5868 doc/install.texi, doc/invoke.texi, doc/makefile.texi,
5869 doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: Capitalize
5870 "gcc", "g++" and "g77" or mark up with appropriate markup. Adjust
5871 wording and grammar.
5872
ae2bcd98
RS
58732004-03-14 Roger Sayle <roger@eyesopen.com>
5874
5875 * alias.c (get_alias_set): Replace calls via (*lang_hooks.foo) ()
5876 with lang_hooks.foo ().
5877 * builtins.c (expand_builtin_va_arg): Likewise.
5878 * c-common.c (fname_as_string, c_common_truthvalue_conversion,
5879 c_common_type_for_mode, c_common_nodes_and_builtins,
5880 handle_mode_attribute, handle_vector_size_attribute): Likewise.
5881 * c-convert.c (convert): Likewise.
5882 * c-format.c (check_format_types): Likewise.
5883 * c-objc-common.c (c_tree_printer): Likewise.
5884 * c-typeck.c (build_unary_op, build_conditional_expr,
5885 build_binary_op): Likewise.
5886 * calls.c (try_to_integrate, expand_call,
5887 emit_library_call_value_1): Likewise.
5888 * cgraph.c (cgraph_node_name, cgraph_function_possibly_inlined_p):
5889 Likewise.
5890 * cgraphunit.c (record_call_1, cgraph_analyze_function,
5891 cgraph_expand_function): Likewise.
5892 * convert.c (convert_to_pointer, convert_to_integer): Likewise.
5893 * coverage.c (build_fn_info_type, build_ctr_info_type,
5894 build_gcov_info, create_coverage): Likewise.
5895 * dbxout.c (dbxout_init): Likewise.
5896 * diagnostic.c (diagnostic_report_current_function): Likewise.
5897 * dojump.c (do_jump): Likewise.
5898 * dwarf2out.c (dwarf2_name): Likewise.
5899 * except.c (init_eh): Likewise.
5900 * explow.c (expr_size, int_expr_size): Likewise.
5901 * expmed.c (make_tree, const_mult_add_overflow_p, expand_mult_add):
5902 Likewise.
5903 * expr.c (store_expr, store_constructor, safe_from_p,
5904 expand_expr_real, do_store_flag, try_casesi): Likewise.
5905 * function.c (push_function_context_to, pop_function_context_from,
5906 free_after_parsing, assign_stack_local_1, assign_stack_temp_for_type,
5907 put_var_into_stack, allocate_struct_function, current_function_name):
5908 Likewise.
5909 * integrate.c (copy_decl_for_inlining, expand_inline_function):
5910 Likewise.
5911 * langhooks.c (lhd_clear_binding_stack, write_global_declarations,
5912 lhd_print_error_function): Likewise.
5913 * opts.c (handle_option, decode_options): Likewise.
5914 * passes.c (open_dump_file): Likewise.
5915 * print-tree.c (print_node): Likewise.
5916 * stmt.c (expand_fixup, fixup_gotos, expand_asm_operands,
5917 expand_decl_cleanup, emit_case_nodes): Likewise.
5918 * stor-layout.c (variable_size): Likewise.
5919 * toplev.c (announce_function, wrapup_global_declarations,
5920 check_global_declarations, compile_file, default_tree_printer,
5921 process_options, lang_dependent_init, finalize): Likewise.
5922 * tree-dump.c (dequeue_and_dump): Likewise.
5923 * tree-inline.c (remap_decl, remap_block, copy_body_r,
5924 initialize_inlined_parameters, declare_return_variable,
5925 inlinable_function_p, expand_call_inline, optimize_inline_calls,
5926 walk_tree, copy_tree_r): Likewise.
5927 * tree-optimize.c (tree_rest_of_compilation): Likewise.
5928 * tree.c (decl_assembler_name, tree_size, size_in_bytes, staticp,
5929 unsafe_for_reeval, get_unwidened, get_narrower, get_callee_fndecl,
5930 variably_modified_type_p, dump_tree_statistics): Likewise.
5931 * varasm.c (assemble_variable, compare_constant, copy_constant,
5932 force_const_mem, compute_reloc_for_constant, output_constant,
5933 output_addressed_constants, initializer_constant_valid_p): Likewise.
5934
89acbae0
KC
59352004-03-14 Kelley Cook <kcook@gcc.gnu.org>
5936
5937 * doc/install.texi: Make autoconf 2.13 the exception, not the rule.
5938
d01b30dc
AT
59392004-03-14 Andreas Tobler <a.tobler@schweiz.ch>
5940
5941 * doc/install.texi: Reflect autoconf and automake version for
5942 libffi. Update autoconf version to 2.59.
5943
5785c7de
RS
59442004-03-13 Roger Sayle <roger@eyesopen.com>
5945
5946 * fold-const.c (negate_expr, operand_equal_for_comparison_p,
5947 optimize_bit_field_compare, decode_field_reference, all_ones_mask_p,
5948 make_range, build_range_check, fold_range_test, unextend,
5949 constant_boolean_node, fold_binary_op_with_conditional_arg,
5950 fold_truthop, fold_mathfn_compare, fold_inf_compare,
5951 fold_single_bit_test, fold): Replace calls via (*lang_hooks.foo) ()
5952 with lang_hooks.foo ().
5953
edc62122
RE
59542004-03-14 Richard Earnshaw <rearnsha@arm.com>
5955
5956 * arm.h (EXTRA_CONSTRAINT_STR_ARM): Update comment.
5957
7db956db
DH
59582004-03-13 Dara Hazeghi <dhazeghi@yahoo.com>
5959
5960 * doc/install.texi: Note status of -fnew-ra.
5961
e6d55fd7
EB
59622004-03-13 Eric Botcazou <ebotcazou@libertysurf.fr>
5963
5964 PR middle-end/14470
5965 * expr.c (store_expr): Call emit_queue before generating the move
5966 from the temporary to the original target. Protect the temporary
5967 from emit_queue.
5968
cfbab41c
JJ
59692004-03-13 Jakub Jelinek <jakub@redhat.com>
5970
5971 PR target/14533
5972 * config/s390/s390.c (legitimize_pic_address): Don't abort on UNSPEC
5973 other than UNSPEC_GOTOFF.
5974
1e1ab407
RE
59752004-03-13 Richard Earnshaw <rearnsha@arm.com>
5976
5977 * arm.c (arm_legitimate_address_p): New argument, OUTER. Pass through
5978 to arm_legitimate_index_p. Update all callers with SET as default
5979 value.
5980 (arm_legitimate_index_p): New argument, OUTER. Restrict the index
5981 range if OUTER is a sign-extend operation on QImode. Correctly
5982 reject shift operations on sign-extended QImode addresses.
5983 (bad_signed_byte_operand): Delete.
5984 (arm_extendqisi_mem_op): New function.
5985 * arm.h (EXTRA_CONSTRAINT_ARM): Delete. Replace with...
5986 (EXTRA_CONSTRAINT_STR_ARM): ... this. Handle extended address
5987 constraints.
5988 (CONSTRAINT_LEN): New.
5989 (EXTRA_CONSTRAINT): Delete. Replace with...
5990 (EXTRA_CONSTRAINT_STR): ... this.
5991 (PREDICATE_CODES): Remove bad_signed_byte_operand.
5992 * arm.md (extendqihi_insn): Use new constraint Uq. Rework. Length
5993 is now always default.
5994 (define_splits for bad sign-extend loads): Delete.
5995 (arm_extendqisi, arm_extendqisi_v5): Likewise.
5996 * arm/vfp.md (arm_movsi_vfp, arm_movdi_vfp, movsf_vfp, movdf_vfp):
5997 Rework 'U' constraint to 'Uv'.
5998 * arm-protos.h: Remove bad_signed_byte_operand. Add
5999 arm_extendqisi_mem_op.
6000 * doc/md.texi (ARM constraints): Rename VFP constraint (now Uv).
6001 Add Uq constraint.
6002
c53bdcf5
AM
60032004-03-13 Alan Modra <amodra@bigpond.net.au>
6004
fa78dbea
AM
6005 * config/rs6000/rs6000.c (rs6000_va_arg): Replace SPLIT_COMPLEX_ARGS
6006 with targetm version.
6007
c53bdcf5
AM
6008 PR target/14567
6009 * config/rs6000/rs6000.h (UNITS_PER_ARG, RS6000_ARG_SIZE): Delete.
6010 (HARD_REGNO_MODE_OK): Disallow TFmode for fp31.
6011 * config/rs6000/rs6000.c (rs6000_arg_size): New function.
6012 Update all users of RS6000_ARG_SIZE.
6013 (function_arg_advance): Count fregno using mode size.
6014 (function_arg): Handle long double split over regs and memory.
6015 (function_arg_partial_nregs): Likewise.
6016 (rs6000_va_arg): Repackage complex args.
6017
992ab122
DF
60182004-03-13 Dean Ferreyra <dferreyra@igc.org>
6019
6020 PR target/14047
6021 * config/avr/avr.c (avr_progmem_p): Add "attributes" parameter.
6022 (avr_insert_attributes): Pass "attributes" to avr_progmem_p.
6023 * config/avr/avr-protos.h (avr_progmem_p): Change prototype.
6024
c973d557
JJ
60252004-03-12 Jakub Jelinek <jakub@redhat.com>
6026
6027 * config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Add
6028 prototype.
6029 * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): New.
6030 * config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Define.
6031
4319ac92
AP
60322003-03-12 Andrew Pinski <apinski@apple.com>
6033
6034 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
6035 Use ret instead of result. Use addr instead of base.
6036
bb674cef
DE
60372004-03-12 David Edelsohn <edelsohn@gnu.org>
6038
6039 * doc/install.texi (*-ibm-aix*): Document assembler and achiver
6040 fixes required by libstdc++ and update installation instructions
6041 for libstdc++.a.
6042
b1f123c7
DS
60432004-03-12 Danny Smith <dannysmith@users.sourceforge.net>
6044
6045 * config/i386/winnt.c (i386_pe_strip_name_encoding_full): Strip
6046 leading '@' on fastcall symbols before stripping suffix.
6047
67962db5
RS
60482004-03-12 Roger Sayle <roger@eyesopen.com>
6049
6050 * combine.c (unmentioned_reg_p): New function to check whether an
6051 expression is a "specialization" of another, i.e. that there are
6052 no registers or memory references mentioned in the first that don't
6053 appear in the second.
6054 (unmentioned_reg_p_1): New helper subroutine of unmentioned_reg_p.
6055 (combine_instructions): Also try combining instructions using the
6056 REG_EQUAL note from a preceding log-linked instruction.
6057
8937b6a2
RS
60582004-03-12 Roger Sayle <roger@eyesopen.com>
6059
6060 * config/i386/i386.c (ix86_split_ashrdi): Optimize shift by 63.
6061
4746cf84
MA
60622004-03-12 Matt Austern <austern@apple.com>
6063
6064 * target.h (struct gcc_target): New target hook, unwind_label.
6065 * target-def.h (TARGET_ASM_EMIT_UNWIND_LABEL): New hook.
6066 * output.h (default_emit_unwind_label): New function.
6067 * default.h (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): New macro.
6068 (TARGET_USES_WEAK_UNWIND_INFO): New target macro.
6069 (TARGET_SUPPORTS_HIDDEN): New target macro.
6070 * dwarf2out.c (struct dw_fde_struct): Add field for function decl
6071 that corresponds to this FDE.
6072 (FRAME_BEGIN_LABEL): Allow target to override default label.
6073 (output_call_frame_info): If FDEs are linknonce, then use extra
c53bdcf5 6074 indirection for FDE encoding, output a label for each FDE, and
4746cf84
MA
6075 output an empty label for each function without an FDE.
6076 (dwarf2out_begin_prologue): Set up decl field when creating an FDE.
6077 * varasm.c (globalize_decl): Call ASM_MAKE_LABEL_LINKONCE for
6078 decls with DECL_ONE_ONLY set, if that macro is defined.
6079 (make_decl_one_only): Don't use DECL_COMMON if we're compiling
6080 for a SUPPORTS_ONE_ONLY target.
6081 * config/darwin-protos.h (darwin_unique_section): Declare.
6082 (darwin_asm_named_section): Likewise.
6083 (darwin_section_type_flags): Likewise.
6084 (darwin_non_lazy_pcrel): Likewise.
6085 (darwin_emit_unwind_label): Likewise.
6086 (darwin_make_decl_one_only): Likewise.
6087 * config/darwin.c (machopic_finish): Get rid of tweak that
6088 eliminate stubs for symbols that are defined.
6089 (darwin_encode_section_info): Don't treat weak functions as defined.
6090 (darwin_make_decl_one_only): Define.
6091 (darwin_asm_named_section): Likewise.
6092 (darwin_section_type_flags): Likewise.
6093 (darwin_unique_section): Likewise.
6094 (darwin_emit_unwind_label): Likewise.
6095 (darwin_non_lazy_pcrel): Likewise.
6096 (darwin_asm_output_dwarf_delta): Difference between two labels is
6097 local only if both labels are local.
6098 * config/darwin.h (MAKE_DECL_ONE_ONLY): Define.
6099 (ASM_MAKE_LABEL_LINKONCE): Likewise.
6100 (TARGET_SUPPORTS_HIDDEN): Likewise.
6101 (TARGET_USES_WEAK_UNWIND_INFO): Likewise.
6102 (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): Likewise.
6103 (FRAME_BEGIN_LABEL): Likewise.
6104 (ASM_DECLARE_OBJECT_NAME): Make references to weak symbols indirect.
6105 (ASM_DECLARE_FUNCTION_NAME): Likewise.
6106 (darwin_eh_frame_section): Give __eh_frame section the coalesced flag.
6107 (TARGET_ASM_UNIQUE_SECTION): Define.
6108 (EH_FRAME_SECTION_NAME): Define.
6109 (EH_FRAME_SECTION_ATTR): Likewise.
6110 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
6111 (TARGET_ASM_NAMED_SECTION): Likewise.
6112 (TARGET_SECTION_TYPE_FLAGS): Likewise.
6113 * doc/tm.texi: Document TARGET_USES_WEAK_UNWIND_INFO,
6114 TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, TARGET_SUPPORTS_HIDDEN,
6115 TARGET_ASM_EMIT_UNWIND_LABEL.
bc4c01b7 6116
fd0c8c8d
KG
61172004-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6118
6119 * builtins.c (expand_builtin_mathfn): Add pow10* to the
6120 existing exp10* case.
6121 (expand_builtin): Likewise.
6122
ca0b6e3b
EB
61232004-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
6124
6125 * doc/tm.texi (registers) <Values in Registers>: Add
6126 entry for REGMODE_NATURAL_SIZE.
6127
42ba5130
RH
61282004-03-12 Richard Henderson <rth@redhat.com>
6129
6130 PR target/14547
6131 * target.h (struct gcc_target): Move calls substructure before
6132 booleans. Add split_complex_arg.
6133 * function.c (assign_parms, split_complex_args): Use it.
c53bdcf5
AM
6134 * calls.c (expand_call): Likewise.
6135 (split_complex_values): Likewise. Check for splittable types
6136 before allocating memory.
6137 (split_complex_types): Likewise.
42ba5130
RH
6138 * system.h (SPLIT_COMPLEX_ARGS): Poison.
6139 * expr.h (SPLIT_COMPLEX_ARGS): Remove.
6140 * target-def.h (TARGET_SPLIT_COMPLEX_ARG): New.
6141 * config/alpha/alpha.c (alpha_split_complex_arg): New.
6142 (TARGET_SPLIT_COMPLEX_ARG): New.
6143 * config/alpha/alpha.h (SPLIT_COMPLEX_ARGS): Remove.
6144 * config/rs6000/rs6000.c (TARGET_SPLIT_COMPLEX_ARG): New.
6145 (rs6000_override_options): Zap it for non-AIX.
6146 (rs6000_function_value): Use targetm.calls.split_complex_arg.
6147 * config/rs6000/rs6000.h (SPLIT_COMPLEX_ARGS): Remove.
6148 * config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): New.
6149 * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Remove.
6150 * doc/tm.texi (TARGET_SPLIT_COMPLEX_ARG): Modify from old
6151 SPLIT_COMPLEX_ARGS entry.
6152
75959f0a
RH
61532004-03-11 Richard Henderson <rth@redhat.com>
6154
6155 * config/alpha/alpha.c (xfloating_ops, vax_cvt_ops): New.
6156 (alpha_lookup_xfloating_lib_func): Use them, return rtx.
6157 (alpha_emit_xfloating_arith): Update to match.
6158 (alpha_emit_xfloating_compare): Likewise.
6159 (alpha_emit_xfloating_cvt): Likewise.
6160 (alpha_emit_xfloating_libcall): Take already built symbol,
6161 mark call const.
6162 * config/alpha/alpha.md (extendsftf2, extenddftf2): Take
6163 op1 in a register.
6164
e5e10fb4
RH
61652004-03-11 Richard Henderson <rth@redhat.com>
6166
6167 PR target/14539
6168 * config/alpha/alpha.h (STACK_BOUNDARY): Set to 128.
6169
55cf9d62
RH
6170 * simplify-rtx.c (simplify_relational_operation): Fix typo.
6171
9caad63a
RH
61722004-03-11 Richard Henderson <rth@redhat.com>
6173
6174 PR middle-end/14477
6175 * except.c (remove_unreachable_regions): Look thru CALL_PLACEHOLDER.
6176
03ca1672
UW
61772004-03-11 Ulrich Weigand <uweigand@de.ibm.com>
6178
6179 PR target/14262
6180 * calls.c (load_register_parameters): If BLOCK_REG_PADDING is not
6181 defined, pass small BLKmode values in registers in the low-order part.
6182
bbe708a3
UW
61832004-03-11 Ulrich Weigand <uweigand@de.ibm.com>
6184
6185 * combine.c (if_then_else_cond): Check for NULL return value of
6186 simplify_gen_subreg.
6187
0e808055
RS
61882004-03-11 Richard Sandiford <rsandifo@redhat.com>
6189
6190 PR target/14496
6191 * config/mips/mips.h (UNITS_PER_FPVALUE): Fix value for
6192 TARGET_SINGLE_FLOAT.
6193
1f7aa7cd
SE
61942004-03-11 Steve Ellcey <sje@cup.hp.com>
6195
6196 * config/ia64/hpux.h (TARGET_INIT_LIBFUNCS): Add undef.
6197 * config/ia64/ia64.h (TARGET_INIT_LIBFUNCS): Add define.
6198 * config/ia64/ia64.c (ia64_init_libfuncs): New.
6199 (ia64_hpux_init_libfuncs): Add call to ia64_init_libfuncs.
6200
239a625e
RS
62012004-03-11 Roger Sayle <roger@eyesopen.com>
6202
6203 * fold-const.c (negate_expr_p) <RSHIFT_EXPR>: We can optimize
6204 -((int)X>>C) where C is an integer constant one bit less than the
6205 size of X into (unsigned)X>>C. Similarly for unsigned->signed.
6206 (negate_expr) <RSHIFT_EXPR>: Implement the above transformations.
6207
6208 * simplify-rtx.c (simplify_unary_operation): Also implement the
6209 above transformations at the RTL level.
6210
40131a38
AM
62112004-03-11 Alan Modra <amodra@bigpond.net.au>
6212
6213 * real.c (encode_ibm_extended): Do round low word.
6214
df8e2ad0
BE
62152004-03-11 Ben Elliston <bje@wasabisystems.com>
6216
6217 * config/arm/arm.md (is_xscale): Comment this attribute and move
6218 it a bit further up in the file, closer to related attributes.
6219
d1704a35
EB
62202004-03-11 Eric Botcazou <ebotcazou@libertysurf.fr>
6221
6222 * config/host-solaris.c (sol_gt_pch_use_address): Add
6223 missing terminating marker to comment.
6224
fc31c7ca
RS
62252004-03-11 Richard Sandiford <rsandifo@redhat.com>
6226
6227 * config/mips/mips.md: Use move_operand in splitters for 64-bit moves.
6228 (movdi, movsi, movhi, movqi, movsf, movdf): Remove predicates.
6229 (*movdi_32bit_mips16, *movsi_mips16, *movhi_mips16, *movqi_mips16)
6230 (*movsf_mips16, *movdf_mips16): Name unnamed patterns. Use
6231 move_operand as source predicate in all cases.
6232 (*movdi_32bit): Renamed from movdi_internal. Remove 'F' constraint.
6233 Test reg_or_0_operand. Use move_operand as source predicate.
6234 (*movdi_64bit): Renamed from movdi_internal2. Test reg_or_0_operand.
6235 (*movdi_64bit_mips16): Renamed from movdi_internal2_mips16.
6236 (*movsi_internal): Renamed from movsi_internal. Test reg_or_0_operand.
6237 (movhi, movqi, movsf, movdf): Use mips_legitimize_move.
6238 (*movhi_internal): Renamed from movhi_internal. Test reg_or_0_operand.
6239 Use move_operand as source predicate. Remove 'K' constraint.
6240 (*movqi_internal): Likewise movqi_internal.
6241 (*movsf_hardfloat): Renamed from movsf_internal1. Test
6242 reg_or_0_operand. Use move_operand as source predicate.
6243 (*movsf_softfloat): Likewise movsf_internal2.
6244 (*movdf_hardfloat_64bit): Likewise movsf_internal1a.
6245 (*movdf_hardfloat_32bit): Likewise movsf_internal1b.
6246 (*movdf_softfloat): Likewise movdf_internal2.
6247 * config/mips/mips.c (move_operand): Match arbitrary CONST_INTs
6248 for DImode if !TARGET_64BIT.
6249 (mips_legitimize_move): Simplify accordingly.
6250
81f2eadb
JZ
62512004-03-11 Josef Zlomek <zlomekj@suse.cz>
6252
6253 PR/14362
6254 * var-tracking.c (struct variable_def): Added field refcount.
6255 (variable_htab_free): Decrease the refcount and delete variable
6256 only if there are no more references.
6257 (unshare_variable): New function.
6258 (vars_copy_1): Increase refcount instead of copying the variable.
6259 (variable_union): Share the variables where possible, unshare
6260 the variables if needed.
6261 (variable_different_p): Return false if var1 and var2 are
6262 the same structure.
6263 (variable_was_changed): Init the refcount of new variable.
6264 (set_frame_base_location): Unshare variable if needed.
6265 (set_variable_part): Init the refcount of new variable.
6266 Unshare the variables if needed.
c53bdcf5 6267 (delete_variable_part): Unshare the variables if needed.
81f2eadb
JZ
6268 (emit_notes_for_differences_1): Init the refcount of new variable.
6269 (vt_add_function_parameters): Do not add function parameters to
6270 IN set of ENTRY_BLOCK_PTR because it is unused anyway.
6271 (vt_initialize): Do not add frame_base_decl to IN set of
6272 ENTRY_BLOCK_PTR because it is unused anyway.
6273
11599d14
JZ
62742004-03-11 Josef Zlomek <zlomekj@suse.cz>
6275
6276 * var-tracking.c (vars_copy_1): Cleanup and speedup chain operations.
6277 (vars_copy): Likewise.
6278 (variable_union): Likewise.
6279 (set_variable_part): Likewise.
6280 (delete_variable_part): Likewise.
6281
71cc389b
KH
62822004-03-11 Kazu Hirata <kazu@cs.umass.edu>
6283
6284 * c-typeck.c, combine.c, cse.c, dominance.c, et-forest.h,
6285 ggc-page.c, var-tracking.c, config/fp-bit.c, config/c4x/c4x.c,
6286 config/cris/cris.c, config/i386/ppro.md, config/i860/i860.c,
6287 config/i860/i860.h, config/m32r/m32r.h, config/m32r/xm-m32r.h,
6288 config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
6289 config/mips/mips.c, config/mmix/mmix.c, config/ns32k/ns32k.h,
6290 config/pa/pa.c, config/pa/pa32-regs.h, config/pa/pa64-regs.h,
6291 config/pdp11/pdp11.h, config/rs6000/rs6000.c,
6292 config/stormy16/stormy16.c: Fix comment typos and formatting.
6293
f3c9f174
NN
62942004-03-11 Nathanael Nerode <neroden@gcc.gnu.org>
6295
6296 * configure: Regenerate, since I forgot to while committing Paolo's
6297 changes.
6298
e4c9c075
PB
62992004-03-08 Paolo Bonzini <bonzini@gnu.org>
6300
6301 PR ada/14131
6302 Move language detection to the top level.
6303 * configure.ac: Remove code to detect languages,
6304 it now lives exclusively in the top level.
6305 * aclocal.m4 (gcc_AC_PROG_GNAT): Moved to the
6306 top level, renamed to ACX_PROG_GNAT.
6307
4d0c31e6
RH
63082004-03-10 Richard Henderson <rth@redhat.com>
6309
6310 * c-pch.c (c_common_no_more_pch): Update for gt_pch_use_address
6311 extra arguments.
6312 * config.host (*-*-solaris2*, *-*-linux*): Add out_host_hook_obj
6313 and host_xmake_file fragments.
6314 * ggc-common.c (gt_pch_save): Update for gt_pch_get_address change.
6315 (gt_pch_restore): Similarly for gt_pch_use_address.
6316 (default_gt_pch_get_address): New.
6317 (mmap_gt_pch_get_address): Split out of gt_pch_save.
6318 (default_gt_pch_use_address): Split out of gt_pch_restore.
6319 (mmap_gt_pch_use_address): Likewise.
6320 * hooks.c (hook_voidp_size_t_null): Remove.
6321 (hook_bool_voidp_size_t_false): Remove.
6322 * hooks.h: Likewise.
6323 * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): Use one of the
6324 default_ or mmap_ definitions.
6325 (HOST_HOOKS_GT_PCH_USE_ADDRESS): Likewise.
6326 * hosthooks.h (struct host_hooks): Update gt_pch_get_address
6327 and gt_pch_use_address.
6328 * config/host-linux.c, config/host-solaris.c: New files.
6329 * config/x-linux, config/x-solaris: New files.
bc4c01b7 6330 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_get_address):
4d0c31e6
RH
6331 Update for changed definition.
6332 (darwin_rs6000_gt_pch_use_address): Likewise.
6333 * doc/hostconfig.texi: Update docs.
6334
28fca7e4
RH
63352004-03-10 Richard Henderson <rth@redhat.com>
6336
6337 PR c/14517
6338 * c-decl.c (grokdeclarator): Don't warn for duplicate qualifiers
6339 except for pedantic c90 mode.
6340
8ab705be
KC
63412004-03-10 Kelley Cook <kcook@gcc.gnu.org>
6342
6343 * configure.ac: Bump AC_PREREQ to 2.59.
6344 * configure: Regenerate.
6345
a251102e
UB
63462004-03-10 Uros Bizjak <uros@kss-loka.si>
6347
6348 * optabs.h (enum optab_index): Add new OTI_exp10 and OTI_exp2.
6349 (exp10_optab, exp2_optab): Define corresponding macros.
6350 * optabs.c (init_optabs): Initialize exp10_optab and exp2_optab.
6351 * genopinit.c (optabs): Implement exp10_optab and exp2_optab
6352 using exp10?f2 and exp2?f2 patterns.
6353 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP10{,F,L}
6354 using exp10_optab, and BUILT_IN_EXP2{,F,L} using exp2_optab.
6355 (expand_builtin): Expand BUILT_IN_EXP10{,F,L} and BUILT_IN_EXP2{,F,L}
6356 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
6357
6358 * config/i386/i386.md (exp10sf2, exp10df2, exp10xf2, exp2sf2,
6359 exp2df2, exp2xf2): New patterns to implement exp10, exp10f, exp10l,
6360 exp2, exp2f and exp2l built-ins as inline x87 intrinsics.
6361
11f01d37
AG
63622004-03-10 Anthony Green <green@redhat.com>
6363
6364 * doc/invoke.texi (ARM Options): Fix -mpfu typo.
6365
bb904c1a
DE
63662004-03-10 David Edelsohn <edelsohn@gnu.org>
6367
6368 * config/rs6000/aix.h (TARGET_OS_CPP_BUILTINS): Rename to ...
6369 (TARGET_OS_AIX_CPP_BUILTINS): this. Conditionally define
6370 __LONGDOUBLE128.
6371 * config/rs6000/aix41.h (TARGET_OS_CPP_BUILTINS): Use
6372 TARGET_OS_AIX_CPP_BUILTINS.
6373 * config/rs6000/aix43.h (TARGET_OS_CPP_BUILTINS): Same.
6374 * config/rs6000/aix51.h (TARGET_OS_CPP_BUILTINS): Same.
6375 * config/rs6000/aix52.h (TARGET_OS_CPP_BUILTINS): Same.
6376 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Revert
6377 previous change.
6378
b45d3a36
KG
63792004-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6380
6381 * fold-const.c (tree_expr_nonnegative_p): Add more builtin cases.
6382
35ae04ba
DE
63832004-03-10 David Edelsohn <edelsohn@gnu.org>
6384
6385 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
6386 __LONGDOUBLE128 on AIX.
6387
ffad84cd
AH
63882004-03-10 Andrew Haley <aph@redhat.com>
6389
f7b48371 6390 PR optimization/14381
ffad84cd
AH
6391 * function.c (expand_function_end): Emit a blockage insn before
6392 the epilogue when -fnon-call-exceptions is used.
6393
6394 * except.c (expand_start_all_catch): Make comment more accurate.
6395
65cd26a6
JS
63962004-03-08 Joel Sherrill <joel@oarcorp.com>
6397
6398 PR target/14480
6399 * config/rs6000/t-rtems: Add missing file on branch.
6400
452c159e
UW
64012004-03-10 Ulrich Weigand <uweigand@de.ibm.com>
6402
6403 * dbxout.c (dbxout_symbol_location): Do not output references
6404 to optimized-out constant pool symbols.
6405
5f1b2068
AS
64062004-03-10 Andreas Schwab <schwab@suse.de>
6407
6408 * config/ia64/ia64.md (divsi3, udivsi3): Remove unused variable
6409 twon34_r.
6410
5399d643
JW
64112004-03-09 James E Wilson <wilson@specifixinc.com>
6412
6413 * alias.c (alias_sets_might_conflict_p): New.
6414 * c-typeck.c (build_c_cast): Call it if warn_strict_aliasing > 1.
6415 * common.opt (Wstrict-aliasing=): New.
6416 * flags.h (warn_strict_aliasing): Change type to int.
6417 * opts.c (warn_strict_aliasing): Change type to int.
6418 (common_handle_option): Handle OPT_Wstrict_aliasing_.
6419 * tree.h (alias_sets_might_conflict_p): Declare it.
6420 * doc/invoke.tex (-Wstrict-aliasing=2): Document it.
6421
a4e9467d
RZ
64222004-03-10 Roman Zippel <zippel@linux-m68k.org>
6423
6424 PR bootstrap/12371
6425 * config/m68k/m68k.h (FIXED_REGISTERS): Add arg pointer.
6426 (CALL_USED_REGISTERS): Likewise.
c53bdcf5 6427 (REG_CLASS_CONTENTS): Likewise.
a4e9467d
RZ
6428 (REG_ALLOC_ORDER): New.
6429 (REGNO_REG_CLASS): Use regno_reg_class.
6430 * config/m68k/m68k.c: Add regno_reg_class array.
6431
9aec7fb4
SE
64322004-03-09 Steve Ellcey <sje@cup.hp.com>
6433
6434 * config/ia64/ia64.md (divsi3): Fix algorithm.
6435 (udivsi3): Ditto.
6436 (setf_exp_xf): Remove '*' from name.
6437 * testsuite/gcc.dg/20040309-1.c: New test.
6438
9acd4a03
ILT
64392004-03-09 Ian Lance Taylor <ian@wasabisystems.com>
6440
6441 * system.h (SUNOS4_SHARED_LIBRARIES): Poison.
6442 * collect2.c: Remove SUNOS4_SHARED_LIBRARIES code.
6443 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): Don't define.
6444 * config/sparc/sparc.c (sparc_aout_select_section): Remove.
6445 (sparc_aout_select_rtx_section): Don't check
6446 SUNOS4_SHARED_LIBRARIES.
6447 * config/sparc/sparc.h (SUNOS4_SHARED_LIBRARIES): Don't define.
6448
a5249a21
HPN
64492004-03-10 Hans-Peter Nilsson <hp@axis.com>
6450
6451 PR other/14474
6452 * doc/md.texi (Pattern Ordering, Dependent Patterns)
6453 (Jump Patterns, Looping Patterns): Wrap in separate "@ifset
6454 INTERNALS".
6455
e373cdb4
ZW
64562004-03-09 Zack Weinberg <zack@codesourcery.com>
6457
6458 * config/ia64/hpux.h (MULTILIB_DEFAULTS): Define.
6459 (LIBGCC_SPEC): Update to match.
6460
77dbdb57
ZW
64612004-03-09 Zack Weinberg <zack@codesourcery.com>
6462
6463 * c-decl.c (last_function_parms, last_function_parm_tags)
6464 (last_function_parm_others, current_function_parms)
6465 (current_function_parm_tags, current_function_parm_others):
6466 Delete.
6467 (ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES, ARG_INFO_OTHERS):
6468 New macros.
6469 (grokdeclarator): For function definitions, save the arg-info
6470 block from the declarator in DECL_ARGUMENTS.
6471 (grokparms): Do not write to last_function_parm*. Use ARG_INFO_*
6472 macros to operate on arg-info block. Can assume ARG_INFO_PARMS
6473 contains only PARM_DECLs. Improve diagnostics.
6474 (get_parm_info): Use ARG_INFO_* macros. Improve comments and
6475 diagnostics. Disable some expensive checks if not ENABLE_CHECKING.
6476 (store_parm_decls_newstyle): Take the function to operate on,
6477 and an arg-info block, as arguments; don't get anything from
6478 current_function_* globals.
6479 (store_parm_decls_oldstyle): Likewise.
6480 (store_parm_decls): Pass fndecl and its arg-info block down to
6481 store_parm_decls_newstyle/oldstyle. Send functions with empty
6482 argument lists through store_parm_decls_newstyle to reduce
6483 overhead.
6484 (pushdecl): Comment on the problems with the call to copy_node.
6485 Clear DECL_ARGUMENTS of the old node after copying it, if it
6486 is an arg-info block instead of a chain of decls.
6487 (start_function): Do not manipulate current_function_parm* or
6488 last_function_parm*.
6489
305eeaeb
RS
64902004-03-09 Roger Sayle <roger@eyesopen.com>
6491 Andrew Pinski <pinskia@physics.uc.edu>
6492
6493 * ifcvt.c (noce_try_sign_mask): New function to transform
6494 "x = (y < 0) ? z : 0" into the equivalent "x = (y >> C) & z".
6495 (noce_process_if_block): Call noce_try_sign_mask.
6496
f38f747d
AP
64972004-03-09 Andrew Pinski <apinski@apple.com>
6498
6499 * c-typeck.c (tagged_types_tu_compatible_p):
6500 Fix typo.
6501
7ce3e360
RS
65022004-03-09 Roger Sayle <roger@eyesopen.com>
6503
6504 * simplify-rtx.c (simplify_const_relational_operation): New function
6505 renamed from simplify_relational_operation.
6506 (simplify_relational_operation): Change prototype to accept an
6507 additional mode argument. Call simplify_const_relational_operation.
6508 (simplify_gen_relational): Update simplify_relational_operation call.
6509 (simplify_ternary_operation): Update simplify_relational_operation
6510 subroutine call to use simplify_const_relational_operation instead.
6511
6512 * rtl.h (simplify_const_relational_operation): Prototype here.
6513 (simplify_relational_operation): Add addtional mode argument.
6514
6515 * combine.c (combine_simplify_rtx): Update calls to
6516 simplify_relational_operation.
6517 (simplify_set): Likewise.
6518 (gen_binary): Likewise.
6519 * cse.c (fold_rtx): Likewise.
6520 * dojump.c (compare_from_rtx): Likewise.
6521 (do_compare_rtx_and_jump): Likewise.
6522 * integrate.c (subst_constants): Likewise.
6523 * unroll.c (simplify_cmp_and_jump_insns): Likewise.
6524
c0e63064
KH
65252004-03-09 Kazu Hirata <kazu@cs.umass.edu>
6526
6527 * config/m32r/m32r.md: Remove all define_peephole's.
6528
6ae08853
AM
65292004-03-09 Alan Modra <amodra@bigpond.net.au>
6530
6531 * config/rs6000/rs6000.md: Remove trailing whitespace.
6532
5340bbea
EC
65332004-03-08 Eric Christopher <echristo@redhat.com>
6534
6535 * Makefile.in (site.exp): Add libiconv variable definition.
6536
3beb1315
HPN
65372004-03-09 Hans-Peter Nilsson <hp@axis.com>
6538
6539 * configure: Regenerate for config/accross.m4 correction.
6540
c589970a
JS
65412004-03-08 Joel Sherrill <joel@oarcorp.com>
6542
6543 PR target/14480
6544 * config/rs6000/t-rtems: Add missing file on branch.
6545
e697b20f
RS
65462004-03-08 Roger Sayle <roger@eyesopen.com>
6547
6548 PR middle-end/14289
6549 * c-typeck.c (c_mark_addressable): A register variable should
6550 be considered global if its not automatic, i.e. TREE_PUBLIC,
6551 TREE_STATIC or DECL_EXTERNAL.
6552 * function.c (put_var_into_stack): Call abort when placing a
6553 hard register into the stack, if x_parm_reg_stack_loc is NULL.
6554
59f8a8be
UW
65552004-03-08 Ulrich Weigand <uweigand@de.ibm.com>
6556
6557 * config/s390/s390.md ("*extendqidi2_short_displ"): Add CC clobber.
6558 ("*extendqisi2_short_displ"): Likewise.
6559
23bd99da
KH
65602004-03-08 Kazu Hirata <kazu@cs.umass.edu>
6561
6562 * config/pdp11/pdp11.c (comparison_operator_index): Remove.
6563 (comp_operator): Likewise.
6564 * config/pdp11/pdp11-protos.h: Remove corresponding
6565 prototypes.
6566
d50a16c4
EB
65672004-03-08 Eric Botcazou <ebotcazou@act-europe.fr>
6568
6569 * expr.c (highest_pow2_factor_for_type): Rename into
6570 highest_pow2_factor_for_target. Use DECL_ALIGN instead of
6571 TYPE_ALIGN when the target is a COMPONENT_REF.
6572 (expand_assignment): Ajust call to highest_pow2_factor_for_type.
6573
957211c3
AM
65742004-03-08 Alan Modra <amodra@bigpond.net.au>
6575
b1917422
AM
6576 * config/rs6000/rs6000.c: Formatting fix.
6577 (legitimate_offset_address_p): Correct offset range check.
6578
957211c3
AM
6579 * config/rs6000/rs6000.c (rs6000_override_options): Don't override
6580 -msoft-float by -mcpu. Consolidate similar code for MASK_MULTIPLE
6581 and MASK_STRING.
6582
97727e85 65832004-03-07 Aldy Hernandez <aldyh@redhat.com>
5340bbea 6584
77dbdb57
ZW
6585 * config/rs6000/rs6000.md (ashrdi3): Do not call ashrdi3_no_power
6586 for little endian.
6587 ("ashrdi3_no_power"): Disable for little endian.
97727e85
AH
6588 (ashrdi3): Same.
6589
280e63ec
KG
65902004-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6591
6592 * fold-const.c (tree_expr_nonnegative_p): Reformat checks for
6593 builtins.
6594
86da66b5
HPN
65952004-03-08 Hans-Peter Nilsson <hp@axis.com>
6596
6597 PR target/14471
6598 * configure.ac (Target-specific assembler checks) <cris-*-*>: New
6599 case, checking for -no-mul-bug-abort option.
6600 * configure, config.in: Regenerate.
6601 * doc/invoke.texi (CRIS Options): Document -mmul-bug-workaround
6602 and -mno-mul-bug-workaround.
6603 * config/cris/cris.md ("smulsi3_highpart", "umulsi3_highpart")
6604 ("mulsidi3", "umulsidi3"): Prefix output template with "%!".
6605 ("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3"):
6606 Ditto. Make attribute "slottable" dependent on TARGET_MUL_BUG.
6607 * config/cris/mulsi3.asm (__Mul) [__CRIS_arch_version >= 10]: Make
6608 sure mulu.d is not last on cache-line.
6609 * config/cris/cris.h (ASM_SPEC): Translate -mno-mul-bug-workaround
6610 into -no-mul-bug-abort depending on HAVE_AS_MUL_BUG_ABORT_OPTION.
6611 (TARGET_MASK_MUL_BUG, TARGET_MUL_BUG): New macros.
6612 (TARGET_SWITCHES): New options -mmul-bug-workaround and
6613 -mno-mul-bug-workaround.
6614 (TARGET_DEFAULT): Include TARGET_MASK_MUL_BUG.
6615 (PRINT_OPERAND_PUNCT_VALID_P): Include '!'.
6616 * config/cris/cris.c (cris_operand_extend_operator): Clarify
6617 relation to MULT in head comment.
6618 (cris_op_str): Abort for MULT.
6619 (cris_print_operand) <case '!'>: New case.
6620
e7ee3914
AM
66212004-03-08 Alan Modra <amodra@bigpond.net.au>
6622
6623 PR debug/11983
6624 * dwarf2out.c (enum dw_val_class): Rename dw_val_class_float to
6625 dw_val_class_vec. Replace use throughout file.
6626 (dw_float_const): Delete.
6627 (dw_vec_const): New.
6628 (dw_val_struct_union): Rename val_float to val_vec. Replace use
6629 throughout file.
6630 (add_AT_vec): Rename from add_AT_float. Add elt_size param.
6631 (same_dw_val_p): Adjust vec comparison. Use memcmp.
6632 (size_of_die): Adjust dw_val_class_vec sizing.
6633 (output_die): Output dw_val_class_vec.
6634 (insert_int, extract_int, insert_float): New functions.
6635 (add_const_value_attribute): Use insert_float for CONST_DOUBLE.
6636 Handle CONST_VECTOR.
6637 (add_location_or_const_value_attribute): Handle CONST_VECTOR.
5cc73f91
AH
6638
66392004-03-07 Aldy Hernandez <aldyh@redhat.com>
6640
6641 * config/rs6000/rs6000.c (rs6000_parse_abi_options): SPE and
6642 AltiVec abi cannot co-exist.
6643
6644 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Same.
6645
a61bf177
JH
66462004-03-07 Jan Hubicka <jh@suse.cz>
6647
6648 * except.c (emit_to_new_bb_before): Break fallthru edges.
6649
17c60946
SC
66502004-03-07 Stephane Carrez <stcarrez@nerim.fr>
6651
6652 * config/m68hc11/m68hc11.md ("*lshrsi3_const"): Disable for 68HC12.
6653 ("*lshrsi3"): Also accept an immediate for 68HC12.
6654 ("*ashrsi3_const"): Likewise.
6655 ("*ashrsi3"): Likewise.
6656 ("*ashlsi3_const"): Likewise.
6657 ("*ashlsi3"): Likewise.
6658 ("cmphi_1_hc12"): Compare two hard register by pushing them and
6659 comparing with a pop; don't use a split for that.
6660 ("cmphi split"): Disable compare split for 68HC12.
6661
6662 * config/m68hc11/m68hc11.c (m68hc11_notice_update_cc): Invalidate
6663 the status operands if they have side effects.
6664
3e759eda
KH
66652004-03-07 Kazu Hirata <kazu@cs.umass.edu>
6666
6667 * defaults.h (LEGITIMIZE_ADDRESS): Provide a default
6668 definition.
6669 * config/arc/arc.h, config/fr30/fr30.h, config/frv/frv.h,
6670 config/h8300/h8300.h, config/ia64/ia64.h,
6671 config/mcore/mcore.h, config/mmix/mmix.h,
6672 config/ns32k/ns32k.h, config/pdp11/pdp11.h,
6673 config/stormy16/stormy16.h, config/v850/v850.h,
6674 config/vax/vax.h (LEGITIMIZE_ADDRESS): Remove.
6675 * doc/tm.texi (LEGITIMIZE_ADDRESS): Mention the default
6676 definition.
6677
cd2f1c7a
RS
66782004-03-07 Roger Sayle <roger@eyesopen.com>
6679
6680 * fold-const.c (fold) <IOR_EXPR>: Fold x | x as x.
6681 <XOR_EXPR>: Fold x ^ x as zero.
6682 <AND_EXPR>: Fold x & x as x.
6683
350f4ea8
RS
66842004-03-07 Roger Sayle <roger@eyesopen.com>
6685
6686 * fold-const.c (fold) <EQ_EXPR>: Rewrite optimization to transform
6687 "foo++ == const" into "++foo == const+incr".
6688
91455597
RS
66892004-03-07 Richard Sandiford <rsandifo@redhat.com>
6690
6691 * config/mips/mips.c (mips_in_small_data_p): Return false if
6692 TARGET_ABICALLS.
6693
a75ea627
SC
66942004-03-06 Stephane Carrez <stcarrez@nerim.fr>
6695
6696 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Use 2,-sp to push
6697 the stack register.
6698 (expand_prologue): Don't make an interrupt or a trap handler a far
6699 symbol.
6700 (m68hc11_initial_elimination_offset): Likewise.
6701
7179b6db
RH
67022004-03-06 Richard Henderson <rth@redhat.com>
6703
6704 * config/alpha/alpha.c (alpha_in_small_data_p): False for functions.
6705
eff3c926
KH
67062004-03-06 Kazu Hirata <kazu@cs.umass.edu>
6707
6708 * config/ns32k/ns32k-protos.h: Add a prototype for
6709 ns32k_notice_update_cc.
6710 * config/ns32k/ns32k.c (ns32k_notice_update_cc): New.
6711 * config/ns32k/ns32k.h (NOTICE_UPDATE_CC): Call
6712 ns32k_notice_update_cc.
6713
22ea6b4f
UW
67142004-03-06 Ulrich Weigand <uweigand@de.ibm.com>
6715
6716 * config/s390/s390.md ("load_multiple", "*load_multiple_di",
6717 "*load_multiple_si"): Allow only if reload_completed.
6718 ("store_multiple", "*store_multiple_di", "*store_multiple_si"):
6719 Likewise.
6720
af0ec113
KH
67212004-03-06 Kazu Hirata <kazu@cs.umass.edu>
6722
6723 * config/vax/vax-protos.h: Add a prototype for
6724 vax_notice_update_cc.
6725 * config/vax/vax.c (vax_notice_update_cc): New.
6726 * config/vax/vax.h (NOTICE_UPDATE_CC): Call
6727 vax_notice_update_cc.
6728
aaef9b06
DE
67292004-03-06 David Edelsohn <edelsohn@gnu.org>
6730
6731 * collect2.c (main): Only export initfunc and finifunc if
6732 LD_INIT_SWITCH not defined.
6733 (scan_prog_file): Only export constructors and destructors if
6734 LD_INIT_SWITCH not defined. Only export symbols not found in
6735 shared objects.
6736
7a9a5a44
JDA
67372004-03-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6738
6739 * pa.md (icacheflush): Reorder operands to make match_scratch operand
6740 last.
6741 * pa.h (INITIALIZE_TRAMPOLINE): Remove unnecessary scratch argument
6742 from calls to gen_icacheflush.
6743
0f15adbd
RH
67442004-03-06 Richard Henderson <rth@redhat.com>
6745
6746 * config/alpha/alpha.h (MASK_LONG_DOUBLE_128): New.
6747 (TARGET_LONG_DOUBLE_128): New.
6748 (TARGET_SWITCHES): Add long-double-{128,64}.
6749 (TARGET_HAS_XFLOATING_LIBS): Default to TARGET_LONG_DOUBLE_128.
6750 (LONG_DOUBLE_TYPE_SIZE): Honor TARGET_LONG_DOUBLE_128.
6751 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New.
6752 (WIDEST_HARDWARE_FP_SIZE): New.
6753 (TARGET_CPU_CPP_BUILTINS): Define __LONG_DOUBLE_128__.
6754 * config/alpha/alpha.c (override_options): Clear MASK_LONG_DOUBLE_128
6755 if TARGET_VAX_FLOAT.
6756 * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): Remove.
6757 (TARGET_DEFAULT): Set MASK_LONG_DOUBLE_128.
6758
b9c685ae
RH
67592004-03-06 Richard Henderson <rth@redhat.com>
6760
6761 * config/alpha/alpha.c (alpha_swapped_comparison_operator): Fix
6762 botched rtx class conversion.
6763
82b4201f
KG
67642004-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6765
6766 * tree.h (BUILTIN_EXP10_P, BUILTIN_EXPONENT_P, BUILTIN_SQRT_P,
6767 BUILTIN_CBRT_P, BUILTIN_ROOT_P): New macros.
6768
6769 * builtins.c (fold_builtin_logarithm, fold_builtin): Use new
6770 macros.
6771 * fold-const.c (fold_mathfn_compare, fold): Likewise.
6772
84289c76
EB
67732004-03-06 Eric Botcazou <ebotcazou@libertysurf.fr>
6774
6775 PR target/14343
6776 * config/i386/i386.md (movv2di_internal): Conditionalize on
6777 TARGET_SSE, not TARGET_SSE2.
6778
3fdf09a1
CD
67792004-03-05 Chris Demetriou <cgd@broadcom.com>
6780
6781 * config.gcc (mips64orion-*-elf*, mips64orionel-*-elf*): Delete
6782 duplicated line.
6783
f2f4e976
KG
67842004-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6785
6786 * builtins.c: Consistently use logN not log* in comments.
6787
2b3493c8
AK
67882004-03-05 Andreas Krebbel <krebbel1@de.ibm.com>
6789
6790 * rtl.h (mem_expr_equal_p): Function prototype added.
6791 * cfgcleanup.c (merge_memattrs): New function.
6792 (flow_find_cross_jump): Call merge_memattrs for matching insns.
6793 * emit-rtl.c (mem_expr_equal_p): New function.
6794
1a4a7065
ZL
67952004-03-05 Ziemowit Laski <zlaski@apple.com>
6796
6797 * objc/objc-act.c (synth_module_prologue): Const-qualify
6798 objc_selector type if using the GNU runtime; fix generated
6799 signatures for objc_msg_lookup and objc_msg_lookup_super
6800 to match what GNU ObjC headers provide; reformat and clean up.
6801 (synth_self_and_ucmd_args): Use previously constructed (and
6802 hence possibly const-qualified) objc_selector type.
6803
150c9fe8
KH
68042004-03-05 Kazu Hirata <kazu@cs.umass.edu>
6805
6806 * doc/tm.texi (HARD_REGNO_RENAME_OK): Document.
6807
fd917e0d
JM
68082004-03-05 Jason Merrill <jason@redhat.com>
6809
6810 * tree.h (TYPE_HASH): Use TYPE_UID.
6811 (TREE_HASH): New macro with old definition of TYPE_HASH.
6812 * tree.c (build_type_attribute_variant): Use iterative_hash_object.
6813 (build_array_type, build_function_type): Likewise.
6814 (build_method_type_directly): Likewise.
6815 (build_offset_type, build_complex_type): Likewise.
6816 (type_hash_list, attribute_hash_list): Likewise. Now static.
6817 * except.c: s/TYPE_HASH/TREE_HASH/.
6818
822e895c
BW
68192004-03-05 Bob Wilson <bob.wilson@acm.org>
6820
6821 * config/xtensa/xtensa.c (function_arg): Handle 16-byte aligned args.
6822 (xtensa_va_start): Initialize __va_stk to ($arg_ptr - 32). Adjust
6823 __va_ndx by 2 words when referencing an argument on the stack.
6824 (xtensa_va_arg): Handle 16-byte aligned args. Adjust __va_ndx by 2
6825 words when an arg on the stack is first seen.
6826
2eb83715
PB
68272004-03-05 Paul Brook <paul@codesourcery.com>
6828
6829 * arm.h (ARM_FLAG_VFP): Remove.
6830 (ARM_FLAG_ATPCS, CIRRUS_FIX_INVALID_INSNS): Renumber.
6831 * netbsd-elf.h (ARM_FLAG_VFP): Remove.
6832
ce407aa9
PB
68332004-03-05 Paul Brook <paul@codesourcery.com>
6834
6835 * function.c (assign_parms): Include pretend alignment offset.
6836
019dd4ec
RK
68372004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6838
6839 * stor-layout.c (layout_type, case FUNCTION_TYPE): Make size
6840 FUNCTION_BOUNDARY, not POINTER_SIZE * 2.
6841
33e70558
ILT
68422004-03-05 Ian Lance Taylor <ian@wasabisystems.com>
6843
6844 * configure.ac: When passing --enable-languages to subdir
6845 configure when host != build, make sure we don't pass an empty
6846 value.
6847 * configure: Regenerate.
6848
ab786753
NS
68492004-03-05 Nathan Sidwell <nathan@codesourcery.com>
6850
6851 PR 13577
6852 * gcc.c (cc1_options): Robustify -auxbase-strip from multiple -o
6853 options.
6854
d2782048
PB
68552004-03-05 Paolo Bonzini <bonzini@gnu.org>
6856
6857 * simplify-rtx.c (simplify_relational_operation): If
6858 flag_wrapv is set, do not move terms between the two
6859 side of a relational operator.
6860
f894b69b
PB
68612004-03-05 Paolo Bonzini <bonzini@gnu.org>
6862
6863 * rtlanal.c: Include target.h and output.h
6864 (rtx_cost, address_cost, default_address_cost): Move from...
6865 * cse.c (rtx_cost, address_cost, default_address_cost):
6866 ... this file.
6867 * rtl.h (rtx_cost, address_cost): Move under rtlanal.c.
6868 * Makefile.in: Adjust dependencies.
6869
86caf04d
PB
68702004-03-05 Paolo Bonzini <bonzini@gnu.org>
6871
6872 * cse.c (cse_end_of_basic_block): Make static.
6873 * local-alloc.c (function_invariant_p): Move to
6874 reload1.c.
6875 * loop.c (libcall_other_reg, record_excess_regs):
6876 Make static.
6877 * reload1.c (function_invariant_p): Moved here
6878 from local-alloc.c, made static.
6879 * rtl.h (cse_end_of_basic_block, function_invariant_p,
6880 libcall_other_reg, record_excess_regs): Remove
6881 declarations.
6882
d0fe265e
KH
68832004-03-05 Kazu Hirata <kazu@cs.umass.edu>
6884
6885 * config/m32r/m32r.c (signed_comparison_operator): Add a
6886 missing parenthesis.
6887
ee0d75ef
ILT
68882004-03-04 Ian Lance Taylor <ian@wasabisystems.com>
6889
6890 * ggc-common.c (gt_pch_restore): Don't unmap addr unless we are
6891 going to call mmap again. Read the file into the right place.
6892 Give a fatal error if we have to relocate.
6893
6e5ff6e7
BW
68942004-03-04 Bob Wilson <bob.wilson@acm.org>
6895
6896 * config/xtensa/xtensa.c (xtensa_return_in_msb): New function.
6897 (TARGET_RETURN_IN_MSB): Define to xtensa_return_in_msb.
6898
fc7b80e4
HPN
68992004-03-05 Hans-Peter Nilsson <hp@axis.com>
6900
fd9361f7 6901 PR other/14354
fc7b80e4
HPN
6902 * config/fp-bit.c (_fpdiv_parts): Do not round when pack_d would
6903 round the same. When rounding, clear bits that would cause a
6904 second rounding in pack_d.
6905 (_fpmul_parts): Ditto. Remove #if 0:d code.
6906
b9e4e5d1
ZL
69072004-03-04 Ziemowit Laski <zlaski@apple.com>
6908
6909 PR c++/14425, c++/14426
6910 * config/rs6000/altivec.h (vec_splat_s8, vec_splat_s16,
6911 vec_splat_s32, vec_splat_u8, vec_splat_u16, vec_splat_u32):
6912 Change C++ definitions to accept a 'const int' argument;
6913 the prototypes already do.
6914 * config/rs6000/rs6000.c (rs6000_common_init_builtins):
6915 Rename v4si_ftype_char, v8hi_ftype_char, v16qi_ftype_char,
6916 v4sf_ftype_v4si_char, v4si_ftype_v4sf_char, v4si_ftype_v4si_char,
6917 v8hi_ftype_v8hi_char, v16qi_ftype_v16qi_char,
6918 v16qi_ftype_v16qi_v16qi_char, v8hi_ftype_v8hi_v8hi_char,
6919 v4si_ftype_v4si_v4si_char and v4sf_ftype_v4sf_v4sf_char to
6920 end in ..._int; change them to accept an int instead of a char
6921 as the last parameter.
6922
8653fed7
PE
69232004-03-04 Phil Edwards <phil@codesourcery.com>
6924
6925 * genmultilib: Change '=' to '-' when translating option names
6926 to directory names.
6927
daae8185
RK
69282004-03-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6929
6930 * expr.c (expand_expr_real, case COMPONENT_REF): Get proper type of
6931 stack slot for temp used for result of BLKmode but in integral mode.
6932
f345f21a
JH
69332004-03-04 Jan Hubicka <jh@suse.cz>
6934
6935 * reload.c (find_reloads): Reorganize if seqeunce to switch.
6936
6937 * cfgrtl.c (rtl_redirect_edge_and_branch): Set the source BB as dirty.
6938 (cfglayout_redirect_edge_and_branch): Set the source BB as dirty.
6939
aa42f99d
SE
69402004-03-04 Steve Ellcey <sje@cup.hp.com>
6941
6942 * config/ia64/ia64.md (divdf3_internal_thr): Fix algorithm.
6943 * testsuite/gcc.dg/20040303-1.c: New test.
6944
56bab446
SB
69452004-03-04 Steven Bosscher <stevenb@suse.de>
6946
6947 * ppro.md: Rewrite as a DFA pipeline description.
6948 * i386.md: Remove all uses of the ppro_uops attribute.
6949 * i386.c: (ix86_safe_ppro_uops, ix86_dump_ppro_packet,
6950 ix86_reorder_insn, ix86_sched_reorder_ppro, ix86_sched_init,
6951 ix86_sched_reorder, ix86_variable_issue,
6952 struct ix86_sched_data, TARGET_SCHED_VARIABLE_ISSUE,
6953 TARGET_SCHED_INIT, TARGET_SCHED_REORDER): Remove.
6954 (ia32_use_dfa_pipeline_interface): Add TARGET_PENTIUMPRO.
6955 (ia32_multipass_dfa_lookahead): Add TARGET_PENTIUMPRO.
6956 * athlon.md (athlon_ssecmp_load): Fix comment
6957
5a26b329 69582004-03-04 Stuart Hastings <stuart@apple.com>
56bab446 6959
5a26b329
SH
6960 * gcc/doc/invoke.texi: Document -mlongcall for Darwin/PPC.
6961
2e5d2af9 69622004-03-04 Stuart Hastings <stuart@apple.com>
56bab446 6963
2e5d2af9
SH
6964 * gcc/config/i386/darwin.h: Darwin/x86 doesn't support CPUs before
6965 686, tell Darwin assembler to allow prefetch insns, non-empty def
6966 of SUBTARGET_OPTION_TRANSLATE_TABLE.
6967
58f206d6
DD
69682004-03-04 DJ Delorie <dj@redhat.com>
6969
6970 PR optimization/14282
6971 * sched-deps.c (sched_analyze_insn): Allow a stack adjustment
6972 between a call and the assignment of its return value.
6973
e9eba255
KH
69742004-03-04 Kazu Hirata <kazu@cs.umass.edu>
6975
6976 * config/h8300/h8300.c: Put a comment for every function.
6977
d3c40837
KH
69782004-03-04 Kazu Hirata <kazu@cs.umass.edu>
6979
6980 * config/h8300/h8300.md: Add comments about peephole2's.
6981
eb3d7f9d
SB
69822004-03-04 Steven Bosscher <stevenb@suse.de>
6983
6984 * i386.h (TARGET_CPU_DEFAULT_nocona): Fix value.
6985
463301c3
JH
69862004-03-04 Jan Hubicka <jh@suse.cz>
6987
6988 * cfgcleanup.c (thread_jump): Update call of cselib_init.
6989 * cselib.c (cselib_record_memory): New static variable.
6990 (cselib_lookup_mem, cselib_record_set, cselib_record_sets):
6991 Give up on memories when asked for.
6992 (cselib_init): Accept new argument.
6993 * cselib.h (cselib_init): Update prototype.
6994 * gcse.c (local_cprop_pass): Update call of cselib_init.
6995 * loop.c (load_mems): Update call of cselib_init.
6996 * postreload.c (reload_cse_regs_1): Update call of cselib_init.
6997 * sched-deps.c (sched_analyze): Update call of cselib_init.
6998
3b6ce0af
DE
69992004-03-04 David Edelsohn <edelsohn@gnu.org>
7000 GP <gp@qnx.com>
7001
7002 * config/rs6000/rs6000.c (output_function_profiler): Append @plt
7003 when compiling PIC.
7004
af931390
JZ
70052004-03-04 Josef Zlomek <zlomekj@suse.cz>
7006
7007 PR/14362
7008 * var-tracking.c (track_expr_p): Do not track variables which
7009 should be ignored for debugging purposes.
7010
ddc68564
AM
70112004-03-04 Alan Modra <amodra@bigpond.net.au>
7012
7013 * real.c (encode_ibm_extended): Don't bother rounding low double.
7014 * c-cppbuiltin.c (builtin_define_float_constants): Tweak MAX
7015 when fmt->pnan < fmt->p.
7016
ca87076c
EC
70172004-03-04 Eric Christopher <echristo@redhat.com>
7018
7019 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Fix to check
7020 only range of valid arg registers and fixed_regs.
7021
1a402dc1
AM
70222004-03-04 Alan Modra <amodra@bigpond.net.au>
7023
7024 PR target/14406
7025 * config/rs6000/rs6000.md (abstf2, abstf2+1): Delete define_insn.
7026 (abstf2, abstf2_internal): New define_expand.
7027
6a2d136b
EB
70282004-03-04 Eric Botcazou <ebotcazou@libertysurf.fr>
7029
7030 PR optimization/14235
7031 * expr.c (convert_move): Copy the source to a new pseudo
7032 when converting from a sub-word source to a larger-than-word
7033 register which conflicts with the source.
7034
3205a71e
ZW
70352004-03-03 Zack Weinberg <zack@codesourcery.com>
7036
7037 PR 13728
7038 * c-decl.c (diagnose_mismatched_decls): Issue an error for two
7039 parameters with the same name, unless one is a forward decl.
7040 Do not issue a redundant-redeclaration warning for forward
7041 decls of parameters.
7042
e8d8a034
DE
70432004-03-04 David Edelsohn <edelsohn@gnu.org>
7044
7045 * doc/install.texi (*-ibm-aix*): Document use of Bash to speed up
7046 configuration.
7047
ebe29bbf
ILT
70482004-03-03 Ian Lance Taylor <ian@wasabisystems.com>
7049
7050 * ggc-zone.c (ggc_pch_write_object): Don't align file pointer.
7051
7cd60054
AM
70522004-03-04 Alan Modra <amodra@bigpond.net.au>
7053
7054 * target-def.h (TARGET_OPTF): Delete.
7055 * c-opts.c (TARGET_OPTF): Define.
7056
e654c19e
JH
70572004-03-04 Jan Hubicka <jh@suse.cz>
7058
7059 * cselib.c (cselib_finish): Fix another miss-application of my previous
7060 patch.
7061
94d1613b
MS
70622004-03-03 Mike Stump <mrs@apple.com>
7063
7064 Add framework support for darwin.
7065
7066 * c-incpath.c: Include target.h and machmode.h.
7067 (add_path): Use a consistent style for cpp_dir. Initialize
7068 p->construct to 0.
7069 (add_cpp_dir_path): New.
7070 (register_include_chains): Add use of extra_includes callback.
7071 (hook_void_int): Add.
7072 (target_c_incpath): Add.
7073 * c-incpath.h (add_cpp_dir_path): New.
7074 (target_c_incpath_s): Add.
7075 (target_c_incpath): Add.
7076 (C_INCPATH_INIT): Add.
7077 * c-opts.c (c_common_missing_argument,
7078 c_common_handle_option): Add -F argument processing.
7079 * c.opt: Add -F argument processing.
7080 * gcc.c (trad_capable_cpp): Add -F argument processing.
7081 * cppfiles.c (find_file_in_dir): Update to use construct
7082 callback.
7083 (search_path_exhausted, cpp_get_path, cpp_get_buffer,
7084 cpp_get_prev): New.
7085 (_cpp_find_file): Use search_path_exhausted.
7086 (make_cpp_dir): Initialize construct to 0.
7087 * cpplib.h (missing_header_cb
7088 cpp_get_path, cpp_get_buffer, cpp_get_file, cpp_get_prev): New.
7089 (cpp_callbacks): Add missing_header
7090 (cpp_dir): Add construct.
7091 * target-def.h: (TARGET_OPTF): New.
7092 * hooks.c (hook_void_int, hook_void_charptr): Add.
7093 * hooks.h (hook_void_int, hook_void_charptr): Add.
7094 * Makefile.in (c-incpath.o) : Add $(TARGET_H) and
7095 $(MACHMODE_H) dependencies.
7096 * doc/invoke.texi (Darwin Options): Document -F.
7097 * doc/tm.texi (TARGET_EXTRA_INCLUDES): Add.
7098 (TARGET_OPTF): Add.
7099 * fix-header.c (target_c_incpath): Add.
7100
7101 * config/darwin-c.c: Add c-incpath.h include.
7102 (using_frameworks, find_subframework_file,
7103 find_subframework_header, add_system_framework_path,
7104 frameworks_in_use, num_frameworks, max_frameworks,
7105 add_framework, find_framework, struct framework_header,
7106 framework_header_dirs, framework_construct_pathname,
7107 find_subframework_file, add_system_framework_path,
7108 add_framework_path, framework_defaults,
7109 darwin_register_frameworks, find_subframework_header): Add.
7110 * config/darwin.h (TARGET_EXTRA_INCLUDES, TARGET_OPTF): New.
7111 (TARGET_OPTION_TRANSLATE_TABLE): Add -framework support.
7112 (CPP_SPEC): Add __APPLE_CC__ support.
7113 * t-darwin (darwin-c.o): Add c-incpath.h dependency.
7114
0fc0c4c9
JH
71152004-03-04 Jan Hubicka <jh@suse.cz>
7116
7117 * cselib.c (cselib_finish): Fix miss-application of my previous
7118 patch.
7119
67dfe110
KH
71202004-03-03 Kazu Hirata <kazu@cs.umass.edu>
7121
7122 * hooks.c (hook_tree_tree_identity): New.
7123 * hooks.h: Add a prototype for hook_tree_tree_identity.
7124 * stmt.c (expand_asm_operands): Use targetm.md_asm_clobbers
7125 instead of MD_ASM_CLOBBERS.
7126 * system.h (MD_ASM_CLOBBERS): Poison.
7127 * target-def.h (TARGET_MD_ASM_CLOBBERS): New.
7128 (TARGET_INITIALIZER): Add TARGET_MD_ASM_CLOBBERS.
7129 * target.h (gcc_target): Add md_asm_clobbers.
7130 * config/i386/i386.c (TARGET_MD_ASM_CLOBBERS): New.
7131 (ix86_md_asm_clobbers): New.
7132 * config/i386/i386.h (MD_ASM_CLOBBERS): Remove.
7133 * doc/tm.texi (MD_ASM_CLOBBERS): Change to
7134 TARGET_MD_ASM_CLOBBERS.
7135
d79944f4 71362004-03-03 Stuart Hastings <stuart@apple.com>
67dfe110 7137
d79944f4 7138 * gcc/config.gcc: Arrange for Darwin/x86 to build libgcc_eh.a.
3205a71e 7139
fc9232c9
EB
71402004-03-03 Eric Botcazou <ebotcazou@libertysurf.fr>
7141
7142 * config/sparc/sparc.c (noov_compare64_op): Fix typo.
7143
7144 * config/sparc/sparc.h (ASM_FLOAT): Delete.
7145 (ASM_DOUBLE): Likewise.
7146 (ASM_LONGDOUBLE): Likewise.
7147 * config/sparc/pbd.h (ASM_INT_OP): Delete.
7148
b7048ab7
RH
71492003-03-03 Richard Henderson <rth@redhat.com>
7150
7151 PR opt/13862
7152 * cselib.c (cselib_record_sets): Don't record multiple sets in
7153 asm insns.
7154
f9957958
MH
71552004-03-03 Mostafa Hagog <mustafa@il.ibm.com>
7156
7157 * common.opt: Add description of the new -fgcse-after-reload flag.
7158
7159 * flags.h (flag_gcse_after_reload): Declaration of global variable.
7160
7161 * gcse.c (reg_used_on_edge ,reg_set_between_after_reload_p,
7162 reg_used_between_after_reload_p, rtx get_avail_load_store_reg,
7163 is_jump_table_basic_block, bb_has_well_behaved_predecessors,
7164 get_bb_avail_insn, hash_scan_set_after_reload,
7165 compute_hash_table_after_reload, eliminate_partially_redundant_loads,
7166 gcse_after_reload, get_bb_avail_insn): New functions to implement
7167 gcse-after-reload.
7168 (gcse_after_reload_main): New function, the main entry point to
7169 gcse-after-reload.
7170
7171 * rtl.h (gcse_after_reload_main): Declaration of the new function.
7172
7173 * opts.c (common_handle_option): Handle the -fgcse-after-reload flag.
7174
7175 * toplev.c (flag_gcse_after_reload): Initialization.
7176
7177 * passes.c (rest_of_handl_gcse2): Call gcse_after_reload_main.
7178
7179 * params.def (PARAM_GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
7180 PARAM_GCSE_AFTER_RELOAD_CRITICAL_FRACTION): New parameters for tuning
7181 the gcse after reload optimization.
7182
7183 * params.h (GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
7184 GCSE_AFTER_RELOAD_CRITICAL_FRACTION): Two macros to access the tuning
7185 parameters.
7186
7187 * doc/invoke.texi: Documentation for the new flag gcse-after-reload.
7188
6f6dedf5
NP
71892004-03-03 Nicolas Pitre <nico@cam.org>
7190
7191 * config/arm/ieee754-df.S (muldf3, divdf3): Fix denormalization of
7192 small negative values.
7193
6790d1ab
JH
71942004-03-03 Jan Hubicka <jh@suse.cz>
7195
7196 * cselib.c (hash_table): Remove GTY marker.
7197 (reg_values): Turn into array.
7198 (used_regs): Likewise.
7199 (n_used_regs): New static variable.
7200 (reg_values_old): Kill.
7201 (clear_table): Update uses of arrays.
7202 (cselib_lookup): Likewise.
7203 (cselib_record_set): Likewise.
7204 (cselib_init): Likewise.
7205 (cselib_finish): Likewise.
7206 (cselib_udpate_varray_sizes): Kill.
7207 * cselib.h (cselib_update_varray_sizes): Kill.
7208
33e6a97a
PB
72092004-03-03 Paul Brook <paul@codesourcery.com>
7210
7211 * flow.c (ior_reg_cond, and_reg_cond): Remove stray ")".
7212
b9dcdee4
JH
72132004-03-03 Jan Hubicka <jh@suse.cz>
7214
7215 * ggc-common.c (ggc_alloc_cleared_stat, ggc_realloc_stat):
7216 Rename from ...; make statistics transparent.
7217 (ggc_alloc_cleared, ggc_realloc_stat): ... these.
7218 (loc_descriptor): New structure.
7219 (hash_descriptor, eq_descriptor, loc_descriptor, cmp_statistics,
7220 add_statistics):
7221 New static function.
7222 (ggc_record_overhead, dump_statistics): New global function.
7223 * ggc-none.c (ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
7224 ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Rename
7225 from ...; accept locations
7226 (ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
7227 ggc_realloc, ggc_alloc_typed): ... this one.
7228 from ...; accept locations
7229 * ggc-page.c (ggc_alloc_typed_stat, ggc_alloc_zone_stat,
7230 ggc_alloc_stat): Rename from ... ; pass locations
7231 * ggc-page.c (ggc_alloc_typed, ggc_alloc_zone, ggc_alloc):
7232 ... this one.
7233 (ggc_alloc_stat): Record overehead.
7234 * ggc.h (ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
7235 ggc_realloc, ggc_alloc_typed): Turn to macros
7236 (ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
7237 ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Declare.
7238 (dump_ggc_loc_satistics, ggc_record_overehead): Declare.
7239 * langhooks.h (lhd_make_node): Declare.
7240 (LANG_HOOKS_MAKE_TYPE): Default to new function,
7241 * langhooks.c (lhd_make_node): New.
7242 * rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Rename from ... ; pass
7243 locations.
7244 (rtx_alloc, swallow_copy_rtx): ... this one.
7245 * rtl.h (rtx_alloc, swallow_copy_rtx): Turn to macros.
7246 * rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Declare.
7247 * toplpev.c (finalize): Dump stats.
7248 * tree.c (make_node_stat, copy_node_stat, make_tree_vec_stat,
7249 build_tree_list_stat, tree_cons_stat, build?_stat, build_decl_stat):
7250 Rename from ... ; pass locators.
7251 (make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
7252 build?, build_decl): Declare.
7253 * tree.h (make_node_stat, copy_node_stat, make_tree_vec_stat,
7254 build_tree_list_stat, tree_cons_stat, build?_stat, build_decl_stat):
7255 Declare.
7256 (make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
7257 build?, build_decl): New macros.
7258 * Makefile.in (RTL_H, TREE_H): Add statistics.h dependency.
7259 * statistics.h: New file.
7260
6ba7b547
MR
72612004-03-03 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
7262 Richard Sandiford <rsandifo@redhat.com>
7263
7264 * config/mips/mips.h (MASK_FIX_SB1): Bump.
7265 (MASK_FIX_R4400, TARGET_FIX_R4400): New macros.
7266 (TARGET_SWITCHES): Add -mfix-r4400 and -mno-fix-r4400.
7267 * config/mips/mips.c (mips_output_division): Fill the branch delay
7268 slot with a nop if TARGET_FIX_R4000. Extend R4000 workarounds to
7269 TARGET_FIX_R4400.
7270 (mips_output_division): Adjust accordingly.
7271 (override_options): Make -march=r4400 imply -mfix-r4400 by default.
7272 * doc/invoke.texi: Document -mfix-r4400 and new errata workarounds.
7273
ec8e098d
PB
72742004-03-03 Paolo Bonzini <bonzini@gnu.org>
7275
7276 * alias.c (rtx_equal_for_memref_p): Use predicates
7277 to test rtx classes and new rtx class codes, possibly
7278 splitting conditionals that tested against '<' and 'o'.
7279 * caller-save.c (save_call_clobbered_regs): Likewise.
7280 * combine.c (contains_muldiv, find_split_point, subst,
7281 combine_simplify_rtx, simplify_if_then_else,
7282 simplify_set, simplify_logical, expand_compound_operation,
7283 make_compound_operation, if_then_else_cond, known_cond,
7284 apply_distributive_law, cached_nonzero_bits,
7285 cached_num_sign_bit_copies, simplify_shift_const,
7286 gen_binary, simplify_comparison, update_table_tick,
7287 record_value_for_reg, get_lsat_value_validate): Likewise.
7288 * cse.c (mention_regs, find_best_addr, find_comparison_args,
7289 fold_rtx, cse_insn, invalidate_memory, cse_basic_block):
7290 Likewise.
7291 * emit-rtl.c (copy_insn_1): Likewise.
7292 * expr.c (force_operand): Likewise.
7293 * final.c (final_scan_insn, get_mem_expr_from_op): Likewise.
7294 * flow.c (notice_stack_pointer_modification_1,
7295 invalidate_mems_from_autoinc, ior_reg_cond, not_reg_cond,
7296 and_reg_cond, elim_reg_cond): Likewise.
7297 * function.c (update_epilogue_consts): Likewise.
7298 * genattrtab.c (attr_rtx_1): Likewise.
7299 * genopinit.c (gen_insn): Likewise.
7300 * integrate.c (subst_constants): Likewise.
7301 * jump.c (reversed_comparison_code_parts,
7302 reversed_comparison_code, delete_related_insns,
7303 rtx_renumbered_equal_p): Likewise.
7304 * local-alloc.c (block_alloc): Likewise.
7305 * loop.c (rtx_equal_for_prefetch_p, maybe_eliminate_biv,
7306 canonicalize_condition): Likewise.
7307 * loop-iv.c (simplify_using_conditions, iv_number_of_iterations):
7308 Likewise.
7309 * optabs.c (add_equal_node, expand_binop): Likewise.
7310 * predict.c (estimate_probability): Likewise.
7311 * ra-debug.c (ra_print_rtx_2op, ra_print_rtx): Likewise.
7312 * recog.c (validate_replace_rtx_1, comparison_operator,
7313 offsettable_address_p, constrain_operands): Likewise.
7314 * reg-stack.c (swap_rtx_condition_1, subst_stack_regs_pat):
7315 Likewise.
7316 * regclass.c (scan_one_insn): Likewise.
7317 * regmove.c (stable_and_no_regs_but_for_p): Likewise.
7318 * regrename.c (kill_autoinc_value): Likewise.
7319 * reload.c (find_reusable_reload, find_reloads,
7320 reg_overlap_mentioned_for_reload_p): Likewise.
7321 * reload1.c (gen_reload, delete_address_reloads_1): Likewise.
7322 * rtl.c (copy_rtx): Likewise.
7323 * rtl.h (CONSTANT_P, INSN_P): Likewise.
7324 * rtlanal.c (commutative_operand_precedence): Likewise.
7325 * sched-deps.c (conditions_mutex_p): Likewise.
7326 * sched-rgn.c (is_cfg_nonregular): Likewise.
7327 * simplify-rtx.c (simplify_gen_binary,
7328 simplify_gen_relational, simplify_replace_rtx,
7329 simplify_unary_operation, simplify_binary_operation,
7330 simplify_ternary_operation, simplify_rtx): Likewise.
7331 * unroll.c (reg_dead_after_loop): Likewise.
7332 * config/alpha/alpha.c (alpha_swapped_comparison_operator,
7333 print_operand): Likewise.
7334 * config/arc/arc.c (proper_comparison_operator): Likewise.
7335 * config/arm/arm.c (arm_arm_address_cost, arm_select_cc_mode):
7336 Likewise.
7337 * config/avr/avr.c (_reg_unused_after): Likewise.
7338 * config/frv/frv.c (frv_ifcvt_modify_tests,
7339 frv_ifcvt_modify_insn, frv_pack_insn): Likewise.
7340 * config/i386/i386.c (ix86_comparison_operator,
7341 ix86_carry_flag_operator, fcmov_comparison_operator,
7342 arith_or_logical_operator, print_operand,
7343 ix86_expand_binary_operator, ix86_binary_operator_ok):
7344 Likewise.
7345 * config/i386/i386.md: Likewise.
7346 * config/ia64/ia64.c (not_postinc_memory_operand,
7347 ia64_print_operand, update_set_flags, errata_emit_nops):
7348 Likewise.
7349 * config/ia64/ia64.h (PREFERRED_RELOAD_CLASS,
7350 CONSTRAINT_OK_FOR_S): Likewise.
7351 * config/ip2k/ip2k.c (mdr_resequence_xy_yx,
7352 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
7353 ip2k_xexp_not_uses_reg_for_mem, ip2k_xexp_not_uses_reg_p,
7354 ip2k_composite_xexp_not_uses_reg_p, ip2k_unary_operator):
7355 Likewise.
7356 * config/iq2000/iq2000.c (cmp_op, symbolic_expression_p,
7357 eqne_comparison_operator, signed_comparison_operator):
7358 Likewise.
7359 * config/mips/mips.c (cmp_op, symbolic_expression_p):
7360 Likewise.
7361 * config/mmix/mmix (mmix_foldable_comparison_operator,
7362 mmix_comparison_operator): Likewise.
7363 * config/pa/pa.c (hppa_legitimize_address): Likewise.
7364 * config/rs6000/rs6000.c (stmw_operation,
7365 branch_comparison_operator, trap_comparison_operator,
7366 ccr_bit): Likewise.
7367 * config/rs6000/rs6000.h (SELECT_CC_MODE): Likewise.
7368 * config/s390/s390.c (s390_alc_comparison,
7369 s390_slb_comparison):L Likewise.
7370 * config/sh/sh.c (gen_block_redirect, reg_unused_after):
7371 Likewise.
7372 * config/sparc/sparc.c (eq_or_neq, normal_comp_operator,
7373 noov_compare_op, noov_compare64_op, v9_regcmp_op,
7374 emit_hard_tfmode_operation, reg_unused_after)
7375 * doc/md.texi, doc/rtl.texi: Likewise.
7376
7377 * ra-debug.c: Add 2004 to list of copyright years.
7378 * unroll.c: Likewise.
7379
7380 * combine.c (simplify_logical): Remove dummy test,
7381 (apply_distributive_law): Fix typo in comment.
7382 GET_CODE (x) == AND so x is a commutative binary op.
7383 * jump.c (delete_related_insns): simplify loop
7384 condition, move testing of RTX codes inside the loop.
7385 (rtx_renumbered_equal_p): do not use RTX_CODE.
7386 * rtl.c (rtx_class): Declare as enum rtx_class.
7387 * rtl.def (EQ, NE, UNEQ, LTGT, UNORDERED, ORDERED):
7388 Move to RTX_COMM_COMPARE class.
7389 (HIGH, SYMBOL_REF, LABEL_REF, CONST, CONST_INT, CONST_DOUBLE):
7390 Move to RTX_CONST_OBJ class.
7391 * rtl.h (enum rtx_class): New declaration,
7392 (RTX_OBJ_MASK, RTX_OBJ_RESULT, RTX_COMPARE_MASK,
7393 RTX_COMPARE_RESULT, RTX_ARITHMETIC_MASK, RTX_ARITHMETIC_RESULT,
7394 RTX_BINARY_MASK, RTX_BINARY_RESULT, RTX_COMMUTATIVE_MASK,
7395 RTX_COMMUTATIVE_RESULT, RTX_NON_COMMUTATIVE_RESULT,
7396 RTX_EXPR_FIRST, RTX_EXPR_LAST, UNARY_P, BINARY_P,
7397 ARITHMETIC_P, COMMUTATIVE_ARITHMETIC_P, COMPARISON_P,
7398 SWAPPABLE_OPERANDS_P, NON_COMMUTATIVE_P, COMMUTATIVE_P,
7399 OBJECT_P): New macros.
7400 * config/sparc/sparc.c (noov_compare_op): Remove register
7401 from parameter.
7402
a841ab8b
KH
74032004-03-03 Kazu Hirata <kazu@cs.umass.edu>
7404
7405 * target.h: Remove texi jargons in comments.
7406
cb36ddba
KH
74072004-03-02 Kazu Hirata <kazu@cs.umass.edu>
7408
7409 * config/h8300/lib1funcs.asm (___fixunssfsi): Change the
7410 threshold to 0x4f.
7411
7412 Revert:
7413 2004-02-27 Kazu Hirata <kazu@cs.umass.edu>
7414 * config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
7415 as well.
7416 * config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
7417 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
7418
66c87bae
KH
74192004-03-02 Kazu Hirata <kazu@cs.umass.edu>
7420
7421 * doc/md.texi (cbranchmode4): New.
7422
91e01231
EC
74232004-03-02 Eric Christopher <echristo@redhat.com>
7424
7425 * config/mips/mips16.S: Change fixsfsi and fixdfsi to
7426 fix_trunc.
7427 * config/mips/mips.c (mips_init_libfuncs): Change accordingly.
7428 * config/mips/t-elf (LIB1ASMFUNCS): Ditto.
7429 * config/mips/t-isa3264 (LIB1ASMFUNCS): Ditto.
7430 * config/mips/t-r3900 (LIB1ASMFUNCS): Ditto.
7431
27ab3e91
RH
74322004-03-02 Richard Henderson <rth@redhat.com>
7433
3205a71e
ZW
7434 PR middle-end/11767
7435 * coverage.c (coverage_counter_ref): Set MEM_NOTRAP_P.
7436 * optabs.c (prepare_cmp_insn): Force trapping memories to registers
7437 before the compare, if flag_non_call_exceptions.
27ab3e91 7438
0eadce52
RH
74392004-03-02 Richard Henderson <rth@redhat.com>
7440
7441 PR middle-end/14327
7442 * stmt.c (expand_computed_goto): Do do_pending_stack_adjust before
7443 emitting the label, not after.
7444
de70723b
SC
74452004-03-02 Stephane Carrez <stcarrez@nerim.fr>
7446
7447 * config/m68hc11/m68hc11.c (m68hc11_addr_mode): New variable.
7448 (m68hc11_mov_addr_mode): Likewise.
7449 (m68hc11_override_options): Initialize them based on target.
7450 (register_indirect_p): Allow a MEM for indirect addressing modes and
7451 use flags to control what is allowed.
7452 (m68hc11_small_indexed_indirect_p): Use m68hc11_mov_addr_mode for
7453 supported addressing modes.
7454 (m68hc11_register_indirect_p): Use m68hc11_addr_mode.
7455 (go_if_legitimate_address_internal): Likewise.
7456 (m68hc11_indirect_p): Likewise and check the mode.
7457 (print_operand): Allow a (MEM (MEM)) and generate indirect addressing.
7458
d6da68b9
KH
74592004-03-02 Kazu Hirata <kazu@cs.umass.edu>
7460
7461 * builtins.c (BUILTIN_SETJMP_FRAME_VALUE): Remove.
7462 (expand_builtin_setjmp_setup): Use
7463 targetm.builtin_setjmp_frame_value instead of
7464 BUILTIN_SETJMP_FRAME_VALUE.
7465 * system.h (BUILTIN_SETJMP_FRAME_VALUE): Poison.
7466 * target-def.h (TARGET_BUILTIN_SETJMP_FRAME_VALUE): New.
7467 (TARGET_INITIALIZER): Add TARGET_BUILTIN_SETJMP_FRAME_VALUE.
7468 * target.h (gcc_target): Add builtin_setjmp_frame_value.
7469 * targhooks.c (default_builtin_setjmp_frame_value): New.
7470 * targhooks.h: Add a prototype for
7471 default_builtin_setjmp_frame_value.
7472 * doc/tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Change to
7473 TARGET_BUILTIN_SETJMP_FRAME_VALUE.
7474
d87e83b9
SC
74752004-03-02 Stephane Carrez <stcarrez@nerim.fr>
7476
7477 * config/m68hc11/m68hc11.md (move peephole2): New peepholes to optimize
7478 sequences of moves.
7479 (add peepholes): New peepholes to optimize sequences adding small
7480 constants.
7481 (bset peepholes): New peepholes to transform an OR in a bset form
7482 (bclr peepholes): Likewise for bclr form.
7483 (cmp peepholes): New peepholes to avoid register copies when comparing.
7484
d5111c9c
SC
74852004-03-02 Stephane Carrez <stcarrez@nerim.fr>
7486
7487 * config/m68hc11/m68hc11.md ("*pushdi_internal"): New insn and split
7488 to separate push from moves.
7489 ("*pushdf_internal"): Likewise.
7490 ("*pushsf_internal"): Likewise.
7491 ("*pushsi_internal"): Likewise.
7492 ("movdi_internal"): Use define_insn_and_split; non push operand.
7493 ("movdf_internal"): Likewise.
7494 ("movsf_internal"): Likewise.
7495 ("movsi_internal"): Likewise.
7496 ("*movhi_68hc12", "*addhi3_68hc12"): Fix and tune constraints
7497 ("*addhi3", "*subhi3", "*andhi3_mem", "*iorhi3_mem"): Likewise.
7498 ("*ashlsi3_const1", "*lshrsi3_const1"): Likewise.
7499
9449502d
SC
75002004-03-02 Stephane Carrez <stcarrez@nerim.fr>
7501
7502 * config/m68hc11/m68hc11.md ("tstqi_z_used"): Use define_insn_and_split.
7503 ("cmphi_z_used", "cmpqi_z_used"): Likewise.
7504 ("movstrictsi", "movstricthi", "movstrictqi"): Likewise.
7505 ("anddi3", "andsi3", "iordi3", "iorsi3"): Likewise.
7506 ("xordi3", "xorsi3", "*logicalsi3_zexthi"): Likewise.
7507 ("*logicalsi3_zextqi", "*logicalhi3_zexthi_ashift8"): Likewise.
7508 ("logicalhi3_zexthi", "*logicalsi3_silshr16"): Likewise.
7509 ("*logicalsi3_silshl16", "*logicalsi3_silshl16_zext"): Likewise.
7510 ("*ashldi3_const32", "*ashldi3_const1", "addsi_silshr16"): Likewise.
7511 ("addsi_andshr16", "*ashlsi3_const16_zexthi"): Likewise.
7512 ("*lshrdi3_const32", "*lshrdi_const1"): Likewise.
7513
b90f3299
SC
75142004-03-02 Stephane Carrez <stcarrez@nerim.fr>
7515
7516 * config/m68hc11/m68hc11.md (SOFT_TMP_REGNUM): Define.
7517 (SOFT_XY_REGNUM): Define.
7518 (cmp split): Use the above instead of hard coded numbers.
7519 (8-bit op split): No need to check the mode; allow Q_REG.
7520 (ashift split): Adjust the first operand if it uses the SP and we
7521 are pushing the shifted value.
7522 (plus shift split): Fix when a source is in register D+X.
7523 ("doloop_end"): Pass dummy arguments to gen_rtx_NE.
7524
77d2a36d
SC
75252004-03-02 Stephane Carrez <stcarrez@nerim.fr>
7526
7527 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix when
7528 comparing with Z register.
7529
f2dca510
ZD
75302004-03-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7531
7532 * cfgloop.h (struct loop_desc): Removed.
7533 (struct loop): Fields simple, desc and has_desc removed.
7534 (simple_loop_p, count_loop_iterations): Declaration removed.
7535 * cfgloopanal.c (struct unmark_altered_insn_data): Removed.
7536 (unmark_altered, blocks_invariant_registers, unmark_altered_insn
7537 blocks_single_set_registers, invariant_rtx_wrto_regs_p_helper,
7538 invariant_rtx_wrto_regs_p, test_for_iteration, constant_iterations,
7539 simple_loop_exit_p, variable_initial_value, variable_initial_values,
7540 simple_condition_p, simple_increment, count_strange_loop_iterations,
7541 inverse, fits_in_mode_p, simple_loop_p, count_loop_iterations):
7542 Removed.
7543 * loop-iv.c (check_simple_exit, find_simple_exit): Update comments.
7544
87ca8b8c
KH
75452004-03-02 Kazu Hirata <kazu@cs.umass.edu>
7546
7547 * genattrtab.c: Don't handle MATCH_INSN.
7548 * genrecog.c: Likewise.
7549 * gensupport.c: Likewise.
7550 * rtl.def (match_insn): Remove.
7551 * doc/md.texi (match_insn, match_insn2): Remove.
7552
bdc2893c
MM
75532004-03-02 Mark Mitchell <mark@codesourcery.com>
7554
7555 * doc/c-tree.texi (DECL_ASSEMBLER_NAME): Mention that using this
7556 macro results in memory allocation.
7557
2de2f846
DB
75582004-03-02 David O'Brien <obrien@FreeBSD.org>
7559
7560 * config/freebsd-spec.h (FBSD_DYNAMIC_LINKER): Add.
7561 * config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Define
7562 %(fbsd_dynamic_linker),
7563 (LINK_SPEC): Use %(fbsd_dynamic_linker), and sync style with
7564 config/i386/freebsd.h
7565 * config/arm/freebsd.h: Ditto.
7566 * config/i386/freebsd.h: Ditto.
7567 * config/i386/freebsd64.h: Ditto.
7568 * config/ia64/freebsd.h: Ditto.
7569 * config/rs6000/sysv4.h: Ditto.
7570 * config/sparc/freebsd.h: Ditto.
7571
f08dc6c1
LR
75722004-03-02 Loren James Rittle <ljrittle@acm.org>
7573
7574 * gcc/doc/install.texi (*-*-freebsd*): Update target information.
7575
c24938d4
KH
75762004-03-02 Kazu Hirata <kazu@cs.umass.edu>
7577
7578 * rtl.def (define_combine): Remove.
7579
ba29f5de
KH
75802004-03-02 Kazu Hirata <kazu@cs.umass.edu>
7581
7582 * config/h8300/h8300.md: Tweak formatting.
7583
a5a0ab45
KH
75842004-03-02 Kazu Hirata <kazu@cs.umass.edu>
7585
7586 * config/h8300/h8300.md (*cmphi_h8300): Rename to
7587 *cmphi_h8300_znvc.
7588 (*cmphi_h8300hs): Rename to *cmphi_h8300hs_znvc.
7589
e451301f
MM
75902004-03-01 Mark Mitchell <mark@codesourcery.com>
7591
7592 PR bootstrap/14356
7593 * gcc.c (process_command): Remove const-qualification from argv.
7594 (main): Likewise.
7595
b698e58b
KH
75962004-03-02 Kazu Hirata <kazu@cs.umass.edu>
7597
7598 * config/h8300/h8300.md (pushqi1_h8300hs): Rename to
7599 pushqi1_h8300hs_advanced. Adjust its caller.
7600 (pushhi1_h8300hs): Rename to pushhi1_h8300hs_advanced.
7601 Adjust its caller.
7602
a5c40cfb 76032004-03-02 Nicolas Roche <roche@act-europe.fr>
3a41db81
NR
7604
7605 * Makefile.in (install-libgcc, install-multilib): Pass
7606 mkinstalldirs var to libgcc.mk.
7607
fdf89bf5
KH
76082004-03-01 Kazu Hirata <kazu@cs.umass.edu>
7609
7610 * system.h (DBX_OUTPUT_STANDARD_TYPES): Poison.
7611 * doc/tm.texi (DBX_OUTPUT_STANDARD_TYPES): Remove.
7612
0e26895c
KH
76132004-03-01 Kazu Hirata <kazu@cs.umass.edu>
7614
7615 * config/h8300/h8300.c (gtle_operator): Accept GT and LE.
7616 * config/h8300/h8300.md: Split several peephole2's, each into
7617 two.
7618
738ed977
ZD
76192004-03-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7620
7621 * dominance.c (recount_dominator): Handle postdominators.
7622
e245bd81
RS
76232004-03-01 Richard Sandiford <rsandifo@redhat.com>
7624
7625 * config/mips/mips-protos.h (enum mips_symbol_type): Move from mips.h.
7626 (NUM_SYMBOL_TYPES): Likewise.
7627 (SYMBOL_64_HIGH, SYMBOL_64_MID, SYMBOL_64_LOW): New symbol types.
7628 (mips_unspec_address): Declare.
7629 (mips_gotoff_page, mips_gotoff_global): Delete.
7630 * config/mips/mips.h (PREDICATE_CODES): Add general_symbolic_operand.
7631 * config/mips/mips.c (enum mips_symbol_type, NUM_SYMBOL_TYPES): Delete.
7632 (mips_symbolic_constant_p, mips_symbolic_address_p)
7633 (mips_symbol_insns): Handle new symbol types.
7634 (general_symbolic_operand): New predicate.
7635 (mips_unspec_address): Make extern.
7636 (mips_gotoff_page, mips_gotoff_global): Delete.
7637 (override_options): Allow -mabi=64 -mno-abicalls -mexplicit-relocs.
7638 Handle new symbol types.
7639 * config/mips/mips.md (*lea_high64, *lea64): New patterns.
7640 (*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_disp[sd]i): Call
7641 mips_unspec_address directly.
7642 * doc/invoke.texi: Remove the -mabi=64 -mno-abicalls exception from
7643 the documentation of -mexplicit-relocs.
7644
9bf793f9
JL
76452004-03-01 Jeff Law <law@redhat.com>
7646
7647 * fold-const.c (fold): An equality comparison of a non-weak object
7648 against zero has a known result. Similarly an equality comparison
7649 of the address of two non-weak, unaliased symbols has a known result.
91e01231 7650
9bf793f9
JL
7651 * ggc-page.c (struct page_entry): New field PREV.
7652 (ggc_alloc): Update PREV field appropriately.
7653 (sweep_pages): Likewise.
7654 (ggc_free): Likewise. Use PREV field rather than loop to
7655 improve ggc_free performance.
91e01231 7656
c9e0ce37
RS
76572004-03-01 Richard Sandiford <rsandifo@redhat.com>
7658
7659 * config/mips/mips.c (mips_output_division): Use the division
7660 instruction to fill the delay slot of a zero check.
7661 (mips_idiv_insns): Adjust accordingly.
7662
65d151a7
NN
76632004-03-01 Nathanael Nerode <neroden@gcc.gnu.org>
7664
7665 * config.gcc: Create a default tmake_file for linux, and use
7666 it in all but two linux clauses. Comment those two.
7667
9a5a17f3
PB
76682004-03-01 Paolo Bonzini <bonzini@gnu.org>
7669
7670 * combine.c (try_combine): Do not refer to is_replaced.
7671 (gen_lowpart_for_combine): Perverse subregs now have a
7672 more politically correct name.
7673 * cse.c (cse_insn): Likewise.
7674 * jump.c: Fix bogus reference to delete_insn.
7675
c5b6f18e
MM
76762004-02-29 Mark Mitchell <mark@codesourcery.com>
7677
5bb2ed2c
MM
7678 PR debug/14328
7679 * dwarf2out.c (gen_enumeration_type_die): Output all enumeration
7680 constants as signed values.
7681
c5b6f18e
MM
7682 PR middle-end/13448
7683 * c-tree.h (readonly_warning): Rename to ...
7684 (readonly_error): ... this.
7685 * c-typeck.c (build_unary_op): Adjust accordingly.
7686 (readonly_warning): Rename to ...
7687 (readonly_error): ... this and issue errors, not warnings.
7688 (build_modify_expr): Call readonly_error, not readonly_warning.
7689 (c_expand_asm_operands): Likewise.
7690 * tree-inline.c (optimize_inline_calls): Do not inline functions
7691 after errors have occurred.
7692
8bb915b6
NN
76932004-02-29 Nathanael Nerode <neroden@gcc.gnu.org>
7694
7695 * configure.ac: Rearrange some threading code for clarity;
7696 add section comment.
7697 * configure: Regenerate.
7698
4ee31f1e
KH
76992004-02-29 Kazu Hirata <kazu@cs.umass.edu>
7700
7701 * passes.c, config/frv/frv.c, config/sh/sh.c: Fix comment
7702 typos.
7703 * doc/cppopts.texi: Fix a typo.
7704
15ec19b9
KH
77052004-02-29 Kazu Hirata <kazu@cs.umass.edu>
7706
7707 * config/i386/i386.md: Fix formatting.
7708
cbff2c1c
NN
77092004-02-29 Nathanael Nerode <neroden@gcc.gnu.org>
7710
630327c3
NN
7711 * configure.ac: Add some comments delineating sections of code.
7712
38fe9090
NN
7713 * doc/install.texi: Note that libada uses autoconf 2.57 also.
7714
42fce956
NN
7715 * doc/install.texi: Fix idiot typo in previous commit.
7716
cbff2c1c
NN
7717 * doc/install.texi: Update for conversion of intl to autoconf 2.57.
7718
c8574b54
KH
77192004-02-29 Kazu Hirata <kazu@cs.umass.edu>
7720
7721 * config/h8300/h8300.md: Add comments about peephole2's.
7722
2f537af9
KH
77232004-02-29 Kazu Hirata <kazu@cs.umass.edu>
7724
7725 * config/h8300/h8300.md: Tweak operand numbers of some
7726 peephole2's.
7727
a207f649
KH
77282004-02-29 Kazu Hirata <kazu@cs.umass.edu>
7729
7730 * config/h8300/h8300.md: Tweak comments about peephole2's.
7731
bc41842b
RS
77322004-02-29 Waldek Hebisch <hebisch@math.uni.wroc.pl>
7733
7734 PR middle-end/14203
7735 * function.c (uninitialized_vars_warning): Use DECL_RTL_SET_P
7736 instead of testing whether DECL_RTL is not NULL.
7737
832a3292
KH
77382004-02-28 Kazu Hirata <kazu@cs.umass.edu>
7739
7740 * config/sh/sh.c: Fix formatting.
7741
508ea1c5
KH
77422004-02-28 Kazu Hirata <kazu@cs.umass.edu>
7743
7744 * config/sh/sh.c: Convert to ISO-C.
7745
dd833c7b 77462004-02-28 Andrew Pinski <pinskia@physics.uc.edu>
91e01231 7747
8cd6bdd1
AP
7748 * c-typeck.c (tagged_types_tu_compatible_p): Fix pasto in
7749 my previous patch.
dd833c7b
AP
7750
7751 * config/darwin.h (machopic_finish): Output stub even if the
7752 symbol is already defined.
7753
5f190838
JDA
77542004-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7755
7756 * pa64-hpux.h (LIB_SPEC): Fix linking under HP-UX 11.00 with -p and -pg.
7757
c1a41c2f
KH
77582004-02-28 Kazu Hirata <kazu@cs.umass.edu>
7759
7760 * genattr.c (main): Don't define
7761 TRADITIONAL_PIPELINE_INTERFACE or DFA_PIPELINE_INTERFACE.
7762 * system.h (TRADITIONAL_PIPELINE_INTERFACE): Poison.
7763 (DFA_PIPELINE_INTERFACE): Likewise.
7764 * doc/tm.texi (TRADITIONAL_PIPELINE_INTERFACE): Remove.
7765 (DFA_PIPELINE_INTERFACE): Likewise.
7766
757f9053
RS
77672004-02-28 Richard Sandiford <rsandifo@redhat.com>
7768
7769 * config/mips/mips.md (tstsi, tstdi): Delete.
7770
23cf6987
MR
77712004-02-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
7772
91e01231 7773 * config/mips/mips.c (override_options): Remove an obsolete
23cf6987
MR
7774 duplicate definition of the "e" constraint.
7775 * config/mips/mips.h: Update a comment accordingly.
7776
bddbfe5f
MR
77772004-02-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
7778
7779 * config/mips/mips.md: Complete the unfinished R4000
7780 multiply/shift errata workaround. Improve documentation.
7781 (hazard): Use TARGET_FIX_R4000 to decide whether an "imul" instruction
7782 has a hilo hazard.
7783 (mulsi3, mulsi3_internal, mulsi3_r4000): Use TARGET_FIX_R4000.
7784 (muldi3, muldi3_internal): Likewise.
7785 (muldi3_internal2): Remove, replacing with...
7786 (muldi3_mult3, muldi3_r4000): ...these new patterns.
7787 (mulsidi3): Take the errata into account.
7788 (mulsidi3_32bit): Remove, replacing with...
7789 (mulsidi3_32bit_internal, mulsidi3_32bit_r4000): ...these new patterns.
7790 (mulsidi3_64bit, mulsidi3_64bit_parts): Disable if TARGET_FIX_R4000.
7791 (umulsidi3): Take the errata into account.
7792 (umulsidi3_32bit): Remove, replacing with..
7793 (umulsidi3_32bit_internal, umulsidi3_32bit_r4000): ...these patterns.
7794 (umulsi3_highpart, umulsi3_highpart_internal): Disable if
7795 TARGET_FIX_R4000.
7796 (smulsi3_highpart, smulsi3_highpart_internal): Likewise.
7797 (smuldi3_highpart, umuldi3_highpart): Likewise.
7798 * doc/invoke.texi: Document the errata workaround.
7799
46490403
MR
78002004-02-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
7801
7802 * config/mips/mips-protos.h (mips_idiv_insns): Declare.
7803 * config/mips/mips.h (MASK_FIX_SB1): Bump.
7804 (MASK_FIX_R4000, TARGET_FIX_R4000): New macros.
7805 (TARGET_SWITCHES): Add -mfix-r4000 and -mno-fix-r4000.
7806 * config/mips/mips.c (mips_idiv_insns): New function.
7807 (override_options): Make -march=r4000 imply -mfix-r4000 by default.
7808 (mips_output_division): Add a workaround for the R4000 divide/shift
7809 errata.
7810 * config/mips/mips.md (length): Use mips_idiv_insns() to calculate
7811 the length of an "idiv" instruction.
7812 * doc/invoke.texi: Document the new switches.
7813
1b2c3767
KH
78142004-02-28 Kazu Hirata <kazu@cs.umass.edu>
7815
7816 * doc/tm.texi (IS_COSTLY_DEPENDENCE): Change to
7817 TARGET_SCHED_IS_COSTLY_DEPENDENCE.
7818
79771cc4
ZD
78192004-02-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7820
7821 PR optimization/14229
7822 * cfgrtl.c (rtl_tidy_fallthru_edge): Do not fail for !onlyjump jump.
7823
68a1a5da
EB
78242004-02-28 Eric Botcazou <ebotcazou@act-europe.fr>
7825
7826 * fold-const.c (fold): Strip NOPs that change the signedness
7827 for RSHIFT too. Expand comment.
7828
a10016d3
ILT
78292004-02-27 Ian Lance Taylor <ian@wasabisystems.com>
7830
7831 PR optimization/7871
7832 * flow.c (mark_set_1): Don't add LOG_LINKS for global registers
68a1a5da 7833 from or to call insns.
a10016d3
ILT
7834
78352004-02-27 Eric Botcazou <ebotcazou@libertysurf.fr>
7836
7837 PR optimization/7871
7838 * flow.c (propagate_one_insn): Interpret calls as setting global
7839 registers, not merely clobbering them.
7840
b30e1617 78412004-02-27 Dale Johannesen <dalej@apple.com>
a10016d3 7842
b30e1617
DJ
7843 * config/darwin.c (machopic_output_possible_stub_label): Remove.
7844 config/darwin-protos.h: Ditto.
7845 config/darwin.h: Remove call to it.
7846 * combine.c (distribute_notes): Do not place a REG_DEAD note
7847 when value is both set and used.
7848
bbc51dc2
KH
78492004-02-27 Kazu Hirata <kazu@cs.umass.edu>
7850
7851 * config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
7852 as well.
7853 * config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
7854 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
7855
dedbabed
AP
78562004-02-27 Andrew Pinski <apinski@apple.com>
7857
7858 * c-typeck.c (tagged_types_tu_compatible_p) <ENUMERAL_TYPE>:
7859 Speedup common case of the type values being in the same order.
7860
b6b979d4
SE
78612004-02-27 Steve Ellcey <sje@cup.hp.com>
7862
7863 * config/ia64/ia64.h (no-inline-float-divide): New option.
7864 * config/ia64/ia64.h (no-inline-int-divide): New option.
7865 * config/ia64/ia64.h (no-inline-sqrt): New option.
7866 (TARGET_DEFAULT): Add MASK_INLINE_FLOAT_DIV_THR to define.
7867 * config/ia64/hpux.h (TARGET_DEFAULT): Ditto.
7868 * config/ia64/ia64.c (ia64_override_options): Modify error
7869 checking for inlined division/sqrt.
7870
88462c42
KH
78712004-02-27 Kazu Hirata <kazu@cs.umass.edu>
7872
7873 * bb-reorder.c, cfgbuild.c, diagnostic.c, explow.c, profile.c,
7874 ra-build.c, read-rtl.c, tracer.c, unwind-dw2-fde-glibc.c,
7875 value-prof.c, config/darwin-protos.h, config/frv/frv-abi.h,
7876 config/i386/pmmintrin.h, config/pa/pa-hpux.h: Update
7877 copyright.
7878
53c428d0
PB
78792004-02-27 Paul Brook <paul@codesourcery.com>
7880
7881 * function.c (assign_parms): Don't count pretend args for alignment.
7882
f6db1481
RH
78832004-02-27 Richard Henderson <rth@redhat.com>
7884
7885 * passes.c: New file.
7886 * Makefile.in (OBJS-common): Add it.
7887 * diagnostic.c (rtl_dump_and_exit): Move decl ...
7888 * flags.h (rtl_dump_and_exit): ... here.
91e01231 7889 * output.h (size_directive_output, last_assemble_variable_decl):
f6db1481
RH
7890 Move from toplev.c.
7891 * rtl.h (reg_alloc): Move from toplev.c.
7892 * toplev.c (HAVE_conditional_execution, DUMPFILE_FORMAT,
7893 struct dump_file_info, enum dump_file_index, dump_file_tbl,
7894 open_dump_file, close_dump_file, rest_of_decl_compilation,
7895 rest_of_type_compilation, rest_of_handle_final,
91e01231 7896 rest_of_handle_delay_slots, rest_of_handle_stack_regs,
f6db1481
RH
7897 rest_of_handle_variable_tracking, rest_of_handle_machine_reorg,
7898 rest_of_handle_new_regalloc, rest_of_handle_old_regalloc,
7899 rest_of_handle_regrename, rest_of_handle_reorder_blocks,
7900 rest_of_handle_sched, rest_of_handle_sched2, rest_of_handle_regmove,
91e01231 7901 rest_of_handle_tracer, rest_of_handle_if_conversion,
f6db1481
RH
7902 rest_of_handle_if_after_combine, rest_of_handle_web,
7903 rest_of_handle_branch_prob,
7904 rest_of_handle_value_profile_transformations, rest_of_handle_cfg,
91e01231 7905 rest_of_handle_addressof, rest_of_handle_sibling_calls,
f6db1481
RH
7906 rest_of_handle_jump_bypass, rest_of_handle_inlining,
7907 rest_of_handle_null_pointer, rest_of_handle_combine,
7908 rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
91e01231 7909 rest_of_handle_gcse, rest_of_handle_loop_optimize,
f6db1481
RH
7910 rest_of_handle_loop2, rest_of_compilation): Move to passes.c.
7911 (decode_d_option): Use enable_rtl_dump_file.
7912 (compile_file, finalize, do_compile): Move profile+combine+graph
7913 cleanup to finish_optimization_passes.
7914 * toplev.h (init_optimization_passes, finish_optimization_passes,
7915 enable_rtl_dump_file): Declare.
7916
288dc1ea 79172004-02-27 Eric Botcazou <ebotcazou@act-europe.fr>
3205a71e 7918 Roger Sayle <roger@eyesopen.com>
288dc1ea
EB
7919
7920 * fold-const.c (fold): Revert 2004-02-25 change. Use the original
7921 operands to build a tree with swapped operands.
7922 * expr.c (expand_expr_real) <MAX_EXPR>: Consistently use the
7923 'unsignedp' predicate to specify the signedness.
7924
a1105617
KH
79252004-02-27 Kazu Hirata <kazu@cs.umass.edu>
7926
7927 * c-decl.c, c-ppoutput.c, combine.c, cppfiles.c, dwarf2out.c,
7928 expr.c, fold-const.c, gcc.c, haifa-sched.c, loop-iv.c,
7929 params.def, read-rtl.c, rtl.c, rtlanal.c, toplev.c: Fix
7930 comment typos and formatting. Follow spelling conventions.
7931
d095928f
AH
79322004-02-26 Aldy Hernandez <aldyh@redhat.com>
7933
7934 * config/rs6000/rs6000.md: Add fixuns_truncsfsi2 and
7935 fix_truncsfsi2.
7936
7937 * config/rs6000/spe.md: Delete spe_efsctuiz.
7938 Add spe_fixuns_truncsfsi2.
7939 Add spe_fix_truncsfsi2.
91e01231 7940
21526606
EC
79412004-02-26 Eric Christopher <echristo@redhat.com>
7942
7943 * c-lex.c (c_lex_string_translate): New variable.
7944 (lex_string): Use to determine string translation.
7945 * c-pragma.h: Prototype.
7946 * c-parse.in (start_string_translation): New. Set above.
7947 (stop_string_translation): Ditto.
7948 (attribute, attribute_list, asm_def, asm_stmt,
7949 asm_operand): Use above functions.
7950 * cp/parser.c (cp_parser_declaration): Translate strings
7951 unless token is RID_EXTERN. Set c_lex_string_translate
7952 for recursive use.
7953 (cp_parser_asm_definition): Only translate argument strings
7954 to asms.
7955 (cp_parser_asm_operand_list): Ditto.
7956 (cp_parser_attribute_list): Do not translate attribute strings.
7957
e8eebd31
KH
79582004-02-26 Kazu Hirata <kazu@cs.umass.edu>
7959
7960 * stmt.c (expand_start_case_dummy): Remove.
7961 * tree.h: Remove the corresponding prototype.
7962
8f2de5f1
KH
79632004-02-26 Kazu Hirata <kazu@cs.umass.edu>
7964
7965 * builtins.c (apply_args_register_offset): Remove.
7966 * tree.h: Remove the corresponding prototype.
7967
c7924937
KH
79682004-02-26 Kazu Hirata <kazu@cs.umass.edu>
7969
7970 * stor-layout.c (is_pending_size): Remove.
7971 * tree.h: Remove the corresponding prototype.
7972
ca0afc29
KH
79732004-02-26 Kazu Hirata <kazu@cs.umass.edu>
7974
7975 * recog.c (validate_replace_src): Remove.
7976 * recog.h: Remove the corresponding prototype.
7977
6c5caf00
KH
79782004-02-26 Kazu Hirata <kazu@cs.umass.edu>
7979
7980 * calls.c: Don't reference FINAL_REG_PARM_STACK_SPACE or
7981 MAYBE_REG_PARM_STACK_SPACE.
7982 * function.c: Likewise.
7983 * system.h (FINAL_REG_PARM_STACK_SPACE): Poison.
7984 (MAYBE_REG_PARM_STACK_SPACE): Likewise.
7985 * doc/tm.texi (FINAL_REG_PARM_STACK_SPACE): Remove.
7986 (MAYBE_REG_PARM_STACK_SPACE): Likewise.
7987
17fd9cb9
KH
79882004-02-26 Kazu Hirata <kazu@cs.umass.edu>
7989
7990 * c-decl.c (c_expand_deferred_function): Remove.
7991 * c-tree.h: Remove the corresponding prototype.
7992
ec5de8d8
KH
79932004-02-26 Kazu Hirata <kazu@cs.umass.edu>
7994
7995 * postreload.c (reload_cse_move2add): Generate just a PLUS
7996 instead of an entire SET.
7997
5bbeea44
JH
79982004-02-26 Jan Hubicka <jh@suse.cz>
7999
8000 * config.gcc: Add support for nocoma/prescott/pentium-m/pentium3m
8001 /pentium4m.
8002 * i386.c (override_options): Add support for new CPUs.
8003 * i386.h (TARGET_CPU_DEFAULT_NAMES): New names.
8004 (TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_pentium4e): New
8005 constants.
8006 * invoke.texi: Extend documentation of -mtune/-march for new CPUs.
8007
48c0150c
BW
80082004-02-26 Bob Wilson <bob.wilson@acm.org>
8009
8010 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define __xtensa__.
8011
b178305d
EB
80122004-02-26 Eric Botcazou <ebotcazou@act-europe.fr>
8013
8014 * config/sparc/sparc-protos.h (sparc_emit_floatunsdi): Add 'mode'.
8015 (sparc_emit_fixunsdi): New prototype.
8016 * config/sparc/sparc.c (sparc_emit_floatunsdi): Use 'mode' argument.
8017 (sparc_emit_fixunsdi): New function.
8018 * config/sparc/sparc.md (floatunsdisf2): Use 'general_operand' for
8019 operand 1. Pass SFmode to sparc_emit_floatunsdi.
8020 (floatunsdidf2): Use 'general_operand' for operand 1. Pass DFmode
8021 to sparc_emit_floatunsdi.
8022 (fixuns_truncsfdi2): New expander.
8023 (fixuns_truncdfdi2): Likewise.
8024
fb643f64
AM
80252004-02-26 Alan Modra <amodra@bigpond.net.au>
8026
8027 * gcse.c (delete_null_pointer_checks_1): Do not delete CC setter
8028 unless HAVE_cc0.
8029
4a4f95d9
RH
80302004-02-25 Richard Henderson <rth@redhat.com>
8031
8032 * explow.c (force_reg): Call mark_reg_pointer as appropriate.
8033 * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't
8034 use (op0-op1) == 0 if op0 is a pointer.
8035 * config/alpha/alpha.md (cmpdi): Use some_operand.
8036 (three comparison combine splits): Remove.
8037
f6a76b9f
RH
80382004-02-25 Richard Henderson <rth@redhat.com>
8039
0d593f31 8040 PR c/12794
f6a76b9f
RH
8041 * c-common.c (handle_alias_attribute): Reject the attribute if
8042 current_function_decl is set.
8043
30500d84
KC
80442004-02-25 Kelley Cook <kcook@gcc.gnu.org>
8045
8046 * config.gcc: Add comment describing extra_gcc_objs.
8047 i[34567]86-*-cygwin*): Replace host_extra_gcc_objs with extra_gcc_objs.
8048 * configure.ac (extra_gcc_objs): New substitution variable.
8049 (host_extra_gcc_objs): Don't substitute.
8050 * configure: Regenerate.
8051 * Makefile.in: Use extra_gcc_objs.
8052
ed80fa2e
KC
80532004-02-25 Kelley Cook <kcook@gcc.gnu.org>
8054
8055 * doc/contrib.texi: Add an entry for myself.
8056
12c3874e
JH
80572004-02-25 Jan Hubicka <jh@suse.cz>
8058
8059 * basic-block.h (make_eh_edge, break_superblocks): Declare.
8060 * cfgbuild.c (make_eh_edge): Make global.
8061 * cfglayout.c (break_superblocks): Likewise; fix memory leak.
8062 * except.c (build_post_landing_pads, connect_post_landing_pads,
8063 dw2_build_landing_pads, sjlj_emit_function_enter,
21526606 8064 sjlj_emit_function_exit, sjlj_emit_dispatch_table,
12c3874e
JH
8065 sjlj_build_landing_pads): Update CFG.
8066 (emit_to_new_bb_before): New function.
8067 (finish_eh_generation): Do not rebuild the CFG.
8068
7b79fe71
JDA
80692004-02-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8070
8071 * config.gcc (hppa*-*-*, parisc*-*-*): Add MASK_BIG_SWITCH to all
8072 target_cpu_default defines.
8073 * pa-hpux.h (TARGET_DEFAULT): Add MASK_BIG_SWITCH to define.
8074 * pa.h (TARGET_DEFAULT): Likewise.
8075
81fbecac
EB
80762004-02-25 Eric Botcazou <ebotcazou@act-europe.fr>
8077
8078 * fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like
8079 comparisons with regard to signedness.
8080
6f5b4f3e
RE
80812004-02-25 Richard Earnshaw <rearnsha@arm.com>
8082
8083 * arm.c (thumb_legitimize_address): New function.
8084 * arm-protos.h: Prototype it.
8085 * arm.h (THUMB_LEGITIMIZE_ADDRESS): Define.
8086 (LEGITIMIZE_ADDRESS): Use it.
8087
4ab51fb5
R
80882004-02-25 J"orn Rennecke <joern.rennecke@superh.com>
8089
8090 * reload1.c (reload): Only spill eliminable register with multiple
8091 adjacent elimination alternatives if all alternatives fail.
8092
e1471c91
RE
80932004-02-25 Richard Earnshaw <rearnsha@arm.com>
8094
8095 * arm.c (arm_legitimate_index_p): For QImode the range of an offset
8096 is -4095...+4095 inclusive.
8097
94b18ec1
EB
80982004-02-25 Eric Botcazou <ebotcazou@libertysurf.fr>
8099
8100 * doc/install.texi (sparc-sun-solaris2* specific notes): Document
8101 the bootstrap failure with Sun CC 5.4 and 5.5.
8102
2e802a6f
KH
81032004-02-24 Kazu Hirata <kazu@cs.umass.edu>
8104
8105 * cse.c (cse_change_cc_mode_insns): Stop at any instruction
8106 which modifies NEWREG.
8107 (cse_condition_code_reg): Update the mode of CC_REG in
8108 CC_SRC_INSN on our own.
8109
89ab2b79
MM
81102004-02-24 Michael Matz <matz@suse.de>
8111
8112 * config/i386/i386.c (ix86_comp_type_attributes): Check for
8113 regparm attributes.
8114
c263766c
RH
81152004-02-24 Richard Henderson <rth@redhat.com>
8116
8117 * toplev.c (dump_file_tbl): Rename from dump_file.
8118 * bb-reorder.c, bt-load.c, cfgcleanup.c, cfglayout.c, cfgloopanal.c,
c53bdcf5 8119 cfgloopmanip.c, cfgrtl.c, config/arm/arm.c, config/frv/frv.c,
c263766c
RH
8120 config/i386/i386.c, config/ia64/ia64.c, config/mips/mips.c,
8121 config/sh/sh.c, cse.c, flow.c, ifcvt.c, loop-iv.c, loop-unroll.c,
8122 loop-unswitch.c, output.h, predict.c, profile.c, ra-build.c,
8123 ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, regrename.c, reload1.c,
8124 toplev.c, tracer.c, value-prof.c, var-tracking.c, web.c:
8125 s/rtl_dump_file/dump_file/g.
8126
dba2921d
AH
81272004-02-24 Aldy Hernandez <aldyh@redhat.com>
8128
3205a71e
ZW
8129 * config/rs6000/spe.md (spe_fix_truncsfsi2): Delete.
8130 (spe_fixuns_truncsfsi2): Delete.
dba2921d 8131
3205a71e
ZW
8132 * config/rs6000/rs6000.md (fix_truncsfsi2): Delete.
8133 (fixuns_truncsfsi2): Delete.
dba2921d 8134
173cd571
JZ
81352004-02-24 Josef Zlomek <zlomekj@suse.cz>
8136
8137 PR/14240
8138 * rtlanal.c (replace_label): Fix replacing labels in constant pool.
8139
8db4d7a1
GK
81402004-02-24 Geoffrey Keating <geoffk@apple.com>
8141
8142 * config/darwin.h (TARGET_HAS_F_SETLKW): Define.
8143
896c3aa3
JM
81442004-02-24 Jason Merrill <jason@redhat.com>
8145
8146 * tree.c (check_qualified_type): New fn.
8147 (get_qualified_type): Use it. If type already has the desired
8148 quals, just return it.
8149 * tree.h: Declare it.
896c3aa3 8150
58565a33
SKG
81512003-02-24 Sanjiv Kumar Gupta <sanjivg@noida.hcltech.com>
8152
8153 * target-def.h (TARGET_SCHED_INIT_GLOBAL,
8154 TARGET_SCHED_FINISH_GLOBAL): New macros.
8155
8156 * target.h (md_init_global, md_finish_global): Function
8157 declarations corresponding to new target macros.
8158
8159 * haifa-sched.c (sched_init, sched_finish): Allow target to
8160 call the new schedular hooks.
8161
8162 * flow.c (recompute_reg_usage): Add PROP_DEATH_NOTES flag in
8163 call to update_life_info.
8164
8165 * config/sh/sh.h (OVERRIDE_OPTIONS): Re-enable
8166 flag_schedule_insns for SH4.
8167
8168 * config/sh/sh.c (sh_md_init_global, sh_md_finish_global,
8169 find_set_regmode_weight, find_insn_regmode_weight,
8170 find_regmode_weight), sh_md_init, sh_dfa_new_cycle,
8171 sh_variable_issue, high_pressure, ready_reorder,
8172 rank_for_reorder, swap_reorder, sh_reorder, sh_reorder2): New
8173 functions used to throttle the insn movement in first
8174 scheduling pass for SH.
8175
8176 * gcc/doc/tm.texi: Document TARGET_SCHED_INIT_GLOBAL and
8177 TARGET_SCHED_FINISH_GLOBAL.
8178
34208acf
AO
81792004-02-24 Alexandre Oliva <aoliva@redhat.com>
8180
8181 Implement FR-V FDPIC ABI support for frv-uclinux and frv-linux.
8182 2004-02-05 Alexandre Oliva <aoliva@redhat.com>
8183 * config/frv/frv.c (frv_emit_movsi): Use GOT relocations for
8184 symbols in sections named by the user.
8185 2004-01-30 Alexandre Oliva <aoliva@redhat.com>
8186 * config/frv/linux.h (TARGET_OS_CPP_BUILTINS): New.
8187 2004-01-27 Alexandre Oliva <aoliva@redhat.com>
8188 * config.gcc (frv-*-*linux*): Handle like *-*-linux*.
8189 * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove, obviated by
8190 the above.
8191 2004-01-20 Alexandre Oliva <aoliva@redhat.com>
8192 * config/frv/frv.md (symGOT2reg_hilo, symGOTOFF2reg_hilo): Add
8193 one more pseudo to further improve code generation.
8194 2004-01-19 Alexandre Oliva <aoliva@redhat.com>
8195 * config/frv/frv.md (movdi_ldd): Introduce explicit indirection
8196 inside UNSPEC.
8197 2004-01-16 Alexandre Oliva <aoliva@redhat.com>
8198 * config/frv/frv.c (frv_legitimate_address_p): Added
8199 allow_double_reg_p argument. Adjust all callers. Use it to
8200 decide whether to enable double-register indirect addressing.
8201 (frv_funcdesc_alias_set): Remove.
8202 (frv_expand_fdpic_call): Force non-SYMBOL_REF operand into
8203 register. Emit movdi_ldd.
8204 (ldd_address_operand): New.
8205 * config/frv/frv-protos.h (frv_legitimate_address_p): Adjust.
8206 * config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
8207 (PREDICATE_CODES): Add ldd_address_operand.
8208 * config/frv/frv.md (movdi_ldd): New.
8209 (symGOT2reg_hilo, symGOTOFF2reg_hilo): Use separate pseudo for
8210 intermediate computations if possible.
8211 (symGOTOFF2reg_i): Fix harmless typo.
8212 2003-12-18 Alexandre Oliva <aoliva@redhat.com>
8213 * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Cast
8214 relocated p_vaddr to vaddr type.
8215 * config/frv/frv-protos.h (frv_expand_fdpic_call): Return void.
8216 * config/frv/frv.c (frv_get_funcdesc_alias_set): New.
8217 (frv_expand_fdpic_call): Propagate incoming MEM's expr to funcdesc
8218 MEM, or use a funcdesc alias set. Use regular move instead of
8219 ldd.
8220 (dbl_memory_one_insn_operand): Recognize function descriptors by
8221 type or by alias set, and don't split them.
8222 * config/frv/frv.md (call, call_value): Never use call_internal
8223 for fdpic.
8224 (call_internal, call_value_internal): Never match for FDPIC.
8225 (call_fdpicdi, call_fdpicsi, call_value_fdpicdi,
8226 call_value_fdpicsi): Require FDPIC.
8227 (ldd): Removed.
8228 2003-12-17 Alexandre Oliva <aoliva@redhat.com>
8229 * config/frv/frv.h (CRT_GET_RFIB_DATA): Define for __FRV_FDPIC__.
8230 * unwind-dw2-fde-glibc.c: Don't include elf-fdpic.h any more.
8231 (_Unwind_IteratePhdrCallback): Adjust type of load_base for FRV
8232 FDPIC. Compute data base address.
8233 * config/frv/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Enable -mfdpic
8234 before the other self-specs are processed.
8235 * config/frv/t-linux (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
8236 Build with -fPIC.
8237 2003-12-15 Alexandre Oliva <aoliva@redhat.com>
8238 * unwind-dw2-fde-glibc.c: Don't include bits/elf-fdpic.h if
8239 inhibit_libc is defined.
8240 2003-12-12 Alexandre Oliva <aoliva@redhat.com>
8241 * unwind-dw2-fde-glibc.c: Include bits/elf-fdpic.h for
8242 __FRV_FDPIC__.
8243 (__RELOC_POINTER): Define.
8244 (_Unwind_IteratePhdrCallback): Use it.
8245 * config/frv/frv.h (Twrite): Define.
8246 (TRANSFER_FROM_TRAMPOLINE): Use it.
8247 * config/frv/linux.h (INVOKE__main): Undefine.
8248 (Twrite): Override.
8249 2003-12-05 Richard Sandiford <rsandifo@redhat.com>
8250 * doc/invoke.texi (-mlong-calls, -mlinked-fp): Document FRV options.
8251 (-mlibrary-pic): Emphasize that this option generates EABI code.
8252 (-mcpu): Add fr550.
8253 (-mpack): Remove.
8254 2003-11-30 Alexandre Oliva <aoliva@redhat.com>
8255 * config/frv/frv.c (int_2word_operand): Reject LABELs, SYMBOL_REFs
8256 and CONSTs in FDPIC mode.
8257 * gcc/config.gcc (with_cpu): Default to fr400 on frv-*-*linux*.
8258 2003-11-29 Richard Sandiford <rsandifo@redhat.com>
8259 * config/frv/frv.c (move_source_operand): Don't accept symbolic
8260 constants.
8261 * config/frv/frv.md (*movhi_internal, *movsi_internal): Use an 'n'
8262 rather than 'i' constraint for the 2-instruction alternative.
8263 (*movsi_2word): New, incorporating existing int_2word_operand splitter.
8264 2003-11-29 Richard Sandiford <rsandifo@redhat.com>
8265 * config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Q): Renamed from
8266 EXTRA_CONSTRAINT_FOR_Y.
8267 (EXTRA_CONSTRAINT): Remove handling of 'Y'.
8268 * config/frv/frv.md (*movsi_internal): Remove 'Q' constraint.
8269 (addsi3): Change 'Y' constraint to 'Q'.
8270 2003-11-27 Richard Sandiford <rsandifo@redhat.com>
8271 * reload.c (CONST_POOL_OK_P): New macro.
8272 (find_reloads): Use it to decide whether a constant can be forced
8273 into memory.
8274 * config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Return true if the
8275 constant satisfies got12_operand.
8276 (frv_cannot_force_const_mem): Always return true for TARGET_FDPIC.
8277 (frv_legitimate_address_p): Check for valid unspec offsets using
8278 got12_operand rather than frv_legitimate_fdpic_operand_p.
8279 (frv_legitimate_fdpic_operand_p): Delete.
8280 (frv_emit_movsi): Abort if we try to use the FDPIC register during
8281 or after reload.
8282 (frv_legitimate_constant_p): Return LEGITIMATE_PIC_OPERAND_P if
8283 TARGET_FDPIC.
8284 * config/frv/frv.md (*movdf_double): Add alternatives for CONST_DOUBLE.
8285 2003-11-19 Richard Sandiford <rsandifo@redhat.com>
8286 * config/frv/frv-protos.h (fdpic_operand, fdpic_got12_operand)
8287 (frv_fdpic_fptr_operand): Don't declare here.
8288 * config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Y): Call got12_operand
8289 rather than fdpic_got12_operand.
8290 (PREDICATE_CODES): Remove symbolic_operand entry. Add entries for
8291 got12_operand and const_unspec_operand.
8292 * config/frv/frv.c (got12_operand): Renamed from fdpic_got12_operand.
8293 (gpr_or_int12_operand, dbl_memory_one_insn_operand): Update calls.
8294 (symbolic_operand): Remove.
8295 (const_unspec_operand): New predicate.
8296 * config/frv/frv.md (*movsi_got): Use got12_operand.
8297 (*movsi_high_got, *movsi_lo_sum_got): Use const_unspec_operand.
8298 2003-11-18 Richard Sandiford <rsandifo@redhat.com>
8299 * config/frv/frv-protos.h (frv_output_addr_const_extra): Remove.
8300 * config/frv/frv.h (OUTPUT_ADDR_CONST_EXTRA): Remove definition.
8301 * config/frv/frv.c (frv_unspec): New structure.
8302 (frv_small_data_reloc_p, frv_const_unspec_p): New functions.
8303 (frv_print_operand_memory_reference): Use frv_const_unspec_p to
8304 validate CONST indices. Use frv_output_const_unspec to print them.
8305 (frv_print_operand): Update call to unspec_got_name. Use
8306 frv_output_const_unspec to print constant unspecs.
8307 (frv_legitimate_fdpic_operand_p): Return true if frv_const_unspec_p.
8308 Reject UNSPECs otherwise.
8309 (unspec_got_name): Take the relocation number as argument, not an
8310 rtx containing it.
8311 (frv_output_addr_const_extra): Remove, replacing with...
8312 (frv_output_const_unspec): ...this new function.
8313 (frv_find_base_term): Use frv_const_unspec_p & frv_small_data_reloc_p.
8314 (gpr_or_int12_operand): Use fdpic_got12_operand.
8315 (dbl_memory_one_insn_operand): Likewise.
8316 (fdpic_got12_operand): Use frv_const_unspec_p.
8317 (frv_emit_movsi): Use frv_const_unspec_p to check for CONSTs that
8318 are already legitimate. Use frv_small_data_reloc_p when deciding
8319 whether to use HIGH/LO_SUM for R_FRV_GOTOFF12 and R_FRV_GPREL12.
8320 2003-11-18 Alexandre Oliva <aoliva@redhat.com>
8321 * config/frv/t-linux (SHLIB_MAPFILES): Override so as to export...
8322 * config/frv/libgcc-frv.ver: ... frv-specific symbols. New file.
8323 * config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
8324 label, for real this time.
8325 * config/frv/frv.c (frv_local_funcdesc_p): Update to new
8326 representation of visibility.
8327 (fdpic_got12_operand, symbolic_operand): Mark unused arguments as
8328 such.
8329 2003-11-17 Richard Sandiford <rsandifo@redhat.com>
8330 * config/frv/frv.h (MASK_LINKED_FP, TARGET_LINKED_FP): New macros.
8331 (TARGET_SWITCHES): Add -mlinked-fp and -mno-linked-fp.
8332 * config/frv/frv.c (frv_override_options): Set MASK_LINKED_FP unless
8333 it was explicitly disabled.
8334 (frv_stack_info): There is no need to save the link register in every
8335 frame unless TARGET_LINKED_FP is true.
8336 (frv_frame_pointer_required): If !TARGET_LINKED_FP, only require a
8337 frame pointer if the stack pointer might change value.
8338 (frv_return_addr_rtx): Check and process "count" argument.
8339 2003-11-14 Richard Sandiford <rsandifo@redhat.com>
8340 * config/frv/frv-protos.h (frv_legitimize_address): Remove.
8341 (frv_find_base_term): Declare.
8342 * config/frv/frv.h (LEGITIMIZE_ADDRESS): Do nothing.
8343 (FIND_BASE_TERM): Define.
8344 (PREDICATE_CODES): Remove pic_register_operand, pic_symbolic_operand,
8345 small_data_register_operand, small_data_symbolic_operand. Add
8346 symbolic_operand.
8347 * config/frv/frv.c (const_small_data_p, plus_small_data_p): Delete.
8348 (frv_print_operand_memory_reference, output_move_single): Remove
8349 special handling for unlegitimized sdata addresses.
8350 (frv_legitimate_address_p): Don't allow sums of SDA_BASE_REG
8351 and symbolic addresses.
8352 (frv_legitimize_address, frv_legitimize_fdpic_address): Delete.
8353 (frv_find_base_term): New function.
8354 (int_2word_operand): Check specifically for symbolic address constants.
8355 (pic_register_operand, pic_symbolic_operand): Delete.
8356 (small_data_register_operand, small_data_symbolic_operand): Delete.
8357 (dbl_memory_one_insn_operand): Don't call plus_small_data_p.
8358 Allow UNSPEC_GOT constants if !TARGET_FDPIC.
8359 (move_source_operand): Only accept CONSTs if they're a two-insn
8360 symbolic constant.
8361 (fdpic_got12_operand): Don't require TARGET_FDPIC.
8362 (frv_emit_movsi): Legitimize sdata and -mlibrary-pic addresses
8363 using gen_symGOTOFF2reg*.
8364 (frv_ifcvt_rewrite_mem): Remove (plus gr16 ...) special cases.
8365 (frv_rtx_costs): Give all MEM addresses a cost of 0. Give MEMs
8366 themselves a cost of 3 insns.
8367 * config/mips/mips.md (*movsi_got): Allow for !TARGET_FDPIC too.
8368 Change predicate to symbolic_operand.
8369 (*movsi_high_got, *movsi_lo_sum_got): Likewise.
8370 (*movsi_lda_sdata): Delete.
8371 (*movsi_pic, movsi_high_pic, movsi_lo_sum_pic): Delete.
8372 2003-11-05 Alexandre Oliva <aoliva@redhat.com>
8373 * config.gcc: Add t-slibgcc-elf-ver and support --with-cpu for
8374 frv-*-*linux*.
8375 * config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
8376 label.
8377 * config/frv/frv.h (DRIVER_SELF_SPECS): Add blank before
8378 -multilib-library-pic.
8379 (LINK_SPEC): Add -z text for -mfdpic.
8380 * config/frv/frvbegin.c (__ROFIXUP_LIST__): Don't define on FDPIC.
8381 * config/frv/frvend.c (__ROFIXUP_END__): Likewise.
8382 * config/frv/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
8383 Override.
8384 (OPTION_DEFAULT_SPECS, HAS_INIT_SECTION, INIT_SECTION_ASM_OP,
8385 FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): Define.
8386 * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Use
8387 crtstuff-generated files.
8388 2003-10-31 Alexandre Oliva <aoliva@redhat.com>
8389 * config.gcc: Add frv-*-*linux*.
8390 * config/frv/linux.h, config/frv/t-linux: New.
8391 2003-10-06 Alexandre Oliva <aoliva@redhat.com>
8392 * config/frv/frv.h (LINK_SPEC): Pass -melf32frvfd to the linker
8393 when -mfdpic even if a linker script is explicitly listed.
8394 2003-10-02 Alexandre Oliva <aoliva@redhat.com>
8395 * config/frv/frv.c (frv_override_options): Clear asm_out
8396 unaligned_op for SImode on FDPIC.
8397 (frv_emit_movsi): Use compute_reloc_for_constant to compute the
8398 argument passed to decl_readonly_section.
8399 (frv_assemble_integer): Revert 2003-09-30's change, but make the
8400 whole block run with FDPIC even with -fno-PIC.
8401 2003-10-02 Alexandre Oliva <aoliva@redhat.com>
8402 * config/frv/frv.c (frv_cannot_force_const_mem): Don't force
8403 symbol or label plus offset to memory.
8404 (frv_emit_movsi): Emit GPREL only if -mgprel-ro. Emit 32-bit
8405 GOTOFF and GPREL for LABEL_REF.
8406 * config/frv/frv.h (DRIVER_SELF_SPECS): Add -mgprel-ro with
8407 -mfdpic unless -mno-gprel-ro, -fpic or -fpie.
8408 (MASK_GPREL_RO, TARGET_GPREL_RO): New.
8409 (TARGET_SWITCHES): Added gprel-ro and no-gprel-ro.
8410 * doc/invoke.texi: Document them.
8411 2003-09-30 Alexandre Oliva <aoliva@redhat.com>
8412 * config/frv/frv-protos.h (frv_gen_GPsym2reg): Declare.
8413 (frv_splittable_got_operand): Removed.
8414 * config/frv/frv.c (frv_cannot_force_const_mem): Reject HIGH and
8415 LO_SUM. Add comments.
8416 (frv_override_options): Moved enabling of FDPIC to
8417 DRIVER_SELF_SPECS. Don't enable MASK_DWORD.
8418 (frv_local_funcdesc_p): Remove unnecessary heck for flag_pie.
8419 (frv_legitimize_fdpic_address): Don't duplicate logic in
8420 frv_emit_movsi.
8421 (frv_gen_GPsym2reg): New.
8422 (unspec_got_name): Added gprel.
8423 (frv_expand_fdpic_call): Add support for inlining PLTs.
8424 (fdpic_fptr_operand): Renamed from frv_fdpic_fptr_operand.
8425 (gpr_or_int12_operand): Added GPREL12.
8426 (pic_symbolic_operand): Match even if !flag_pic for FDPIC.
8427 (small_data_symbolic_operand): Fail if FDPIC.
8428 (fdpic_splittable_got_operand): Removed.
8429 (fdpic_got12_operand): Added GPREL12.
8430 (frv_emit_movsi): Reorganize to avoid duplication. Emit GPREL
8431 when appropriate. Fix sdata GOTOFF.
8432 (frv_legitimate_constant_p): Require legitimate PIC operand for
8433 FDPIC with pic, but only a legitimate fdpic operand for non-pic.
8434 (frv_assemble_integer): Move FDPIC funcdesc handling out of
8435 flag_pic case.
8436 (frv_asm_out_constructor, frv_asm_out_destructor): Abort if
8437 frv_assemble_integer fails.
8438 * config/frv/frv.h (DRIVER_SELF_SPECS): New.
8439 (SUBTARGET_DRIVER_SELF_SPECS): New.
8440 (ASM_SPEC): Don't pass -mno-fdpic.
8441 (LINK_SPEC): Pass -melf32frvfd for FDPIC.
8442 (MASK_INLINE_PLT, TARGET_INLINE_PLT): New.
8443 (TARGET_SWITCHES): Add -minline-plt, -mno-inline-plt and
8444 -multilib-library-pic.
8445 (PREDICATE_CODES): Added fdpic_operand, fdpic_fptr_operand,
8446 condexec_si_media_operator, condexec_sf_add_operator and
8447 condexec_sf_conv_operator. Removed condexec_sf_binary_operator
8448 and condexec_sf_unary_operator.
8449 * config/frv/frv.md (R_FRV_GPREL12, R_FRV_GPRELHI, R_FRV_GPRELLO):
8450 New.
8451 (movsi_got, movsi_high_got, movsi_lo_sum_got): Move before
8452 movsi_internal. Give them internal names. movsi_got has type
8453 int.
8454 (fdpic got splitters): Remove.
8455 (symGPREL2reg, symGPREL2reg_hilo): New.
8456 * config/frv/t-frv (MULTILIB_MATCHES): Don't map -fpic and -fPIC
8457 to -mlibrary-pic. Map -multilib-library-pic to it.
8458 * doc/invoke.texi: -mfdpic, -minline-plt, -multilib-library-pic:
8459 Document.
8460 2003-09-28 Alexandre Oliva <aoliva@redhat.com>
8461 * config/frv/frv.c (frv_function_symbol_referenced_p): Declare.
8462 (TARGET_CANNOT_FORCE_CONST_MEM): Define to...
8463 (frv_cannot_force_const_mem): New function.
8464 (const_small_data_p, plus_small_data_p): Update comments on sdata
8465 on FDPIC.
8466 (frv_override_options): Set flag_pie for FDPIC too.
8467 (frv_conditional_register_usage): Mark gr16 and gr17 as non-fixed,
8468 call-saved registers on FDPIC.
8469 (frv_stack_info): Don't preserve the PIC register on FDPIC, and
8470 don't force LR to be preserved.
8471 (frv_expand_prologue): Likewise.
8472 (frv_asm_output_mi_thunk): Use 12-bit funcdesc gotoff for -fpic.
8473 (frv_frame_pointer_required): Don't force it just because the
8474 FDPIC register is used.
8475 (frv_legitimate_address_p) <CONST>: Accept a legitimate FDPIC
8476 operand only if !condexec_p.
8477 (frv_legitimize_address): Return the FDPIC-legitimized address.
8478 Don't match small data here on FDPIC.
8479 (frv_legitimate_fdpic_operand_p): Don't accept unadorned function
8480 symbols. Use TRUE/FALSE instead of 1/0.
8481 (frv_local_funcdesc_p): New.
8482 (frv_legitimize_fdpic_address): Rewrite to use GOTOFF and 12-bit
8483 immediates when possible.
8484 (pic_symbolic_operand): Accept SYMBOL_REFs and CONSTs in FDPIC.
8485 (dbl_memory_one_insn_operand): Accept addresses that add a REG and
8486 an UNSPEC_GOT.
8487 (frv_emit_movsi): Handle FDPIC before small data. Use GOTOFF and
8488 12-bit immediates when possible.
8489 (frv_legitimate_constant_p): In FDPIC, reject SImode operands that
8490 are not legitimate pic operands.
8491 (frv_in_small_data_p): Re-enable for FDPIC.
8492 * config/frv/frv.h (SDA_BASE_REG): Remove comment about FDPIC.
8493 (FRV_GLOBAL_P): Removed.
8494 * config/frv/frv.md: Add modes to CONSTs.
8495 (movsi_got): New.
8496 (movsi_lo_sum_got): Use separate matches instead of match_dup.
8497 (movsi_high_pic, movsi_lo_sum_pic): Match on non-FDPIC only.
8498 (fdpic splittable operations): Match on flag_pic != 1.
8499 2003-09-22 Alexandre Oliva <aoliva@redhat.com>
8500 * config/frv/frv.c (frv_asm_out_constructor,
8501 frv_asm_out_destructor): Pass to frv_assemble_integer the size in
8502 bytes, not bits.
8503 2003-09-19 Alexandre Oliva <aoliva@redhat.com>
8504 * config/frv/frv.c (frv_assemble_integer): Reject complex
8505 expressions referencing function SYMBOL_REFs.
8506 * config/frv/frv.c (frv_function_symbol_referenced_p): New.
8507 (move_source_operand): Reject CONSTs that reference function
8508 SYMBOL_REFs on FDPIC.
8509 (frv_emit_movsi): If we get such a CONST, break it up.
8510 * config/frv/frv.h (CPP_SPEC): Define __FRV_FDPIC__ for -mfdpic.
8511 (TRANSFER_FROM_TRAMPOLINE): Use different definitions for FDPIC.
8512 * config/frv/frv.c (frv_print_operand) <I>: Recognize PLUS without
8513 MEM.
8514 (frv_assemble_integer): Don't use funcdesc for LABEL_REFs.
8515 (frv_trampoline_size): Increase for FDPIC.
8516 * config/frv/frv.h (TRAMPOLINE_ALIGNMENT): Bump to 64 for FDPIC.
8517 (TRANSFER_FROM_TRAMPOLINE): Handle FDPIC trampolines.
8518 * config/frv/frv.c (frv_legitimize_fdpic_address, frv_emit_movsi):
8519 Disable use of GOTOFF for now.
8520 (const_small_data_p, plus_small_data_p, frv_in_small_data_p):
8521 Disable use of small data in FDPIC for now.
8522 (frv_asm_output_mi_thunk): Implement for FDPIC.
8523 * config/frv/frv.h (SDA_BASE_REG): Set to -1 with FDPIC.
8524 * config/frv/frv.c (frv_asm_out_constructor): Use
8525 frv_assemble_integer for FDPIC pointers.
8526 (frv_asm_out_destructor): Likewise.
8527 * config/frv/frv.md (ldd): Fix order of operands. Use
8528 address_operand for input.
8529 2003-09-18 DJ Delorie <dj@redhat.com>
8530 * config/frv/frv.c (frv_legitimate_fdpic_operand_p): Remove UNSPEC_PIC.
8531 (unspec_got_name): Correct typo.
8532 (frv_emit_movsi): Pre-expand splittable GOTs.
8533 (frv_expand_fdpic_call): Rename gen_lddi to gen_ldd.
8534 * config/frv/frv.md (lddi): Fix syntax error, rename to ldd.
8535 (symGOT2reg_hilo, symGOTOFF2reg_hilo): New.
8536 * config/frv/t-frv: Add -mfdpic multilibs.
8537 * config/frv/frv.h (ASM_SPEC): Pass -mfdpic/-mno-fdpic.
8538 (TARGET_SWITCHES): Add -mno-fdpic, fix documentation.
8539 * config/frv/frv.c (frv_override_options): -mfdpic assumes
8540 flag_pic, default to 32-bit pics, require DWORD ops.
8541 (frv_override_options): Add W and Z constraints.
8542 (frv_expand_prologue): No pic prologue for -mfdpic.
8543 (frv_asm_output_mi_thunk): Support -mfdpic (soon).
8544 (frv_print_operand_memory_reference): Handle GOT constants.
8545 (frv_legitimate_address_p): Allow GOT constants.
8546 (frv_legitimize_address): Handle GOT addresses too.
8547 (frv_legitimate_fdpic_operand_p): New.
8548 (frv_legitimize_fdpic_address): New.
8549 (unspec_got_name): New.
8550 (frv_output_addr_const_extra): New.
8551 (frv_expand_fdpic_call): New.
8552 (frv_fdpic_fptr_operand): New.
8553 (gpr_or_int12_operand): Handle GOT operands.
8554 (int_2word_operand): Handle GOT operands.
8555 (fdpic_operand): New.
8556 (fdpic_splittable_got_operand): New.
8557 (fdpic_got12_operand): New.
8558 (frv_emit_movsi): Handle GOT operands.
8559 (frv_assemble_integer): -mfdpic doesn't use rofixups.
8560 (frv_print_operand): Support 'g' code for GOT operands.
8561 * config/frv/frv-protos.h: Add prototypes as needed.
8562 * config/frv/frv.md (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
8563 R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
8564 R_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_VALUE,
8565 R_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFFHI,
8566 R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, R_FRV_GOTOFFHI,
8567 R_FRV_GOTOFFLO): New.
8568 (movsi_high_got, movsi_lo_sum_got): New.
8569 (*movsi_pic): Don't use this splitter for -mfdpic.
8570 (addsi3): Allow GOT references also.
8571 (call, call_value): Handle -mfdpic separately.
8572 (call_fdpicdi, call_fdpicsi, lddi, call_value_fdpicdi,
8573 call_value_fdpicsi): New.
8574 (symGOT2reg, symGOT2reg_i, got splitters, symGOTOFF2reg,
8575 symGOTOFF2reg_i): New.
8576 * config/frv/frv.h (MASK_FDPIC): New.
8577 (TARGET_FDPIC): New.
8578 (TARGET_SWITCHES): Add -mfdpic.
8579 (FDPIC_FPTR_REGNO): New.
8580 (FDPIC_REGNO): New.
8581 (OUR_FDPIC_REG): New.
8582 (enum reg_class): Add FDPIC_REGS, FDPIC_FPTR_REGS, and
8583 FDPIC_CALL_REGS.
8584 (REG_CLASS_NAMES): Likewise.
8585 (REG_CLASS_CONTENTS): Likewise.
8586 (EXTRA_CONSTRAINT_FOR_Y): New, for 12-bit GOTs.
8587 (EXTRA_CONSTRAINT): Add it here.
8588 (FRV_GLOBAL_P): New.
8589 (OUTPUT_ADDR_CONST_EXTRA): New.
8590
7e26b0e3
KH
85912004-02-24 Kazu Hirata <kazu@cs.umass.edu>
8592
8593 * config/sparc/sparc.h: Remove commented-out definitions of
8594 TARGET_EDOM and GEN_ERRNO_RTX.
8595
b57f2e10
KH
85962004-02-24 Kazu Hirata <kazu@cs.umass.edu>
8597
8598 * df.c, df.h, ra-build.c, ra-rewrite.c, ra.c, web.c: Replace
8599 df_analyse with df_analyze.
8600
cb7c3c3f
AM
86012004-02-24 Alan Modra <amodra@bigpond.net.au>
8602
8603 * gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not
8604 beginning of block.
8605
3638733b
JW
86062004-02-23 James E Wilson <wilson@specifixinc.com>
8607
238470bd 8608 * calls.c (precompute_arguments): Update comment.
3638733b 8609
fa0ac78a
KH
86102004-02-23 Kazu Hirata <kazu@cs.umass.edu>
8611
8612 * et-forest.c: Replace et_occurences with et_occurrences.
8613
6d4e0ecc
KH
86142004-02-23 Kazu Hirata <kazu@cs.umass.edu>
8615
8616 * cfgloop.h, loop-iv.c, loop-unswitch.c: Replace iv_analyse
8617 with iv_analyze.
8618
9e200aaf
KC
86192004-02-23 Kelley Cook <kcook@gcc.gnu.org>
8620
8621 * config/i386/i386.c: Rename pni to sse3.
8622 * config/i386/i386.h: Likewise.
3205a71e 8623 * config/i386/i386.md: Likewise.
9e200aaf
KC
8624 * config/i386/pmmintrin.h: Likewise.
8625 * doc/extend.texi: Likewise.
8626 * doc/invoke.texi: Likewise.
8627
3521b33c
ZW
86282004-02-23 Zack Weinberg <zack@codesourcery.com>
8629 Kazu Hirata <kazu@cs.umass.edu>
8630
8631 Remove -fwritable-strings.
8632 * c-common.c (fix_string_type): Don't check
8633 flag_writable_strings.
8634 (fix_string_type): Likewise.
8635 * c-opts.c (set_std_c89): Don't initialize
8636 flag_writable_strings.
8637 (set_std_c99): Likewise.
8638 * common.opt (fwritable-strings): Remove.
8639 * flags.h: Remove the external declaration of
8640 flag_writable_strings.
8641 * opts.c (common_handle_option) <OPT_fwritable_strings>:
8642 Remove.
8643 * toplev.c (flag_writable_strings): Remove.
8644 (f_options): Remove an entry for writable-strings.
8645 * varasm.c (const_hash_1) <STRING_CST>: Don't check
8646 flag_writable_strings.
8647 (compare_constant) <STRING_CST>: Likewise.
8648 (build_constant_desc): Likewise.
8649 * config/darwin.c (machopic_select_section): Likewise.
8650 * config/arm/arm.c (AOF_ASSEMBLER): Likewise.
8651 * config/arm/pe.c (arm_pe_encode_section_info): Likewise.
8652 * config/iq2000/iq2000.c (iq2000_select_section): Likewise.
8653 * config/mips/mips.c (mips_select_section): Likewise.
8654 (mips_encode_section_info): Likewise.
8655 * config/pa/pa.c (pa_select_section): Likewise.
8656 * config/pa/pa.h (TEXT_SPACE_P): Likewise.
8657 * config/v850/v850.c (v850_select_section): Likewise.
8658 * doc/invoke.texi (-fwritable-strings): Remove.
8659 (-fno-const-strings): Don't mention -fwritable-strings.
8660 * doc/trouble.texi: Don't mention -fwritable-strings.
8661
eb6bddf6
NN
86622003-02-23 Nathanael Nerode <neroden@gcc.gnu.org>
8663
8664 * doc/install.texi: Update for switch of boehm-gc to autoconf 2.57.
8665
e0740893
DJ
86662004-02-23 Dale Johannesen <dalej@apple.com>
8667
8668 * config/rs6000.md (movsf_hardfloat): Add POWER form of nop.
8669 (movdf_hardfloat64): Ditto.
8670 (movdf_softfloat64): Ditto.
8671
e91fa876 86722004-02-23 Fariborz Jahanian <fjahanian@apple.com>
3205a71e 8673 * config/rs6000/rs6000.c (function_arg): call to
e91fa876 8674 rs6000_mixed_function_arg for DFmode moved to allow
21526606 8675 normal DFmode incoming register assignment.
e91fa876 8676
ae6669e7
DJ
86772004-02-23 Dale Johannesen <dalej@apple.com>
8678
8679 * config/rs6000.md (movsf_hardfloat): Accept CTR-to-CTR copy.
8680 (movdf_hardfloat64): Ditto.
8681
2a9f2ad3
KH
86822004-02-23 Kazu Hirata <kazu@cs.umass.edu>
8683
8684 * convert.c, gcov-io.c, libgcov.c, sched-int.h, sibcall.c,
8685 config/rs6000/linux.h, config/rs6000/rs6000-c.c: Update
8686 copyright.
8687
aa5fa0fc
AP
86882004-02-23 Andrew Pinski <pinskia@physics.uc.edu>
8689
a2f1f4c3
AP
8690 PR c/14156
8691 * c-typeck.c (c_expand_return): Change check for VAR_DECL
8692 to use DECL_P instead.
8693
aa5fa0fc
AP
8694 * config/rs6000/linux.h (OS_MISSING_POWERPC64): Define.
8695 * config/rs6000/linux64.h (OS_MISSING_POWERPC64): Define.
8696
221ee7c9
KH
86972004-02-23 Kazu Hirata <kazu@cs.umass.edu>
8698
8699 * Makefile.in (opts.o): Depend on target.h.
8700 * opts.c (decode_options): Use targetm.default_short_enums
8701 instead of DEFAULT_SHORT_ENUMS.
8702 * system.h (DEFAULT_SHORT_ENUMS): Poison.
8703 * target-def.h (TARGET_DEFAULT_SHORT_ENUMS): New.
8704 (TARGET_INITIALIZER): Add TARGET_DEFAULT_SHORT_ENUMS.
8705 * target.h (gcc_target): Add default_short_enums.
8706 * config/cris/cris.h: Remove a comment about
8707 DEFAULT_SHORT_ENUMS.
8708 * config/ip2k/ip2k.h: Likewise.
8709 * doc/tm.texi (DEFAULT_SHORT_ENUMS): Change to
8710 TARGET_DEFAULT_SHORT_ENUMS. Update the description.
8711
bba745c1 87122004-02-23 Eric Botcazou <ebotcazou@libertysurf.fr>
3205a71e 8713 Falk Hueffner <falk@debian.org>
bba745c1
EB
8714
8715 PR c/14188
8716 * builtins.c (expand_builtin_va_arg): Emit an informative message
8717 if a trap is generated.
8718 * c-typeck.c (build_function_call): Likewise.
8719
c2cd64b5
JJ
87202004-02-22 Jakub Jelinek <jakub@redhat.com>
8721
8722 * gcov-io.c (gcov_open) [GCOV_LOCKED]: Use open + fdopen instead of
8723 fopen.
8724 * libgcov.c: Include sys/stat.h.
8725 * config/rs6000/linux.h (TARGET_HAS_F_SETLKW): Define.
8726 * config/rs6000/linux64.h (TARGET_HAS_F_SETLKW): Define.
8727 * config/sparc/linux.h (TARGET_HAS_F_SETLKW): Define.
8728 * config/sparc/linux64.h (TARGET_HAS_F_SETLKW): Define.
8729
fcfcb20e
KH
87302004-02-22 Kazu Hirata <kazu@cs.umass.edu>
8731
8732 * reorg.c: Remove comments about dead ports.
8733
56d03a40
CF
87342004-02-22 Christopher Faylor <cgf@redhat.com>
8735
8736 * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify
8737 extra host object file when targetting cygwin rather than generic
8738 object files.
8739
5e20bdd7
JZ
87402004-02-22 Josef Zlomek <zlomekj@suse.cz>
8741
8742 Merge from tree-ssa:
8743 2003-11-20 Richard Henderson <rth@redhat.com>
8744
8745 * tree-inline.c (insert_decl_map): New.
8746 (remap_decl, remap_type, remap_block, copy_body_r,
8747 initialize_inlined_parameters, declare_return_variable,
8748 remap_save_expr): Use it.
8749
8750 * function.c (copy_body_r): Add mapping from id->ret_label to
8751 id->ret_label. Revert test for ret_label.
8752
4112be4a
JJ
87532004-02-22 Jakub Jelinek <jakub@redhat.com>
8754
8755 * genoutput.c (process_template): Strip trailing whitespace in @
8756 templates and issue a warning if there was any.
8757
3a6efa98 87582004-02-21 Christopher Faylor <cgf@redhat.com>
dc4a2f32
CF
8759
8760 * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host
8761 object file when targetting cygwin.
8762 * config/i386/t-cygwin (EXTRA_GCC_OBJS): Remove definition since it is
8763 overridden by top-level Makefile.
8764
22cc69c4
RS
87652004-02-21 Roger Sayle <roger@eyesopen.com>
8766
8767 * config/i386/i386.c (standard_80387_constant_p): Also prefer
8768 the x87's load constant instructions when optimizing for size.
8769
bee07d3f
KH
87702004-02-21 Kazu Hirata <kazu@cs.umass.edu>
8771
8772 * combine.c (SHIFT_COUNT_TRUNCATED): Remove.
8773 * defaults.h (SHIFT_COUNT_TRUNCATED): Provide the default.
8774 * expmed.c: Assume SHIFT_COUNT_TRUNCATED is always defined.
8775 * fold-const.c: Likewise.
8776 * simplify-rtx.c: Likewise.
8777
da6fdad3
AM
87782004-02-21 Alan Modra <amodra@bigpond.net.au>
8779
8780 * combine.c (can_combine_p): Don't ignore SETs marked with
8781 REG_EH_REGION notes.
8782 (try_combine): When attemting to fix unrecognized insns, don't
8783 split a PARALLEL that contains the original i2.
8784
8bb418a3
ZL
87852004-02-21 Ziemowit Laski <zlaski@apple.com>
8786
8787 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to
8788 SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific options.
8789 * config/i386/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): Define it.
8790 * config/rs6000/altivec.h: #error out if '-maltivec' not specified.
8791 (vector, pixel, bool): #define to __vector, __pixel and __bool.
8792 (__un_args_eq, __bin_args_eq, __tern_args_eq): Move to C-specific
8793 portion of header.
8794 (__altivec_link_error_invalid_argument): Remove prototype; will use
8795 __builtin_altivec_compiletime_error("vec_*") instead.
8796 (vec_*): Fix/complete set of available operation overloads given the
8797 existence of distinct 'vector bool ...' and 'vector pixel' types; tighten
8798 cv-correctness of pointer arguments; in C, always check for correct
8799 argument types before macro expansion.
8800 * config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): New macro
8801 defining Darwin/PowerPC-specific '-f[no-]altivec' and
8802 '-W[no-]altivec-long-deprecated' switches.
8803 * config/rs6000/rs6000-c (rs6000_cpu_cpp_builtins): Pre-define
8804 '__vector', '__pixel' and '__bool' macros using
8805 '__attribute__((altivec(...)))' types.
8806 * config/rs6000/rs6000.c (bool_char_type_node, bool_short_type_node,
8807 bool_int_type_node, pixel_type_node, bool_V16QI_type_node,
8808 bool_V8HI_type_node, bool_V4SI_type_node, pixel_V8HI_type_node):
8809 New type nodes.
8810 (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): New, for
8811 handling '-W[no-]altivec-long-deprecated'.
8812 (rs6000_override_options): Handle '-W[no-]altivec-long-deprecated'.
8813 (rs6000_expand_binop_builtin, rs6000_expand_ternop_builtin,
8814 altivec_expand_dst_builtin): Remove casts from integer literals.
8815 (altivec_expand_builtin): Likewise; handle expansion of new
8816 '__builtin_altivec_compiletime_error' function.
8817 (rs6000_init_builtins): Initialize 'vector bool ...' and 'vector pixel'
8818 types, and make them distinct from other vector types; register
8819 '__builtin_altivec_compiletime_error' function.
8820 (print_operand): For 'P', print a full target register name instead of
8821 merely its number.
8822 (rs6000_attribute_table): Add "altivec" attribute.
8823 (rs6000_handle_altivec_attribute): New function.
21526606 8824 * config/rs6000/rs6000.h (TARGET_OPTIONS): Describe
8bb418a3
ZL
8825 '-m[no-]-warn-altivec-long' (which '-W[no-]altivec-long-deprecated'
8826 maps to).
8827 (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): Forward
8828 declare.
8829 (ALTIVEC_BUILTIN_COMPILETIME_ERROR): New built-in enumeration.
8830
06a419ff
JW
88312004-02-20 James E Wilson <wilson@specifixinc.com>
8832
8833 * config/ia64/ia64.md (shift_mix4left+1): Delete reload_completed
8834 check.
8835 (shift_mix4left+2): Delete redundant pattern.
8836
d220de0e
KH
88372004-02-20 Kazu Hirata <kazu@cs.umass.edu>
8838
8839 * alias.c (OUTGOING_REGNO): Don't define the default.
8840 * builtins.c (OUTGOING_REGNO): Likewise.
8841 (INCOMING_REGNO): Likewise.
8842 (apply_args_register_offset): Always use OUTGOING_REGNO.
8843 * combine.c (OUTGOING_REGNO): Likewise.
8844 * sibcall.c (OUTGOING_REGNO): Likewise.
8845 * defaults.h (INCOMING_REGNO): Provide the default.
8846 (OUTGOING_REGNO): Likewise.
8847
701ad47e
JH
88482004-02-21 Jan Hubicka <jh@suse.cz>
8849
8850 * params.def (max-peeled-insns, max-completely-peeled-insns,
8851 max-once-peeled-insns): Set to 400.
8852
7a3e01c4
JDA
88532004-02-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8854
3205a71e 8855 PR c++/12007
7a3e01c4
JDA
8856 * dbxout.c (dbxout_parms): Check that DECL_RTL and DECL_INCOMING_RTL
8857 are set for parameters before outputing debugging information.
8858
f4d9988b
FH
88592004-02-20 Falk Hueffner <falk@debian.org>
8860
8861 PR target/14201
8862 * config/alpha/alpha.md (*fix_truncsfsi_ieee): Fix typoed operand
8863 numbers.
8864
2ae5c785
PB
88652004-02-20 Per Bothner <per@bothner.com>
8866
8867 * input.h: Don't #include line-map.h. It may cause link problems
8868 with undefined linemap_line_start when line-map.h is included but
8869 line-map.o is not linked, as currently happens with gengtype on
8870 compilers that don't support inline.
8871 * toplev.c: So we do have to explicitly #include line-map.h here.
8872
7c4d376d
RH
88732004-02-20 Richard Henderson <rth@redhat.com>
8874
8875 * doc/invoke.texi: Add -Wvariadic-macros.
8876
2c598860
KH
88772004-02-20 Kazu Hirata <kazu@cs.umass.edu>
8878
8879 * haifa-sched.c (sched_emit_insn): Remove.
8880 * sched-int.h: Remove the corresponding prototype.
8881
35afa569
KH
88822004-02-20 Kazu Hirata <kazu@cs.umass.edu>
8883
8884 Revert:
8885 2004-02-19 Kazu Hirata <kazu@cs.umass.edu>
8886 * opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
8887 * system.h (DEFAULT_SHORT_ENUMS): Poison.
8888 * config/cris/cris.h: Remove a comment about
8889 DEFAULT_SHORT_ENUMS.
8890 * config/ip2k/ip2k.h: Likewise.
8891 * doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
8892
c1c3bb0c
ME
88932004-02-20 Mohan Embar <gnustuff@thisiscool.com>
8894 Tom Tromey <tromey@redhat.com>
8895
8896 * doc/install.texi: Moved --disable-libgcj and
8897 --with-system-zlib documentation to new section for
8898 Java-specific options.
8899 Added explicit Cross-Compiler-Specific Options subheading.
8900 Added section for Java-specific options.
8901
ee095310
MK
89022004-02-20 Matt Kraai <kraai@alumni.cmu.edu>
8903
8904 * doc/install.texi (Building the Ada compiler): Remove
3205a71e 8905 example.
ee095310 8906
15316a6f
JW
89072004-02-20 James E Wilson <wilson@specifixinc.com>
8908
8909 * toplev.c (dump_file_index, dump_file): Put ce3 before rnreg.
8910
9f76f909
KH
89112004-02-20 Kazu Hirata <kazu@cs.umass.edu>
8912
8913 * gcc.c (process_command): Allow translation of the copyright
8914 symbol but not the rest of the copyright message.
8915 * gcov.c (print_version): Likewise. Allow translation of the
8916 message about warranty.
8917
f38a62ff
HPN
89182004-02-20 Hans-Peter Nilsson <hp@axis.com>
8919
8920 * config/cris/cris.md ("*andsi_movu"): Correct parentheses in
8921 predicate.
8922 ("*andsi_clear"): Tweak constraints to not match postincrement.
8923 Adjust the predicate to exclude a volatile memory reference.
8924 ("*andhi_clear"): Ditto. Rename from "*andhi_clear_signed".
8925 ("*andhi_clear_unsigned"): Remove, non-matching pattern.
8926
88e3a2a3
MK
89272004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
8928
8929 * move-if-change: Remove.
8930 * Makefile.in (s-mlib, c-parse.y, s-check, s-gencheck)
8931 (s-specs, s-options, s-config, s-conditions, s-flags, s-codes)
8932 (s-constants, s-emit, s-recog, s-opinit, s-extract, s-peep)
8933 (s-attr, s-attrtab, s-output, s-genrtl, s-modes, s-preds)
8934 (s-gtyp-gen, s-iov): Use the top level move-if-change.
8935 * objc/Make-lang.in (objc/objc-parse.y): Likewise.
8936
e0c34369
JW
89372004-02-19 James E Wilson <wilson@specifixinc.com>
8938
8939 * config/i386/i386.md (doloop_end_internal): Use nonimmediate_operand
8940 for operand2. Add condition that requires register_operand operand2
8941 before reload.
8942
656f37ee 89432004-02-19 Richard Sandiford <rsandifo@redhat.com>
2b5f287b 8944 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
656f37ee
RS
8945
8946 * config/mips/mips.c (mips_address_insns): Treat BLKmode specially.
8947 * config/mips/mips.md: Expand comment above unaligned loads and stores.
8948
4221057e
RH
89492004-02-19 Richard Henderson <rth@redhat.com>
8950
8951 * Makefile.in (STRICT2_WARN): Add -Wno-variadic-macros.
8952 * tree.c (build0, build1, build2, build3, build4): Split out from...
8953 (build): ... here. Call them.
8954 * tree.h (build, _buildN1, _buildN2, _buildC1, _buildC2): New.
8955
8956 * convert.c (convert_to_integer): Remove extra build argument.
8957 * tree-inline.c (expand_call_inline): Likewise.
8958
e5b79219
RH
89592004-02-19 Richard Henderson <rth@redhat.com>
8960
8961 * c-opts.c (warn_variadic_macros): New.
8962 (c_common_handle_option): Set it.
8963 (sanitize_cpp_opts): Copy it to cpp_opts.
8964 * c.opt (Wvariadic-macros): New.
8965 * cpplib.h (struct cpp_options): Add warn_variadic_macros.
8966 * cppinit.c (cpp_create_reader): Initialize it.
8967 * cppmacro.c (parse_params): Check it.
8968
18586cb7
DD
89692004-02-19 David Daney <ddaney@avtrex.com>
8970
8971 PR preprocessor/14198
8972 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Add
8973 builtin_assert ("machine=mips")
8974
37a46828
KH
89752004-02-19 Kazu Hirata <kazu@cs.umass.edu>
8976
8977 * opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
8978 * system.h (DEFAULT_SHORT_ENUMS): Poison.
8979 * config/cris/cris.h: Remove a comment about
8980 DEFAULT_SHORT_ENUMS.
8981 * config/ip2k/ip2k.h: Likewise.
8982 * doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
8983
f9c887ac
ZW
89842004-02-19 Zack Weinberg <zack@codesourcery.com>
8985
8986 * config/ia64/ia64.c (ia64_function_arg): In big-endian mode,
8987 when passing single SFmode quantities in general registers,
8988 put them in the high half.
8989
0e1d7f32 89902004-02-19 Aldy Hernandez <aldyh@redhat.com>
f9c887ac
ZW
8991
8992 * doc/md.texi (Standard Names): Document additional dependency on
8993 fix pattern.
8994
8995 * optabs.c (ftruncify): Remove.
8996 (expand_fix): Manually inline ftruncify above.
8997 (can_fix_p): Add FIXME note.
0e1d7f32 8998
c6e9f0eb 89992004-02-19 Aldy Hernandez <aldyh@redhat.com>
f9c887ac
ZW
9000
9001 * config/rs6000/spe.md (spe_fixunssfsi2): Rename to
9002 spe_fixuns_truncsfsi2.
9003
9004 * config/rs6000/rs6000.md (fixunssfsi2): Rename to
9005 fixuns_truncsfsi2.
c6e9f0eb 9006
919b531d
SE
90072004-02-19 Steve Ellcey <sje@cup.hp.com>
9008
9009 * config/ia64/ia64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
9010 * testsuite/gcc.dg/20040219-1.c: New test.
9011
4dbb5970
UW
90122004-02-19 Ulrich Weigand <uweigand@de.ibm.com>
9013
9014 * config/s390/s390.md ("*subdf3_cc", "*subdf3_cconly", "*subsf3_cc",
9015 "*subsf3_cconly"): Subtraction is not commutative.
9016
16edbbf0
ZW
90172004-02-19 Zack Weinberg <zack@codesourcery.com>
9018
9019 * sdbout.c (preinit_symbols, sdbout_initialized): New statics.
9020 (sdbout_symbol): If called before sdbout_init, queue DECL for
9021 later and return.
9022 (sdbout_init): Set sdbout_initialized true, process decls
9023 queued earlier by sdbout_symbol.
9024 (sdbout_finish): Use size_t for index variable.
9025
f46e5baa 90262004-02-19 Jeff Law <law@redhat.com>
16edbbf0 9027
f46e5baa
JL
9028 * fold-const.c (invert_truthvalue): Do not call invert_tree_comparison
9029 for unordered comparison codes.
9030
d754127f
ILT
90312004-02-19 Ian Lance Taylor <ian@wasabisystems.com>
9032
9033 * reload1.c (reload): Correct comment.
9034 (scan_paradoxical_subregs): Remove #if 0 and old comment.
9035 * doc/extend.texi (Local Reg Vars): Remove obsolete comment that
9036 register variables are not used by reload.
9037
428eae94
HPN
90382004-02-19 Hans-Peter Nilsson <hp@axis.com>
9039
9040 PR target/14209
9041 * config/cris/cris.md ("*andsi_movu", "*andhi_movu"): Tweak
9042 constraints to not match postincrement. Adjust the predicate to
9043 exclude a volatile memory reference.
9044
a5ee8d80
KH
90452004-02-19 Kazu Hirata <kazu@cs.umass.edu>
9046
9047 * config/mcore/mcore.h (ASM_OUTPUT_EXTERNAL): Remove.
9048
45ea6431
KH
90492004-02-19 Kazu Hirata <kazu@cs.umass.edu>
9050
9051 * hooks.c (hook_void_tree_int): Remove.
9052 (hook_void_constcharptr): Likewise.
9053 (hook_int_void_0): Likewise.
9054 * hooks.h: Remove the prototypes for the above three
9055 functions.
9056 * targhooks.c (hook_bool_machine_mode_true): Remove.
9057 * targhooks.h: Remove the prototype for
9058 hook_bool_machine_mode_true.
9059
c59102b4
KH
90602004-02-19 Kazu Hirata <kazu@cs.umass.edu>
9061
9062 * emit-rtl.c (subreg_realpart_p): Remove.
9063 (reorder_insns_with_line_notes): Likewise.
9064 (end_full_sequence): Likewise.
9065 * rtl.h: Remove the prototype for the above functions.
9066
3ad17f7b
KH
90672004-02-19 Kazu Hirata <kazu@cs.umass.edu>
9068
9069 * config/arc/arc.h, config/arm/arm.h, config/frv/frv.h,
9070 config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
9071 config/iq2000/iq2000.h, config/m32r/m32r.h,
9072 config/pdp11/pdp11.h, config/sparc/sparc.h,
9073 config/xtensa/xtensa.h: Remove commented-out or useless
9074 definitions of CASE_VECTOR_PC_RELATIVE.
9075
a3b182a7
KH
90762004-02-19 Kazu Hirata <kazu@cs.umass.edu>
9077
9078 * loop.c (all_sets_invariant_p): Remove.
9079
1b5963f7
EB
90802004-02-19 Eric Botcazou <ebotcazou@libertysurf.fr>
9081
9082 PR target/12916
9083 * config/sparc/sparc.h (NPARM_REGS): Delete.
9084 (BASE_RETURN_VALUE_REG): Likewise.
9085 (BASE_OUTGOING_VALUE_REG): Likewise.
9086 (BASE_PASSING_ARG_REG): Likewise.
9087 (BASE_INCOMING_ARG_REG): Likewise.
9088 * config/sparc/sparc.c (sparc_strict_argument_naming): Test
9089 TARGET_ARCH64, not TARGET_V9.
9090 (function_arg_slotno): Dispatch based on the mode class.
9091 Handle vector modes like floating-point modes.
9092 (function_arg_record_value_1): Handle vector types like
9093 floating-point types.
9094 (function_arg_record_value_2): Likewise.
9095 Calculate regno after mode transformation.
9096 (function_arg): Handle vector modes like floating-point modes.
9097 (function_arg_partial_nregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX.
9098 If ARCH64, do not recheck alignment.
9099 (function_arg_pass_by_reference): Reorder the conditions.
9100 (sparc_return_in_memory): Move after function_arg_padding.
9101 Implement calling conventions for vector modes.
9102 (sparc_struct_value_rtx): Move after sparc_return_in_memory.
9103 (function_value): Move scope of 'regbase'.
9104 Implement calling conventions for vector modes.
9105 (sparc_builtin_saveregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX
9106 and BASE_INCOMING_ARG_REG by SPARC_INCOMING_INT_ARG_FIRST.
9107 (sparc_va_arg): Use function_arg_pass_by_reference to test whether
9108 the argument is passed by reference.
9109 (sparc_type_code): Handle vector types.
9110
196c42cd
AM
91112004-02-19 Alan Modra <amodra@bigpond.net.au>
9112
9113 * function.c (assign_parms): When building decl_rtl for
9114 SPLIT_COMPLEX_ARGS, ensure inner modes of concat match outer.
9115
c0cfc691
OH
91162004-02-19 Olivier Hainque <hainque@act-europe.fr>
9117
9118 * expr.c (is_aligning_offset): Check if we are aligning the
9119 expressions's address over BIGGEST_ALIGNMENT in bytes, not
9120 in bits.
9121
328163dc
MA
91222003-02-18 Matt Austern <austern@apple.com>
9123
9124 * gcc.c (LIBGCC_SPEC): If REAL_LIBGCC_SPEC is defined, and
9125 LIBGCC_SPEC isn't, set LIBGCC_SPEC to REAL_LIBGCC_SPEC.
9126 (init_gcc_spec): Don't define or call if REAL_LIBGCC_SPEC is
9127 defined. Instead use REAL_LIBGCC_SPEC, unmodifed, as the libgcc
9128 spec string.
9129 * doc/tm.texi (REAL_LIBGCC_SPEC): Document.
16edbbf0 9130
57d4f65c
ZW
91312004-02-18 Zack Weinberg <zack@codesourcery.com>
9132
9133 * dwarf2out.c (loclabel_num): Move outside #ifdef
9134 DWARF2_DEBUGGING_INFO and mark with GTY(()).
9135 * config/ia64/ia64.c (struct extern_func_list,extern_func_head):
9136 Mark with GTY(()).
9137 (ia64_hpux_add_extern_decl): Save the decl, not the name string.
9138 Allocate memory with ggc_alloc. No need to copy anything.
9139 (ia64_hpux_file_end): Update to match.
9140
3fec9fa9
JJ
91412004-02-18 Jakub Jelinek <jakub@redhat.com>
9142
9143 * config/i386/i386.c (override_options): Don't imply 3DNow! for -m64
9144 by default.
9145
5665e398
UW
91462004-02-18 Ulrich Weigand <uweigand@de.ibm.com>
9147
9148 * config/s390/s390.md ("divmodtidi3"): Use canonical RTL.
9149 ("divmodtisi3"): Likewise.
9150 ("udivmoddi4", "udivmodtidi3"): Likewise.
9151 ("divmodsi4", "divmoddisi3"): Likewise.
9152 ("udivmodsi4", "udivmoddisi3"): Likewise.
9153 ("udivsi3", "umodsi3"): Likewise.
9154
d76e8439
UW
91552004-02-18 Ulrich Weigand <uweigand@de.ibm.com>
9156
9157 * config/s390/s390.c (s390_mainpool_start): Delete the main pool
9158 placeholder insn when chunkifying the pool.
9159
3cf7104e
JDA
91602004-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9161
9162 * pa.h (PIC_OFFSET_TABLE_REGNUM): Define to INVALID_REGNUM when not
9163 generating PIC code.
9164
8981ecd3
KH
91652004-02-18 Kazu Hirata <kazu@cs.umass.edu>
9166
9167 * config/h8300/h8300-protos.h: Add a prototype for
9168 h8300_expand_branch.
9169 * config/h8300/h8300.c (h8300_expand_branch): New.
9170 * config/h8300/h8300.md (ble, bleu, bge, bgeu, blt, bltu, bgt,
9171 bgtu, beq, bne): Call h8300_expand_branch().
9172
07ee3b58
KH
91732004-02-18 Kazu Hirata <kazu@cs.umass.edu>
9174
9175 * config/h8300/h8300-protos.h: Add prototypes for
9176 h8300_hard_regno_nregs and h8300_hard_regno_mode_ok.
9177 * config/h8300/h8300.c (h8300_hard_regno_nregs): New.
9178 (h8300_hard_regno_mode_ok): Likewise.
9179 * config/h8300/h8300.h (HARD_REGNO_NREGS): Call
9180 h8300_hard_regno_nregs().
9181 (HARD_REGNO_MODE_OK): Call h8300_hard_regno_mode_ok().
9182
22234f56
PB
91832004-02-18 Per Bothner <per@bothner.com>
9184
9185 * cpphash.h (struct cpp_buffer): Restore return_at_eof field. This
9186 partly reverts my 2003-10-01 change, because we're back to logically
9187 including <command line> inside the main line.
9188 * cpplex.c (_cpp_get_fresh_line): Check return_at_eof field.
9189 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof of current buffer.
9190 Fixes PR preprocessor/14103.
9191
9192 * cppfiles.c (_cpp_stack_include): When appropriate decrement
9193 line_table's highest_location, fixing LAST_SOURCE_LINE_LOCATION.
9194 (cpp_push_include): Don't need to increment pfile's line field.
9195 * line-map.h (LAST_SOURCE_LINE_LOCATION): Only decrement by 1.
9196
9197 * c-ppoutput.c (print struct): New first_time field.
9198 (init_pp_output): Set print.first_time.
9199 (pp_file_change): Use print.first_time, rather than MAIN_FILE_P,
9200 which is set also for (say) <command line>. Clear print.first_time.
9201
9202 * cppfiles.c (struct _cpp_file): Comment and type for pch field
9203 does not match the code, so fix both.
9204 (should_stack_file): Inline include_pch_p function.
9205 (include_pch_p): Remove pointless function.
9206
9207 * cpphash.h (struct cpp_buffer): Remove unused search_cached field.
9208
5a6d9a81
KH
92092004-02-18 Kazu Hirata <kazu@cs.umass.edu>
9210
9211 * config/h8300/h8300.md (four define_peephole2's): Use
9212 h8300_regs_ok_for_stm().
9213
3d2e90d6
KH
92142004-02-18 Kazu Hirata <kazu@cs.umass.edu>
9215
9216 * config/h8300/h8300-protos.h: Update the prototype for
9217 expand_a_rotate().
9218 * config/h8300/h8300.c (expand_a_rotate): Remove the first
9219 argument.
9220 * config/h8300/h8300.md: Update all callers.
9221
79ae63b1
JH
92222004-02-18 Jan Hubicka <jh@suse.cz>
9223
9224 * simplify-rtx.c (simplify_unary_operation): Deal with logicals on
9225 floats.
9226 (simplify_binary_operation): Deal with logicals on floats.
9227
9228 * i386.md (SSE fabs splitters): Emit new patterns.
9229 (SSE cmov splitters): Likewise.
9230 (sse_andv4sf3, sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3
9231 (sse_andv2df3, sse_nandv2df3, sse_iorv2df3, sse_xorv2df3): Do not use
9232 subregs.
9233 (sse_andsf3, sse_nandsf3, sse_xorsf3): Kill.
9234 (sse_anddf3, sse_nanddf3, sse_xordf3): Kill.
9235
01ab5574
KH
92362004-02-18 Kazu Hirata <kazu@cs.umass.edu>
9237
9238 * config/h8300/h8300.c (expand_a_rotate): Don't generate insns
9239 by hand.
9240 (output_a_rotate): Tweak a comment.
9241 * config/h8300/h8300.md (*rotlqi3_1): Change to rotlqi3_1.
9242 (*rotlhi3_1): Change to rotlhi3_1.
9243 (*rotlsi3_1): Change to rotlsi3_1.
9244
d5f7d2d0
RE
92452004-02-18 Richard Earnshaw <rearnsha@arm.com>
9246
9247 PR target/13866
9248 * arm.c (load_multiple_operation): Don't insist that the source reg
9249 of a post-increment component is the same as the destination.
9250 (store_multiple_operation): Likewise.
9251
b0c8a821
KH
92522004-02-18 Kazu Hirata <kazu@cs.umass.edu>
9253
9254 * config/h8300/h8300.md: Move movsf patterns into one section
9255 of the file.
9256
aa335b76
KH
92572004-02-18 Kazu Hirata <kazu@cs.umass.edu>
9258
9259 * cfgloop.h, cfgloopanal.c, cpplex.c, except.h, loop-init.c,
9260 loop-unroll.c, scan-decls.c, scan.h, stor-layout.c,
9261 xcoffout.c, xcoffout.h, config/arm/mmintrin.h,
9262 config/mips/linux64.h, config/pa/pa-64.h,
9263 config/rs6000/aix51.h, config/rs6000/aix52.h,
9264 config/rs6000/spe.md, config/sparc/linux.h,
9265 config/sparc/linux64.h: Update copyright.
9266
5a64541a
KH
92672004-02-18 Kazu Hirata <kazu@cs.umass.edu>
9268
9269 * config/h8300/h8300.md: Move push patterns into one
9270 section of the file.
9271
8d04e6db
MM
92722004-02-18 Mark Mitchell <mark@codesourcery.com>
9273
9274 PR c++/11326
9275 * config/ia64/ia64.c (ia64_struct_value_rtx): Cope with NULL
9276 fntype.
9277
e978d62e
PB
92782004-02-18 Paul Brook <paul@codesourcery.com>
9279
9280 * rtlanal.c (rtx_varies_p): Return 0 for NULL_RTX
9281
cdbafce1
PB
92822004-02-18 Paul Brook <paul@codesourcery.com>
9283
c5fe5036 9284 PR debug/12934
cdbafce1
PB
9285 * dwarf2out.c (loc_descriptor_from_tree): Handle
9286 EXPR_WITH_FILE_LOCATION.
9287
5a0855a0
JJ
92882004-02-18 Jakub Jelinek <jakub@redhat.com>
9289
9290 * config/i386/i386.md (zero_extendqidi2, zero_extendqidi2,
9291 testdi_1_rex64, anddi_2, xordi_1_rex64, xordi_2_rex64): Remove
9292 trailing whitespace from instructions.
9293
9c56033f
GK
92942004-02-17 Geoffrey Keating <geoffk@apple.com>
9295
9296 * configure.ac: When generating auto-build.h, pass
9297 --enable-languages to the sub-configure.
9298 Put quotes around ${program_transform_name} when generating
9299 name of as, ld, nm, objdump.
9300 * configure: Regenerate.
9301
80bcb4d2
MK
93022004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
9303
9304 * Makefile.in (s-check, s-config, s-conditions, s-flags)
9305 (s-codes, s-constants, s-emit, s-recog, s-opinit, s-extract)
9306 (s-peep, s-attr, s-attrtab, s-output, s-genrtl, s-modes)
9307 (s-preds, s-iov): Do not depend on move-if-change.
9308
ce7b36a4
JW
93092004-02-17 James E Wilson <wilson@specifixinc.com>
9310
9311 * caller-save.c (insert_restore): Pass mem through copy_rtx.
9312 (insert_save): Likewise.
9313
f8b58e56
KH
93142004-02-17 Kazu Hirata <kazu@cs.umass.edu>
9315
9316 * config/h8300/h8300.c (h8300_emit_stack_adjustment): Fix a
9317 warning.
9318
8d82e1d8
KH
93192004-02-17 Kazu Hirata <kazu@cs.umass.edu>
9320
9321 * config/h8300/h8300.md (*one_complsi2_h8300): Change to
9322 *one_cmplsi2_h8300.
9323 (*one_complsi2_h8300hs): Change to *one_cmplsi2_h8300hs.
9324
4093985c
KH
93252004-02-17 Kazu Hirata <kazu@cs.umass.edu>
9326
9327 * config/h8300/h8300-protos.h: Update the prototype of
9328 fix_bit_operand().
9329 * config/h8300/h8300.c (fix_bit_operand): Remove the second
9330 argument "what".
9331 * config/h8300/h8300.md: Update all callers.
9332
fd57a6e4
KH
93332004-02-17 Kazu Hirata <kazu@cs.umass.edu>
9334
9335 * config/h8300/h8300.c (fix_bit_operand): Change the name of
9336 the last argument to "code" from "type".
9337
6a415867
KH
93382004-02-17 Kazu Hirata <kazu@cs.umass.edu>
9339
9340 * config/h8300/h8300.c: Remove an extern declaration of
9341 rtx_equal_function_value_matters.
9342
a3579575
KH
93432004-02-17 Kazu Hirata <kazu@cs.umass.edu>
9344
9345 * config/h8300/h8300.c (fix_bit_operand): Don't generate insns
9346 by hand.
9347 * config/h8300/h8300.md (*andqi3_1): Change to andqi3_1.
9348 (*iorqi3_1): Change to iorqi3_1.
9349 (*xorqi3_1): Change to xorqi3_1.
9350
321440fd
KH
93512004-02-17 Kazu Hirata <kazu@cs.umass.edu>
9352
9353 * c-common.c, cfghooks.c, rtlanal.c, varasm.c: Fix comment
9354 typos.
9355
7b50a809
JH
93562004-02-17 Jan Hubicka <jh@suse.cz>
9357
9358 * i386.c (x86_prologue_using_move, x86_epilogue_using_move): Disable for P4.
9359
8051c2eb
AM
93602004-02-18 Alan Modra <amodra@bigpond.net.au>
9361
9362 PR optimization/14119
9363 * combine.c (try_combine): When attemting to fix unrecognized insns,
9364 don't delete SETs marked with REG_EH_REGION notes.
9365
db33236e
UW
93662004-02-17 Ulrich Weigand <uweigand@de.ibm.com>
9367
57d4f65c 9368 * combine.c (simplify_if_then_else): Do not replace
db33236e
UW
9369 (if_then_else (ne reg 0) (0) (const_int)) by (reg) if the
9370 modes differ.
9371
1da326c3
SB
93722004-02017 Steven Bosscher <stevenb@suse.de>
9373
9374 * (c-decl.c, c-semantics.c, calls.c, cgraph.c, cgraphunit.c,
9375 function.c, integrate.c, print-tree.c, toplev.c, tree-optimize.c,
9376 tree.h): Replace DECL_SAVED_INSNS with DECL_STRUCT_FUNCTION.
9377 * ada/utils.c: Likewise.
9378 * cp/decl.c: Likewise.
9379 * f/com.c: Likewise.
9380 * java/class.c: Likewise.
9381
65c07641
KH
93822004-02-17 Kazu Hirata <kazu@cs.umass.edu>
9383
9384 * config/h8300/h8300.md: Fix comment typos.
9385
3e35cb0c
RO
93862004-02-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9387
9388 * config/mips/t-iris6gld: Renamed to ...
9389 * config/mips/t-irix-gld: ... this.
9390 * config.gcc (mips-sgi-irix6*): Reflect this
9391 (mips-sgi-irix5*): Use it with GNU ld.
57d4f65c 9392
3e35cb0c
RO
9393 * config/mips/irix6-crti.asm, config/mips/irix6-crtn.asm: Renamed
9394 to ...
9395 * config/mips/irix-crti.asm, config/mips/irix-crtn.asm: ... this.
9396 * config/mips/t-irix-gld: Reflect this.
9397 * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
57d4f65c 9398
3e35cb0c
RO
9399 * config/mips/iris5gld.h: New file.
9400 * config.gcc (mips-sgi-irix5*): Use it with GNU ld.
9401 Only use collect2 without gas.
57d4f65c 9402
3e35cb0c
RO
9403 * config/mips/iris6.h (IRIX6_STARTFILE_SPEC, IRIX6_ENDFILE_SPEC):
9404 Renamed to IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
9405 (STARTFILE_SPEC, ENDFILE_SPEC, SUBTARGET_EXTRA_SPECS): Reflect this.
9406 * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
57d4f65c 9407
3e35cb0c
RO
9408 * config/mips/iris6.h (SUBTARGET_EXTRA_SPECS): Moved ...
9409 * config/mips/iris5.h: ... here.
9410
9411 * config/mips/iris5.h (STARTFILE_SPEC, ENDFILE_SPEC): Renamed to
57d4f65c 9412 IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
3e35cb0c 9413 (STARTFILE_SPEC, ENDFILE_SPEC): Define.
57d4f65c 9414
3e35cb0c
RO
9415 * config/mips/iris5gas.h (STARTFILE_SPEC, ENDFILE_SPEC): Simplify
9416 using irix_startfile_spec, irix_endfile_spec.
9417
1f0282cb
GN
94182004-02-16 Gunther Nikl <gni@gecko.de>
9419
9420 * config/m68k/m68k.c: Remove obsolete support for HPUX_ASM.
9421
6552458a
KH
94222004-02-17 Kazu Hirata <kazu@cs.umass.edu>
9423
9424 * config/h8300/h8300.c (h8300_expand_prologue): Don't generate
9425 insns by hand.
9426
017b3258
ZD
94272004-02-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9428
9429 * cfghooks.c (split_edge): Speed up updating of dominators.
9430
57782ad8
MM
94312004-02-17 Mark Mitchell <mark@codesourcery.com>
9432
9433 PR c++/11326
9434 * c-common.c (flag_abi_version): Remove.
9435 * c-common.h (flag_abi_version): Likewise.
9436 * c-opts.c (c_common_handle_option): Remove OPT_fabi_version case.
9437 * c.opt (fabi-version): Remove.
9438 * calls.c (expand_call): Always pass a function type to
9439 struct_value_rtx. Use convert_memory_address.
9440 * common.opt (fabi-version): Add it.
9441 * flags.h (flag_abi_version): Likewise.
9442 (abi_version_at_least): New macro.
9443 * opts.c (common_handle_option): Add OPT_fabi_version.
9444 * toplev.c (flag_abi_version): Define it.
9445 * config/ia64/ia64.c (ia64_struct_retval_addr_is_first_parm_p):
9446 New function.
9447 (ia64_output_mi_thunk): Use it.
9448 (ia64_struct_value_rtx): Likewise.
57d4f65c 9449
72b1de44
KH
94502004-02-17 Kazu Hirata <kazu@cs.umass.edu>
9451
9452 * config/h8300/h8300.c (h8300_emit_stack_adjustment):
9453 Don't generate insns by hand.
9454
d150ccef
AP
94552004-02-17 Andrew Pinski <pinskia@physics.uc.edu>
9456
9457 PR c++/14178
9458 * doc/invoke.texi (fabi-version): The default is 2 now.
9459
50654f6c
ZD
94602004-02-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9461
9462 * loop-iv.c: New file.
9463 * Makefile.in (loop-iv.o): New.
9464 * basic_block.h (FOR_BB_INSNS, FOR_BB_INSNS_REVERSE): New macros.
9465 * cfgloop.c (fill_sons_in_loop, get_loop_body_in_dom_order,
9466 num_loop_branches): New functions.
9467 * cfgloop.h (get_loop_body_in_dom_order, num_loop_branches,
9468 iv_analysis_loop_init, iv_get_reaching_def, iv_analyse, get_iv_value,
9469 find_simple_exit, iv_number_of_iterations, iv_analysis_done,
9470 get_simple_loop_desc, free_simple_loop_desc): Declare.
9471 (simple_loop_desc): New inline function.
9472 (struct rtx_iv, struct niter_desc): New.
9473 * cfgloopmanip.c (loopify): Specify semantics more precisely.
9474 * expr.c (force_operand): Handle subregs of expressions created by
9475 loop unroller.
9476 * loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Move
9477 parts of the initialization to toplev.c
9478 * loop-unroll.c (loop_exit_at_end_p): New.
9479 (unroll_and_peel_loops): Call iv_analysis_done.
9480 (decide_peel_once_rolling, decide_peel_completely,
9481 decide_unroll_stupid, decide_unroll_constant_iterations,
9482 decide_unroll_runtime_iterations, decide_peel_simple,
9483 peel_loop_simple, unroll_loop_stupid, unroll_loop_constant_iterations,
9484 unroll_loop_runtime_iterations): Use new simple loop analysis.
9485 * loop-unswitch.c (compare_and_jump_seq): New.
9486 (may_unswitch_on_p): Renamed to ...
9487 (may_unswitch_on): Use new iv analysis.
9488 (reversed_condition): Export.
9489 (unswitch_single_loop, unswitch_loop): Use new iv analysis.
9490 * predict.c (estimate_probability): Use new simple loop analysis.
9491 * rtl.h (get_mode_bounds, reversed_condition,compare_and_jump_seq,
9492 canon_condition, simplify_using_condition): Declare.
9493 * stor-layout.c (get_mode_bounds): New.
9494 * toplev.c (rest_of_handle_loop2): Some parts of
9495 initialization/finalization moved here from loop-init.c.
9496
ef3f573f
KH
94972004-02-17 Kazu Hirata <kazu@cs.umass.edu>
9498
9499 * config/h8300/h8300.h (FIXED_REGISTERS): Add the soft frame
9500 pointer.
9501 (CALL_USED_REGISTERS): Likewise.
9502 (REG_ALLOC_ORDER): Likewise.
9503 (REG_CLASS) <GENERAL_REGS>: Likewise.
9504
e3d6e740
GK
95052004-02-16 Geoffrey Keating <geoffk@apple.com>
9506
9507 * doc/md.texi (Insn Canonicalizations): Document left-chaining
9508 in associative operators.
9509 * rtlanal.c (commutative_operand_precedence): Create some new
9510 variables. Prefer a commutative operand on the left, then
9511 binary expressions, then NEG and NOT.
9512
8c958ed2
MK
95132004-02-16 Matthias Klose <doko@debian.org>
9514
57d4f65c
ZW
9515 * config/t-slibgcc-elf-ver: Define SHLIB_NAME and SHLIB_SONAME
9516 in terms of SHLIB_SOVERSION.
9517 * config/m68k/t-slibgcc-elf-ver: New file.
9518 * config/pa/t-slibgcc-elf-ver: New file.
9519 * config.gcc (m68k-linux, parisc-linux): Use them when not
8c958ed2
MK
9520 sjlj exceptions are not configured.
9521
42a5f3c0
EB
95222004-02-16 Eric Botcazou <ebotcazou@libertysurf.fr>
9523
9524 * config/sparc/sparc.c (get_pc_symbol_name): Mark with GTY(()).
9525
1729e46c
ZW
95262004-02-16 Zack Weinberg <zack@codesourcery.com>
9527
9528 * sdbout.c (sdb_debug_hooks): Correct the type_decl entry.
9529
0acdc221
JM
95302004-02-16 Joseph S. Myers <jsm@polyomino.org.uk>
9531
9532 * doc/sourcebuild.texi: Mention backends.html.
9533
9ac97460
KH
95342004-02-16 Kazu Hirata <kazu@cs.umass.edu>
9535
9536 * c-decl.c, c-ppoutput.c, cpphash.h, cpplib.h, dbxout.c,
9537 line-map.c, line-map.h, var-tracking.c: Fix comment
9538 formatting.
9539
9dcb4381
RH
95402004-02-16 Richard Henderson <rth@redhat.com>
9541
9542 * cse.c (cse_insn): Don't lose REG_NON_LOCAL_GOTO note.
9543
1729e46c 9544 * fold-const.c (operand_equal_p): Fix VECTOR_CST comparison.
875427f0 9545
1472042a
KH
95462004-02-15 Kazu Hirata <kazu@cs.umass.edu>
9547
9548 * config/h8300/h8300.md: Remove unnecessary parallels from
9549 all define_insn and define_split patterns.
9550
24f29b06
KH
95512004-02-15 Kazu Hirata <kazu@cs.umass.edu>
9552
9553 * config/h8300/h8300.md: Remove explicit (set_attr "cc"
9554 "clobber").
9555
ac5f9961
BI
95562004-02-15 Bernardo Innocenti <bernie@develer.com>
9557
9558 * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Restore support for
9559 '%#'.
9560
68776c43
KH
95612004-02-15 Kazu Hirata <kazu@cs.umass.edu>
9562
9563 * config/ia64/ia64.c, config/mips/mips.c,
9564 config/mmix/mmix-modes.def: Fix comment typos.
9565
7501c4e4
RS
95662004-02-15 Roger Sayle <roger@eyesopen.com>
9567
9568 * c-common.h (GET_DIRECTIVE_LINE): Remove unused macro.
9569 (get_directive_line): Remove unused function prototype.
9570
5852680b
JZ
95712004-02-14 Josef Zlomek <zlomekj@suse.cz>
9572
9573 * tree-inline.c (copy_body_r): Do not replace ret_label.
9574
be04394b
JH
95752004-02-14 Jan Hubicka <jh@suse.cz>
9576
9577 * i386.c (x86_four_jump_limit): New variable.
9578 (k8_avoid_jump_misspredicts): Rename to ...
9579 (ix86_avoid_jump_misspredicts): .. this one.
9580 (ix86_pad_returns): Break out from ...
9581 (ix86_reorg): ... this one; do ix86_avoid_jump_misspredicts when asked
9582 to.
9583 * i386.h (TARGET_FOUR_JUMP_LIMIT): New macro.
9584
d4afac5b
JZ
95852004-02-14 Josef Zlomek <zlomekj@suse.cz>
9586
9587 * emit-rtl.c (set_decl_incoming_rtl): Check whether the 0th element of
9588 PARALLEL is NULL.
9589
c7762b44
PB
95902004-02-14 Per Bothner <per@bothner.com>
9591
9592 * fix-header.c (line_table): Move local variable in main to global.
9593 * scan.h (line_table): Use it.
9594 * scan-decls.c (scan_decls): Need to call linemap_lookup on token's
9595 line (recently renamed to src_loc) before calling recognized_function.
9596
cb7c0b5a
MK
95972004-02-14 Matt Kraai <kraai@alumni.cmu.edu>
9598
9599 * Makefile.in: Fix comment typos.
9600
45f9877a
EB
96012004-02-14 Olivier Hainque <hainque@act-europe.fr>
9602
9603 * loop.c (check_dbra_loop): Use gen_int_mode instead of GEN_INT
9604 for start_value when it is directly moved into reg, and factorize
9605 the retrieval of GET_MODE (reg).
9606
544142d8
RS
96072004-02-14 Richard Sandiford <rsandifo@redhat.com>
9608
9609 * config/mips/mips-protos.h (mips_load_got_page): Delete.
9610 (mips_load_got_global): Delete.
9611 (mips_gotoff_page): Declare.
9612 * config/mips/mips.md (UNSPEC_LOAD_GOT): New constant.
9613 (*xgot_lo[sd]i, *got_disp[sd]i, *got_page[sd]i): Build an
9614 UNSPEC_LOAD_GOT pattern rather than a MEM.
9615 (*load_got[sd]i): New patterns.
9616 * config/mips/mips.c (mips_got_alias_set, mips_load_got): Delete.
9617 (mips_load_got_page, mips_load_got_global): Delete.
9618 (mips_gotoff_page): New function.
9619 (override_options): Don't initialize mips_got_alias_set.
9620
d2888f1d
RS
96212004-02-14 Richard Sandiford <rsandifo@redhat.com>
9622
9623 * config/mips/mips.h (MASK_DEBUG_[ABEFI], TARGET_DEBUG_[ABEFI]_MODE)
9624 (TARGET_MIPS4100, TARGET_MIPS4300, TARGET_MIPS4KC, TARGET_MIPS5KC)
9625 (TARGET_SB1, TUNE_SB1, TUNE_SR71K, BIGGEST_MAX_ARGS_IN_REGISTERS)
9626 (GO_PRINTF, GO_PRINTF2, GO_DEBUG_RTX, DFMODE_NAN, SFMODE_NAN): Delete.
9627 (TARGET_SWITCHES): Remove MASK_DEBUG_[ABEFI].
9628 * config/mips/mips.c: Fix some overly-long lines.
9629 (SINGLE_WORD_MODE_P, PIC_OFFSET_TABLE_MASK): Delete.
9630 (init_cumulative_args): Remove TARGET_DEBUG_E_MODE handling.
9631
19baba0b
RO
96322004-02-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9633
9634 * configure.ac: Search for as, ld below libexec/gcc.
9635 * configure: Regenerate.
9636
f07a6b21
BE
96372004-02-14 Ben Elliston <bje@wasabisystems.com>
9638
9639 * config/arm/mmintrin.h (_mm_setwcx): Reverse arguments in call to
9640 __builtin_arm_setwcx ().
9641 * config/arm/arm.c (arm_expand_builtin): Generate operands
9642 correctly and reverse their order in call to gen_iwmmxt_tmcr ().
9643
96442004-02-14 Ben Elliston <bje@wasabisystems.com>
9645
9646 * config/arm/arm.c (bdesc_2arg): Correct builtin names "wmulsh"
9647 and "wmuluh" to "wmulsm" and "wmulum", respectively.
9648 * config/arm/arm.h (enum arm_builtins): Rename enumerators to
9649 ARM_BUILTIN_WMULSM and ARM_BUILTIN_WMULUM.
9650 * config/arm/mmintrin.h (_mm_mulhi_pi16): Update intrinsic call.
9651 (_mm_mulhi_pu16): Likewise.
9652
f433554b
ZW
96532004-02-13 Zack Weinberg <zack@codesourcery.com>
9654
9655 * xcoffout.c (xcoff_assign_fundamental_type_number): Check
9656 DECL_NAME != 0 before dereferencing.
9657
faeb9bb6
UW
96582004-02-13 Ulrich Weigand <uweigand@de.ibm.com>
9659
9660 * config/s390/s390-protos.h (s390_output_symbolic_const): Remove.
9661 (s390_output_addr_const_extra): Declare.
9662 (s390_output_pool_entry): Remove FILE * argument.
9663 * config/s390/s390.c (s390_output_symbolic_const): Remove.
9664 (s390_output_addr_const_extra): New function.
9665 (print_operand_address): Call output_addr_const instead of
9666 s390_output_symbolic_const.
9667 (print_operand): Likewise.
9668 (s390_output_pool_entry): Use assemble_integer for symbolic constants.
9669 Remove FILE * argument.
9670 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Define.
9671 * config/s390/s390.md ("*pool_entry"): Adapt s390_output_pool_entry
9672 call.
9673
cfbe3efe
ZD
96742004-02-13 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9675
9676 * cfgloopanal.c (mark_irreducible_loops): Rewriten.
9677 (struct edge, struct vertex, struct graph): New.
9678 (dump_graph, new_graph, add_edge, dfs, check_irred, for_each_edge,
9679 free_graph): New functions.
9680
d349192c
CD
96812004-02-12 Chris Demetriou <cgd@broadcom.com>
9682
9683 * config/mips/mips.md (casesi_internal, casesi_internal_di):
9684 Use ".set macro" to avoid warnings about multi-instruction
9685 macros, since they're intentional.
9686
52ccb3d2
GK
96872004-02-12 Geoffrey Keating <geoffk@apple.com>
9688
213c4a8a
GK
9689 * config/darwin.h: Add include guards. Remove old, now incorrect,
9690 comment about STANDARD_EXEC_PREFIX.
9691
52ccb3d2
GK
9692 * Makefile.in (install-man): Use $(CPP_INSTALL_NAME) and
9693 $(GCOV_INSTALL_NAME) to install manpages. Remove generic rule
9694 for installing .1 manpages. Add rules for installing cpp
9695 and gcov manpages under their installed names.
9696
1a543d25
AO
96972004-02-12 Alexandre Oliva <aoliva@redhat.com>
9698
9699 * configure.ac (gcc_cv_ld): Don't set to LD if target is not
9700 host, but try LD_FOR_TARGET first.
9701 * configure: Rebuilt.
9702
8507c40a
ZW
97032004-02-12 Zack Weinberg <zack@codesourcery.com>
9704
9705 * dbxout.c: Move declaration of dbxout_type_decl outside
9706 #ifdef DBX_DEBUGGING_INFO.
9707 * c-parse.in: Don't give the asmdef production a type.
9708
21d13d83
ZW
97092004-02-12 Zack Weinberg <zack@codesourcery.com>
9710
9711 * debug.h (struct gcc_debug_hooks): Add type_decl field.
9712 (debug_nothing_tree_int): Prototype.
9713 (dwarf_debug_hooks): Delete, unused.
9714 * debug.c (do_nothing_debug_hooks): Update.
9715 (debug_nothing_tree_int): New function.
9716 * langhooks.h (struct lang_hooks_for_decls):
9717 Remove builtin_type_decls field.
9718 * langhooks-def.h (LANG_HOOKS_BUILTIN_TYPE_DECLS): Delete.
9719 (LANG_HOOKS_DECLS): Update.
9720 * toplev.c (rest_of_decl_compilation, rest_of_type_compilation):
9721 Use debug_hooks->type_decl.
9722 * dbxout.c (preinit_symbols): New static.
9723 (dbx_debug_hooks, xcoff_debug_hooks): Update.
9724 (dbxout_init): Don't call DBX_OUTPUT_STANDARD_TYPES or
9725 lang_hooks.decls.builtin_type_decls. Do scan preinit_symbols
9726 for symbols to output.
9727 (dbxout_type_decl): New function.
9728 (dbxout_symbol): If called before dbxout_init has run, queue
9729 the symbol for later. Apply DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER
9730 to TYPE_DECLs before emitting them.
9731 * xcoffout.c (assign_type_number): Delete.
9732 (xcoff_type_numbers): New static table.
9733 (xcoff_assign_fundamental_type_number): New function.
9734 * xcoffout.h: Define DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER, not
9735 DBX_OUTPUT_STANDARD_TYPES. Remove unnecessary #ifdefs.
9736 * sdbout.c: Include varray.h.
9737 (deferred_global_decls): New static.
9738 (sdb_debug_hooks): Update.
9739 (sdbout_global_decl): If we can't emit something right now,
9740 remember it in deferred_global_decls.
9741 (sdbout_finish): Just scan deferred_global_decls; don't call getdecls.
9742 (sdbout_init): Initialize deferred_global_decls.
9743 * Makefile.in: Update dependencies of sdbout.o.
9744 * dwarf2out.c (dwarf2out_type_decl): New function.
9745 (dwarf2_debug_hooks): Update.
9746 * vmsdbgout.c (vmsdbg_debug_hooks): Update.
9747 * c-decl.c (getdecls): Just return 0.
9748 (check_for_loop_decls): Don't use getdecls.
9749 (record_builtin_type): Call debug_hooks->type_decl on the TYPE_DECL.
9750 * c-objc-common.c (c_objc_common_finish_file): Don't use getdecls.
9751
a90a16f3
UW
97522004-02-12 Ulrich Weigand <uweigand@de.ibm.com>
9753
9754 * config/s390/s390.c (s390_sched_reorder2): Remove.
9755 (TARGET_SCHED_REORDER2): Do not redefine.
9756
9f0e2d86
ZW
97572004-02-12 Zack Weinberg <zack@codesourcery.com>
9758
9759 * c-parse.in (maybe_type_qual): Delete.
9760 (maybe_volatile, simple_asm_expr, asmdef, asm_stmt)
9761 (asm_argument): New grammar rules.
9762 (extdef_1): Use asmdef.
9763 (maybeasm): Move down with other asm rules; use simple_asm_expr.
9764 (xexpr): Move up with other expression rules.
9765 (stmt): Use asm_stmt.
9766
9767 * c-typeck.c (build_asm_expr): New function - body mostly
9768 pulled from build_asm_stmt.
9769 (build_asm_stmt): Just handle tacking on the volatile qualifier.
9770 * c-tree.h (build_asm_expr, build_asm_stmt): Update prototypes.
9771
35f5add9
RS
97722004-02-12 Richard Sandiford <rsandifo@redhat.com>
9773
9774 PR bootstrap/13617
9775 * config/mips/mips-protos.h (mips_output_aligned_decl_common): Declare.
9776 (mips_declare_object): Make variadic.
9777 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use
9778 mips_output_aligned_decl_common.
9779 * config/mips/mips.c (mips_output_aligned_decl_common): New function.
9780 (mips_declare_object): Make variadic.
9781
a5e9c810
RK
97822004-02-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9783
8fbc67c0
RK
9784 * function.c (update_epilogue_consts): Teach about binary operations.
9785
a5e9c810
RK
9786 * emit-rtl.c (set_mem_attributes_minus_bitpos): Don't kill
9787 previous MEM_VOLATILE in REF.
9788 * function.c (fixup_var_refs): Save volatile_ok and set to 1.
9789 * expr.c (emit_block_move_via_movstr): Save and restore volatile_ok.
9790
7ea98c5a
GN
97912004-02-12 Gunther Nikl <gni@gecko.de>
9792
9793 * config.gcc: Restore support for m68k-openbsd.
9794
8f6a8d03
JH
97952004-02-12 Jan Hubicka <jh@suse.cz>
9796
9797 * tree-optimize.c (tree_rest_of_compilation): Do not release
9798 DECL_ARGUMENTS.
9799
c2910edf
MK
98002004-02-11 Matt Kraai <kraai@alumni.cmu.edu>
9801
9802 * doc/install.texi: Fix the spelling of "explicitly".
9803
423e95e2
EC
98042004-02-11 Eric Christopher <echristo@redhat.com>
9805
9806 * cppcharset.c (_cpp_interpret_string_notranslate): Rename and
9807 duplicate argument structure of cpp_interpret_string.
9808 * cpphash.h: Move prototype...
9809 * cpplib.h: Here.
9810 * cpplib.c: Fix calls to match new function signature.
9811
32e8aa9a
JM
98122004-02-11 Joseph S. Myers <jsm@polyomino.org.uk>
9813
9814 PR c/456
9815 * cppexp.c (num_binary_op): Don't allow comma operators in #if
9816 constant expressions at all outside C99 mode if pedantic.
9817
3b8e0c91
UB
98182004-02-11 Uros Bizjak <uros@kss-loka.si>
9819
9820 * optabs.h (enum optab_index): Add new OTI_log10 and OTI_log2.
9821 (log10_optab, log2_optab): Define corresponding macros.
9822 * optabs.c (init_optabs): Initialize log10_optab and log2_optab.
9823 * genopinit.c (optabs): Implement log10_optab and log2_optab
9824 using log10?f2 and log2?f2 patterns.
9825 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG10{,F,L}
9826 using log10_optab, and BUILT_IN_LOG2{,F,L} using log2_optab.
9827 (expand_builtin): Expand BUILT_IN_LOG10{,F,L} and BUILT_IN_LOG2{,F,L}
9828 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
9829
9830 * config/i386/i386.md (log10sf2, log10df2, log10xf2, log2sf2,
9831 log2df2, log2xf2): New patterns to implement log10, log10f, log10l,
9832 log2, log2f and log2l built-ins as inline x87 intrinsics.
9833
a6abdce3
RH
98342004-02-11 Richard Henderson <rth@redhat.com>
9835
888ff7a1 9836 PR target/1532
a6abdce3
RH
9837 * flow.c (insn_dead_p): A clobber of a dead hard register is a
9838 dead insn after reload.
9839
05ac140e
UW
98402004-02-11 Ulrich Weigand <uweigand@de.ibm.com>
9841
9842 * tree.h (frame_base_decl): Add GTY marker.
9843 * var-tracking.c (frame_base_decl): Likewise.
9844
e193b408
DB
98452004-02-11 Daniel Berlin <dberlin@dberlin.org>
9846
9847 * dwarf2out.c (output_loc_list): Remove no longer necessary, and now
9848 incorrect, hunk.
9849 (add_location_or_const_value_attribute): Use text_section_label,
9850 not TEXT_SECTION_NAME.
12f9df4e
PB
9851
98522004-02-11 Per Bothner <per@bothner.com>
9853
9854 Represent column numbers using line-map's source_location.
9855 The "next available source_location" is now managed internally by
9856 line-maps.c rather than by clients.
9857 * line-map.h (struct line_map): New field column_bits.
9858 <from_line>: Rename field to start_location.
9859 (struct line_maps): New fields highest_location and max_column_hint.
9860 (linemap_check_files_exited): New declaration.
9861 (linemap_line_start): New declaration.
9862 (linemap_add): Remove from_line parameter; use highest_location field.
9863 (SOURCE_LINE, LAST_SOURCE_LINE): Modify to use column_bits.
9864 (SOURCE_COLUMN, LAST_SOURCE_LINE_LOCATION): New macros.
9865 (CURRENT_LINE_MAP): Remove macro.
9866 (linemap_position_for_column): New inline function.
9867 * line-map.c (linemap_init): Clear new fields.
9868 (linemap_check_files_exited): New function, extracted from ...
9869 (linemap_free): Use linemap_check_files_exited.
9870 (linemap_add): Remove from_line parameter. Various updates.
9871 (linemap_line_start): New function.
9872 (linemap_lookeup): Update for new field names.
9873 * cpphash.h (struct cpp_reader) <map>: Field removed. Because
9874 linemap_position_for_column may unpredictably change the current map,
9875 it is cleaner and simpler for us to not cache it in cpp_reader.
9876 (struct cpp_buffer): New sysp field.
9877 Changed warned_cplusplus_comments and from_stage3 to bitfields.
9878 * cppinit.c (cpp_read_min_file): pfile->map no longer exists.
9879 * cpplib.c (do_line, do_linemarker, _cpp_do_file_change): Get
9880 current map using linemap_lookup.
9881 (do_linemarker): Also set buffer's sysp field.
9882 (destringize_and_run): No longer need to decrement current line.
9883 * cppfiles.c (_cpp_stack_file): Set sysp from and in buffer.
9884 (search_path_head, open_file_failed): Use buffer's sysp.
9885 (cpp_make_system_header): Get current map using linemap_lookup.
9886 Also set buffer's sysp flag.
9887 * cppmacro.c (_cpp_builtin_macro_text): Likewise use linemap_lookup.
9888 * cpphash.h (CPP_INCREMENT_LINE): New macro.
9889 (struct cpp_buffer): Moved fields saved_cur, saved_rlimit to ...
9890 (struct cpp_reader): ... and adding saved_line_base field.
9891 * cpptrad.c (_cpp_overlay_buffer, _cpp_remove_overlay):
9892 Update accordingly. Don't adjust line.
9893 (_cpp_scan_out_logical_line): Use CPP_INCREMENT_LINE.
9894 * cpphash.c (CPP_IN_SYSTEM_HEADER): Replaced macro by ...
9895 (cpp_in_system_header): ... new inline function, using buffer's sysp.
9896 * cpperror.c (_cpp_begin_message): Update to use cpp_in_system_header.
9897 * cpplex.c (_cpp_lex_direct): Likewise.
9898 * cppmacro.c (_cpp_builtin_macro_text): Likewise.
9899 * cppmacro.c (_cpp_create_definition): Use buffer's sysp field.
9900 * cpplib.h (struct cpp_token): Rename line field to src_loc.
9901 Remove col field as it is now subsumed by src_loc.
9902 * cpperror.c: Update various field, parameter, and macro names.
9903 (print_location): If col==0, try SOURCE_COLUMN of line.
9904 (cpp_error): Use cur_token's src_loc field, rather than line+col.
9905 * cpplib.c (do_diagnostic): Token's src_loc fields replaces line+col.
9906 * cpplex.c (_cpp_process_line_notes, _cpp_lex_direct,
9907 _cpp_skip_block_comment): Use CPP_INCREMENT_LINE.
9908 (_cpp_temp_token): Replace cpp_token's line+col fields by src_loc.
9909 (_cpp_get_fresh_line): Don't need to adjust line for missing newline.
9910 (_cpp_lex_direct): Use linemap_position_for_column.
9911 * c-ppoutput.c (maybe_print_line, print_line): Don't take map
9912 parameter. Instead get it from the line_table global. Adjust callers.
9913 (print): Remove map field. Replace line field to src_line.
9914 (init_pp_output, account_for_newlines, maybe_print_line): Adjust.
9915 (cb_line_change): Use SOURCE_COLUMN. Minor optimizations.
9916 (pp_file_change): Use MAIN_FILE_P since we cannot checked print.map.
9917 Use LAST_SOURCE_LINE_LOCATION to "catch up" after #include.
9918 * cpptrad.c (copy_comment): Rename variable.
9919 * c-lex.c (map): Remove static variable, for same reason we removed
9920 cpp_reader's map field.
9921 (cb_line_change, cb_def_pragma, cb_define, cb_undef): Hence we need
9922 to call linemap_lookup.
9923 (cb_line_change): Token's line field replaced by src_loc.
9924 (fe_file_change): Use MAINFILE_P and LAST_SOURCE_LINE macros.
9925 Don't save new_map.
9926
9927 * cpphash.h, cpperror.c, cpplib.h: Some renames of fileline to
9928 source_location.
9929
e086f51d 99302004-02-11 Hartmut Penner <hpenner@de.ibm.com>
423e95e2 9931
e086f51d
HP
9932 * config/rs6000/altivec.md (*movv4si_internal): At least one
9933 operand must be register_operand.
9934 (*movv8hi_internal1): Likewise.
9935 (*movv16qi_internal1): Likewise.
9936 (*movv4sf_internal1): Likewise.
9937
e66b2fcf 99382004-02-10 Aldy Hernandez <aldyh@redhat.com>
8914b65e
AH
9939
9940 * config/rs6000/spe.md ("*movv2si_internal"): Check for register
9941 operand.
9942 (movv4hi_internal): Same.
9943 (movv2sf_internal): Same.
9944 (movv1di_internal): Same.
e66b2fcf 9945
7f9be256
TS
99462004-02-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
9947
9948 * config/mips/mips.h (TARGET_OLDABI): Define. Use TARGET_NEWABI and
c0689841 9949 TARGET_OLDABI consistently.
7f9be256
TS
9950 * config/mips/mips.c (function_arg,mips_setup_incoming_varargs,
9951 mips_va_arg,override_options,compute_frame_size,
9952 mips_initial_elimination_offset,mips16_fp_args,build_mips16_call_stub
9953 ,mips_return_in_memory,mips_strict_argument_naming): Use TARGET_NEWABI
c0689841 9954 and TARGET_OLDABI consistently.
7f9be256
TS
9955 * config/mips/mips.md (exception_receiver): Likewise.
9956 * config/mips/linux64.h: Likewise.
9957
6d0ef01e
HP
99582004-02-11 Hartmut Penner <hpenner@de.ibm.com>
9959
9960 * gcc/config/rs6000/rs6000.c (rs6000_override_options)
9961 Set AltiVec ABI and vrsave as default for ppc64 linux.
9962 (init_cumulative_args): Post error, if try to return
9963 value in AltiVec register without enable AltiVec.
423e95e2 9964 (function_arg_advance): Ditto for passing arguments.
6d0ef01e 9965
7537fc90
RS
99662004-02-11 Richard Sandiford <rsandifo@redhat.com>
9967
9968 * emit-rtl.c (mark_label_nuses): Check that a LABEL_REF refers to
9969 a label before updating its usage count.
9970
1e9f1674
MK
99712004-02-10 Matt Kraai <kraai@alumni.cmu.edu>
9972
9f0e2d86 9973 * doc/install.texi: Remove extra cd.
1e9f1674 9974
b34417a4
ZL
99752004-02-10 Ziemowit Laski <zlaski@apple.com>
9976
9977 * c-common.c (vector_size_helper): Remove; call
9978 reconstruct_complex_type() instead.
9979 * tree.c (reconstruct_complex_type): New function
9980 (formerly vector_size_helper() in c-common.c).
9981 (make_vector): Make externally visible.
9982 * tree.h (reconstruct_complex_type, make_vector): Add prototypes.
9983
a466bea3
KH
99842004-02-10 Kazu Hirata <kazu@cs.umass.edu>
9985
9986 * config/h8300/h8300-protos.h: Add a prototype for
9987 h8300_regs_ok_for_stm.
9988 * config/h8300/h8300.c (h8300_regs_ok_for_stm): New.
9989 * config/h8300/h8300.md (stm_h8300s_2_advanced,
9990 stm_h8300s_2_normal, stm_h8300s_2, stm_h8300s_3_advanced,
9991 stm_h8300s_3_normal, stm_h8300s_3, stm_h8300s_4_advanced,
9992 stm_h8300s_4_normal, stm_h8300s_4, ldm_h8300s_2_advanced,
9993 ldm_h8300s_2_normal, ldm_h8300s_2, ldm_h8300s_3_advanced,
9994 ldm_h8300s_3_normal, ldm_h8300s_3, ldm_h8300s_4_advanced,
9995 ldm_h8300s_4_normal, ldm_h8300s_4): Use
9996 h8300_regs_ok_for_stm().
9997
52bac949
DS
99982004-02-10 Danny Smith <dannysmith@users.sourceforge.net>
9999
10000 PR c/14088
896c3aa3 10001 * real.c (real_from_string): Look for 'X' as well as 'x' in
52bac949
DS
10002 hexfloat strings.
10003
2493deee
KH
100042004-02-10 Kazu Hirata <kazu@cs.umass.edu>
10005
10006 * config/h8300/h8300.md: Remove an incorrect comment about
10007 peephole2. Add comments.
10008
fbe6ec81
JZ
100092004-02-10 Josef Zlomek <zlomekj@suse.cz>
10010
10011 PR/14058
10012 * emit-rtl.c (set_decl_incoming_rtl): New.
10013 * tree.h (set_decl_incoming_rtl): New.
10014 * function.c (assign_parms): Use set_decl_incoming_rtl for setting
10015 DECL_INCOMING_RTL.
10016 * ada/misc.c (adjust_decl_rtl): Likewise.
10017
8a4baa83
PB
100182004-02-10 Per Bothner <per@bothner.com>
10019
10020 * c-opts.c (c_common_post_options): Don't emit working directory
10021 in cpp output if -P was specified.
10022
31cc6081
PB
100232004-02-10 Paolo Bonzini <bonzini@gnu.org>
10024
10025 PR c/14092
10026 * fold-const.c (fold) <NEGATE_EXPR>: Convert result of
10027 negate_expr back to the original type.
10028
d1d5c836
AM
100292004-02-10 Alan Modra <amodra@bigpond.net.au>
10030
10031 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Don't
10032 bump retaddr here.
10033
dad822d3
PB
100342004-02-10 Paolo Bonzini <bonzini@gnu.org>
10035
10036 * rtl.h (schedule_insns, schedule_ebbs, fix_sched_param,
10037 gen_lowpart_SUBREG): Move under the file in which they
10038 are actually declared.
10039
cd271054
AC
100402004-02-10 Arnaud Charlet <charlet@act-europe.fr>
10041
10042 * doc/sourcebuild.texi: Add libada documentation.
10043
10044 * doc/install.texi: Update documentation on Ada build, now
10045 that the GNAT lib and tools are built automatically.
10046
117c5858
RS
100472004-02-10 Richard Sandiford <rsandifo@redhat.com>
10048
10049 * config/mips/mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI
10050 && TARGET_IRIX.
10051
42a1b62e
ZL
100522004-02-09 Ziemowit Laski <zlaski@apple.com>
10053
10054 * objc/objc-act.c (get_super_receiver): Move '#ifdef OBJCPLUS'
10055 boundaries outside build_component_ref() call (a macro in ObjC++).
10056
997b8b4d
BW
100572004-02-09 Bob Wilson <bob.wilson@acm.org>
10058
10059 * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Update.
10060 (init_cumulative_args): Likewise.
10061 (a7_overlap_mentioned_p): Delete prototype.
10062 * config/xtensa/xtensa.c (struct machine_function): Replace
10063 incoming_a7_copied field with need_a7_copy and vararg_a7 flags.
10064 Add set_frame_ptr_insn field.
10065 (xtensa_emit_move_sequence): Update call to xtensa_copy_incoming_a7.
10066 (xtensa_copy_incoming_a7): Rewrite to check need_a7_copy flag and check
10067 if the operand is an argument in a7. If so, copy a7 to a new pseudo
10068 at the function entry and replace the operand with the pseudo.
10069 (init_cumulative_args): Remove unused arguments. Add new "incoming"
10070 argument and record this flag in CUMULATIVE_ARGS.
10071 (function_arg): Remove result_mode and special-case code to handle
10072 arguments in a7. Instead, set need_a7_copy flag when there is an
10073 incoming argument in a7.
10074 (xtensa_expand_prologue): Remove code to search for set_frame_ptr insn
10075 and use the value recorded in cfun->machine->set_frame_ptr_insn.
10076 (xtensa_builtin_saveregs): Check for negative gp_left value. Set
10077 need_a7_copy and vararg_a7 flags. Use move_block_from_reg instead of
10078 special-case code.
10079 (a7_overlap_mentioned_p): Delete.
10080 * config/xtensa/xtensa.h (CUMULATIVE_ARGS): Add "incoming" flag.
10081 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Remove useless
10082 arguments to init_cumulative_args and pass "incoming" flag instead.
10083 (BLOCK_REG_PADDING): Delete.
10084 * config/xtensa/xtensa.md (movdi, movsf, movdf): Remove unnecessary
10085 checks for reload_in_progress and reload_completed. Update calls to
10086 xtensa_copy_incoming_a7.
10087 (ashlsi3): Rename existing insn to ashlsi3_internal. Add expander
10088 to call xtensa_copy_incoming_a7.
10089
10709fbf
DD
100902004-02-09 DJ Delorie <dj@redhat.com>
10091
10092 * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): No
10093 longer modify standard_exec_prefix, standard_bindir_prefix, or
10094 standard_startfile_prefix.
10095
c76362b4
JW
100962004-02-09 James E Wilson <wilson@specifixinc.com>
10097
228ae085
JW
10098 PR c++/11295
10099 * c-common.c (c_expand_expr, case STMT_EXPR): Change expand_expr call
10100 to expand_expr_real call, and pass in alt_rtl as last argument.
10101
c76362b4
JW
10102 PR libstdc++/5625
10103 * builtin-types.def (BT_WORD, BT_FN_WORD_PTR): New.
10104 * builtins.c (expand_builtin): Handle BUILT_IN_EXTEND_POINTER.
10105 * builtins.def (BUILT_IN_EXTEND_POINTER): New.
10106 * except.c (expand_builtin_extend_pointer): New.
10107 * except.h (expand_builtin_extend_pointer): Declare.
10108
d886a041
DE
101092004-02-09 David Edelsohn <edelsohn@gnu.org>
10110
10111 * config/rs6000/rs6000.c (rs6000_emit_move): Remove splitting slow
10112 unaligned loads and stores.
10113
756f76d0
RO
101142004-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10115
10116 * config/mips/iris5.h (BSS_SECTION_ASM_OP): Define.
10117 * config/mips/iris6.h (BSS_SECTION_ASM_OP): Undef.
10118
10119 * config/mips/iris6.h (TARGET_ASM_NAMED_SECTION): Moved ...
10120 * config/mips/iris5.h: ... here.
10121 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Remove.
10122
10123 * config/mips/iris6.h (EXTRA_SECTION_FUNCTIONS): Move ...
10124 * config/mips/iris5.h: ... here.
10125
426ca3ca
RO
101262004-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10127
10128 * configure.ac: Remove default executable files before AC_PROG_CC.
10129 * configure: Regenerate.
10130
500fc80f
KH
101312004-02-09 Kazu Hirata <kazu@cs.umass.edu>
10132
10133 PR target/13721
10134 * config/h8300/h8300.c (byte_reg): Call abort() if asked to
10135 print a operand other than a register.
10136
b83c4036
RS
101372004-02-09 Roger Sayle <roger@eyesopen.com>
10138
10139 * fold-const.c (fold) <NOP_EXPR>: Use the original type conversion
10140 tree code rather than call fold_convert, which doesn't specify a
10141 default floating point to integer conversion.
10142
3b4b85c9
BI
101432004-02-08 Bernardo Innocenti <bernie@develer.com>
10144
10145 * config/m68k/m68k.c, config/m68k/m68k.md (SGS, SGS_CMP_ORDER): Remove
10146 code to support SGS assembler. Reformat adjacent code where possible.
b83c4036
RS
10147 * config/m68k/m68k.c (switch_table_difference_label_flag): Remove
10148 definition.
10149 * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Remove support
10150 for '%#'.
3b4b85c9 10151 * config/m68k/linux.h, config/m68k/m68k.c,
b83c4036
RS
10152 * config/m68k/math-68881.h: Replace `%#' with `#' in inline asm
10153 macros and asm_printf() format strings.
3b4b85c9
BI
10154 * config/m68k/m68kelf.h (ASM_OUTPUT_CASE_END): Remove macro definition.
10155 * config/m68k/linux.h: Update copyright.
10156 * config/m68k/linux.h, config/m68k/m68k.c: Remove traling whitespace.
10157
01bbf777 101582004-02-08 Andreas Schwab <schwab@suse.de>
9f0e2d86 10159 Bernardo Innocenti <bernie@develer.com>
01bbf777
AS
10160
10161 * config/m68k/m68k.h (REGISTER_NAMES): Prefix each name with
10162 REGISTER_PREFIX.
10163 * (M68K_FP_REG_NAME): New macro to specify an alternate name for the
10164 frame pointer register, overridable by OS targets.
10165 * (M68K_REGNAME): Macro to obtain register name for asm output,
10166 eventually replacing %a6 with M68K_FP_REG_NAME.
10167 * config/m68k/coff.h (REGISTER_NAMES): Don't redefine.
10168 * config/m68k/linux.h (REGISTER_NAMES): Likewise.
10169 * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
10170 * config/m68k/netbsd-elf.h (REGISTER_NAMES): Likewise.
10171 * config/m68k/m68k.c: Use M68K_REGNAME(x) in place of reg_names[x].
10172
1f6acb82
KH
101732004-02-08 Kazu Hirata <kazu@cs.umass.edu>
10174
10175 * target-def.h (TARGET_STRUCT_VALUE_RTX): Define as
10176 hook_rtx_tree_int_null.
10177 * targhooks.c (default_struct_value_rtx): Remove.
10178 * targhooks.h: Remove the prototype for
10179 default_struct_value_rtx.
10180 * config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
10181 config/fr30/fr30.c, config/h8300/h8300.c, config/i386/i386.c,
10182 config/ip2k/ip2k.c, config/iq2000/iq2000.c,
10183 config/m32r/m32r.c, config/mcore/mcore.c, config/mips/mips.c,
10184 config/mn10300/mn10300.c, config/pdp11/pdp11.c,
10185 config/rs6000/rs6000.c, config/s390/s390.c,
10186 config/stormy16/stormy16.c, config/v850/v850.c,
10187 config/xtensa/xtensa.c (TARGET_STRUCT_VALUE_RTX): Remove.
10188 * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document the default.
10189
b46b8fb4
JM
101902004-02-08 Joseph S. Myers <jsm@polyomino.org.uk>
10191
10192 * README.Portability: Change "ISO C89" to "ISO C90".
10193 * c-parse.in (primary, initelt): Likewise.
10194
7c476bde
RS
101952004-02-08 Richard Sandiford <rsandifo@redhat.com>
10196
10197 * real.c (encode_ibm_extended): Normalize the input value before
10198 converting it to a double. Handle the case where a normal value
10199 rounds to infinity.
10200
56ae04af
KH
102012004-02-08 Kazu Hirata <kazu@cs.umass.edu>
10202
f934561e
KH
10203 * c-objc-common.c (c_cannot_inline_tree_fn): Fix a typo in a
10204 warning.
56ae04af
KH
10205 * cse.c (preferrable): Change to preferable. Update all of its
10206 callers.
10207 * genautomata.c (ainsn): Change
10208 first_ainsn_with_given_equialence_num to
10209 first_ainsn_with_given_equivalence_num. Update all of its
10210 references.
10211
ec1dbfca
JH
102122004-02-08 Jan Hubicka <jh@suse.cz>
10213
10214 * schedule-ebb.c (schedule_ebbs): Do not allocate reg life data.
10215
f276fb54
DE
102162004-02-07 David Edelsohn <edelsohn@gnu.org>
10217
10218 * function.c (assign_parms): Fix formatting.
10219
fefcb65c
KH
102202004-02-07 Kazu Hirata <kazu@cs.umass.edu>
10221
10222 * default.h (PROMOTE_PROTOTYPES): Remove.
10223 * system.h (PROMOTE_FUNCTION_RETURN, PROMOTE_PROTOTYPES,
10224 STRUCT_VALUE_REGNUM, SETUP_INCOMING_VARARGS,
10225 EXPAND_BUILTIN_SAVEREGS): Poison.
10226 * target-def.h (TARGET_PROMOTE_FUNCTION_RETURN): Define as
10227 hook_bool_tree_false.
10228 (TARGET_PROMOTE_PROTOTYPES): Likewise.
10229 * target.h: Replace SETUP_INCOMING_VARARGS with
10230 targetm.calls.setup_incoming_varargs().
10231 * targhooks.c (default_promote_function_return): Remove.
10232 (default_promote_prototypes): Likewise.
10233 (default_struct_value_rtx): Always abort().
10234 (default_expand_builtin_saveregs): Always print an error
10235 message.
10236 (default_setup_incoming_varargs): Do nothing.
10237 (default_pretend_outgoing_varargs_named): Don't depend on
10238 SETUP_INCOMING_VARARGS.
10239 * targhooks.h: Remove the prototype for
10240 default_promote_function_return and
10241 default_promote_prototypes.
10242
dc79b3b8
KH
102432004-02-07 Kazu Hirata <kazu@cs.umass.edu>
10244
10245 * system.h (SHARED_SECTION_ASM_OP): Poison.
10246 * varasm.c (data_section): Don't use SHARED_SECTION_ASM_OP.
10247 * doc/tm.texi (SHARED_SECTION_ASM_OP): Remove.
10248
a6f78652
ZW
102492004-02-07 Zack Weinberg <zack@codesourcery.com>
10250
10251 Bug 13856
10252 * c-decl.c (diagnose_mismatched_decls): Only give special
10253 treatment when olddecl is DECL_BUILT_IN, if C_DECL_INVISIBLE
10254 is also true.
10255 (merge_decls): Don't clear DECL_BUILT_IN_CLASS and
10256 DECL_FUNCTION_CODE when defining a built-in function.
10257 Don't update DECL_ESTIMATED_INSNS.
10258 * dwarf2out.c (dwarf2out_decl): Don't ignore built-in
10259 FUNCTION_DECLs.
10260 * tree.h: Delete DECL_ESTIMATED_INSNS.
10261 * tree-inline.c (struct inline_data): Delete inlined_insns field.
10262 (expand_call_inline, optimize_inline_calls): Don't update
10263 DECL_ESTIMATED_INSNS nor inlined_insns.
10264 * cgraphunit.c (cgraph_analyze_function): Don't update
10265 DECL_ESTIMATED_INSNS.
10266
102672004-02-07 Zack Weinberg <zack@codesourcery.com>
10268
10269 * c-common.c (shadow_warning): Delete.
10270 * c-common.h (free_parser_stacks, shadow_warning, sw_kind): Delete.
10271 * c-decl.c (warn_if_shadowing): Issue shadow warnings directly.
10272 * c-opts.c (c_common_parse_file): Don't call free_parser_stacks.
10273 * c-parse.in (free_parser_stacks): Delete.
10274
947c6b00
NN
102752004-02-07 Nathanael Nerode <neroden@gcc.gnu.org>
10276
10277 * Makefile.in, config/t-slibgcc-darwin, config/t-slibgcc-elf-ver,
10278 config/t-slibgcc-sld, config/mips/t-iris5-6, config/sh/t-linux:
10279 Use the top level mkinstalldirs, not the one in the gcc subdir.
10280 * mkinstalldirs: Remove (from the gcc subdir).
10281
088414c1
RS
102822004-02-07 Roger Sayle <roger@eyesopen.com>
10283
10284 PR middle-end/13696
10285 * fold-const.c (fold_convert): New function to provide type
10286 conversion to the middle-end without using convert.
10287 (negate_expr, associate_trees, size_diffop, omit_one_operand,
10288 operand_equal_for_comparison_p, pedantic_omit_one_operand,
10289 invert_truthvalue, optimize_bit_field_compare, range_binop,
10290 decode_field_reference, make_range, build_range_check, unextend,
10291 fold_truthop, extract_muldiv_1, fold_mathfn_compare,
10292 fold_binary_op_with_conditional_arg, fold_inf_compare,
10293 fold_single_bit_test, fold, multiple_of_p): Replace all calls to
10294 convert with calls to fold_convert.
10295
076963eb
JH
102962004-02-07 Jan Hubicka <jh@suse.cz>
10297
10298 * genrecog.c (find_operand): add extra argument stop.
10299 (validate_pattern): Verify that mach_dup is duplicating operand
10300 defined lexically earlier.
10301
1197924d
KH
103022004-02-07 Kazu Hirata <kazu@cs.umass.edu>
10303
10304 * config.gcc: Don't mention MAX_LONG_TYPE_SIZE.
10305 * system.h (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
10306 MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Poison.
10307 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
10308 config/ia64/ia64.h, config/ip2k/ip2k.h,
10309 config/iq2000/iq2000.h, config/mips/iris5.h,
10310 config/mips/mips.h, config/pa/pa-64.h, config/pa/pa.h,
10311 config/rs6000/aix51.h, config/rs6000/aix52.h,
10312 config/rs6000/darwin.h, config/rs6000/rs6000.h,
10313 config/s390/s390.h, config/sh/sh.h, config/sparc/freebsd.h,
10314 config/sparc/linux.h, config/sparc/linux64.h,
10315 config/sparc/netbsd-elf.h, config/sparc/sparc.h,
10316 config/xtensa/xtensa.h: Remove the definitions of
10317 MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, and/or
10318 MAX_WCHAR_TYPE_SIZE.
10319 * doc/tm.texi (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
10320 MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Remove.
10321
883899ee
SC
103222004-02-07 Stephane Carrez <stcarrez@nerim.fr>
10323
10324 PR bootstrap/13990
10325 * config/m68hc11/m68hc11.md ("doloop_end"): Pass dummy arguments to
10326 gen_rtx_NE.
10327
f6e215cc
JZ
103282004-02-07 Josef Zlomek <zlomekj@suse.cz>
10329
10330 * var-tracking.c (vt_add_function_parameters): Surround checkings by
10331 #ifdef ENABLE_CHECKING and #endif.
10332
dfb36f9b
RS
103332004-02-07 Roger Sayle <roger@eyesopen.com>
10334
10335 * fold-const.c (negate_expr_p, negate_expr): Optimize -(A+B) into
10336 either (-A)-B or (-B)-A, if A or B is easily negated respectively.
10337 (fold) <MINUS_EXPR>: Optimize (A*C) - (B*C) -> (A-B)*C for both
10338 integer types and floating point with unsafe_math_optimizations.
10339 Add similar optimization for (A*C1) - (A*C2) -> A*(C1-C2).
10340 Optimize A - B as A + (-B), if B is easily negated.
10341
0ea5865c
KH
103422004-02-07 Kazu Hirata <kazu@cs.umass.edu>
10343
10344 * c-ppoutput.c, cfganal.c, diagnostic.h, print-rtl.c,
10345 config/darwin.c, config/darwin.h, config/ia64/ia64-c.c,
10346 config/m32r/linux.h, config/rs6000/ppc64-fp.c,
10347 config/sparc/openbsd.h, doc/makefile.texi, doc/passes.texi:
10348 Update copyright.
10349
fb0840fc
KH
103502004-02-07 Kazu Hirata <kazu@cs.umass.edu>
10351
10352 * c-ppoutput.c, var-tracking.c: Fix comment typos.
10353
468c45a3
JW
103542004-02-06 James E Wilson <wilson@specifixinc.com>
10355
10356 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Only define for
10357 glibc 2.3 or better.
10358
9c917669
KH
103592004-02-06 Kazu Hirata <kazu@cs.umass.edu>
10360
10361 * doc/tm.texi (TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL): Change
10362 to FLOAT_LIB_COMPARE_RETURNS_BOOL.
10363
fb7e4164
AM
103642004-02-07 Alan Modra <amodra@bigpond.net.au>
10365
10366 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
10367 (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
10368 (SHLIB_MKMAP_OPTS): Delete.
10369 (TARGET_LIBGCC2_CFLAGS): Add -specs.
10370 (bispecs): Add rule.
10371 * config/rs6000/libgcc-ppc64.ver: New file.
10372 * config/rs6000/ppc64-fp.c (__fixtfdi, __floatditf): New functions.
10373 (__floatdidf, __floatdisf): Optimize multiply.
10374 (__fixunstfdi): New function.
10375 * config/rs6000/rs6000.c (rs6000_complex_function_value): Allow for
10376 real and imag parts larger than one register.
10377 (function_arg): Correct type of reg used when fp arg split partially
10378 to stack.
10379 * config/rs6000/darwin-ldouble.c: Protect with #if !_SOFT_FLOAT
10380 and __MACH__ or __powerpc64__.
10381
254878ea
RS
103822004-02-06 Roger Sayle <roger@eyesopen.com>
10383 Ulrich Weigand <uweigand@de.ibm.com>
10384
10385 * builtins.c (expand_builtin_signbit): Use extract_bit_field instead
10386 of gen_highpart or gen_lowpart when the floating point format is
10387 wider than the result mode.
10388
b1053160
AP
103892004-02-06 Andrew Pinski <pinskia@physics.uc.edu>
10390
a6f78652 10391 * dwarf2out.c (loclabel_num): Move into #ifdef
b1053160
AP
10392 DWARF2_DEBUGGING_INFO.
10393
25fe8680
ZL
103942004-02-06 Ziemowit Laski <zlaski@apple.com>
10395
10396 * objc/objc-act.c (build_super_template) the 'class' field of
10397 'struct _objc_super' shall be named 'super_class' #ifdef OBJCPLUS.
10398 (get_super_receiver): Likewise.
10399
761fa0f7
KH
104002004-02-06 Kazu Hirata <kazu@cs.umass.edu>
10401
10402 * reload1.c (check_eliminable_occurrences): Optimize the reset
10403 of can_eliminate.
10404 (eliminate_regs_in_insn): Likewise.
10405
0a2d3d69 104062004-02-06 Daniel Berlin <dberlin@dberlin.org>
a6f78652 10407 Josef Zlomek <zlomekj@suse.cz>
0a2d3d69
DB
10408
10409 * dwarf2out.c (struct gcc_debug_hooks): Call dwarf2out_begin_function
10410 at the beginning of function, call dwarf2out_var_location for
10411 NOTE_INSN_VAR_LOCATION note.
10412 (struct var_loc_node, struct var_loc_list_def, loclabel_num,
10413 decl_loc_table): New.
10414 (lookup_decl_loc): New function.
10415 (add_var_loc_to_decl): New function.
10416 (based_loc_descr): Added parameter can_use_fbreg, DW_OP_fbreg is used
10417 only if can_use_fbreg.
10418 (mem_loc_descriptor): Added parameter can_use_fbreg, pass it to other
10419 functions.
10420 (loc_descriptor): Likewise. Process VAR_LOCATION.
10421 (concat_loc_descriptor): Call loc_descriptor with can_use_fbreg == true.
10422 (loc_descriptor_from_tree): Call mem_loc_descriptor with
10423 can_use_fbreg == true.
10424 (add_location_or_const_value_attribute): Added parameter enum
10425 dwarf_attribute attr, generate attribute ATTR. Create the location list.
10426 (add_bound_info): Call loc_descriptor with can_use_fbreg == true.
10427 (gen_formal_parameter_die): Call add_location_or_const_value_attribute
10428 with attr == DW_AT_location.
10429 (gen_subprogram_die): Generate the location list for DW_AT_frame_base
10430 if frame_base_decl is defined and has a location list.
10431 (gen_variable_die): Call add_location_or_const_value_attribute with
10432 attr == DW_AT_location.
10433 (dwarf2out_var_location): New function.
10434 (dwarf2out_begin_function): New function.
10435 (dwarf2out_init): Create decl_loc_table.
10436
1f0db3df
UW
104372004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
10438
10439 * loop.c (force_movables): Transitively increase the priorities of
10440 all insns forces by an insn, not just the first one.
10441
014a1138 104422004-02-06 Josef Zlomek <zlomekj@suse.cz>
a6f78652 10443 Daniel Berlin <dberlin@dberlin.org>
014a1138
JZ
10444
10445 Josef Zlomek <zlomekj@suse.cz>
10446 * Makefile.in (var-tracking.o): New.
10447 * common.opt (fvar-tracking): New.
10448 * flags.h (flag_var_tracking): New.
10449 * gengtype.c (adjust_field_rtx_def): NOTE_INSN_VAR_LOCATION was added.
10450 * opts.c (common_handle_option): Add OPT_fvar_tracking.
10451 * print-rtl.c (print_rtx): NOTE_INSN_VAR_LOCATION was added.
a6f78652
ZW
10452 * rtl.c (note_insn_name): Likewise.
10453 * rtl.def (VAR_LOCATION): New.
10454 * rtl.h (NOTE_VAR_LOCATION): New.
10455 (NOTE_VAR_LOCATION_DECL): New.
10456 (NOTE_VAR_LOCATION_LOC): New.
10457 (enum insn_note): NOTE_INSN_VAR_LOCATION was added.
10458 (variable_tracking_main): New exported function.
10459 * timevar.def (TV_VAR_TRACKING): New.
10460 * toplev.c (enum dump_file_index): Added DFI_vartrack.
10461 (dump_file): "vartrack" was added (-dV).
10462 (flag_var_tracking): New.
10463 (f_options): "var-tracking" was added.
014a1138 10464 (rest_of_handle_variable_tracking): New function.
a6f78652 10465 (rest_of_compilation): Run variable tracking.
014a1138
JZ
10466 (process_options): If user has not specified flag_var_tracking set it
10467 according to optimize, debug_info_level and debug_hooks.
10468 * tree.h (frame_base_decl): New.
a6f78652 10469 * var-tracking.c: New file.
014a1138
JZ
10470 * config/ia64/ia64.c (ia64_flag_var_tracking): New variable.
10471 (ia64_override_options): Set flags to run variable tracking in machine
10472 dependent reorg instead of toplev.c.
10473 (ia64_reorg): Run variable tracking if wanted.
a6f78652 10474 * doc/invoke.texi: Mention variable tracking in -dV,
014a1138 10475 add and -fvar-tracking.
a6f78652 10476 * doc/passes.texi: Added variable tracking pass.
014a1138
JZ
10477
10478 Daniel Berlin <dberlin@dberlin.org>
10479 * debug.h (struct gcc_debug_hooks): Added var_location debug hook.
10480 * dbxout.c (dbx_debug_hooks): Likewise.
10481 (xcoff_debug): Likewise.
10482 * debug.c (do_nothing_debug_hooks): Likewise.
10483 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
10484 * dwarfout.c (dwarf_debug_hooks): Likewise.
10485 * sdbout.c (sdb_debug_hooks): Likewise.
10486 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
a6f78652
ZW
10487 * final.c (final_scan_insn): Call var_location debug hook for each
10488 NOTE_INSN_VAR_LOCATION.
014a1138 10489
298c28a8
JH
104902004-02-06 Jan Hubicka <jh@suse.cz>
10491
10492 * flow.c (update_life_info): Allocate reg_deaths when called from
10493 scheudler.
10494 (attempt_auto_inc): Update life ranges accordingly.
10495
3199cb41
UW
104962004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
10497
10498 PR debug/11816
10499 * dwarf2out.c (gen_decl_die): Handle anonymous struct members.
10500
1a6dd8a2
UW
105012004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
10502
10503 * cfganal.c (flow_call_edges_add): Never split a libcall block.
10504
1711adc2
DB
105052004-02-06 Daniel Berlin <dberlin@dberlin.org>
10506
10507 * dwarf2out.c (output_loc_list): Don't use deltas if we have
10508 a separate line info table in use.
10509 Use the correct size for terminators.
10510 (output_die): Use offset, not delta.
10511
b1e5a971
L
105122004-02-06 H.J. Lu <hongjiu.lu@intel.com>
10513
10514 * doc/invoke.texi: Remove the pni option from -mfpmath=.
10515
736b64dd
JH
105162004-02-06 Jan Hubicka <jh@suse.cz>
10517
10518 * recog.c (split_all_insns): Do not update reg info.
10519 * regrename.c (regrename_optimize): Likewise.
10520 * toplev.c (rest_of_handle_reorder_blocks): Likewise.
10521 * flow.c (struct propagate_block_info): Add insn_num field.
10522 (reg_deaths): New array.
10523 (life_analysis): Free reg_deaths info.
10524 (allocate_reg_life_data): Allocate reg_deaths array.
10525 (propagate_one_insn): Use new array.
10526 (init_propagate_block): Initialize it.
10527 (free_propagate_block_info): Finish compuation of
10528 REG_LIVE_LENGTH
10529 (attempt_auto_inc): Sanity check that REG_INFO is not
10530 computed at same time.
10531 (mark_used_regs): Update new array.
10532
10533 * reg-stack.c (subst_stack_regs): Unshare clobbers before
10534 substitution.
10535
eb457a7a
KH
105362004-02-06 Kazu Hirata <kazu@cs.umass.edu>
10537
10538 * config/s390/s390.md (*extendsiqi2_short_displ): Change to
10539 *extendqisi2_short_displ.
10540
0f6937fe
AM
105412004-02-06 Alan Modra <amodra@bigpond.net.au>
10542
10543 * doc/tm.texi (INIT_CUMULATIVE_ARGS): Update doco.
10544 * calls.c (expand_call): Pass n_named_args to INIT_CUMULATIVE_ARGS.
10545 (emit_library_call_value_1): Likewise pass nargs.
10546 * expr.c (block_move_libcall_safe_for_call_parm): Pass 3 here.
10547 * function.c (assign_parms): Pass -1 to INIT_CUMULATIVE_ARGS.
10548 * config/rs6000/rs6000.c (init_cumulative_args): Use n_named_args
10549 parameter instead of scanning TYPE_ARGS_TYPES to count args.
10550 * config/rs6000/rs6000-protos.h (init_cumulative_args): Update
10551 prototype.
10552 * config/rs6000/rs6000.h (INIT_CUMULATIVE_ARGS): Pass extra arg.
10553 (INIT_CUMULATIVE_INCOMING_ARGS): Set extra arg to 1000.
10554 (INIT_CUMULATIVE_LIBCALL_ARGS): Set extra arg to 0.
10555 * config/sh/sh.c (sh_output_mi_thunk): Pass 1 as n_named_args to
10556 INIT_CUMULATIVE_ARGS.
10557 * config/alpha/alpha.h (INIT_CUMULATIVE_ARGS): Update.
10558 * config/alpha/unicosmk.h, config/alpha/vms.h, config/arc/arc.h,
10559 config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
10560 config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.h,
10561 config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
10562 config/ia64/ia64.h, config/ip2k/ip2k.h, config/iq2000/iq2000.h,
10563 config/iq2000/iq2000.c, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
10564 config/m68k/m68k.h, config/mcore/mcore.h, config/mips/mips.h,
10565 config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h,
07711f53 10566 config/pa/pa.h, config/pdp11/pdp11.h, config/s390/s390.h,
0f6937fe
AM
10567 config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
10568 config/v850/v850.h, config/vax/vax.h, config/xtensa/xtensa.h: Likewise.
10569
11b635fe
KH
105702004-02-06 Kazu Hirata <kazu@cs.umass.edu>
10571
10572 * genemit.c (gen_exp) [CONST_INT]: Use const_int_rtx whenever
10573 possible.
10574
ace3ffcd
KH
105752004-02-06 Kazu Hirata <kazu@cs.umass.edu>
10576
10577 * reload1.c (eliminate_regs_in_insn): If a set has a REG_EQUAL
10578 note containing (plus (reg) (const_int)), where reg is an
10579 eliminable reg, then perform the register elimination without
10580 depending on eliminate_regs().
10581
78bc94a2
KH
105822004-02-06 Kazu Hirata <kazu@cs.umass.edu>
10583
10584 * config/arc/arc.c (arc_return_in_memory): Check the return
10585 value of int_size_in_bytes against -1. Don't check
10586 TREE_ADDRESSABLE.
10587 * config/avr/avr.c (avr_return_in_memory): Check the return
10588 value of int_size_in_bytes against -1.
10589 * config/ip2k/ip2k.c (ip2k_return_in_memory): Likewise.
10590 * config/m68hc11/m68hc11.c (m68hc11_return_in_memory):
10591 Likewise.
10592 * config/mcore/mcore.c (mcore_return_in_memory): Likewise.
10593 * config/stormy16/stormy16.c (xstormy16_return_in_memory):
10594 Likewise.
10595
d8c2bed3
KH
105962004-02-06 Kazu Hirata <kazu@cs.umass.edu>
10597
10598 * config/frv/frv-protos.h: Remove the prototype for
10599 frv_setup_incoming_varargs.
10600 * config/frv/frv.c (TARGET_SETUP_INCOMING_VARARGS): New.
10601 (frv_setup_incoming_varargs): Make it static.
10602 * config/frv/frv.h (SETUP_INCOMING_VARARGS): Remove.
10603
3e29e2aa
KH
106042004-02-06 Kazu Hirata <kazu@cs.umass.edu>
10605
10606 * config/fr30/fr30-protos.h: Remove the prototype for
10607 fr30_setup_incoming_varargs.
10608 Update the prototypes for fr30_num_arg_regs and
10609 fr30_function_arg_partial_nregs.
10610 * config/fr30/fr30.c (TARGET_STRUCT_VALUE_RTX): New.
10611 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
10612 (fr30_setup_incoming_varargs): Make it static.
10613 Add argument second_time. Don't do anything when second_time
10614 is nonzero.
10615 (fr30_num_arg_regs): Change the type of the first argument to
10616 enum machine_mode.
10617 (fr30_function_arg_partial_nregs): Change the type of the
10618 second argument to enum machine_mode.
10619 * config/fr30/fr30.h (STRUCT_VALUE): Remove.
10620 (SETUP_INCOMING_VARARGS): Remove.
10621
07ba2efb
KH
106222004-02-06 Kazu Hirata <kazu@cs.umass.edu>
10623
10624 * config/arc/arc-protos.h: Remove the prototype for
10625 arc_setup_incoming_varargs.
10626 * config/arc/arc.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
10627 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
10628 (arc_setup_incoming_varargs): Make it static.
10629 (arc_external_libcall): Likewise.
10630 * config/arc/arc.h (SETUP_INCOMING_VARARGS): Remove.
10631 Remove the commented-out definition of
10632 ASM_OUTPUT_EXTERNAL_LIBCALL.
10633
f4954ff1
ST
106342004-02-05 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
10635
10636 * config/sh/t-linux (SHLIB_INSTALL): Prepend $$(DESTDIR)
10637 to $$(slibdir) in the installation commands.
10638
403c659c
DE
106392004-02-05 David Edelsohn <edelsohn@gnu.org>
10640
10641 * reload.c (refers_to_regno_for_reload_p): Index hard_regno_nregs
10642 with inner_regno, not regno.
10643 * rtlanal.c (refers_to_regno_p): Same.
10644
5b547172
KH
106452004-02-05 Kazu Hirata <kazu@cs.umass.edu>
10646
10647 * config.gcc: Remove i370 support.
10648
ce5c1cf3
KC
106492004-02-05 Kelley Cook <kcook@gcc.gnu.org>
10650
10651 * doc/install.texi: Update automake and autoconf version
10652 requirements. Note where to find gcj automake version.
10653
106542004-02-05 Kelley Cook <kcook@gcc.gnu.org>
10655
10656 * Makefile.in (generate-manpages): Move dependencies to ...
10657 (man): here.
10658 * doc/makefile.texi: Document new targets.
10659 * doc/sourcebuild.texi (Make-lang.in): Document new langhooks.
10660
02ba6b22
KC
106612004-02-05 Kelley Cook <kcook@gcc.gnu.org>
10662
10663 PR/13485
10664 Makefile.in (srcextra): Add a level of indirection to ...
10665 (gcc.srcextra): ... here.
10666 (po-generated): Delete.
10667 (po/$(PACKAGE).pot: Use srcextra instead of po-generated. Depend on
10668 options.c.
10669 (start.encap): Remove superfluous lang.srcextra dependency.
10670 objc/Make-lang.in (po-generated): Delete.
10671
66fcab25
KH
106722004-02-05 Kazu Hirata <kazu@cs.umass.edu>
10673
10674 * config/ia64/ia64.c (REG_GP): Remove.
10675
89a95129
RO
106762004-02-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10677
10678 * config/mips/iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
10679
9733d507
DP
106802004-02-05 Devang Patel <dpatel@apple.com>
10681
10682 * dwarf2out.c (force_type_die): Look up input type itself
10683 instead of root_type() of type.
a6f78652 10684
19796784
AK
106852004-02-05 Andreas Krebbel <krebbel1@de.ibm.com>
10686
10687 * config/s390/s390.md ("*tmqidi_ext"): New insn.
10688 ("*extendqidi2_short_displ", "*extendsiqi2_short_displ"): Old
10689 pre-reload splitters are transformed to post-reload
10690 define_insn_and_split patterns.
10691 ("*tmqisi_ext"): Renamed old "*tmqi_ext".
10692
136e64db
KH
106932004-02-05 Kazu Hirata <kazu@cs.umass.edu>
10694
10695 * config/cris/cris.h: Replace PROMOTE_PROTOTYPES with
10696 TARGET_PROMOTE_PROTOTYPES.
10697
839ee4bc
RO
106982004-02-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10699
10700 PR middle-end/13750
10701 Revert:
10702 2004-01-15 Geoffrey Keating <geoffk@apple.com>
10703 PR pch/13361
10704 * c-typeck.c (constructor_asmspec): Delete.
10705 (struct initializer_stack): Delete field 'asmspec'.
10706 (start_init): Delete saving of asmspec.
10707 (finish_init): Don't update constructor_asmspec.
10708 * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
10709 * stmt.c (expand_asm): Duplicate strings from tree.
10710 (expand_asm_operands): Likewise.
10711 * tree.c (tree_size): Update computation of size of STRING_CST.
10712 (make_node): Don't make STRING_CST nodes.
10713 (build_string): Allocate string with tree node.
10714 * tree.def (STRING_CST): Update comment.
10715 * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
10716 (tree_string): Place contents of string in tree node.
10717 * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
10718 from tree.
10719
687d688e
JM
107202004-02-05 Joseph S. Myers <jsm@polyomino.org.uk>
10721
10722 * diagnostic.h (DEFINE_DIAGNOSTIC_KIND): Change parameter M to
10723 msgid.
10724
20a20bf0
DN
107252004-02-05 Dorit Naishlos <dorit@il.ibm.com>
10726
10727 * config/rs6000/altivec.md (*movv4si_internal): At least one
10728 operand must be altivec_register_operand.
10729 (*movv8hi_internal1): Likewise.
10730 (*movv16qi_internal1): Likewise.
10731 (*movv4sf_internal1): Likewise.
10732
6b37db3c
DE
107332004-02-05 David Edelsohn <edelsohn@gnu.org>
10734
10735 * configure.ac (gcc_cv_as_powerpc_mfcrf): Correct test for mfcr.
10736 * configure: Regenerate.
10737
e0b24bce
JW
107382004-02-05 Jonathan Wakely <redi@gcc.gnu.org>
10739
10740 * doc/install.texi: Update description of --gxx-include-dir to
10741 give correct default value.
10742
2dca8ddb
KH
107432004-02-05 Kazu Hirata <kazu@cs.umass.edu>
10744
10745 * config/h8300/h8300.h (REG_OK_FOR_BASE_NONSTRICT_P): Replace
10746 8 with MAC_REG.
10747
92fd5e41
KH
107482004-02-05 Kazu Hirata <kazu@cs.umass.edu>
10749
10750 * config/pa/pa.c (emit_hpdiv_const): Replace gen_rtx with
10751 gen_rtx_PARALLEL.
10752
f822fcf7
KH
107532004-02-05 Kazu Hirata <kazu@cs.umass.edu>
10754
10755 * emit-rtl.c: Update the comment about the file.
10756
4ef84575
JM
107572004-02-05 Joseph S. Myers <jsm@polyomino.org.uk>
10758
10759 * sourcebuild.texi (Test Idioms): Update testcase naming
10760 conventions.
10761
8e9ea4d7
PB
107622004-02-04 Per Bothner <per@bothner.com>
10763
10764 Partially revert/redo 2003-10-01 change; fix -fworking-directory.
10765 * c-ppoutput.c (pp_dir_change): New function.
10766 * c-common.h (pp_dir_change): New declaration.
10767 * cpplib.h (struct cpp_options): Remove working_directory field.
10768 * cppinit.c (cpp_find_main_file, cpp_push_main_file): Merge back to
10769 (cpp_read_main_file): as before 10-01. Call _cpp_stack_file.
10770 Don't handle -fworking_directory here, but in c_common_post_options.
10771 (read_original_directory): Don't back up when done.
10772 Don't clear no-longer used working_directory flag.
10773 * cpplib.h: Update declarations to match.
10774 * c-lex.c (cb_dir_change): Move to c-opts.c.
10775 (init_c_lex): Don't set dir_change callback here, since we want
10776 to set it even if flag_preprocess_only.
10777 * c-opts.c (cb_dir_change): Function moved from c-lex.c.
10778 (c_common_post_options): Set dir_change callback.
10779 Call pp_dir_change if approporiate.
10780 (finish_options): Don't call cpp_find_main_file here. Hence remove
10781 unneeded parameter and result. Do LC_RENAME for <built-in>.
10782 (c_common_post_options): Call cpp_read_main_file here instead.
10783 (c_common_init): Update accordingly.
10784 (push_command_line_include): Don't cpp_push_main_file.
10785 Do LC_RENAME rather than LC_LEASE to get back to main file.
10786 Compared to pre-10-01 version, inline cpp_rename_to_main_file.
10787 (c_common_parse_file): Call cpp_read_main_file for subsequent main
10788 files, but call finish_options for all files.
10789 * c-opts.c (sanitize_cpp_opts): Don't set cpp_opts->working_directory.
10790 * fix-header.c (read_scan_file): Call cpp_read_main_file instead of
10791 cpp_find_main_file + cpp_push_main_file.
10792 * c-lex.c (fe_file_change): Don't set main_input_filename here.
10793 * opts.c (handle_options): Only set main_input_filename first time.
10794
5384443a
ILT
107952004-02-05 Ian Lance Taylor <ian@wasabisystems.com>
10796
10797 * config/arm/arm.h (REG_CLASS_NAMES): Add missing comma.
10798
3c241c19
GK
107992004-02-04 Geoffrey Keating <geoffk@apple.com>
10800
10801 * reload.c (find_equiv_reg): When checking for register overlap,
10802 don't index hard_regno_nregs with a pseudo-reg.
10803
a322288b
UW
108042004-02-04 Ulrich Weigand <uweigand@de.ibm.com>
10805
10806 * config/s390/s390.c (s390_trampoline_template): Remove gen_rtx().
10807
859b9c1d
DE
108082004-02-04 David Edelsohn <edelsohn@gnu.org>
10809
10810 * reload.c (refers_to_regno_for_reload_p): Test regno, not inner_regno,
10811 against FIRST_PSEUDO_REGISTER.
10812
7e63a64e
RO
108132004-02-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10814
10815 * Makefile.in: Move target, host overrides after per-language
10816 fragments.
10817
10818 * config/mips/t-iris5-as (FORCE_DEBUG_ADAFLAGS): Clear.
10819 (GNATLIBCFLAGS): Remove -g.
10820
5efb1046
KH
108212004-02-04 Kazu Hirata <kazu@cs.umass.edu>
10822
10823 * config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
10824 config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
10825 config/ia64/ia64.c, config/ia64/unwind-ia64.c,
10826 config/m32r/m32r.c, config/ns32k/ns32k.c, config/pa/pa.c,
10827 config/pdp11/pdp11.c, config/rs6000/rs6000.c,
10828 config/sparc/sparc.c, config/vax/vax.c: Revert the
10829 replacements of "FALLTHRU" with "Fall through" done in the
10830 previous patch.
10831
ff482c8d
KH
108322004-02-04 Kazu Hirata <kazu@cs.umass.edu>
10833
10834 * config/darwin.c, config/darwin.h, config/freebsd-spec.h,
10835 config/arm/arm.c, config/arm/arm.md,
10836 config/cris/cris-protos.h, config/fr30/fr30.c,
10837 config/fr30/fr30.h, config/h8300/h8300.c, config/i386/i386.h,
10838 config/i860/i860.c, config/i860/i860.h, config/ia64/ia64-c.c,
10839 config/ia64/ia64.c, config/ia64/ia64.h, config/ip2k/ip2k.h,
10840 config/ip2k/ip2k.md, config/ip2k/libgcc.S,
10841 config/m32r/linux.h, config/m32r/m32r.c, config/m32r/m32r.h,
10842 config/m68k/m68k.c, config/m68k/netbsd-elf.h,
10843 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.md,
10844 config/ns32k/netbsd.h, config/ns32k/ns32k.c,
10845 config/ns32k/ns32k.h, config/pdp11/pdp11.h,
10846 config/rs6000/darwin-ldouble.c, config/s390/s390.h,
10847 config/s390/s390.md, config/sparc/netbsd-elf.h,
10848 config/sparc/openbsd.h, config/sparc/sparc.c,
10849 config/xtensa/lib2funcs.S: Fix comment formatting.
10850
59b9a953
KH
108512004-02-04 Kazu Hirata <kazu@cs.umass.edu>
10852
10853 * config/alpha/alpha.c, config/arc/arc.c,
10854 config/arm/arm-cores.def, config/arm/arm.c, config/arm/arm.h,
10855 config/arm/arm1026ejs.md, config/arm/arm1136jfs.md,
10856 config/arm/arm926ejs.md, config/arm/vfp.md, config/avr/avr.c,
10857 config/c4x/c4x.c, config/cris/cris.c, config/frv/frv.md,
10858 config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
10859 config/ia64/ia64.c, config/ia64/unwind-ia64.c,
10860 config/iq2000/iq2000.c, config/m32r/m32r.c,
10861 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
10862 config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
10863 config/rs6000/darwin-ldouble.c, config/rs6000/rs6000.c,
10864 config/rs6000/rs6000.h, config/sparc/sparc.c,
10865 config/vax/vax.c: Fix comment typos. Follow spelling
10866 conventions.
10867
e146f815
KH
108682004-02-04 Kazu Hirata <kazu@cs.umass.edu>
10869
10870 * alloc-pool.h, c-convert.c, c-lang.c, c-tree.h,
10871 caller-save.c, df.h, genconfig.c, global.c, lcm.c,
10872 ra-rewrite.c, ra.c, regclass.c, regs.h, resource.c,
10873 sched-rgn.c, config/arm/aof.h, config/arm/cirrus.md,
10874 config/arm/fpa.md, config/arm/iwmmxt.md,
10875 config/arm/netbsd-elf.h, config/arm/netbsd.h,
10876 config/m68hc11/m68hc11.md, config/mips/iris5.h,
10877 config/mn10300/mn10300.md, config/rs6000/altivec.md,
10878 config/sparc/netbsd-elf.h: Update copyright.
10879
e2a17f6e
EB
108802004-02-04 Eric Botcazou <ebotcazou@libertysurf.fr>
10881
10882 * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
10883 for all modes whose size is greater than 8 bytes if ARCH32.
10884 (sparc_va_arg): Handle all modes whose size is greater than 8 bytes
10885 by reference if ARCH32.
10886
e0cc7f73 108872004-02-04 Aldy Hernandez <aldyh@redhat.com>
a6f78652
ZW
10888
10889 * cgraphunit.c (cgraph_postorder): Fix typo in comment.
e0cc7f73 10890
7bdff56f
UW
108912004-02-04 Ulrich Weigand <uweigand@de.ibm.com>
10892
10893 * config/s390/s390.md ("*la_64" + peepholes, "reload_indi"): Move
10894 to before adddi3 insn patterns.
10895 ("*la_31" + peepholes, "*la_31_and", "*la_31_and_cc", "force_la_31",
10896 "reload_insi"): Move to before addsi3 insn patterns.
10897
dd292d0a
MM
108982004-02-04 Mark Mitchell <mark@codesourcery.com>
10899
10900 * calls.c (initialize_argument_information): Add CALL_FROM_THUNK_P
10901 parameter. Use it instead of current_function_is_thunk.
10902 * function.h (struct function): Update documentation for is_thunk.
10903 * tree.h (CALL_FROM_THUNK_P): New macro.
10904 * config/alpha/alpha.c (alpha_sa_mask): Do not check
10905 no_new_pseudos when testing current_function_is_thunk.
10906 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likeiwse.
10907
c2379679
KH
109082004-02-04 Kazu Hirata <kazu@cs.umass.edu>
10909
10910 * doc/tm.texi: Replace SETUP_INCOMING_VARARGS with
10911 TARGET_SETUP_INCOMING_VARARGS.
10912
a2a8cc44
KH
109132004-02-04 Kazu Hirata <kazu@cs.umass.edu>
10914
10915 * emit-rtl.c (gen_rtx): Remove.
10916 * genattrtab.c: Don't mention gen_rtx in a comment.
10917 * rtl.h: Remove the prototype for gen_rtx.
10918 * doc/md.texi: Replace gen_rtx with gen_rtx_REG.
10919
f61c92c3
KH
109202004-02-04 Kazu Hirata <kazu@cs.umass.edu>
10921
10922 * config/arc/arc.h, config/fr30/fr30.h
10923 (SETUP_INCOMING_VARARGS): Remove the target-independent
10924 comments.
10925 * doc/tm.texi: Don't mention deprecated target macros.
10926
c35c17c1
KH
109272004-02-04 Kazu Hirata <kazu@cs.umass.edu>
10928
10929 * config/fr30/fr30.h (FUNCTION_VALUE): Remove the
10930 target-independent comment.
10931
cea28603
KH
109322004-02-04 Kazu Hirata <kazu@cs.umass.edu>
10933
10934 * doc/interface.texi, doc/tm.texi, doc/trouble.texi: Don't
10935 mention deprecated target macros.
10936
a4a4b1d3
KH
109372004-02-04 Kazu Hirata <kazu@cs.umass.edu>
10938
10939 * config.gcc: Remove obsolete ports and configurations.
10940 * config/linux-aout.h, config/netware.h,
10941 config/t-linux-gnulibc1, config/d30v/abi,
10942 config/d30v/d30v-protos.h, config/d30v/d30v.c,
10943 config/d30v/d30v.h, config/d30v/d30v.md,
10944 config/d30v/libgcc1.asm, config/d30v/t-d30v,
10945 config/dsp16xx/dsp16xx-modes.def,
10946 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
10947 config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md,
10948 config/i370/README, config/i370/i370-c.c,
10949 config/i370/i370-protos.h, config/i370/i370.c,
10950 config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
10951 config/i370/mvs.h, config/i370/oe.h, config/i370/t-i370,
10952 config/i386/freebsd-aout.h, config/i386/linux-aout.h,
10953 config/i386/moss.h, config/i386/netware.h,
10954 config/i386/svr3.ifile, config/i386/svr3dbx.h,
10955 config/i386/svr3gas.h, config/i386/svr3z.ifile,
10956 config/i386/t-udk, config/i386/udk.h, config/i386/vsta.h,
10957 config/i960/i960-c.c, config/i960/i960-coff.h,
10958 config/i960/i960-modes.def, config/i960/i960-protos.h,
10959 config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
10960 config/i960/rtems.h, config/i960/t-960bare,
10961 config/m68k/hp310.h, config/m68k/hp320.h,
10962 config/m68k/hp320base.h, config/m68k/m68kv4.h,
10963 config/m68k/netbsd.h, config/m68k/sgs.h, config/m68k/t-hp320:
10964 Remove.
10965 * doc/extend.texi, doc/install.texi, doc/invoke.texi,
10966 doc/md.texi: Remove mentions of obsolete ports.
10967
40e02b4a
JH
109682004-02-04 Jan Hubicka <jh@suse.cz>
10969
10970 * alias.c (find_base_term, get_addr): Do not dereference NULL
10971 pointer when all VALUE's locations has been invalidated.
10972 (rtx_equal_for_memref_p): Simplify checking of VALUEs.
10973
a6f78652 109742004-02-03 Wolfgang Bangerth <bangerth@dealii.org>
1c02f6f2
WB
10975
10976 * doc/invoke.texi (x86 options): Fix spelling/wording.
10977
584e5527
RS
109782004-02-03 Richard Sandiford <rsandifo@redhat.com>
10979
10980 * config/mips/iris5.h (ASM_OUTPUT_ASCII): Use mips_output_ascii to
10981 put the original string in a comment.
10982 * config/mips/mips-protos.h (mips_output_ascii): Add prefix argument.
10983 * config/mips/mips.c (mips_output_ascii): Likewise.
10984 * config/mips/mips.h (ASM_OUTPUT_ASCII): Adjust accordingly.
10985
9b2b3375
KH
109862004-02-03 Kazu Hirata <kazu@cs.umass.edu>
10987
10988 * system.h (GIV_SORT_CRITERION): Poison.
10989 * config/avr/avr.h (GIV_SORT_CRITERION): Remove.
10990 * config/ip2k/ip2k.h (GIV_SORT_CRITERION): Likewise.
10991
888d65b5
RS
109922004-02-03 Roger Sayle <roger@eyesopen.com>
10993
10994 PR target/9348
10995 * expr.c (expand_expr_real) <MULT_EXPR>: When performing widening
10996 multiplies with a multiplication of the wrong signedness, its the
10997 signedness of the multiplication that we've performed that needs to
10998 be passed to expand_mult_highpart_adjust. Avoid emitting a nop-move
10999 if expand_mult_highpart_adjust places the result in target.
11000
a8c0bbc7
RH
110012004-02-03 Richard Henderson <rth@redhat.com>
11002
11003 * varasm.c (const_desc_rtx_sym_eq): Compare symbol strings.
11004
a8f0f22e
R
110052004-02-03 J"orn Rennecke <joern.rennecke@superh.com>
11006
11007 * config.gcc (sh[234]l): Use little endian fragments.
11008
e621b588
PK
110092004-02-03 Paul Koning <pkoning@equallogic.com>
11010
11011 * config/pdp11/pdp11-modes.def: Add RESET_FLOAT_FORMAT calls.
11012 * config/pdp11/pdp11-protos.h (legitimate_const_double_p): Add.
11013 * config/pdp11/pdp11.c (encode_pdp11_f, decode_pdp11_f,
11014 encode_pdp11_d, decode_pdp11_d): New functions to handle PDP11
11015 floating point format.
11016 (pdp11_f_format, pdp11_d_format): New real_format descriptors for
11017 the above functions.
11018 (output_move_quad): Output float values in correct target format.
11019 (legitimate_const_double_p): New function.
11020 * config/pdp11/pdp11.h: Fix typos.
11021 (FLOAT_WORDS_BIG_ENDIAN): Add definition.
11022 (TARGET_FLOAT_FORMAT): Ditto.
11023 (pdp11_f_format, pdp11_d_format): Add external declarations.
11024 (MAX_REGS_PER_ADDRESS): Corrected.
11025 (LEGITIMATE_CONSTANT_P): Use legitimate_const_double_p().
11026 (PRINT_OPERAND): Output float literals in target format.
11027
5a98fa7b
MM
110282004-02-03 Mark Mitchell <mark@codesourcery.com>
11029
11030 PR c++/13975
11031 * tree.h (enum tree_index): Add TI_PUBLIC, TI_PROTECTED, and
11032 TI_PRIVATE.
11033 (access_public_node): Redefine.
11034 (access_protected_node): Likewise.
11035 (access_private_node): Likewise.
11036 * tree.c (build_common_tree_nodes): Create access_public_node,
11037 access_protected_node, and access_private_node.
11038
0263e6bf
SE
110392004-02-03 Steve Ellcey <sje@cup.hp.com>
11040
11041 * config/ia64/ia64.h (MASK_INLINE_INT_DIV_LAT): Change value.
11042 (MASK_INLINE_INT_DIV_THR): Ditto.
11043 (MASK_INLINE_SQRT_LAT): Ditto.
11044 (MASK_INLINE_SQRT_THR): Ditto.
11045 (MASK_DWARF2_ASM): Ditto.
11046 (MASK_EARLY_STOP_BITS): Ditto.
11047
9b66ebb1
PB
110482004-02-02 Paul Brook <paul@codesourcery.com>
11049
11050 Merge from csl-arm-branch.
11051
11052 2004-01-30 Paul Brook <paul@codesourcery.com>
11053
11054 * aof.h (REGISTER_NAMES): Add vfp reg names
11055 (ADDITIONAL_REGISTER_NAMES): Ditto.
11056 * aout.h (REGISTER_NAMES): Ditto.
11057 (ADDITIONAL_REGISTER_NAMES): Ditto.
11058 * arm-protos.h: Update/Add Prototypes.
11059 * arm.c (init_fp_table): Rename from init_fpa_table. Update users.
11060 Only allow 0.0 for VFP.
11061 (fp_consts_inited): Rename from fpa_consts_inited. Update users.
11062 (values_fp): Rename from values_fpa. Update Users.
11063 (arm_const_double_rtx): Rename from const_double_rtx_ok_for_fpa.
11064 Update users. Only check valid constants for this hardware.
11065 (arm_float_rhs_operand): Rename from fpa_rhs_operand. Update Users.
11066 Only allow consts for FPA.
11067 (arm_float_add_operand): Rename from fpa_add_operand. Update users.
11068 Only allow consts for FPA.
11069 (use_return_insn): Check for saved VFP regs.
11070 (arm_legitimate_address_p): Handle VFP DFmode addressing.
11071 (arm_legitimize_address): Ditto.
11072 (arm_general_register_operand): New function.
11073 (vfp_mem_operand): New function.
11074 (vfp_compare_operand): New function.
11075 (vfp_secondary_reload_class): New function.
11076 (arm_float_compare_operand): New function.
11077 (vfp_print_multi): New function.
11078 (vfp_output_fstmx): New function.
11079 (vfp_emit_fstm): New function.
11080 (arm_output_epilogue): Output VPF reg restore code.
11081 (arm_expand_prologue): Output VFP reg save code.
11082 (arm_print_operand): Add 'P'.
11083 (arm_hard_regno_mode_ok): Return modes for VFP regs.
11084 (arm_regno_class): Return classes for VFP regs.
11085 (arm_compute_initial_elimination_offset): Include space for VFP regs.
11086 (arm_get_frame_size): Ditto.
11087 * arm.h (FIXED_REGISTERS): Add VFP regs.
11088 (CALL_USED_REGISTERS): Ditto.
11089 (CONDITIONAL_REGISTER_USAGE): Enable VFP regs.
11090 (FIRST_VFP_REGNUM): Define.
11091 (LAST_VFP_REGNUM): Define.
11092 (IS_VFP_REGNUM): Define.
11093 (FIRST_PSEUDO_REGISTER): Include VFP regs.
11094 (HARD_REGNO_NREGS): Handle VFP regs.
11095 (REG_ALLOC_ORDER): Add VFP regs.
11096 (enum reg_class): Add VFP_REGS.
11097 (REG_CLASS_NAMES): Ditto.
11098 (REG_CLASS_CONTENTS): Ditto.
11099 (CANNOT_CHANGE_MODE_CLASS) Handle VFP Regs.
11100 (REG_CLASS_FROM_LETTER): Add 'w'.
11101 (EXTRA_CONSTRAINT_ARM): Add 'U'.
11102 (EXTRA_MEMORY_CONSTRAINT): Define.
11103 (SECONDARY_OUTPUT_RELOAD_CLASS): Handle VFP regs.
11104 (SECONDARY_INPUT_RELOAD_CLASS): Ditto.
11105 (REGISTER_MOVE_COST): Ditto.
11106 (PREDICATE_CODES): Add arm_general_register_operand,
11107 arm_float_compare_operand and vfp_compare_operand.
11108 * arm.md (various): Rename as above.
11109 (divsf3): Enable when TARGET_VFP.
11110 (divdf3): Ditto.
11111 (movdfcc): Ditto.
11112 (sqrtsf2): Ditto.
11113 (sqrtdf2): Ditto.
11114 (arm_movdi): Disable when TARGET_VFP.
11115 (arm_movsi_insn): Ditto.
11116 (movsi): Only split with general regs.
11117 (cmpsf): Use arm_float_compare_operand.
11118 (push_fp_multi): Restrict to TARGET_FPA.
11119 (vfp.md): Include.
11120 * vfp.md: New file.
11121 * fpa.md (various): Rename as above.
11122 * doc/md.texi: Document ARM w and U constraints.
11123
11124 2004-01-15 Paul Brook <paul@codesourcery.com>
11125
11126 * config.gcc: Add with_fpu. Allow with-float=softfp.
11127 * config/arm/arm.c (arm_override_options): Rename *-s to *s.
11128 Break out of loop when we find a float-abi. Fix typo.
11129 * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "fpu".
11130 Set -mfloat-abi=.
11131 * doc/install.texi: Document --with-fpu.
11132
11133 2003-01-14 Paul Brook <paul@codesourcery.com>
11134
11135 * config.gcc (with_arch): Add armv6.
11136 * config/arm/arm.h: Rename TARGET_CPU_*_s to TARGET_CPU_*s.
11137 * config/arm/arm.c (arm_overrride_options): Ditto.
11138
11139 2004-01-08 Richard Earnshaw <rearnsha@arm.com>
11140
11141 * arm.c (FL_ARCH3M): Renamed from FL_FAST_MULT.
11142 (FL_ARCH6): Renamed from FL_ARCH6J.
11143 (arm_arch3m): Renamed from arm_fast_multiply.
11144 (arm_arch6): Renamed from arm_arch6j.
11145 * arm.h: Update all uses of above.
11146 * arm-cores.def: Likewise.
11147 * arm.md: Likewise.
11148
11149 * arm.h (CPP_CPU_ARCH_SPEC): Emit __ARM_ARCH_6J__ define for armV6j,
11150 not arm6j. Add entry for arch armv6.
11151
11152 2004-01-07 Richard Earnshaw <rearnsha@arm.com>
11153
11154 * arm.c (arm_emit_extendsi): Delete.
11155 * arm-protos.h (arm_emit_extendsi): Delete.
11156 * arm.md (zero_extendhisi2): Also handle zero-extension of
11157 non-subregs.
11158 (zero_extendqisi2, extendhisi2, extendqisi2): Likewise.
11159 (thumb_zero_extendhisi2): Only match if not v6.
11160 (arm_zero_extendhisi2, thumb_zero_extendqisi2, arm_zero_extendqisi2)
11161 (thumb_extendhisi2, arm_extendhisi2, arm_extendqisi)
11162 (thumb_extendqisi2): Likewise.
11163 (thumb_zero_extendhisi2_v6, arm_zero_extendhisi2_v6): New patterns.
11164 (thumb_zero_extendqisi2_v6, arm_zero_extendqisi2_v6): New patterns.
11165 (thumb_extendhisi2_insn_v6, arm_extendhisi2_v6): New patterns.
11166 (thumb_extendqisi2_v6, arm_extendqisi_v6): New patterns.
11167 (arm_zero_extendhisi2_reg, arm_zero_extendqisi2_reg): Delete.
11168 (arm_extendhisi2_reg, arm_extendqisi2_reg): Delete.
11169 (arm_zero_extendhisi2addsi): Remove subreg. Add attributes.
11170 (arm_zero_extendqisi2addsi, arm_extendhisi2addsi): Likewise.
11171 (arm_extendqisi2addsi): Likewise.
11172
11173 2003-12-31 Mark Mitchell <mark@codesourcery.com>
11174
11175 Revert this change:
11176 * config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
11177 + REG addressing modes.
11178
11179 * config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
11180 + REG addressing modes.
11181
11182 2003-12-30 Mark Mitchell <mark@codesourcery.com>
11183
11184 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept
11185 CONSTANT_P_RTX.
11186
11187 2003-30-12 Paul Brook <paul@codesourcery.com>
11188
11189 * longlong.h: protect arm inlines with !defined (__thumb__)
11190
11191 2003-30-12 Paul Brook <paul@codesourcery.com>
11192
11193 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Always define __arm__.
11194
11195 2003-12-30 Nathan Sidwell <nathan@codesourcery.com>
11196
11197 * builtins.c (expand_builtin_apply_args_1): Fix typo in previous
11198 change.
11199
11200 2003-12-29 Nathan Sidwell <nathan@codesourcery.com>
11201
11202 * builtins.c (expand_builtin_apply_args_1): Add pretend args size
11203 to the virtual incoming args pointer for downward stacks.
11204
11205 2003-12-29 Paul Brook <paul@codesourcery.com>
11206
11207 * config/arm/arm-cores.def: Add cost function.
11208 * config/arm/arm.c (arm_*_rtx_costs): New functions.
11209 (arm_rtx_costs): Remove
11210 (struct processors): Add rtx_costs field.
11211 (all_cores, all_architectures): Ditto.
11212 (arm_override_options): Set targetm.rtx_costs.
11213 (thumb_rtx_costs): New function.
11214 (arm_rtx_costs_1): Remove cases handled elsewhere.
11215 * config/arm/arm.h (processor_type): Add COSTS parameter.
11216
11217 2003-12-29 Nathan Sidwell <nathan@codesourcery.com>
11218
11219 * config/arm/arm.md (generic_sched): arm926 has its own scheduler.
11220 (arm926ejs.md): Include it.
11221 * config/arm/arm926ejs.md: New pipeline description.
11222
11223 2003-12-24 Paul Brook <paul@codesourcery.com>
11224
11225 * config/arm/arm.c (arm_arch6j): New variable.
11226 (arm_override_options): Set it.
11227 (arm_emit_extendsi): New function.
11228 * config/arm/arm-protos.h (arm_emit_extendsi): Add prototype.
11229 * config/arm/arm.h (arm_arch6j): Declare.
11230 * config/arm/arm.md: Add sign/zero extend insns.
11231
11232 2003-12-23 Paul Brook <paul@codesourcery.com>
11233
11234 * config/arm/arm.c (all_architectures): Add armv6.
11235 * doc/invoke.texi: Document it.
11236
11237 2003-12-19 Paul Brook <paul@codesourcery.com>
11238
11239 * config/arm/arm.md: Add load1 and load_byte "type" attrs. Modify
11240 insn patterns to match.
11241 * config/arm/arm-generic.md: Ditto.
11242 * config/arm/cirrus.md: Ditto.
11243 * config/arm/fpa.md: Ditto.
11244 * config/amm/iwmmxt.md: Ditto.
11245 * config/arm/arm1026ejs.md: Ditto.
11246 * config/arm/arm1135jfs.md: Ditto. Add insn_reservation and bypasses
11247 for 11_loadb.
11248
11249 2003-12-18 Nathan Sidwell <nathan@codesourcery.com>
11250
11251 * config/arm/arm-protos.h (arm_no_early_alu_shift_value_dep): Declare.
11252 * config/arm/arm.c (arm_adjust_cost): Check shift cost for
11253 TYPE_ALU_SHIFT and TYPE_ALU_SHIFT_REG.
11254 (arm_no_early_store_addr_dep, arm_no_early_alu_shift_dep,
11255 arm_no_early_mul_dep): Correctly deal with conditional execution,
11256 parallels and single shift operations.
11257 (arm_no_early_alu_shift_value_dep): Define.
11258 * arm.md (attr type): Replace 'normal' with 'alu',
11259 'alu_shift' and 'alu_shift_reg'.
11260 (attr core_cycles): Adjust.
11261 (*addsi3_carryin_shift, andsi_not_shiftsi_si, *arm_shiftsi3,
11262 *shiftsi3_compare0, *notsi_shiftsi, *notsi_shiftsi_compare0,
11263 *not_shiftsi_compare0_scratch, *cmpsi_shiftsi, *cmpsi_shiftsi_swp,
11264 *cmpsi_neg_shiftsi, *arith_shiftsi, *arith_shiftsi_compare0,
11265 *arith_shiftsi_compare0_scratch, *sub_shiftsi,
11266 *sub_shiftsi_compare0, *sub_shiftsi_compare0_scratch,
11267 *if_shift_move, *if_move_shift, *if_shift_shift): Set type
11268 attribute appropriately.
11269 * config/arm/arm1026ejs.md (alu_op): Adjust.
11270 (alu_shift_op, alu_shift_reg_op): New.
11271 * config/arm/arm1136.md: Add better bypasses for early
11272 registers. Remove load[234] and store[234] bypasses.
11273 (11_alu_op): Adjust.
11274 (11_alu_shift_op, 11_alu_shift_reg_op): New.
11275
11276 2003-12-15 Nathan Sidwell <nathan@codesourcery.com>
11277
11278 * config/arm/arm-protos.h (arm_no_early_store_addr_dep,
11279 arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Declare.
11280 * config/arm/arm.c (arm_no_early_store_addr_dep,
11281 arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Define.
11282 * config/arm/arm1026ejs.md: Add load-store bypass.
11283 * config/arm/arm1136jfs.md (11_alu_op): Take 2 cycles.
11284 Add bypasses between instructions.
11285
11286 2003-12-10 Paul Brook <paul@codesourcery.com>
11287
11288 * config/arm/arm.c (arm_fpu_model): New variable.
11289 (arm_fload_abi): New variable.
11290 (target_fpe_name): Rename from target_fp_name.
11291 (target_fpu_name): New variable.
11292 (arm_is_cirrus): Remove.
11293 (fpu_desc): New struct.
11294 (all_fpus): Define.
11295 (pf_model_for_fpu): Define.
11296 (all_loat_abis): Define.
11297 (arm_override_options): Set fp arch flags based on -mfpu=
11298 and -float-abi=.
11299 (FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
11300 (LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
11301 (*): Use new TARGET_* flags.
11302 * config/arm/arm.h (TARGET_ANY_HARD_FLOAT): Remove.
11303 (TARGET_HARD_FLOAT): No longer implies TARGET_FPA.
11304 (TARGET_SOFT_FLOAT): Ditto.
11305 (TARGET_SOFT_FLOAT_ABI): New.
11306 (TARGET_MAVERICK): Rename from TARGET_CIRRUS. No longer implies
11307 TARGET_HARD_FLOAT.
11308 (TARGET_VFP): No longer implies TARGET_HARD_FLOAT.
11309 (TARGET_OPTIONS): Add -mfpu=.
11310 (FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
11311 (LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
11312 (arm_pf_model): Define.
11313 (arm_float_abi_type): Define.
11314 (fputype): Add FPUTYPE_VFP. Change SOFT_FPA->NONE
11315 * config/arm/arm.md: Use new TARGET_* flags.
11316 * config/arm/cirrus.md: Ditto.
11317 * config/arm/fpa.md: Ditto.
11318 * config/arm/elf.h (ASM_SPEC): Pass -mfloat-abi= and -mfpu=.
11319 * config/arm/semi.h (ASM_SPEC): Ditto.
11320 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Specify vfp.
11321 (FPUTYPE_DEFAULT): Set to VFP.
11322 * doc/invoke.texi: Document -mfpu= and -mfloat-abi=.
11323
11324 2003-11-22 Phil Edwards <phil@codesourcery.com>
11325
11326 PR target/12476
11327 * config/arm/arm.c (arm_output_mi_thunk): In Thumb mode, use
11328 'bx' instead of 'b' to avoid branch range restrictions. Output
11329 the thunk immediately before the thunked-to function.
11330 * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Do not emit
11331 .thumb_func if a thunk is being generated. Emit .code 16 along
11332 with .thumb_func if a thunk is not being generated.
11333
11334 2003-11-15 Nicolas Pitre <nico@cam.org>
11335
11336 * config/arm/arm.md (ashldi3, arm_ashldi3_1bit, ashrdi3,
11337 arm_ashrdi3_1bit, lshrdi3, arm_lshrdi3_1bit): New patterns.
11338 * config/arm/iwmmxt.md (ashrdi3_iwmmxt): Renamed from ashrdi3.
11339 (lshrdi3_iwmmxt): Renamed from lshrdi3.
11340 * config/arm/arm.c (IWMMXT_BUILTIN2): Renamed argument accordingly.
11341
11342 2003-11-12 Steve Woodford <scw@wasabisystems.com>
11343 Ian Lance Taylor <ian@wasabisystems.com>
11344
11345 * config/arm/lib1funcs.asm (ARM_DIV_BODY, ARM_MOD_BODY): Add new
11346 code for __ARM_ARCH__ >= 5 && ! defined (__OPTIMIZE_SIZE__).
11347
11348 2003-11-05 Phil Edwards <phil@codesourcery.com>
11349
11350 * config/arm/arm.md (insn): Add new V6 instruction names.
11351 (generic_sched): New attr.
11352 * config/arm/arm-generic.md: Use generic_sched here.
11353 * config/arm/arm1026ejs.md: Do not model fetch/issue/decode
11354 stages of pipeline. Adjust latency counts accordingly.
11355 * config/arm/arm1136jfs.md: New file.
11356
11357 2003-10-28 Mark Mitchell <mark@codesourcery.com>
11358
11359 * config/arm/arm.h (processor_type): New enumeration type.
11360 (CPP_ARCH_DEFAULT_SPEC): Set appropriately for ARM 926EJ-S,
11361 ARM1026EJ-S, ARM1136J-S, and ARM1136JF-S processor cores.
11362 (CPP_CPU_ARCH_SPEC): Likewise.
11363 * config/arm/arm.c (arm_tune): New variable.
11364 (all_cores): Use cores.def.
11365 (all_architectures): Add representative processor.
11366 (arm_override_options): Restructure way in which tuning
11367 information is deduced.
11368 * arm.md: Update "insn" and "type" attributes throughout.
11369 (insn): New attribute.
11370 (type): Compute "mult" from "insn" attribute. Add load2,
11371 load3, load4 alternatives.
11372 (arm automaton): Move to arm-generic.md.
11373 * config/arm/arm-cores.def: New file.
11374 * config/arm/arm-generic.md: Likewise.
11375 * config/arm/arm1026ejs.md: Likewise.
11376
60b85c4c
EB
113772004-02-03 Eric Botcazou <ebotcazou@libertysurf.fr>
11378
11379 * doc/invoke.texi (SPARC options): Remove -mflat and
11380 all -mxxx (xxx:chip) options.
11381 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Delete.
11382 * config/sparc/litecoff.h (DBX_REGISTER_NUMBER): Likewise.
11383 * config/sparc/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise.
11384 * config/sparc/sol2.h (DBX_REGISTER_NUMBER): Likewise.
11385 * config/sparc/sparc-protos.h: Delete sparc_flat_* prototypes.
11386 * config/sparc/sparc.c: Likewise.
11387 (sparc_output_function_prologue): Remove TARGET_FLAT handling.
11388 (sparc_nonflat_function_prologue): Rename into sparc_function_prologue.
11389 (sparc_output_function_epilogue): Remove TARGET_FLAT handling.
11390 (sparc_nonflat_function_epilogue): Rename into sparc_function_epilogue.
11391 (struct sparc_frame_info, current_frame_info, zero_frame_info): Delete.
11392 (sparc_flat_must_save_register_p): Likewise.
11393 (sparc_flat_compute_frame_size): Likewise.
11394 (sparc_flat_save_restore): Likewise.
11395 (sparc_flat_function_prologue): Likewise.
11396 (sparc_flat_function_epilogue): Likewise.
11397 (sparc_flat_epilogue_delay_slots): Likewise.
11398 (sparc_flat_eligible_for_epilogue_delay): Likewise.
11399 (sparc_function_ok_for_sibcall): Remove TARGET_FLAT handling.
11400 * config/sparc/sparc.h (MASK_FLAT, TARGET_FLAT): Delete.
11401 (TARGET_SWITCHES): Remove -mflat and all -mxxx (xxx:chip) options.
11402 (SPARC_INCOMING_INT_ARG_FIRST): Remove TARGET_FLAT handling.
11403 (CONDITIONAL_REGISTER_USAGE): Likewise.
11404 (FRAME_POINTER_REQUIRED): Likewise.
11405 (INITIAL_ELIMINATION_OFFSET): Likewise.
11406 (BASE_RETURN_VALUE_REG): Likewise.
11407 (BASE_OUTGOING_VALUE_REG): Likewise.
11408 (BASE_PASSING_ARG_REG): Likewise.
11409 (BASE_INCOMING_ARG_REG): Likewise.
11410 (INCOMING_REGNO): Likewise.
11411 (OUTGOING_REGNO): Likewise.
11412 (LOCAL_REGNO): Likewise.
11413 (DELAY_SLOTS_FOR_EPILOGUE): Likewise.
11414 (ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
11415 (EPILOGUE_USES): Likewise.
11416 * config/sparc/sparc.md ("isa" attribute): Change "v6" into "v7".
11417 ("flat" attribute): Delete.
11418 (do_builtin_setjmp_setup): Remove TARGET_FLAT and "flat" attribute
11419 handling.
11420 (call followed by jump define_peephole's): Delete.
11421 (exception_receiver): Likewise.
11422 (builtin_setjmp_receiver): Likewise.
11423 * config/sparc/t-sparclite (MULTILIB_OPTIONS): Remove -mflat.
11424
e57e265b
PB
114252004-02-03 Paolo Bonzini <bonzini@gnu.org>
11426
11427 PR c/11658
11428 PR c/13994
11429 * Makefile.in (c-parse.o, c-convert.o, c-typeck.o): Depend
11430 on langhooks.h.
11431 * objc/Make-lang.in (objc-parse.o): Depend on langhooks.h.
11432 * c-parse.in, c-convert.c, c-typeck.c, objc/objc-act.c:
11433 Include langhooks.h. Replace c_common_truthvalue_conversion
11434 with the truthvalue_conversion language hook throughout.
11435 (expr_no_commas): Call default_conversion before save_expr
11436 for the first term of the production 'x ? : y'.
11437 * c-common.c (c_common_truthvalue_conversion): Remove
11438 obsolete block. Invoke recursively the hook instead
11439 of this function.
11440 * c-convert.c (convert): handle ERROR_MARK_NODE.
11441 * c-typeck.c (build_binary_op): handle ERROR_MARK_NODE
11442 returned by the truthvalue_conversion language hook.
11443 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use
11444 c_objc_common_truthvalue_conversion.
11445 * c-objc-common.c (c_objc_common_truthvalue_conversion):
11446 New function.
11447 * c-tree.h (c_objc_common_truthvalue_conversion): Declare it.
11448 * objc/objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use
11449 c_objc_common_truthvalue_conversion.
11450
a7a2225a
KH
114512004-02-03 Kazu Hirata <kazu@cs.umass.edu>
11452
11453 * config/c4x/c4x.h (FUNCTION_VALUE): Use gen_rtx_REG instead
11454 of gen_rtx.
11455 (LIBCALL_VALUE): Likewise.
11456 * config/ip2k/ip2k.c (mdr_try_propagate_clr_sequence): Use
11457 gen_rtx_CC0 instead of gen_rtx.
11458 * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use
11459 gen_rtx_fmt_e and gen_rtx_fmt_ee instead of gen_rtx.
11460 (m68hc11_expand_compare): Use gen_rtx_fmt_ee instead of
11461 gen_rtx.
11462 (m68hc11_emit_logical): Likewise.
11463
a556fd39
KH
114642004-02-03 Kazu Hirata <kazu@cs.umass.edu>
11465
11466 * config/alpha/alpha.c, config/arm/arm.c, config/c4x/c4x.c,
11467 config/fr30/fr30.md, config/frv/frv.c, config/frv/frv.md,
11468 config/h8300/h8300.c, config/ia64/ia64.c, config/ip2k/ip2k.md,
11469 config/m32r/m32r.md, config/m68hc11/m68hc11.c,
11470 config/mips/mips.md, config/mmix/mmix.c,
11471 config/mn10300/mn10300.c, config/mn10300/mn10300.md,
11472 config/ns32k/ns32k.c, config/pa/pa.md, config/pdp11/pdp11.c,
11473 config/rs6000/altivec.md, config/s390/s390.c,
11474 config/s390/s390.h, config/s390/s390.md, config/sh/sh.c,
11475 config/sh/sh.h, config/sh/sh.md, config/stormy16/stormy16.c:
11476 Use const0_rtx instead of GEN_INT (0). Do the same for other
11477 constants that are readily available.
11478
60c81c89
KH
114792004-02-03 Kazu Hirata <kazu@cs.umass.edu>
11480
11481 * doloop.c, optabs.c, regmove.c, sched-deps.c,
11482 config/i386/i386.c, config/i386/i386.md: Use const0_rtx
11483 instead of GEN_INT (0). Do the same for other constants that
11484 are readily available.
11485
2fb00d7f
KH
114862004-02-03 Kazu Hirata <kazu@cs.umass.edu>
11487
11488 * combine.c (simplify_set): Use gen_rtx_fmt_e instead of
11489 gen_rtx.
11490 * emit-rtl.c (init_emit_once): Use gen_rtx_PC and gen_rtx_CC0
11491 instead of gen_rtx.
11492 * reload1.c (init_elim_table): Use gen_rtx_fmt_e instead of
11493 gen_rtx.
11494 * config/ns32k/ns32k.md (udivmodhi4): Use gen_rtx_IOR and
11495 gen_rtx_ASHIFT instead of gen_rtx.
11496 (udivmodqi4): Likewise.
11497
b0dccb00
RH
114982004-02-02 Richard Henderson <rth@redhat.com>
11499
a6f78652
ZW
11500 PR target/13789
11501 * expr.c (store_expr): Use force_operand before emit_move_insn.
b0dccb00 11502
3168cb99
JL
115032004-02-02 Jeff Law <law@redhat.com>
11504 Roger Sayle <roger@eyesopen.com>
11505
11506 * tree.c (commutative_tree_code, associative_tree_code): New
11507 functions.
11508 (iterative_hash_expr): Use commutative_tree_code.
11509 * tree.h (commutative_tree_code, associative_tree_code): Declare.
11510 * fold-const.c (operand_equal_p): Use commutative_tree_code
11511 rather than inlining the commutativity check.
11512 (fold): Likewise.
11513
040333a7
KH
115142004-02-02 Kazu Hirata <kazu@cs.umass.edu>
11515
11516 * system.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Poison.
11517 * config/frv/frv-protos.h: Remove the prototype for
11518 frv_function_arg_keep_as_reference.
11519 * config/frv/frv.c (frv_function_arg_keep_as_reference):
11520 Remove.
11521 * config/frv/frv.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Likewise.
11522 * config/stormy16/stormy16.h: Remove the commented-out
11523 definition of FUNCTION_ARG_KEEP_AS_REFERENCE.
11524
79d69d75
AM
115252004-02-03 Alan Modra <amodra@bigpond.net.au>
11526
11527 PR target/13914
11528 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Use ap
11529 for retaddr_column.
11530
600555f5
KH
115312004-02-02 Kazu Hirata <kazu@cs.umass.edu>
11532
11533 * genemit.c (gen_exp): Generate gen_rtx_fmt_e* instead of
11534 gen_rtx.
11535
16dd5cfe 115362004-02-02 Eric Christopher <echristo@redhat.com>
a6f78652 11537 Zack Weinberg <zack@codesourcery.com>
16dd5cfe
EC
11538
11539 * c-opts.c (c_common_handle_option): Add -finput-charset.
a6f78652
ZW
11540 * c.opt: Ditto.
11541 * cppcharset.c (one_iso88591_to_utf8): Remove.
11542 (convert_iso88591_utf8): Ditto.
11543 (conversion_tab): Remove 8859-1 converter.
11544 (_cpp_input_to_utf8): Remove.
11545 (_cpp_init_iconv_buffer): Ditto.
11546 (_cpp_close_iconv_buffer): Ditto.
11547 (_cpp_convert_input): New function.
11548 (_cpp_default_encoding): Ditto.
11549 * cpphash.h: Add/remove prototypes for above.
11550 * cppfiles.c (read_file_guts): Use _cpp_convert_input.
11551 * cppinit.c (cpp_create_reader): Use _cpp_default_encoding
11552 for narrow execution and input character sets.
11553 * cpplib.c (cpp_push_buffer): Delete uses of removed functions.
11554 * doc/cppopts.texi: Document -finput-charset.
16dd5cfe 11555
8ad0d964
DE
115562004-02-02 David Edelsohn <edelsohn@gnu.org>
11557
11558 * rtlanal.c (refers_to_regno_p): Test regno, not inner_regno,
11559 against FIRST_PSEUDO_REGISTER.
11560
238b11b5
EB
115612004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
11562
11563 * doc/invoke.texi (SPARC options): Further improve.
11564
0f4c242b
KH
115652004-02-02 Kazu Hirata <kazu@cs.umass.edu>
11566
11567 * config/arm/arm.md, config/c4x/c4x.md, config/cris/cris.md,
11568 config/h8300/h8300.c, config/ip2k/ip2k.md,
11569 config/iq2000/iq2000.c, config/mips/mips.c,
11570 config/rs6000/rs6000.c, config/rs6000/rs6000.md,
11571 config/sh/sh.c, config/sh/sh.md, config/stormy16/stormy16.c,
11572 config/v850/v850.md: Fix indentation.
11573
d560b0aa
EB
115742004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
11575
11576 * config/sparc/sparc.c (function_arg_slotno): Align TImode
11577 arguments on a 16-byte boundary in the parameter array if ARCH64.
11578 Split handling of TFmode.
11579
6f626d1b
PB
115802004-02-02 Paolo Bonzini <bonzini@gnu.org>
11581
11582 * rtlanal.c (reg_overlap_mentioned_p) [!ENABLE_CHECKING]:
11583 Don't test CONSTANT_P (x).
11584 (reg_overlap_mentioned_p): Merge check for STRICT_LOWPART,
11585 ZERO_EXTRACT, SIGN_EXTRACT with the switch statement.
11586 Fix misindentation.
11587
e789e9c4
EB
115882004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
11589
11590 * doc/invoke.texi (SPARC options): Document that -mflat is deprecated.
11591
1c563bed
KH
115922004-02-02 Kazu Hirata <kazu@cs.umass.edu>
11593
11594 * config/arc/arc.md, config/arm/arm.c, config/arm/arm.md,
11595 config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.md,
11596 config/frv/frv.c, config/h8300/h8300.c, config/ip2k/ip2k.md,
11597 config/iq2000/iq2000.c, config/m32r/m32r.c,
11598 config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.md,
11599 config/mn10300/mn10300.c, config/rs6000/rs6000.c,
11600 config/rs6000/rs6000.md, config/sh/sh.c, config/sh/sh.md,
11601 config/stormy16/stormy16.c, config/v850/v850.md,
11602 config/xtensa/xtensa.c: Replace gen_rtx with gen_rtx_fmt_e*.
11603
67245ad3
KH
116042004-02-01 Kazu Hirata <kazu@cs.umass.edu>
11605
11606 * config/mcore/mcore.c (block_move_sequence): Replace
11607 gen_rtx_CONST_INT with GEN_INT.
11608
66fd46b6
JH
116092004-02-02 Jan Hubicka <jh@suse.cz>
11610
11611 * alias.c (record_set): Use hard_regno_nregs.
11612 * bt-load.c (find_btr_reference, note_btr_set): Likewise.
11613 * builtins.c (apply_args_size): Likewise.
11614 * caller-save.c (setup_save_areas, save_call_clobbered_regs,
11615 mark_set_regs, add_stored_regs, mark_referenced_regs,
11616 insert_restore, insert_save, insert_one_insn): Likewise.
11617 * cfgcleanup.c: Include regs.h
11618 (mark_effect, mentions_nonequal_regs): Likewise.
11619 * cfgrtl.c (mark_killed_regs): Likewise
11620 * combine.c (update_table_tick, record_value_for_reg,
11621 record_dead_and_set_regs, get_last_value_validate, use_crosses_set_p,
11622 reg_dead_at_p_1, reg_dead_at_p, mark_used_regs_combine, move_deaths,
11623 reg_bitfield_target_p, distribute_notes): Likewise.
11624 * cse.c (mention_regs, insert, invalidate, invalidate_for_call,
11625 exp_equiv_p, cse_insn): Likewise.
11626 * cselib.c (cselib_lookup): Likewise.
11627 (cselib_invalidate_regno, cselib_record_set): Likewise.
11628 * df.c (df_ref_record): Likewise.
11629 * dwarf2out.c (reg_loc_descriptor, multiple_reg_loc_descriptor):
11630 Likewise.
11631 * flow.c (mark_reg, insn_dead_p, mark_set_1, mark_used_reg,
11632 count_or_remove_death_notes_bb): Likewise.
11633 * function.c (aggregate_value_p, keep_stack_depressed): Likewise.
11634 * gloval.c (global_alloc, find_reg, mark_reg_store, mark_reg_conflicts,
11635 mark_reg_death, set_preference, reg_becomes_live, reg_dies): Likewise.
11636 * integrate.c (mark_stores): Likewise.
11637 * jump.c (delete_prior_computation): Likewise.
11638 * lcm.c (reg_dies, reg_becomes_live): Likewise.
11639 * local-alloc.c (combine_regs, find_free_reg, post_mark_life): Likewise.
11640 * loop.c (LOOP_REGNO_NREGS): Likewise.
11641 * postreload.c (reload_combine, reload_combine_note_store,
11642 reload_combine_note_use, reload_cse_move2add, move2add_note_store): Likewise.
11643 * ra-colorize.c (combine, color_usable_p, get_free_reg,
16dd5cfe 11644 calculate_dont_begin, calculate_dont_begin, colorize_one_web,
66fd46b6
JH
11645 try_recolor_web, insert_coalesced_conflicts, check_colors,
11646 break_precolored_alias): Likewise.
11647 * ra-debug.c: Include regs.h
11648 (ra_print_rtx_object): Likewise.
11649 * ra-rewrite (choose_spill_colors): Likewise.
11650 (spill_same_color_p, update_spill_colors, spill_is_free): Likewise.
11651 * ra.c (init_ra): Likewise.
11652 * recog.c (reg_fits_class_p, peep2_reg_dead_p,
11653 peep2_find_free_register): Likewise.
11654 * reg-stack.c (subst_stack_regs_pat, convert_regs_exit): Likewise.
11655 * regclass.c (hard_regno_nregs): New array.
11656 (init_reg_modes_once): Initialize it.
11657 (choose_hard_reg_mode): Use it.
11658 (record_reg_classes): Likewise.
11659 * regmove.c (mark_flags_life_zones): Likewise.
11660 * regrename.c (note_sets, clear_dead_regs, regrename_optimize,
11661 scan_rtx_reg, dump_def_use_chain, kill_value, set_value_regno,
11662 copy_value, maybe_mode_change, find_oldest_value_reg,
11663 copyprop_hardreg_forward_1):
11664 * regs.h (hard_regno_nregs): Declare.
11665 * realod.c (reload_inner_reg_of_subreg): Use it.
11666 (push_reload, combine_reloads, find_dummy_reload,
11667 hard_reg_set_here_p, operands_match_p, decompose, find_reloads,
11668 refers_to_regno_for_reload_p, find_equiv_reg, regno_clobbered_p,
11669 reload_adjust_reg_for_mode): Likewise.
11670 * reload1.c (compute_use_by_pseudos, count_pseudo,
11671 count_spilled_pseudo, find_reg, find_reload_regs, mark_home_live,
11672 spill_hard_reg, forget_old_reloads_1, mark_reload_reg_in_use,
11673 clear_reload_reg_in_use, reload_reg_free_for_value_p, free_for_value_p
11674 allocate_reload_reg, choose_reload_regs, emit_reload_insns,
11675 delete_output_reload): Likewise.
11676 * resource.c (update_live_status, mark_referenced_resources,
11677 mark_set_resources, mark_target_live_regs): Likewise.
11678 * rtlanal.c: Include regs.h
11679 (refers_to_regno_p, reg_overlap_mentioned_p, dead_or_set_p,
11680 dead_or_set_regno_p, find_regno_note, find_reg_fusage,
11681 subreg_regno_offset, subreg_offset_representable_p,
11682 hoist_test_store): Likewise.
11683 * sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
11684 * sched-rgn.c (check_live_1, update_live_1): Likewise.
11685 * stmt.c: Include regs.h
11686 (decl_conflicts_with_clobbers_p): Likewise.
11687 * varasm.c (make_decl_rtl): Likewise.
11688 * Makefile.in (cfgcleanup.o, rtlanal.o, ra-debug.o): Add regs.h dependnecy.
11689
f1c25d3b
KH
116902004-02-01 Kazu Hirata <kazu@cs.umass.edu>
11691
11692 * config/arm/arm.c, config/arm/arm.h, config/arm/arm.md,
11693 config/arm/linux-gas.h, config/arm/netbsd-elf.h,
11694 config/arm/netbsd.h, config/arm/pe.c, config/avr/avr.c,
11695 config/avr/avr.h, config/avr/avr.md, config/c4x/c4x.h,
11696 config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.c,
11697 config/frv/frv.h, config/ip2k/ip2k.c, config/iq2000/iq2000.c,
11698 config/iq2000/iq2000.h, config/m32r/m32r.c,
11699 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
11700 config/m68hc11/m68hc11.md, config/m68k/m68k.md,
11701 config/mcore/mcore.c, config/mcore/mcore.h,
11702 config/mcore/mcore.md, config/mips/mips.c,
11703 config/ns32k/ns32k.h, config/ns32k/ns32k.md,
11704 config/rs6000/rs6000.c, config/s390/s390.c,
11705 config/s390/s390.md, config/sparc/sparc.c, config/v850/v850.c,
11706 config/xtensa/xtensa.h, config/xtensa/xtensa.md: Replace
11707 "gen_rtx (FOO, " with "gen_rtx_FOO (".
11708
e0a24727
KH
117092004-02-01 Kazu Hirata <kazu@cs.umass.edu>
11710
11711 * config/h8300/h8300.md (two peephole2's): New.
11712
5202c5fe
EB
117132004-02-01 Eric Botcazou <ebotcazou@libertysurf.fr>
11714
11715 * config/sparc/sol2-bi.h: Handle TARGET_CPU_ultrasparc3.
11716 (CPP_CPU_SPEC): Handle -mcpu=ultrasparc3.
11717 (ASM_CPU_SPEC): Likewise
11718 * config/sparc/sol2.h: Handle TARGET_CPU_ultrasparc3.
11719 (ASM_CPU_SPEC): Remove -mcpu=v8plus. Handle -mcpu=ultrasparc3.
11720
13b59849
RS
117212004-02-01 Roger Sayle <roger@eyesopen.com>
11722
11723 * builtins.c (expand_builtin_pow): If flag_unsafe_math_optimizations
11724 isn't set, don't call expand_builtin_mathfn_2 to use the pow optab.
11725 (expand_builtin): Always call expand_builtin_pow.
11726
ef79730c
RS
117272004-02-01 Roger Sayle <roger@eyesopen.com>
11728
11729 * builtins.def (BUILT_IN_SIGNBIT, BUILT_IN_SIGNBITF,
11730 BUILT_IN_SIGNBITL): New GCC builtins.
11731 * builtins.c (expand_builtin_signbit): New function to RTL expand
11732 calls to signbit, signbitf and signbitl as inline intrinsics.
11733 (expand_builtin): Call expand_builtin_signbit for BUILT_IN_SIGNBIT*.
11734 (fold_builtin_signbit): New function to perform constant folding
11735 of signbit, signbitf and signbitl.
11736 (fold_builtin): Call fold_builtin_signbit for BUILT_IN_SIGNBIT*.
11737
11738 * doc/extend.texi: Document new signbit{,f,l} builtins.
11739
a80cdb0f
RS
117402004-02-01 Richard Sandiford <rsandifo@redhat.com>
11741
11742 * config/mips/mips.md (adddi3_internal_2): Remove superfluous %s.
11743
2efe2033
CD
117442004-02-01 Chris Demetriou <cgd@broadcom.com>
11745
11746 * config/mips/mips.h (PREDICATE_CODES): Remove entries for
11747 "mips_const_double_ok" and "simple_memory_operand", which were
11748 removed from the MIPS port with the mips-3_4-rewrite branch merge.
11749 * config/mips/mips.c (mips16_lay_out_constants): Update comment
11750 for removal of simple_memory_operand.
11751
d37eb705
KH
117522004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11753
11754 * config/c4x/c4x.md: Use GEN_INT instead of
11755 gen_rtx (CONST_INT, ...).
11756
fadeed3b
RH
117572004-01-31 Richard Henderson <rth@redhat.com>
11758
11759 * varasm.c (output_constant_pool): Don't zap the pool.
11760
ccdc1703
KH
117612004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11762
11763 * genrecog.c (decision_type): Add DT_const_int.
11764 (write_cond) [DT_const_int]: Print a comparison against small
11765 constant.
11766 (write_node): Simplify comparisons against small constants
11767 before printing tests.
16dd5cfe 11768
aeba8f80
KH
117692004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11770
11771 * config/m32r/m32r.c (m32r_load_pic_register): Use GEN_INT
11772 instead of gen_rtx_CONST_INT.
11773
400ce94c
KH
117742004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11775
11776 * config/xtensa/xtensa.h (DYNAMIC_CHAIN_ADDRESS): Use GEN_INT
11777 instead of gen_rtx_CONST_INT.
11778
8dfa8fcd
KH
117792004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11780
11781 * target-def.h (TARGET_STRICT_ARGUMENT_NAMING): Define as
11782 hook_bool_CUMULATIVE_ARGS_false.
11783 * targhooks.c (default_strict_argument_naming): Rename to
11784 hook_bool_CUMULATIVE_ARGS_false.
11785 * targhooks.h: Update the prototype for
11786 default_strict_argument_naming.
11787
c0d4e710
KH
117882004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11789
11790 * config/sh/sh.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (".
11791 * config/sh/sh.h: Likewise.
11792 * config/sh/sh.md: Likewise.
11793
fdf064f2
EB
117942004-01-31 Eric Botcazou <ebotcazou@libertysurf.fr>
11795
11796 * doc/invoke.texi (SPARC options): Restructure and update.
11797
b602b7b6
KH
117982004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11799
11800 * system.h (PROMOTE_FUNCTION_ARGS, STRUCT_VALUE_INCOMING, and
11801 STRICT_ARGUMENT_NAMING): Poison.
11802 * target-def.h (TARGET_PROMOTE_FUNCTION_ARGS): Define as
11803 hook_bool_tree_false.
11804 * targhooks.c (default_promote_function_args): Remove.
11805 (default_struct_value_rtx): Don't use STRUCT_VALUE_INCOMING.
11806 Don't check incoming.
11807 (default_strict_argument_naming): Don't use
11808 STRICT_ARGUMENT_NAMING.
11809 * targhooks.h: Remove the prototype for
11810 default_promote_function_args.
11811
a0524eb3
KH
118122004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11813
11814 * config/i386/i386-protos.h: Remove the prototype for
11815 ix86_setup_incoming_varargs.
11816 * config/i386/i386.c (TARGET_SETUP_INCOMING_VARARGS): New.
11817 (ix86_setup_incoming_varargs): Make it static.
11818 * config/i386/i386.h (SETUP_INCOMING_VARARGS): Remove.
11819
a457ee07
KH
118202004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11821
11822 * alloc-pool.c: Fix comment typos.
11823 * builtin-types.def: Likewise.
11824 * builtins.def: Likewise.
11825 * c-pretty-print.c: Likewise.
11826 * df.h: Likewise.
11827 * reload1.c: Likewise.
11828
a451b0bd
KH
118292004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11830
11831 * doc/invoke.texi: Follow spelling conventions.
11832 * doc/tm.texi: Likewise.
11833
e53e0c56
KH
118342004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11835
11836 * doc/install.texi: Fix typos.
11837 * doc/invoke.texi: Likewise.
11838
025b17a4
UW
118392004-01-31 Ulrich Weigand <uweigand@de.ibm.com>
11840
11841 * config/s390/s390.c (s390_decompose_address): Do not treat virtual
11842 registers as pointers.
11843 * config/s390/s390.md ("*la_31" second peephole2): Fix incorrect mode.
11844
4de249d9
PB
118452004-01-31 Paolo Bonzini <bonzini@gnu.org>
11846
c53bdcf5 11847 * combine.c (cse_main): Set gen_lowpart to gen_lowpart_for_combine
4de249d9
PB
11848 and restore it to gen_lowpart_general on exit.
11849 (gen_lowpart_for_combine): Adjust all callers to go through
11850 gen_lowpart.
11851 * cse.c (cse_main): Set gen_lowpart to gen_lowpart_if_possible
11852 and restore it to gen_lowpart_general on exit.
11853 (gen_lowpart_if_possible): Adjust all callers to go through
11854 gen_lowpart.
11855 * emit-rtl.c (gen_lowpart_general): New name of gen_lowpart.
11856 (gen_lowpart): Declare as pointer to function, initialized to
11857 gen_lowpart_general.
11858 * rtl.h (gen_lowpart): Declare as pointer to function.
11859
f84d109f
KH
118602004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11861
11862 * bt-load.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (".
11863 * calls.c: Likewise.
11864 * emit-rtl.c: Likewise.
11865 * function.c: Likewise.
11866 * reload1.c: Likewise.
11867 * config/i386/cygming.h: Likewise.
11868 * config/i386/i386.c: Likewise.
11869 * config/i386/winnt.c: Likewise.
11870
354b7da5
DH
118712004-01-30 Dara Hazeghi <dhazeghi@yahoo.com>
11872
11873 PR bootstrap/9249
11874 * doc/install.texi: document --enable-__cxa_atexit option.
11875 * configure.ac: Disable __cxa_atexit if not supported.
11876 * configure: Regenerate.
11877
9781b6da
DB
118782003-01-30 Daniel Berlin <dberlin@dberlin.org>
11879
11880 * ggc-zone.c (ggc_free): New function.
11881
283334f0
KH
118822004-01-30 Kazu Hirata <kazu@cs.umass.edu>
11883
11884 alloc-pool.c, c-lex.c, c-pragma.h, c-semantics.c, cfghooks.c,
11885 cfghooks.h, cfglayout.c, cfgloopmanip.c, debug.c, debug.h,
11886 flow.c, genextract.c, ggc-common.c, ggc-page.c, ggc.h,
11887 ifcvt.c, jump.c, loop-unswitch.c, timevar.c, timevar.def,
11888 tree-optimize.c, vmsdbgout.c, config/fp-bit.c,
11889 config/alpha/alpha.c, config/alpha/alpha.h,
11890 config/alpha/alpha.md, config/alpha/unicosmk.h,
11891 config/alpha/vms.h, config/arm/linux-elf.h, config/avr/avr.c,
11892 config/c4x/c4x-protos.h, config/c4x/c4x.md,
11893 config/d30v/d30v.h, config/frv/frv.md, config/frv/frvbegin.c,
11894 config/frv/frvend.c, config/i386/cygming.h,
11895 config/i386/djgpp.h, config/i386/emmintrin.h,
11896 config/i386/gthr-win32.c, config/i386/i386-interix.h,
11897 config/i386/i386-protos.h, config/i386/openbsd.h,
11898 config/i386/winnt.c, config/i386/xm-mingw32.h,
11899 config/i386/xmmintrin.h, config/ia64/ia64.md,
11900 config/iq2000/iq2000.md, config/m32r/m32r.md,
11901 config/m68k/m68k.md, config/mcore/mcore-elf.h,
11902 config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
11903 config/mips/iris5gas.h, config/mips/iris6.h,
11904 config/mips/iris6gas.h, config/mips/linux.h,
11905 config/mips/mips.md, config/mips/netbsd.h,
11906 config/mips/openbsd.h, config/mips/windiss.h,
11907 config/pa/fptr.c, config/rs6000/aix.h,
11908 config/rs6000/altivec.h, config/rs6000/darwin.h,
11909 config/rs6000/xcoff.h, config/s390/s390-protos.h,
11910 config/s390/s390.c, config/s390/s390.h, config/s390/s390.md,
11911 config/sh/netbsd-elf.h, config/sh/sh.h, config/sh/vxworks.h,
11912 config/sparc/sol2.h: Update copyright.
11913
71cbe2c1
KC
119142004-01-30 Kelley Cook <kcook@gcc.gnu.org>
11915
11916 * Makefile.in (abs_docdir, abs_srcdir): Define.
11917 (doc/%.dvi, doc/gccinstall.dvi): Use $(abs_docdir).
11918
bfb2d661
KH
119192004-01-30 Kazu Hirata <kazu@cs.umass.edu>
11920
11921 * genconfig.c (main): Have CC0_P check its operand even on a
11922 target without cc0.
11923
bd5bd7ac
KH
119242004-01-30 Kazu Hirata <kazu@cs.umass.edu>
11925
11926 * config/alpha/alpha.c: Remove mentions of deprecates macros
11927 in comments, remove some target-independent comments about target
11928 macros, and/or add minimal function comments for target hook
11929 implementations.
11930 * config/avr/avr.c: Likewise.
11931 * config/ia64/ia64.h: Likewise.
11932 * config/ip2k/ip2k.c: Likewise.
11933 * config/iq2000/iq2000.c: Likewise.
11934 * config/m32r/m32r.h: Likewise.
11935 * config/m68hc11/m68hc11.c: Likewise.
11936 * config/mcore/mcore.c: Likewise.
11937 * config/mmix/mmix.c: Likewise.
11938 * config/mn10300/mn10300.c: Likewise.
11939 * config/pa/pa.c: Likewise.
11940 * config/pdp11/pdp11.c: Likewise.
11941 * config/rs6000/rs6000.h: Likewise.
11942 * config/sh/sh.c: Likewise.
11943 * config/sh/sh.h: Likewise.
11944 * config/sparc/sparc.c: Likewise.
11945 * config/sparc/sparc.h: Likewise.
11946 * config/stormy16/stormy16.c: Likewise.
11947 * config/xtensa/xtensa.c: Likewise.
11948
808ededc
UW
119492004-01-30 Ulrich Weigand <uweigand@de.ibm.com>
11950
11951 PR optimization/12147
11952 * reload1.c (reload_reg_free_p): RELOAD_OTHER conflicts with
11953 RELOAD_FOR_OPADDR_ADDR.
11954 (reload_reg_reaches_end_p): RELOAD_FOR_OTHER_ADDRESS register
11955 might be reused as RELOAD_FOR_OPADDR_ADDR register.
11956
98e5e087
JH
119572004-01-30 Jan Hubicka <jh@suse.cz>
11958
bd5bd7ac 11959 * reload.c (get_secondary_mem): Fix updating of
98e5e087
JH
11960 secondary_memlocs_elim_used.
11961
3234b52d
RH
119622004-01-30 Richard Henderson <rth@redhat.com>
11963
11964 * varasm.c (struct rtx_const, struct pool_constant): Remove.
11965 (MAX_RTX_HASH_TABLE): Remove.
11966 (const_rtx_hash_table, const_rtx_sym_hash_table): Remove.
11967 (first_pool, last_pool, pool_offset): Remove.
11968 (struct rtx_constant_pool): Split out from ...
11969 (struct varasm_status): ... here. Reference one via pointer.
11970 (struct constant_descriptor_rtx): Merge struct pool_constant.
11971 (SYMHASH): Remove.
11972 (decode_rtx_const): Remove.
11973 (const_hash_rtx, compare_constant_rtx): Remove.
11974 (record_constant_rtx): Remove.
11975 (const_desc_rtx_hash, const_desc_rtx_eq): New.
11976 (const_desc_rtx_sym_hash, const_desc_rtx_sym_eq): New.
11977 (const_rtx_hash_1, const_rtx_hash): New.
11978 (init_varasm_status): Allocate a rtx_constant_pool, and its hashes.
11979 (simplify_subtraction): Use simplify_rtx.
11980 (force_const_mem): Rewrite to use new data structures.
11981 (find_pool_constant): Likewise.
11982 (get_pool_constant, get_pool_constant_mark,
11983 get_pool_constant_for_function, get_pool_mode,
11984 get_pool_mode_for_function, get_pool_offset, get_pool_size): Likewise.
11985 (output_constant_pool_2): Split out from output_constant_pool.
11986 (output_constant_pool_1): Likewise. Use new pool datastructures.
11987 (output_constant_pool): Zap entire pool datastructure.
11988 (mark_constant): Use new pool datastructures.
11989 (mark_constants): Use for_each_rtx.
11990 (mark_constant_pool): Use new pool datastructures.
11991
be77d9e7 119922004-01-30 Fariborz Jahanian <fjahanian@apple.com>
16dd5cfe 11993
a6f78652 11994 * config/rs6000/rs6000.c (rs6000_emit_move): Remove #if 0.
be77d9e7
FJ
11995 Copy operands[1] to pseudo for simplify_gen_subreg.
11996
f0cad2d5
KH
119972004-01-30 Kazu Hirata <kazu@cs.umass.edu>
11998
11999 * gcse.c (bypass_block): Fix a typo in the previous check-in
12000 to the file.
12001
40ca90bf
AP
120022004-01-30 Andrew Pinski <pinskia@physics.uc.edu>
12003
12004 * toplev.c: Include alloc-pool.h.
16dd5cfe 12005 * Makefile.in (toplev.c): Update dependencies.
40ca90bf 12006
39a44a4e
RK
120072004-01-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12008
12009 * combine.c (simplify_shift_const, case XOR): Be careful when
12010 commuting XOR with ASHIFTRT.
12011
3e2cc1d1 120122004-01-30 Kazu Hirata <kazu@cs.umass.edu>
a6f78652 12013 Eric Botcazou <ebotcazou@libertysurf.fr>
3e2cc1d1
KH
12014
12015 * config/sparc/sparc-protos.h: Remove the prototype for
12016 sparc_builtin_saveregs.
12017 * config/sparc/sparc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
12018 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
12019 (TARGET_PROMOTE_PROTOTYPES): Likewise.
12020 (TARGET_STRUCT_VALUE_RTX): Likewise.
12021 (TARGET_RETURN_IN_MEMORY): Likewise.
12022 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
12023 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
12024 (sparc_builtin_saveregs): Make it static.
12025 (sparc_promote_prototypes): New.
12026 (sparc_struct_value_rtx): Likewise.
12027 (sparc_return_in_memory): Likewise.
12028 * config/sparc/sparc.h: (PROMOTE_FUNCTION_ARGS): Remove.
12029 (PROMOTE_FUNCTION_RETURN): Likewise.
12030 (RETURN_IN_MEMORY): Likewise.
12031 (STRUCT_VALUE): Likewise.
12032 (STRUCT_VALUE_INCOMING): Likewise.
12033 (EXPAND_BUILTIN_SAVEREGS): Likewise.
12034 (STRICT_ARGUMENT_NAMING): Likewise.
12035 (PROMOTE_PROTOTYPES): Likewise.
12036
12037 * config/sparc/sparc.h (PROMOTE_MODE): Use word_mode.
12038
5e9295fa
EB
120392004-01-30 Eric Botcazou <ebotcazou@libertysurf.fr>
12040
12041 PR c/12818
12042 * varasm.c (const_hash_1) <STRING_CST>: Use the
12043 address to compute the hash value if flag_writable_strings.
12044 (compare_constant) <STRING_CST>: Compare the addresses
12045 if flag_writable_strings.
12046 (build_constant_desc): Do not copy the expression for a
12047 STRING_CST if flag_writable_strings.
12048
1f2eae8d
JH
120492004-01-30 Jan Hubicka <jh@suse.cz>
12050
1e0f41c9
JH
12051 * alloc-pool.c: Include hashtab.h
12052 (alloc_pool_descriptor): New structure
12053 (alloc_pool_hash): New global variable.
12054 (hash_descriptor, eq_descriptor, alloc_pool_descriptor): New.
12055 (create_alloc_pool): Update statistics.
12056 (free_alloc_pool): Likewise.
12057 (pool_alloc): Likewise.
12058 (output_info): New structure
12059 (print_statistics, dump_alloc_pool_statistics): New function.
12060 * alloc-pool.h (alloc_pool_def): Turn name to be constant.
12061 (dump_alloc_pool_statistics): Declare.
12062 * toplev.c (finalize): Dump statistics.
12063
1f2eae8d
JH
12064 * reload.c (secondary_memlocs_elim_used): New static variable.
12065 (get_secondary_mem): Update it.
12066 (find_reloads): Use it.
12067
80a08664
SB
120682004-01-30 Steven Bosscher <s.bosscher@student.tudelft.nl>
12069
12070 * toplev.c: Fix broken checkin of 2003-12-30, again.
12071
57116d8d
UW
120722004-01-30 Ulrich Weigand <uweigand@de.ibm.com>
12073
12074 * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
12075 s390*-*-* targets by specifying a 'nop' insn.
12076 * configure: Regenerate.
12077
5fddd9fe
EB
120782004-01-30 Eric Botcazou <ebotcazou@libertysurf.fr>
12079
12080 PR target/11475
12081 * config/sparc/sparc.md (movhi_lo_sum): Tighten predicates.
12082
64fc7c00
JJ
120832004-01-29 Jakub Jelinek <jakub@redhat.com>
12084
12085 * emit-rtl.c (change_address): Use XEXP (memref, 0) instead
12086 of addr when creating MEM copy.
12087
ed672aa8
DP
120882004-01-29 Devang Patel <dpatel@apple.com>
12089
12090 * dwarf2out.c (gen_field_die): Do not equate decl number to die.
16dd5cfe 12091
7e3aa041
ILT
120922004-01-28 Ian Lance Taylor <ian@wasabisystems.com>
12093
12094 PR inline-asm/6162
12095 * reload.c (find_reloads): Only support one pair of commutative
12096 operands.
12097
06f12aa0
RS
120982004-01-29 Roger Sayle <roger@eyesopen.com>
12099
12100 PR java/13824
12101 * tree.c (unsafe_for_reeval): Handle EXIT_BLOCK_EXPR nodes specially
12102 as their EXIT_BLOCK_LABELED_BLOCK operands can lead to unbounded
12103 recursion.
12104
b88cf82e
KH
121052004-01-29 Kazu Hirata <kazu@cs.umass.edu>
12106
12107 * config/frv/frv.c: Don't mention deprecated macros in
12108 comments. Remove some target-independent comments about
12109 target macros.
12110 * config/frv/frv.h: Likewise.
12111
3ae4a5b1
ZD
121122004-01-29 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12113
12114 * cfghooks.c (split_block): Set probability and count of the
12115 new edge.
12116
636c7bc4
JZ
121172005-01-29 Josef Zlomek <zlomekj@suse.cz>
12118
12119 * dwarf2out.c (struct die_struct): Added field decl_id.
12120 (decl_die_table): Changed to hash table.
12121 (decl_die_table_allocated): Deleted.
12122 (decl_die_table_in_use): Deleted.
12123 (DECL_DIE_TABLE_INCREMENT): Deleted.
12124 (decl_die_table_hash): New function.
12125 (decl_die_table_eq): New function.
12126 (lookup_decl_die): Lookup in a hash table.
12127 (equate_decl_number_to_die): Insert into a hash table.
12128 (dwarf2out_init): Init hash table decl_die_table.
12129
4e44c1ef
JJ
121302004-01-29 Jakub Jelinek <jakub@redhat.com>
12131
12132 PR optimization/13424
12133 * expr.c (store_constructor): Revert 2003-12-03 change.
12134
12135 * emit-rtl.c (change_address): Check also if MEM_ATTRS is set as
12136 expected before returning early. Avoid sharing RTL if they
12137 need to be changed.
12138
12139 * config/i386/i386.c (ix86_expand_movstr): Rework rep_mov and strmov
12140 handling so that memory attributes are preserved. Don't call
12141 ix86_set_move_mem_attrs.
12142 (ix86_set_move_mem_attrs_1, ix86_set_move_mem_attrs): Removed.
12143 (ix86_expand_clrstr): Rename src argument to
12144 dst. Rework rep_stos and strset handling so that memory attributes
12145 are preserved.
12146 (ix86_expand_strlen): Pass src argument to
12147 ix86_expand_strlensi_unroll_1. Rework strlenqi_1 handling so that
12148 memory attributes are preserved.
12149 (ix86_expand_strlensi_unroll_1): Add src argument. Use
12150 change_address instead of gen_rtx_MEM.
12151 * config/i386/i386.md (strmov, strmov_singleop, rep_mov): New
12152 expanders.
12153 (strmovdi_rex64, strmovsi, strmovsi_rex64, strmovhi, strmovhi_rex64,
12154 strmovqi, strmovqi_rex64): Remove.
12155 (rep_mov*, strmov*): Prefix insn names with *.
12156 (strset, strset_singleop, rep_stos): New expanders.
12157 (strsetdi_rex64, strsetsi, strsetsi_rex64, strsethi, strsethi_rex64,
12158 strsetqi, strsetqi_rex64): Remove.
12159 (rep_stos*, strset*): Prefix insn names with *.
12160 (rep_stosqi_rex64): Likewise. Fix mode of dirflag reg from DImode
12161 to SImode.
12162 (cmpstrsi): Rework cmpstrqi_1 handling so that memory attributes
12163 are preserved.
12164 (cmpstrqi_nz_1, cmpstrqi_nz_rex_1, cmpstrqi_1, cmpstrqi_rex_1):
12165 Prefix insn names with *.
12166 (cmpstrqi_nz_1, cmpstrqi_1): New expanders.
12167 (strlenqi_1, strlenqi_rex_1): Prefix insn names with *.
12168 (strlenqi_1): New expander.
12169 * config/i386/i386.h (ix86_set_move_mem_attrs): Remove prototype.
12170
f470c378
ZD
121712004-01-29 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12172
12173 * Makefile.in (cfghooks.o): Add TIMEVAR_H and toplev.h dependency.
12174 * basic-block.h (tidy_fallthru_edge, tidy_fallthru_edges, dump_bb,
12175 verify_flow_info): Declaration removed.
12176 * cfg.c (verify_flow_info, dump_bb): Moved to cfghooks.c.
12177 (debug_bb, debug_bb_n): Add argument to dump_bb call.
12178 * cfgcleanup.c (try_simplify_condjump, try_crossjump_to_edge,
12179 try_optimize_cfg, delete_unreachable_blocks): Use delete_basic_block
12180 instead of delete_block.
12181 * cfghooks.c: Include timevar.h and toplev.h.
12182 (cfg_hooks): Define here.
12183 (verify_flow_info, dump_bb): Moved from cfg.c.
12184 (redirect_edge_and_branch, redirect_edge_and_branch_force,
12185 split_block, split_block_after_labels, move_block_after,
12186 delete_basic_block, split_edge, create_basic_block,
12187 create_empty_bb, can_merge_blocks_p, merge_blocks,
12188 make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
12189 New functions.
12190 * cfghooks.h (struct cfg_hooks): Added fields name,
12191 make_forwarder_block, tidy_fallthru_edge and
12192 move_block_after. Changed type of verify_flow_info, dump_bb,
12193 split_block fields. Renamed cfgh_split_edge and delete_block
12194 fields.
12195 (redirect_edge_and_branch, redirect_edge_and_branch_force,
12196 split_block, delete_block, split_edge, create_basic_block,
12197 can_merge_blocks_p, merge_blocks): Macros removed.
12198 (cfg_hooks): Do not export.
12199 (verify_flow_info, dump_bb, redirect_edge_and_branch,
12200 redirect_edge_and_branch_force, split_block, split_block_after_labels,
12201 move_block_after, delete_basic_block, split_edge, create_basic_block,
12202 create_empty_bb, can_merge_blocks_p, merge_blocks,
12203 make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
12204 Declare.
12205 (cfg_layout_rtl_cfg_hooks): Declare.
12206 * cfgloop.c (update_latch_info, mfb_keep_just, mfb_keep_nonlatch):
12207 New functions.
12208 (canonicalize_loop_headers): Use new semantics of make_forwarder_block.
12209 (redirect_edge_with_latch_update): Removed.
12210 (make_forwarder_block): Moved to cfghooks.c, semantics changed.
12211 * cfgloopmanip.c (remove_bbs): Do not update dominators here.
12212 * cfgrtl.c (cfg_layout_split_block, rtl_split_block, rtl_dump_bb,
12213 rtl_delete_block, rtl_split_block, rtl_merge_blocks,
12214 tidy_fallthru_edge, rtl_split_edge, cfg_layout_delete_block,
12215 cfg_layout_merge_blocks, cfg_layout_split_edge): Partly moved to
12216 cfghooks.c.
12217 (rtl_create_basic_block): Coding style fix.
12218 (rtl_tidy_fallthru_edge, rtl_move_block_after,
12219 rtl_make_forwarder_block): New functions.
12220 (update_cfg_after_block_merging): Removed.
12221 (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Fill in new entries.
12222 * flow.c (verify_wide_reg, verify_local_live_at_start): Add argument
12223 to dump_bb.
12224 * ifcvt.c (merge_if_block, find_cond_trap, find_if_case_1,
12225 find_if_case_2): Don't update dominators.
12226 * timevar.def (TV_CFG_VERIFY): New.
12227 * loop-unswitch.c (unswitch_loop): Don't call add_to_dominance_info.
12228 * cfglayout.c (copy_bbs): Don't call add_to_dominance_info.
12229 * cfgloopmanip.c (split_loop_bb): Don't update dominators.
12230 (remove_bbs): Don't call remove_bbs.
12231 (create_preheader): Use make_forwarder_block.
12232 (mfb_keep_just, mfb_update_loops): New static functions.
12233
3cea4788
KH
122342004-01-29 Kazu Hirata <kazu@cs.umass.edu>
12235
12236 * config/avr/avr.h: Remove target-independent comments about
12237 target macros.
12238
75e853f2 122392004-01-28 Daniel Berlin <dberlin@dberlin.org>
16dd5cfe 12240
75e853f2
DB
12241 * timevar.c (timevar_print): Mention when checking is enabled.
12242
7625e73d
GB
122432004-01-28 Giovanni Bajo <giovannibajo@gcc.gnu.org>
12244
12245 * c-lex.c (c_lex): Rename to...
12246 (c_lex_with_flags): Add new parameter to get CPP flags.
12247 (c_lex): Thunk to c_lex_with_flags while keeping the old interface.
12248 * c-pragma.h (c_lex_with_flags): Declare.
12249
dc7efe6e
KH
122502004-01-28 Kazu Hirata <kazu@cs.umass.edu>
12251
12252 * config/mcore/mcore.c (mcore_external_libcall): Add a
12253 comment.
12254 (mcore_return_in_memory): Likewise.
12255
09a2b93a
KH
122562004-01-28 Kazu Hirata <kazu@cs.umass.edu>
12257
12258 * config/mcore/mcore-protos.h: Remove the prototype for
12259 mcore_setup_incoming_varargs.
12260 * config/mcore/mcore.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
12261 (TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
12262 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
12263 (TARGET_PROMOTE_PROTOTYPES): Likewise.
12264 (TARGET_STRUCT_VALUE_RTX): Likewise.
12265 (TARGET_RETURN_IN_MEMORY): Likewise.
12266 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
12267 (mcore_setup_incoming_varargs): Make it static. Receive the
12268 first argument by reference. Add argument second_time.
12269 (mcore_external_libcall): New.
12270 (mcore_return_in_memory): Likewise.
12271 * config/mcore/mcore.h (PROMOTE_FUNCTION_ARGS): New.
12272 (PROMOTE_FUNCTION_RETURN): Likewise.
12273 (STRUCT_VALUE): Likewise.
12274 (RETURN_IN_MEMORY): Likewise.
12275 (SETUP_INCOMING_VARARGS): Likewise.
12276 (PROMOTE_PROTOTYPES): Likewise.
12277 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
12278
a7ed00da
KH
122792004-01-28 Kazu Hirata <kazu@cs.umass.edu>
12280
12281 * config/m32r/m32r-protos.h: Remove the prototype for
12282 m32r_setup_incoming_varargs.
12283 * config/m32r/m32r.c (TARGET_PROMOTE_PROTOTYPES): New.
12284 (TARGET_STRUCT_VALUE_RTX): Likewise.
12285 (TARGET_RETURN_IN_MEMORY): Likewise.
12286 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
12287 (m32r_return_in_memory): New.
12288 (m32r_setup_incoming_varargs): Make it static.
12289 * config/m32r/m32r.h: Remove #undef of
12290 ASM_OUTPUT_EXTERNAL_LIBCALL. Remove the commented-out
12291 definitions of PROMOTE_FUNCTION_ARGS and
12292 PROMOTE_FUNCTION_RETURN.
12293 (PROMOTE_PROTOTYPES): Remove.
12294 (RETURN_IN_MEMORY): Likewise.
12295 (STRUCT_VALUE): Likewise.
12296
8636be86
KH
122972004-01-28 Kazu Hirata <kazu@cs.umass.edu>
12298
12299 * config/m68k/m68k.c (TARGET_PROMOTE_PROTOTYPES): New.
12300 (TARGET_STRUCT_VALUE_RTX): Likewise.
12301 (m68k_struct_value_rtx): Likewise.
12302 * config/m68k/m68k.h (STRUCT_VALUE_REGNUM): Rename to
12303 STRUCT_VALUE_REGNUM.
12304 (PROMOTE_PROTOTYPES): Remove.
12305 * config/m68k/m68kelf.h (STRUCT_VALUE_REGNUM): Rename to
12306 STRUCT_VALUE_REGNUM.
12307 * config/m68k/m68kv4.h (STRUCT_VALUE_REGNUM): Likewise.
12308 * config/m68k/netbsd-elf.h (STRUCT_VALUE_REGNUM): Likewise.
12309
f2f61ee7
KH
123102004-01-28 Kazu Hirata <kazu@cs.umass.edu>
12311
12312 * config/stormy16/stormy16.c
12313 (TARGET_BUILD_BUILTIN_VA_LIST_TYPE): Rename to
12314 TARGET_BUILD_BUILTIN_VA_LIST.
12315
fb7bc7fb
KH
123162004-01-28 Kazu Hirata <kazu@cs.umass.edu>
12317
12318 * config/v850/v850.c (TARGET_PROMOTE_PROTOTYPES): New.
12319 (TARGET_STRUCT_VALUE_RTX): Likewise.
12320 (TARGET_RETURN_IN_MEMORY): Likewise.
12321 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
12322 (v850_return_in_memory): Likewise.
12323 (v850_setup_incoming_varargs): Likewise.
12324 * config/v850/v850.h (PROMOTE_PROTOTYPES): Remove.
12325 (SETUP_INCOMING_VARARGS): Likewise.
12326 (RETURN_IN_MEMORY): Likewise.
12327 (STRUCT_VALUE): Likewise.
12328
0fd818e7
KH
123292004-01-28 Kazu Hirata <kazu@cs.umass.edu>
12330
12331 * config/fr30/fr30.c (TARGET_PROMOTE_PROTOTYPES): New.
12332 (fr30_setup_incoming_varargs): Don't use
12333 STRICT_ARGUMENT_NAMING.
12334 * config/fr30/fr30.h (PROMOTE_PROTOTYPES): Remove.
12335 (STRICT_ARGUMENT_NAMING): Likewise.
12336
8ac411c7
KH
123372004-01-28 Kazu Hirata <kazu@cs.umass.edu>
12338
12339 * config/frv/frv-protos.h: Remove the prototype for
12340 frv_expand_builtin_saveregs.
12341 * config/frv/frv.c (TARGET_STRUCT_VALUE_RTX): Likewise.
12342 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
12343 (frv_stack_info): Use FRV_STRUCT_VALUE_REGNUM instead of
12344 STRUCT_VALUE_REGNUM.
12345 (frv_expand_builtin_saveregs): Make it static.
12346 (frv_struct_value_rtx): New.
12347 * config/frv/frv.h (EXPAND_BUILTIN_SAVEREGS): Remove.
12348
d173e685
JH
123492004-01-29 Jan Hubicka <jh@suse.cz>
12350
12351 PR c++/12850
12352 * cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and
12353 initial pointers.
12354 * cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS
12355 for functions that will be only inlined.
12356 (cgraph_mark_function_to_output): Likewise.
12357 (cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear;
12358 do not clear function body.
12359 * tree-optimize.c (clear_decl_rtl): Use decl_function_context.
12360 (tree_rest_of_compilation): Reorganize the logic releasing function
12361 body to use callgraph datastructure.
12362
f7a1010e
JDA
123632004-01-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12364
12365 * pa.md: Change predicate of a peephole2 pattern from reg_or_0_operand
12366 to register_operand.
12367
e7f47f83
ZW
123682004-01-28 Zack Weinberg <zack@codesourcery.com>
12369
12370 * config/ia64/ia64.md (fetchadd_acq_si, fetchadd_acq_di)
12371 (cmpxchg_acq_si, cmpxchg_acq_di): Exchange match_dup and
12372 match_operand expressions so that all match_dups appear
12373 lexically after their corresponding match_operands.
12374
1807b726
KH
123752004-01-28 Kazu Hirata <kazu@cs.umass.edu>
12376
12377 * config/h8300/h8300.c (WORD_REG_USED): Use
12378 HARD_FRAME_POINTER_REGNUM instead of FRAME_POINTER_REGNUM.
12379 (compute_saved_regs): Likewise.
12380 (h8300_expand_prologue): Likewise. Allocate locals after
12381 saving registers.
12382 (h8300_expand_epilogue): Use HARD_FRAME_POINTER_REGNUM instead
12383 of FRAME_POINTER_REGNUM. Deallocate locals before saving
12384 registers.
12385 (h8300_initial_elimination_offset): Adjust for the new frame
12386 layout, which swaps flips the order of locals and saved
12387 registers.
12388 * config/h8300/h8300.h (FIRST_PSEUDO_REGISTER): Change to 12.
12389 (HARD_FRAME_POINTER_REGNUM): New.
12390 (ELIMINABLE_REGS): Add an elimination rule from
12391 FRAME_POINTER_REGNUM to HARD_FRAME_POINTER_REGNUM.
12392 (REGISTER_NAMES): Add fp.
12393 * config/h8300/h8300.md (FP_REG): Change to 11.
12394 (HFP_REG): New.
12395
be2c39f8
KH
123962004-01-28 Kazu Hirata <kazu@cs.umass.edu>
12397
12398 * genrecog.c (write_node): Remove a useless local variable.
12399
469ef4a3
ILT
124002004-01-28 Ian Lance Taylor <ian@wasabisystems.com>
12401
12402 * Makefile.in (options.c options.h): Use stamp file s-options to
12403 avoid unnecessary rebuilds.
12404 (options.o): New target listing dependencies.
12405 (gtyp-gen.h): Use stamp file s-gtyp-gen.
12406 (STAGESTUFF): Add s-gtyp-gen.
12407
685fe032
RH
124082004-01-28 Richard Henderson <rth@redhat.com>
12409
12410 * ggc.h (ggc_free): Declare.
12411 * ggc-common.c (ggc_realloc): Use it.
12412 * ggc-page.c: Remove lots of inline markers.
12413 (globals): Add free_object_list.
12414 (ggc_alloc): Tidy.
12415 (ggc_free, validate_free_objects): New.
12416 (poison_pages): Provide default.
12417 (ggc_collect): Call validate_free_objects; emit markers to
12418 the debug file.
12419
2ffe0e02
ZW
124202004-01-28 Zack Weinberg <zack@codesourcery.com>
12421 Jim Wilson <wilson@specifixinc.com>
12422
12423 * config/ia64/ia64.c (ia64_split_tmode, ia64_split_tmode_move):
12424 Rewrite to use POST_INC/POST_DEC/POST_MODIFY instead of a
12425 scratch pointer.
12426 (ia64_secondary_reload_class): Delete case GR_REGS.
12427 * config/ia64/ia64.md (movti, *movti_internal, movtf, *movtf_internal):
12428 Do not allocate a scratch register.
12429 (reload_inti, reload_outti, reload_intf, reload_outtf): Delete.
12430
a544524a
JH
124312004-01-28 Jan Hubicka <jh@suse.cz>
12432
12433 * gcse.c (bypass_block): Prevent edges to be unified when we are
12434 about to emit compenstation code.
12435
1b8f8174
NC
124362004-01-28 Nick Clifton <nickc@redhat.com>
12437
12438 * config/arm/arm.c (arm_expand_builtin): Force second argument of
12439 the setcwx insn into a register.
12440
faceece3
RS
124412004-01-28 Richard Sandiford <rsandifo@redhat.com>
12442
12443 * config/fp-bit.c (pack_d): When using paired doubles to implement
12444 a long double, round the high part separately.
12445 (unpack_d): Fix the case in which the high part is a power of two
12446 and the low part is a nonzero value of the opposite sign.
12447
28b24176
KH
124482004-01-28 Kazu Hirata <kazu@cs.umass.edu>
12449
12450 * config/c4x/c4x.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
12451 (TARGET_STRUCT_VALUE_RTX): Likewise.
12452 (c4x_external_libcall): Likewise.
12453 (c4x_struct_value_rtx): Likewise.
12454 * config/c4x/c4x.h: Remove.
12455 (STRUCT_VALUE_REGNUM): Likewise.
12456 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
12457
9184f892
KH
124582004-01-28 Kazu Hirata <kazu@cs.umass.edu>
12459
12460 * config/i386/i386.c (TARGET_PROMOTE_PROTOTYPES): New.
12461 (TARGET_STRUCT_VALUE_RTX): Likewise.
12462 * config/i386/i386.h (STRUCT_VALUE_INCOMING): Remove.
12463 (STRUCT_VALUE): Likewise.
12464 (PROMOTE_PROTOTYPES): Likewise.
12465
4cce9dd8
RS
124662004-01-27 Roger Sayle <roger@eyesopen.com>
12467
12468 * config/pa/pa.c (emit_move_sequence): Check that operand1 is a
12469 CONST_INT before using INTVAL.
12470
590fcf48
UW
124712004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
12472
12473 * config/s390/s390.h (TARGET_DEFAULT): Default to !TARGET_BACKCHAIN.
12474 * config/s390/s390.c (s390_return_addr_rtx): Fail for all but current
12475 frame if !TARGET_BACKCHAIN.
2ffe0e02 12476 * config/s390/s390.md ("allocate_stack"): Use pattern only if
590fcf48
UW
12477 TARGET_BACKCHAIN.
12478 * doc/invoke.texi (-mbackchain/-mno-backchain): Document new default.
12479
826b47cc
ZW
124802004-01-27 Zack Weinberg <zack@codesourcery.com>
12481
12482 * ia64.c (ia64_function_arg): When placing HFAs in integer
12483 registers, do not special case the mode used for complex
12484 types. Do not advance int_regs until the current register
12485 is full.
12486
83810fcb
RS
124872004-01-27 Richard Sandiford <rsandifo@redhat.com>
12488
12489 PR target/7297
12490 * except.c (init_eh): Use a 5-word __jbuf for __builtin_setjmp().
12491
2d9db8eb
DE
124922004-01-27 David Edelsohn <edelsohn@gnu.org>
12493
12494 * config/rs6000/rs6000.c (rs6000_emit_move): #if 0 splitting
12495 slow, unaligned loads and stores while debugging. Fix formatting.
12496
39e453d7
DE
124972004-01-27 David Edelsohn <edelsohn@gnu.org>
12498
12499 * config/rs6000/rs6000.md (save_stack_nonlocal): Use Pmode instead
12500 of computing wmode.
12501 (restore_stack_nonlocal): Same.
12502
6097b0c3 125032004-01-27 Devang Patel <dpatel@apple.com>
826b47cc 12504
6097b0c3 12505 * Makefile.in (dwarf2out.o): Depend on input.h
826b47cc 12506 * dbxout.c (dbx_debug_hooks): Add new empty hook for
6097b0c3
DP
12507 imported_module_or_decl.
12508 (xcoff_debug_hooks): Same.
12509 * sdbout.c (sdb_debug_hooks): Same.
12510 * vmsdbgout.c (vmsdbg_debug_hooks): Same.
12511 * debug.c (do_nothing_debug_hooks): Same.
12512 (debug_nothing_tree_tree): New function.
12513 * debug.h (gcc_debug_hooks): New hook, imported_module_or_decl.
12514 * dwarf2out.c: Include input.h.
12515 (dwarf2_debug_hooks): Add new hook for imported_module_or_decl.
12516 (remove_child_TAG): New function.
12517 (dwarf_tag_name): Handle DW_TAG_imported_module.
12518 (gen_subprogram_die): Equate decl number to declaration die. Do not
12519 remove all children dies while reusing declaration die for definition.
12520 Instead, selectively remove only formal parameters.
12521 (gen_variable_die): Equate variable decl to declaration die.
12522 (gen_field_die): Equate field decl to line number.
12523 (force_namespace_die): Replace it with ...
12524 (force_decl_die): ... this.
12525 (force_type_die): New function.
12526 (setup_namespace_context): Replace use of force_namespace_die() with
12527 force_decl_die().
12528 (gen_namespace_die): Same.
12529 (dwarf2out_imported_module_or_decl): New function.
12530
e6aecf8e 125312004-01-27 Bob Wilson <bob.wilson@acm.org>
826b47cc 12532
e6aecf8e
BW
12533 * config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Remove SUBREG
12534 on CQImode and CHImode incoming arguments in register a7.
12535 (function_arg): Wrap BLKmode argument in register a7 in a PARALLEL.
12536 * config/xtensa/xtensa.h (BLOCK_REG_PADDING): Define.
12537 * config/xtensa/xtensa.md (movdi, movdf): Only call force_reg or
12538 xtensa_copy_incoming_a7 before reload.
826b47cc 12539
02307675
R
125402004-01-27 J"orn Rennecke <joern.rennecke@superh.com>
12541
12542 * coverage.c (get_coverage_counts): Give a different message
12543 if flag_guess_branch_prob is set.
12544 * predict.c (counts_to_freqs): Return an int.
12545 (estimate_bb_frequencies): If counts_to_freqs returns zero,
12546 calculate estimates.
12547
69a45040
KH
125482004-01-27 Kazu Hirata <kazu@cs.umass.edu>
12549
12550 * config/iq2000/iq2000-protos.h: Remove the prototype for
12551 iq2000_setup_incoming_varargs.
12552 * config/iq2000/iq2000.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
12553 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
12554 (TARGET_PROMOTE_PROTOTYPES): Likewise.
12555 (TARGET_STRUCT_VALUE_RTX): Likewise.
12556 (TARGET_RETURN_IN_MEMORY): Likewise.
12557 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
12558 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
12559 (iq2000_return_in_memory): Likewise.
12560 (iq2000_setup_incoming_varargs): Make it static. Receive the
12561 first argument by reference.
12562 * config/iq2000/iq2000.h (PROMOTE_FUNCTION_ARGS): Remove.
12563 (PROMOTE_FUNCTION_RETURN): Likewise.
12564 (PROMOTE_PROTOTYPES): Likewise.
12565 (RETURN_IN_MEMORY): Likewise.
12566 (STRUCT_VALUE): Likewise.
12567 (SETUP_INCOMING_VARARGS): Likewise.
12568 (STRICT_ARGUMENT_NAMING): Likewise.
12569
9cdfc8e7
JM
125702004-01-24 James A. Morrison <ja2morri@uwaterloo.ca>
12571
826b47cc 12572 * fixinc/fixinc.c (test_test): Initialize res.
9cdfc8e7
JM
12573 (start_flexer): Initialize pz_cmd_save.
12574
60ffd2fe
ZW
125752004-01-27 Zack Weinberg <zack@codesourcery.com>
12576
12577 * doc/rtl.texi (Arithmetic): Rewrite entries for PLUS,
12578 SS_PLUS, US_PLUS, LO_SUM, MINUS, SS_MINUS, US_MINUS.
12579
52ad4d7b
ZW
125802004-01-27 Zack Weinberg <zack@codesourcery.com>
12581
12582 PR 7198
12583 * config/ia64/ia64.md (*nmaddsf4, *nmadddf4, *nmadddf4_alts)
12584 (*nmadddf4_trunc, *nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf)
12585 (*nmaddxf4_alts, *nmaddxf4_truncdf_alts):
12586 Rewrite pattern as (minus (op 3) (mult (op 1) (op 2))).
12587 Possibly rename pattern for consistency.
12588 Remove ??? comments suggesting that this be done.
12589 (*nmaddsf4_alts, *nmadddf4_truncsf_alts, *nmaddxf4_truncsf_alts):
12590 New patterns.
12591 (divsi3_internal, divdi3_internal_lat, divdi3_internal_thr)
12592 (divsf3_internal_lat, divsf3_internal_thr, sqrtsf2_internal_thr)
12593 (divdf3_internal_lat, divdf3_internal_thr, sqrtdf2_internal_thr)
12594 (divxf3_internal_lat, divxf3_internal_thr, sqrtxf2_internal_thr):
12595 Update to match.
12596
b034930f
ILT
125972004-01-27 Ian Lance Taylor <ian@wasabisystems.com>
12598
12599 * config/arm/arm.c (output_return_instruction): Only restore IP
12600 into SP if frame_pointer_needed.
12601
be446dfc
EB
126022004-01-27 Eric Botcazou <ebotcazou@libertysurf.fr>
12603
12604 * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
12605 for SCmode and DCmode if ARCH32.
12606 (sparc_va_arg): Handle SCmode and DCmode by reference if ARCH32.
12607 * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for TCmode
12608 if ARCH32.
12609 (BASE_RETURN_VALUE_REG): Return 32 for all FP modes except TFmode
12610 if ARCH32.
12611 (BASE_OUTGOING_VALUE_REG): Likewise.
12612
1b4bda70
EB
126132004-01-27 Eric Botcazou <ebotcazou@libertysurf.fr>
12614
12615 PR target/10904
12616 PR target/13058
12617 * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): New.
12618 Forbid mode changes from SImode for lower FP regs if ARCH64.
12619
1194fc79
R
126202004-01-27 J"orn Rennecke <joern.rennecke@superh.com>
12621
12622 * Makefile.in (bt-load.o): Depend on except.h.
12623 * bt-load.c (except.h): #include.
12624 (compute_defs_uses_and_gen): If insn at end of BB can throw
12625 within this function, consider registers used by it unavailable for
12626 btr migration.
12627 (move_btr_def): If insn at end of BB can throw, insert before rather
12628 than after.
12629
12630 * flags.h (flag_btr_bb_exclusive): Declare.
12631 * toplev.c (flag_btr_bb_exclusive): New variable.
12632 (f_options): Add btr-bb-exclusive.
12633 * bt-load.c (augment_live_range): Restore old behaviour if
12634 flag_btr_bb_exclusive is set.
12635 * common.opt: Add entry for -fbtr-bb-exclusive.
12636 * opts.c (common_handle_options): Same.
12637 * doc/invoke.texi: Document -fbtr-bb-exclusive.
52ad4d7b 12638
1194fc79
R
12639 * bt-load.c (btrs_live_at_end): New variable.
12640 (compute_defs_uses_and_gen): Compute its pointed-to array.
12641 (clear_btr_from_live_range, add_btr_to_live_range): Update it.
12642 (augment_live_range): When augmenting with a new dominator,
12643 use only its btrs_live_at_end set, but also add in the full set
12644 of the old dominator.
12645 (btr_def_live_range): Use btrs_live_at_end.
12646 (move_btr_def): Set other_btr_uses_before_def, and move new set
12647 to the end of the basic block, if appropriate.
12648 (migrate_btr_defs): Allocate and free btrs_live_at_end.
52ad4d7b 12649
1194fc79
R
12650 * bt-load.c (basic_block_freq): Remove outdated comment.
12651
895ea8f0
AM
126522004-01-27 Alan Modra <amodra@bigpond.net.au>
12653
12654 * config/rs6000/rs6000.h: Correct target_flags free bits comment.
12655 (PREDICATE_CODES): Remove duplicate.
12656 * config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define.
12657 (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL.
12658 (MASK_PROFILE_KERNEL): Adjust define.
12659
4137ba7a
JJ
126602004-01-27 Jakub Jelinek <jakub@redhat.com>
12661
12662 * config/i386/i386.c (ix86_constant_alignment): Decrease alignment
12663 of long string literals from 32 bytes to sizeof (void *) when !-Os
12664 and to 1 with -Os.
12665
a4bb41cc
KH
126662004-01-26 Kazu Hirata <kazu@cs.umass.edu>
12667
12668 * config/h8300/h8300.c (h8300_tiny_constant_address_p): Accept
12669 constant addresses in the normal mode.
12670
1c62e7b2
KG
126712004-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12672
12673 * system.h (CHAR_BITFIELD): Delete.
12674 (BOOL_BITFIELD): New.
12675 * c-decl.c (c_scope): Use BOOL_BITFIELD.
12676 * gengtype-lex.l: Recognize BOOL_BITFIELD instead of CHAR_BITFIELD.
12677
96ab60fc
KH
126782004-01-26 Kazu Hirata <kazu@cs.umass.edu>
12679
12680 * config/arc/arc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
12681 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
12682 (TARGET_PROMOTE_PROTOTYPES): Likewise.
12683 (TARGET_STRUCT_VALUE_RTX): Likewise.
12684 (TARGET_RETURN_IN_MEMORY): Likewise.
12685 (arc_return_in_memory): Likewise.
12686 * config/arc/arc.h (PROMOTE_FUNCTION_ARGS): Remove.
12687 (PROMOTE_FUNCTION_RETURN): Likewise.
12688 (RETURN_IN_MEMORY): Likewise.
12689 (STRUCT_VALUE): Likewise.
12690
6d4b0a5d
RH
126912004-01-26 Richard Henderson <rth@redhat.com>
12692
12693 * c-parse.in (extension): Use itype.
12694 (SAVE_EXT_FLAGS): Don't allocate a tree.
12695 (RESTORE_EXT_FLAGS): Don't read a tree.
12696
18874af6
JH
126972004-01-26 Jan Hubicka <jh@suse.cz>
12698
12699 * cselib.c (discard_useless_values): Clear out value pointer pointing
12700 to datastructure to be recycled.
12701
501f88de
JH
127022004-01-25 Jan Hubicka <jh@suse.cz>
12703
12704 * genextract.c (main): Do not output the memset when not checking.
12705
d6456562
KH
127062004-01-26 Kazu Hirata <kazu@cs.umass.edu>
12707
12708 * config/h8300/h8300.c (h8300_tiny_constant_address_p): Use a
12709 switch statement instead of a chain of if statements.
12710
5cea9d5d
JL
127112004-01-26 Jeff Law <law@redhat.com>
12712
12713 * doc/contrib.texi: Minor cleanup for Paolo Carlini's entry. Add
12714 acute accents for Petur Runolfsson's entry.
12715
04e9daaf
KH
127162004-01-26 Kazu Hirata <kazu@cs.umass.edu>
12717
12718 * config/pdp11/pdp11.c (TARGET_STRUCT_VALUE_RTX): New.
12719 (TARGET_RETURN_IN_MEMORY): Likewise.
12720 * config/pdp11/pdp11.h (STRUCT_VALUE): Remove.
12721 (RETURN_IN_MEMORY): Likewise.
12722
40ca90bf 127232004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9 12724
52ad4d7b
ZW
12725 * config/rs6000/rs6000.c (rs6000_emit_move): split slow
12726 unaligned load/store into smaller loads and stores.
6c8066b9 12727
40ca90bf 127282004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9 12729
52ad4d7b
ZW
12730 * function.c (assign_parms): Do not assign
12731 long long argument to memory in prologue if
12732 is it loaded into register.
6c8066b9 12733
40ca90bf 127342004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9
FJ
12735
12736 PR middle-end/13779
52ad4d7b
ZW
12737 * expr.c (emit_group_load): split constant
12738 correctly into register components of PARALLEL insn.
6c8066b9 12739
40ca90bf 127402004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9
FJ
12741
12742 * gcc/config/rs6000/rs6000.md (save_stack_nonlocal):
12743 Use adjust_address_nv directly with appropriate mode.
12744 (restore_stack_nonlocal): Ditto.
12745
4c45af42
KH
127462004-01-26 Kazu Hirata <kazu@cs.umass.edu>
12747
12748 * config/xtensa/xtensa-protos.h: Remove the prototype for
12749 xtensa_builtin_saveregs.
12750 * config/xtensa/xtensa.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
12751 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
12752 (TARGET_PROMOTE_PROTOTYPES): Likewise.
12753 (TARGET_STRUCT_VALUE_RTX): Likewise.
12754 (TARGET_RETURN_IN_MEMORY): Likewise.
12755 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
12756 (xtensa_builtin_saveregs): Make it static.
12757 (xtensa_return_in_memory): New.
12758 * config/xtensa/xtensa.h (PROMOTE_FUNCTION_ARGS: Remove.
12759 (PROMOTE_FUNCTION_RETURN): Likewise.
12760 (PROMOTE_PROTOTYPES): Likewise.
12761 (STRUCT_VALUE): Likewise.
12762 (RETURN_IN_MEMORY): Likewise.
12763 (EXPAND_BUILTIN_SAVEREGS): Likewise.
12764
1cc9f5f5
KH
127652004-01-26 Kazu Hirata <kazu@cs.umass.edu>
12766
12767 * config/arm/arm.c (TARGET_SETUP_INCOMING_VARARGS): New.
12768 (arm_setup_incoming_varargs): Likewise.
12769 * config/arm/arm.h (SETUP_INCOMING_VARARGS): Remove.
12770
558d352a
KH
127712004-01-26 Kazu Hirata <kazu@cs.umass.edu>
12772
12773 * config/cris/cris.c (TARGET_SETUP_INCOMING_VARARGS): New.
12774 (cris_setup_incoming_varargs): Likewise.
12775 * config/cris/cris.h (SETUP_INCOMING_VARARGS): Remove.
12776
2001a5cf
KH
127772004-01-26 Kazu Hirata <kazu@cs.umass.edu>
12778
12779 * config/ns32k/ns32k.c (TARGET_STRUCT_VALUE_RTX): New.
12780 (ns32k_struct_value_rtx): Likewise.
12781 * config/ns32k/ns32k.h (STRUCT_VALUE_REGNUM): Rename to
12782 NS32K_STRUCT_VALUE_REGNUM.
12783
f9ba5949
KH
127842004-01-26 Kazu Hirata <kazu@cs.umass.edu>
12785
12786 * config/arm/arm.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
12787 (TARGET_PROMOTE_PROTOTYPES): Likewise.
12788 (TARGET_STRUCT_VALUE_RTX): Likewise.
12789 (arm_struct_value_rtx): Likewise.
12790 * config/arm/arm.h (PROMOTE_FUNCTION_ARGS): Remove.
12791 (STRUCT_VALUE): Likewise.
12792 (STRUCT_VALUE_REGNUM): Likewise.
12793 (PROMOTE_PROTOTYPES): Likewise.
12794
351a758b
KH
127952004-01-26 Kazu Hirata <kazu@cs.umass.edu>
12796
12797 * config/ia64/ia64-protos.h: Remove the prototype for
12798 ia64_setup_incoming_varargs and ia64_return_in_memory.
12799 * config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): New.
12800 (TARGET_RETURN_IN_MEMORY): Likewise.
12801 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
12802 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
12803 (ia64_setup_incoming_varargs): Adjust the arguments to meet
12804 the requirement of TARGET_SETUP_INCOMING_VARARGS.
12805 (ia64_return_in_memory): Make it static. Change the return
12806 type to bool from int. Add an argument.
12807 (ia64_struct_value_rtx): New.
12808 * config/ia64/ia64.h: Remove commented-out definitions of
12809 PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN, and
12810 PROMOTE_PROTOTYPES.
12811 (RETURN_IN_MEMORY): Remove.
12812 (STRUCT_VALUE_REGNUM): Likewise.
12813 (STRICT_ARGUMENT_NAMING): Likewise.
12814
a7bba6ca
EB
128152004-01-26 Eric Botcazou <ebotcazou@libertysurf.fr>
12816
12817 PR target/13666
12818 * config/sparc/sparc.c (function_arg_union_value): New function.
12819 (function_arg): Use it to deal with unions.
12820 (function_value): Likewise. Define 'regbase' only for ARCH64.
12821 Replace a conditional statement by a simpler one.
12822
6865f4cd
RS
128232004-01-26 Richard Sandiford <rsandifo@redhat.com>
12824
12825 * config/mips/mips.c (mips16_optimize_gp): Delete.
12826 (mips_reorg): Don't call it.
12827
2d6d0eb5
MH
128282004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12829
12830 * config/c4x/c4x.md (addqi3_noclobber): Move up pecking order.
12831 (floatunsqihf2): Remove operand 6.
12832 (fixhfqi_set, fix_trunchfqi2, fixuns_trunchfqi2): Group with other
12833 fix patterns.
12834 (ldi_conditional, ldf_conditional): Validate operands.
12835
8f422192
MH
128362004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12837
12838 * config/c4x/c4x.h (BCT_CHECK_LOOP_ITERATIONS): Remove.
12839 (HAVE_GAS_HIDDEN): Undefine as interim measure.
52ad4d7b 12840
9c3602e4
MH
128412004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12842
12843 * config/c4x/c4x.c (c4x_legitimate_address_p): Invalidate direct
12844 memory references if TARGET_EXPOSE_LDP nonzero.
12845
a026b9d6
MH
128462004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12847
12848 * config/c4x/c4x.c (legitimize_operands): Truncate invalid shift counts.
52ad4d7b 12849
b7bbb574
MH
128502004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12851
12852 * config/c4x/c4x.c (c4x_valid_operands): More aggressively reject
12853 invalid operand combinations.
12854
1e903c61
MH
128552004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12856
12857 * config/c4x/c4x.c (c4x_check_legit_addr): Rename to
12858 c4x_legitimate_address_p. Fix post_modify check.
b7bbb574 12859
1e903c61
MH
12860 * config/c4x/c4x-protos.h (c4x_check_legit_addr): Adjust.
12861 * config/c4x/c4x.h (c4x_check_legit_addr): Adjust.
52ad4d7b 12862
3f12cd9b
KH
128632004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12864
12865 * config/pa/pa-protos.h: Remove the prototype for
12866 hppa_builtin_saveregs. Add a prototype for
12867 pa_return_in_memory.
12868 * config/pa/pa.c (TARGET_PROMOTE_FUNCTION_RETURN): New.
12869 (TARGET_PROMOTE_PROTOTYPES): Likewise.
12870 (TARGET_STRUCT_VALUE_RTX): Likewise.
12871 (TARGET_RETURN_IN_MEMORY): Likewise.
12872 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
12873 (pa_struct_value_rtx): Likewise.
12874 (pa_return_in_memory): Likewise.
12875 * config/pa/pa.h (STRUCT_VALUE_REGNUM): Rename to
12876 PA_STRUCT_VALUE_REGNUM.
12877 (INIT_CUMULATIVE_ARGS): Use pa_return_in_memory.
12878 (EXPAND_BUILTIN_SAVEREGS): Remove.
12879 (PROMOTE_PROTOTYPES): Likewise.
12880 (PROMOTE_FUNCTION_RETURN): Likewise.
12881
f289e226
KH
128822004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12883
12884 * config/vax/vax.c (TARGET_PROMOTE_PROTOTYPES): New.
12885 (TARGET_STRUCT_VALUE_RTX): Likewise.
12886 (vax_struct_value_rtx): Likewise.
12887 * config/vax/vax.h (STRUCT_VALUE_REGNUM): Rename to
12888 VAX_STRUCT_VALUE_REGNUM.
12889 (PROMOTE_PROTOTYPES): Remove.
12890
12fb52cf 128912004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
52ad4d7b
ZW
12892
12893 * config/c4x/c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Handle symref.
12894
fdcf1e1e
CD
128952003-04-25 Chris Demetriou <cgd@broadcom.com>
12896
12897 * config/mips/mips.h (ISA_HAS_HILO_INTERLOCKS): MIPS32, MIPS32r2,
12898 and MIPS64 have HI/LO interlocks. Update comment.
12899
7e43c821
KH
129002004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12901
12902 * config/stormy16/stormy16-protos.h: Remove the prototype for
12903 xstormy16_setup_incoming_varargs.
12904 * config/stormy16/stormy16.c
12905 (xstormy16_setup_incoming_varargs): Remove.
12906 (xstormy16_return_in_memory): New.
12907 (TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
12908 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
12909 (TARGET_PROMOTE_PROTOTYPES): Likewise.
12910 (TARGET_STRUCT_VALUE_RTX): Likewise.
12911 (TARGET_RETURN_IN_MEMORY): Likewise.
12912 * config/stormy16/stormy16.h (PROMOTE_FUNCTION_ARGS): Remove.
12913 (PROMOTE_FUNCTION_RETURN): Likewise
12914 (PROMOTE_PROTOTYPES): Likewise
12915 (RETURN_IN_MEMORY): Likewise
12916 (STRUCT_VALUE): Likewise
12917 (SETUP_INCOMING_VARARGS): Likewise
12918
62973ffe
RS
129192004-01-25 Richard Sandiford <rsandifo@redhat.com>
12920
12921 * config/mips/mips.c (mips_offset_within_object_p): New function.
12922 (mips_symbolic_constant_p): Use it in the SYMBOL_SMALL_DATA and
12923 SYMBOL_CONSTANT_POOL cases. Also use it for SYMBOL_GENERAL if the
12924 ABI has 64-bit pointers and the object file only allows 32-bit symbols.
12925
8e67da21
KH
129262004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12927
12928 * config/sh/sh.h (PROMOTE_FUNCTION_ARGS): Remove.
12929 (PROMOTE_FUNCTION_RETURN): Likewise.
12930
9024ea92
KH
129312004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12932
12933 * config/mn10300/mn10300-protos.h: Remove the prototype for
12934 mn10300_builtin_saveregs.
12935 * config/mn10300/mn10300.c (TARGET_PROMOTE_PROTOTYPES): New.
12936 (TARGET_STRUCT_VALUE_RTX): Likewise.
12937 (TARGET_RETURN_IN_MEMORY): Likewise.
12938 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
12939 (mn10300_return_in_memory): Likewise.
12940 (mn10300_builtin_saveregs): Make it static.
12941 * config/mn10300/mn10300.h (PROMOTE_PROTOTYPES): Remove.
12942 (RETURN_IN_MEMORY): Likewise.
12943 (STRUCT_VALUE): Likewise.
12944 (EXPAND_BUILTIN_SAVEREGS): Likewise.
12945
20b4e8ae
EB
129462004-01-25 Eric Botcazou <ebotcazou@act-europe.fr>
12947
12948 PR bootstrap/13853
12949 * cfgcleanup.c (try_optimize_cfg): Explicitly test against 0.
12950
cff555dc
KH
129512004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12952
12953 * config/h8300/lib1funcs.asm (divnorm, modnorm): Optimize by
12954 using ccr.
12955
30f58b01
KH
129562004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12957
12958 * config/i860/i860-protos.h: Remove the prototype for
12959 i860_saveregs.
12960 * config/i860/i860.c (i860_saveregs): Make it static.
12961 (i860_struct_value_rtx): New.
12962 (TARGET_STRUCT_VALUE_RTX): Likewise.
12963 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
12964 * config/i860/i860.h (STRUCT_VALUE_REGNUM): Rename to
12965 I860_STRUCT_VALUE_REGNUM.
12966 (EXPAND_BUILTIN_SAVEREGS): Remove.
12967
341ec191
KH
129682004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12969
12970 * config/m68hc11/m68hc11.c (TARGET_STRUCT_VALUE_RTX): New.
12971 (TARGET_RETURN_IN_MEMORY): Likewise.
12972 (m68hc11_struct_value_rtx): Likewise.
12973 (m68hc11_return_in_memory): Likewise.
12974 * config/m68hc11/m68hc11.h: Remove a commented-out definition
12975 of PROMOTE_PROTOTYPES.
12976 (RETURN_IN_MEMORY): Remove.
12977 (STRUCT_VALUE_REGNUM): Likewise.
12978
344caf1b
KH
129792004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12980
12981 * config/mmix/mmix-protos.h: Remove the prototype for
12982 mmix_setup_incoming_varargs.
12983 * config/mmix/mmix.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
12984 (TARGET_STRUCT_VALUE_RTX): Likewise.
12985 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
12986 (mmix_setup_incoming_varargs): Make it static.
12987 (mmix_struct_value_rtx): New.
12988 * config/mmix/mmix.h (PROMOTE_FUNCTION_ARGS): Remove.
12989 Remove a commented-out definition of PROMOTE_FUNCTION_RETURN.
12990 (STRUCT_VALUE_REGNUM): Remove.
12991 (SETUP_INCOMING_VARARGS): Likewise.
12992
0c8da560
KH
129932004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12994
12995 * config/mips/mips-protos.h: Remove the prototypes for
12996 mips_setup_incoming_varargs and mips_return_in_memory.
12997 * config/mips/mips.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
12998 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
12999 (TARGET_PROMOTE_PROTOTYPES): Likewise.
13000 (TARGET_STRUCT_VALUE_RTX): Likewise.
13001 (TARGET_RETURN_IN_MEMORY): Likewise.
13002 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
13003 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
13004 (mips_setup_incoming_varargs): Match the prototype for
13005 TARGET_SETUP_INCOMING_VARARGS.
13006 (mips_return_in_memory): Make it static. Add argument fntype.
13007 (mips_strict_argument_naming): New.
13008 * config/mips/mips.h (PROMOTE_PROTOTYPES): Remove.
13009 (PROMOTE_FUNCTION_ARGS): Likewise.
13010 (PROMOTE_FUNCTION_RETURN): Likewise.
13011 (STRUCT_VALUE): Likewise.
13012 (RETURN_IN_MEMORY): Likewise.
13013 (SETUP_INCOMING_VARARGS): Likewise.
13014 (STRICT_ARGUMENT_NAMING): Likewise.
13015
49ca372c
KH
130162004-01-25 Kazu Hirata <kazu@cs.umass.edu>
13017
13018 * config/ip2k/ip2k.c (TARGET_STRUCT_VALUE_RTX): New.
13019 (TARGET_RETURN_IN_MEMORY): Likewise.
13020 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
13021 (ip2k_return_in_memory): Likewise.
13022 (ip2k_setup_incoming_varargs): Likewise.
13023 * config/ip2k/ip2k.h (RETURN_IN_MEMORY): Remove.
13024 (STRUCT_VALUE): Likewise.
13025 (STRUCT_VALUE_INCOMING): Likewise.
13026 (SETUP_INCOMING_VARARGS): Likewise.
13027
b069302c
KH
130282004-01-25 Kazu Hirata <kazu@cs.umass.edu>
13029
13030 * config/avr/avr.c (TARGET_STRUCT_VALUE_RTX): New.
13031 (TARGET_RETURN_IN_MEMORY): Likewise.
13032 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
13033 (avr_return_in_memory): Remove.
13034 * config/avr/avr.h (RETURN_IN_MEMORY): Remove.
13035 (STRUCT_VALUE): Likewise.
13036 (STRUCT_VALUE_INCOMING): Likewise.
13037 (STRICT_ARGUMENT_NAMING): Likewise.
13038
e6d83128
JH
130392004-01-25 Jan Hubicka <jh@suse.cz>
13040
13041 * combine.c (recog_for_combine): Avoid allocating unnecesary RTX.
13042
bcbc6b7f
RS
130432004-01-25 Richard Sandiford <rsandifo@redhat.com>
13044
13045 * config/mips/mips-protos.h (mips_reg_mode_ok_for_base_p): Delete.
13046 (mips_regno_mode_ok_for_base_p): Declare.
13047 * config/mips/mips.h (ARG_POINTER_REGNUM): Renumber to 77.
13048 (FRAME_POINTER_REGNUM): Renumber to 78.
13049 (FIRST_PSEUDO_REGISTER): Update comment accordingly.
13050 (BASE_REG_P, GP_REG_OR_PSEUDO_STRICT_P): Delete.
13051 (GP_REG_OR_PSEUDO_NONSTRICT_P): Delete.
13052 (REGNO_MODE_OK_FOR_BASE_P): Use mips_regno_mode_ok_for_base_p.
13053 (REG_MODE_OK_FOR_BASE_P): Likewise.
13054 * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Change
13055 entry for 77 to "$arg" and entry for 78 to "$frame".
13056 (mips_regno_to_class): Map 77 and 78 to ALL_REGS.
13057 (mips_reg_mode_ok_for_base_p): Remove.
13058 (mips_regno_mode_ok_for_base_p): New function, derived from old
13059 BASE_REG_P macro. Don't enforce the mips16 stack pointer
13060 restrictions unless we're being strict.
13061 (mips_valid_base_register_p): Use mips_regno_mode_ok_for_base_p.
13062
1f52178b
KH
130632004-01-24 Kazu Hirata <kazu@cs.umass.edu>
13064
13065 * c-common.h: Fix comment typos.
13066 * c-decl.c: Likewise.
13067 * cgraphunit.c: Likewise.
13068 * combine.c: Likewise.
13069 * et-forest.c: Likewise.
13070 * flow.c: Likewise.
13071 * function.c: Likewise.
13072 * ifcvt.c: Likewise.
13073 * integrate.c: Likewise.
13074 * jump.c: Likewise.
13075 * postreload.c: Likewise.
13076 * varray.c: Likewise.
13077
56ae1316
KH
130782004-01-24 Kazu Hirata <kazu@cs.umass.edu>
13079
13080 * doc/frontends.texi: Update copyright.
13081 * doc/gcov.texi: Likewise.
13082 * doc/gty.texi: Likewise.
13083 * doc/sourcebuild.texi: Likewise.
13084 * doc/standards.texi: Likewise.
13085
b1dccb28
HB
130862004-01-24 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
13087
13088 PR target/12978
13089 * c4x.md: (movstrqi*) Use match_scratch instead of match_dup.
13090 Remove movstrqi_small because it conflicts with movstrqi_large.
13091
a2fef3a4
KH
130922004-01-24 Kazu Hirata <kazu@cs.umass.edu>
13093
13094 * config/cris/cris.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
13095 (TARGET_STRUCT_VALUE_RTX): Likewise.
13096 (cris_struct_value_rtx): Likewise.
13097 * config/cris/cris.h (PROMOTE_FUNCTION_ARGS): Remove.
13098 (CRIS_STACKADJ_REG): Use CRIS_STRUCT_VALUE_REGNUM instead of
13099 STRUCT_VALUE_REGNUM.
13100 (STRUCT_VALUE_REGNUM): Rename to CRIS_STRUCT_VALUE_REGNUM.
13101
1f44254c
ILT
131022004-01-24 Ian Lance Taylor <ian@wasabisystems.com>
13103
13104 PR bootstrap/13848
13105 * cse.c (cse_cc_succs): Change the mode of the source expression
13106 as soon as decide we need a new mode. Don't permit changing modes
13107 if we found a match in a successor block.
13108 (cse_condition_code_reg): Save original mode of source expression
13109 so that we know whether we have to change the mode in other
13110 insns.
13111
fdb1c7b3
JH
131122004-01-24 Jan Hubicka <jh@suse.cz>
13113
13114 * emit-rtl.c (change_address, adjust_address_1, offset_address,
13115 widen_memory_access): Return early when there is nothing to change.
13116
5473cfa7
JJ
131172004-01-24 Jakub Jelinek <jakub@redhat.com>
13118
13119 * simplify-rtx.c (simplify_relational_operation): Don't
13120 simplify address == constant into address + -constant == 0.
13121
a5153056
KH
131222004-01-24 Kazu Hirata <kazu@cs.umass.edu>
13123
13124 * gcc.c (process_command): Don't internationalize the
13125 Copyright message.
13126 * mips-tfile.c (main): Likewise.
13127
174b84e5
AT
131282004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
13129
13130 * cse.c: (cse_cc_succs) Fix comparison warning.
13131
16537909
KH
131322004-01-24 Kazu Hirata <kazu@cs.umass.edu>
13133
13134 * config/h8300/h8300.md: Remove extraneous USE in expanders.
13135
d0022200
KH
131362004-01-24 Kazu Hirata <kazu@cs.umass.edu>
13137
13138 * config/h8300/h8300-protos.h: Provide prototypes for
13139 h8300_legitimate_constant_p and h8300_legitimate_address_p.
13140 * config/h8300/h8300.c (h8300_legitimate_constant_p): New.
13141 (h8300_rtx_ok_for_base_p): Likewise.
13142 (h8300_legitimate_address_p): Likewise.
13143 * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Use
13144 h8300_legitimate_constant_p.
13145 (RTX_OK_FOR_BASE_P): Remove.
13146 (GO_IF_LEGITIMATE_ADDRESS): Use h8300_legitimate_address_p.
13147
ca04c5a9
KH
131482004-01-24 Kazu Hirata <kazu@cs.umass.edu>
13149
13150 * config/h8300/h8300.h (REG_OK_FOR_INDEX_NONSTRICT_P): New.
13151 (REG_OK_FOR_BASE_NONSTRICT_P): Likewise.
13152 (REG_OK_FOR_INDEX_STRICT_P): Likewise.
13153 (REG_OK_FOR_BASE_STRICT_P): Likewise.
13154 (REG_OK_FOR_INDEX_STRICT_P): Use REGNO_OK_FOR_INDEX_P.
13155 (REG_OK_FOR_BASE_STRICT_P): Use REGNO_OK_FOR_BASE_P.
13156 (REG_OK_FOR_INDEX_P): Use REG_OK_FOR_INDEX_STRICT_P.
13157 (REG_OK_FOR_BASE_P): Use REG_OK_FOR_BASE_STRICT_P.
13158
3e2a0bd2
JH
131592004-01-24 Jan Hubicka <jh@suse.cz>
13160
13161 * cselib.c (remove_useless_values): Do not access discarded values.
13162
b1adf557
JM
131632004-01-24 Joseph S. Myers <jsm@polyomino.org.uk>
13164
13165 * c-typeck.c (build_conditional_expr): Do not allow non-lvalue
13166 arrays.
13167
55cd4633
KH
131682004-01-23 Kazu Hirata <kazu@cs.umass.edu>
13169
13170 * recog.c: Fix a typo in copyright.
13171
bbf294a5
AP
131722004-01-23 Andrew Pinski <apinski@apple.com>
13173
13174 * config/rs6000/rs6000.md (call): Fix misappiled patch.
13175 (call_value): Likewise.
13176
a475bff7
RH
131772004-01-23 Richard Henderson <rth@redhat.com>
13178
52ad4d7b
ZW
13179 PR opt/12941
13180 * combine.c (SHIFT_COUNT_TRUNCATED): Provide default value.
13181 (simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0)
13182 if SHIFT_COUNT_TRUNCATED is set.
a475bff7 13183
3712281f
BW
131842004-01-23 Bob Wilson <bob.wilson@acm.org>
13185
13186 * config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as
13187 separate real and imaginary parts.
13188 * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define.
13189
99e5c00b
HP
131902004-01-23 Hartmut Penner <hpenner@de.ibm.com>
13191
13192 PR target/13674
13193 * config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage
13194 loading into GPR.
13195
8b07361e
JH
131962004-01-23 Jan Hubicka <jh@suse.cz>
13197
a74ff877
JH
13198 * emit-rtl.c (change_address_1): Do not re-generate the RTX if nothing
13199 change.
13200
8b07361e
JH
13201 * alloc-pool.c (align_four): Kill.
13202 (create_alloc_pool): Align size to eight.
13203 (free_alloc_pool, free_pool): Invalidate deallocated data.
13204
e129d93a
ILT
132052004-01-23 Ian Lance Taylor <ian@wasabisystems.com>
13206
13207 PR gcc/1532
13208 * cse.c (cse_change_cc_mode): New static function.
13209 (cse_change_cc_mode_insns, cse_cc_succs): Likewise.
13210 (cse_condition_code_reg): New function.
13211 * rtl.h (cse_condition_code_reg): Declare.
13212 * toplev.c (rest_of_handle_cse2): Call cse_condition_code_reg.
13213 * target.h (struct gcc_target): Add fixed_condition_code_regs and
13214 cc_modes_compatible.
13215 * target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define.
13216 (TARGET_CC_MODES_COMPATIBLE): Define.
13217 (TARGET_INITIALIZER): Add new initializers.
13218 * targhooks.c (default_cc_modes_compatible): New function.
13219 * targhooks.c (default_cc_modes_compatible): Declare.
13220 * hooks.c (hook_bool_intp_intp_false): New function.
13221 * hooks.h (hook_bool_intp_intp_false): Declare.
13222 * config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
13223 (TARGET_CC_MODES_COMPATIBLE): Define.
13224 (ix86_fixed_condition_code_regs): New static function.
13225 (ix86_cc_modes_compatible): Likewise.
13226 * doc/tm.texi (Condition Code): Document new hooks.
13227
f6c930a3
RO
132282004-01-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13229
13230 * fixinc/inclhack.def (bad_lval): Renamed to ...
13231 (alpha_bad_lval): ... this.
13232 Removed file list.
13233 Restrict to alpha*-dec-osf*.
13234 * fixinc/fixincl.x: Regenerate.
13235 * fixinc/tests/base/dirent.h: Remove, moving test ...
13236 * fixinc/tests/base/testing.h: ... here, reflecting new name.
13237
04b8f97f
ZW
132382004-01-23 Zack Weinberg <zack@codesourcery.com>
13239
30cab869 13240 PR c/13814
04b8f97f
ZW
13241 * c-decl.c (diagnose_mismatched_decls): Also discard a
13242 built-in if we encounter an old-style definition with the
13243 same name.
13244
1ab1739c
JJ
132452004-01-23 Jakub Jelinek <jakub@redhat.com>
13246
13247 * config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was
13248 set to default{32,64}.
13249
02731d29
JJ
132502004-01-21 Jakub Jelinek <jakub@redhat.com>
13251
13252 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR)
13253 [!__powerpc64__]: Corrected to handle kernels with changed ucontext.
13254
0a944ef6 132552004-01-23 Eric Botcazou <ebotcazou@act-europe.fr>
04b8f97f 13256 Olivier Hainque <hainque@act-europe.fr>
0a944ef6
EB
13257
13258 * fold-const.c (fold_binary_op_with_conditional_arg): Only
13259 build a COMPOUND_EXPR if 'arg' is really a SAVE_EXPR.
13260
0bfb39ef
DJ
132612004-01-23 Daniel Jacobowitz <drow@mvista.com>
13262
13263 * config/arm/arm.c (arm_legitimate_address_p): Don't check the mode
13264 size for minipool references.
13265
25348c94
RS
132662004-01-23 Roger Sayle <roger@eyesopen.com>
13267
13268 * real.c (real_floor, real_ceil): Tweak to allow input and output
13269 arguments to overlap.
13270 (real_round): New function to implement round(3m) semantics.
13271 * real.h (real_round): Prototype here.
13272 * builtins.c (fold_builtin_round): New function to constant fold
13273 round, roundf and roundl.
13274 (fold_builtin): Call fold_builtin_round for BUILT_IN_ROUND{,F,L}.
13275
0f2b41b2
AO
132762004-01-23 Alexandre Oliva <aoliva@redhat.com>
13277
13278 PR optimization/13819
04b8f97f 13279 * config/sh/sh.c (sh_reorg): Compensate for sharing of CLOBBERs
0f2b41b2
AO
13280 introduced by 2004-01-20's Jan Hubicka's copy_insn change.
13281 (sh_handle_sp_switch_attribute): Remove warning.
13282
72613dfa
JH
132832003-11-30 Jan Hubicka <jh@suse.cz>
13284
13285 * i386.c (ix86_emit_restore_regs_using_mov): Deal with large offsets.
13286
7be4d808
R
132872004-01-23 J"orn Rennecke <joern.rennecke@superh.com>
13288
13289 * doc/tm.texi: Insert some weasel words when LOAD_EXTEND_OP
13290 may or may not return non-NIL.
13291 * postreload.c (reload_cse_simplify_operands): In LOAD_EXTEND_OP code,
13292 check CANNOT_CHANGE_MODE_CLASS
13293
23bd7a93
JH
132942004-01-23 Jan Hubicka <jh@suse.cz>
13295
13296 * basic-block.h (PROP_POSTRELOAD): New macro.
13297 (CLEANUP_LOG_LINKS): New.
13298 * cfgcleanup.c (cleanup_cfg): Only PROP_LOG_LINKS when asked to.
13299 * toplev.c (rest_of_handle_life): Preserve LOG_LINKS trought cleanup_cfg.
13300
13301 * cselib.c (value_pool): New.
13302 (new_cselib_val): Use pool.
13303 (cselib_init): Initialize value_pool
13304 (cselib_finish): Free pool.
13305
5c4f4b18
EB
133062004-01-23 Eric Botcazou <ebotcazou@libertysurf.fr>
13307
13308 * config/sparc/sparc.c (scan_record_type): New function.
13309 (function_arg_slotno): Use it to determine which kinds of
13310 registers the record can be passed in.
13311
95f576c1
JM
133122004-01-22 James A. Mmorrison <ja2morri@uwaterloo.ca>
13313
13314 * config/pa/fptr.c: Fix old-style definition.
13315
4c442790
PB
133162004-01-22 Paolo Bonzini <bonzini@gnu.org>
13317
13318 PR optimization/13724
13319 * cse.c (fold_rtx) <SUBREG>: Fold a SUBREG to zero if it
13320 represents the zero bits produced by a ZERO_EXTEND operation.
13321
dc4bbaf7
RS
133222004-01-22 Roger Sayle <roger@eyesopen.com>
13323
13324 PR optimization/13821
13325 * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset to
13326 correctly calculate the lowpart offset of the contracted subreg.
13327
b00567b0
ILT
133282004-01-22 Ian Lance Taylor <ian@wasabisystems.com>
13329
13330 * doc/invoke.texi (Optimize Options): Note that --param arguments
13331 are subject to change without notice.
13332
d0d969f8
RO
133332004-01-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13334
13335 * config.gcc (mips-sgi-irix6*o32): Removed.
13336 * config/mips/iris6-o32-as.h: Likewise.
13337 * config/mips/iris6-o32-gas.h: Likewise.
13338 * config/mips/iris6-o32.h: Likewise.
13339
7cf240d5
JH
133402004-01-22 Jan Hubicka <jh@suse.cz>
13341
13342 * cfgcleanup.c (first_pass): New static variable.
13343 (try_forward_edges): Add work limiting check for threading.
13344 (try_crossjump_bb): Add work limiting check for crossjumping.
13345 (try_optimize_cfg): Maintain first pass variable.
13346
b16417d6
BW
133472004-01-22 Bob Wilson <bob.wilson@acm.org>
13348
13349 * config/xtensa/xtensa.c (function_arg): Generalize logic so that it
13350 handles complex and vector modes.
13351
c8796654
KH
133522004-01-22 Kazu Hirata <kazu@cs.umass.edu>
13353
13354 * config/h8300/h8300.h (REG_OK_FOR_INDEX_P_STRICT): Remove.
13355 (REG_OK_FOR_BASE_P_STRICT): Likewise.
13356 (STRICT): Likewise.
13357
10176e28
DJ
133582004-01-22 Daniel Jacobowitz <drow@mvista.com>
13359
13360 * c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1)
13361 (genrtl_for_stmt): Remove emit_nop calls.
13362
7bff636b
JDA
133632004-01-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13364
13365 PR target/13713
13366 PR target/13324
13367 * pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload,
13368 movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload,
13369 clrstrdi_prereload, clrstrdi_postreload): Fix constraints.
13370
980e61bb
DJ
133712004-01-22 Daniel Jacobowitz <drow@mvista.com>
13372
13373 * config/arm/arm.c: Include "debug.h".
04b8f97f 13374 (thumb_pushpop): Take two new arguments. Add some commentary.
980e61bb
DJ
13375 Output frame information when pushing.
13376 (thumb_exit, thumb_unexpanded_epilogue): Update calls to
13377 thumb_pushpop.
13378 (thumb_output_function_prologue): Likewise. Accumulate a CFA
13379 offset, and pass it to thumb_pushpop. Output CFI information.
13380 (thumb_expand_prologue): Add some frame-related markers and notes.
13381
0067d121
UW
133822004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
13383
13384 * config/s390/s390.c (s390_frame_info): Allow large frame sizes
13385 for TARGET_64BIT.
13386 (s390_arg_frame_offset): Change return type to HOST_WIDE_INT.
13387 * config/s390/s390-protos.h (s390_arg_frame_offset): Likewise.
13388
bb51e270
RS
133892004-01-22 Roger Sayle <roger@eyesopen.com>
13390 Paolo Bonzini <bonzini@gnu.org>
13391
13392 * rtlanal.c (subreg_lsb_1): New function split out from subreg_lsb.
13393 (subreg_lsb): Change to call new subreg_lsb_1 helper function.
13394 * rtl.h (subreg_lsb_1): Prototype here.
13395 * simplify-rtx.c (simplify_subreg): Optimize subregs of zero and
13396 sign extensions.
13397
9c49953c
KH
133982004-01-22 Kazu Hirata <kazu@cs.umass.edu>
13399
13400 * doc/tm.texi (CASE_VECTOR_PC_RELATIVE): Mention that the
13401 macro need not be defined if jump-tables should contain
13402 relative addresses only when -fPIC or -fPIC is in effect.
13403
c582d54a
JH
134042004-01-22 Jan Hubicka <jh@suse.cz>
13405
13406 * alias.c (reg_base_value): Turn into varray.
13407 (reg_base_value_size): Kill.
13408 (old_reg_base_value): New deletable varray.
13409 (alias_invariant_size): New variable.
13410 (REG_BASE_VALUE): Update to use varray.
13411 (find_base_value): Likewise.
13412 (record_set): Likewise.
13413 (record_base_value): Likewise.
13414 (memrefs_conflict_p): Likewise.
13415 (record_set): Likewise
13416 (record_base_value): Likewise.
13417 (memrefs_conflict_p): Use alias_invariant_size.
13418 (init_alias_analysis): Use varray; set alias_invariant_size;
13419 rescale other arrays to be sized by maxreg.
13420 (end_alias_analysis): Save reg_base_value; clear alias_invariant_size.
13421
8a98812c
EB
134222004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr>
13423
13424 * config/sparc/sparc.c (function_arg_slotno): Use
13425 FLOAT_TYPE_P to detect FP fields in structures.
13426 (function_arg_record_value_1): Likewise.
13427 (function_arg_record_value_2): Likewise.
13428
0de456a5
JH
134292004-01-22 Jan Hubicka <jh@suse.cz>
13430
13431 * function.c (allocate_struct_function): Do not initialize expr, emit
13432 and varasm.
13433 (prepare_function_start): Do it here.
13434 * c-parse.in (maybe_type_qual): Do not produce line number notes.
13435
1fd05073
EB
134362004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr>
13437
13438 PR target/13559
13439 * config/sparc/sparc.c (function_arg_record_value_3): Revert
13440 to 'word_mode' once the first slot has been filled.
13441
b2f24c85
EB
134422004-01-22 Olivier Hainque <hainque@act-europe.fr>
13443
13444 * config/sparc/sparc.c (function_arg_record_value_1): Fix
13445 computation of the number of integer registers required.
13446
b4e0dd8e
KH
134472004-01-21 Kazu Hirata <kazu@cs.umass.edu>
13448
13449 * config/i386/i386.md: Simplify certain comparisons of
13450 const_int.
13451
5cc5eddc
AP
134522004-01-21 Andrew Pinski <apinski@apple.com>
13453
13454 PR target/13785
04b8f97f 13455 * config/rs6000/rs6000.md (call_value): Force operand
5cc5eddc
AP
13456 1 not operand 0 into a register.
13457
711d8c91
KH
134582004-01-21 Kazu Hirata <kazu@cs.umass.edu>
13459
13460 * cpperror.c, cpptrad.c, longlong.h, params.def, rtl.def,
13461 unwind-dw2-fde.h: Update copyright.
13462
d1885651
JDA
134632004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13464
13465 * pa-protos.h: Update copyright.
13466 * pa.h: Likewise.
13467 * pa.md: Likewise.
13468
40ca90bf 134692004-01-21 Caroline Tice <ctice@apple.com>
ec13ba83 13470
6ed854f1 13471 PR target/12308
04b8f97f 13472 * config/i386/i386.md (fix_truncxfdi2): Add clause to clobber
ec13ba83
CT
13473 flags register.
13474 (fix_truncdfdi2): Likewise.
13475 (fix_truncsfdi2): Likewise.
13476 (*fix_truncdi_1): Likewise.
13477 (fix_truncxfsi2): Likewise.
13478 (fix_truncdfsi2): Likewise.
13479 (fix_truncsfsi2): Likewise.
13480 (*fix_truncsi_1): Likewise.
13481 (fix_truncxfhi2): Likewise.
13482 (fix_truncdfhi2): Likewise.
13483 (fix_truncsfhi2): Likewise.
13484 (*fix_trunchi_1): Likewise.
04b8f97f 13485
d9221e01
KH
134862004-01-21 Kazu Hirata <kazu@cs.umass.edu>
13487
13488 * alias.c, basic-block.h, c-common.c, c-common.h,
13489 c-cppbuiltin.c, c-opts.c, c-pragma.c, c-pretty-print.c,
13490 calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c,
13491 combine.c, cppcharset.c, cpphash.h, cppinit.c, cpplib.c,
13492 cpplib.h, cppmacro.c, crtstuff.c, cselib.c, cselib.h,
13493 defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c,
13494 expr.h, fix-header.c, function.h, gcc.c, gcse.c, genattrtab.c,
13495 genautomata.c, genconditions.c, genemit.c, genflags.c,
13496 gengtype.c, gengtype.h, genopinit.c, genrecog.c, gensupport.c,
13497 ggc-zone.c, graph.c, haifa-sched.c, input.h, integrate.c,
13498 langhooks-def.h, langhooks.c, langhooks.h, line-map.c,
13499 line-map.h, local-alloc.c, optabs.c, optabs.h, postreload.c,
13500 ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c,
13501 rtl.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h,
13502 target.h, targhooks.c, toplev.h, tree-inline.c, unwind-pe.h,
13503 unwind.h, varray.c, varray.h: Update copyright.
13504
6d6b0a12
KH
135052004-01-21 Kazu Hirata <kazu@cs.umass.edu>
13506
13507 * config/h8300/coff.h: Update copyright.
13508 * config/h8300/elf.h: Likewise.
13509 * config/h8300/h8300-protos.h: Likewise.
13510 * config/h8300/h8300.c: Likewise.
13511 * config/h8300/h8300.h: Likewise.
13512 * config/h8300/h8300.md: Likewise.
13513
4b60eb3b
JDA
135142004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13515
13516 * fixinc/inclhack.def (hpux10_stdio_declarations, ultrix_const3,
13517 ultrix_locale, ultrix_stdlib, ultrix_strings, ultrix_sys_time,
13518 ultrix_unistd): New hacks.
13519 * fixinc/tests/base/stdio.h (HPUX10_STDIO_DECLARATIONS_CHECK,
13520 ULTRIX_CONST2_CHECK): Add checks.
13521 * fixinc/tests/base/stdlib.h (ULTRIX_STDLIB_CHECK): Likewise.
13522 * fixinc/tests/base/strings.h (ULTRIX_STRINGS2_CHECK): Likewise.
13523 * fixinc/tests/base/unistd.h (ULTRIX_UNISTD_CHECK): Likewise.
13524 * fixinc/tests/base/sys/time.h (ULTRIX_SYS_TIME_CHECK): Likewise.
13525 * fixinc/tests/base/locale.h: New file.
13526 * fixinc/fixincl.x: Rebuilt.
13527
bbf5a54d
AJ
135282004-01-21 Andreas Jaeger <aj@suse.de>
13529 Michael Matz <matz@suse.de>
13530
13531 * doc/extend.texi (Extended Asm): Clarify memory clobber.
13532
bfccaa6f
JJ
135332004-01-21 Jakub Jelinek <jakub@redhat.com>
13534
13535 * crtstuff.c (frame_dummy, __do_global_ctors_1): Call
13536 _Jv_RegisterClasses through a function pointer.
13537
c3cda381
FH
135382004-01-21 Falk Hueffner <falk@debian.org>
13539
13540 PR target/12898
13541 * config/alpha/alpha.c (alpha_emit_set_const_1): If
13542 no_new_pseudos, use gen_rtx_SET directly for SImode constants
13543 which need multiple instructions to emit.
13544
2a2001be
IK
135452004-01-21 Inaoka Kazuhiro <inaoka.kazuhiro@renesas.com>
13546
13547 * config/m32r/m32r.h (CPP_SPEC): Define.
13548
1ef82ef2
ZW
135492004-01-21 Zack Weinberg <zack@codesourcery.com>
13550
13551 * c-decl.c (merge_decls): Kill different_binding_level and
13552 different_tu arguments; simplify throughout.
13553 (duplicate_decls): Likewise.
13554 (pushdecl, merge_translation_unit_decls): Update calls to
13555 duplicate_decls.
13556
13544b81
KG
135572004-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13558
13559 * Makefile.in (pretty-print.o): Depend on $(CONFIG_H) and
13560 $(SYSTEM_H).
13561 (print-rtl1.o): Depend on $(SYSTEM_H).
13562
a541f69d
KC
135632004-01-20 Kelley Cook <kcook@gcc.gnu.org>
13564
13565 PR bootstrap/12730
13566 * configure.ac: Delete definition and subsitution of docdir.
13567 Add info, man, srcman and srcinfo to target hooks. Create doc/
13568 directory.
13569 * configure: Regenerate.
13570 * Makefile.in: Don't substitute docdir and delete all references
13571 throughout.
13572 (MAKEINFOFLAGS): Define.
13573 (stmp-docobjdir): Delete.
13574 (INFOFILES, MANFILES): Define.
13575 (info): Call lang.info, srcinfo and lang.srcinfo.
13576 (generated-manpages): Call lang.man, srcman and lang.srcman.
13577 (srcinfo, srcman): New rules to copy back files to source directory.
13578 (doc/%.info, doc/%.dvi, doc/%.1, doc/%.7): New implict rule.
13579 (install-man): Revamp rule.
13580 (clean): Update dvi directory.
13581 (distclean): Delete TAGS from front end directorys.
13582 (maintainer-clean): Delete all document files in source directory.
13583
13584 objc/Make-lang.in (objc.man, objc.info): Dummy entries.
13585 (objc.srcman, objc.srcinfo): Likewise.
13586
793146e3
BK
135872004-01-20 Bruce Korb <bkorb@gnu.org>
13588
13589 * fixinc/inclhack.def(math_exception): bypass only for glibc.
13590 (matherr_decl): rename & relocate as exception_structure.
13591 This fix must precede the math_exception fix.
13592
fdb33708
RS
135932004-01-20 Roger Sayle <roger@eyesopen.com>
13594
13595 * fold-const.c (fold_convert): Rename to fold_convert_const.
13596 (fold_convert_const): Change arguments to take a tree_code,
13597 a type and the operand/expression to be converted. Return
13598 NULL_TREE if no simplification is possible. Add support for
13599 FIX_CEIL_EXPR and FIX_FLOOR_EXPR in addition to FIX_TRUNC_EXPR.
13600 (fold): Handle FIX_CEIL_EXPR and FIX_FLOOR_EXPR.
13601 Adjust call to fold_convert to match new fold_convert_const.
13602 Avoid modifying the tree passed to fold in-place.
13603
34c80057
AM
136042004-01-21 Alan Modra <amodra@bigpond.net.au>
13605
13606 * config/rs6000/sysv4.h (DWARF2_FRAME_REG_OUT): Define.
13607 * dwarf2out.c (output_cfi): Map regs using DWARF2_FRAME_REG_OUT.
13608 * doc/tm.texi (DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Document.
13609
a4295210
JDA
136102004-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13611
13612 * pa-protos.h (compute_frame_size): Use HOST_WIDE_INT for frame sizes.
13613 * pa.c (store_reg, store_reg_modify, load_reg, set_reg_plus_d):
13614 Likewise. Handle frames larger than 0x7fffffff on 64-bit ports.
13615 (emit_move_sequence): Check scratch_reg first in various if statements.
13616 Extend source simplification to handle all 64-bit CONST_INTs.
13617 (pa_output_function_prologue): Use HOST_WIDE_INT_PRINT_DEC for printing
13618 frame size.
13619 (hppa_expand_prologue, hppa_expand_epilogue): Use HOST_WIDE_INT for
13620 frame offset calculations.
13621 * pa.h (NEW_HP_ASSEMBLER): Add comment.
13622 (MAX_LEGIT_64BIT_CONST_INT, MIN_LEGIT_64BIT_CONST_INT,
13623 LEGITIMATE_64BIT_CONST_INT_P): Define.
13624 (LEGITIMATE_CONSTANT_P): Use LEGITIMATE_64BIT_CONST_INT_P. Treat
13625 any CONST_INT as legitimate during and after reload.
13626 (VAL_32_BITS_P, INT_32_BITS): Define.
13627 (LEGITIMIZE_RELOAD_ADDRESS): Handle large frame offsets.
13628
3e89ed8d
JH
136292004-01-20 Jan Hubicka <jh@suse.cz>
13630
13631 * emit-rtl.c (verify_rtx_sharing, copy_insn_1,
13632 emit_copy_of_insn_after, emit_copy_of_insn_after): Clobbers
13633 containing hard regs are shared.
13634 (gen_hard_reg_clobber): New function.
13635 (hard_reg_clobbers): New array.
13636 * genemit.c (gen_exp): Use gen_hard_reg_clobber.
13637 (copy_rtx): Do not copy clobbers containing hard regs.
13638 * rtl.h (gen_hard_reg_clobber): Declare.
13639
9b57b627
JH
136402004-01-20 Jan Hubicka <jh@suse.cz>
13641
13642 * varray.c: Include hashtab.h
13643 (varray_descriptor): New structure.
13644 (hash_descriptor, eq_descriptor, varray_descriptor,
13645 print_statistics): New static functions
13646 (varray_init, varray_grow): Update statistics
13647 (dump_varray_statistics): New function.
13648 * varray.h (dump_varray_statistics): Declare.
13649 * toplev.c (finalize): Call it.
13650 * Makefile.in (varray.o): Add dependency.
13651
6a59927d
JH
136522004-01-20 Jan Hubicka <jh@suse.cz>
13653
13654 * cselib.c: Include alloc-pool.h
13655 (empty_vals, empty_elt_lists, empty_elt_loc_lists): Kill.
13656 (elt_loc_list_pool, elt_list_pool, cselib_val_pool): Declare.
13657 (new_elt_list, new_elt_loc_list, unchain_one_elt_list,
13658 unchain_one_elt_loc_list_pool, unchain_one_value,
13659 new_cselib_val): Simplify using allocpool.
13660 (cselib_init): Initialize allocpools.
13661 (cselib_finish): Finish allocpools.
13662 * Makefile.in (cselib.o): Depend on alloc-pool.h
13663
3c53850d
RS
136642004-01-20 Richard Sandiford <rsandifo@redhat.com>
13665
13666 * config/mips/mips.c (mips_load_call_address): Make the call insn
13667 use $gp if it could be calling a lazy binding stub.
13668
101ad855
KH
136692004-01-20 Kazu Hirata <kazu@cs.umass.edu>
13670
13671 * config/s390/s390.c (TARGET_PROMOTE_FUNCTION_ARGS): Define.
13672 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
13673 (TARGET_STRUCT_VALUE_RTX): Likewise.
13674 * config/s390/s390.h (PROMOTE_FUNCTION_ARGS): Remove.
13675 (PROMOTE_FUNCTION_RETURN): Remove.
13676 (STRUCT_VALUE): Remove.
13677
c099ba28
DC
136782004-01-20 Denis Chertykov <denisc@overta.ru>
13679
03b82c00 13680 PR bootstrap/13735
c099ba28
DC
13681 * config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X
13682 register as pointer after reload.
13683
c8b6fae3
ZD
136842004-01-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13685
13686 PR optimization/12440
13687 * loop.c: Include ggc.h.
13688 (loop_optimize): Run garbage collector between optimization of loops.
13689 * Makefile.in (loop.o): Add GGC_H dependency.
13690
c72d6c26
HP
136912004-01-20 Hartmut Penner <hpenner@de.ibm.com>
13692
1ef82ef2 13693 * gcc/config/rs6000/rs6000.c (function_arg) Handle
c72d6c26
HP
13694 vector register special in function without prototype.
13695 (function_arg_advance): Vector parameters get always
13696 GPRs allocated for the linux64 target.
13697
91e736f9
KI
136982004-01-20 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
13699
13700 * config/m32r/m32r.h (TARGET_M32R2). Test for TARGET_M32R2_MASK
13701 not TARGET_M32RX_MASK.
13702
4043d6fb
EB
137032004-01-20 Eric Botcazou <ebotcazou@libertysurf.fr>
13704
13705 PR target/13557
13706 * config/sparc/sparc.c (function_arg): Reorder the cases.
13707
50f59cd7
PB
137082004-01-19 Per Bothner <per@bothner.com>
13709
13710 Move cpp_reader's line_maps field to a shared global.
13711 * cpphash.h (cpp_reader): Rename line_maps field to line_table
13712 and change the type to a pointer rather than a struct.
13713 * cppinit.c (cpp_push_main_field): Adjust accordingly.
13714 * cpplib.c (do_include_common, _cpp_do_file_change, cpp_get_callbacks):
13715 Likewise.
13716 * cppfiles.c (validate_pch): Likewise.
13717 * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_builtin_macro_text):
13718 Likewise.
13719 * cpperror.c (print_location): Likewise.
13720 * cpplib.h (cpp_create_reader): New line_maps pointer parameter.
13721 * cppinit.c (cpp_create_reader): Handle new parameter.
13722 (cpp_destroy): Don't free line_maps - that's no longer our job.
13723 * input.h (line_table): New variable.
13724 * toplev.c (line_table): Declare variable.
13725 (general_init): Initialize line_table.
13726 * c-opts.c (c_common_init_options): Pass line_table to
13727 cpp_create_reader.
13728 * fix-header.c (read_scan_file): New local variable line_table.
13729 Initialize, and pass it to cpp_create_reader.
13730 * Makefile.in (LIBS, LIBDEPS): Add libcpp.a.
13731 (C_AND_OBJC_OBJS, fix-header): Remove redundant libcpp.a.
13732
137332004-01-19 Per Bothner <per@bothner.com>
9132fbb7
PB
13734
13735 Implement a cache for linemap_lookup.
13736 * line-map.h (struct_line_maps): Add cache field.
13737 * line-map.c (linemap_init): Zero cache field.
13738 (linemap_add): Set cache field to offset of newly allocated map.
13739 (linemap_lookup): Use and set cache field.
13740
26d107db
KK
137412004-01-20 Kaz Kojima <kkojima@gcc.gnu.org>
13742
13743 PR optimization/13567
13744 * cse.c (cse_basic_block): Call cse_insn with a non-null
13745 libcall_insn for the last SET insn of a no-confilict block.
13746
e165d61b
KC
137472004-01-20 Kelley Cook <kcook@gcc.gnu.org>
13748
1ef82ef2 13749 * Makefile.in (target_noncanonical, program_transform_name): Use
e165d61b 13750 immediate define instead of deferred.
1ef82ef2 13751 (GCC_INSTALL_NAME, GCC_TARGET_INSTALL_NAME, CPP_INSTALL_NAME,
e165d61b
KC
13752 PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
13753 GCCBUG_INSTALL_NAME): Define via a immediate $(shell) instead of
13754 deferred backquote.
13755
53cd18ec
JM
137562004-01-20 Joseph S. Myers <jsm@polyomino.org.uk>
13757
13758 * c-decl.c (c_init_decl_processing): Set pedantic_lvalues to
13759 true unconditionally.
13760 * c-typeck.c (unary_complex_lvalue, pedantic_lvalue_warning):
13761 Remove.
13762 (build_unary_op, build_modify_expr): Don't handle extended
13763 lvalues.
13764 (build_component_ref, build_conditional_expr): Call non_lvalue
13765 instead of pedantic_non_lvalue.
13766 (build_c_cast): Don't condition use of non_lvalue on pedantic.
13767 * fold-const.c (fold): Don't check pedantic directly for
13768 COMPOUND_EXPR. Ensure that results for COMPOUND_EXPR are
13769 passed to pedantic_non_lvalue.
13770 * doc/extend.texi: Remove documentation of extended lvalues.
13771
9ce79a7a
RS
137722004-01-19 Roger Sayle <roger@eyesopen.com>
13773
13774 PR optimization/5263
13775 * simplify-rtx.c (associative_constant_p): Delete.
13776 (simplify_associative_operation): Rewrite to linearize terms, and
13777 attempt to simplify new term against both left and right subterms.
13778 (simplify_binary_operation): Call swap_commutative_operands_p on
13779 op0 and op1, not trueop0 and trueop1. Move the initialization of
13780 trueop0 and trueop1 down to where first needed.
13781 (simplify_relational_operation): Likewise.
13782 * rtlanal.c (commutative_operand_precedence): Also order constant
13783 operands using avoid_constant_pool_reference.
13784
62e88293
RH
137852004-01-19 Richard Henderson <rth@redhat.com>
13786
1ef82ef2
ZW
13787 * config/alpha/alpha.c (aligned_memory_operand): Check MEM_ALIGN,
13788 don't check memory mode.
13789 (unaligned_memory_operand): Likewise.
13790 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Don't
13791 abort for op0 not MEM.
62e88293 13792
1ef82ef2
ZW
13793 * config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination
13794 is not a reg, copy to a scratch first.
13795 (aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi,
13796 unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le,
13797 unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG.
13798 (reload_inqi, reload_inhi): Fix mode of op0.
13799 (reload_inqi_help, reload_inhi_help, reload_outqi_help,
13800 reload_outhi_help): Likewise. Use define_insn_and_split.
62e88293 13801
1ef82ef2
ZW
13802 * config/alpha/alpha.md (call peepholes): Check for REG_NORETURN
13803 as well as $29 dead.
62e88293 13804
2f3321ca
EB
138052004-01-19 Eric Botcazou <ebotcazou@libertysurf.fr>
13806
13807 * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New. Emit
13808 "tls_object" for thread-local objects.
13809 * config/sparc/sparc.c (sparc_elf_asm_named_section): Emit
13810 "#tls" for thread-local sections.
13811 * configure.ac (thread-local checks): Specify --fatal-warnings in
13812 every binutils-specific checks. For sparc*-*-*, test whether the
13813 OS is Solaris and the tools are native and act accordingly.
13814 * configure: Rebuild.
13815
6fe37bc4
JL
138162004-01-19 Jeff Law <law@redhat.com>
13817
13818 * contrib.texi: Update Paolo Carlini's entry. New entries for
13819 Jerry Quinn and Petur Runolfsson.
1ef82ef2 13820
68f48f39
RS
138212004-01-19 Roger Sayle <roger@eyesopen.com>
13822
13823 * config/i386/i386.md (*movhi_1, *movqi_1): When optimizing for
13824 size, don't use the larger zero-extending loads.
13825
5c9948f4
RH
138262004-01-19 Richard Henderson <rth@redhat.com>
13827
13828 * alpha.h (HARD_REGNO_MODE_OK): Disallow SImode in FP regs.
13829 * alpha.md (UNSPEC_NT_LDA): Remove.
13830 (UNSPEC_CVTLQ, cvtlq): New.
13831 (extendsidi2_1): Rename from extendsidi2_nofix; remove f/f.
13832 (extendsidi2_fix): Remove.
13833 (extendsidi2 splitter): Use cvtlq.
13834 (extendsidi2 fp peepholes): Remove.
13835 (cvtql): Use SFmode instead of SImode.
13836 (fix_trunc?fsi): Update to match.
13837 (floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New.
13838 (movsi): Rename from movsi_nofix, remove f alternatives.
13839 (movsi_nt_vms): Similarly.
13840 (movsi_fix, movsi_nt_vms_fix): Remove.
13841 (nt_lda): Remove.
13842 * alpha.c (alpha_expand_prologue): Use adddi3, not nt_lda.
13843
9b0436b7
JH
138442004-01-19 Jan Hubicka <jh@suse.cz>
13845
13846 * cgraph.c (cgraph_remove_node): Fix removal from linked list.
13847 * cgraphunit.c (cgraph_finalize_compilation_unit): Clear next_needed
13848 list.
13849 (cgraph_remove_unreachable_nodes): New function
13850 (cgraph_decide_inlining_of_small_function): Fix pasto.
13851 (cgraph_decide_inlining_incrementally): Fix pasto.
13852 (cgrpah_decide_inlining): Likewise; remove unreachable nodes.
13853
8c80adb7
SB
138542004-01-19 Steven Bosscher <stevenb@suse.de>
13855
13856 * gengtype.c (header_file): Make it static.
13857 (write_types_process_field, write_enum_defn): Minor whitespace fixes.
13858 * gengtype.h (header_file): No longer extern.
13859
0ede749d
KH
138602004-01-18 Kazu Hirata <kazu@cs.umass.edu>
13861
13862 * defaults.h (CASE_VECTOR_PC_RELATIVE): Provide the default.
13863 * expr.c (CASE_VECTOR_PC_RELATIVE): Remove.
13864 * stmt.c (CASE_VECTOR_PC_RELATIVE): Likewise.
13865
41cbdcd0
KH
138662004-01-18 Kazu Hirata <kazu@cs.umass.edu>
13867
13868 * stmt.c (HAVE_casesi): Define it not already defined.
13869 (HAVE_tablejump): Likewise.
13870 (expand_end_case_type): Resort to the binary tree method if
13871 neither casesi or tablejump is available.
13872
5cfc5f84
DJ
138732004-01-18 Daniel Jacobowitz <drow@mvista.com>
13874
13875 * final.c (final_scan_insn): Make non-static again.
13876 * output.h (final_scan_insn): Re-add prototype.
13877 * config/arc/arc.c (arc_output_function_epilogue): Add NULL
13878 to final_scan_insn call.
13879 * config/cris/cris.c (cris_target_asm_function_epilogue): Likewise.
13880 * config/mips/mips.c (mips_output_conditional_branch): Likewise.
13881 * config/pa/pa.c (output_lbranch, output_call): Likewise.
13882 * config/sh/sh.c (print_slot): Likewise.
13883 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise.
13884 (output_sibcall, sparc_flat_function_epilogue): Likewise.
13885
3348b696
JH
138862004-01-18 Jan Hubicka <jh@suse.cz>
13887
13888 * basic-block.h (try_redirect_by_replacing_jump): Declare.
13889 * cfgcleanup.c (try_optimize_cfg): Use it.
13890 * cfgrtl.c (try_redirect_by_replacing_jump): Export.
13891 (rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch):
13892 Kill hack.
13893 (cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump.
13894
13895 Revert:
13896 2004-01-16 Geoffrey Keating <geoffk@apple.com>
13897
13898 * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
13899 even after reload, just don't remove the actual jump tables.
13900
72d89d35
KH
139012004-01-18 Kazu Hirata <kazu@cs.umass.edu>
13902
13903 * config/rs6000/rs6000.h (STRICT_ARGUMENT_NAMING): Remove.
13904
07b50aad
KH
139052004-01-18 Kazu Hirata <kazu@cs.umass.edu>
13906
13907 * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Fix the computation of
13908 the size of a pointer in bytes.
13909
6e46ab25
RS
139102004-01-18 Roger Sayle <roger@eyesopen.com>
13911
13912 * builtins.c (expand_builtin_expect_jump): Fix thinko of reusing
13913 live "next" variable, which could lead to an infinite loop.
13914
3ce5437a
AP
139152004-01-18 Andrew Pinski <pinskia@physics.uc.edu>
13916
b4be9e8e
AP
13917 * config/rs6000/altivec.h: Wrap C++ functions in extern "C++"
13918 block.
13919
3ce5437a
AP
13920 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
13921 Check for NULL in the chain and remove repeated code.
13922
20c361f3
JH
139232004-01-18 Jan Hubicka <jh@suse.cz>
13924
13925 * coverage.c (checksum_string): Rename to ...
13926 (coverage_checksum_string): ... this one, Use crc32_string; recognize
13927 names containing random number and zero the number out in order to get
13928 match.
13929
cacb5bba
RS
139302004-01-18 Richard Sandiford <rsandifo@redhat.com>
13931
13932 * config/mips/mips.c (mips_got_alias_set): Mark for PCH.
13933
daf2f129
JM
139342004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
13935
13936 * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi,
13937 doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi,
13938 doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi,
13939 doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi,
13940 doc/trouble.texi: Remove trailing whitespace.
13941
b85aed9e
RS
139422004-01-18 Richard Sandiford <rsandifo@redhat.com>
13943
1c0f3fac 13944 PR target/7618
b85aed9e
RS
13945 * config/mips/mips.c: Include cfglayout.h.
13946 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
13947 (mips_unspec_offset_high): Add temporary register argument.
13948 (mips_load_call_address): New function, split out from...
13949 (mips_expand_call): ...here.
13950 (mips_output_cplocal): New function.
13951 (mips_output_function_prologue, mips_output_function_epilogue): Use it.
13952 (mips_emit_loadgp): New function, split out from...
13953 (mips_expand_prologue): ...here.
13954 (mips_output_mi_thunk): New function.
13955
e5d95b69
BI
139562004-01-17 Bernardo Innocenti <bernie@develer.com>
13957
13958 * longlong.h (mc68020, __mc68030__, mc68030, __mc68040__, mc68040,
13959 mcpu32): Remove redundant checks for implied target predefines.
13960
19d66194
AP
139612004-1-17 Andrew Pinski <pinskia@physics.uc.edu>
13962
13963 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
13964 Return type is unsigned int not int.
13965 * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
13966 Likewise.
13967
95fef11f
JM
139682004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
13969
13970 * doc/contrib.texi, doc/cppenv.texi, doc/extend.texi,
13971 doc/install.texi, doc/invoke.texi, doc/tm.texi: Consistently use
13972 "GNU/Linux" and "Microsoft Windows" terminology.
13973
3ab51846
JM
139742004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
13975
13976 * doc/c-tree.texi, doc/compat.texi, doc/cpp.texi,
13977 doc/cppopts.texi, doc/extend.texi, doc/install.texi,
13978 doc/interface.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi,
13979 doc/objc.texi, doc/rtl.texi, doc/tm.texi, doc/trouble.texi: Use
13980 @smallexample instead of @example.
13981
cfbed37c
ZL
139822004-01-17 Ziemowit Laski <zlaski@apple.com>
13983
13984 * objc/objc-act.c (build_objc_method_call): Use target
1ef82ef2 13985 hooks instead of macros to determine if ..._stret
cfbed37c
ZL
13986 dispatchers should be used (NeXT runtime only).
13987
bef5105b
RS
139882004-01-17 Roger Sayle <roger@eyesopen.com>
13989
13990 * builtins.c (expand_builtin_expect_jump): Fix mistake in my
13991 last patch. Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL.
13992
dd3adcf8
DJ
139932004-01-17 Daniel Jacobowitz <drow@mvista.com>
13994
13995 * rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc)
13996 (emit_call_insn_before_sameloc, emit_insn_after_sameloc)
13997 (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): New
13998 macros.
13999 * reload1.c (emit_reload_insns): Use them.
14000 * emit-rtl.c (emit_insn_before_sameloc, emit_insn_after_sameloc)
14001 (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): Check
14002 for NULL PATTERN.
14003
589fe865
DJ
140042004-01-17 Daniel Jacobowitz <drow@mvista.com>
14005
14006 * final.c (SEEN_BB, SEEN_NOTE, SEEN_EMITTED): Define.
14007 (final_scan_insn): Update to take an additional SEEN argument. Emit
14008 a line note after the prologue. Make static.
14009 (line_note_exists): Remove.
14010 (final): Don't initialize line_note_exists. Update call to
14011 final_scan_insn.
14012 * output.h (final_scan_insn): Remove prologue.
14013 * function.c (set_insn_locators): Update comment.
14014 (thread_prologue_and_epilogue_insns): Add a comment.
14015
95727fb8
AP
140162004-01-17 Andrew Pinski <pinskia@physics.uc.edu>
14017
14018 PR target/10781
14019 * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
14020 Prototype.
14021 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
14022 New function.
14023 * config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it.
14024 * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise.
14025 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise.
14026
f2e16e97
JH
140272004-01-17 Jan Hubicka <jh@suse.cz>
14028
26c0473b
JH
14029 * toplev.c (rest_of_handle_reorder_blocks): Fix pasto in previous
14030 commit.
14031
f2e16e97
JH
14032 * toplev.c (HAVE_conditional_execution): Provide default.
14033 (rest_of_handle_reorder_blocks): For conditional_execution target
14034 update liveness once after all transformations
14035 (rest_of_compilation): Do crossjumping before ce3.
14036
f103e34d
GK
140372004-01-17 Geoffrey Keating <geoffk@apple.com>
14038
14039 * alias.c (new_alias_set): Mark last_alias_set for PCH.
14040 (get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it
14041 for PCH.
14042 (get_frame_alias_set): Likewise, except rename it to 'frame_set'.
14043 * config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH.
14044 (get_TOC_alias_set): Mark 'set' for PCH.
14045
ab530ea8
GK
140462004-01-16 Geoffrey Keating <geoffk@apple.com>
14047
14048 * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
14049 even after reload, just don't remove the actual jump tables.
14050
53dd3be3 140512004-01-17 J. Brobecker <brobecker@gnat.com>
e7d23ce3
B
14052
14053 * dwarf2out.c (is_subrange_type): Renamed from is_ada_subrange_type().
14054 Remove checks for is_ada() and TREE_UNSIGNED.
14055 (subrange_type_die): Emit a byte_size attribute if the subrange
14056 type size is different from the base type size.
14057 (modified_type_die): Replace call to is_ada_subrange_type() by
14058 call to is_subrange_type().
14059
8582b18a
AP
140602004-01-16 Andrew Pinski <pinskia@physics.uc.edu>
14061
14062 * config/sh/sh.c: Include ggc.h.
14063
73e61092
GK
140642004-01-16 Geoffrey Keating <geoffk@apple.com>
14065
14066 * Makefile.in (MD5_H): New.
14067 (fold-const.o): Depend on md5.h.
14068 (dwarf2out.o): Likewise.
14069 (cppfiles.o): Likewise.
14070 * cppfiles.c: Include md5.h.
14071 (should_stack_file): Check against list read from PCH file.
14072 (struct pchf_data): New.
14073 (pchf): New variable.
14074 (struct pchf_adder_info): New.
14075 (pchf_adder): New.
14076 (pchf_save_compare): New.
14077 (_cpp_save_file_entries): New.
14078 (_cpp_read_file_entries): New.
14079 (struct pchf_compare_data): New.
14080 (pchf_compare): New.
14081 (check_file_against_entries): New.
14082 * cpphash.h (_cpp_save_file_entries): Prototype.
14083 (_cpp_read_file_entries): Prototype.
14084 * cpppch.c (cpp_write_pch_state): Write the list of headers.
14085 (cpp_read_state): Read the list of headers.
14086
3b75d796
JH
140872004-01-17 Jan Hubicka <jh@suse.cz>
14088
14089 * c-common.c (c_estimate_num_insns_1): Handle builtin_constant_p and
14090 builtin_expect specially.
14091 * params.def (PARAM_MAX_INLINE_INSNS_AUTO): Set to 100.
14092 (PARAM_LARGE_FUNCTION_INSNS): Set to 3000.
14093 * invoke.texi (max-inline-insns-single): Set to 100.
14094 (large-function-insns): Set to 3000.
14095
cf551fba
EC
140962004-01-16 Eric Christopher <echristo@redhat.com>
14097 Chandrakala Chavva <cchavva@redhat.com>
14098
14099 * cppcharset.c (one_iso88591_to_utf8): New function.
14100 (convert_iso88591_utf8): Ditto. Use.
14101 (conversion_tab): Use.
14102 (_cpp_input_to_utf8): New function.
14103 (_cpp_init_iconv_buffer): Ditto.
14104 (_cpp_close_iconv_buffer): Ditto.
14105 * cpphash.h: Prototype new functions.
14106 (cpp_buffer): Add input_cset_desc.
14107 * cppinit.c: Add input_charset default.
14108 * cpplib.c (cpp_push_buffer): Support init and
14109 close of iconv.
14110 * cpplib.h (cpp_options): Add input_charset.
14111
510d1e80
KH
141122004-01-16 Kazu Hirata <kazu@cs.umass.edu>
14113
14114 * system.h (ASM_OUTPUT_SECTION_NAME): Poison.
14115 * config/alpha/unicosmk.h: Remove a commented-out definition
14116 of ASM_OUTPUT_SECTION_NAME.
14117 * config/stormy16/stormy16.h: Likewise.
14118
fb2c2608
RO
141192004-01-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14120
14121 * fixinc/inclhack.def (alpha___extern_prefix): Renamed to ...
14122 (alpha___extern_prefix_sys_stat): ... this.
14123 Apply to <sys/mount.h>, too.
14124 Tweak to match more variations.
14125 * fixinc/tests/base/sys/stat.h: Adapt for new hackname.
14126
14127 * fixinc/inclhack.def (alpha___extern_prefix,
cf551fba 14128 alpha___extern_prefix_standards): New hacks to obey
c53bdcf5 14129 __PRAGMA_EXTERN_PREFIX.
fb2c2608
RO
14130 * fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New
14131 test.
14132 * fixinc/tests/base/standards.h: Likewise.
cf551fba 14133
fb2c2608
RO
14134 * fixincl/inclhack.def (alpha_pthread): Tweak to match more
14135 variations.
14136 New testcase.
14137 * fixinc/tests/base/pthread.h: Handle it.
cf551fba 14138
fb2c2608
RO
14139 * fixincl/inclhack.def (bad_lval): Sort file list.
14140 Add many missing files up to Tru64 UNIX V5.1B.
14141 * gcc/fixinc/tests/base/libgen.h: Renamed to ...
14142 * gcc/fixinc/tests/base/dirent.h: ... this to match new file list
14143 order.
cf551fba 14144
fb2c2608
RO
14145 * fixinc/fixincl.x: Regenerate.
14146
79a76d65
MM
141472004-01-16 Mark Mitchell <mark@codesourcery.com>
14148
14149 * version.c (version_string): Change to 3.5.0.
14150 * doc/include/gcc-common.texi (version-GCC): Likewise.
14151
965514bd
JH
141522004-01-16 Jan Hubicka <jh@suse.cz>
14153
14154 * i386.md (load_tp_di): Fix pasto.
14155
14156 PR opt/13608
14157 * i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function.
14158
14159 * c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator,
14160 pp_c_character_constant, pp_c_floating_constant,
14161 pp_c_additive_expression, pp_c_shift_expression,
14162 pp_c_equality_expression, pp_c_and_expression,
14163 pp_c_exclusive_or_expression, pp_c_inclusive_or_expression,
14164 pp_c_logical_and_expression): Remove inline modifier.
14165 * dwarf2out.c (get_AT): Likewise.
14166 * et-forest.c (et_splay): Likewise.
14167 * ra.h (ra_alloc, ra_calloc): Likewise
14168
87b483a1
KH
141692004-01-16 Kazu Hirata <kazu@cs.umass.edu>
14170
14171 * config/frv/frv-protos.h: Fix comment formatting.
14172 * config/frv/frv.c: Likewise.
14173 * config/frv/frv.h: Likewise.
14174 * config/frv/frv.md: Likewise.
14175 * config/frv/frvbegin.c: Likewise.
14176 * config/frv/frvend.c: Likewise.
14177
16201823
KH
141782004-01-16 Kazu Hirata <kazu@cs.umass.edu>
14179
14180 * system.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Poison.
14181 * doc/tm.texi (PREFERRED_DEBUGGING_TYPE): Don't mention
14182 LINKER_DOES_NOT_WORK_WITH_DWARF2.
14183 (LINKER_DOES_NOT_WORK_WITH_DWARF2): Remove.
14184
115df136
R
141852004-01-16 J"orn Rennecke <joern.rennecke@superh.com>
14186
5ed5fd90 14187 PR 11864
115df136
R
14188 * postreload.c (reload_cse_simplify_operands): Don't remove
14189 implicit extension from LOAD_EXTEND_OP.
14190
e24e7211
JH
141912004-01-16 Jan Hubicka <jh@suse.cz>
14192
8c80adb7
SB
14193 PR opt/11350
14194 * cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
e24e7211 14195 after reload.
8c80adb7
SB
14196 * cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks,
14197 rtl_try_redirect_by_replacing_branch): Likewise.
e24e7211 14198
b0fadda7
GK
141992004-01-15 Geoffrey Keating <geoffk@apple.com>
14200
b604074c
GK
14201 PR pch/13689
14202 * alias.c (struct alias_set_entry): Mark for GC.
14203 (alias_sets): Make static, mark for GC.
14204 (record_alias_subset): Use GC to allocate alias structures.
14205 * varray.c (element): Make generic varrays GCed.
14206
a6dd4094
GK
14207 PR pch/13361
14208 * c-typeck.c (constructor_asmspec): Delete.
14209 (struct initializer_stack): Delete field 'asmspec'.
14210 (start_init): Delete saving of asmspec.
14211 (finish_init): Don't update constructor_asmspec.
14212 * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
14213 * stmt.c (expand_asm): Duplicate strings from tree.
14214 (expand_asm_operands): Likewise.
14215 * tree.c (tree_size): Update computation of size of STRING_CST.
14216 (make_node): Don't make STRING_CST nodes.
14217 (build_string): Allocate string with tree node.
14218 * tree.def (STRING_CST): Update comment.
14219 * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
14220 (tree_string): Place contents of string in tree node.
14221 * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
14222 from tree.
14223
b0fadda7
GK
14224 * config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case
14225 altivec operands.
14226
e0a21ab9
KH
142272004-01-15 Kazu Hirata <kazu@cs.umass.edu>
14228
14229 * c-common.h: Fix comment formatting.
14230 * c-cppbuiltin.c: Likewise.
14231 * c-pragma.c: Likewise.
14232 * calls.c: Likewise.
14233 * collect2.c: Likewise.
14234 * cppcharset.c: Likewise.
14235 * cpptrad.c: Likewise.
14236 * dbxout.c: Likewise.
14237 * defaults.h: Likewise.
14238 * dwarf2out.c: Likewise.
14239 * fold-const.c: Likewise.
14240 * genautomata.c: Likewise.
14241 * genconditions.c: Likewise.
14242 * genflags.c: Likewise.
14243 * gengtype.c: Likewise.
14244 * integrate.c: Likewise.
14245 * loop.c: Likewise.
14246 * predict.c: Likewise.
14247 * sdbout.c: Likewise.
14248
f57fc998
ZW
142492004-01-15 Zack Weinberg <zack@codesourcery.com>
14250
14251 * config/ia64/ia64.md (*movti_internal): C output template
14252 extracted to ia64.c.
14253 (*movti_internal_reg): Delete.
14254 (reload_inti, reload_outti): Use the correct mode on operand 2
14255 in the first place, don't fix it up in the output template.
14256 (movtf, reload_ointf, reload_outtf): New expanders.
14257 (*movtf_internal): New define_insn_and_split.
14258 * config/ia64/ia64.c (ia64_split_timode): Rename to ia64_split_tmode;
14259 make static; do not hand TFmode CONST_DOUBLEs to split_double.
14260 (ia64_split_tmode_move): New function, body mostly pulled
14261 from ia64.md:*movti_internal.
14262 (ia64_function_arg_words): New function, extracted common
14263 logic from ia64_function_arg et seq.
14264 (ia64_function_arg_offset): Likewise. Handle correctly the
14265 case of a scalar quantity 16 bytes wide with only 8-byte alignment.
14266 (ia64_function_arg, ia64_function_arg_partial_nregs)
14267 (ia64_function_arg_advance): Use ia64_function_arg_words and
14268 ia64_function_arg_offset.
14269 (ia64_function_value): TCmode does not go in float regs.
14270 (ia64_secondary_reload_class): Also handle TFmode.
14271 * config/ia64/ia64-protos.h: Remove prototype for
14272 ia64_split_timode; add prototype for ia64_split_tmode_move.
14273
e9c4897b
KC
142742004-01-15 Kelley Cook <kcook@gcc.gnu.org>
14275
14276 * Makefile.in (MAINT): Make it an immediate assignment.
14277
5a67e41f
KH
142782004-01-15 Kazu Hirata <kazu@cs.umass.edu>
14279
14280 * config/m32r/m32r.md: Remove useless calls to gen_lowpart.
14281
340f6494
KH
142822004-01-15 Kazu Hirata <kazu@cs.umass.edu>
14283
14284 * config/h8300/coff.h: Replace Hitachi with Renesas.
14285 * config/h8300/elf.h: Likewise.
14286 * config/h8300/h8300-protos.h: Likewise.
14287 * config/h8300/h8300.c: Likewise.
14288 * config/h8300/h8300.h: Likewise.
14289 * config/h8300/h8300.md: Likewise.
14290 * config/h8300/lib1funcs.asm: Likewise.
14291
c954844a
AP
142922004-01-15 Andrew Pinski <apinski@apple.com>
14293
14294 * config/rs6000/rs6000.c (uses_TOC): Wrap #if TARGET_ELF
14295 around it.
14296
34bf1fe3
KH
142972004-01-15 Kazu Hirata <kazu@cs.umass.edu>
14298
14299 * config/h8300/h8300.c (h8300_return_in_memory): New.
14300 (TARGET_STRUCT_VALUE_RTX): Likewise.
14301 (TARGET_RETURN_IN_MEMORY): Likewise.
14302 * config/h8300/h8300.h (STRUCT_VALUE): Remove.
14303 (RETURN_IN_MEMORY): Likewise.
14304
e5396f90
RE
143052004-01-15 Richard Earnshaw <rearnsha@arm.com>
14306
14307 PR optimization/13375
14308 * gcse.c (handle_avail_expr): Just return if the source is not a
14309 single set.
14310
46049cff
RE
143112004-01-15 Richard Earnshaw <rearnsha@arm.com>
14312 Daniel Jacobowitz <drow@mvista.com>
14313
14314 * arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case.
14315 (EQUIV): Define.
14316 (ARM_FUNC_ALIAS): New macro.
14317 * arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it.
14318 * arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it.
14319
2fabc3d6
JDA
143202004-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14321
14322 PR optimization/12372
14323 * calls.c (expand_call): Add call_fusage data for stack arguments in
14324 constant calls.
14325
3c9eb5f4
AM
143262004-01-15 Alan Modra <amodra@bigpond.net.au>
14327
14328 * config/rs6000/rs6000.c (uses_TOC): Correct comment. Make static.
14329 (rs6000_elf_declare_function_name): Formatting.
14330 * config/rs6000/rs6000-protos.h (uses_TOC): Remove declaration.
14331
c7866154
JH
143322004-01-15 Jan Hubicka <jh@suse.cz>
14333
14334 PR bootstrap/13692
14335 * sched-deps.c (sched_analyze_1, sched_analyze_2): Fix thinko in
14336 previous patch.
14337
ad5d827d
RH
143382004-01-15 Richard Henderson <rth@redhat.com>
14339
14340 * config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after
14341 integer regs of the same call-savedness.
14342
66e07510
AS
143432004-01-15 Andreas Schwab <schwab@suse.de>
14344
14345 PR bootstrap/13562
14346 * config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc
14347 status for NOTB/NOTW/NEGW methods.
14348
7c12f388
KH
143492004-01-15 Kazu Hirata <kazu@cs.umass.edu>
14350
14351 * doc/invoke.texi: Update dump file names. Fix a typo.
14352
4a7bb550
KH
143532004-01-15 Kazu Hirata <kazu@cs.umass.edu>
14354
14355 * builtins.c (expand_builtin_va_end): Don't use
14356 EXPAND_BUILTIN_VA_END.
14357 * system.h (EXPAND_BUILTIN_VA_END): Poison.
14358 * config/d30v/d30v.h: Remove a commented-out definition of
14359 EXPAND_BUILTIN_VA_END.
14360 * config/stormy16/stormy16.h: Likewise.
14361
430fff02
KH
143622004-01-15 Kazu Hirata <kazu@cs.umass.edu>
14363
14364 * system.h (STRUCT_VALUE_INCOMING_REGNUM): Poison.
14365 * targhooks.c (default_struct_value_rtx): Don't use
14366 STRUCT_VALUE_INCOMING_REGNUM.
14367
03787dfd
KC
143682004-01-15 Kelley Cook <kcook@gcc.gnu.org>
14369
14370 PR bootstrap/12744
14371 * configure.in: Revamp enable-generated-files-in-srcdir rule to define
14372 GENINSRC and not parsedir. Define srcextra as a langhook.
14373 * configure: Regenerate.
14374 * Makefile.in: Suppress default .l.c rule. Don't substitute
14375 parsedir and delete all references throughout. Conditionally define
14376 rule for srcextra dependent on GENINSRC.
14377 (stmp-docobjdir): Delete.
14378 (c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule.
14379 (srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c,
14380 and gengtype-yacc.h back to source directory.
14381 (maintainer-clean): Delete all parse files in source directory.
14382 (distclean): Delete generated files.
14383
14384 * objc/Make-lang.in (objc-parse.o): Use implicit build rule.
14385 (objc-parse.c, objc-parse.y): Don't use parsedir.
14386 (objc.srcextra): Copy objc-parse.y and objc-parse.c back to source
14387 directory if requested.
14388 (po-generated): Don't use parsedir.
14389 (objc.maintainer-clean): Delete above files from source directory.
14390
04ab46a4
KH
143912004-01-14 Kazu Hirata <kazu@cs.umass.edu>
14392
14393 * doc/tm.texi (FUNCTION_VALUE): Fix a typo.
14394
d624465f
KH
143952004-01-14 Kazu Hirata <kazu@cs.umass.edu>
14396
14397 * doc/tm.texi: Replace RETURN_IN_MEMORY with
14398 TARGET_RETURN_IN_MEMORY.
14399
e1be55d0
JH
144002004-01-15 Jan Hubicka <jh@suse.cz>
14401
14402 * builtins.c (std_expand_builtin_va_arg): Align operand when needed.
14403 * i386.c (init_cumulative_args): Set warn_sse; fix handling of variadic
14404 functions accepting SSE arguments
14405 (function_arg): Warn only when asked to warn.
14406 * i386.h (ix86_args): Add warn_sse/warn_mmx fiels.
14407
f560bf91
JM
144082004-01-14 Joseph S. Myers <jsm@polyomino.org.uk>
14409
14410 * c-parse.in (stmts_and_decls): Make label at end of compound
14411 statement a hard error.
14412
95c755e9
JH
144132004-01-14 Jan Hubicka <jh@suse.cz>
14414
14415 * cgraph.c (create_edge): Use local.redefined_extern_inline.
14416 * cgraph.h (cgraph_local_info): Sort fields by size; add
14417 redefined_extern_inline
14418 (cgraph_global_info): Sort fields by size.
14419 (cgraph_node): Likewise.
14420 * cgraphunit.c (cgraph_finalize_function): Se
14421 local.redefined_extern_inline on redefinition.
14422 (cgraph_analyze_function): Use it; fix formating.
14423
84568e14
JH
144242004-01-14 Jan Hubicka <jh@suse.cz>
14425
14426 PR c++/10776
14427 * sched-deps.c (trye_dependency_cache, anti_dependency_cache,
14428 outptu_dependency_cache, forward_dependency_cahe): Trun to vectors of
14429 bitmaps
14430 (cache_size): New variable
14431 (add_dependence): Update use; canonize early memory locations
14432 (sched_analyze_1): Likewise.
14433 (sched_analyze_2): Likewise.
14434 (init_dependency_caches): Initialize bitmaps.
14435 (free_dependency_caches): Free bitmaps
14436
3a179764
KH
144372004-01-14 Kazu Hirata <kazu@cs.umass.edu>
14438
14439 * calls.c: Replace STRICT_ARGUMENT_NAMING in comments with
14440 targetm.calls.strict_argument_naming().
14441 * target.h: Likewise.
14442
b298f00f
RH
144432004-01-14 Richard Henderson <rth@redhat.com>
14444
14445 PR debug/13231
14446 * dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue
14447 instructions.
14448
1bddbeb4
RH
144492004-01-14 Richard Henderson <rth@redhat.com>
14450
14451 PR c++/12491
14452 * except.c (struct eh_region): Add u.fixup.resolved.
14453 (resolve_one_fixup_region): Split out from ...
14454 (resolve_fixup_regions): ... here.
14455
4eb31d4f
KH
144562004-01-14 Kazu Hirata <kazu@cs.umass.edu>
14457
14458 * config/mn10300/mn10300.h (STRUCT_VALUE): Change to 0.
14459
16f425fc
KH
144602004-01-14 Kazu Hirata <kazu@cs.umass.edu>
14461
14462 * config/alpha/alpha.h (STRUCT_VALUE): Remove.
14463 * config/alpha/vms.h (STRUCT_VALUE_REGNUM): Remove #undef.
14464 (STRUCT_VALUE): Remove.
14465
4850c982 144662004-01-14 Steven Bosscher <stevenb@suse.de>
616f6d84
SB
14467
14468 * system.h: Poison PROMOTED_MODE
14469 * integrate.c (expand_inline_function): Don't mention the
14470 PROMOTED_MODE.
14471 * loop.c (update_giv_derive): Same.
14472 * tree.h (DECL_RTL): Same.
14473
f9654065
R
144742004-01-14 J"orn Rennecke <joern.rennecke@superh.com>
14475
14476 PR target/9365
14477 * sh.c (gen_block_redirect): Add special handling of RETURN.
14478 (gen_far_branch) Don't call gen_stuff_delay_slot if there is no
14479 far branch target (i.e. it's a return).
14480
abbe8578
KH
144812004-01-14 Kazu Hirata <kazu@cs.umass.edu>
14482
14483 * regrename.c (find_oldest_value_reg): Fix a warning.
14484
192c8d78
RE
144852004-01-14 Richard Earnshaw <rearnsha@arm.com>
14486
14487 PR bootstrap/12527
14488 * config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file.
14489 Move linux-gas.h and linux-elf.h before aout.h.
14490 * arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already.
14491 * arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define.
14492
e512ab39
KH
144932004-01-14 Kazu Hirata <kazu@cs.umass.edu>
14494
14495 * config/m32r/m32r.md: Use GEN_INT instead of gen_rtx
14496 (CONST_INT, VOIDmode, ...).
14497
684bcee5
RE
144982004-01-14 Richard Earnshaw <rearnsha@arm.com>
14499
f57fc998 14500 * regrename.c (find_oldest_value_reg): If the replacement uses
684bcee5
RE
14501 multiple hard registers, check that all of them are in CLASS.
14502
e7844ffb
JH
145032004-01-14 Jan Hubicka <jh@suse.cz>
14504
14505 * alias.c (get_alias_set): Initialize alias set to 0 when subset is
14506 impossible.
14507
73e232f0
KC
145082004-01-14 Kelley Cook <kcook@gcc.gnu.org>
14509
14510 * Makefile.in: Define MAINT from --enable-maintainer-mode.
14511
4d774ff8
HP
145122004-01-14 Hartmut Penner <hpenner@de.ibm.com>
14513
14514 * gcc/config/rs6000/rs6000.c (rs6000_stack_info)
14515 Calculate always vrsave_mask if TARGET_ALTIVEC.
14516 (rs6000_emit_prologue): Emit code for vrsave
14517 only if TARGET_ALTIVEC_VRSAVE.
14518 (rs6000_emit_epilogue): Likewise.
14519
fa1090f5
EB
145202004-01-14 Eric Botcazou <ebotcazou@libertysurf.fr>
14521
14522 * config/sparc/sparc.md (tie_add32): Fix pasto.
14523 (tie_add64): Likewise.
14524
79551a56
ZD
145252004-01-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14526
14527 * config/i386/i386.md (*addqi_1_slp): Do not access operands[2].
14528
5b8d96f1
KH
145292004-01-13 Kazu Hirata <kazu@cs.umass.edu>
14530
14531 * config/iq2000/iq2000-protos.h: Fix comment formatting.
14532 * config/iq2000/iq2000.c: Likewise.
14533 * config/iq2000/iq2000.md: Likewise.
14534
b98d154e
B
145352004-01-14 J. Brobecker <brobecker@gnat.com>
14536
14537 * dwarf2out.c (is_ada_subrange_type): No longer check the TYPE_NAME.
14538 (subrange_type_die): Add handle for nameless subrange types.
14539
1a793acf
KH
145402004-01-13 Kazu Hirata <kazu@cs.umass.edu>
14541
14542 * config/h8300/h8300-protos.h: Replace do_movsi with
14543 h8300_expand_movsi.
14544 * config/h8300/h8300.c (do_movsi): Change to
14545 h8300_expand_movsi.
14546 * config/h8300/h8300.md (movsi): Replace do_movsi with
14547 h8300_expand_movsi.
14548 (movsf): Likewise.
14549
81ad9ded
KH
145502004-01-13 Kazu Hirata <kazu@cs.umass.edu>
14551
14552 * config/h8300/h8300.c (dosize): Change to
14553 h8300_emit_stack_adjustment. Update callers.
14554
3f0063ab
KH
145552004-01-13 Kazu Hirata <kazu@cs.umass.edu>
14556
14557 * config/h8300/h8300.md (movstrictqi): Add an alternative with
14558 the source being post_inc. Tighten the predicate for the
14559 destination to register_operand.
14560 (movstricthi): Likewise.
14561
abf843c4
KH
145622004-01-13 Kazu Hirata <kazu@cs.umass.edu>
14563
14564 * system.h (SHARED_BSS_SECTION_ASM_OP): Poison.
14565 * varasm.c (bss_section): Don't use SHARED_BSS_SECTION_ASM_OP.
14566 * doc/tm.texi (SHARED_BSS_SECTION_ASM_OP): Remove.
14567
4b589eab
JH
145682004-01-14 Jan Hubicka <jh@suse.cz>
14569
d34cb6a1
JH
14570 Partial fix PR c++/12850
14571 * cgraphunit.c (cgraph_finalize_function): Always ggc_collect when
14572 at zero nest level.
4b589eab 14573
9ff2cabc
BI
145742004-01-13 Bernardo Innocenti <bernie@develer.com>
14575
14576 * config/m68k/netbsd-elf.h (REGISTER_NAMES): Add missing "argptr"
f57fc998 14577 pseudo-register.
9ff2cabc 14578
a4d8ec65
DP
145792004-01-13 Devang Patel <dpatel@apple.com
14580
14581 PR debug/7078
f57fc998 14582 * dbxout.c (dbxout_symbol_name): Emit mangled names for
a4d8ec65 14583 NAMESPACE_DECL memebers.
f57fc998 14584
bfaba7a9
AP
145852004-01-13 Andrew Pinski <pinskia@physics.uc.edu>
14586
14587 PR c++/12709
14588 * c-common.c (finish_fname_decls): Use the chain only if the
14589 tree is an expr_stmt.
14590
dfa849f3
VM
145912004-01-13 Vladimir Makarov <vmakarov@redhat.com>
14592
616f6d84 14593 * rtl.def: Add comment about new option in automata_option.
f57fc998 14594
dfa849f3
VM
14595 * genautomata.c (PROGRESS_OPTION): New macro.
14596 (progress_flag): New global variable.
14597 (gen_automata_option): Process `progress'.
14598 (transform_insn_regexps, check_unit_distributions_to_automata,
14599 make_automaton, NDFA_to_DFA, build_automaton, create_automata,
14600 expand_automata, write_automata): Print about the progress only if
14601 progress_flag. Remove fflush.
14602 (initiate_automaton_gen): Process command line flag `-progress'.
14603
14604 * doc/md.texi: Describe the new option.
f57fc998 14605
9405162e
ZD
146062004-01-13 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14607
14608 * cfg.c (dump_bb): Dump entry edges.
14609
f954388e
RE
146102004-01-13 Richard Earnshaw <rearnsha@arm.com>
14611
f57fc998 14612 * arm.c (thumb_legitimate_address_p): Only allow constant pool
f954388e
RE
14613 references from SImode.
14614 * arm.md (thumb_movhi_insn): Don't allow minipool references.
14615
0fe7abcc
KH
146162004-01-13 Kazu Hirata <kazu@cs.umass.edu>
14617
14618 * system.h (TEXT_SECTION): Poison.
14619 * varasm.c (text_section): Don't use TEXT_SECTION.
14620 * config/sh/sh.c (sh_file_start): Fix a comment typo.
14621 * doc/tm.texi (TEXT_SECTION): Remove.
14622
fdb07791
BE
146232004-01-13 Ben Elliston <bje@wasabisystems.com>
14624
14625 * doc/rtl.texi (Vector Operations): Remove defunct vec_const item.
14626
56067bbe
JW
146272004-01-12 James E Wilson <wilson@specifixinc.com>
14628
14629 * unwind-libunwind.c: Delete.
14630
bc298aa7
ZW
146312004-01-12 Zack Weinberg <zack@codesourcery.com>
14632
14633 PR 13656
14634 * c-decl.c (diagnose_mismatched_decls): Whenever newtype or
14635 oldtype is set, set *newtypep or *oldtypep too. Do not set
14636 them at the very end.
14637 (validate_proto_after_old_defn): Restructure for comprehensibility;
14638 make error messages clearer.
14639
12a08b40
ZW
146402004-01-12 Zack Weinberg <zack@codesourcery.com>
14641
14642 * varray.h (VARRAY_POP): Add checking variant, aborts on underflow.
14643 (VARRAY_TOP): Use VARRAY_CHECK so the access is bounds-checked.
14644 * varray.c: No need to prototype error.
14645 (varray_check_failed): Wrap long string onto two lines.
14646 (varray_underflow): New function.
14647
faed5cc3
SB
146482004-01-13 Steven Bosscher <stevenb@suse.de>
14649
14650 PR c++/13376
14651 * function.h (struct function): Kill `name' field.
14652 (current_function_name): Make it an extern function.
14653 * function.c (current_function_name): New function.
14654 * graph.c: Update all uses of current_function_name.
14655 * gcse.c: Likewise.
14656 * config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c,
14657 config/mips/mips.c, config/pdp11/pdp11.c: Likewise.
14658 * config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P
14659 instead of a strcmp with "main".
14660
2d327012
JH
146612004-01-13 Jan Hubicka <jh@suse.cz>
14662
0bb03c11
JH
14663 * c-decl.c (diagnose_mismatched_decls): Fix warning calls.
14664
2d327012
JH
14665 * cgraphunit.c (cgraph_optimize_function): Always do
14666 optimize_inline_calls when there is always_inline callee.
14667 (cgraph_decide_inlining): Fix formating.
14668 * tree-inline.c (inlinable_function_p): Do sorry for alwaysinline
14669 functions.
14670 (expand_call_inline): Likewise.
14671 * toplev.h (sorry): Fix prototype.
14672
04cc79bb
RS
146732004-01-12 Roger Sayle <roger@eyesopen.com>
14674
14675 * builtins.c (expand_builtin_expect_jump): Simplify logic. Handle
14676 conditional jumps that drop through to unconditional jumps or the
14677 end of the sequence.
14678
3416f5c2
JH
146792004-01-13 Jan Hubicka <jh@suse.cz>
14680
14681 * alias.c (new_alias_set): Construct the alias_set varray.
14682 (init_alias_once): Don't do it here.
14683
f92ed976
ME
146842004-01-12 Marc Espie <espie@openbsd.org>
14685
14686 * system.h: handle YYBYACC like YYBISON.
14687
ff2aaa93
JM
146882004-01-12 Jonathan Merriman <jonm@dualitymedia.com>
14689
14690 PR target/10847
14691 * config.gcc: No longer includes conflicting header sparc/sol2.h when
14692 building on sparc64-*-openbsd*.
14693
c5ff9123
AP
146942004-01-12 Andrew Pinski <pinskia@physics.uc.edu>
14695
14696 PR debug/13539
14697 * dbxout.c (dbxout_type): Protected inheritance is not
14698 private but protected.
14699
3cd2a183
RS
147002004-01-12 Richard Sandiford <rsandifo@redhat.com>
14701
14702 * config/mips/mips.c (mips_symbolic_constant_p): Revert last patch.
14703
5c881655
KH
147042004-01-12 Kazu Hirata <kazu@cs.umass.edu>
14705
14706 PR optimization/12508.
14707 * combine.c (try_combine): Remove a dead set in a parallel
14708 even if its destination is a subreg.
14709
14710 Revert:
14711 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
14712 * combine.c (simplify_set): Don't move a subreg in SET_SRC to
14713 SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
14714
a42f8ae7 147152004-01-12 Geoffrey Keating <geoffk@apple.com>
affad9a4
GK
14716
14717 * real.c: Update copyright date.
14718 * emit-rtl.c: Likewise.
14719 * rtl.h: Likewise.
14720 * dwarf2out.c: Likewise.
14721 * config/rs6000/darwin-ldouble.c: Likewise.
14722 * config/rs6000/rs6000.md: Likewise.
14723
4274207b
DE
147242004-01-12 David Edelsohn <edelsohn@gnu.org>
14725
14726 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Add AIX
14727 TFmode to SImode libfuncs.
14728
06e4eab5
RS
147292004-01-12 Roger Sayle <roger@eyesopen.com>
14730
14731 PR middle-end/11397
14732 * varasm.c (assemble_alias): Remove weak aliases from weak_decls.
14733
432f982f
JH
147342004-01-12 Jan Hubicka <jh@suse.cz>
14735
14736 PR opt/12826
14737 * loop.c (insert_loop_mem): Preffer VOLATILE memory references to be
14738 stored.
14739
14740 PR opt/12863
14741 * cfgcleanup.c (label_is_jump_target_p): Move to...
14742 * rtlanal.c (label_is_jump_target_p): ... here.
14743 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Fix redirecting of fallthru
14744 edges unified with branch edges.
14745
8064d930
RE
147462004-01-12 Richard Earnshaw <rearnsha@arm.com>
14747
14748 * simplify-rtx.c (simplify_immed_subreg): Correctly extract the
14749 high word of an integral CONST_DOUBLE.
14750
1c48f4be 147512004-01-12 Paul Brook <paul@codesourcery.com>
0786ca87
PB
14752
14753 * simplify-rtx.c (simplify_plus_minus): Always generate canonical form.
14754
68d2b0bb 147552004-01-12 J"orn Rennecke <joern.rennecke@superh.com>
07d7d2f4
R
14756
14757 PR target/13585
14758 * sh-protos.h (check_use_sfunc_addr): Declare.
14759 * sh.c (extract_sfunc_addr, check_use_sfunc_addr): New functions.
14760 * sh.md (use_sfunc_addr): Use check_use_sfunc_addr in insn predicate.
14761
c65ecebc
JH
147622004-01-12 Jan Hubicka <jh@suse.cz>
14763
9ddb66ca
JH
14764 * alias.c: Invlude varray.h
14765 (alias_sets): Turn into varray.
14766 (get_alias_set_entry): Use VARRAY; mark inline.
14767 (mems_in_disjoint_alias_sets_p): Mark inline.
14768 (record_alias_subset): Use varray.
14769 (init_alias_once): Initialize varray.
14770 (new_alias_set): Grow array.
14771 * varray.c: Make VARRAY_GENERIC_PTR non GTYized.
14772
147732004-01-12 Jan Hubicka <jh@suse.cz>
14774
14775 Partial fix for PR opt/10776 II
c65ecebc
JH
14776 * cselib.c: Include params.h
14777 (cselib_invalidate_mem): Limit amount of nonconflicting memory
14778 locations.
14779 * params.def (PARAM_MAX_CSELIB_MEMORY_LOCATIONS): New.
14780 * Makefile.in (cselib.o): Depend on params.h
14781
c0657872
RS
147822004-01-12 Richard Sandiford <rsandifo@redhat.com>
14783
14784 * combine.c (combine_simplify_rtx): Don't pass VOIDmode to
14785 simplify_unary_operation if the operand has a known mode.
14786
d2288d5d
HP
147872004-01-12 Hartmut Penner <hpenner@de.ibm.com>
14788
b40ee5d6 14789 PR target/13534
d2288d5d
HP
14790 * gcc/config/rs6000/rs6000.c (word_offset_memref_operand): New
14791 predicate to handle 'ld' conform addresses.
14792 * gcc/config/rs6000/rs6000.h (EXTRA_CONSTRAINT): New 'Y'
14793 contraint.
14794 (EXTRA_MEMORY_CONSTRAINT): Tell reload which constraint
14795 are memory contraints.
12a08b40 14796 * gcc/config/rs6000/rs6000-protos.h (word_offset_memref_operand):
d2288d5d 14797 New prototype.
12a08b40 14798 * gcc/config/rs6000/rs6000.md (*movdf_hardfloat64):
d2288d5d
HP
14799 Change 'o' to 'Y' constraint.
14800 (*movdf_softfloat64): Ditto.
12a08b40 14801
c223cf45
BI
148022004-01-12 Bernardo Innocenti <bernie@develer.com>
14803
14804 * gcc/config/m68k/m68k.md: Switch from the "*..." syntax to the
14805 brace-enclosed syntax in all C output statements.
14806
5fc921c1
DE
148072004-01-12 David Edelsohn <edelsohn@gnu.org>
14808
14809 PR target/13401
14810 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
14811 Objective-C language type value is 14.
14812
48568ec7
MO
148132004-01-12 Markus F.X.J. Oberhumer <markus@oberhumer.com>
14814
14815 PR c/12148
14816 * config/m68k/fpgnulib.c: Fix `-mshort' bugs: Use `long' instead of
14817 `int' in a number of places to make sure we always have a SImode
14818 and not a HImode. Add a 'L' suffix to a number of constants.
14819
124c9423
JDA
148202004-01-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14821
14822 * pa.c: Don't include obstack.h.
14823
14824 * pa.md: Correct constraint in pattern for loading PIC label address.
14825
c924f70c
KK
148262004-01-11 Kaz Kojima <kkojima@gcc.gnu.org>
14827
14828 * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine
14829 before defining.
14830
53efeb8d
SB
148312004-01-11 Steven Bosscher <stevenb@suse.de>
14832
1eee14b9 14833 PR fortran/9972
53efeb8d
SB
14834 * toplev.c (rest_of_handle_inline): Also consider functions
14835 for deferral if the language is GNU F77.
14836
d4968a11
ZW
148372004-01-11 Zack Weinberg <zack@codesourcery.com>
14838
14839 * c-decl.c (diagnose_arglist_conflict): Add missing space to
14840 diagnostic messages.
14841
1759c760
JJ
148422004-01-11 Jakub Jelinek <jakub@redhat.com>
14843
14844 PR middle-end/13392
14845 * builtins.c (expand_builtin_expect_jump): Handle conditional jumps
14846 to drop through label. Don't fall back to SCC even when conditional
14847 jump has not been found.
14848
0bcf8261
JH
148492004-01-11 Jan Hubicka <jh@suse.cz>
14850
fb544601
JH
14851 * invoke.texi: Fix syntax error in previous patch.
14852
0bcf8261
JH
14853 Partial fix for PR opt/10776
14854 * Makefile.in (reload.o): Include param.h
14855 * params.def (PARAM_MAX_RELOAD_SEARCH_INSNS): New parameter.
14856 * reload.c: Include params.h.
14857 (find_equiv_reg): Work limiting check.
14858 * invoke.texi: Document.
14859
bd9131c0
RS
148602004-01-11 Richard Sandiford <rsandifo@redhat.com>
14861
14862 * config/mips/mips.c (mips_symbolic_constant_p): Don't allow
14863 out-of-bounds accesses to string constants. Simplify mips16
14864 case accordingly.
14865
6732ee60
RS
148662004-01-11 Richard Sandiford <rsandifo@redhat.com>
14867
14868 PR optimization/13469
14869 * toplev.c (rest_of_compilation): Call purge_all_dead_edges after
14870 reload_cse_regs (-fnon-call-exceptions only).
14871
14bc6742
KH
148722004-01-11 Kazu Hirata <kazu@cs.umass.edu>
14873
14874 * config/mcore/lib1.asm: Fix comment formatting.
14875 * config/mcore/mcore-elf.h: Likewise.
14876 * config/mcore/mcore.c: Likewise.
14877 * config/mcore/mcore.h: Likewise.
14878 * config/mcore/mcore.md: Likewise.
14879
3c6e6fbf
ZW
148802004-01-10 Zack Weinberg <zack@codesourcery.com>
14881
14882 * c-decl.c (duplicate_decls): Break apart into...
14883 (diagnose_arglist_conflict, validate_proto_after_old_defn)
14884 (locate_old_defn, diagnose_mismatched_decls, merge_decls):
14885 ... these new functions. Restructure for comprehensibility.
14886 Remove various archaic special cases. Always report the
14887 location of the previous declaration when a diagnostic is issued.
14888 (redeclaration_error_message): Fold into diagnose_mismatched_decls.
14889 (match_builtin_function_types): Delete unnecessary forward declaration.
14890
1e8dcb41
ZW
148912004-01-10 Zack Weinberg <zack@codesourcery.com>
14892
14893 * genautomata.c (make_automaton, NDFA_to_DFA):
14894 Print progress bars with '.' characters instead of '*'.
14895 (build_automaton): Change notes to match.
14896
a2ab189d
KH
148972004-01-10 Kazu Hirata <kazu@cs.umass.edu>
14898
14899 * config/m32r/m32r.md: Use define_constants for unspec and
14900 unspec_volatile.
14901
cf7cb67e
JH
149022004-01-10 Jan Hubicka <jh@suse.cz>
14903
c8fdcfae 14904 PR opt/11635
cf7cb67e
JH
14905 * expr.c (expand_expr_real): More curefully expand union casts.
14906
0574200c
KH
149072004-01-10 Kazu Hirata <kazu@cs.umass.edu>
14908
14909 * config/m32r/m32r.md (flush_icache): Use 1 for
14910 unspec_volatile.
14911
a2a0019f
DE
149122004-01-10 David Edelsohn <edelsohn@gnu.org>
14913 James E Wilson <wilson@specifixinc.com>
14914
14915 PR debug/12860
14916 * dbxout.c (dbxout_symbol): Remove initialization of
14917 current_sym_code, current_sym_value, and current_sym_addr.
14918 (dbxout_symbol_location): Same.
14919 (dbxout_prepare_symbol): Zero current_sym_code,
14920 current_sym_value, and current_sym_addr.
14921
bb3f5384
RS
149222004-01-10 Richard Sandiford <rsandifo@redhat.com>
14923
14924 * tree.c (get_unwidened): Reorder conditions so that the null pointer
14925 check is done first.
14926
fbfb16e2
EC
149272004-01-09 Eric Christopher <echristo@redhat.com>
14928
14929 * toplev.c (rest_of_handle_cfg): Add reg_scan pass
14930 if we're running mark_constant_function.
14931
cc23f3c7
JB
149322004-01-09 Jeff Bailey <jbailey@nisa.net>
14933
14934 PR target/12561
14935 * config/t-gnu: Rename SYSTEM_HEADER_DIR to NATIVE_SYSTEM_HEADER_DIR.
14936
975421be
AP
149372004-01-09 Andrew Pinski <pinskia@physics.uc.edu>
14938
14939 PR debug/11231
a2a0019f
DE
14940 * dbxout.c (dbxout_type_fields): Return if any item is
14941 error_mark_node or the type is error_mark_node.
975421be 14942
7e4bd541
GK
149432004-01-09 Geoffrey Keating <geoffk@apple.com>
14944
f01519dd
GK
14945 * config/rs6000/darwin-ldouble.c: Add big comment explaining
14946 exactly what is expected as a 'long double'.
14947 (_xlqadd): When a value to be returned is representable as a
14948 'double', just return it directly, do not construct it using a union.
14949 Also, correct final fixup.
14950 (_xlqmul): Likewise.
14951 (_xlqdiv): Likewise.
14952 * real.c (encode_ibm_extended): Make consistent with darwin-ldouble.c.
14953
7e4bd541
GK
14954 * config/rs6000/rs6000.md (fix_trunctfdi2): Delete.
14955
47069ecb
RH
149562004-01-09 Richard Henderson <rth@redhat.com>
14957
14958 * recog.c (constrain_operands): Validate mem operands.
14959
9813058e
JW
149602004-01-09 James E Wilson <wilson@specifixinc.com>
14961
14962 * gcc.c (init_spec): Remove -lunwind from shared case.
14963 * conifg/ia64/t-hpux (SHLIB_LINK): Add -lunwind.
14964
b0fd7d27
SE
149652004-01-09 Steve Ellcey <sje@cup.hp.com>
14966
14967 * configure.ac: (gcc_cv_ld_hidden) Set to true for ia64*-*-hpux*.
14968 * configure: Regenerate
14969
3897f229
JM
149702004-01-09 Joseph S. Myers <jsm@polyomino.org.uk>
14971
14972 PR c/11234
14973 * c-typeck.c (build_c_cast): If pedantic, warn for conversions
14974 between function and object pointers.
14975 (digest_init): When comparing a pointer to function type to the
14976 target type, only apply TREE_TYPE once to the pointer to function
14977 type.
14978 * except.c (for_each_eh_label_1): Treat data as a pointer to a
14979 function pointer rather than casting it to a function pointer.
14980 (for_each_eh_label): Update caller.
14981 * recog.h (struct insn_data): Use a struct or union for output.
14982 * genoutput.c (output_insn_data): Update.
14983 * final.c (get_insn_template): Update.
14984
0fab64a3
MM
149852004-01-09 Mark Mitchell <mark@codesourcery.com>
14986
14987 * expr.h (expand_expr): Make it a macro, not a function.
14988 (expand_expr_real): New function.
14989 * expr.c (store_expr): Adjust logic for deciding whether or not to
14990 copy the value returned by expand_expr.
14991 (expand_expr): Rename to ...
14992 (expand_expr_real): ... this. Add alt_rtl parameter. Adjust
14993 calls to language hooks.
14994 * c-common.h (c_expand_expr): Adjust prototype.
14995 * c-common.c (c_expand_expr): Add alt_rtl parameter.
14996 * langhooks-def.h (lhd_expand_expr): Change prototype.
14997 * langhooks.c (lhd_expand_expr): Add all_rtl parameter.
14998 * langhooks.h (lang_hooks): Change type of expand_expr.
14999 * stmt.c (stmt_status): Add x_last_expr_alt_rtl.
15000 (last_expr_alt_rtl): Likewise.
15001 (expand_expr_stmt_value): Set last_expr_alt_rtl.
15002 (clear_last_expr): Clear it.
15003 (expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL.
15004 (expand_end_bindings): Save and restor last_expr_alt_rtl.
15005 * tree.def (RTL_EXPR): Give it an additional operand.
15006 * tree.h (RTL_EXPR_ALT_RTL): New macro.
9813058e 15007
df68f43b
KI
150082004-01-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
15009
15010 * config/m32r/m32r.h (TARGET_CPU_CPP_BUILTINS): Add __m32r__.
900a35c8 15011 * config/m32r/m32r.c (call26_operand): Allow in PIC mode.
df68f43b 15012
58ebda9c
KH
150132004-01-09 Kazu Hirata <kazu@cs.umass.edu>
15014
15015 PR target/13380.
15016 * config/m32r/m32r.md: Replace (reg:SI 17) with (reg:CC 17)
15017 or (ne:SI (reg:CC 17) (const_int 0)).
15018 Be specific about modes wherever possible.
15019
81ad38a6
KH
150202004-01-09 Kazu Hirata <kazu@cs.umass.edu>
15021
15022 * config/m32r/m32r.c (m32r_expand_block_move): Call
15023 gen_movestrsi_internal with two more arguments.
15024 (m32r_output_block_move): Adjust operand numbers.
15025 Properly update the source and destination pointers.
15026 * config/m32r/m32r.md (movstrsi_internal): Use 'r' instead of
15027 'r+'. Change the set detinations to match_operand.
15028
b816f339
KH
150292004-01-09 Kazu Hirata <kazu@cs.umass.edu>
15030
15031 * final.c (FIRST_INSN_ADDRESS): Remove.
15032 (shorten_branches): Don't use FIRST_INSN_ADDRESS.
15033 * system.h (FIRST_INSN_ADDRESS): Poison.
15034 * config/avr/avr.h: Remove a comment about FIRST_INSN_ADDRESS.
15035 * config/m32r/m32r-protos.h: Remove the prototype for
15036 m32r_first_insn_address.
15037 * config/m32r/m32r.c (m32r_first_insn_address): Remove.
15038 * config/m32r/m32r.h (FIRST_INSN_ADDRESS): Likewise.
15039 * doc/md.texi (FIRST_INSN_ADDRESS): Likewise.
15040
de99511b
B
150412004-01-09 J. Brobecker <brobecker@gnat.com>
15042
15043 * dwarf2out.c (gen_enumeration_type_die): Return the DIE that
15044 we just created.
15045 (is_ada_subrange_type): DIEs for enumeration subtypes should be
15046 emitted as subrange types too.
15047 (subrange_type_die): Add handling of enumeration subtypes.
15048
90e4e4c5
RH
150492004-01-08 Richard Henderson <rth@redhat.com>
15050
15051 PR opt/12441
15052 Revert: Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
9813058e
JW
15053 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
15054 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
15055 (ix86_address_cost): Be prepared for SUBREGed registers.
15056 (legitimate_address_p): Accept SUBREGed registers.
90e4e4c5 15057
a6a5e4c9
KC
150582004-01-08 Kelley Cook <kcook@gcc.gnu.org>
15059
15060 * Makefile.in: Rename configure.in to configure.ac
15061 * doc/sourcebuild.texi: Likewise.
15062 * configure: Regenerate.
15063 * config.in: Regenerate.
15064
588f75d0
SH
150652004-01-08 Stuart Hastings <stuart@apple.com>
15066
15067 * config/i386/i386.md: Typos in MMX/SSE immediate shifts.
15068
6242fcd8
JH
150692004-01-08 Jan Hubicka <jh@suse.cz>
15070
15071 * cgraphunit.c (cgraph_decide_inlining): Fix typo.
15072
a29077da
GK
150732004-01-08 Geoffrey Keating <geoffk@apple.com>
15074
ecb62ae7
GK
15075 * config/rs6000/rs6000.md (cmptf_internal1): Correct branch offset.
15076 (UNSPEC_FIX_TRUNC_TF): New constant.
15077 (movtf_internal): Make splitter active only when insn is active.
15078 (extenddftf2): Rewrite to properly load zero into low part.
15079 (extenddftf2_internal): New.
15080 (extendsftf2): Rewrite.
15081 (truncdftf2): Correct length.
15082 (floatditf2): Delete.
15083 (fix_trunc_helper): New.
15084 (fix_trunctfdi2): Use fix_trunc_helper.
15085 (fix_trunctfsi2): Likewise.fix_trunc
15086 (fix_trunctfsi2_internal): New.
15087
a29077da
GK
15088 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): lo_sum
15089 addresses are legitimate on Darwin even when flag_pic.
15090 (rs6000_legitimize_reload_address) [TARGET_MACHO]: Don't create
15091 non-offsettable addresses for loads of TFmode constants.
15092
cb1f9d03
KI
150932004-01-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
15094
15095 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit
15096 variables in the appropriate bss section.
15097
7ddb6568
AM
150982004-01-09 Alan Modra <amodra@bigpond.net.au>
15099
15100 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure
15101 target_flags has MASK_POWERPC64 when -m64.
15102 * config/rs6000/rs6000.c (processor_target_table): Add MASK_POWERPC64
15103 to 620, 630, power3, power4 and rs64a entries.
15104 * config/rs6000/rs6000.h (MASK_64BIT): Expand comment.
15105
effdb493
RS
151062004-01-08 Richard Sandiford <rsandifo@redhat.com>
15107
15108 * simplify-rtx.c (simplify_immed_subreg): Fix construction of
15109 floating-point constants.
15110
fbfd77b8
JB
151112004-01-08 J. Brobecker <brobecker@gnat.com>
15112
15113 * dwarf2out.c (subrange_type_die): Add context_die parameter.
15114 Create the subrange_type DIE using the given context DIE.
15115 (modified_type_die): Update call to subrange_type_die.
15116
151172004-01-08 Zack Weinberg <zack@codesourcery.com>
7ce27103
ZW
15118
15119 * dwarf2.h, unwind-dw2-fde.h, unwind-pe.h, unwind.h:
15120 Add multiple-include guard.
15121
ce1f50b2
HP
151222004-01-08 Hartmut Penner <hpenner@de.ibm.com>
15123
7ce27103
ZW
15124 * gcc/config/rs6000/rs6000.c (easy_vector_constant): Accept
15125 all vector constant loadable by vsplt*.
ce1f50b2
HP
15126 (output_vec_const_move): Likewise.
15127
bca63328
JM
151282004-01-07 Joseph S. Myers <jsm@polyomino.org.uk>
15129
15130 PR c/6024
15131 * c-typeck.c (comptypes): Only treat enumerated types in the same
15132 translation unit as compatible with each other when they are the
15133 same type.
15134 * doc/extend.texi: Update.
15135
85b58ca5
JM
151362004-01-07 Joseph S. Myers <jsm@polyomino.org.uk>
15137
15138 PR c/12165
15139 * c-decl.c (grokdeclarator): Take type qualifiers of typedefed
15140 array type from the array element type.
15141
93c9d1ba
AM
151422004-01-07 Alan Modra <amodra@bigpond.net.au>
15143
15144 * config/rs6000/rs6000.c (rs6000_dbx_register_number): New function.
15145 * config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Declare.
15146 * config/rs6000/rs6000.h (DWARF_FRAME_REGNUM): Define.
15147 (DWARF_REG_TO_UNWIND_COLUMN): Correct column adjustment and comment.
15148 * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Define.
15149
deae8de6
EC
151502004-01-06 Eric Christopher <echristo@redhat.com>
15151
15152 * config/mips/mips.h (MDEBUG_ASM_SPEC): Change for dwarf2 default.
15153 (DWARF2_DEBUGGING_INFO): Define.
15154 (PREFERRED_DEBUGGING_TYPE): Set to dwarf2.
15155 * config/mips/openbsd.h (PREFERRED_DEBUGGING_TYPE): Remove.
15156 * config/mips/iris6.h (SUBTARGET_ASM_DEBUGGING_SPEC): Only pass -g0
15157 for irix as.
15158 (SUBTARGET_ASM_OPTIMIZING_SPEC): Only pass O0 for irix as.
15159 * config/mips/iris6gas.h (MDEBUG_ASM_SPEC): Remove.
15160 * config/mips/iris5gas.h: Ditto.
15161 (DBX_DEBUGGING_INFO): Remove.
15162 (DWARF2_DEBUGGING_INFO): Ditto.
15163 (MIPS_DEBUGGING_INFO): Ditto.
15164 (PREFERRED_DEBUGGING_TYPE): Ditto.
15165 * config/mips/elf.h (DWARF2_DEBUGGING_INFO): Remove.
15166 (PREFERRED_DEBUGGING_TYPE): Ditto.
15167 (SUBTARGET_ASM_DEBUGGING_SPEC): Ditto.
15168 * config/mips/elf64.h: Ditto.
15169
fed2b316
JH
151702004-01-06 Jan Hubicka <jh@suse.cz>
15171
15172 * Makefile.in (STAGEPROFILE_FLAGS_TO_PASS): Use -fprofile-generate.
15173 (STAGEFEEDBACK_FLAGS_TO_PASS): Use -fprofile-use.
15174
64d961b8
GK
151752004-01-06 Geoffrey Keating <geoffk@apple.com>
15176
084f5a35
GK
15177 * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Compile darwin-ldouble.c.
15178 (TARGET_LIBGCC2_CFLAGS): Use -mlong-double-128.
15179 * config/rs6000/darwin-ldouble.c: New.
deae8de6 15180
550d1387
GK
15181 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
15182 for constants.
15183 (constant_subword): Delete.
15184 * rtl.h (constant_subword): Delete prototype.
15185 (immed_double_const): Is not in varasm.c.
15186 * simplify-rtx.c (simplify_immed_subreg): New.
15187 (simplify_subreg): Use simplify_immed_subreg.
15188
0c90aa3c
GK
15189 * config/rs6000/rs6000.md (floatsitf2): Use expand_float rather
15190 than trying to generate RTL directly.
15191 (fix_trunctfsi2): Use expand_fix rather than trying to generate
15192 RTL directly.
15193
64d961b8
GK
15194 * dwarf2out.c (add_const_value_attribute): Remove incorrect comment.
15195
72b38561
DE
151962004-01-06 David Edelsohn <edelsohn@gnu.org>
15197
15198 * config/rs6000/xcoff.h (EXTRA_SECTION_FUNCTIONS): Split each
15199 function into a separate macro.
15200 (read_only_data_section): Add void argument.
15201 (private_data_section): Same.
15202 (read_only_private_data_section): Same.
15203 (toc_section): Same.
15204
9a609388
JH
152052004-01-06 Jan Hubicka <jh@suse.cz>
15206
0aaae060
JH
15207 * invoke.texi: Remove typo in last change.
15208
9a609388
JH
15209 PR target/10301
15210 * config.gcc: Accept opteron and athlon-64 as variants
15211 of k8.
15212 * i386.c (override_options): Likewise.
15213 * invoke.texi (i386 -mtune): Expand documentation.
15214
5d3cc252
KH
152152004-01-06 Kazu Hirata <kazu@cs.umass.edu>
15216
15217 * alias.c: Fix comment typos.
15218 * builtins.c: Likewise.
15219 * cfg.c: Likewise.
15220 * df.c: Likewise.
15221 * dominance.c: Likewise.
15222 * dwarf2out.c: Likewise.
15223 * emit-rtl.c: Likewise.
15224 * expr.c: Likewise.
15225 * final.c: Likewise.
15226 * fold-const.c: Likewise.
15227 * gcse.c: Likewise.
15228 * genattrtab.c: Likewise.
15229 * genrecog.c: Likewise.
15230 * gensupport.c: Likewise.
15231 * ggc-zone.c: Likewise.
15232 * integrate.c: Likewise.
15233 * local-alloc.c: Likewise.
15234 * loop.c: Likewise.
15235 * recog.c: Likewise.
15236 * regmove.c: Likewise.
15237 * reg-stack.c: Likewise.
15238 * reorg.c: Likewise.
15239 * rtlanal.c: Likewise.
15240 * rtl.h: Likewise.
15241 * sched-ebb.c: Likewise.
15242 * simplify-rtx.c: Likewise.
15243 * toplev.c: Likewise.
15244 * varasm.c: Likewise.
15245
95ea367d
KH
152462004-01-06 Kazu Hirata <kazu@cs.umass.edu>
15247
15248 * doc/install.texi: Fix typos.
15249 * doc/invoke.texi: Likewise.
15250 * doc/md.texi: Likewise.
15251
f26ef713
KI
152522004-01-06 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
15253
15254 * config/m32r/m32r.h (TRAMPOLINE_LINE_SIZE): Changed
15255
bcf17554
JH
152562004-01-06 Jan Hubicka <jh@suse.cz>
15257
15258 * i386.c (init_cumulative_args): Add handling of MMX_REGPARM.
15259 (function_arg_advance): Do not pass aggregates in SSE; deal handling
15260 of MMX_REGPARM.
15261 (function_arg): Add new warnings about ABI changes; fix SSE_REGPARM;
15262 add MMX_REGPARM.
15263 * i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields.
15264 (SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI.
15265 (MMX_REGPARM_MAX): Similarly for -mmmx.
15266
24746a42
KH
152672004-01-05 Kazu Hirata <kazu@cs.umass.edu>
15268
15269 * config/sh/linux.h: Fix comment formatting.
15270 * config/sh/netbsd-elf.h: Likewise.
15271 * config/sh/sh.c: Likewise.
15272 * config/sh/sh.h: Likewise.
15273 * config/sh/vxworks.h: Likewise.
15274
f7e7e318
KH
152752004-01-05 Kazu Hirata <kazu@cs.umass.edu>
15276
15277 * system.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Poison.
15278 * toplev.c (output_file_directive): Don't use
15279 ASM_OUTPUT_MAIN_SOURCE_FILENAME.
15280
80a08664
SB
152812004-01-05 Steven Bosscher <s.bosscher@student.tudelft.nl>
15282
15283 * toplev.c: Fix broken checkin of 2003-12-30.
15284
02fef853 152852004-01-05 Daniel Berlin <dberlin@dberlin.org>
deae8de6 15286
02fef853
DB
15287 * ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS
15288 (USING_MMAP): We don't support non-mmap.
15289 (struct alloc_chunk): Steal 1 bit from typecode, use it to mark
15290 large objects.
15291 (struct page_entry): Remove bytes_free.
15292 (struct page_table_chain): Remove.
15293 (struct globals): Remove page_table member.
15294 (loookup_page_table_entry): Function deleted.
15295 (set_page_table_entry): Ditto.
15296 (ggc_allocated_p): No longer need page table lookups.
15297 (ggc_marked_p): Ditto.
15298 (alloc_small_page): Don't care about bytes_free anymore.
15299 (alloc_large_page): Round up size.
15300 (ggc_alloc_zone_1): Mark large objects as such, and calculate
deae8de6 15301 their size the new way.
02fef853
DB
15302 Remove page table lookups and setting.
15303 (ggc_get_size): Calculate large object size the new way.
15304 (sweep_pages): Redo to account for fact that we no longer have
15305 bytes_free.
15306 (ggc_collect): No longer need to reincrement bytes_free.
15307 (ggc_pch_alloc_object): Handle new large objects properly.
15308 (ggc_pch_read): Put PCH stuff into it's own uncollected zone.
15309
60b799fd
KH
153102004-01-05 Kazu Hirata <kazu@cs.umass.edu>
15311
15312 * doc/invoke.texi: Remove a page break.
15313
908c8c7e
KH
153142004-01-05 Kazu Hirata <kazu@cs.umass.edu>
15315
15316 * config/avr/avr.c (avr_output_function_prologue): Remove an
15317 extra pair of curly braces.
15318
8596d0a1
KH
153192004-01-05 Kazu Hirata <kazu@cs.umass.edu>
15320
15321 * config/mn10300/mn10300.c: Fix comment formatting.
15322 * config/mn10300/mn10300.h: Likewise.
15323
1e2d4dc1
RK
153242004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15325
15326 * tree.h: Update documentation on nothrow_flag.
15327 * print-tree.c (print_node): Print TREE_NOTHROW as "align-ok" for
15328 types.
15329
b6e69d94
KH
153302004-01-05 Kazu Hirata <kazu@cs.umass.edu>
15331
15332 * doc/invoke.texi: Remove traces of dead ports.
15333
1cf959cb
RS
153342004-01-05 Richard Sandiford <rsandifo@redhat.com>
15335
15336 * doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs
15337 option.
15338
f6149877
RS
153392004-01-05 Richard Sandiford <rsandifo@redhat.com>
15340
15341 PR target/12945
15342 * coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for
b56c0023 15343 counter labels.
f6149877
RS
15344 * config/mips/mips.c (INTERNAL_SYMBOL_P): Delete.
15345 (mips_classify_symbol): Always treat SYMBOL_REF_FLAG as indicating
15346 string constants if TARGET_MIPS16. Use SYMBOL_REF_DECL to check
15347 the binding of decl symbols, otherwise check SYMBOL_REF_LOCAL_P.
15348 (mips_symbol_insns): Don't trust the local/global classification.
15349 (m16_usym8_4, m16_usym5_4): Same mips16 change as mips_classify_symbol.
15350 (override_options): Make -mabicalls -fno-unit-at-a-time imply
15351 -mno-explicit-relocs.
15352 (mips_encode_section_info): Don't use SYMBOL_REF_FLAG to distinguish
15353 between local and global symbols.
15354
a6008bd8
RS
153552004-01-05 Richard Sandiford <rsandifo@redhat.com>
15356
15357 * config/mips/mips-protos.h (mips_dangerous_for_la25_p): Declare.
15358 (mips_preferred_reload_class): Declare.
15359 * config/mips/mips.h (DANGEROUS_FOR_LA25_P): Replace with function.
15360 (EXTRA_CONSTRAINT): Update accordingly.
15361 (PREFERRED_RELOAD_CLASS): Use mips_preferred_reload_class.
15362 * config/mips/mips.c (mips_dangerous_for_la25_p): New function.
15363 (mips_preferred_reload_class): New function. Prefer LEA_REGS if
15364 mips_dangerous_for_la25_p.
15365 (mips_secondary_reload_class): Use LEA_REGS rather than GR_REGS
15366 if mips_dangerous_for_la25_p.
15367
d7b3c085
BI
153682004-01-05 Bernardo Innocenti <bernie@develer.com>
15369
15370 * config/m68k/m68k.c (output_andsi3): Fix signed/unsigned comparison
deae8de6 15371 warning.
d7b3c085 15372
ca9bc441
NN
153732004-01-04 Nathanael Nerode <neroden@gcc.gnu.org>
15374
15375 * configure.ac: Use AC_PROG_CPP_WERROR.
15376 * configure: Regenerate.
15377
016d7f3e
ZW
153782004-01-04 Zack Weinberg <zack@codesourcery.com>
15379
15380 * .cvsignore: Add autom4te.cache.
15381
5a4b3afd
RS
153822004-01-04 Richard Sandiford <rsandifo@redhat.com>
15383
15384 * doc/invoke.texi: Revamp documentation of MIPS options. Remove
15385 -mabi=meabi, -mabi-fake-default, -mmips-as, -mgas, -mmips-tfile,
15386 -m4650, -mfix7000 and -(m)no-crt0. Put endianness options first,
15387 then architecture options, then ABI options. General rewording.
15388
928a5ba9
JM
153892004-01-04 Joseph S. Myers <jsm@polyomino.org.uk>
15390
15391 PR c/3414
15392 * doc/extend.texi: Clarify definition of malloc attribute.
15393
dc0bfe6a
JH
153942004-01-04 Jan Hubicka <jh@suse.cz>
15395
15396 * Makefile.in (cgraph.o, cgraphunit.o): Add intl.h dependency.
15397 * cgraph.c (create_edge, dump_cgraph): Update to use inline_failed
15398 * cgraph.h (cgraph_edge): Replace inline_call by inline_failed
15399 (cgraph_inline_p): Add extra argument reason.
15400 * cgraphunit.c: Minor formating fixes.
15401 cgraph_first_inlined_callee): New functions.
15402 (record_call_1): Record builtins too.
15403 (cgraph_analyze_function): Update inline_failed messages.
15404 (cgraph_mark_functions_to_output, cgraph_expand_function, cgraph_inlined_into,
15405 cgraph_inlined_callees, cgraph_estimate_growth): Update to use inline_failed.
15406 (cgraph_check_inline_limits): Likewise; Add argument reason.
15407 (cgraph_set_inline_failed): New static function.
15408 (cgraph_decide_inlining_of_small_function, cgraph_decide_inlining): Set
15409 reasons.
15410 (cgraph_inline_p): Add new argument reason.
15411 * tree-inline.c (expand_call_inline): Update warning.
15412
ba479fd2
NN
154132004-01-03 Nathanael Nerode <neroden@gcc.gnu.org>
15414
914c5af7
NN
15415 * configure.ac: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
15416 with modern equivalents.
15417 * configure: Regenerate.
15418
016d7f3e
ZW
15419 * configure.ac: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
15420 * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
15421 * configure: Regenerate.
78c9cb99 15422
d44f1a00
NN
15423 * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
15424
ba479fd2
NN
15425 * configure.in: Rename to configure.ac.
15426 * configure.ac: Renamed from configure.in; make minimum necessary
15427 changes for autoconf 2.5x.
15428 * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
15429 * configure: Regenerate with autoconf 2.57.
15430
031a26c5
KH
154312004-01-03 Kazu Hirata <kazu@cs.umass.edu>
15432
15433 * config/mips/linux.h: Fix comment formatting.
15434 * config/mips/mips.c: Likewise.
15435 * config/mips/mips.h: Likewise.
15436 * config/mips/mips.md: Likewise.
15437 * config/mips/netbsd.h: Likewise.
15438 * config/mips/windiss.h: Likewise.
15439
b87cfcfb
RH
154402004-01-02 Richard Henderson <rth@redhat.com>
15441
15442 * config/i386/i386.md (fp constant pool splitter): Reorg suppression
15443 for sse and 387; add suppression for mmx.
15444
36579663
AP
154452004-01-02 Andrew Pinski <pinskia@physics.uc.edu>
15446
9d85830f
AP
15447 * loop.c (loop_optimize): Free all loops_info's mems.
15448
016d7f3e 15449 * c-typeck.c (finish_init): Free spelling_base before
36579663 15450 setting it again.
016d7f3e 15451
36579663
AP
15452 * cfgloop.c (flow_loops_find): Always free the sbitmap
15453 headers.
15454
15455 * predict.c (estimate_probability): Free bbs after being
15456 done with it.
15457
3864b6fe
KH
154582004-01-02 Kazu Hirata <kazu@cs.umass.edu>
15459
15460 * config/mn10300/mn10300.h (PREDICATE_CODES): Add
15461 const_8bit_operand and call_address_operand.
15462
8b6bd5d7
JH
154632004-01-02 Jan Hubicka <jh@suse.cz>
15464
15465 * cgraphunit.c (cgraph_optimize_function): Call optimize_inline_calls
15466 when there is nothing to inline but warnings are requested.
15467 (cgraph_decide_inlining): Fix memory leak.
15468
9b9bd3b2
JH
154692004-01-02 Jan Hubicka <jh@suse.cz>
15470
15471 * expr.c (store_constructor): Fix pasto in previous patch.
15472
43f3a59d
KH
154732004-01-02 Kazu Hirata <kazu@cs.umass.edu>
15474
15475 * config/i386/cygming.h: Fix comment formatting.
15476 * config/i386/djgpp.h: Likewise.
15477 * config/i386/gthr-win32.c: Likewise.
15478 * config/i386/i386-interix.h: Likewise.
15479 * config/i386/i386.c: Likewise.
15480 * config/i386/i386.h: Likewise.
15481 * config/i386/openbsd.h: Likewise.
15482 * config/i386/winnt.c: Likewise.
15483 * config/i386/xm-mingw32.h: Likewise.
15484
daef8bbd
JM
154852004-01-02 Joseph S. Myers <jsm@polyomino.org.uk>
15486
15487 * doc/gcc.texi, doc/invoke.texi, doc/install.texi: Update
15488 copyright and last modification dates.
15489
7e081a0c
AJ
154902004-01-02 Andreas Jaeger <aj@suse.de>, Gerald Pfeifer <gp@suse.de>
15491
15492 * doc/install.texi (Specific): Mention x86_64.
15493
ac3f5df7
HPN
154942004-01-01 Hans-Peter Nilsson <hp@bitrange.com>
15495
15496 * builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]:
15497 Call force_operand on plus_constant result.
15498
997404de
JH
154992004-01-01 Jan Hubicka <jh@suse.cz>
15500
15501 * expmed.c (store_bit_field, extract_bit_field): Use new named patterns
15502 * expr.c (store_constructor): Use vec_init pattern.
15503 * genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init.
15504 * optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init
15505 (vec_set_optab, vec_extract_optab, vec_init_optab): New.
15506 * i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf):
15507 New patterns.
15508 (sse2_unpc?pd): Fix pattern.
15509 (sse2_movlpd): Kill.
15510 (sse2_movsd): Deal with movlpd too.
15511 * i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd.
15512 (ix86_expand_vector_init): New.
15513 * emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions.
15514 * md.texi (vec_set, vec_extract): Document
15515
b684a3df
JH
155162003-12-31 Jan Hubicka <jh@suse.cz>
15517
15518 PR opt/13473
15519 * recog.c (validate_replace_rtx_1): Take care for RTL sharing inside
15520 ASM input operands
15521
15522 PR opt/12617
15523 * toplev.c (dump_file_index): Reorder ce3 and bbro.
15524 (dump_file): Likewise.
15525 (rest_of_compilation): Likewise.
15526
15527 PR debug/13367
15528 * cgraph.c (cgraph_function_possibly_inlined): Even with
15529 flag_really_no_inline we inline always_inline functions.
15530 * cgraphunit.c (cgraph_analyze_function): Clear inlinable flag
15531 for non-always_inline functions when there is flag_really_no_inline.
15532 (cgraph_decide_inlining): Limit work done when not inlining.
15533 (cgraph_decide_inlining_incrementally): Likewise.
15534 (cgraph_optimize_function): Check whether something got inlined.
15535 * c-objc-common.c (c_disregard_inline_limits): Do not always inline
15536 extern inline functions when not inlining.
15537
15538 * opts.c (decode_options): Disable crossjumping at -O1
15539 * invoke.texi (-O1): Document change.
a55f4481 15540
cd14f58c 15541See ChangeLog.10 for earlier changes.
This page took 1.848698 seconds and 5 git commands to generate.