]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
c-aux-info.c, [...]: Follow code formatting conventions.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
3f75a254
JM
12004-10-03 Joseph S. Myers <jsm@polyomino.org.uk>
2
3 * c-aux-info.c, c-common.c, c-common.h, c-cppbuiltin.c, c-decl.c,
4 c-format.c, c-incpath.c, c-lex.c, c-objc-common.c, c-opts.c,
5 c-parse.in, c-pch.c, c-ppoutput.c, c-pragma.c, c-typeck.c: Follow
6 code formatting conventions.
7
57c1f13e
RS
82004-10-03 Richard Sandiford <rsandifo@redhat.com>
9
10 * config/mips/mips.md (<u>mulsidi3_32bit_r4000): Fix unsigned case.
11
24109c9f
KH
122004-10-03 Kazu Hirata <kazu@cs.umass.edu>
13
807e955b 14 PR tree-optimization/16632
24109c9f
KH
15 * fold-const.c (fold) [EQ_EXPR]: When seeing if D & ~C != 0 to
16 fold (A & C) == D into 0, fold ~C. Similarly, for the case
17 where | is used instead of &.
18
d3471d77
KH
192004-10-03 Kazu Hirata <kazu@cs.umass.edu>
20
21 * ginclude/stddef.h: Fix a comment typo.
22
fe7378d2
EB
232004-10-03 Eric Botcazou <ebotcazou@libertysurf.fr>
24
25 PR target/17443
26 * config.gcc (i?86-*-solaris2*): Restore correct logic
27 for --enable-threads option.
28 (sparc64-*-solaris2*): Likewise.
29 (sparc-*-solaris2*): Likewise.
30
bf276e5c
AM
312004-10-03 Alan Modra <amodra@bigpond.net.au>
32
33 * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
34 (OS_MISSING_POWERPC64): Move, and comment.
35 * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
36 (OS_MISSING_POWERPC64): Move, and comment.
37
07ec3810
ILT
382004-10-02 Ian Lance Taylor <ian@wasabisystems.com>
39
40 * arm.c (output_call_mem): Add missing \t.
41
3e6b6386
KG
422004-10-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
43
44 * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp,
45 expand_builtin_strncmp): Delete duplicate code.
46
fefbfa21
FCE
472004-10-02 Frank Ch. Eigler <fche@redhat.com>
48
49 * tree-mudflap.c (mf_build_check_statement_for): Reorganize to
50 take check-base and -limit arguments.
51 (mf_xform_derefs_1): Reorganize slightly to pass proper base/limit
52 check ranges for ARRAY_REF and COMPONENT_REF.
53 (execute_mudflap_fnction_ops, ..._decls): Limit unnecessary
54 instrumentation.
55
7848dfca
JM
562004-10-02 Joseph S. Myers <jsm@polyomino.org.uk>
57
58 * c-objc-common.c (c_tree_printer): Correct description of %E.
59 Don't fall through after printing an expression.
60
66efeafc
KH
612004-10-02 Kazu Hirata <kazu@cs.umass.edu>
62
63 * tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos.
64
26d4492f
KH
652004-10-02 Kazu Hirata <kazu@cs.umass.edu>
66
67 * tree-cfg.c (cleanup_tree_cfg): Speed up by calling
68 delete_unrechable_blocks() only when necessary.
69
ee0f32f4
D
702004-10-02 P.J. Darcy <darcypj@us.ibm.com>
71
72 * gthr-tpf.h (__gthread_recursive_mutex_t): New type.
73 (__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
74 (__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
75 __gthread_recursive_mutex_unlock): New functions.
76
3ff688aa
D
772004-10-02 P.J. Darcy <darcypj@us.ibm.com>
78
79 * config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c.
80 * config/s390/tpf-eh.c: Remove file.
81 * config/s390/tpf-unwind.h: New file.
82 * config/s390/tpf.h (MD_FALLBACK_FRAME_STATE_FOR): Remove.
83 (MD_UNWIND_SUPPORT): Define.
84
36262a4c
JM
852004-10-02 Joseph S. Myers <jsm@polyomino.org.uk>
86
87 * c-typeck.c (warn_for_assignment): Don't permit argnum == 0.
88
5b022de5
UW
892004-10-01 Ulrich Weigand <uweigand@de.ibm.com>
90
91 * config/s390/s390-protos.h (s390_comparison): Add prototype.
92 * config/s390/s390.c (s390_comparison): New function.
93 (s390_branch_condition_mask): Return -1 for invalid comparisons.
94 (s390_branch_condition_mnemonic): Assert valid comparison.
95 * config/s390/s390.h (PREDICATE_CODES): Add s390_comparison.
96 * config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long",
97 "*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use
98 s390_comparison instead of comparison_operator.
99
100 * config/s390/s390.md (UNSPEC_CMPINT): New constant.
101 ("cmpmemdi"): Remove.
102 ("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode.
103 ("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise.
104 ("cmpint_si"): Rename to ...
105 ("*cmpint_si"): ... this. Use UNSPEC_CMPINT.
106 ("cmpint_di", "*cmpint_di"): Likewise.
107 * config/s390/s390.c (s390_canonicalize_comparison): Remove
108 redundant UNSPEC_CMPINT conversions.
109 (s390_expand_cmpmem): Adapt to cmpint pattern changes.
110
b89dc911
KH
1112004-10-01 Kazu Hirata <kazu@cs.umass.edu>
112
113 * collect2.c (COLLECT_PARSE_FLAG): Remove.
114 (main): Remove a reference to COLLECT_PARSE_FLAG
115 * system.h: Poison COLLECT_PARSE_FLAG.
116 * doc/tm.texi (COLLECT_PARSE_FLAG): Remove.
117
e367a231
PB
1182004-10-01 Paul Brook <paul@codesourcery.com>
119
120 * config/arm/crti.asm: Give _init and _fini function type.
121
47bcd07d
ZD
1222004-10-01 Zdenek Dvorak <dvorakz@suse.cz>
123
124 * common.opt (ftree-loop-ivcanon): Enable by default.
125 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
126 Enable complete loop unrolling.
127 (canonicalize_induction_variables, tree_unroll_loops_completely):
128 Reset scev info.
129
e367a231 1302004-10-01 Paul Brook <paul@codesourcery.com>
c73d282d
PB
131
132 * config/arm/arm.c (thumb_compute_saved_rag_mask): Or with bitmask,
133 not register number.
134 (thumb_find_work_register): Search full register range.
135
29c4d22b
AP
1362004-10-01 Andrew Pinski <pinskia@physics.uc.edu>
137
138 PR tree-opt/17343
139 * tree-cfg.c (group_case_labels): Get the label and not
140 the case expr for the default case.
141 When the label we looking at is the default, decrement the
142 new_size.
143
0f0377f6
JH
1442004-10-01 Jan Hubicka <jh@suse.cz>
145
146 * c-decl.c (c_expand_body): Update call tree_rest_of_compilation.
147 * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
148 * toplev.h (tree_rest_of_compilation): Update prototype.
149 * tree-optimize.c (tree_rest_of_compilation): Kill nested_p argument.
150
8f28be81
KH
1512004-10-01 Kazu Hirata <kazu@cs.umass.edu>
152
153 * tree-cfg.c (cleanup_tree_cfg): Pull a call to
154 cleanup_control_flow() out of the while loop.
155
02ca1718
PB
1562004-10-01 Paolo Bonzini <bonzini@gnu.org>
157
158 * tree-vectorizer.c (vectorizable_operation): Fail unless
159 the mode for the vector type is indeed a vector mode.
160
e6845c23
ZD
1612004-10-01 Zdenek Dvorak <dvorakz@suse.cz>
162
163 * tree-chrec.c (chrec_fold_plus_poly_poly, chrec_fold_plus_1,
164 chrec_fold_multiply): Use fold_convert or build_int_cst_type instead
02ca1718 165 of convert.
e6845c23
ZD
166 * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
167 add_to_evolution, set_nb_iterations_in_loop, follow_ssa_edge_in_rhs,
168 follow_ssa_edge_in_rhs): Ditto.
169 * tree-ssa-loop-ivopts.c (struct iv): Add base_object field.
170 (dump_iv): Dump base_object.
171 (dump_use, dump_cand): Use dump_iv.
172 (determine_base_object): New function.
173 (alloc_iv): Initialize base_object field.
174 (record_use): Clear the ssa_name field of iv.
175 (get_computation_cost_at): Do not use difference of addresses of
176 two different objects.
177 (may_eliminate_iv): Do not require the loop to have just single exit.
178 * tree-ssa-loop-niter.c (zero_p): Do not check for overflows.
179 (nonzero_p): New function.
180 (inverse, number_of_iterations_cond, simplify_using_outer_evolutions,
181 tree_simplify_using_condition, simplify_using_initial_conditions,
182 loop_niter_by_eval, find_loop_niter_by_eval,
183 estimate_numbers_of_iterations_loop, compare_trees,
184 upper_bound_in_type, lower_bound_in_type,
185 can_count_iv_in_wider_type_bound): Use buildN instead of build. Use
186 fold_convert or build_int_cst_type instead of convert. Use (non)zero_p
187 instead of integer_(non)zerop.
188
5496b36f
JJ
1892004-10-01 Jakub Jelinek <jakub@redhat.com>
190
191 Revert
192 2004-09-29 Jakub Jelinek <jakub@redhat.com>
193
194 * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
195 and TI_VA_LIST_FPR_COUNTER_FIELD.
196 (va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
197 * tree-pass.h (pass_stdarg): Add.
198 * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
199 * tree-stdarg.c: New file.
200 * Makefile.in (OBJS-common): Add tree-stdarg.o.
201 (tree-stdarg.o): Add dependencies.
202 * function.h (struct function): Add va_list_gpr_size and
203 va_list_fpr_size fields.
204 * function.c (allocate_struct_function): Initialize them.
205
206 * config/i386/i386.c (ix86_build_builtin_va_list): Initialize
207 va_list_{g,f}pr_counter_field.
208 (ix86_setup_incoming_varargs): Don't do anything if reg_save
209 area will not be used. Only save registers that tree-stdarg.c
210 detected they need saving.
211 (ix86_va_start): Don't set up fields that won't be used.
212
213 * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
214 va_list_{g,f}pr_counter_field.
215 (setup_incoming_varargs): Don't do anything if reg_save
216 area will not be used. Only save registers that tree-stdarg.c
217 detected they need saving.
218 (rs6000_va_start): Don't set up fields that won't be used.
219
a1c496cb
EC
2202004-09-30 Eric Christopher <echristo@redhat.com>
221
222 * dwarf2.h (dwarf_calling_convention): Add enum for renesas
223 sh abi.
224 * dwarf2out.c (add_calling_convention_attribute): New function.
225 (gen_subroutine_type_die): Use.
226 * target-def.h (TARGET_DWARF_CALLING_CONVENTION): New hook.
227 * target.h (gcc_target): Add dwarf_calling_convention.
228 * hooks.c (hook_int_tree_0): New function.
229 * hooks.h: Prototype.
230 * config/sh/sh.c: Include dwarf2.h.
231 (sh_dwarf_calling_convention): New function.
232 (TARGET_DWARF_CALLING_CONVENTION): Use.
233 * doc/tm.texi (TARGET_DWARF_CALLING_CONVENTION): Document.
234
bd042dbb
KG
2352004-09-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
236
237 * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
238 expand_builtin_strrchr, expand_builtin_strpbrk,
239 expand_builtin_strncat, expand_builtin_strspn,
240 expand_builtin_strcspn, expand_builtin_fputs): Eliminate duplicate
241 code.
242
8cb66696
UW
2432004-09-30 Ulrich Weigand <uweigand@de.ibm.com>
244
245 * config/s390/s390-protos.h (s390_expand_logical_operator): Add
246 prototype.
247 (s390_logical_operator_ok_p): Likewise.
248 * config/s390/s390.c (s390_expand_logical_operator): New function.
249 (s390_logical_operator_ok_p): Likewise.
250 * config/s390/s390.md ("anddi3"): New expander.
251 ("*anddi3"): Rename from old anddi3 pattern, add Q->Q alternative.
252 ("*anddi3_ss", "*anddi3_ss_inv"): Remove.
253 ("andsi3"): Use s390_expand_logical_operator.
254 ("*andsi3_esa", "*andsi3_zarch"): Add Q->Q alternative.
255 ("*andsi3_ss", "*andsi3_ss_inv"): Remove.
256 ("andhi3"): New expander.
257 ("*andhi3_zarch", "*andhi3_esa"): New patterns.
258 ("andhi3", "*andhi3_ni", "*andhi3_ss", "*andhi3_ss_inv"): Remove.
259 ("andqi3"): New expander.
260 ("*andqi3_zarch", "*andqi3_esa"): New patterns.
261 ("andqi3", "*andqi3_ni", "*andqi3_ss", "*andqi3_ss_inv"): Remove.
262 ("iordi3"): New expander.
263 ("*iordi3"): Rename from old iordi3 pattern, add Q->Q alternative.
264 ("*iordi3_ss", "*iordi3_ss_inv"): Remove.
265 ("iorsi3"): Use s390_expand_logical_operator.
266 ("*iorsi3_esa", "*iorsi3_zarch"): Add Q->Q alternative.
267 ("*iorsi3_ss", "*iorsi3_ss_inv"): Remove.
268 ("iorhi3"): New expiorer.
269 ("*iorhi3_zarch", "*iorhi3_esa"): New patterns.
270 ("iorhi3", "*iorhi3_ni", "*iorhi3_ss", "*iorhi3_ss_inv"): Remove.
271 ("iorqi3"): New expiorer.
272 ("*iorqi3_zarch", "*iorqi3_esa"): New patterns.
273 ("iorqi3", "*iorqi3_ni", "*iorqi3_ss", "*iorqi3_ss_inv"): Remove.
274 ("xordi3"): New expander.
275 ("*xordi3"): Rename from old xordi3 pattern, add Q->Q alternative.
276 ("*xordi3_ss", "*xordi3_ss_inv"): Remove.
277 ("xorsi3"): New expander.
278 ("*xorsi3"): Rename from old xorsi3 pattern, add Q->Q alternative.
279 ("*xorsi3_ss", "*xorsi3_ss_inv"): Remove.
280 ("xorhi3"): New expander.
281 ("*xorqi3"): Rename from old xorhi3 pattern, add Q->Q alternative.
282 ("*xorhi3_ss", "*xorhi3_ss_inv"): Remove.
283 ("xorqi3"): New expander.
284 ("*xorqi3"): Rename from old xorqi3 pattern, add Q->Q alternative.
285 ("*xorqi3_ss", "*xorqi3_ss_inv"): Remove.
286
7d103eb5
RS
2872004-09-30 Roger Sayle <roger@eyesopen.com>
288
289 * combine.c (force_to_mode) <NE_EXPR>: Only convert the expression
290 (AND (NE FOO 0) CONST) into (AND FOO CONST) if FOO has the same
291 machine mode as the result.
292
dc4f06d9
BE
2932004-09-30 Ben Elliston <bje@au.ibm.com>
294
295 PR bootstrap/17761
296 * lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and
297 FOR_EACH_EDGE macros.
298
9bf24266
JM
2992004-09-30 Joseph S. Myers <jsm@polyomino.org.uk>
300
301 * c-tree.h (readonly_error): Remove.
302 * c-typeck (enum lvalue_use): New.
303 (lvalue_or_else, readonly_error): Use it. All callers changed.
304 (readonly_error): Make static.
305
a7102479
JH
3062004-09-30 Jan Hubicka <jh@suse.cz>
307
308 PR debug/13974
309 * cfgrtl.c (try_redirect_by_replacing_jump,
310 force_nonfallthru_and_redirect, commit_one_edge_insertion,
311 cfg_layout_merge_blocks): Do not attach any line number information
312 to newly inserted instructions.
313 * emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
314 emit_insn_*_noloc.
315 (emit_*insn_before, emit_insn*_after): New.
316 (emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
317 existing locators.
318 * rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
319 (emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
320
91086990
UW
3212004-09-30 Ulrich Weigand <uweigand@de.ibm.com>
322
323 * config/s390/s390-protos.h (s390_arg_frame_offset): Remove.
324 (s390_return_address_offset): Remove.
325 (s390_can_eliminate): Add prototype.
326 (s390_initial_elimination_offset): Add prototype.
327 * config/s390/s390.h (CAN_ELIMINATE): Call s390_can_eliminate.
328 (INITIAL_ELIMINATION_OFFSET): Call s390_initial_elimination_offset.
329 * config/s390/s390.c (s390_arg_frame_offset): Remove.
330 (s390_return_address_offset): Remove.
331 (s390_can_eliminate, s390_initial_elimination_offset): New functions.
332 (struct machine_function): New member split_branches_pending_p.
333 (s390_mainpool_start): Allow nonexistant pool insn for empty pool.
334 (s390_mainpool_finish): Likewise. Clear base_reg if pool empty.
335 (s390_optimize_prologue): Remove base_used argument. Call
336 s390_update_frame_layout instead of s390_register_info. Handle
337 prologue/epilogue insns that touch only RETURN_REGNUM.
338 (s390_reorg): Remove base_used. Clear split_branches_pending_p.
a1c496cb 339 (s390_register_info): Remove base_used and return_addr_used
91086990
UW
340 arguments, compute special register usage inline. Return live
341 register data to caller.
342 (s390_frame_info): Remove arguments, do not call s390_register_info.
343 (s390_init_frame_layout): New function.
344 (s390_update_frame_layout): Likewise.
345 (s390_emit_prologue): Call s390_update_frame_layout; some code
346 move to there. Do not emit pool placeholder insn if unnecessary.
347
13c025c1
UW
3482004-09-30 Ulrich Weigand <uweigand@de.ibm.com>
349
350 * config/s390/s390.c (legitimate_reload_constant_p): Remove
351 floating point constant workaround.
352 (s390_secondary_input_reload_class): Handle PLUS reloads
353 with too-large constant.
354 (s390_expand_plus_operand): Likewise.
355 * config/s390/s390.md ("movdi"): Do not call force_const_mem.
356 ("movsi"): Likewise. Also, remove workaround for non-general
357 operands.
358 ("movdf"): Do not call force_const_mem.
359 ("movsf"): Likewise. Merge expander with *movsf insn.
360 ("*movsf"): Remove, merge with movsf expander.
361
99b2692a
PB
3622004-09-30 Paul Brook <paul@codesourcery.com>
363
364 * config/arm/symbian.h (STARTFILE_SPEC): Remove crt*.o.
365 (ENDFILE_SPEC): Define.
366 * config/arm/t-symbian.h (EXTRA_MULTILIB_PARTS): Set.
367
3ac7c0f2
RH
3682004-09-30 Richard Henderson <rth@redhat.com>
369
370 * config/alpha/qrnnd.asm: Mark for noexecstack.
371
75b80704
KH
3722004-09-30 Kazu Hirata <kazu@cs.umass.edu>
373
374 * protoize.c, tree-cfg.c: Fix comment typos.
375
254ac10c
JM
3762004-09-30 Joseph S. Myers <jsm@polyomino.org.uk>
377
378 PR c/17730
379 * c-typeck.c (lvalue_or_else): Pass msgid directly to error.
380
20c16b36
DN
3812004-09-30 Diego Novillo <dnovillo@redhat.com>
382
383 * tree-ssa-alias.c (collect_points_to_info_r): Move analysis of
384 expressions...
385 (add_pointed_to_expr): ... here.
386 Call add_pointed_to_expr for variables with DECL_INITIAL set.
387 * tree-dfa.c (add_referenced_var): Scan DECL_INITIAL of any
388 pointer variable, if set.
389
8b0add27
KH
3902004-09-30 Kazu Hirata <kazu@cs.umass.edu>
391
392 * config/sh/sh.c: Follow spelling conventions.
393
282efe1c
RH
3942004-09-29 Richard Henderson <rth@redhat.com>
395
396 * unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.
397 * doc/tm.texi (DWARF_ZERO_REG): New.
398
399 * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
400 alpha_expand_epilogue): Revert 2003-09-30 change to store zero.
401 * config/alpha/alpha.h (DWARF_ZERO_REG): New.
402
7ce3fc8f
UW
4032004-09-29 Ulrich Weigand <uweigand@de.ibm.com>
404
405 * builtins.c (expand_builtin_strlen): Do not call emit_move_insn
406 with a PLUS as source operand.
407 (expand_movstr): Likewise.
408 (expand_builtin_stpcpy): Likewise.
409
e670d9e4
RH
4102004-09-29 Richard Henderson <rth@redhat.com>
411
412 PR 17739
413 * tree-gimple.c (is_gimple_reg): Reject hard registers.
414 (is_gimple_asm_val): New.
415 * tree-gimple.h (is_gimple_asm_val): Declare.
416 * gimplify.c (gimplify_asm_expr): Use it.
417 * tree-pretty-print.c (print_declaration): Dump hard regs.
418 * tree-outof-ssa.c (check_replaceable): Don't check for hard regs.
419 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
420 * tree-ssa-pre.c (is_undefined_value): Likewise.
421 * tree-ssa-copy.c (may_propagate_copy): Likewise.
422 (may_propagate_copy_into_asm): Protect DECL_HARD_REGISTER.
423 * tree-ssa.c (warn_uninit): Likewise.
424 * tree.h (DECL_HARD_REGISTER): Check for VAR_DECL.
425
2587f865
FJ
4262004-09-29 Fariborz Jahanian <fjahanian@apple.com>
427
428 * c-decl.c (merge_decls): Use comptype when comparing
429 types to decide on DECL_SIZE save of olddecl.
430
1b096a0a
DB
4312004-09-29 Daniel Berlin <dberlin@dberlin.org>
432
433 * tree.h (INDIRECT_REF_P): New macro.
434 * alias.c (get_alias_set): Use it
435 (nonoverlapping_memrefs_p): Ditto.
436 * emit-rtl.c (mem_expr_equal_p): Ditto.
437 (set_mem_attributes_minus_bitpos): Ditto.
438 (is_gimple_addressable): Ditto.
439 (get_base_address): Ditto.
440 * tree-ssa-alias.c (find_ptr_derefernece): Ditto.
441 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Ditto.
442 * tree-ssa-dom.c (record_equivalences_from_stmt): Ditto.
443 * tree-ssa-loop-im.c (is_call_clobbered_ref): Ditto.
444 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Ditto.
445 (add_address_candidates): Ditto.
446 (rewrite_address_base): Ditto.
447
2a7cd686
BE
4482004-09-30 Ben Elliston <bje@au.ibm.com>
449
450 * tree-flow.h (struct bb_ann_d): Remove num_preds member.
451 * tree-into-ssa.c (rewrite_into_ssa): Don't set it.
452 (rewrite_ssa_into_ssa): Likewise.
453 * tree-phinodes.c (create_phi_node): Access the number of
454 predecessor edges using EDGE_COUNT() and not num_preds.
455
302a2cc5
JM
4562004-09-29 Joseph S. Myers <jsm@polyomino.org.uk>
457
458 PR c/7425
459 * c-decl.c (merge_decls): Merge TREE_DEPRECATED.
460
3e6688a7
EC
4612004-09-29 Eric Christopher <echristo@redhat.com>
462
463 * fold-const.c (tree_swap_operands_p): Remove duplicated code.
464
8820e4be
HPN
4652004-09-29 Hans-Peter Nilsson <hp@axis.com>
466
467 * config/cris/cris.md (moverside, movemside): With MEM, make sure
468 the address is (plus reg mem).
469
d962e7ad
DE
4702004-09-29 David Edelsohn <edelsohn@gnu.org>
471
472 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
473
c4b3f0eb
NS
4742004-09-29 Nathan Sidwell <nathan@codesourcery.com>
475
476 * tree.c (make_node_stat): Fix uninitialized warning. Replace
477 cascaded if ... else if with a switch.
478
b4f69040
AL
4792004-09-29 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
480
481 * read-rtl.c (apply_macro_to_string): Replace index with strchr.
482
58c8adc1
JJ
4832004-09-29 Jakub Jelinek <jakub@redhat.com>
484
485 * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
486 and TI_VA_LIST_FPR_COUNTER_FIELD.
487 (va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
488 * tree-pass.h (pass_stdarg): Add.
489 * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
490 * tree-stdarg.c: New file.
491 * Makefile.in (OBJS-common): Add tree-stdarg.o.
492 (tree-stdarg.o): Add dependencies.
493 * function.h (struct function): Add va_list_gpr_size and
494 va_list_fpr_size fields.
495 * function.c (allocate_struct_function): Initialize them.
496
497 * config/i386/i386.c (ix86_build_builtin_va_list): Initialize
498 va_list_{g,f}pr_counter_field.
499 (ix86_setup_incoming_varargs): Don't do anything if reg_save
500 area will not be used. Only save registers that tree-stdarg.c
501 detected they need saving.
502 (ix86_va_start): Don't set up fields that won't be used.
503
504 * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
505 va_list_{g,f}pr_counter_field.
506 (setup_incoming_varargs): Don't do anything if reg_save
507 area will not be used. Only save registers that tree-stdarg.c
508 detected they need saving.
509 (rs6000_va_start): Don't set up fields that won't be used.
510
0d5b215c
JJ
5112004-09-29 Jakub Jelinek <jakub@redhat.com>
512
513 * builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED,
514 BUILT_IN_FPUTS, BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE,
515 BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_PUTCHAR, BUILT_IN_PUTCHAR_UNLOCKED,
516 BUILT_IN_PUTS, BUILT_IN_PUTS_UNLOCKED): Remove nothrow attribute.
517 * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_1_2,
518 ATTR_NONNULL_1_4): New.
519
a7d6ba24
JJ
5202004-09-29 Jakub Jelinek <jakub@redhat.com>
521
522 PR tree-optimization/17697
523 * tree-ssa-ccp.c (execute_fold_all_builtins): Update eh and cleanup
524 cfg if needed.
525
50fd1c97
PB
5262004-09-28 Per Bothner <per@bothner.com>
527
ac973ace 528 * profile.c (branch_prob): Pass correct value to output_location,
50fd1c97
PB
529 even when USE_MAPPED_LOCATION. Fixes bug from 09-11.
530
aa24864c
RH
5312004-09-28 Richard Henderson <rth@redhat.com>
532
533 PR 15089
534 * tree-ssa-copy.c (may_propagate_copy_into_asm): New.
535 * tree-flow.h (may_propagate_copy_into_asm): Declare.
536 * tree-ssa-ccp.c (replace_uses_in): Use it.
537 * tree-ssa-dom.c (cprop_operand): Likewise.
538
e376fe58
JL
5392004-09-28 Jeff Law <law@redhat.com>
540
541 * tree-ssa-threadupdate.c (create_block_for_threading): Request
542 that no outgoing edges be left in the duplicate block. Do no
543 update information on outgoing edges or PHI nodes in target
544 blocks here.
545 (remove_ctrl_stmt_and_useless_edges): Renamed from
546 remove_last_stmt_and_useless_edges. Handle case where the
547 block is empty or has no control statements. Do not update edge
548 flags here.
549 (thread_block): Create a template block rather than copying the
550 original block every time. Create outgoing edges from the
551 duplicate blocks and update PHIs at the target of the outgoing
552 edges here. Fix edge flags for the original block if necessary.
553 * cfghooks (duplicate_block): No longer assert that the original
554 block has incoming edges.
555
805c33df
HPN
5562004-09-29 Hans-Peter Nilsson <hp@bitrange.com>
557
558 * doc/extend.texi (Extended Asm): Add blurb about using Explicit
559 Reg Vars to enforce register allocation with general constraints.
560 (Explicit Reg Vars): Clarify relation to asm statements.
561 (Local Reg Vars): Similar.
562
dcda8480
UW
5632004-09-28 Ulrich Weigand <uweigand@de.ibm.com>
564
565 * sched-rgn.c (haifa_edge, edge_table, NEXT_IN, NEXT_OUT, FROM_BLOCK,
566 TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES, OUT_EDGES,
567 build_control_flow, new_edge): Remove.
568 (schedule_insns): Remove edge_table/in_edges/out_edges cleanup.
569 (bitlst, bitlst_table_last, bitlst_table): Remove.
570 (bblst): Store basic_block pointer instead of block index.
571 (bblst_table): Likewise.
572 (edgelst): Store edge pointer instead of edge index.
573 (edgelst_table, edgelst_last): New variables.
574 (extract_bitlst): Rename to ...
575 (extract_edgelst): ... this. Return edge pointers, not indices.
576 (split_edges): Update call.
577 (rgn_edges): Store edge pointers instead of indices.
578 (edge_to_bit): Remove.
579 (EDGE_TO_BIT): Store per-region edge index in edge->aux.
580 (SET_EDGE_TO_BIT): New macro.
581 (is_cfg_nonregular): Check for simple cases of unreachable blocks.
582 (find_rgns): Remove edge_list parameter. Traverse standard CFG
583 data structures instead of haifa_edge et al. Use edge pointers
584 instead of edge indices everywhere.
585 (compute_dom_prob_ps): Use standard CFG data structures. Account
586 for exit edges.
587 (compute_trg_info): Likewise.
588 (propagate_deps): Likewise.
589 (debug_candidate): Account for bblst data structure change.
590 (check_live_1, update_live_1, is_pfree): Likewise.
591 (IS_REACHABLE): Use standard CFG data structures.
592 (init_ready_list): Update bblst_table/edgelst_table allocation.
593 (schedule_region): Update alloc/cleanup code to data structure
594 changes. Use edge->aux to store per-region edge index.
595 (init_regions): No longer call build_control_flow. Do not
596 create edge list any more.
597
2f39b6ca
UW
5982004-09-28 Ulrich Weigand <uweigand@de.ibm.com>
599
600 * cse.c (cse_insn): Avoid creating direct non-local jumps.
601 * combine.c (can_combine_p): Likewise.
602 * local-alloc. (update_equiv_regs): Likewise.
603
b0b324b0
RH
6042004-09-28 Richard Henderson <rth@redhat.com>
605
606 PR 17531
607 * expr.c (expand_expr_addr_expr_1): Only assemble_external for decls.
608 Don't check VOIDmode here. Force PLUS operands to common type.
609 (expand_expr_addr_expr): Do VOIDmode check earlier. Force use of
610 Pmode if given a non pointer type.
611
6122004-09-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
613
614 PR 17531
615 * optabs.c (expand_binop): Force constants to the correct mode.
616
ea77e738
UW
6172004-09-28 Ulrich Weigand <uweigand@de.ibm.com>
618
619 * config/s390/s390.c (s390_adjust_cost): Remove.
620 (TARGET_SCHED_ADJUST_COST): Do not redefine.
621 (s390_adjust_priority): Handle TYPE_STM like TYPE_STORE.
3e6688a7 622 * config/s390/s390.md ("main_pool"): Use "larl" type
ea77e738
UW
623 attribute if TARGET_CPU_ZARCH.
624
9924d7d8
JJ
6252004-09-28 Jakub Jelinek <jakub@redhat.com>
626
627 * config/ia64/ia64.c (ia64_expand_prologue): Declare ei
628 variable.
629
81842e1b
DN
6302004-09-28 Diego Novillo <dnovillo@redhat.com>
631
632 * tree-ssa-loop.c (pass_record_bounds): Do not assign a
633 name to the pass.
634
21ef99b8
SB
6352004-09-28 Steven Bosscher <stevenb@suse.de>
636
637 * common.opt (flag_gcse_sm): Disable by default.
638 (flag_gcse_las): Likewise.
639 (flag_web): Likewise. Create from this file.
640 * flags.h: Remove flag_web declaration.
641 * toplev.c (flag_web): Likewise.
642 (process_options): Never set flag_web.
643
78492bf5
SB
6442004-09-28 Steven Bosscher <stevenb@suse.de>
645
646 * Makefile.in (tree-ssa-propagate.o): Depend on vec.h.
647 * tree-ssa-propagate.c: Include vec.h.
648 (interesting_ssa_edges, varying_ssa_edges): Make these VECs
649 instead of varrays.
650 (cfg_blocks_add): Assert the block is not already in the worklist.
651 Update uses of interesting_ssa_edges and varying_ssa_edges.
652 (process_ssa_edge_worklist, ssa_prop_init, ssa_prop_fini,
653 ssa_propagate): Likewise.
654
ef787822
JM
6552004-09-28 Joseph S. Myers <jsm@polyomino.org.uk>
656
657 PR c/16409
658 * c-decl.c (start_decl): Check for initializing incomplete array
659 of VLAs.
660 (build_compound_literal): Check for TYPE being error_mark_node.
661 * c-parse.in (primary): Check for VLA compound literals.
662
c3b8e9aa
DN
6632004-09-28 Diego Novillo <dnovillo@redhat.com>
664
665 * tree-ssa-live.c (calculate_live_on_entry): Fix warnings
666 with --disable-checking.
667
56bac5af
DP
6682004-09-28 Devang Patel <dpatel@apple.com>
669
670 * tree-pretty-print.c (dump_generic_node): Print vector types.
3e6688a7 671
cc15e98f
NC
6722004-09-28 Nick Clifton <nickc@redhat.com>
673
674 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Replace with an
675 invocation of the function sh_init_cumulative_args.
676 (INIT_CUMULATIVE_LIBCALL_ARGS): Likewise.
677 (INIT_CUMULATIVE_INCOMING_ARGS): Delete.
678 * config/sh/sh-protos.h: Prototype sh_init_cumulative_args.
679 * config/sh/sh.c (sh_init_cumulative_args): New function based
680 on the contents of the old INIT_CUMULATIVE_ARGS macro but with a
681 heuristic added to determine the setting of force_mem when a
682 library function is being called.
683
ee1f0fb0
DN
6842004-09-28 Diego Novillo <dnovillo@redhat.com>
685
686 * tree-ssa-loop-im.c (single_reachable_address) <PHI_NODE>:
687 Skip constant arguments.
688
38e05395
DN
6892004-09-28 Diego Novillo <dnovillo@redhat.com>
690
691 * tree-ssa-alias.c (create_name_tags): If PTR points to a
692 volatile type, mark the tag volatile.
693 (get_tmt_for): If TAG_TYPE is a volatile type, mark the tag
694 volatile.
695
45fbb186
AP
6962004-09-28 Andrew Pinski <pinskia@physics.uc.edu>
697
698 * tree.def (vec_cond_expr): Fix. Change 'e'
699 to tcc_expression.
700
c2b7c2d8
KH
7012004-09-28 Kazu Hirata <kazu@cs.umass.edu>
702
703 * basic-block.h: Fix a comment typo.
704
6dbd43ba
KH
7052004-09-28 Kazu Hirata <kazu@cs.umass.edu>
706
707 * optabs.c, optabs.h: Fix comment typos.
708
ecaa611b
EB
7092004-09-28 Eric Botcazou <ebotcazou@act-europe.fr>
710
711 * config/sparc/sparc.md (call_address_struct_value_sp32):
712 Properly mask the immediate field of the 'unimp' instruction.
713 (call_symbolic_struct_value_sp32): Likewise.
714
2a7cd686 7152004-09-28 Ben Elliston <bje@au.ibm.com>
628f6a4e
BE
716 Steven Bosscher <stevenb@suse.de>
717 Andrew Pinski <pinskia@physics.uc.edu>
718
719 Merge from edge-vector-branch:
720 * basic-block.h: Include vec.h, errors.h. Instantiate a VEC(edge).
721 (struct edge_def): Remove pred_next, succ_next members.
722 (struct basic_block_def): Remove pred, succ members. Add preds
723 and succs members of type VEC(edge).
724 (FALLTHRU_EDGE): Redefine using EDGE_SUCC.
725 (BRANCH_EDGE): Likewise.
726 (EDGE_CRITICAL_P): Redefine using EDGE_COUNT.
727 (EDGE_COUNT, EDGE_I, EDGE_PRED, EDGE_SUCC): New.
728 (edge_iterator): New.
729 (ei_start, ei_last, ei_end_p, ei_one_before_end_p): New.
730 (ei_next, ei_prev, ei_edge, ei_safe_edge): Likewise.
731 (FOR_EACH_EDGE): New.
732 * bb-reorder.c (find_traces): Use FOR_EACH_EDGE and EDGE_* macros
733 where applicable.
734 (rotate_loop): Likewise.
735 (find_traces_1_route): Likewise.
736 (bb_to_key): Likewise.
737 (connect_traces): Likewise.
738 (copy_bb_p): Likewise.
739 (find_rarely_executed_basic_blocks_and_crossing_edges): Likewise.
740 (add_labels_and_missing_jumps): Likewise.
741 (fix_up_fall_thru_edges): Likewise.
742 (find_jump_block): Likewise.
743 (fix_crossing_conditional_branches): Likewise.
744 (fix_crossing_unconditional_branches): Likewise.
745 (add_reg_crossing_jump_notes): Likewise.
746 * bt-load.c (augment_live_range): Likewise.
747 * cfg.c (clear_edges): Likewise.
748 (unchecked_make_edge): Likewise.
749 (cached_make_edge): Likewise.
750 (make_single_succ_edge): Likewise.
751 (remove_edge): Likewise.
752 (redirect_edge_succ_nodup): Likewise.
753 (check_bb_profile): Likewise.
754 (dump_flow_info): Likewise.
755 (alloc_aux_for_edges): Likewise.
756 (clear_aux_for_edges): Likewise.
757 (dump_cfg_bb_info): Likewise.
758 * cfganal.c (forwarder_block_p): Likewise.
759 (can_fallthru): Likewise.
760 (could_fall_through): Likewise.
761 (mark_dfs_back_edges): Likewise.
762 (set_edge_can_fallthru_flag): Likewise.
763 (find_unreachable_blocks): Likewise.
764 (create_edge_list): Likewise.
765 (verify_edge_list): Likewise.
766 (add_noreturn_fake_exit_edges): Likewise.
767 (connect_infinite_loops_to_exit): Likewise.
768 (flow_reverse_top_sort_order_compute): Likewise.
769 (flow_depth_first_order_compute): Likewise.
770 (flow_preorder_transversal_compute): Likewise.
771 (flow_dfs_compute_reverse_execute): Likewise.
772 (dfs_enumerate_from): Likewise.
773 (compute_dominance_frontiers_1): Likewise.
774 * cfgbuild.c (make_edges): Likewise.
775 (compute_outgoing_frequencies): Likewise.
776 (find_many_sub_basic_blocks): Likewise.
777 (find_sub_basic_blocks): Likewise.
778 * cfgcleanup.c (try_simplify_condjump): Likewise.
779 (thread_jump): Likewise.
780 (try_forward_edges): Likewise.
781 (merge_blocks_move): Likewise.
782 (outgoing_edges_match): Likewise.
783 (try_crossjump_to_edge): Likewise.
784 (try_crossjump_bb): Likewise.
785 (try_optimize_cfg): Likewise.
786 (merge_seq_blocks): Likewise.
787 * cfgexpand.c (expand_gimple_tailcall): Likewise.
788 (expand_gimple_basic_block): Likewise.
789 (construct_init_block): Likewise.
790 (construct_exit_block): Likewise.
791 * cfghooks.c (verify_flow_info): Likewise.
792 (dump_bb): Likewise.
793 (delete_basic_block): Likewise.
794 (split_edge): Likewise.
795 (merge_blocks): Likewise.
796 (make_forwarder_block): Likewise.
797 (tidy_fallthru_edges): Likewise.
798 (can_duplicate_block_p): Likewise.
799 (duplicate_block): Likewise.
800 * cfglayout.c (fixup_reorder_chain): Likewise.
801 (fixup_fallthru_exit_predecessor): Likewise.
802 (can_copy_bbs_p): Likewise.
803 (copy_bbs): Likewise.
804 * cfgloop.c (flow_loops_cfg_dump): Likewise.
805 (flow_loop_entry_edges_find): Likewise.
806 (flow_loop_exit_edges_find): Likewise.
807 (flow_loop_nodes_find): Likewise.
808 (mark_single_exit_loops): Likewise.
809 (flow_loop_pre_header_scan): Likewise.
810 (flow_loop_pre_header_find): Likewise.
811 (update_latch_info): Likewise.
812 (canonicalize_loop_headers): Likewise.
813 (flow_loops_find): Likewise.
814 (get_loop_body_in_bfs_order): Likewise.
815 (get_loop_exit_edges): Likewise.
816 (num_loop_branches): Likewise.
817 (verify_loop_structure): Likewise.
818 (loop_latch_edge): Likewise.
819 (loop_preheader_edge): Likewise.
820 * cfgloopanal.c (mark_irreducible_loops): Likewise.
821 (expected_loop_iterations): Likewise.
822 * cfgloopmanip.c (remove_bbs): Likewise.
823 (fix_bb_placement): Likewise.
824 (fix_irreducible_loops): Likewise.
825 (remove_path): Likewise.
826 (scale_bbs_frequencies): Likewise.
827 (loopify): Likewise.
828 (unloop): Likewise.
829 (fix_loop_placement): Likewise.
830 (loop_delete_branch_edge): Likewise.
831 (duplicate_loop_to_header_edge): Likewise.
832 (mfb_keep_just): Likewise.
833 (create_preheader): Likewise.
834 (force_single_succ_latches): Likewise.
835 (loop_split_edge_with): Likewise.
836 (create_loop_notes): Likewise.
837 * cfgrtl.c (rtl_split_block): Likewise.
838 (rtl_merge_blocks): Likewise.
839 (rtl_can_merge_blocks): Likewise.
840 (try_redirect_by_replacing_jump): Likewise.
841 (force_nonfallthru_and_redirect): Likewise.
842 (rtl_tidy_fallthru_edge): Likewise.
843 (commit_one_edge_insertion): Likewise.
844 (commit_edge_insertions): Likewise.
845 (commit_edge_insertions_watch_calls): Likewise.
846 (rtl_verify_flow_info_1): Likewise.
847 (rtl_verify_flow_info): Likewise.
848 (purge_dead_edges): Likewise.
849 (cfg_layout_redirect_edge_and_branch): Likewise.
850 (cfg_layout_can_merge_blocks_p): Likewise.
851 (rtl_flow_call_edges_add): Likewise.
852 * cse.c (cse_cc_succs): Likewise.
853 * df.c (hybrid_search): Likewise.
854 * dominance.c (calc_dfs_tree_nonrec): Likewise.
855 (calc_dfs_tree): Likewise.
856 (calc_idoms): Likewise.
857 (recount_dominator): Likewise.
858 * domwalk.c (walk_dominator_tree): Likewise.
859 * except.c (emit_to_new_bb_before): Likewise.
860 (connect_post_landing_pads): Likewise.
861 (sjlj_emit_function_enter): Likewise.
862 (sjlj_emit_function_exit): Likewise.
863 (finish_eh_generation): Likewise.
864 * final.c (compute_alignments): Likewise.
865 * flow.c (calculate_global_regs_live): Likewise.
866 (initialize_uninitialized_subregs): Likewise.
867 (init_propagate_block_info): Likewise.
868 * function.c (thread_prologue_and_epilogue_insns): Likewise.
869 * gcse.c (find_implicit_sets): Likewise.
870 (bypass_block): Likewise.
871 (bypass_conditional_jumps): Likewise.
872 (compute_pre_data): Likewise.
873 (insert_insn_end_bb): Likewise.
874 (insert_store): Likewise.
875 (remove_reachable_equiv_notes): Likewise.
876 * global.c (global_conflicts): Likewise.
877 (calculate_reg_pav): Likewise.
878 * graph.c (print_rtl_graph_with_bb): Likewise.
879 * ifcvt.c (mark_loop_exit_edges): Likewise.
880 (merge_if_block): Likewise.
881 (find_if_header): Likewise.
882 (block_jumps_and_fallthru_p): Likewise.
883 (find_if_block): Likewise.
884 (find_cond_trap): Likewise.
885 (block_has_only_trap): Likewise.
886 (find_if_case1): Likewise.
887 (find_if_case_2): Likewise.
888 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
889 (perfect_nestify): Likewise.
890 * lcm.c (compute_antinout_edge): Likewise.
891 (compute_laterin): Likewise.
892 (compute_available): Likewise.
893 (compute_nearerout): Likewise.
894 * loop-doloop.c (doloop_modify): Likewise.
895 * loop-init.c (loop_optimizer_init): Likewise.
896 * loop-invariant.c (find_exits): Likewise.
897 * loop-iv.c (simplify_using_initial_values): Likewise.
898 (check_simple_exit): Likewise.
899 (find_simple_exit): Likewise.
900 * loop-unroll.c (peel_loop_completely): Likewise.
901 (unroll_loop_constant_iterations): Likewise.
902 (unroll_loop_runtime_iterations): Likewise.
903 * loop-unswitch.c (may_unswitch_on): Likewise.
904 (unswitch_loop): Likewise.
905 * modulo-sched.c (generate_prolog_epilog): Likewise.
906 (sms_schedule): Likewise.
907 * postreload-gcse.c (eliminate_partially_redundant_load):
908 Likewise.
909 * predict.c (can_predict_insn_p): Likewise.
910 (set_even_probabilities): Likewise.
911 (combine_predictions_for_bb): Likewise.
912 (predict_loops): Likewise.
913 (estimate_probability): Likewise.
914 (tree_predict_by_opcode): Likewise.
915 (tree_estimate_probability): Likewise.
916 (last_basic_block_p): Likewise.
917 (propagate_freq): Likewise.
918 (estimate_loops_at_level): Likewise.
919 (estimate_bb_frequencies): Likewise.
920 * profile.c (instrument_edges): Likewise.
921 (get_exec_counts): Likewise.
922 (compute_branch_probabilities): Likewise.
923 (branch_prob): Likewise.
924 * ra-build.c (live_in): Likewise.
925 * ra-rewrite.c (rewrite_program2): Likewise.
926 * ra.c (reg_alloc): Likewise.
927 * reg-stack.c (reg_to_stack): Likewise.
928 (convert_regs_entry): Likewise.
929 (compensate_edge): Likewise.
930 (convert_regs_1): Likewise,
931 (convert_regs_2): Likewise.
932 (convert_regs): Likewise.
933 * regrename.c (copyprop_hardreg_forward): Likewise.
934 * reload1.c (fixup_abnormal_edges): Likewise.
935 * sbitmap.c (sbitmap_intersection_of_succs): Likewise.
936 (sbitmap_insersection_of_preds): Likewise.
937 (sbitmap_union_of_succs): Likewise.
938 (sbitmap_union_of_preds): Likewise.
939 * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
940 (fix_basic_block_boundaries): Likewise.
941 (sched_ebbs): Likewise.
942 * sched-rgn.c (build_control_flow): Likewise.
943 (find_rgns): Likewise.
944 * tracer.c (find_best_successor): Likewise.
945 (find_best_predecessor): Likewise.
946 (tail_duplicate): Likewise.
947 * tree-cfg.c (make_edges): Likewise.
948 (make_ctrl_stmt_edges): Likewise.
949 (make_goto_expr_edges): Likewise.
950 (tree_can_merge_blocks_p): Likewise.
951 (tree_merge_blocks): Likewise.
952 (cfg_remove_useless_stmts_bb): Likewise.
953 (remove_phi_nodes_and_edges_for_unreachable_block): Likewise.
954 (tree_block_forwards_to): Likewise.
955 (cleanup_control_expr_graph): Likewise.
956 (find_taken_edge): Likewise.
957 (dump_cfg_stats): Likewise.
958 (tree_cfg2vcg): Likewise.
959 (disband_implicit_edges): Likewise.
960 (tree_find_edge_insert_loc): Likewise.
961 (bsi_commit_edge_inserts): Likewise.
962 (tree_split_edge): Likewise.
963 (tree_verify_flow_info): Likewise.
964 (tree_make_forwarder_block): Likewise.
965 (tree_forwarder_block_p): Likewise.
966 (thread_jumps): Likewise.
967 (tree_try_redirect_by_replacing_jump): Likewise.
968 (tree_split_block): Likewise.
969 (add_phi_args_after_copy_bb): Likewise.
970 (rewrite_to_new_ssa_names_bb): Likewise.
971 (dump_function_to_file): Likewise.
972 (print_pred_bbs): Likewise.
973 (print_loop): Likewise.
974 (tree_flow_call_edges_add): Likewise.
975 (split_critical_edges): Likewise.
976 (execute_warn_function_return): Likewise.
977 (extract_true_false_edges_from_block): Likewise.
978 * tree-if-conv.c (tree_if_conversion): Likewise.
979 (if_convertable_bb_p): Likewise.
980 (find_phi_replacement_condition): Likewise.
981 (combine_blocks): Likewise.
982 * tree-into-ssa.c (compute_global_livein): Likewise.
983 (ssa_mark_phi_uses): Likewise.
984 (ssa_rewrite_initialize_block): Likewise.
985 (rewrite_add_phi_arguments): Likewise.
986 (ssa_rewrite_phi_arguments): Likewise.
987 (insert_phi_nodes_for): Likewise.
988 (rewrite_into_ssa): Likewise.
989 (rewrite_ssa_into_ssa): Likewise.
990 * tree-mudflap.c (mf_build_check_statement_for): Likewise.
991 * tree-outof-ssa.c (coalesce_abnormal_edges): Likewise.
992 (rewrite_trees): Likewise.
993 * tree-pretty-print.c (dump_bb_header): Likewise.
994 (dump_implicit_edges): Likewise.
995 * tree-sra.c (insert_edge_copies): Likewise.
996 (find_obviously_necessary_stmts): Likewise.
997 (remove_data_stmt): Likewise.
998 * tree-ssa-dom.c (thread_across_edge): Likewise.
999 (dom_opt_finalize_block): Likewise.
1000 (single_incoming_edge_ignoring_loop_edges): Likewise.
1001 (record_equivalences_from_incoming_edges): Likewise.
1002 (cprop_into_successor_phis): Likewise.
1003 * tree-ssa-live.c (live_worklist): Likewise.
1004 (calculate_live_on_entry): Likewise.
1005 (calculate_live_on_exit): Likewise.
1006 * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Likewise.
1007 (copy_loop_headers): Likewise.
1008 * tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
1009 (fill_always_executed_in): Likewise.
1010 * tree-ssa-loop-ivcanon.c (create_canonical_iv): Likewise.
1011 * tree-ssa-loop-ivopts.c (find_interesting_uses): Likewise.
1012 (compute_phi_arg_on_exit): Likewise.
1013 * tree-ssa-loop-manip.c (add_exit_phis_edge): Likewise.
1014 (get_loops_exit): Likewise.
1015 (split_loop_exit_edge): Likewise.
1016 (ip_normal_pos): Likewise.
1017 * tree-ssa-loop-niter.c (simplify_using_initial_conditions):
1018 Likewise.
1019 * tree-ssa-phiopt.c (candidate_bb_for_phi_optimization): Likewise.
1020 (replace_phi_with_stmt): Likewise.
1021 (value_replacement): Likewise.
1022 * tree-ssa-pre.c (compute_antic_aux): Likewise.
1023 (insert_aux): Likewise.
1024 (init_pre): Likewise.
1025 * tree-ssa-propagate.c (simulate_stmt): Likewise.
1026 (simulate_block): Likewise.
1027 (ssa_prop_init): Likewise.
3e6688a7 1028 * tree-ssa-threadupdate.c (thread_block): Likewise.
628f6a4e
BE
1029 (create_block_for_threading): Likewise.
1030 (remove_last_stmt_and_useless_edges): Likewise.
1031 * tree-ssa.c (verify_phi_args): Likewise.
1032 (verify_ssa): Likewise.
1033 * tree_tailcall.c (independent_of_stmt_p): Likewise.
1034 (find_tail_calls): Likewise.
1035 (eliminate_tail_call): Likewise.
1036 (tree_optimize_tail_calls_1): Likewise.
1037 * tree-vectorizer.c (vect_transform_loop): Likewise.
1038 * var-tracking.c (prologue_stack_adjust): Likewise.
1039 (vt_stack_adjustments): Likewise.
1040 (vt_find_locations): Likewise.
1041 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
1042 * config/i386/i386.c (ix86_pad_returns): Likewise.
1043 * config/ia64/ia64.c (ia64_expand_prologue): Likewise.
1044 * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
1045
5be9b7a1
EB
10462004-09-28 Eric Botcazou <ebotcazou@libertysurf.fr>
1047
1048 PR target/16532
1049 * config/sparc/sparc.c (struct machine_function): New field
1050 'leaf_function_p' and 'prologue_data_valid_p'.
1051 (sparc_leaf_function_p, sparc_prologue_data_valid_p): New macro
1052 to conveniently access the above fields.
1053 (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Delete.
1054 (eligible_for_return_delay): Use 'sparc_leaf_function_p' instead
1055 of the generic flavor 'current_function_uses_only_leaf_regs'.
1056 (eligible_for_sibcall_delay): Likewise.
1057 (sparc_expand_prologue): Compute 'sparc_leaf_function_p' and set
1058 'sparc_prologue_data_valid_p'. Use 'sparc_leaf_function_p'.
1059 (sparc_asm_function_prologue): Add sanity check for the assumption
1060 made in 'sparc_expand_prologue'. Use 'sparc_leaf_function_p'.
1061 (sparc_can_use_return_insn_p): New function.
1062 (sparc_expand_epilogue): Use 'sparc_leaf_function_p'.
1063 (output_restore): Likewise.
1064 (output_sibcall): Likewise.
1065 (sparc_output_mi_thunk): Likewise.
1066 * config/sparc/sparc-protos.h (sparc_can_use_return_insn_p): Declare.
1067 * config/sparc/sparc.md (return): New expander.
1068
1069 * config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Minor tweak.
1070
455f19cb
MM
10712004-09-27 Mark Mitchell <mark@codesourcery.com>
1072
1073 PR c++/17642
1074 * stor-layout.c (layout_decl): Use fold_convert, not convert.
1075 (bit_from_pos): Likewise.
1076 (byte_from_pos): Likewise.
1077 (pos_from_bit): Likewise.
1078 (normalize_offset): Likewise.
1079 (place_field): Likewise.
1080 (finalize_type_size): Likewise.
1081 (layout_type): Likewise.
1082 * tree.c (build_index_type): Likewise.
1083
7ce67fbe
DP
10842004-09-27 Devang Patel <dpatel@apple.com>
1085
1086 * expr.c (expand_expr_real_1): Handle VEC_COND_EXPR.
1087 * genopinit.c (optabs): New entry for vcond_gen_code and
1088 vcondu_gen_code.
1089 * optabs.c (vcond_gen_code, vcondu_gen_code): New optabs.
1090 (get_rtx_code): New function.
1091 (vector_compare_rtx): New function.
1092 (init_optabs): Initialize vcond_gen_code and vcondu_gen_code.
1093 (expand_vec_cond_expr_p): New function.
1094 (expand_vec_cond_expr): New function.
1095 (get_vcond_icode): New function.
1096 * optabs.h (expand_vec_cond_expr, expand_vec_cond_expr_p): New externs.
1097 (vcond_gen_code, vcondu_gen_code): Same.
1098
55040e7a
KC
10992004-09-27 Kelley Cook <kcook@gcc.gnu.org>
1100
1101 * Makefile.in (STAGESTUFF): Split into ...
1102 (STAGECOPYSTUFF, STAGEMOVESTUFF): ... these.
1103 (mostlyclean): Update.
1104 (stage1-start, stage2-start, stage3-start, stage4-start,
1105 stageprofile-start, stagefeedback-start): Copy the STAGECOPYSTUFF.
1106 Move the STAGEMOVESTUFF.
1107
f6260033
EB
11082004-09-27 Eric Botcazou <ebotcazou@libertysurf.fr>
1109
1110 * system.h (getpagesize): Return 'int' instead of 'long'.
1111
49f41d06
MM
11122004-09-27 Michael Matz <matz@suse.de>
1113
1114 PR bootstrap/17698
1115 PR bootstrap/17702
1116 * bitmap.h (bmp_iter_single_init, bmp_iter_and_not_init,
1117 bmp_iter_and_init): Shift by bit_in_word.
1118
a62322c4
KC
11192004-09-27 Kelley Cook <kcook@gcc.gnu.org>
1120
1121 * aclocal.m4: Quote m4_includes. Include ../config/gcc-lib-path.m4.
1122 * configure.ac: Don't sinclude it here.
1123 * configure: Regenerate.
1124
850e8d3d
DN
11252004-09-27 Dorit Naishlos <dorit@il.ibm.com>
1126
1127 * config/rs6000/rs6000.c (rs6000_legitimate_address, print_operand):
1128 Handle AND pattern
1129
5e9bda65
JM
11302004-09-27 Joseph S. Myers <jsm@polyomino.org.uk>
1131
1132 PR c/13804
1133 * c-typeck.c (build_component_ref): Name type involved in
1134 diagnostic for structure or union without a member of the given
1135 name.
1136
43f51151
DD
11372004-09-27 DJ Delorie <dj@redhat.com>
1138
1139 * config/stormy16/stormy16.c (xstormy16_asm_output_aligned_common):
1140 .comm alignment is bytes, not bits.
1141
6337c1a2
DP
11422004-09-27 Devang Patel <dpatel@apple.com>
1143
1144 * tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
1145 (print_call_name): Do not print VEC_COND_EXPR.
6337c1a2 1146
7e200b50
DP
11472004-09-27 Devang Patel <dpatel@apple.com>
1148
1149 * tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
3e6688a7 1150
8c1e80e9
JH
11512004-09-27 Jan Hubicka <jh@suse.cz>
1152
1153 * i386.c (athlon_cost, k8_cost): Set BRANCH_COST to 5.
1154
75e50bd2
KH
11552004-09-27 Kazu Hirata <kazu@cs.umass.edu>
1156
1157 * bitmap.h: Fix a comment typo.
1158
94c1e7ac
AL
11592004-09-27 Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
1160
1161 * libgcc2.c (getpagesize): Change type of return value to int.
1162
772299b3
MA
11632004-09-26 Matt Austern <austern@apple.com>
1164
1165 * ggc-page.c (GGC_QUIRE_SIZE): Bump up from 16 to 256 if we're
1166 using mmap.
3e6688a7 1167
87c476a2
ZD
11682004-09-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1169
1170 * bitmap.h (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_COMPL_IN_BITMAP,
1171 EXECUTE_IF_AND_IN_BITMAP): Changed to iterator style.
1172 (bitmap_iterator): New type.
1173 (bmp_iter_common_next_1, bmp_iter_single_next_1, bmp_iter_single_init,
1174 bmp_iter_end_p, bmp_iter_single_next, bmp_iter_and_not_next_1,
1175 bmp_iter_and_not_init, bmp_iter_and_not_next, bmp_iter_and_next_1,
1176 bmp_iter_and_init, bmp_iter_and_next): New functions.
1177 * basic-block.h (EXECUTE_IF_SET_IN_REG_SET,
1178 EXECUTE_IF_AND_COMPL_IN_REG_SET, EXECUTE_IF_AND_IN_REG_SET): Changed to
1179 use iterator-style EXECUTE_IF_IN_BITMAP macros.
1180 * bitmap.c (bitmap_print): Ditto.
1181 * bt-load.c (clear_btr_from_live_range, add_btr_to_live_range,
1182 btr_def_live_range): Ditto.
1183 * cfganal.c (compute_dominance_frontiers_1) Ditto.
1184 * cgraphunit.c (convert_UIDs_in_bitmap, cgraph_characterize_statics):
1185 Ditto.
1186 * ddg.c (build_inter_loop_deps): Ditto.
1187 * df.c (FOR_EACH_BB_IN_BITMAP, df_bb_reg_info_compute, df_refs_update):
1188 Ditto.
1189 * except.c (remove_eh_handler): Ditto.
1190 * flow.c (reg_set_to_hard_reg_set): Ditto.
1191 * gcse.c (clear_modify_mem_tables): Ditto.
1192 * global.c (build_insn_chain): Ditto.
1193 * ifcvt.c (dead_or_predicable): Ditto.
1194 * loop-invariant.c (get_inv_cost, set_move_mark, move_invariant_reg):
1195 Ditto.
1196 * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs): Ditto.
1197 * ra-rewrite.c (reloads_to_loads, rewrite_program2,
1198 detect_web_parts_to_rebuild, delete_useless_defs, actual_spill): Ditto.
1199 * tree-cfg.c (allocate_ssa_names, tree_duplicate_sese_region,
1200 tree_purge_all_dead_eh_edges): Ditto.
1201 * tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
1202 insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags,
1203 rewrite_ssa_into_ssa): Ditto.
1204 * tree-outof-ssa.c (find_replaceable_exprs): Ditto.
1205 * tree-sra.c (scan_function, decide_instantiations, scalarize_parms):
1206 Ditto.
1207 * tree-ssa-alias.c (init_alias_info, compute_points_to_and_addr_escape,
1208 compute_flow_sensitive_aliasing, maybe_create_global_var,
1209 dump_points_to_info_for): Ditto.
1210 * tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Ditto.
1211 * tree-ssa-dse.c (dse_finalize_block): Ditto.
1212 * tree-ssa-live.c (live_worklist, calculate_live_on_entry,
1213 calculate_live_on_exit, build_tree_conflict_graph, dump_live_info):
1214 Ditto.
1215 * tree-ssa-loop-ivopts.c (find_induction_variables,
1216 find_interesting_uses, add_old_ivs_candidates, alloc_use_cost_map,
1217 determine_use_iv_costs, determine_set_costs, find_best_candidate,
1218 set_cost_up_to, create_new_ivs, remove_unused_ivs, free_loop_data):
1219 Ditto.
1220 * tree-ssa-loop-manip.c (add_exit_phis_var, add_exit_phis): Ditto.
1221 * tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
1222 add_call_read_ops): Ditto.
1223 * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Ditto.
1224
69049ba0
JDA
12252004-09-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1226
1227 * pa.c (print_operand): Use non-trapping completers for UNLE, UNLT,
1228 UNGE, UNGT, UNEQ, UNORDERED and ORDERED comparisons.
1229
6cbaec9e
UW
12302004-09-26 Ulrich Weigand <uweigand@de.ibm.com>
1231
1232 * builtins.c (expand_builtin_memcmp): Adjust MEM_SIZE to
1233 reflect size of memory regions being compared.
1234
931e6c29
UW
12352004-09-26 Ulrich Weigand <uweigand@de.ibm.com>
1236
1237 * builtins.c (get_memory_rtx): Set mem attributes for non-ADDR_EXPR
1238 expressions. Always clear MEM_SIZE and alias set.
1239
897f610b
RS
12402004-09-26 Roger Sayle <roger@eyesopen.com>
1241 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1242
1243 PR middle-end/17112
1244 * stor-layout.c (compute_record_mode): For records with a single
1245 field, only use the field's mode if its size matches what we'd
1246 have choosen for the record ourselves. This forces the use of
1247 BLKmode for packed records that don't completely fill a mode.
1248
5c8c573a
RS
12492004-09-26 Roger Sayle <roger@eyesopen.com>
1250
1251 PR middle-end/17151
1252 * combine.c (force_to_mode): Remove dubious early return test that
1253 inhibits further optimization.
1254
628f3b63
KH
12552004-09-26 Kazu Hirata <kazu@cs.umass.edu>
1256
1257 * profile.c: Fix a comment typo.
1258
be35cf60
ZD
12592004-09-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1260
1261 PR bootstrap/17591
1262 * tree-ssa-loop-im.c (for_each_index): Call callback for component_refs
1263 with varying offset.
1264 * tree-ssa-loop-ivopts.c (abnormal_ssa_name_p): New function.
1265 (idx_contains_abnormal_ssa_name_p): Scan step and lower bound for
1266 ARRAY_REFS.
1267 (expr_invariant_in_loop_p): New function.
1268 (idx_find_step): Handle step and lower bound for ARRAY_REFs. Handle
1269 component_ref_field_offset for COMPONENT_REFs. Do not allow
1270 ALIGN_INDIRECT_REFs and MISALIGNED_INDIRECT_REFs.
1271 (add_address_candidates): Do not handle ALIGN_INDIRECT_REFs and
1272 MISALIGNED_INDIRECT_REFs.
1273 (idx_remove_ssa_names): Handle step and lower bound for ARRAY_REFs.
1274 (rewrite_address_base): Do not handle ALIGN_INDIRECT_REFs and
1275 MISALIGNED_INDIRECT_REFs.
1276
34096b92
JM
12772004-09-26 Joseph S. Myers <jsm@polyomino.org.uk>
1278
1279 PR c/11459
1280 * gcc.c (cpp_options, cc1_options): Preserve relative order of
1281 -std and -ansi options.
1282
5db0241f
JH
12832004-09-26 Jan Hubicka <jh@suse.cz>
1284
1168d30f
JH
1285 * dwarf2out.c (dwarf2out_finish): Set parent to comp_unit_die
1286 for nested functions whose proper parent has not been output.
1287
5db0241f
JH
1288 * profile.c (compute_branch_probabilities): Use REG_BR_PROB notes
1289 when re-constructing profile previously invalidated by loop.
1290
bfe0d06b
DJ
12912004-09-25 Dale Johannesen <dalej@apple.com>
1292
1293 * tree-gimple.c: Move GIMPLE definition...
1294 * doc/tree-ssa.texi: here.
1295
601d18c6
KH
12962004-09-25 Kazu Hirata <kazu@cs.umass.edu>
1297
1298 * tree-vectorizer.c: Fix a comment typo.
1299
ea4b7848
KH
13002004-09-25 Kazu Hirata <kazu@cs.umass.edu>
1301
1302 * c-typeck.c, defaults.h, dwarf.h, dwarf2out.c, fold-const.c,
1303 gthr-dce.h, gthr-posix.h, gthr-solaris.h, gthr-win32.h,
1304 lambda-code.c, lambda-mat.c, libgcc2.c, stmt.c,
1305 tree-ssa-pre.c, tree-vn.c, tree.h: Fix comment formatting.
1306
e75220c8
KH
13072004-09-25 Kazu Hirata <kazu@cs.umass.edu>
1308
1309 * tree-ssa-loop-unswitch.c: Fix a comment typo.
1310
87880c12
KH
13112004-09-25 Kazu Hirata <kazu@cs.umass.edu>
1312
1313 * doc/passes.texi: Fix a typo.
1314
f3cd574f
ZD
13152004-09-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1316
1317 * tree-optimize.c (init_tree_optimization_passes): Add
1318 pass_record_bounds.
1319 * tree-pass.h (pass_record_bounds): Declare.
1320 * tree-ssa-loop.c (tree_ssa_loop_bounds, pass_record_bounds):
1321 New pass.
1322
f34fa464
ZD
13232004-09-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1324
1325 PR tree-optimization/17474
1326 * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Determine
1327 offset of the field correctly when DECL_FIELD_BIT_OFFSET != 0.
1328
70f3cc30
JH
13292004-09-25 Jan Hubicka <jh@suse.cz>
1330
f34fa464 1331 * predict.c (counts_to_freqs): Make global.
bbd236a1
JH
1332 * predict.h (counts_to_freqa): Declare.
1333 * profile.c (compute_branch_probabilities): Compute frequencies
1334 * tree-profile.c (do_tree_profiling): Refine conditional on when
1335 tree profiling pass is needed.
1336
70f3cc30
JH
1337 * passes.c (rest_of_handle_cfg): Disable const/pure function
1338 detection when doing tree based profiling.
1339
1340 * tree-inline.c (expand_call_inline): Fix incorrectly reversed
1341 conditional.
1342
b11a9d5f
RS
13432004-09-25 Richard Sandiford <rsandifo@redhat.com>
1344
1345 * config/mips/mips.h (struct mips_args): Clarify comments.
1346 * config/mips/mips.c (struct mips_arg_info): Likewise.
1347 (mips_arg_info): Don't allow fpr_p to affect the register or
1348 stack alignment. Remove o64 silliness.
1349 (function_arg): Deal with the o32 float,float case specially.
1350
03eccdc8
RS
13512004-09-25 Richard Sandiford <rsandifo@redhat.com>
1352
1353 * config/mips/mips.md (loadx, storex): Define for V2SF.
1354
ef44a6ff
UW
13552004-09-25 Ulrich Weigand <uweigand@de.ibm.com>
1356
1357 * config/s390/s390-protos.h (s390_back_chain_rtx): Add prototype.
1358 * config/s390/s390.c (s390_back_chain_rtx): New function.
1359 * config/s390/s390.md ("allocate_stack"): Use s390_back_chain_rtx.
1360 Call anti_adjust_stack.
1361 ("restore_stack_block"): Use s390_back_chain_rtx. Enable pattern
1362 only if compiling with back chain.
1363 ("save_stack_nonlocal", "restore_stack_nonlocal"): Save/restore
1364 back chain only if back chain enabled. Use s390_back_chain_rtx.
3e6688a7 1365
60ae6360
JM
13662004-09-25 Joseph S. Myers <jsm@polyomino.org.uk>
1367
1368 * doc/trouble.texi: Remove obsolete information. Update
1369 information on how to regenerate fixincluded headers.
1370
b99cfc22
JM
13712004-09-25 Joseph S. Myers <jsm@polyomino.org.uk>
1372
1373 PR c/12951
1374 * doc/invoke.texi: Document that
1375 -Wno-error-implicit-function-declaration is not accepted.
1376
e2ea71ea
RH
13772004-09-24 Richard Henderson <rth@redhat.com>
1378
1379 * config/alpha/alpha.h (UNITS_PER_SIMD_WORD): New.
1380 * config/alpha/alpha.c (alpha_vector_mode_supported_p): Don't depend
1381 on TARGET_MAX.
1382 (alpha_expand_mov): Allow unaligned vectors.
1383 (alpha_expand_unaligned_store): Use CONST0_RTX.
1384 (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.
1385
b8545fbf
JL
13862004-09-24 Jeff Law <law@redhat.com>
1387
1388 * tree-ssa-dom.c (dom_opt_finalize_block): Fix violation of strict
1389 aliasing rules.
1390 (simplify_cond_and_lookup_avail_expr): Likewise.
1391
2fbebc71
JM
13922004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
1393
1394 PR c/12802
1395 * doc/extend.texi (Unnamed Fields): Remove "." from end of long
1396 title. Document interaction with -fms-extensions.
1397 * doc/invoke.texi (-fms-extensions): Refer to Unnamed Fields
1398 section.
1399
2e9522f4
JM
14002004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
1401
1402 PR c/12713
1403 * doc/extend.texi: Document interaction of attribute noreturn and
1404 longjmp.
1405
41bf2a8b
RH
14062004-09-24 Richard Henderson <rth@redhat.com>
1407
1408 PR rtl-opt/17503
1409 * regclass.c (subregs_of_mode): Turn into an htab. Make static.
1410 (som_hash, som_eq): New.
1411 (init_subregs_of_mode, record_subregs_of_mode): New.
1412 (cannot_change_mode_set_regs): Rewrite for htab implementation.
1413 (invalid_mode_change_p): Likewise.
1414 * combine.c (gen_lowpart_for_combine): Use record_subregs_of_mode.
1415 * flow.c (mark_used_regs): Likewise.
1416 (life_analysis): Use init_subregs_of_mode.
1417 * regs.h (subregs_of_mode): Remove.
1418 * rtl.h (init_subregs_of_mode, record_subregs_of_mode): Declare.
1419
84f7a28c
AP
14202004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
1421
1422 * tree-ssa-phiopt.c (conditional_replacement): Use the correct
1423 type with the copy of the conditional.
1424
532c67ca
AP
14252004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
1426
1427 PR tree-opt/16954
1428 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
1429 Prevent renaming if the aliasing sets of the type which the
1430 pointer points to are different.
1431
085e33aa
JM
14322004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
1433
1434 PR c/17188
1435 * c-decl.c (diagnose_mismatched_decls): Check for duplicate
1436 declarations of enumerators.
1437 (start_struct): Check TYPE_SIZE rather than TYPE_FIELDS to check
1438 for redefinition. Check for nested redefinition.
1439 (finish_struct): Don't check for nested redefinition.
1440 (start_enum): Check for nested redefinition.
1441
a2159c4c
DP
14422004-09-24 Devang Patel <dpatel@apple.com>
1443
1444 * tree-if-conv.c (tree_if_convert_cond_expr0: Create temp. variable
1445 only when necesssary.
1446 (combine_blocks): Combine loop header and exit block.
3e6688a7 1447
55e74277
PB
14482004-09-24 Paolo Bonzini <bonzini@gnu.org>
1449
1450 * hooks.c (hook_tree_tree_bool_null): New.
1451 * hooks.h (hook_tree_tree_bool_null): Declare it.
1452 * target-def.c (TARGET_FOLD_BUILTIN): Point to it.
1453 * targhooks.c (default_fold_builtin): Remove.
1454 * targhooks.h (default_fold_builtin): Remove.
1455
30d3fc60
ZD
14562004-09-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1457
1458 PR rtl-optimization/17625
1459 * loop-doloop.c (doloop_modify): Unshare rtl before emitting it.
1460
54e075fe
AP
14612004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
1462
1463 PR tree-opt/17624
1464 * tree-ssa-forwprop.c (record_single_argument_cond_exprs):
1465 Reject if any of the operands occur in an abnormal PHI.
1466
4a198dea
AS
14672004-09-24 Andreas Schwab <schwab@suse.de>
1468
1469 * tree-ssa-dom.c (record_range): Fix violation of strict aliasing
1470 rules.
1471
5d865dac
EB
14722004-09-24 Eric Botcazou <ebotcazou@libertysurf.fr>
1473
1474 * config.gcc (sparc64-*-solaris2*): Include sparc/sol2-gas.h
1475 if the GNU assembler is used.
1476 (sparc-*-solaris2*): Likewise.
1477 * dbxout.c (NO_DBX_BNSYM_ENSYM): Default to zero.
1478 (dbxout_function_end): Protect N_ENSYM with it.
1479 (dbxout_begin_prologue): Protect N_BNSYM with it.
1480 * doc/tm.texi (NO_DBX_BNSYM_ENSYM): Document it.
1481 * config/sparc/sol2.h (NO_DBX_BNSYM_ENSYM): Define to 1.
1482 * config/sparc/sol2-gas.h: New file.
1483
4c4a5bbc
L
14842004-09-23 H.J. Lu <hongjiu.lu@intel.com>
1485
1486 PR bootstrap/17369
1487 * Makefile.in (@set_gcc_lib_path@): Added.
1488
1489 * configure.ac: Include ../config/gcc-lib-path.m4. Use
1490 TL_AC_GNU_MAKE_GCC_LIB_PATH.
1491 * configure: Regenerated.
1492
ff80e49f
JM
14932004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
1494
1495 PR c/6980
1496 * c-typeck.c (build_c_cast): Improve wording of
1497 -Wbad-function-cast diagnostic.
1498
e758023d
HPN
14992004-09-23 Hans-Peter Nilsson <hp@axis.com>
1500
1501 PR target/17626
1502 * config/cris/cris.md (moverside, movemside): Rename variable
1503 "reg" to "otherop". To generate canonical RTX, check that otherop
1504 isn't constant instead of checking that operand 1 is a register.
1505
31d66fa9
JJ
15062004-09-23 Jakub Jelinek <jakub@redhat.com>
1507
1508 * tree-ssa-propagate.c (set_rhs): Fail if EXPR is COMPOUND_EXPR.
1509
b28b1600
JJ
15102004-09-23 Diego Novillo <dnovillo@redhat.com>
1511 Jakub Jelinek <jakub@redhat.com>
1512
1513 * tree-flow.h (find_new_referenced_vars): Add prototype.
1514 * tree-sra.c (find_new_referenced_vars_1, find_new_referenced_vars):
1515 Move to...
1516 * tree-dfa.c (find_new_referenced_vars_1, find_new_referenced_vars):
1517 ... here.
1518 (mark_new_vars_to_rename): Walk through all operands.
1519 * tree-ssa-ccp.c (convert_to_gimple_builtin): New function.
1520 (execute_fold_all_builtins): Use it.
1521 (pass_fold_builtins): Add TODO_rename_vars to todo_flags_finish.
1522
512baaea
D
15232004-09-23 P.J. Darcy <darcypj@us.ibm.com>
1524
1525 * gthr-tpf.h: New file.
1526 * config.gcc (s390x-ibm-tpf*): Add thread_file='tpf'.
1527 * gthr.h: Use gthr-tpf.h on TPF OS.
1528
3aecd08b
JL
15292004-09-23 Jeff Law <law@redhat.com>
1530
1531 * tree-ssa-ccp.c (get_default_value): Use SSA_NAME_VALUE rather
1532 than SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
1533 (substitute_and_fold): Likewise.
1534 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Remove everything
1535 except invariants from SSA_NAME_VALUE.
1536 (thread_across_edge): Use SSA_NAME_VALUE rather than SSA_NAME_EQUIV
1537 and SET_SSA_NAME_EQUIV.
1538 (restore_vars_to_original_value, record_const_or_copy): Likewise.
1539 (record_equivalences_from_phis, record_const_or_copy_1): Likewise.
1540 (record_equality, cprop_into_successor_phis): Likewise.
1541 (record_equivalences_from_stmt, cprop_operand): Likewise.
1542 (lookup_avail_expr): Likewise.
1543 * tree-ssa-pre.c (fini_pre): Remove everything except invariants
1544 from SSA_NAME_VALUE.
1545 * tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): Kill.
1546 (struct tree_ssa_name): Kill EQUIV field. Remove GGC skip
1547 annotation from the VALUE_HANDLE field.
1548
037cc9c5 15492004-09-21 Fariborz Jahanian <fjahanian@apple.com>
23fad16e 1550
037cc9c5
FJ
1551 PR c++/13989
1552 PR c++/9844
037cc9c5 1553 * tree.c (reconstruct_complex_type): Remove extra "this".
3e6688a7 1554 * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute):
037cc9c5
FJ
1555 Add V4SFmode to case statement.
1556
e6e931b7
JM
15572004-09-23 Joseph S. Myers <jsm@polyomino.org.uk>
1558
1559 PR c/16833
1560 * doc/extend.texi, doc/invoke.texi: Document interaction of
1561 -fno-builtin with format checks. Note that built-in functions
1562 have effects beyond generating code that avoids calls to those
1563 functions.
1564
df485d80
FCE
15652004-09-23 Frank Ch. Eigler <fche@redhat.com>
1566
1567 PR tree-optimization/17533
1568 * dominance.c (verify_dominators): Tolerate even more incorrect
1569 dominance data during error message printing.
1570 * tree-mudflap.c (mf_build_check_statement_for): Build basic blocks
1571 and edges more correctly.
3e6688a7 1572
7ccf35ed
DN
15732004-09-23 Dorit Naishlos <dorit@il.ibm.com>
1574
a834e70b
SB
1575 * tree.def (ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF):
1576 New tree-codes.
1577 * tree.h (REF_ORIGINAL): Consider ALIGN_INDIRECT_REF and
1578 MISALIGNED_INDIRECT_REF.
1579 * alias.c (get_alias_set, nonoverlapping_memrefs_p): Likewise.
1580 * emit-rtl.c (mem_expr_equal_p, set_mem_attributes_minus_bitpos):
1581 Likewise.
1582 * expr.c (safe_from_p, expand_expr_real_1, rewrite_address_base)
1583 (find_interesting_uses_address): Likewise.
1584 * fold-const.c (non_lvalue, operand_equal_p): Likewise.
1585 (build_fold_addr_expr_with_type): Likewise.
1586 * gimplify.c (gimplify_addr_expr, gimplify_expr): Likewise.
1587 * print-rtl.c (print_mem_expr): Likewise.
1588 * tree-dump.c (dequeue_and_dump): Likewise.
1589 * tree-eh.c (tree_could_trap_p): Likewise.
1590 * tree-gimple.c (is_gimple_addressable, get_base_address): Likewise.
1591 * tree-pretty-print.c (op_prio, op_symbol, dump_generic_node): Likewise.
1592 * tree-ssa-alias.c (find_ptr_dereference, ptr_is_dereferenced_by):
1593 Likewise.
1594 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
1595 * tree-ssa-dom.c (record_equivalences_from_stmt): Likewise.
1596 * tree-ssa-loop-im.c (for_each_index, is_call_clobbered_ref): Likewise.
1597 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
1598 (add_address_candidates, rewrite_address_base): Likewise.
1599 * tree-ssa-operands.c (get_expr_operands, get_indirect_ref_operands):
1600 Likewise.
1601 * tree.c (staticp, build1_stat): Likewise.
1602
1603 * tree.def (REALIGN_LOAD_EXPR, REALIGN_STORE_EXPR): New tree-codes.
1604 * tree-pretty-print.c (dump_generic_node): Consider REALIGN_LOAD_EXPR.
1605 * tree-ssa-operands.c (get_expr_operands): Likewise.
1606 * expr.c (expand_expr_real_1): Likewise.
1607
1608 * optabs.h (vec_realign_store_optab, vec_realign_load_optab): New
1609 optabs.
1610 (OTI_vec_realign_store, OTI_vec_realign_load): New optab_index values
1611 for the new optabs.
1612 (expand_ternary_op): New function.
1613 * genopinit.c (optabs): Handle the new optabs.
1614 * optabs.c (optab_for_tree_code): Add cases for the new tree-codes.
1615 (init_optabs): Initialize vec_realign_load_optab.
1616 (expand_ternary_op): New functions.
1617
1618 * target-def.h (TARGET_VECTORIZE): New member for struct gcc_target.
1619 (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New member for targetm.vectorize.
1620 (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Likewise.
1621 (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Likewise.
1622 * target.h (struct vectorize): New member for struct gcc_target.
1623 (misaligned_mem_ok): New member for targetm.vectorize.
1624 (builtin_mask_for_load): Likewise.
1625 (builtin_mask_for_store): Likewise.
1626 * targethooks.c (default_vect_misaligned_mem_ok): New function.
1627 * targethooks.h (default_vect_misaligned_mem_ok): New function.
1628
1629 * config/rs6000/altivec.md (build_vector_mask_for_load): New
1630 define_expand.
1631 (vec_realign_load_v4si, vec_realign_load_v4sf, vec_realign_load_v8hi)
1632 (vec_realign_load_v16qi): New define_insn.
1633 * config/rs6000/rs6000.h (ALTIVEC_BUILTIN_MASK_FOR_LOAD):
1634 (ALTIVEC_BUILTIN_MASK_FOR_STORE): New target builtins.
1635 * config/rs6000/rs6000.c (altivec_builtin_mask_for_load):
1636 (altivec_builtin_mask_for_store): New variables.
1637 (rs6000_builtin_mask_for_load): New function. Implements
1638 TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD.
1639 (rs6000_builtin_mask_for_store): New function. Implements
1640 TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE.
1641 (rs6000_expand_builtin): Expand the target builtins
1642 builtin_mask_for_load and builtin_mask_for_store.
1643 (altivec_init_builtins): Initialize the new target builtins.
1644 * config/i386/i386.c (ix86_misaligned_mem_ok): New function.
1645 Implements the target hook TARGET_VECTORIZE_MISALIGNED_MEM_OK.
1646
1647 * tree-vectorizer.c (vect_create_data_ref): Renamed to
1648 vect_create_data_ref_ptr. Returns a pointer instead of an array-ref.
1649 (vect_create_addr_base_for_vector_ref): Additional argument (offset).
1650 (vectorizable_store): Call vect_create_data_ref_ptr with additional
1651 arguments, and create an indirect_ref with its return value data_ref.
1652 Check aligned_access_p.
1653 (vectorizable_load): Handle misaligned loads, using software-pipelined
1654 scheme with REALIGN_LOAD_EXPR and ALIGN_INDIRECT_REF if
1655 vec_realign_load_optab is supported, or using a scheme without
1656 software-pipelining with MISALIGNED_INDIRECT_REF if the target hook
1657 misaligned_mem_ok is supported.
1658
1659 (vect_finish_stmt_generation): Typo.
1660 (vect_enhance_data_refs_alignment): Rename loop_vinfo to loop_info.
1661 (vect_analyze_data_refs_alignment): Don't fail vectorization in the
1662 presence of misaligned loads.
1663 (vect_analyze_data_ref_access): Add check for constant init.
1664 (vect_get_symbl_and_dr): Remove duplicate line.
1665 * tree-vectorizer.h (DR_MISALIGNMENT): Add comment.
7ccf35ed 1666
d31012b7
KH
16672004-09-23 Kazu Hirata <kazu@cs.umass.edu>
1668
1669 * builtins.c: Fix a comment typo.
1670
aa26df17
JH
16712004-09-23 Jan Hubicka <jh@suse.cz>
1672
1673 * profile.c (branch_prob): Do not verify flow info in the middle of the
1674 pass.
1675
92fc4a2f
ZD
16762004-09-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1677
1678 * cfgloop.h (update_single_exits_after_duplication): Declare.
1679 (loopify, split_loop_bb): Declaration changed.
1680 * cfgloopmanip.c (split_loop_bb): Take void * as an argument instead
1681 of rtx.
1682 (loopify): Added redirect_all_edges argument.
1683 (update_single_exits_after_duplication): Export.
1684 * loop-unswitch.c (unswitch_loop): Changed due to loopify change.
1685 * tree-flow.h (tree_duplicate_loop_to_header_edge,
1686 tree_ssa_loop_version): Declare.
1687 * tree-ssa-loop-manip.c (copy_phi_node_args, rename_variables,
1688 set_phi_def_stmts, tree_duplicate_loop_to_header_edge,
1689 lv_adjust_loop_header_phi, lv_adjust_loop_entry_edge,
1690 lv_update_pending_stmts, tree_ssa_loop_version): New functions.
1691
1692 * tree-ssa-loop-unswitch.c: New file.
1693 * Makefile.in (tree-ssa-loop-unswitch.o): Add.
1694 * timevar.def (TV_TREE_LOOP_UNSWITCH): New timevar.
1695 * tree-flow.h (tree_ssa_unswitch_loops): Declare.
1696 * tree-optimize.c (init_tree_optimization_passes): Add pass_unswitch.
1697 * tree-pass.h (pass_unswitch): Declare.
1698 * tree-ssa-loop.c (tree_ssa_loop_unswitch,
1699 gate_tree_ssa_loop_unswitch, pass_unswitch): New pass.
1700 * doc/passes.texi: Documen tree level loop unswitching.
1701
d7e9e62a
KH
17022004-09-23 Kazu Hirata <kazu@cs.umass.edu>
1703
1704 * cfgexpand.c, config/s390/tpf-eh.c: Fix comment typos.
1705
d3147f64
EC
17062004-09-22 Eric Christopher <echristo@redhat.com>
1707
1708 * builtins.c (simplify_builtin_va_start): Remove.
1709 (simplify_builtin): Ditto.
1710 (fold_builtin_strchr): Ditto.
1711 (simplify_builtin_*): Rename remainders to fold_builtin_*.
1712 (expand_builtin): Fix up for above changes.
1713 (fold_builtin_1): Add new folders. Change for above.
1714 (expand_builtin_va_start): Call fold_builtin_next_arg.
1715 * gimplify.c (gimplify_call_expr): Fix calls to simplify_builtin.
1716 * tree.h: Remove prototype for simplify_builtin.
1717
e53de54d
JH
17182004-09-23 Jan Hubicka <jh@suse.cz>
1719
60108d34
JH
1720 PR debug/17389
1721 * dwarf2out.c (dwarf2out_finish): Deal with nested functions
1722 of fully inlined functions.
1723 * tree-inline.c (inline_forbidden_p_1): Nested functions can be
1724 inlined.
1725
e53de54d
JH
1726 * cfgexpand.c (add_reg_br_prob_note): New function.
1727 (expand_gimple_cond_expr): Use it.
1728 (tree_expand_cfg): No longer kill the profile.
1729 * cfgrt.c (rtl_verify_flow_info_1): Check profile consistency
1730 only if it is present.
1731 * passes.c (rest_of_handle_loop_optimize): Kill the profile.
1732 * predict.c (combine_predictions_for_insn): Set the probabilities
1733 based on REG_BR_PROB note if present.
1734 * predict.c (branch_prob): Profile is read only with
1735 flag_branch_probabilities.
1736
dfb77e37
KC
17372004-09-22 Kelley Cook <kcook@gcc.gnu.org>
1738
1739 * aclocal.m4: Add in gettext's m4 includes.
1740 (AC_ICONV, AC_LCMESSAGES, GCC_PATH_PROG): Remove.
a9db2a29 1741 * configure.ac: Add in check for iconv.h
dfb77e37 1742 * configure: Regenerate.
d3147f64 1743
88fa57d7
KC
17442004-09-22 Kelley Cook <kcook@gcc.gnu.org>
1745
1746 * aclocal.m4: Update for rename of gettext-sister.m4.
1747
8eee3528
DB
17482004-09-22 Daniel Berlin <dberlin@dberlin.org>
1749
1750 Fix PR tree-optimization/17587
1751 * tree-ssa-pre.c (fini_pre): Commit edge inserts here.
1752 (insert_aux): Instead of here.
1753
c04f07f4
DN
17542004-09-22 Diego Novillo <dnovillo@redhat.com>
1755
1756 PR tree-optimization/16721
1757 * tree-dfa.c (dump_variable): Show TREE_THIS_VOLATILE.
1758 * tree-ssa-alias.c (create_memory_tag): Move setting of
1759 TREE_THIS_VOLATILE ...
1760 (get_tmt_for): ... here.
1761
ba652ba9
EB
17622004-09-22 Eric Botcazou <ebotcazou@libertysurf.fr>
1763
1764 * config/sparc/sparc.md (cmove splitter): Fix formatting.
1765 (conditional_trap expander): Reject inappropriate CCmodes.
8db6bcda 1766 (conditional trap insn): Use V9 syntax if possible.
ba652ba9 1767
588d1952
JM
17682004-09-22 Joseph S. Myers <jsm@polyomino.org.uk>
1769
1770 PR c/16566
1771 * c-typeck.c (build_component_ref): Don't special-case
1772 COMPOUND_EXPR.
1773
08fb229e
FCE
17742004-09-22 Frank Ch. Eigler <fche@redhat.com>
1775
1776 * dominance.c (verify_dominators): Don't SEGV if recount_dominator
1777 returns NULL.
1778
9b270cce
KH
17792004-09-22 Kazu Hirata <kazu@cs.umass.edu>
1780
1781 * doc/c-tree.texi (TRUTH_NOT_EXPR, TRUTH_ANDIF_EXPR,
1782 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
1783 TRUTH_XOR_EXPR): Mention the restriction on types.
1784
8739ed59
MA
17852004-09-22 Matt Austern <austern@apple.com>
1786
8921359e 1787 * config/darwin.c (darwin_make_decl_one_only):
8739ed59 1788 Allow coalesced symbol to appear in static archive's table of contents
d3147f64 1789
a338ab5a
KH
17902004-09-22 Kazu Hirata <kazu@cs.umass.edu>
1791
1792 PR tree-optimization/17512
1793 * convert.c (convert_to_integer): Don't handle TRUTH_*_EXPR as
1794 special cases.
1795
39cf49a1
DE
17962004-09-22 David Edelsohn <edelsohn@gnu.org>
1797
1798 * dbxout.c (get_lang_number): Do not define if
1799 DBX_OUTPUT_MAIN_SOURCE_DIRECTORY is defined.
1800
d1c343cb
RC
18012004-09-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
1802
1afd063a 1803 PR target/15583
d1c343cb
RC
1804 * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Add
1805 builtin_define ("__USE_INIT_FINI__").
1806
4798630c
D
18072004-09-22 P.J. Darcy <darcypj@us.ibm.com>
1808
1809 * config/s390/s390-protos.h (s390_emit_tpf_eh_return): Add prototype.
1810 * config/s390/s390.c (s390_emit_tpf_eh_return): New function.
1811 * config/s390/s390.h (TARGET_TPF): New macro.
1812 * config/s390/s390.md ("eh_return"): New expander.
1813 * config/s390/t-tpf (LIB2ADDEH): Use unwind-dw2-fde.c rather than
1814 unwind-dw2-fde-glibc.c. Add config/s390/tpf-eh.c.
1815 (LIB2ADDEHDEP): Remove unwind-dw2-fde.c.
1816 * config/s390/tpf.h (TARGET_TPF): Define to 1.
1817 (STACK_POINTER_OFFSET): Increase to 448.
1818 (TARGET_DEFAULT): Set -mtpf-trace on as default.
1819 (TPF_LOC_DIFF_OFFSET): New macro.
1820 (ASM_PREFERRED_EH_DATA_FORMAT): Redefine to always use absolute
1821 encoding.
1822 (__isPATrange): Add prototype.
1823 (MD_FALLBACK_FRAME_STATE_FOR): Define.
1824 * config/s390/tpf-eh.c: New file.
1825
6a97296a
DN
18262004-09-22 Diego Novillo <dnovillo@redhat.com>
1827
1828 * fold-const.c (fold): Avoid non INTEGER_TYPEs when widening
1829 operands in an integer comparison.
1830 * tree-cfg.c (find_taken_edge): Call fold() to determine
1831 whether the predicate is known.
1832
3b620440
KC
18332004-09-22 Kelley Cook <kcook@gcc.gnu.org>
1834
1835 * aclocal.m4: Import AM_PROG_CC_C_O and AM_AUX_DIR_EXPAND.
1836 * configure.ac: Call AM_PROG_CC_C_O instead of AC_PROG_CC_C_O.
1837 Create build and doc directories along with the language directories.
1838 Don't create doc directory separately.
1839 * configure: Regenerate.
1840 * Makefile.in: Create all object and executables files built
1841 with the build compiler in a build/ directory.
1842 (genobjnames): Add missing build objects.
1843 (STAGESTUFF): Don't stage the gen* programs.
1844 (ggc-none.o): Define dependencies for the target compiler.
1845 (build-print-rtl.o): Rename to build/print-rtl.o.
1846 (build-errors.o): Rename to build/errors.o.
1847 (build-varray.o): Rename to build/varray.o.
1848 (maintainerclean): Delete the contents of the build directory.
1849 ($(genobjs): %.o): Explicitly use -o.
1850 (build/insn-conditions.o): Delete specfic rule to use generic rule.
1851 (build/gengtype-lex.o): Likewise.
1852 (build/gengtype-yacc.o): Likewise.
1853 (build/gcov-iov.o): Likewise.
1854
0e64e323
NS
18552004-09-22 Nathan Sidwell <nathan@codesourcery.com>
1856
1857 * vec.h (VEC_space): Return true if there _is_ space.
1858 (VEC_reserve): Adjust.
1859
e1aeeae9
RS
18602004-09-22 Richard Sandiford <rsandifo@redhat.com>
1861
1862 * config/mips/mips.c (mips_function_value): For o32, o64, n32 and n64,
1863 use FPRs for scalar, complex and vector types only.
1864
195da47b
JL
18652004-09-21 Jeff Law <law@redhat.com>
1866
23530866
JL
1867 * tree-ssa-dom.c (opt_stats): Move so that it lives just after
1868 the opt_stats_d structure.
1869 (vrp_data): Change from a varray into a hash table.
1870 (vrp_hash_elt): New structure for elements in the vrp hash table.
1871 (vrp_hash, vrp_eq):New functions for hashing and testing equality
1872 in the vrp hash table.
1873 (tree_ssa_dominator_optimize): Initialize VRP_DATA. Reorganize
1874 initialization slightly to make it easier to read. No longer need
1875 to grow/clear the varray. Instead empty and delete the hash table.
1876 (dom_opt_finalize_block): Update due to change of VRP_DATA from
1877 a varray to a hash table.
1878 (simplify_cond_and_loop_avail_expr, record_range): Similarly.
1879
195da47b
JL
1880 * tree-ssa-ccp.c (get_default_value): If we have a constant
1881 value recorded for an SSA_NAME, then use that constant as
1882 the initial lattice value.
1883 (substitute_and_fold): Transfer equivalences discovered into
1884 SSA_NAME_EQUIV.
d3147f64 1885
195da47b
JL
1886 * tree.h (SSA_NAME_EQUIV): Add comments.
1887 (SET_SSA_NAME_EQUIV): Similarly.
1888
0a4f0294
DE
18892004-09-21 David Edelsohn <edelsohn@gnu.org>
1890
1891 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Default to POWER4.
1892
1893 * config/rs6000/rs6000.c (rs6000_adjust_cost): dep_insn is used.
1894
1ae57298
MM
18952004-09-21 Mark Mitchell <mark@codesourcery.com>
1896
1897 * c-decl.c (implicityl_declare): Call maybe_apply_renaming_pragma.
1898 (finish_decl): Likewise.
1899
ad9f20cb
DP
19002004-09-21 Devang Patel <dpatel@apple.com>
1901
1902 * tree.def (VEC_COND_EXPR): New tree node.
1903 * tree-ssa-operands.c (get_expr_operands): Handle VEC_COND_EXPR.
d3147f64 1904
76419821
SS
19052004-09-21 Stan Shebs <shebs@apple.com>
1906
1907 * config/rs6000/darwin-tramp.asm: Add __ppc64__ case.
1908 * config/rs6000/darwin-world.asm: Likewise.
d3147f64 1909
7bab95ba
DB
19102004-09-21 Daniel Berlin <dberlin@dberlin.org>
1911
1912 * tree-ssa.c (verify_def): Use print_generic_stmt,
1913 not debug_generic_stmt.
1914 (verify_use): Ditto.
1915 (verify_phi_args): Ditto.
1916 (verify_ssa): Ditto.
1917
a13fd905
PB
19182004-09-21 Paul Brook <paul@codesourcery.com>
1919
1920 * varasm.c (default_assemble_integer): Return false for values wider
1921 than the target word size. Works around GAS bug.
1922
52c5701b
ZW
19232004-09-21 Zack Weinberg <zack@codesourcery.com>
1924
1925 * reg-notes.def (REG_DEP_TRUE): New entry, place first so it
1926 gets value 0.
1927 * print-rtl.c (print_rtx): Print the name of a REG_NOTE even
1928 if it has value 0.
1929
f0c721ad 19302004-09-21 Daniel Berlin <dberlin@dberlin.org>
52c5701b 1931
f0c721ad
DB
1932 * c-typeck.c (build_function_call): Give name of object
1933 we are attempting to call in error message.
1934 * c-objc-common.c (c_tree_printer): Call pp_expression,
1935 not return false, for 'E' case.
1936
c93320c4
SB
19372004-09-21 Steven Bosscher <stevenb@suse.de>
1938
1939 PR rtl-optimization/17482
1940 * postreload-gcse.c (reg_avail_info, oprs_unchanged_p,
1941 load_killed_in_block_p): Clarify comments.
1942 (record_last_reg_set_info): Make static inline.
1943 (mark_call, mark_set, mark_clobber, mark_oprs_set): Remove.
1944 (record_opr_changes): New function to replace the above.
1945 (compute_hash_table): Clarify comments. Use record_opr_changes.
1946 (reg_set_between_after_reload_p): Clean up.
1947 (reg_used_between_after_reload_p): Likewise.
1948 (eliminate_partially_redundant_load): Clarify comments.
1949
15ee342b
EB
19502004-09-21 Eric Botcazou <ebotcazou@libertysurf.fr>
1951
1952 PR rtl-optimization/17266
1953 * regmove.c (optimize_reg_copy_3): Make a new SUBREG for each insn.
1954
79b82df3
UB
19552004-09-21 Uros Bizjak <uros@kss-loka.si>
1956
1957 PR rtl-optimization/14851
1958 * rtlanal.c (commutative_operand_precedence): Calculate
1959 precedence of stripped constant.
1960
6f2aec07 19612004-09-20 Jeff Law <law@redhat.com>
52c5701b 1962 Jan Hubicka <jh@suse.cz>
6f2aec07
JL
1963
1964 * tree-ssanames.c (make_ssa_name): No longer need to clear, then
1965 initialize key elements here.
1966 (release_ssa_name): Zero the released SSA_NAME here.
1967 * tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): New macros.
1968 (struct tree_ssa_name): Add new "equiv" field.
1969 * tree-ssa-dom.c (const_and_copies): Kill the global varray.
1970 (tree_ssa_dominator_optimize): No longer allocate, resize or
1971 clear CONST_AND_COPIES.
1972 (get_value_for, set_value_for): Kill.
1973 (thread_across_edge): Get/set the equivalency using
1974 SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
1975 (restore_vars_to_original_value): Likewise.
1976 (record_equivalences_from_phis): Likewise.
1977 (record_dominating_conditions): Likewise.
1978 (record_const_or_copy, record_equality): Likewise.
1979 (lookup_avail_expr): Likewise.
1980 (record_equivalences_from_stmt, cprop_operand): Likewise.
1981 (cprop_into_successor_phis): No longer need to pass around
1982 CONST_AND_COPIES. Callers updated. Get equivalences via
1983 SSA_NAME_EQUIV.
1984 (cprop_into_phis): Likewise.
1985
c162c75e
MA
19862004-09-20 Matt Austern <austern@apple.com>
1987 Zack Weinberg <zack@codesourcery.com>
1988
1989 * c-common.c (fix_string_type): Build the unqualified array
1990 type unconditionally, then use c_build_qualified_type to get
1991 the proper const-qualified variant, and set its
1992 TYPE_MAIN_VARIANT to refer to the unqualified type.
1993 * c-lex.c (c_lex_return_raw_string): New global.
1994 (c_lex_with_flags): Honor it.
1995 * c-pragma.h: Declare it.
1996
5cfa8766
DB
19972004-09-20 Daniel Berlin <dberlin@dberlin.org>
1998
1999 * Makefile.in: Fix flags.h dependencies to be $(FLAGS_H).
2000
d21bede3
JH
20012004-09-21 Jan Hubicka <jh@suse.cz>
2002
2003 PR middle-end/17126
2004 * tree-optimize.c (update_inlined_to_pointers): Fix the recursion.
2005 (tree_rest_of_compilation): Cleanup.
2006
37337e55
UW
20072004-09-20 Ulrich Weigand <uweigand@de.ibm.com>
2008
2009 * config/s390/s390.c (s390_select_rtx_section): Remove.
2010 (TARGET_ASM_SELECT_RTX_SECTION): Do not redefine.
2011
455786b6
KK
20122004-09-20 Kaz Kojima <kkojima@gcc.gnu.org>
2013
2014 * config/sh/sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR
2015 note to pretend a direct save from the original register when an
2016 intermediate register is used for the save.
2017
2c82eecc
KG
20182004-09-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2019
2020 * tsystem.h (alloca): Provide a default definition.
2021
2022 Revert:
2023 2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2024 * unwind-dw2.c: Call __builtin_alloca, not alloca.
2025
b1940f0c
AP
20262004-09-20 Andrew Pinski <pinskia@physics.uc.edu>
2027
2028 PR tree-opt/17558
2029 * tree-ssa-copy.c (may_propagate_copy): Only allow if the
2030 aliasing sets are the same rather than just conflicting.
2031
8f235343
JH
20322004-09-20 Jan Hubicka <jh@suse.cz>
2033
2034 PR middle-end/16460
2035
2036 * cgraph.c (cgraph_unnest_node): New function.
2037 (c_finalize): Rename to ....
2038 (c_warn_unused_result_recursivly): ... this one; do only the warning
2039 (finish_function): Finalize the toplevel function; do not lower nested tree.
2040 * cgraph.h (cgraph_unnest_node): Declare.
2041 * cgraphunit.c (decide_is_function_needed): Do not use cgraph
2042 nestedness datastructure.
2043 * cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs.
2044 * reload1.c (set_label_offsets): Fix call of set_label_offsets.
2045 * tree-nested.c (finlize_nesting_tree_1): Use un-nesting code.
2046
04161e2b
RH
20472004-09-20 Richard Henderson <rth@redhat.com>
2048
2049 * config/alpha/alpha.c (some_small_symbolic_operand_int): Rename
2050 from some_small_symbolic_operand_1; export.
2051 (some_small_symbolic_operand): Remove.
2052 * config/alpha/alpha.md (some_small_symbolic_operand splitter): Remove
2053 extra C check.
2054 * config/alpha/predicates.md (some_small_symbolic_operand): New.
2055
bb033fd8
JH
20562004-09-20 Jan Hubicka <jh@suse.cz>
2057
2058 * predict.c (return_prediction): New function.
2059 (apply_return_prediction): Likewise.
2060 (tree_bb_level_predictions): Likewise.
2061 (tree_estimate_probability): Add noreturn exit edges; call
2062 bb_level_predictions; fix logic of return heuristics.
2063 (predict_paths_leading_to): Rescuesce from old CVS version of
2064 process_note_prediction function.
2065 * predict.def (PRED_TREE_EARLY_RETURN): New predictor.
2066
ea506297
AK
20672004-09-20 Andreas Krebbel <krebbel1@de.ibm.com>
2068
2069 * config/s390/s390.c (s390_frame_info): Added alignment statement for
2070 floating point register area on stack.
2071
096759eb
JJ
20722004-09-20 Jakub Jelinek <jakub@redhat.com>
2073
2074 * predict.c (expr_expected_value): Use *_CLASS_P macros.
2075
d6fd4b8d
DB
20762004-09-20 Daniel Berlin <dberlin@dberlin.org>
2077
c162c75e 2078 * tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid
d6fd4b8d
DB
2079 generating useless garbage.
2080
c2dda19b
PB
20812004-09-20 Paolo Bonzini <bonzini@gnu.org>
2082
2083 * builtins.c (fold_builtin): Call the new omonymous
2084 target hook for machine-dependent built-ins.
2085 * target-def.h (TARGET_FOLD_BUILTIN): New.
2086 * target.h (struct gcc_target): Add the fold_builtin hook.
2087 * targhooks.c (default_fold_builtin): New.
2088 * targhooks.h (default_fold_builtin): Declare it.
2089
d4a9b3a3
KH
20902004-09-20 Kazu Hirata <kazu@cs.umass.edu>
2091
2092 * cfg.c, tree-ssa-threadupdate.c, tree-vectorizer.c: Fix
2093 comment typos.
2094
073cbad3
RS
20952004-09-20 Richard Sandiford <rsandifo@redhat.com>
2096
2097 PR target/17565
2098 * config/mips/mips.md (define_asm_attributes): Set can_delay to no.
2099
58016611
JH
21002004-09-20 Jan Hubicka <jh@suse.cz>
2101
2102 * predict.c (estimate_probability): Remove unnecesary code.
2103
6775f1f3
IR
21042004-09-19 Ira Rosen <irar@il.ibm.com>
2105
2106 * tree-vectorizer.h (stmt_vec_info): Add vect_dr_base field.
2107 (STMT_VINFO_VECT_DR_BASE): Declare.
2108 (VECT_SMODULO): Declare.
2109 * tree-vectorizer.c (vect_compute_array_ref_alignment): New function.
2110 (vect_compute_array_base_alignment): New function.
2111 (vect_analyze_data_ref_access): Check array indices. Remove one
2112 dimensional arrays restriction.
2113 (vect_get_ptr_offset): New function.
2114 (vect_get_symbl_and_dr): New function.
2115 (vect_get_base_and_bit_offset): Support additional data refs. Renamed
2116 (former name vect_get_base_decl_and_bit_offset).
2117 (vect_create_index_for_array_ref): Removed.
2118 (vect_create_index_for_vector_ref): New function.
2119 (vect_create_addr_base_for_vector_ref): New function.
2120 (vect_create_data_ref): Handle additional data refs. Call
2121 vect_create_index_for_vector_ref and vect_create_addr_base_for_vector_ref.
2122 (vect_compute_data_ref_alignment): Support the changes. Call
2123 vect_get_base_and_bit_offset.
2124 (vect_analyze_data_refs): Call vect_get_symbl_and_dr. Support additional
2125 data refs. Store vect_dr_base.
2126 (vect_analyze_data_ref_accesses): Support nonconstant init.
2127 (new_stmt_vec_info): Initialize vect_dr_base field.
2128 (vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
2129 (get_vectype_for_scalar_type): Check for BLKmode.
2130 * tree-chrec.h (initial_condition_in_loop_num): Declare.
2131 * tree-chrec.c (initial_condition_in_loop_num): New function.
2132 (chrec_component_in_loop_num): New function.
2133 (evolution_part_in_loop_num): Call chrec_component_in_loop_num.
2134 * tree-data-ref.c (analyze_array_indexes): Change parameter (access_fns)
2135 to be pointer to varray_type.
2136
15db5571
JH
21372004-09-19 Jan Hubicka <jh@suse.cz>
2138
2139 * basic-block.h (update_bb_profile_after_threading): Declare.
2140 * cfg.c (update_bb_profile_after_threading): Break out from ...
2141 * cfgcleanup.c (try_forward_edges): ... here; use it.
2142 * tree-ssa-dom.c (thread_across_edge): Use it.
2143 * tree-ssa-threadupdate.c (create_block_for_threading): Zero out
2144 profile of the new BB.
2145
97141338
DB
21462004-09-19 Daniel Berlin <dberlin@dberlin.org>
2147
2148 * tree-ssa-pre.c (insert_into_set): Don't put
2149 is_gimple_min_invariant values into the set.
2150
76fd4fd7
AJ
21512004-09-19 Andreas Jaeger <aj@suse.de>
2152
2153 * tree-ssa-dom.c (restore_nonzero_vars_to_original_value): Fix
2154 prototype.
2155
938688cd
KH
21562004-09-18 Kazu Hirata <kazu@cs.umass.edu>
2157
2158 * config/cris/cris.h: Preserve the original spelling in a
2159 quote.
2160
fdabe5c2
JL
21612004-09-18 Jeff Law <law@redhat.com>
2162
2163 * tree-ssa-dom.c (nonzero_vars_stack, vrp_variables_stack): New
2164 global varrays to replace the block local varrays.
2165 (struct dom_walk_block_data): Remove, no longer used.
2166 (get_eq_expr_value): No longer need to pass around pointers to local
2167 varrays. Callers updated. Unused markers added to unused parameters.
2168 (record_range, record_equivalences_from_stmt): Likewise.
2169 (record_equivalences_from_incoming_edge): Likewise.
2170 (record_var_is_nonzero): Likewise. Update now that we have a
2171 single global varray of SSA_NAMEs that need restoring.
2172 (dom_opt_initialize_block_local_data): Kill, no longer used.
2173 (tree_ssa_dominator_optimize): Initialize new global varrays.
2174 Update callbacks in dominator walker structure.
2175 (dom_opt_initialize_block): Add markers to NONZERO_VAR_STACK and
2176 VRP_VARIABLES_STACK.
2177 (restore_nonzero_vars_to_original_value): Update now that we have
2178 a single global varray of SSA_NAMEs that need restoring.
2179 (dom_opt_finalize_block): Similarly for VRP_VARIABLES_STACK.
2180 Remove unused variables.
2181 (optimize_stmt): Remove unused variable.
2182
0eac5feb
JH
21832004-09-18 Jan Hubicka <jh@suse.cz>
2184
4d539f68
JH
2185 * tree-cfg.c (thread_jumps): Fix updating of the profile.
2186
0eac5feb
JH
2187 * tree-optimize.c (tree_rest_of_compilation): Kill forgotten
2188 verify_cgraph call.
2189
454ff5cb
KH
21902004-09-18 Kazu Hirata <kazu@cs.umass.edu>
2191
2192 * alias.c, crtstuff.c, dbxout.c, domwalk.c, domwalk.h, gcc.c,
2193 gcse.c, global.c, lambda-code.c, loop.c, mips-tdump.c,
2194 optabs.h, predict.c, reg-stack.c, regclass.c, sched-rgn.c,
2195 tree-optimize.c, tree-ssa-dom.c, tree-ssa-forwprop.c,
2196 tree-ssa-operands.c, tree-ssa-phiopt.c,
2197 tree-ssa-threadupdate.c: Fix comment typos.
2198
112cdef5
KH
21992004-09-18 Kazu Hirata <kazu@cs.umass.edu>
2200
2201 * config/darwin-c.c, config/arc/arc.c, config/arc/arc.md,
2202 config/arm/README-interworking, config/arm/arm-cores.def,
2203 config/arm/arm.c, config/arm/arm.h, config/arm/pe.c,
2204 config/arm/vfp.md, config/c4x/c4x.c, config/c4x/c4x.h,
2205 config/cris/cris.c, config/cris/cris.h, config/fr30/fr30.c,
2206 config/fr30/fr30.h, config/fr30/fr30.md, config/frv/frv.c,
2207 config/frv/frv.md, config/i386/winnt.c,
2208 config/ia64/unwind-ia64.c, config/iq2000/iq2000.c,
2209 config/iq2000/iq2000.h, config/m68hc11/m68hc11.c,
2210 config/m68hc11/m68hc11.md, config/m68k/m68k.c,
2211 config/mcore/mcore.c, config/mips/mips.h,
2212 config/mn10300/mn10300.md, config/pa/pa.c,
2213 config/pa/pa64-regs.h, config/pdp11/pdp11.c,
2214 config/rs6000/rs6000.c, config/sh/symbian.c,
2215 config/sparc/sparc.h: Fix comment typos. Follow spelling
2216 conventions.
2217
ad97f4be
JM
22182004-09-18 Joseph S. Myers <jsm@polyomino.org.uk>
2219
2220 PR c/17424
2221 * c-typeck.c (c_expr_sizeof_expr): Check for error_mark_node.
2222
57e28d7d
DN
22232004-09-18 Diego Novillo <dnovillo@redhat.com>
2224
2225 * tree-ssa-alias.c (setup_pointers_and_addressables): Don't
2226 remove TREE_ADDRESSABLE from RESULT_DECL.
2227
d804d490
DN
22282004-09-18 Diego Novillo <dnovillo@redhat.com>
2229
2230 * tree-ssa-alias.c (dump_alias_info): Ignore NULL SSA_NAMEs.
2231
8b547e44
JH
22322004-09-18 Jan Hubicka <jh@suse.cz>
2233
2234 * tree-into-ssa.c (rewrite_ssa_into_ssa): Expect ssa_name to return
2235 NULL.
2236 * tree-ssa-alias.c (init_alias_info): Likewise.
2237 * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
2238 (verify_ssa): Likewise.
2239 * tree-ssanames.c (make_ssa_name): Clear out ssa_names arrays.
2240
b8771ace
JH
22412004-09-18 Jan Hubicka <jh@suse.cz>
2242
2243 * i386.c (legitimize_pic_address): Fix splitting of PLUS with
2244 huge offset.
2245
f4966f8c
KK
22462004-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
2247
2248 * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove.
2249 * config/sh/sh.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
2250 DW_EH_PE_sdata* for data.
2251 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
2252
a396f8ae
GK
22532004-09-17 Geoffrey Keating <geoffk@apple.com>
2254
2255 * tree-inline.c (copy_tree_r): Don't duplicate constants, they're
2256 shared anyway.
2257
2258 PR pch/13361
2259 * c-typeck.c (constructor_asmspec): Delete.
2260 (struct initializer_stack): Delete field 'asmspec'.
2261 (start_init): Delete saving of asmspec.
2262 (finish_init): Don't update constructor_asmspec.
2263 * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
2264 * stmt.c (expand_asm): Duplicate strings from tree.
2265 (expand_asm_operands): Likewise.
2266 * tree.c (tree_size): Update computation of size of STRING_CST.
2267 (make_node): Don't make STRING_CST nodes.
2268 (build_string): Allocate string with tree node.
2269 (tree_code_size): Clean up assertions, don't allow requests
2270 for "the size of a STRING_CST".
2271 * tree.def (STRING_CST): Update comment.
2272 * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
2273 (tree_string): Place contents of string in tree node.
2274 * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
2275 from tree.
2276
9aa44508
ZW
22772004-09-17 Zack Weinberg <zack@codesourcery.com>
2278
2279 * Makefile.in (c-parse.o): Depend on $(C_PRAGMA_H).
2280 * objc/Make-lang.in (objc/objc-parse.o): Likewise.
2281
bf3b7cd3
JD
22822004-09-17 Jones Desougi <jones@ingate.com>
2283
2284 * configure.ac: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF.
2285 * configure, config.in: Regenerate.
2286
b85e3643
ZW
22872004-09-17 Zack Weinberg <zack@codesourcery.com>
2288
2289 * tree.c, tree.h (tree_class_strings): Make array const.
2290 Reindent per coding convention. Move asterisk to proper place
2291 per coding convention.
2292
6e336333
AS
22932004-09-18 Andreas Schwab <schwab@suse.de>
2294
2295 * Makefile.in (gimple-low.o): Depend on $(EXPR_H).
2296 (tree-vectorizer.o): Likewise.
2297 (targhooks.o): Likewise.
2298
6615c446
JO
22992004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
2300 Zack Weinberg <zack@codesourcery.com>
2301
2302 * alias.c (find_base_decl): Remove unreachable case '3' block.
2303 * expr.c (safe_from_p): Abort if passed a type.
2304 * tree-gimple.c (recalculate_side_effects): Abort if passed
2305 anything other than an expression.
2306 * tree-ssa-pre.c (phi_translate): Return expr immediately if
2307 is_gimple_min_invariant is true for it. Reorder cases for clarity.
2308 Abort on un-handled tree classes.
2309 (valid_in_set): Likewise.
2310 * tree.c (tree_code_class_strings): New static data.
2311
2312 * tree.h (enum tree_code_class): New.
2313 (tree_code_class_strings): Declare.
2314 (TREE_CODE_CLASS_STRING, EXCEPTIONAL_CLASS_P, CONSTANT_CLASS_P)
2315 (REFERENCE_CLASS_P, COMPARISON_CLASS_P, UNARY_CLASS_P, BINARY_CLASS_P)
2316 (STATEMENT_CLASS_P, EXPRESSION_CLASS_P, IS_TYPE_OR_DECL_P): New macros.
2317 (TYPE_P, DECL_P, IS_NON_TYPE_CODE_CLASS, IS_EXPR_CODE_CLASS)
2318 (checking macros, EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_LOCUS): Update.
2319
2320 * tree.def, c-common.def, objc/objc-tree.def: Use
2321 tree_code_class enumeration constants instead of code letters.
2322
2323 * alias.c, builtins.c, c-common.c, c-format.c, c-lang.c, c-pragma.c
2324 * c-typeck.c, cgraphunit.c, convert.c, dbxout.c, dwarf2out.c
2325 * emit-rtl.c expr.c, fold-const.c, gimplify.c, lambda-code.c
2326 * langhooks.c, langhooks.h, predict.c, print-tree.c, reload1.c, stmt.c
2327 * tree-browser.c, tree-cfg.c, tree-chrec.c, tree-complex.c, tree-dfa.c
2328 * tree-dump.c, tree-eh.c, tree-gimple.c, tree-inline.c, tree-nested.c
2329 * tree-outof-ssa.c, tree-pretty-print.c, tree-sra.c, tree-ssa-ccp.c
2330 * tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-forwprop.c, tree-ssa-live.c
2331 * tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c
2332 * tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-propagate.c
2333 * tree-ssa.c, tree-ssanames.c, tree-tailcall.c, tree.c, varasm.c
2334 * config/sol2-c.c, config/arm/arm.c, config/i386/winnt.c
2335 * config/pa/pa.c, config/pa/pa.h, config/sh/sh.c, objc/objc-lang.c
2336 Update to match.
2337
2338 * LANGUAGES: Add note about change.
2339
823f0809
DN
23402004-09-17 Diego Novillo <dnovillo@redhat.com>
2341
2342 PR tree-optimization/17319
2343 * tree-ssa-alias.c (compute_points_to_and_addr_escape): Also
2344 examine pointers on the LHS of an assignment.
2345 (collect_points_to_info_r): Handle RETURN_EXPR.
2346
b5fefcf6
JL
23472004-09-17 Jeff Law <law@redhat.com>
2348
2349 * tree-ssa-dom.c (const_and_copies_stack): New.
2350 (dom_walk_block_data): Remove const_and_copies field.
2351 (record_const_or_copy): No longer need to pass in varray_type *.
2352 Use CONST_AND_COPIES_STACK rather than passed in block local stack.
2353 Callers updated.
2354 (record_equality): Similarly.
2355 (restore_vars_to_original_value): Similarly. Revamp to use new
2356 single global stack rather than per-block stacks.
2357 (tree_ssa_dominator_optimize): Initialize the CONST_AND_COPIES_STACK.
2358 (thread_across_edge): Remove now unused parameters.
2359 (dom_opt_initialize_block_local_data): No longer test the block
2360 local CONST_AND_COPIES.
2361 (dom_opt_initialize_block): Push a marker on CONST_AND_COPIES_STACK.
2362
2c459e74
JH
23632004-09-17 Jan Hubicka <jh@suse.cz>
2364
2365 PR tree-optimization/17509
2366 * tree-optimize.c (update_inlined_to_pointers): New function.
2367 (tree_rest_of_compilation): Use it.
2368
0456cbf6
DP
23692004-09-17 Devang Patel <dpatel@apple.com>
2370
2371 * dbxout.c (get_lang_number): New.
2372 (dbxout_init): Include lang number in N_SO stab.
2373 * dbxout.h (N_SO_AS, N_SO_C, N_SO_ANSI_C, N_SO_CC, N_SO_FORTRAN,
2374 N_SO_PASCAL, N_SO_FORTRAN90, N_SO_OBJC, N_SO_OBJCPLUS): New #define.
6615c446 2375
7eae8eb2
DN
23762004-09-17 Diego Novillo <dnovillo@redhat.com>
2377
2378 PR tree-optimization/17273
2379 * tree-ssa.c (replace_immediate_uses): Call fold_stmt if the
2380 replacement is a constant.
2381
98c3a782
JM
23822004-09-17 Joseph S. Myers <jsm@polyomino.org.uk>
2383
2384 * c-tree.h (enum c_typespec_keyword): New.
2385 (struct c_declspecs): Adjust description of "type". Remove
2386 specbits, explicit_int_p and explicit_char_p. Rename
2387 typedef_signed_p to explicit_signed_p. Add default_int_p, long_p,
2388 short_p, signed_p, unsigned_p and complex_p.
2389 (finish_declspecs): New.
2390 * c-parse.in (datadef, datadecl, setspecs, decl, component_decl,
2391 typename): Call finish_declspecs.
2392 * c-decl.c (finish_declspecs): New.
2393 (declspecs_add_type): Check for combinations which cannot occur in
2394 valid specifier lists. Update comments.
2395 (shadow_tag_warned): Remove checks done in finish_declspecs.
2396 Don't report useless type name if type defaulted to int.
2397 (grokdeclarator): Remove checks and actions done in
2398 finish_declspecs. Don't allow for type being NULL. Update for
2399 datastructures changes. Initialize decl_attr.
2400 (build_null_declspecs, quals_from_declspecs): Update for
2401 datastructures changes.
2402
254ea84c
SP
24032004-09-17 Sylvain Pion <Sylvain.Pion@sophia.inria.fr>
2404
6615c446 2405 * doc/extend.texi: Fix duplicated word.
254ea84c 2406
fa151acf
TM
24072004-09-17 Toon Moene <toon@moene.indiv.nluug.nl>
2408
2409 * doc/invoke.texi: Remove stray explanation on
2410 -freduce-all-givs and -fmove-all-movables.
2411
cd1a8088
JM
24122004-09-17 James Morrison <phython@gcc.gnu.org>
2413
2414 * doc/cfg.texi: Use @smallexample.
2415 * doc/md.texi: Likewise.
2416 * doc/tree-ssa.texi: Likewise.
2417 * doc/extend.texi: Likewise. Use @r{} in comments.
2418 * doc/trouble.texi: Use @r{} in comments.
2419
58ea87a9
HPN
24202004-09-17 Hans-Peter Nilsson <hp@bitrange.com>
2421
2422 * configure.ac (gcc_cv_gld_version): Handle whitespace before
2423 "VERSION=".
2424 * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Ditto.
2425 * configure: Regenerate.
2426
788bb47d
JR
24272004-09-17 J"orn Rennecke <joern.rennecke@superh.com>
2428
2429 * sh.c (sh_gimplify_va_arg_expr): Don't call pass_by_reference.
2430 (sh_pass_by_reference): Work around std_gimplify_va_arg_expr bug.
2431 * t-sh (MULTILIB_CPUS): s/ML_m/ML_sh/g .
2432 * t-sh64 (MULTILIB_CPU_DIRS): Likewise. Match dashes and trailing
2433 slashes in substitutions.
2434 (MULTILIB_DIRNAMES): Remove defunct removal of /media32.
2435
b01d837f
KH
24362004-09-17 Kazu Hirata <kazu@cs.umass.edu>
2437
2438 * basic-block.h, c-decl.c, c-parse.in, cgraphunit.c, ddg.c,
2439 gimplify.c, lambda-code.c, optabs.c, predict.c,
2440 tree-scalar-evolution.c, tree-sra.c, tree-ssa-loop-ch.c,
2441 tree-ssa.c, vec.h: Fix comment typos. Follow spelling
2442 conventions.
2443
4ec7afd7
KH
24442004-09-17 Kazu Hirata <kazu@cs.umass.edu>
2445
2446 * doc/compat.texi, doc/cpp.texi, doc/cppopts.texi,
2447 doc/extend.texi, doc/install.texi, doc/invoke.texi,
2448 doc/sourcebuild.texi, doc/tm.texi, doc/tree-ssa.texi,
2449 doc/trouble.texi: Use @option around options.
2450
6eab2bc3
RS
24512004-09-17 Richard Sandiford <rsandifo@redhat.com>
2452
2453 * Makefile.in (gen-protos.o): Depend on errors.h.
2454
275a4187
SB
24552004-09-17 Steven Bosscher <stevenb@suse.de>
2456
6615c446 2457 PR tree-optimization/17513
275a4187
SB
2458 * cfgexpand.c (construct_init_block): Clear EDGE_EXECUTABLE
2459 for successors of the entry block.
2460
b355f222
UB
24612004-09-17 Uros Bizjak <uros@kss-loka.si>
2462
2463 PR rtl-optimization/15187
2464 * ifcvt.c (noce_try_cmove_arith): Exit early if total
2465 insn_rtx_cost of both branches > BRANCH_COST
2466
7a116211
DN
24672004-09-16 Diego Novillo <dnovillo@redhat.com>
2468
2469 PR tree-optimization/17528
2470 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Do not
2471 erase the may-alias set for a tag when merging it with
2472 another.
2473
e57450ce
KK
24742004-09-16 Kaz Kojima <kkojima@gcc.gnu.org>
2475
2476 * config/sh/sh.md (call): Extend 32-bit addresses to DImode
2477 for 32-bit TARGET_SHMEDIA.
2478 (call_value): Likewise.
2479
1800536a
DN
24802004-09-16 Diego Novillo <dnovillo@redhat.com>
2481
2482 * tree-ssa-operands.c (add_call_clobber_ops): Make read-only
2483 test apply only to TREE_STATIC and DECL_EXTERNAL.
2484
42759f1e
ZD
24852004-09-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2486
2487 * Makefile.in (tree-cfg.o): Add CFGLAYOUT_H dependency.
2488 * basic-block.h (get_dominated_by_region): Declare.
2489 * dominance.c (get_dominated_by_region): New function.
2490 * tree-cfg.c: Include cfglayout.h.
2491 (tree_duplicate_bb): Duplicate also phi nodes.
2492 (struct ssa_name_map_entry): New type.
2493 (add_phi_args_after_copy_bb, add_phi_args_after_copy,
2494 ssa_name_map_entry_hash, ssa_name_map_entry_eq,
2495 allocate_ssa_names, rewrite_to_new_ssa_names_def,
2496 rewrite_to_new_ssa_names_use, rewrite_to_new_ssa_names_bb,
2497 rewrite_to_new_ssa_names, tree_duplicate_sese_region): New functions.
2498 * tree-flow.h (tree_duplicate_sese_region, add_phi_args_after_copy_bb,
2499 add_phi_args_after_copy, rewrite_to_new_ssa_names_bb,
2500 rewrite_to_new_ssa_names, allocate_ssa_names,
2501 rewrite_into_loop_closed_ssa, verify_loop_closed_ssa): Declare.
2502 * tree-ssa-loop-ch.c (duplicate_blocks): Removed.
2503 (copy_loop_headers): Use tree_duplicate_sese_region.
2504
2731cf24
FCE
25052004-09-16 Frank Ch. Eigler <fche@redhat.com>
2506
2507 * profile.c (branch_prob): Restore support for USE_MAPPED_LOCATION.
2508
9fae925b
JL
25092004-09-16 Jeff Law <law@redhat.com>
2510
2511 * tree-into-ssa.c (block_defs_stack): New toplevel varray.
2512 (rewrite_block_data): Remove, no longer used.
2513 (rewrite_initialize_block_local_data): Remove, no longer used.
2514 (rewrite_initialize_block): Mark parameters as unused as needed.
2515 Change references to the block local block_defs to be block_defs_stack.
2516 Push a marker onto the block_defs_stack.
2517 (ssa_rewrite_initialize_block): Similarly.
2518 (rewrite_stmt, ssa_rewrite_stmt): Similarly.
2519 (ssa_register_new_def): No longer needs varray argument. Use
2520 block_defs_stack instead. No longer handle possibly null block_defs
2521 varray. Reverse order of items we push on the stack to make it
2522 easier to identify our marker.
2523 (register_new_def): No longer handle possibly null block_defs
2524 varray.
2525 (rewrite_finalize_block): Revamp to look for markers in the global
2526 block_defs_stack varray rather than wiping a block local varray.
2527 Mark arguments as unused as needed.
2528 (ssa_rewrite_finalize_block): Similarly.
2529 (rewrite_into_ssa): Update initialization of dom walker structure
2530 to reflect that we don't need block local data anymore. Initialize
2531 the block_defs_stack varray.
2532 (rewrite_ssa_into_ssa): Similarly.
2533 * tree-ssa-dom.c (block_defs_stack): New toplevel varray.
2534 (struct dom_walk_data): Kill block_defs field.
2535 (tree_ssa_dominator_optimize): Initialize block_defs_stack.
2536 (thread_across_edge): Use the global block_defs_stack instead of
2537 the old block_defs varray.
2538 (dom_opt_initialize_block_local_data): Update now that we don't have
2539 block_defs field to check anymore.
2540 (dom_opt_initialize_block): Push a marker onto block_defs_stack.
2541 (restore_currdefs_to_original_value): Use the new block_defs_stack
2542 instead of a block local varray.
2543 (dom_opt_finalize_block): Similarly.
2544 (record_equivalencs_from_phis): Similarly.
2545 (optimize_stmt, register_definitions_for_stmt): Similarly.
2546
49f48e9f
AM
25472004-09-16 Andrew MacLeod <amacleod@redhat.com>
2548
2549 PR tree-optimization/17517
6615c446 2550 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
49f48e9f
AM
2551 coalesce same-root variables without checking for abnormal PHI usage.
2552
f67d92e9 25532004-09-16 Daniel Berlin <dberlin@dberlin.org>
6615c446 2554
f67d92e9
DB
2555 * cfgloop.h (duplicate_loop): Add prototype.
2556 * cfgloopmanip.c (duplicate_loop): Make non-static.
2557 * lambda-code.c (perfect_nestify): Factor out test whether
2558 we can handle this loop into separate function.
2559 Call it.
2560 (can_convert_to_perfect_nest): New function.
2561 (replace_uses_of_x_with_y): Add modify_stmt call.
2562 * tree-loop-linear.c (linear_transform_loops): Call
2563 rewrite_into_loop_closed_ssa and free_df.
2564
25652004-09-16 Daniel Berlin <dberlin@dberlin.org>
2566
2567 * lambda-code.c (invariant_in_loop): is_gimple_min_invariant is
2568 loop invariant as well.
2569 (perfect_nestify): new function.
2570 (gcc_loop_to_lambda_loop): New parameters to track lower bounds,
6615c446 2571 upper bounds, and steps.
f67d92e9
DB
2572 Set outerinductionvar properly.
2573 (gcc_loopnest_to_lambda_loopnest): Add loops and need_perfect
2574 parameters.
2575 Return NULL if we need a perfect loop and can't make one.
2576 (lambda_loopnest_to_gcc_loopnest): Correct algorithm.
2577 (not_interesting_stmt): New function.
2578 (phi_loop_edge_uses_def): Ditto.
2579 (stmt_uses_phi_result): Ditto.
2580 (stmt_is_bumper_for_loop): Ditto.
2581 (perfect_nest_p): Ditto.
2582 (nestify_update_pending_stmts): Ditto.
2583 (replace_uses_of_x_with_y): Ditto.
2584 (stmt_uses_op): Ditto.
2585 (perfect_nestify): Ditto.
2586 * lambda-mat.c (lambda_matrix_id_p): New function.
2587 * lambda-trans.c (lambda_trans_matrix_id_p): Ditto.
2588 * lambda.h: Update prototypes.
2589 * tree-loop-linear (linear_transform_loop): Use new
2590 perfect_nest_p. Detect and ignore identity transform.
2591 * tree-ssa-loop.c (pass_linear_transform): Use TODO_write_loop_closed.
2592
25932004-09-16 Sebastian Pop <pop@cri.ensmp.fr>
2594
2595 * tree-loop-linear.c (gather_interchange_stats): Add more comments.
6615c446 2596 Gather also strides of accessed data. Pass in the data references
f67d92e9 2597 array.
6615c446 2598 (try_interchange_loops): Add a new heuristic for handling the temporal
f67d92e9
DB
2599 locality. Pass in the data references array.
2600 (linear_transform_loops): Pass the data references array to
2601 try_interchange_loops.
2602
83c99486
KH
26032004-09-16 Kazu Hirata <kazu@cs.umass.edu>
2604
2605 * doc/invoke.texi: Fix typos. Follow spelling conventions.
2606
4b30ad7e
NS
26072004-09-16 Nathan Sidwell <nathan@codesourcery.com>
2608
2609 * doc/c-tree.texi (Classes): Remove index entries for
2610 TREE_VIA_{PUBLIC,PROTECTED,PRIVATE}.
2611
2f4675b4
ZD
26122004-09-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2613
2614 * fold-const.c (fold): Fold difference of addresses.
2615 (ptr_difference_const): Moved from tree-ssa-loop-ivopts, based on
2616 get_inner_reference.
2617 * tree-ssa-loop-ivopts.c (peel_address): Removed.
2618 (ptr_difference_const): Moved to fold-const.c.
2619 (split_address_cost): Use get_inner_reference instead of peel_address.
2620 (ptr_difference_cost): Change type of diff to HOST_WIDE_INT.
2621 * tree.h (ptr_difference_const): Export.
2622
2623 * tree-ssa-loop-ivopts.c (dump_iv, dump_use, dump_cand): Add induction
2624 variable type to the dump. Fix indentation.
2625 (idx_find_step): Handle nonconstant array_ref_element_size and
2626 array_ref_low_bound.
2627 (idx_record_use): Handle array_ref_element_size and
2628 array_ref_low_bound.
2629 (find_interesting_uses_stmt): Handle memory = nontrivial_expression
2630 statements correctly.
2631 (get_computation_at, iv_value): Do not unshare expressions here.
2632 (rewrite_use_outer): Unshare the expression before it is emitted
2633 to code.
2634 * tree-ssa-loop-niter.c (unsigned_type_for, signed_type_for):
2635 Moved to tree.c.
2636 * tree.c (unsigned_type_for, signed_type_for): Moved from
2637 tree-ssa-loop-niter.c. Use langhooks.
2638 * tree.h (signed_type_for): Export.
2639
8210e4c4
DE
26402004-09-16 David Edelsohn <edelsohn@gnu.org>
2641
2642 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Update
2643 prototype.
2644
3dd53121
AP
26452004-09-15 Andrew Pinski <pinskia@physics.uc.edu>
2646
2647 PR target/11572
2648 * c-incpath.h (target_c_incpath_s): Add extra_pre_includes.
2649 Add two parameters to extra_includes.
2650 (C_INCPATH_INIT): Remove.
2651 * c-incpath.c (register_include_chains): Call extra_pre_includes
2652 before adding the standard include directory.
2653 Update call to extra_includes.
2654 (!defined TARGET_EXTRA_INCLUDES): Update
2655 hook_void_charptr_charptr_int and add !define
2656 TARGET_EXTRA_PRE_INCLUDES.
2657 (!define TARGET_EXTRA_INCLUDES): Define as
2658 hook_void_charptr_charptr_int.
2659 (!define TARGET_EXTRA_PRE_INCLUDES): Likewise.
2660 (target_c_incpath): Always declare.
2661 * fixinclude.c (defined TARGET_EXTRA_INCLUDES): Declare a
2662 empty function.
2663 (define TARGET_EXTRA_PRE_INCLUDES): Likewise.
2664 * config/darwin.h: (darwin_register_frameworks): Update for
2665 the two new parameters.
2666 (darwin_register_objc_includes): Add prototype.
2667 (TARGET_EXTRA_PRE_INCLUDES): Define.
2668 * config/darwin-c.c (darwin_register_objc_includes): New function.
2669 (darwin_register_frameworks): Update for the two new parameters.
2670 (target_c_incpath): Remove.
2671 * config/t-darwin (darwin-c.o): Add $(PREPROCESSOR_DEFINES) to
2672 the compile line.
2673 * doc/tm.texi (TARGET_EXTRA_INCLUDES): Document the two new
2674 parameters.
2675 (TARGET_EXTRA_PRE_INCLUDES): Document.
2676
2677 * gcc.c (spec_function): Add replace-outfile.
2678 (replace_outfile_spec_function): New function.
2679 * config/darwin.h (LINK_SPEC): Add replace
2680 -lobjc with -lobjc-gnu if -fgnu-runtime is
2681 supplied.
2682 * invoke.texi (replace-outfile): Document.
2683
42f97fd2
JH
26842004-09-13 Jan Hubicka <jh@suse.cz>
2685
2686 * predict.c (expr_expected_value, strip_builtin_expect): New function.
2687 (tree_predict_by_opcode): Use it.
2688 (tree_estimate_probability): Add, for now disabled,
2689 strip_builtin_expect call.
2690
097f3d48
JW
26912004-09-15 James E Wilson <wilson@specifixinc.com>
2692
2693 PR target/17455
2694 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Return false
2695 if current_function_decl is a sibcall.
2696
04a75188
MM
26972004-09-15 Mark Mitchell <mark@codesourcery.com>
2698
2699 * varasm.c (default_function_rdodata_section): Make sure to pass
2700 along a decl for a link-once section.
2701
e776368b
RH
27022004-09-15 Richard Henderson <rth@redhat.com>
2703
2704 * tree-ssa-operands.c (add_call_clobber_ops): Fix unused variable
2705 warning with code disable. Fix formatting.
2706
c7f90219
SB
27072004-09-15 Steven Bosscher <stevenb@suse.de>
2708
2709 * Makefile.in (tree-ssa-dom.o): Depend on tree-ssa-propagate.h.
2710 * tree-ssa-dom.c (cprop_into_stmt): Recompute TREE_INVARIANT
6615c446 2711 after propagating into an ADDR_EXPR.
c7f90219 2712
2f021b67
AP
27132004-09-15 Andrew Pinski <apinski@apple.com>
2714
2715 PR rtl-opt/17427
2716 * gcse.c (process_insert_insn): insn_invalid_p has side effects.
2717 Move it out of gcc_assert.
2718
971801ff
JM
27192004-09-15 Joseph S. Myers <jsm@polyomino.org.uk>
2720
2721 * attribs.c, builtins.c, c-format.c, c-pch.c, coverage.c,
2722 except.c, fold-const.c, function.c, langhooks.c, params.c,
2723 reload.c, reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
2724 tree-dump.c, tree-mudflap.c, tree.c, varasm.c: Use %<, %> and %q
2725 for quoting in diagnostics going through pretty-print.c. Use ''
2726 for quoting in other diagnostic text.
2727 * langhooks.c: Include intl.h. Mark text locating diagnostics for
2728 translation.
2729 * Makefile.in (langhooks.o): Update dependencies.
2730 * pretty-print.h (pp_printf): Mark as accepting GCC diagnostic
2731 formats.
2732
c18a5b6c
MM
27332004-09-15 Mark Mitchell <mark@codesourcery.com>
2734
2735 * configure.ac: Check for COMDAT support. Robustify check for
2736 SHF_MERGE support.
2737 * configure: Regenerated.
2738 * config.in: Likewise.
2739 * langhooks-def.h (lhd_comdat_group): New function.
2740 (LANG_HOOKS_COMDAT_GROUP): New macro.
2741 (LANG_HOOKS_DECLS): Use it.
2742 * langhooks.c (lhd_comdat_group): Define.
2743 * langhooks.h (lang_hooks_for_decls): Add comdat_group.
2744 * output.h (named_section_flags): Make it a macro.
2745 (named_section_real): New function.
2746 (default_no_named_section): Add decl parameter.
2747 (default_elf_asm_named_section): Likewise.
2748 (default_coff_asm_named_section): Likewise.
2749 (default_pe_asm_named_section): Likewise.
2750 * target.h (gcc_target): Adjust type of named_section.
2751 * varasm.c (named_section_flags): Rename to named_section_real.
2752 Add decl parameter.
2753 (default_no_named_section): Add decl parameter.
2754 (default_elf_asm_named_section): Use COMDAT, if available. Deal
2755 with the case that ASM_COMMENT_START is "@".
2756 (default_coff_asm_named_section): Add decl parameter.
2757 (default_pe_asm_named_section): Likewise.
2758 * config/alpha/alpha.c (vms_asm_named_section): Add decl
2759 parameter.
2760 (unicosmk_asm_named_section): Likewise.
2761 * config/arm/arm.c (arm_elf_asm_named_section): Remove.
2762 * config/arm/elf.h (TARGET_ASM_NAMED_SECTION): Likewise.
2763 * config/c4x/c4x.c (c4x_asm_named_section): Add decl parameter.
2764 * config/cris/cris-protos.h (cris_target_asm_named_section):
2765 Likewise.
2766 * config/cris/cris.c (cris_target_asm_named_section):
2767 Likewise.
2768 * config/darwin/darwin-protos.h (darwin_asm_named_section):
2769 Likewise.
2770 * config/darwin/darwin.c (darwin_asm_named_section): Likewise.
2771 * config/h8300/h8300.c (h8300_asm_named_section): Likewise.
2772 * config/i386/i386-protos.h (i386_pe_asm_named_section):
2773 Likewise.
2774 * config/i386/winnt.c (i386_pe_asm_named_section): Likewise.
2775 * config/m68k/m68k.c (m68k_coff_asm_named_section): Likewise.
2776 * config/mcore/mcore.c (mcore_asm_named_section): Likewise.
2777 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section):
2778 Likewise.
2779 * config/sparc/sparc.c (sparce_elf_asm_named_section): Likewise.
2780 * cp/cp-lang.h (LANG_HOOKS_COMDAT_GROUP): Define.
2781 * cp/cp-tree.h (cxx_comdat_group): Declare.
2782 * cp/decl.c (cxx_comdat_group): New function.
2783
fe7139ac
JH
27842004-09-15 Jan Hubicka <jh@suse.cz>
2785
87527e4b
JH
2786 * tree-ssa.c (verify_flow_sensitive_alias_info): Do not walk dead nodes.
2787 * tree-tailcall.c (eliminate_tail_call): Release SSA name.
2788
fe7139ac
JH
2789 * tree-cfg.c (remove_bb): Release SSA defs.
2790
1a141fe1
KH
27912004-09-15 Kazu Hirata <kazu@cs.umass.edu>
2792
2793 * doc/tm.texi: Follow spelling conventions.
2794
b3a27618
KH
27952004-09-15 Kazu Hirata <kazu@cs.umass.edu>
2796
2797 * tree-ssa-dom.c: Fix comment typos.
2798
43e7c6a4
AM
27992004-09-15 Alan Modra <amodra@bigpond.net.au>
2800
2801 * config/rs6000/linux-unwind.h (struct gcc_pt_regs): Extend to
2802 include ccr.
2803 (ppc_fallback_frame_state): Save location of CR.
2804
9a520f40
JJ
28052004-09-15 Jakub Jelinek <jakub@redhat.com>
2806
a45f71f5
JJ
2807 * expr.c (string_constant): Handle also read-only variables
2808 initialized to string literals.
2809
9a520f40
JJ
2810 * builtins.c (expand_builtin_memmove): Optimize memmove (x, y, 1)
2811 into memcpy (x, y, 1) if memcpy can be expanded inline.
2812
b1d16eff
ZD
28132004-09-15 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2814
2815 PR tree-optimization/17468
2816 * tree-ssa.c (verify_use, verify_phi_args, verify_ssa): Verify that
2817 definition inside a block precede uses.
2818 * tree-tailcall.c (adjust_return_value): Emit statements in the
2819 correct order.
2820
36579192
RS
28212004-09-15 Richard Sandiford <rsandifo@redhat.com>
2822
2823 * config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Delete.
2824
7c2f2b41
EB
28252004-09-15 Eric Botcazou <ebotcazou@libertysurf.fr>
2826
2827 * doc/install.texi (sparc-sun-solaris2*): Properly format warning.
2828
a5c965c1
JL
28292004-09-14 Jeff Law <law@redhat.com>
2830
48732f23
JL
2831 * tree-ssa-dom.c (avail_exprs_stack): New global varray.
2832 (struct dom_walk_block_data): Remove avail_exprs member.
2833 (tree_ssa_dominator_optimize): Initialize avail_exprs_stack.
2834 (lookup_avail_expr): No longer need to pass in address of
2835 the block local available exprs stack. All callers changed.
2836 (simplify_cond_and_lookup_avail_expr): Similarly.
2837 (simplify_switch_and_lookup_avail_expr): Similarly.
2838 (get_eq_expr_value, record_cond): Likewise.
2839 (record_dominating_conditions): Likewise.
2840 (update_rhs_and_lookup_avail_expr): Likewise.
2841 (record_equivalences_from_stmt): Likewise.
2842 (dom_opt_initialize_block_local_data): No longer test state of
2843 block local avail_exprs.
2844 (dom_opt_initialize_block): Mark unwind point in the global
2845 avail_expr stack.
2846 (remove_expressions_from_table): Update to unwind to the
2847 most recent unwind marker in the global avail_expr stack.
2848 All callers changed.
2849 (dom_opt_finalize_block): Mark unwind point in the global
2850 avail_expr stack as needed.
2851 (record_cond): Push elements into the global avail_exprs stack.
2852
a5c965c1
JL
2853 * tree-dfa.c (free_df_for_stmt): No longer static.
2854 (free_df): Update comments.
2855 * tree-flow.h (free_df_for_stmt): Prototype.
2856 * tree-ssa-dse.c (dse_optimize_stmt): Call free_df_for_stmt. Also
2857 call release_defs.
2858
391f9afb
DN
28592004-09-14 Diego Novillo <dnovillo@redhat.com>
2860
2861 PR tree-optimization/17252
2862 * tree-ssa-alias.c (may_alias_p): Don't assume that a
2863 pointer may not point to itself when using relaxed
2864 aliasing rules.
2865
67f23620
RH
28662004-09-14 Richard Henderson <rth@redhat.com>
2867
2868 PR middle-end/17397
2869 * gimplify.c (gimplify_addr_expr): Don't inadvertently change types
2870 while folding <ADDR_EXPR <INDIRECT_REF X>>.
2871
5ffcd779
AP
28722004-09-14 Andrew Pinski <apinski@apple.com>
2873
2874 * tree-ssa-copy.c (may_propagate_copy): Don't check the aliasing
2875 sets of the pointers but the aliasing sets of what they point to.
2876
f6ae6c51
RS
28772004-09-14 Roger Sayle <roger@eyesopen.com>
2878
2879 PR rtl-optimization/9771
2880 * regclass.c (CALL_REALLY_USED_REGNO_P): New macro to eliminate
2881 conditional compilation in init_reg_sets_1.
2882 (init_reg_sets_1): Let global_regs[i] take priority over the frame
2883 (but not stack) pointer exceptions to regs_invalidated_by_call.
2884 (globalize_reg): Globalizing a fixed register may need to update
2885 regs_invalidated_by_call.
2886
1810f6ed
DN
28872004-09-14 Diego Novillo <dnovillo@redhat.com>
2888
2889 PR tree-optimization/15262
2890 * tree-dfa.c (dump_variable): Also print the type of the
2891 variable.
2892 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If two
2893 memory tags are of conflicting alias sets but have no aliased
2894 symbols in common, add one tag to the alias set of the other.
2895 (setup_pointers_and_addressables): Remove hack to deal with
2896 programs with no aliased symbols.
2897 (may_alias_p): Don't special case aggregate types.
2898
0e6d31fb
JM
28992004-09-14 Joseph S. Myers <jsm@polyomino.org.uk>
2900
2901 PR c/15498
2902 * doc/invoke.texi (Environment Variables): Correct example locale.
2903
ab3b6795
JH
29042004-09-14 Jan Hubicka <jh@suse.cz>
2905
2906 * cfg.c (expunge_block): Revert previous change adding ggc_free call.
2907
0c0f8409
MM
29082004-09-14 Mark Mitchell <mark@codesourcery.com>
2909
2910 * config.gcc: Do not build a shared libgcc for arm-none-eabi.
2911
3b53cddc
JM
29122004-09-14 Joseph S. Myers <jsm@polyomino.org.uk>
2913
2914 * c-tree.h (struct c_declspecs): Add const_p, volatile_p and
2915 restrict_p.
2916 (struct c_declarator): Change u.array.quals and pointer_quals to
2917 int. Add u.array.attrs.
2918 (quals_from_declspecs): New.
2919 * c-decl.c (quals_from_declspecs): New.
2920 (shadow_tag_warned): Give more specific message for useless type
2921 qualifiers.
2922 (build_array_declarator, set_array_declarator_inner,
2923 grokdeclarator, make_pointer_declarator, build_null_declspecs,
2924 declspecs_add_qual): Update for changed structures.
2925
a6e1aa26
JL
29262004-09-14 Jeff Law <law@redhat.com>
2927
2928 * tree-ssa-dom.c (stmts_to_rescan): Move from a block-local
6615c446 2929 to a global varray.
a6e1aa26
JL
2930 (tree_ssa_dominator_optimize): Allocate stmts_to_rescan.
2931 (dom_opt_initialize_block_local_data): No longer test state
2932 of stmts_to_rescan.
2933 (dom_opt_finalize_block): Update due to change in scope of
2934 stmts_to_rescan.
2935 (optimize_stmt): Similarly.
2936
8e3c61c5
KH
29372004-09-14 Kazu Hirata <kazu@cs.umass.edu>
2938
2939 * cgraph.h, cgraphunit.c, fold-const.c, lambda-mat.c,
2940 lambda.h, profile.c, tree-optimize.c, tree-sra.c, vec.h: Fix
2941 comment typos. Follow spelling conventions.
2942
0e40b5f2
KH
29432004-09-14 Kazu Hirata <kazu@cs.umass.edu>
2944
2945 * config/darwin-c.c, config/alpha/alpha.c, config/i386/i386.c,
2946 config/i386/predicates.md, config/sparc/sparc.c: Follow
2947 spelling conventions.
2948
113d659a
ZD
29492004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2950 Steven Bosscher <stevenb@suse.de>
2951
2952 * Makefile.in (loop-unroll.o): Add HASHTAB_H and RECOG_H dependency.
2953 * basic-block.h (struct reorder_block_def): Add copy_number field.
2954 * cfgloop.h (biv_p): Declare.
2955 * cfgloopmanip.c (duplicate_loop_to_header_edge): Set copy_number.
2956 * common.opt (fsplit-ivs-in-unroller): New flag.
2957 * loop-iv.c (biv_p): New function.
2958 * loop-unroll.c: Include hashtab.h and recog.h.
2959 (struct iv_to_split, struct split_ivs_info): New types.
2960 (analyze_ivs_to_split, si_info_start_duplication, split_ivs_in_copies,
2961 free_si_info, si_info_hash, si_info_eq, analyze_iv_to_split_insn,
2962 determine_split_iv_delta, get_ivts_expr, allocate_basic_variable,
2963 insert_base_initialization, split_iv): New functions.
2964 (peel_loop_completely, unroll_loop_constant_iterations,
2965 unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
2966 Use them.
2967 * doc/invoke.texi (-fsplit-ivs-in-unroller): Document.
2968
d840495b
ZD
29692004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2970
2971 * tree-cfg.c (thread_jumps): Update dominators correctly in
2972 case destination of threaded edge dominates its source.
2973
c94583fe
ZD
29742004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2975
2976 * unroll.c: Removed.
2977 * loop.h: Removed.
2978 * Makefile.in (LOOP_H, unroll.o): Removed.
2979 (toplev.o, passes.o, stmt.o, integrate.o, loop.o): Remove LOOP_H
2980 dependency.
2981 * alias.c (init_alias_analysis): Remove flag_old_unroll_loops
2982 reference.
2983 * cfgloop.h (LOOP_PREFETCH, loop_optimize): Moved from loop.h.
2984 * common.opt (fold-unroll-loops, fold-unroll-all-loops): Removed.
2985 * loop.c: Do not include loop.h.
2986 (LOOP_INFO, LOOP_MOVABLES, LOOP_REGS, LOOP_IVS, INSN_LUID,
2987 REGNO_FIRST_LUID, REGNO_LAST_LUID, enum g_types, struct induction,
2988 struct iv_class, enum iv_mode, struct iv, REG_IV_TYPE, REG_IV_INFO,
2989 REG_IV_CLASS, struct loop_ivs, struct loop_mem_info, struct loop_reg,
2990 struct loop_regs, struct loop_movables, struct loop_info): Moved
2991 from loop.h.
2992 (back_branch_in_range_p, fold_rtx_mult_add, biv_total_increment,
2993 reg_dead_after_loop, final_biv_value, loop_find_equiv_value,
2994 find_common_reg_term, loop_iterations, final_giv_value): Moved
2995 from unroll.c.
2996 (uid_luid, uid_loop, max_uid_for_loop, max_reg_before_loop,
2997 loop_dump_stream, for_each_insn_in_loop, express_from,
2998 extend_value_for_giv, loop_iv_add_mult_emit_before,
2999 loop_iv_add_mult_sink, loop_iv_add_mult_hoist,
3000 loop_insn_first_p, get_condition_for_loop,
3001 loop_insn_emit_before, loop_insn_hoist,
3002 loop_insn_sink): Made static.
3003 (loop_invariant_p): Made static. Removed flag_old_unroll_loops
3004 reference.
3005 (strength_reduce): Do not call unroller.
3006 (record_giv): Do not initialize unrolled field.
3007 (prescan_loop): Do not set loop_info->preconditioned.
3008 * passes.c: Do not include loop.h.
3009 (rest_of_handle_loop_optimize): Do not call unroller.
3010 * predict.c: Do not include loop.h.
3011 * rtl.h (NOTE_PRECONDITIONED): Removed.
3012 * stmt.c: Do not include loop.h.
3013 * toplev.c: Do not include loop.h.
3014 (process_options): Do not handle flag_old_unroll_loops.
3015
3016 * doc/invoke.texi (fold-unroll-loops, fold-unroll-all-loops):
3017 Documentation removed.
3018 * doc/passes.texi (unroll.c, loop.h): Documentation removed.
3019
03261822
NS
30202004-09-14 Nathan Sidwell <nathan@codesourcery.com>
3021
3022 * Makefile.in (STAGE1_CHECKING): New variable.
3023 (stage1_build): Use it.
3024 * tree-ssa.c (verify_ssa): Preserve state of dominance
3025 information.
3026
869d095e
UB
30272004-09-14 Uros Bizjak <uros@kss-loka.si>
3028
3029 * config/i386/i386.c (output_fp_compare): Add generation
3030 of ftst instruction.
3031 * config/i386/i386.md (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf):
3032 Use output_fp_compare () function.
3033 (cmpfp_i, *cmpfp_i_sse, *cmpfp_i_sse_only): Fix insn constraint.
3034 (fix_truncdi_memory): Remove operands[5] copy.
3035
19525b57
KH
30362004-09-14 Kazu Hirata <kazu@cs.umass.edu>
3037
3038 * config/m32r/m32r.md, config/m68k/m68kelf.h,
3039 config/mcore/mcore.md, config/rs6000/linux64.h,
3040 config/rs6000/rs6000.c, config/sparc/sparc.c: Fix comment
3041 typos.
3042
a140c081
JW
30432004-09-13 James E Wilson <wilson@specifixinc.com>
3044
3045 * Makefile.in (GEN_PROTOS_OBJS): Add $(BUILD_ERRORS).
3046 * gen-protos.c: Include errors.h.
3047 (progname): Delete.
3048
b6acab32
JH
30492004-09-14 Jan Hubicka <jh@suse.cz>
3050
3051 * Makefile.in (predict.o): Depend on tree-scalar-evolution.h
3052 * predict.c: Include tree-scalar-evolution.h and cfgloop.h
3053 (predict_loops): Use number_of_iterations_exit to predict
3054 number of iterations on trees.
3055
c1bbfd3c
DJ
30562004-09-13 Dale Johannesen <dalej@apple.com>
3057
3058 PR 17408
3059 PR 17409
3060 * c-decl.c (start_decl): Repair TREE_STATIC for initialized
3061 objects declared extern.
3062
b9705a21
PB
30632004-09-14 Paul Brook <paul@codesourcery.com>
3064
3065 * config/arm/arm.c (arm_expand_prologue): Make args_to_push a
3066 HOST_WIDE_INT.
3067
b9193259
DJ
30682004-09-13 Daniel Jacobowitz <dan@debian.org>
3069
3070 * fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES.
3071 Only use TYPE_BINFO for aggregates.
3072
3ab0f290
DJ
30732004-09-13 Daniel Jacobowitz <dan@debian.org>
3074
3075 * expmed.c (synth_mult): Initialize latency. Check cost before
3076 checking ops count.
3077
fa9be75f 30782004-09-13 Kenneth Zadeck <Kenneth.Zadeck@NaturalBridge.com>
6674a6ce 3079
6674a6ce
KZ
3080 * tree-ssa-operands.c (get_call_expr_operands): Added parm to
3081 add_call_clobber_ops and add_call_read_ops.
3082 (add_call_clobber_ops, add_call_read_ops): Added code to reduce
3083 the number of vdefs and vuses inserted based on analysis of global
3084 variables across calls. * tree-dfa.c (find_referenced_vars):
3085 Needed to reset static var maps before each function is compiled.
3086 * cgraphunit.c:
3087 (static_vars_to_consider_by_tree,static_vars_to_consider_by_uid,
3088 static_vars_info,functions_to_static_vars_info,module_statics_escape,
3089 all_module_statics,searchc_env,dfs_info): New fields to support
3090 analysis of static global variables.
3091 (print_order, convert_UIDs_in_bitmap, new_static_vars_info,
3092 cgraph_reset_static_var_maps, get_global_static_vars_info,
3093 get_global_statics_not_read, get_global_statics_not_written,
3094 searchc, cgraph_reduced_inorder, has_proper_scope_for_analysis,
3095 check_rhs_var, check_lhs_var, get_asm_expr_operands,
3096 process_call_for_static_vars, scan_for_static_refs,
3097 cgraph_characterize_statics_local, cgraph_get_static_name_by_uid,
3098 clear_static_vars_maps, cgraph_propagate_bits,
3099 cgraph_characterize_statics): New. Functions to support analysis
3100 of static global variables.
3101 (cgraph_mark_local_and_external_functions): Renamed from:
3102 (cgraph_mark_local_functions)
3103 (cgraph_expand_all_functions): Remove call to
3104 cgraph_mark_local_and_external_functions.
3105 (cgraph_optimize): Added driver to analyze static variables whose
3106 scope is within the compilation unit. * cgraph.h (struct
3107 cgraph_local_info, GTY): Added statics_read, statics_written,
3108 local, calls_read_all, calls_write_all, for_functions_valid.
3109 (struct cgraph_node): Added next_cycle. * cgraph.c
3110 (dump_cgraph_node): Added print routines for new fields. *
3111 makefile.in: macroized cgraph.h, added cgraphunit.c to the ggc
3112 list.
3113
61f4f1cc
JM
31142004-09-13 Joseph S. Myers <jsm@polyomino.org.uk>
3115
3116 * c-decl.c (grokdeclarator): Correct comments about where storage
3117 class specifiers are rejected by grammar and add corresponding
3118 asserts. Diagnose typedefs and parameters declared inline.
3119 Change warning for inline main to a pedwarn. Only diagnose inline
3120 main if hosted.
3121 (declspecs_add_scspec): Allow duplicate "inline".
3122
88ed5ef5
SE
31232004-09-13 Steve Ellcey <sje@cup.hp.com>
3124
3125 * config/ia64/ia64.c (ia64_scalar_mode_supported_p): New.
3126 (TARGET_SCALAR_MODE_SUPPORTED_P): New.
3127
a5bfe141
RH
31282004-09-13 Richard Henderson <rth@redhat.com>
3129
3130 PR 17436
3131 * tree.h (TYPE_CONTAINS_PLACEHOLDER_INTERNAL): New.
3132 (tree_type): Replace spare with contains_placeholder_bits.
3133 (type_contains_placeholder_1): Rename from type_contains_placeholder_p,
3134 make static. Remove seen_types list.
3135 (type_contains_placeholder_p): New.
3136
1823bf53
JW
31372004-09-13 James E Wilson <wilson@specifixinc.com>
3138
3139 * config/mips/mips.c (CODE_FOR_mips_sqrt_ps): New.
3140 (sb1_bdesc, bdesc_map, bdesc_arrays): New.
3141 (mips_expand_builtin): Add SB-1 support. Use bdesc_map and
3142 bdesc_arrays instead of mips_bdesc.
3143 (mips_init_builtins): Likewise.
3144 * config/mips/mips.h (TARGET_SB1): New.
3145 (HAVE_SQRT_P): Delete.
3146 * config/mips/mips.md (divide_condition): Support V2SF.
3147 (sqrt_condition, recip_condition): New.
3148 (div<mode>3): Use ANYF instead of SCALARF.
3149 (*div<mode>3): Use ANYF instead of SCALARF. Use UNITMODE instead of
3150 MODE.
3151 (*recip<mode>3, *rsqrt<mode>a, *rsqrt<mode>b): Use recip_condition
3152 instead of ISA_HAS_FP4. Use ANYF instead of SCALARF. Use UNITMODE
3153 instead of MODE.
3154 (sqrt<mode>2): Use sqrt_condition instead of HAVE_SQRT_P. Use ANYF
3155 instead of SCALARF. Use UNITMODE instead of MODE.
3156
c8a52525
ZW
31572004-09-13 Zack Weinberg <zack@codesourcery.com>
3158
3159 * config.in: Regenerate after removal of libbanshee.
3160
a78e238e
AM
31612004-09-13 Andrew MacLeod <amacleod@redhat.com>
3162
3163 PR tree-optimization/17400
3164 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
3165 coalesce partitions when one occurs in an abnormal PHI.
6615c446 3166
5547b982
AP
31672004-09-13 Andrew Pinski <apinski@apple.com>
3168
3169 * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Change variable size's
3170 name to _new_size.
3171
0d87c765 31722004-09-13 Richard Henderson <rth@redhat.com>
c8a52525 3173
c892972f
SB
3174 PR inline-asm/6806
3175 * cselib.c (cselib_invalidate_rtx): Export. Remove unused args.
3176 (cselib_invalidate_rtx_note_stores): New.
3177 (cselib_record_sets, cselib_process_insn): Update to match.
3178 * cselib.h (cselib_invalidate_rtx): Declare.
3179 * postreload.c (reload_cse_simplify): Invalidate asm clobbers.
0d87c765 3180
84cce55d
RH
31812004-09-13 Richard Henderson <rth@redhat.com>
3182
3183 PR tree-opt/10528
3184 * tree-inline.c (copy_body_r): Recompute bits for ADDR_EXPR,
3185 after copying its argument.
3186
bda67431
JM
31872004-09-13 Joseph S. Myers <jsm@polyomino.org.uk>
3188
3189 * c-common.c, c-decl.c, c-lex.c, c-objc-common.c, c-opts.c,
3190 c-parse.in, c-pragma.c, c-typeck.c: Use %q, %< and %> for quoting
3191 in diagnostics. Use %' for English apostrophes.
3192 * c-tree.h (ATTRIBUTE_GCC_CDIAG): Define.
3193 (pedwarn_c90, pedwarn_c99): Use it.
3194 * c-decl.c (lookup_label): Quote label name in diagnostic.
3195 * c-parse.in (yyprint): Use ' instead of ` for left quote.
3196 * c-typeck.c (warn_for_assignment): Likewise.
3197
ad7b96a9
JH
31982004-09-13 Jan Hubicka <jh@suse.cz>
3199
3200 * i386.c (x86_schedule): New global variable.
3201 (override_options): Disable scheduling when not supported.
3202 * i386.h (x86_schedule): Declare.
3203 (TARGET_SCHEDULE): New macro.
3204
373c0e7f
RH
32052004-09-12 Richard Henderson <rth@redhat.com>
3206
3207 PR c++/16254
3208 * fold-const.c (fold) <case CLEANUP_POINT_EXPR>: Remove.
3209 * tree.c, tree.h (has_cleanups): Remove.
3210
7fac6722
ZD
32112004-09-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3212
3213 * tree-ssa-loop-manip.c (split_loop_exit_edge): Handle non-ssaname
3214 arguments of the phi nodes correctly.
3215
85914593
JH
32162004-09-12 Jan Hubicka <jh@suse.cz>
3217
3218 * ggc-common.c (cmp_statistics): Fix sorting.
3219
3d520aaf
DE
32202004-09-12 David Edelsohn <edelsohn@gnu.org>
3221
3222 PR target/16795
3223 * expmed.c (expand_divmod): If cheap power of 2 divide is
3224 available, use it for negative constant as well.
3225
8f8ccdf3
AP
32262004-09-12 Andrew Pinski <apinski@apple.com>
3227
c92d8761
AP
3228 * darwin.h (ASM_OUTPUT_COMMON): Make sure we do not have a
3229 size of 0.
3230
8f8ccdf3
AP
3231 * tree-chrec.c (initialize_scalar_evolutions_analyzer): Remove.
3232
93330ea1
RH
32332004-09-12 Richard Henderson <rth@redhat.com>
3234
3235 * config/i386/i386.c (ix86_split_ashldi): Special case op1 as one
3236 or minus one.
3237 (ix86_split_ashrdi, ix86_split_lshrdi): Clean up conditions for
3238 post-reload, and scratch NULL.
3239 * config/i386/i386.md (testqi_1): Use FLAGS_REG name.
3240 (x86_shift_adj_2): Use ix86_expand_clear.
3241 (ashldi3): Remove CMOVE expansion difference.
3242 (ashldi3_1): Remove.
3243 (*ashldi3_1): Rename from *ashldi3_2. Use reg_or_pm1_operand and
3244 add constraints for immediates. New peephole for split-with-temp.
3245 Run splitter after peep2 pass.
3246 (ashrdi3, ashrdi3_1, ashrdi3_2): Similarly.
3247 (lshrdi3, lshrdi3_1, lshrdi3_2): Similarly.
3248 (setcc_2): Rename with *.
3249 * config/i386/predicates.md (reg_or_pm1_operand): New.
3250 (ashldi_input_operand): New.
3251
21076c8e
RH
32522004-09-12 Richard Henderson <rth@redhat.com
3253
3254 * print-rtl.c (print_decl_name): New.
3255 (print_mem_expr): Use it.
3256
f6a41d17
RH
32572004-09-12 Richard Henderson <rth@redhat.com
3258
c892972f
SB
3259 PR 17186, part deux
3260 * except.c (sjlj_emit_function_exit): Fix logic locating
3261 sjlj_exit_after in final block.
f6a41d17 3262
a924fe34
TM
32632004-09-12 Toon Moene <toon@moene.indiv.nluug.nl>
3264
3265 * common.opt: Remove flags -fmove-all-movables and
3266 -freduce-all-givs.
3267 * loop-invariant.c (find_invariants_to_move):
3268 Remove all uses of flag_move_all_movables.
3269 * loop.c (move_movables): Remove all uses of
3270 flag_move_all_movables.
3271 (strength_reduce): Remove all uses of
3272 flag_reduce_all_givs.
3273 * doc/invoke.texi: Remove documentation of flags
3274 -fremove-all-movables and -freduce-all-givs.
3275
ec76a0e0
RS
32762004-09-11 Roger Sayle <roger@eyesopen.com>
3277
3278 PR middle-end/17411
3279 * tree-sra.c (generate_element_zero): Revert recent build_int_cst
3280 change. elt->type may be a floating point type, so use fold_convert.
3281
ca472546
GK
32822004-09-11 Geoffrey Keating <geoffk@apple.com>
3283
3284 * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Mark
3285 the thing referenced as used, not the stub itself.
3286
9a26d6ee
JM
32872004-09-11 Joseph S. Myers <jsm@polyomino.org.uk>
3288
3289 * c-tree.h (enum c_storage_class): New.
3290 (struct c_declspecs): Add storage_class, inline_p and thread_p.
3291 * c-decl.c (shadow_tag_warned): Give errors for "inline" in empty
3292 declarations and "auto" or "register" in file scope empty
3293 declarations. Give more specific warnings for other cases of
3294 storage class specifiers in empty declarations.
3295 (grokdeclarator): Update for new structures. Don't check for
3296 multiple storage classes. Diagnose file-scope "register" if
3297 pedantic.
3298 (build_null_declspecs): Update.
3299 (declspecs_add_scspec): Update. Diagnose multiple storage class
3300 specifiers and invalid uses of "__thread".
3301
a38b644b
ZW
33022004-09-11 Zack Weinberg <zack@codesourcery.com>
3303
3304 * tree.c (tree_code_size): New function, bulk of code from tree_size.
3305 (tree_size, make_node): Use it.
3306 * tree-ssa-pre.c (init_pre): Use it.
3307 * tree.h: Prototype it.
3308
30d396e3
ZD
33092004-09-11 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3310
3311 * tree-cfg.c (set_bb_for_stmt): Use PHI_BB.
3312 * tree-dfa.c (compute_immediate_uses, add_immediate_use,
3313 redirect_immediate_use): Use PHI_DF.
3314 * tree-flow-inline.h (stmt_ann): Abort on phi nodes.
3315 (bb_for_stmt): Use PHI_BB.
3316 (get_immediate_uses): Use PHI_DF.
3317 * tree-ssa-dse.c (max_stmt_uid): New variable.
3318 (get_stmt_uid): New function.
3319 (dse_optimize_stmt, dse_record_phis, tree_ssa_dse): Do not use phi
3320 node annotations.
3321 * tree-ssa-loop-im.c (LIM_DATA): Do not use phi statement annotations.
3322 (max_uid): Renamed to max_stmt_uid.
3323 (get_stmt_uid): New function.
3324 (maybe_queue_var, single_reachable_address, determine_lsm): Do not use
3325 phi node annotations.
3326 * tree-ssa.c (replace_immediate_uses): Do not use phi node annotations.
3327 * tree.h (PHI_BB, PHI_DF): New accessor functions.
3328 (struct tree_phi_node): Add bb and df fields.
3329
f4a6d54e
RH
33302004-09-11 Richard Henderson <rth@redhat.com>
3331
3332 PR middle-end/17416
3333 * cfgexpand.c (expand_used_vars_for_block): Fix off-by-one bug
3334 in conflict loop.
3335
f43329a5
JH
33362004-09-11 Jan Hubicka <jh@suse.cz>
3337
1d1df0df
JH
3338 * i386.h (MODE_NEEDED): Calls need UNINITIALIZED mode; add comment.
3339 (EMIT_MODE_SET): UNINITIALIZED mode needs no set.
3340 * i386.md (i387_cw): Add 'uninitialized' mode.
3341
f43329a5
JH
3342 * profile.c (BB_TO_GCOV_INDEX): move more to the front.
3343 (output_location): Break out from ....
3344 (branch_prob): ... here; handle gcov output on trees.
3345 * toplev.c (process_options): No longer be sorry about coverage for
3346 trees.
3347
05cf561d
SB
33482004-09-11 Steven Bosscher <stevenb@suse.de>
3349
3350 PR c++/17412
3351 * fold-const.c (fold): Do not try to fold the operand of a
3352 CLEANUP_POINT_EXPR if that operand does itself not have any
3353 operands.
3354
3355 PR middle-end/17417
3356 * langhooks.c (lhd_decl_printable_name): Make sure that this
3357 function is called with is a decl node that has an identifier.
3358 * tree-pretty-print.c (dump_function_name): New function to
3359 wrap PRINT_FUNCTION_NAME and dump_decl_name.
3360 (print_call_name): Use it.
3361
547d057d
ME
33622004-09-11 Mohan Embar <gnustuff@thisiscool.com>
3363
3364 * ggc-none.c: Include "bconfig.h" if -DGENERATOR_FILE,
3365 "config.h" if not.
3366
a17ea89b
JJ
33672004-09-11 Jakub Jelinek <jakub@redhat.com>
3368
3369 * tree-ssa-alias.c (collect_points_to_info_r): Handle
3370 pointing to PTR + OFFSET as PTR, not as pointing to PTR or pointing
3371 to OFFSET.
3372
70bb498a
RH
33732004-09-11 Richard Henderson <rth@redhat.com>
3374
3375 * expr.c (expand_expr_addr_expr_1) Rename from expand_expr_addr_expr.
3376 (expand_expr_addr_expr): New function. Take ADDR_EXPR instead of the
3377 operand of the ADDR_EXPR.
3378 (expand_expr_real_1): Update to match.
3379
0c94cda4
DE
33802004-09-11 David Edelsohn <edelsohn@gnu.org>
3381
d1909f7b 3382 PR target/17277
0c94cda4
DE
3383 * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Use __64BIT__ to
3384 choose 64-bit version.
3385
5e55f99d
RH
33862004-09-11 Richard Henderson <rth@redhat.com>
3387
3388 PR c/17396
3389 * c-typeck.c (build_unary_op): Add legacy offsetof hack.
3390
431ae0bf
KH
33912004-09-11 Kazu Hirata <kazu@cs.umass.edu>
3392
3393 * doc/cfg.texi, doc/hostconfig.texi, doc/install.texi,
3394 doc/invoke.texi, doc/md.texi, doc/tm.texi, doc/tree-ssa.texi:
3395 Insert @: after i.e. or e.g.
3396
70601cc2
GK
33972004-09-10 Geoffrey Keating <geoffk@apple.com>
3398
3399 * tree-pretty-print.c (dump_decl_name): Print unnamed decls as
3400 D.xxx rather than <Dxxx>.
3401
a38b644b 34022004-09-10 Adam Nemet <anemet@lnxw.com>
8a45d680
AN
3403
3404 * configure.ac (AC_MSG_CHECKING(what linker to use)):
3405 in_tree_ld_is_elf should be true for LynxOS.
a38b644b 3406 * configure: Regenerate.
8a45d680 3407
ecc50d72
AN
34082004-09-10 Adam Nemet <anemet@lnxw.com>
3409
3410 * Makefile.in (all.cross): Add srcextra.
3411
3ae472c2
RS
34122004-09-10 Roger Sayle <roger@eyesopen.com>
3413
3414 PR middle-end/17024
3415 * fold-const.c (fold_cond_expr_with_comparison): Handle unordered
3416 floating point comparison operators. Change aborts to gcc_asserts.
3417
dc9d0b14
GK
34182004-09-10 Geoffrey Keating <geoffk@apple.com>
3419
3420 * final.c (output_asm_insn): Correct problem with -fverbose-asm.
3421
a73b091d
JW
34222004-09-10 James E Wilson <wilson@specifixinc.com>
3423
1c8c309b
JW
3424 * Makefile.in (LIBGCC_DEPS): Delete duplicate stmp-int-hdrs reference.
3425 (stmp-fixproto): Change stmp-int-headers to stmp-int-hdrs in comment.
3426
273d67e7
JW
3427 * convert.c (convert_to_vector): Replace recursive call with
3428 error_mark_node.
3429
a73b091d
JW
3430 * emit-rtl.c (gen_const_vector): Renamed from gen_const_vector_0.
3431 Add integer argument named constant. Use const_tiny_rtx instead of
3432 CONST0_RTX.
3433 (gen_rtx_CONST_VECTOR): Rewrite to handle checks for both CONST0_RTX
3434 and CONST1_RTX.
3435 (init_emit_once): Fix users of gen_const_vector. Set CONST1_RTX for
3436 vector types.
3437 * expr.c (const_vector_from_tree): Call gen_rtx_CONST_VECTOR instead
3438 of gen_rtx_raw_CONST_VECTOR.
3439
110fce11
EC
34402004-09-10 Eric Christopher <echristo@redhat.com>
3441
3442 PR c/16046
3443 * c-parse.in (attribute): Add NULL_TREE for error case
3444 for error recovery.
3445
5d709b00
ZW
34462004-09-10 Zack Weinberg <zack@codesourcery.com>
3447
3448 * c-common.h (struct c_fileinfo): Comment moved here from cp-tree.h.
3449 (extract_interface_info): Delete prototype.
3450 * c-decl.c (extract_interface_info): Delete stub.
3451 * c-lex.c (get_fileinfo): Initialize file_info_tree here, if
3452 it's not already been done ...
3453 (init_c_lex): ... not here.
110fce11
EC
3454 (fe_file_change): Don't call extract_interface_info.
3455
616aeba2
JM
34562004-09-11 Joseph S. Myers <jsm@polyomino.org.uk>
3457
3458 * c-tree.h (struct c_declspecs): Remove typedef_decl. Add
3459 typedef_p and typedef_signed_p.
3460 * c-decl.c (shadow_tag_warned): Check typedef_p, not typedef_decl.
3461 (grokdeclarator): Don't use typedef_decl for warn_deprecated_use.
3462 Check typedef_p and typedef_signed_p, not typedef_decl.
3463 (grokfield): Check typedef_p, not typedef_decl.
3464 (build_null_declspecs): Initialize typedef_p and typedef_signed_p,
3465 not typedef_decl.
3466 (declspecs_add_type): Set typedef_p and typedef_signed_p, not
3467 typedef_decl.
3468
a8508d51
KH
34692004-09-10 Kazu Hirata <kazu@cs.umass.edu>
3470
3471 * doc/tm.texi, doc/tree-ssa.texi: Fix typos.
3472
18b3a02a
GK
34732004-09-10 Geoffrey Keating <geoffk@apple.com>
3474
769da818
GK
3475 * gimplify.c (create_tmp_var_raw): Don't name otherwise-nameless
3476 temporary variables.
3477
375d2edc
GK
3478 * dbxout.c (dbxout_block): Update for
3479 current_function_func_begin_label a string.
3480 * dwarf2out.c (dwarf2out_begin_prologue): Likewise.
3481 * except.c (dw2_output_call_site_table): Likewise.
3482 * toplev.c (current_function_func_begin_label): Likewise.
3483 * tree.h (current_function_func_begin_label): Likewise.
3484 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Likewise.
3485
c383c15f
GK
3486 * final.c (output_asm_insn): Use strtoul instead of atoi, save a
3487 loop.
3488
1adaa117
GK
3489 * config/darwin.c: Include target.h.
3490 (struct machopic_indirection): Make ptr_name a string.
3491 (machopic_indirection_hash): Update for ptr_name a string.
3492 (machopic_indirection_eq): Likewise.
3493 (machopic_indirection_name): Likewise.
3494 (machopic_output_indirection): Likewise.
3495 (machopic_validate_stub_or_non_lazy_ptr): Update for ptr_name a
3496 string. Don't expect stub names to be in the identifier hash table.
3497 Do call strip_name_encoding before looking up entry in ID hash table.
3498 * config/t-darwin (darwin.o): Add target.h to dependencies.
5d709b00 3499
fb5c67a7
GK
3500 * gcc/config/rs6000/rs6000.c (print_operand): Use fputs instead
3501 of fprintf for register names.
5d709b00 3502
5f11bc8b
GK
3503 * output.h (unlikely_section_label): Delete declaration.
3504 (unlikely_text_section_name): Likewise.
3505 * varasm.c (unlikely_section_label_printed): Make static.
3506 (unlikely_section_label): Likewise.
3507 (unlikely_text_section_name): Likewise.
3508 (assemble_start_function): Use reconcat.
3509
18b3a02a
GK
3510 * rtl.def (REG): Add comment to describe third field.
3511
76f60aa5
AP
35122004-09-10 Andrew Pinski <apinski@apple.com>
3513
3514 * config/darwin.c (machopic_mcount_stub_name): Call
3515 machopic_indirection_name instead of making the string
3516 ourselves.
3517
e30b0ae2
DN
35182004-09-10 Diego Novillo <dnovillo@redhat.com>
3519
3520 Revert
3521
3522 2004-09-08 Jie Zhang <zhangjie@magima.com.cn>
3523
3524 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
3525 memory tag is call clobbered, so are its aliases.
3526 (group_aliases): When two memory tags being grouped, if one is
3527 call clobbered, so are the other and its aliases.
3528 (add_may_alias): Remove call-clobbering stuff.
3529 (replace_may_alias): Likewise.
3530 (merge_pointed_to_info): Merge pt_global_mem
3531
89dbed81
KH
35322004-09-10 Kazu Hirata <kazu@cs.umass.edu>
3533
3534 * bb-reorder.c, c-common.c, c-incpath.c, c-typeck.c,
3535 genrecog.c, lambda-code.c, mips-tdump.c, mips-tfile.c,
3536 passes.c, tree-data-ref.c, tree-data-ref.h, tree-mudflap.c,
3537 tree-scalar-evolution.c, tree-ssa-copyrename.c,
3538 tree-ssa-live.c, tree-ssa-live.h: Fix comment typos.
3539
094e84fa
RS
35402004-09-10 Richard Sandiford <rsandifo@redhat.com>
3541
3542 * config/frv/frv.md (UNSPEC_MASACCS, UNSPEC_MDASACCS): New constants.
3543 (maddaccs, msubaccs, *maddacc): Turn operand 0 into a single ACC/ACCG
3544 pair. Remove match_dup from inputs. Remove masaccs handling.
3545 (mdaddaccs, mdsubaccs, *mdaddacc): Likewise a dual ACC/ACCG pair.
3546 (masaccs, mdasaccs): Turn into define_insns.
3547
85d62520
RS
35482004-09-10 Richard Sandiford <rsandifo@redhat.com>
3549
3550 * tree-tailcall.c (process_assignment): Only do accumulator transforms
3551 for floating-point types if flag_unsafe_math_optimizations.
3552
c112cf2b
KH
35532004-09-10 Kazu Hirata <kazu@cs.umass.edu>
3554
3555 * config/darwin.c, config/alpha/alpha.h, config/arm/arm.c,
3556 config/arm/arm.h, config/arm/arm.md, config/arm/bpabi.h,
3557 config/arm/predicates.md, config/frv/frv.c, config/frv/frv.md,
3558 config/h8300/h8300.md, config/i386/gmm_malloc.h,
3559 config/ia64/ia64.md, config/ip2k/libgcc.S,
3560 config/mips/mips-ps-3d.md, config/mips/mips.c,
3561 config/rs6000/rs6000.c, config/s390/s390.c,
3562 config/sh/symbian.c: Fix comment typos.
3563
2790879f
AK
35642004-09-10 Andreas Krebbel <krebbel1@de.ibm.com>
3565
3566 * config/s390/s390.c (s390_emit_prologue): Added missing
3567 "{}" brackets.
3568
27ef2cdd
KH
35692004-09-10 Kazu Hirata <kazu@cs.umass.edu>
3570
3571 * doc/extend.texi, doc/invoke.texi, doc/passes.texi: Fix
3572 typos. Follow spelling conventions.
3573
108ebf88
JM
35742004-09-10 Joseph S. Myers <jsm@polyomino.org.uk>
3575
3576 * toplev.c (warn_deprecated_use): Correct logic for saying "type"
3577 in diagnostic. Don't dereference NULL TYPE_NAME.
3578
6cb38cd4
KH
35792004-09-10 Kazu Hirata <kazu@cs.umass.edu>
3580
3581 * c-common.c, c-pch.c, defaults.h, lambda-code.c, passes.c,
3582 tree-data-ref.c, tree-flow.h, tree-ssa-operands.c,
3583 tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
3584 value-prof.c: Fix comment typos. Follow spelling conventions.
3585
b829f3fa
JH
35862004-09-10 Jan Hubicka <jh@suse.cz>
3587
3588 * tree-ssa-dce.c (remove_dead_stmt): Update profile.
3589 * tree-split_edge.c (tree_split_edge): Likewise.
3590 (thread_jumps): Likewise.
3591
229031d0
KH
35922004-09-10 Kazu Hirata <kazu@cs.umass.edu>
3593
3594 * cgraphunit.c, predict.c, tree-ssa-loop-ivopts.c: Fix comment
3595 typos.
3596
9b3e897d
PB
35972004-09-10 Paolo Bonzini <bonzini@gnu.org>
3598
3599 * cgraph.h (cgraph_dump_file): Do not declare.
3600 * cgraphunit.c (cgraph_dump_file): Declare as static.
3601 (init_cgraph): New.
3602 * toplev.c (cgraph_dump_file): Do not declare.
3603 (compile_file): Call init_cgraph.
3604 * tree-dump.c (dump_files): Add IPA dump file, remove
3605 XML dump of call graph.
3606 (get_dump_file_name): Support IPA dump file naming scheme.
3607 * tree.h (enum tree_dump_index): Add IPA dump file, remove
3608 XML dump of call graph.
3609 * doc/invoke.texi (Debugging Options): Document the new options.
3610
c3ee0579
RS
36112004-09-10 Richard Sandiford <rsandifo@redhat.com>
3612
3613 * doc/extend.texi: Document the FR-V built-in functions.
3614
236f9832
JW
36152004-09-09 James E Wilson <wilson@specifixinc.com>
3616
3617 * doc/sourcebuild.texi: Delete libbanshee reference.
3618
5a29def1
KC
36192004-09-10 Kelley Cook <kcook@gcc.gnu.org>
3620
3621 * Makefile.in (s-gtype): Add $(build_exeext) to gengtype command.
3622
3274deff
JW
36232004-09-09 James E Wilson <wilson@specifixinc.com>
3624
3625 * c-typeck.c (convert_for_assignment): Check that rhs has VECTOR_TYPE
3626 before calling vector_types_convertible_p.
3627 (digest_init): Check that inside_init has VECTOR_TYPE before calling
3628 vector_types_convertible_p. Don't give another error if
3629 convert_for_assignment returns error_mark_node.
3630
049e524f
RS
36312004-09-09 Roger Sayle <roger@eyesopen.com>
3632
3633 PR middle-end/17055
3634 * fold-const.c (build_zero_vector): New function to construct a
3635 vector (either floating point or integer) of zeros.
3636 (fold_convert): Internally, enable conversions of integer zero
3637 to arbitrary vector types, using the new build_zero_vector.
3638
1b83d209
RS
36392004-09-09 Roger Sayle <roger@eyesopen.com>
3640
3641 * config/i386/i386.c (ix86_expand_ashlsi3_const): New function to
3642 expand a left shift by an immediate constant as either an ashl or
3643 a sequence of additions.
3644 (ix86_split_ashldi): Use new ix86_expand_ashlsi3_const function
3645 instead of calling gen_ashlsi3 with a constant directly.
3646
903a5059
RS
36472004-09-09 Roger Sayle <roger@eyesopen.com>
3648
3649 * config/i386/i386.c (ix86_split_long_move): When optimizing for
3650 size, and the low and high parts of a DImode constant are equal,
3651 copy one register to another instead of loading the same immediate
3652 value twice.
3653
469c26f1
RH
36542004-09-09 Richard Henderson <rth@redhat.com>
3655
3656 PR middle-end/17367
3657 * function.c (assign_parm_setup_block): Only put PARALLELs into
3658 a register if use_register_for_decl.
3659
1aee688e
EC
36602004-09-09 Eric Christopher <echristo@redhat.com>
3661
3662 * ra-colorize.c (reset_lists): Move variable declaration inside
3663 ENABLE_CHECKING to avoid unused variable warnings when
3664 not --enable-checking.
3665 (check_colors): Ditto.
3666
89029cd4
MS
36672004-09-09 Mike Stump <mrs@apple.com>
3668
3669 * version.c (version_string): Bump to 4.0.0.
693ff889 3670 * doc/include/gcc-common.texi (version-GCC): Likewise.
89029cd4 3671
3f3174b6
JJ
36722004-09-10 Jakub Jelinek <jakub@redhat.com>
3673
3674 * doc/extend.texi (nothrow attribute): The attribute is not
3675 implemented in 3.2 and earlier.
3676
4c80d5ac
SE
36772004-09-09 Steve Ellcey <sje@cup.hp.com>
3678
3679 * genrecog.c (compute_predicate_codes): Use op0_codes
3680 instead of codes.
3681
2ec3ab99
UW
36822004-09-09 Ulrich Weigand <uweigand@de.ibm.com>
3683
3684 * ra-colorize.c (hardregset_to_string): Adapt to HARD_REG_SET
3685 implementation changes.
3686
0b21d1dc
UW
36872004-09-09 Ulrich Weigand <uweigand@de.ibm.com>
3688
3689 * combine.c (try_combine): When swapping i2 and i3, newi2pat may be
3690 a PARALLEL instead of a SET due to added clobbers.
3691
7bb09d15
UW
36922004-09-09 Ulrich Weigand <uweigand@de.ibm.com>
3693
1aee688e 3694 * reload.c (find_reloads_address): Pass correct operand to
7bb09d15
UW
3695 maybe_memory_address_p.
3696
0a050485
DB
36972004-09-09 Daniel Berlin <dberlin@dberlin.org>
3698
3699 * Makefile.in: Remove libbanshee, tree-alias-*.
3700 Remove tree-alias-common.h dependencies.
3701 * common.opt: Remove -ftree-points-to.
3702 * configure.ac: Remove libbanshee.
3703 * flags.h: Remove pta_type, flag_tree_points_to.
3704 * gengtype.c (open_base_files): Remove tree-alias-type.h.
3705 * opts.c (OPT_ftree_points_to): Remove.
3706 * toplev.c: Remove tree-alias-common.h, flag_tree_points_to.
3707 * tree-dfa.c: Remove tree-alias-common.h
3708 * tree-into-ssa.c: Ditto.
3709 * tree-outof-ssa.c: Ditto.
3710 * tree-ssa-copyrename.c: Ditto.
3711 * tree-ssa-live.c: Ditto.
3712 * tree-optimize.c: Ditto.
3713 * tree-ssa.c: Ditto.
3714 Remove pass_build_pta, pass_del_pta.
3715 * tree-pass.h: Ditto.
3716 * tree-ssa-alias.c: Remove tree-alias-common.h.
3717 (struct alias_stats_d): Remove pta_queries, pta_resolved.
3718 (pass_may_alias): Remove PROP_pta requirement.
3719 (may_alias_p): Remove pta_queries, pta_resolved, use of andersens.
3720 (get_tmt_for): Ditto.
3721 (dump_alias_stats): Ditto.
3722 * doc/passes.texi: Remove blurb about points-to analysis.
3723 * fortran/Make-lang.in: Remove tree-alias-*.o.
1aee688e 3724
c1a404bd
RS
37252004-09-09 Richard Sandiford <rsandifo@redhat.com>
3726
3727 * genattrtab.c (write_insn_cases): New function, split out from
3728 write_attr_case. Correctly handle define_peepholes when printing
3729 the instruction name.
3730 (write_attr_case, write_const_num_delay_slots): Use write_insn_cases.
3731
b2416742
HPN
37322004-09-09 Hans-Peter Nilsson <hp@axis.com>
3733
3734 PR target/17377
3735 * config/cris/cris-protos.h (cris_return_address_on_stack): Declare.
3736 * config/cris/cris.c (cris_return_address_on_stack): New function.
3737 * config/cris/cris.md ("return"): For location of return address,
3738 also check cris_return_address_on_stack.
3739
b49ce401
DN
37402004-09-09 Diego Novillo <dnovillo@redhat.com>
3741
3742 * tree-outof-ssa.c (coalesce_abnormal_edges): Fix typo in
3743 calling phi_ssa_name_p.
3744
116df786
RH
37452004-09-09 Richard Henderson <rth@redhat.com>
3746
3747 PR c/17322
3748 * c-typeck.c (valid_compound_expr_initializer): Use only
3749 initializer_constant_valid_p, and not TREE_CONSTANT.
3750 (digest_init): Likewise.
3751 (output_init_element): Likewise.
3752
41374e13
NS
37532004-09-09 Giovanni Bajo <giovannibajo@gcc.gnu.org>
3754
3755 * ra-build.c (copy_insn_p, remember_move, defuse_overlap_p_1,
3756 live_out_1, prune_hardregs_for_mode, init_one_web_common,
3757 reinit_one_web, add_subweb, add_subweb_2, init_web_parts,
3758 record_conflict, compare_and_free_webs, init_webs_defs_uses,
3759 parts_to_webs_1, parts_to_webs, reset_conflicts,
3760 check_conflict_numbers, remember_web_was_spilled, handle_asm_insn,
3761 ra_build_free): Use gcc_assert and gcc_unreachable instead of abort.
3762 * ra-colorize.c (push_list, put_web, reset_lists, put_web_at_end,
3763 put_move, remove_move, combine, select_spill, colorize_one_web,
3764 try_recolor_web, insert_coalesced_conflicts, check_colors,
3765 break_precolored_alias, restore_conflicts_from_coalesce,
3766 sort_and_combine_web_pairs, check_uncoalesced_moves): Likewise.
3767 * ra-rewrite.c (spill_coalescing, slots_overlap_p, emit_loads,
3768 reloads_to_loads, rewrite_program2, emit_colors): Likewise.
3769 * ra.c (first_hard_reg, create_insn_info, find_subweb, init_ra,
3770 check_df): Likewise.
3771 * real.c (do_add, do_multiply, do_divide, do_compare, do_fix_trunc,
3772 real_arithmetic, real_compare, real_exponent, real_ldexp,
3773 real_identical, real_to_integer, real_to_integer2, real_to_decimal,
3774 real_to_hexadecimal, real_from_integer, ten_to_ptwo, ten_to_mptwo,
3775 real_digit, real_nan, real_maxval, round_for_format, real_convert,
3776 real_to_target, real_from_target, real_hash, encode_ieee_single,
3777 encode_ieee_double, encode_ieee_extended, encode_ieee_quad,
3778 encode_vax_f, encode_vax_d, encode_vax_g, encode_i370_single,
3779 encode_i370_double, encode_c4x_single, encode_c4x_extended): Likewise.
3780 * recog.c (validate_change, validate_replace_rtx_1, asm_operand_ok,
3781 extract_insn, peep2_next_insn, peep2_reg_dead_p,
3782 peep2_find_free_register, peephole2_optimize, store_data_bypass_p,
3783 if_test_bypass_p): Likewise.
3784 * reg-stack.c (record_label_references, get_asm_operand_n_inputs,
3785 stack_result, remove_regno_note, get_hard_regnum, emit_pop_insn,
3786 emit_swap_insn, swap_to_top, move_for_stack_reg,
3787 subst_stack_regs_pat, subst_asm_stack_regs, change_stack,
3788 compensate_edge, convert_regs_1): Likewise.
3789 * regclass.c (init_reg_sets, init_reg_sets_1,
3790 memory_move_secondary_cost): Likewise.
3791 * regrename.c (note_sets, clear_dead_regs, scan_rtx_reg, scan_rtx):
3792 Likewise.
3793 * reload.c (push_secondary_reload, find_valid_class, push_reload,
3794 operands_match_p, decompose, immune_p, find_reloads,
3795 find_reloads_toplev, find_reloads_address_1, subst_reloads,
3796 copy_replacements, refers_to_regno_for_reload_p,
3797 reg_overlap_mentioned_for_reload_p): Likewise.
3798 * reload1.c (compute_use_by_pseudos, replace_pseudos_in, reload,
3799 count_pseudo, find_reg, eliminate_regs, eliminate_regs_in_insn,
3800 verify_initial_elim_offsets, finish_spills, clear_reload_reg_in_use,
3801 reload_reg_free_p, reload_reg_reaches_end_p, reloads_conflict,
3802 choose_reload_regs, merge_assigned_reloads, emit_input_reload_insns,
3803 do_output_reload, fixup_abnormal_edges): Likewise.
3804 * reorg.c (stop_search_p, emit_delay_sequence, get_jump_flags,
3805 fill_slots_from_thread, relax_delay_slots): Likewise.
3806 * resource.c (mark_referenced_resources, mark_set_resources):
3807 Likewise.
3808 * rtl.c (copy_rtx, rtx_equal_p): Likewise.
3809 * rtlanal.c (insn_dependent_p, reg_overlap_mentioned_p,
3810 dead_or_set_p, find_reg_fusage, remove_note, replace_rtx,
3811 subreg_lsb_1, subreg_regno_offset, subreg_offset_representable_p,
3812 find_first_parameter_load, can_hoist_insn_p, hoist_update_store,
3813 hoist_insn_after, hoist_insn_to_edge, nonzero_bits1): Likewise.
3814 * rtlhooks.c (gen_lowpart_general): Likewise.
3815 * sbitmap.c (sbitmap_difference): Likewise.
3816 * sched-deps.c (add_dependence, sched_analyze_1, sched_analyze_2,
3817 sched_analyze, add_forward_dependence): Likewise.
3818 * sched-ebb.c (fix_basic_block_boundaries, schedule_ebb): Likewise.
3819 * sched-rgn.c (debug_regions, compute_trg_info, schedule_region,
3820 schedule_insns): Likewise.
3821 * sched-vis.c (print_pattern): Likewise.
3822 * sdbout.c (sdbout_symbol, sdbout_toplevel_data): Likewise.
3823 * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
3824 simplify_const_relational_operation, simplify_ternary_operation,
3825 simplify_immed_subreg, simplify_subreg, simplify_gen_subreg):
3826 Likewise.
3827 * sreal.c (copy, sreal_sub, sreal_div): Likewise.
3828 * stmt.c (force_label_rtx, expand_goto, expand_asm_operands,
3829 resolve_operand_name_1, expand_return, expand_decl,
3830 expand_anon_union_decl, emit_case_bit_tests, expand_case): Likewise.
3831 * stor-layout.c (put_pending_size, smallest_mode_for_size,
3832 int_mode_for_mode, layout_decl, finish_builtin_struct, layout_type,
3833 set_sizetype, get_mode_bounds): Likewise.
3834
15072eb1
ZW
38352004-09-09 Zack Weinberg <zack@codesourcery.com>
3836
3837 * defaults.h (MULTIPLE_SYMBOL_SPACES): Provide default.
3838 * config/arm/pecoff.h, config/i386/beos-elf.h
3839 * config/i386/cygming.h, config/i386/i386-interix.h:
3840 Define MULTIPLE_SYMBOL_SPACES to 1, not nothing. Remove
3841 comment cloned from manual.
3842 * doc/tm.texi: Update description of MULTIPLE_SYMBOL_SPACES.
3843
c2433d7d
FCE
38442004-09-09 Frank Ch. Eigler <fche@redhat.com>
3845
3846 * builtins.c (build_va_arg_indirect_ref): New function.
3847 (std_gimplify_va_arg_expr): Call it instead of mudflap check and
3848 build_fold_indirect_ref.
3849 * config/i386/i386.c (ix86_gimplify_va_arg): Ditto.
3850 * config/ia64/ia64.c (ia64_gimplify_va_arg): Ditto.
3851 * tree.h: Declare new function.
3852
41374e13 38532004-09-09 Nathan Sidwell <nathan@codesourcery.com>
1a2caa7a
NS
3854
3855 * cgraphunit.c (cgraph_mark_functions_to_output): Renable node
3856 dumping for development builds.
3857 * emit-rtl.c (verify_rtx_sharing): Give verbose failure for
3858 development builds only.
3859 * genattrtab.c (write_eligible_delay): Fix typo in previous
3860 commit.
3861 * tree.c (iterative_hash_expr): Replace gcc_unreachable with
3862 gcc_assert.
3863
41374e13 38642004-09-09 Nathan Sidwell <nathan@codesourcery.com>
282899df
NS
3865
3866 * gcse.c (INSN_CUID, insert_set_in_table, find_avail_set,
3867 cprop_insn, do_local_cprop, local_cprop_pass, find_bypass_set,
3868 process_insert_insn, insert_insn_end_bb, pre_insert_copy_insn,
3869 hoist_code, extract_mentioned_regs_helper, compute_store_table,
3870 insert_store): Use gcc_assert and gcc_unreachable.
3871 * ggc-common.c (ggc_splay_alloc, ggc_splay_dont_free,
3872 gt_pch_note_object, gt_pch_note_reorder, relocate_ptrs,
3873 ggc_record_overhead): Likewise.
3874 * ggc-page.c (alloc_page, free_page, ggc_set_mark, ggc_marked_p,
3875 init_ggc, ggc_push_context, ggc_recalculate_in_use_p,
3876 ggc_pop_context, clear_marks, validate_free_objects,
3877 ggc_pch_read): Likewise.
3878 * ggc-zone.c (ggc_allocated_p, free_chunk, ggc_set_mark,
3879 ggc_marked_p, ggc_get_size, init_ggc, destroy_ggc_zone,
3880 ggc_push_context, check_cookies, ggc_collect,
3881 ggc_print_statistics): Likewise.
3882 * gimple-low.c (lower_function_body, lower_stmt,
3883 lower_bind_expr): Likewise.
3884 * gimplify.c (gimple_tree_eq, push_gimplify_context,
3885 pop_gimplify_context, gimple_pop_condition, create_tmp_var,
3886 declare_tmp_vars, gimple_add_tmp_var, annotate_all_with_locus,
3887 mostly_copy_tree_r, gimplify_return_expr, gimplify_switch_expr,
3888 gimplify_case_label_expr, gimplify_exit_block_expr,
3889 canonicalize_component_ref, gimplify_compound_lval,
3890 gimplify_self_mod_expr, gimplify_call_expr,
3891 gimplify_init_ctor_eval, gimplify_init_constructor,
3892 gimplify_modify_expr, gimplify_save_expr, gimplify_target_expr,
3893 gimplify_expr, check_pointer_types_r,
3894 force_gimple_operand): Likewise.
3895 * global.c (global_alloc, build_insn_chain): Likewise.
3896 * graph.c (clean_graph_dump_file,
3897 finish_graph_dump_file): Likewise.
3898 gcov-io.c (gcov_open): Use GCOV_CHECK.
3899
2a88ebca
RS
39002004-09-09 Richard Sandiford <rsandifo@redhat.com>
3901
3902 * config/frv/frv.c (acc_operand, accg_operand): Use REGNO.
3903
34132917
JH
39042004-09-09 Jan Hubicka <jh@suse.cz>
3905
3906 middle-end/17128
282899df
NS
3907 * tree-inline.c (expand_call_inline): Make overactive sanity check
3908 happy.
34132917 3909
9f7aa952
JH
39102004-09-09 Jan Hubicka <jh@suse.cz>
3911
3912 * tree-ssa-loop-ivopts.c (peel_address): Fix abort on
3913 VIEW_CONVERT_EXPR.
3914
b2d59f6f
NS
39152004-09-09 Nathan Sidwell <nathan@codesourcery.com>
3916
3917 * Makefile.in (gengtype): Use $(BUILD_ERRORS).
3918 (gengtype.o): Depend on errors.h.
3919 * genattrtab.c (strcmp_check): Use gcc_assert and gcc_unreachable.
3920 (attr_rtx_1, attr_printf, attr_copy_rtx, evaluate_eq_attr,
3921 attr_alt_subset_p, attr_alt_subset_of_compl_p,
3922 attr_alt_intersection, attr_alt_union, optimize_attrs, gen_insn,
3923 write_test_expr, write_attr_value, write_eligible_delay,
3924 make_internal_attr, make_numeric_value): Likewise.
3925 * genautomata.c (regexp_name, get_str_vect,
3926 gen_presence_absence_set, automaton_decl_hash,
3927 automaton_decl_eq_p, insn_decl_hash, insn_decl_eq_p, decl_hash,
3928 decl_eq_p, process_regexp, loop_in_regexp, check_loops_in_regexps,
3929 process_regexp_cycles, reserv_sets_cmp, set_unit_reserv,
3930 test_unit_reserv, it_is_empty_reserv_sets,
3931 reserv_sets_are_intersected, reserv_sets_shift, reserv_sets_or,
3932 reserv_sets_and, output_cycle_reservs, get_free_state,
3933 intersected_state_reservs_p, states_union, remove_arc,
3934 copy_insn_regexp, transform_1, transform_2, transform_3,
3935 regexp_transform_func, store_alt_unit_usage,
3936 check_regexp_units_distribution, process_seq_for_forming_states,
3937 process_alts_for_forming_states, make_automaton,
3938 form_arcs_marked_by_insn, create_composed_state,
3939 set_out_arc_insns_equiv_num, partition_equiv_class,
3940 process_insn_equiv_class, set_insn_equiv_classes,
3941 units_to_automata_heuristic_distr, form_regexp,
3942 longest_path_length, output_dfa_max_issue_rate, add_vect,
3943 out_state_arcs_num, add_vect_el, output_trans_table,
3944 output_state_alts_table, output_dead_lock_vect,
3945 output_max_insn_queue_index_def,
3946 output_min_insn_conflict_delay_func,
3947 output_internal_insn_latency_func, output_print_reservation_func,
3948 output_cpu_unit_reservation_p, output_state_arcs,
3949 make_insn_alts_attr, make_internal_dfa_insn_code_attr,
3950 make_default_insn_latency_attr,
3951 form_important_insn_automata_lists): Likewise.
3952 * genemit.c (gen_exp, output_add_clobbers,
3953 output_added_clobbers_hard_reg_p): Likewise.
3954 * genextract.c (print_path, main): Likewise.
3955 * genflags.c (gen_macro): Likewise.
3956 * gengenrtl.c: Include errors.h
3957 (type_from_format, accessor_from_format): Likewise.
3958 * gengtype.c (get_file_basename, output_mangled_typename,
3959 walk_type, write_types_process_field,
3960 write_types_local_process_field): Likewise.
3961 * genmodes.c (complete_mode): Likewise.
3962 * genopinit.c (gen_insn): Likewise.
3963 * genoutput.c (output_insn_data, check_constraint_len,
3964 constraint_len): Likewise.
3965 * genpreds.c (add_mode_tests):Likewise.
3966 * gen-protos.c (add_hash): Likewise.
3967 * genrecog.c (find_operand, find_matching_operand,
3968 validate_pattern, add_to_sequence, maybe_both_true,
3969 nodes_identical_1, merge_trees, write_switch, write_cond,
3970 write_action, is_unconditional, make_insn_sequence,
3971 debug_decision_2): Likewise.
3972 * gensupport.c (is_predicable, collect_insn_data,
3973 alter_predicate_for_insn, maybe_eval_c_test): Likewise.
3974
87022a6b
JH
39752004-09-09 Jan Hubicka <jh@suse.cz>
3976
3977 * basic-block.h (guess_outgoing_edge_probabilities): Declare.
b2d59f6f
NS
3978 * cfgbuild.c (compute_outgoing_frequencies): When probability is
3979 missing, guess it.
3980 (find_many_sub_basic_blocks): Do update profile only when it is
3981 present.
87022a6b 3982 * predict.c (set_even_probabilities): Break out from ...
b2d59f6f
NS
3983 (combine_predictions_for_insn): ... here; deal with
3984 !can_predict_insn_p insns.
87022a6b
JH
3985 (combine_predictions_for_bb): Use set_even_probabilities.
3986 (bb_estimate_probability_locally): Break out from ....
3987 (estimate_probability): ... here.
3988 (guess_outgoing_edge_probabilities): New entry point.
3989
e1537934
NS
39902004-09-09 Nathan Sidwell <nathan@codesourcery.com>
3991
3b5edfee
NS
3992 * gcc.c (add_sysrooted_prefix, execute, do_self_spec, do_spec_1,
3993 handle_braces, process_brace_body, main, used_arg,
3994 set_multilib_dir, print_multilib_info): Use fatal, not abort.
3995
d73d4593
NS
3996 * tree-nested.c (create_tmp_var_for): Correct missinverted assert.
3997
e1537934
NS
3998 * tree-outof-ssa.c (free_temp_expr_table): Add missed assert.
3999 * tree-ssa-ccp.c (set_lattice_value): Correct missapplied de
4000 Morgan's theorem in last checkin.
4001
1e128c5f
GB
40022004-09-09 Giovanni Bajo <giovannibajo@gcc.gnu.org>
4003 Nathan Sidwell <nathan@codesourcery.com>
4004
4005 * targhooks.c (default_unwind_emit, default_scalar_mode_supported_p):
4006 Use gcc_assert, gcc_unreachable & internal_error instead of abort.
4007 * timevar.c (timevar_push, timevar_pop, timevar_start,
4008 timevar_stop): Likewise.
4009 * toplev.c (default_pch_valid_p): Likewise.
4010 * tracer.c (tail_duplicate): Likewise.
4011 * tree-alias-common.c (get_alias_var_decl,
4012 get_values_from_constructor, create_alias_var, delete_alias_vars,
4013 empty_points_to_set, same_points_to_set, ptr_may_alias_var):
4014 Likewise.
4015 * tree.c (tree_size, make_node_stat, copy_node_stat,
4016 build_int_cst_wide, integer_all_onesp, list_length, chainon,
4017 tree_node_structure, type_contains_placeholder_p, substitute_in_expr,
4018 substitute_placeholder_in_expr, tabilize_reference_1, build0_stat,
4019 build1_stat, build2_stat, build3_stat, build4_stat, is_attribute_p,
4020 lookup_attribute, type_hash_canon, host_integerp, iterative_hash_expr,
4021 build_method_type_directly, decl_type_context, get_callee_fndecl,
4022 get_set_constructor_bits, build_vector_type_for_mode, int_cst_value,
4023 tree_fold_gcd): Likewise.
4024 * tree-cfg.c (create_bb, make_ctrl_stmt_edges, make_exit_edges,
4025 make_cond_expr_edges, group_case_labels, tree_merge_blocks,
4026 cleanup_control_expr_graph, find_taken_edge,
4027 find_taken_edge_switch_expr, phi_alternatives_equal,
4028 is_ctrl_altering_stmt, disband_implicit_edges, set_bb_for_stmt,
4029 stmt_for_bsi, tree_find_edge_insert_loc, bsi_insert_on_edge_immediate,
4030 tree_split_edge, tree_verify_flow_info, thread_jumps,
4031 tree_redirect_edge_and_branch, tree_flow_call_edges_add): Likewise.
4032 * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
4033 chrec_fold_multiply_poly_poly): Likewise.
4034 * tree-complex.c (extract_component, expand_complex_division,
4035 expand_complex_comparison, expand_complex_operations_1,
4036 build_replicated_const, expand_vector_operations_1): Likewise.
4037 * tree-data-ref.c (tree_fold_bezout, build_classic_dist_vector,
4038 build_classic_dir_vector): Likewise.
4039 * tree-dfa.c (compute_immediate_uses_for_phi,
4040 compute_immediate_uses_for_stmt, create_var_ann, create_stmt_ann,
4041 create_tree_ann, collect_dfa_stats, get_virtual_var): Likewise.
4042 * tree-dump.c (dequeue_and_dump): Likewise.
4043 * tree-eh.c (record_stmt_eh_region, add_stmt_to_eh_region,
4044 record_in_finally_tree, replace_goto_queue_1,
4045 maybe_record_in_goto_queue, verify_norecord_switch_expr,
4046 do_return_redirection): Likewise.
4047 * tree-if-conv.c (tree_if_convert_stmt, tree_if_convert_cond_expr,
4048 add_to_dst_predicate_list, find_phi_replacement_condition,
4049 replace_phi_with_cond_modify_expr, get_loop_body_in_if_conv_order):
4050 Likewise.
4051 * tree-inline.c (remap_decl, remap_type, remap_decls, copy_body_r,
4052 initialize_inlined_parameters, declare_return_variable,
4053 estimate_num_insns_1, expand_call_inline, expand_calls_inline,
4054 optimize_inline_calls, copy_tree_r): Likewise.
4055 * tree-into-ssa.c (rewrite_initialize_block_local_data, rewrite_stmt,
4056 ssa_rewrite_stmt, rewrite_into_ssa): Likewise.
4057 * tree-iterator.c (alloc_stmt_list, tsi_link_before, tsi_link_after,
4058 tsi_split_statement_list_after, tsi_split_statement_list_before):
4059 Likewise.
4060 * tree-mudflap.c (mf_varname_tree): Likewise.
4061 * tree-nested.c (create_tmp_var_for, lookup_field_for_decl,
4062 lookup_tramp_for_decl, convert_all_function_calls): Likewise.
4063 * tree-optimize.c (tree_rest_of_compilation): Likewise.
4064 * tree-outof-ssa.c (create_temp, eliminate_build, eliminate_phi,
4065 coalesce_abnormal_edges, coalesce_ssa_name, eliminate_virtual_phis,
4066 free_temp_expr_table, add_dependance, finish_expr, rewrite_trees):
4067 Likewise.
4068 * tree-phinodes.c (resize_phi_node, add_phi_arg,
4069 remove_all_phi_nodes_for): Likewise.
4070 * tree-pretty-print.c (op_prio, print_call_name): Likewise.
4071 * tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler,
4072 tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Likewise.
4073 * tree-sra.c (type_can_instantiate_all_elements, sra_hash_tree,
4074 sra_elt_eq, sra_walk_expr, instantiate_missing_elements,
4075 generate_one_element_ref, generate_element_copy,
4076 generate_element_zero, scalarize_copy, scalarize_init,
4077 scalarize_ldst): Likewise.
4078 * tree-ssa-alias.c (delete_alias_info, group_aliases, may_alias_p,
4079 add_may_alias, add_pointed_to_expr, add_pointed_to_var,
4080 collect_points_to_info_r, get_tmt_for, get_ptr_info): Likewise.
4081 * tree-ssa.c (walk_use_def_chains, check_phi_redundancy): Likewise.
4082 * tree-ssa-ccp.c (dump_lattice_value, get_default_value, get_value,
4083 set_lattice_value, likely_value, ccp_visit_phi_node, visit_assignment,
4084 widen_bitfield, ccp_fold_builtin): Likewise.
4085 * tree-ssa-copy.c (may_propagate_copy, merge_alias_info,
4086 replace_exp_1, propagate_tree_value): Likewise.
4087 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
4088 * tree-ssa-dce.c (set_control_dependence_map_bit,
4089 find_control_dependence, find_pdom, mark_operand_necessary,
4090 mark_stmt_if_obviously_necessary,
4091 mark_control_dependent_edges_necessary, remove_dead_stmt): Likewise.
4092 * tree-ssa-dom.c (dom_opt_initialize_block_local_data,
4093 simplify_switch_and_lookup_avail_expr, cprop_into_successor_phis,
4094 eliminate_redundant_computations, avail_expr_eq): Likewise.
4095 * tree-ssa-dse.c (fix_stmt_v_may_defs): Likewise.
4096 * tree-ssa-loop-ch.c (should_duplicate_loop_header_p,
4097 duplicate_blocks): Likewise.
4098 * tree-ssa-loop-im.c (for_each_index, set_level,
4099 is_call_clobbered_ref): Likewise.
4100 * tree-ssa-loop-ivopts.c (dump_use, divide, stmt_after_ip_normal_pos,
4101 stmt_after_increment, set_iv, contains_abnormal_ssa_name_p,
4102 find_interesting_uses_outer_or_nonlin, add_derived_ivs_candidates,
4103 peel_address, ptr_difference_cost, may_replace_final_value,
4104 determine_use_iv_cost, rewrite_use_nonlinear_expr, rewrite_use_outer,
4105 rewrite_use, rewrite_uses): Likewise.
4106 * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa,
4107 check_loop_closed_ssa_use): Likewise.
4108 * tree-ssanames.c (make_ssa_name): Likewise.
4109 * tree-ssa-operands.c (finalize_ssa_defs, finalize_ssa_uses,
4110 finalize_ssa_v_must_defs, finalize_ssa_stmt_operands,
4111 get_stmt_operands, get_expr_operands, get_asm_expr_operands,
4112 get_indirect_ref_operands, add_stmt_operand): Likewise.
4113 * tree-ssa-pre.c (value_exists_in_set_bitmap,
4114 value_remove_from_set_bitmap, bitmap_insert_into_set, insert_into_set,
4115 phi_translate, valid_in_set, compute_antic,
4116 find_or_generate_expression, create_expression_by_pieces, insert_aux,
4117 create_value_expr_from, eliminate): Likewise.
4118 * tree-ssa-propagate.c (cfg_blocks_get): Likewise.
4119 * tree-ssa-threadupdate.c (remove_last_stmt_and_useless_edges):
4120 Likewise.
4121 * tree-tailcall.c (independent_of_stmt_p, adjust_return_value,
4122 eliminate_tail_call): Likewise.
4123 * tree-vectorizer.c (vect_create_index_for_array_ref,
4124 vect_align_data_ref, vect_create_data_ref,
4125 vect_create_destination_var, vect_get_vec_def_for_operand,
4126 vect_finish_stmt_generation, vect_transform_stmt,
4127 vect_transform_loop_bound, vect_transform_loop,
4128 vect_analyze_operations): Likewise.
4129 * tree-vn.c (vn_compute, set_value_handle, get_value_handle):
4130 Likewise.
4131 * tree-flow-inline.h (var_ann, get_var_ann, get_def_from_ptr,
4132 get_use_op_ptr, immediate_use, phi_ssa_name_p, bsi_start,
4133 bsi_after_labels, bsi_last): Likewise.
4134 * tree-ssa-live.c (var_union, change_partition_var,
4135 create_ssa_var_map, calculate_live_on_entry, root_var_init,
4136 type_var_init, add_coalesce, sort_coalesce_list, pop_best_coalesce):
4137 Likewise.
4138 * tree-ssa-live.h (partition_is_global, live_entry_blocks,
4139 tpa_find_tree): Likewise.
4140 (register_ssa_partition_check): Declare.
4141 (register_ssa_partition): use it.
4142 * tree-ssa-live.c: Include errors.h.
4143 (register_ssa_partition_check): New.
4144 * tree-ssa-operands.c: Include errors.h.
4145 * Makefile.in (tree-ssa-operands.o): Depend on errors.h.
4146
c557edf4
RS
41472004-09-09 Richard Sandiford <rsandifo@redhat.com>
4148 Catherine Moore <clm@redhat.com>
4149
4150 * config/frv/frv-protos.h (FRV_CPU_FR550, FRV_CPU_FR450)
4151 (FRV_CPU_FR405): New processor enums.
4152 (frv_issue_rate, frv_acc_group): Declare.
4153 * config/frv/frv.h (CPP_SPEC, CPP_FRV_SPEC, CPP_FR500_SPEC): Delete.
4154 (CPP_FR400_SPEC, CPP_SIMPLE_SPEC): Delete.
4155 (MASK_DEFAULT_FR550, MASK_DEFAULT_FR450): New macros.
4156 (SUBTARGET_EXTRA_SPECS, EXTRA_SPECS, CPP_CPU_DEFAULT_SPEC): Delete.
4157 (TARGET_CPU_CPP_BUILTINS): Define the macros that were previously
4158 handled by CPP_SPEC.
4159 (MASK_LONG_CALLS, TARGET_LONG_CALLS): New macros.
4160 (MASK_ALIGN_LABELS, TARGET_ALIGN_LABELS): New macros.
4161 (ACC_MASK): New macro.
4162 (TARGET_MEDIA_REV2): Include FRV_CPU_{FR405,FR450,FR550}.
4163 (TARGET_MEDIA_FR450): New macro.
4164 (TARGET_FR500_FR550_BUILTINS, TARGET_FR405_BUILTINS): New macros.
4165 (TARGET_SWITCHES): Add -m{no-,}align-labels and -m{no-,}long-calls.
4166 (LABEL_ALIGN_AFTER_BARRIER): Define.
4167 (ACC_LAST, ACCG_LAST): Add four new accumulator registers.
4168 (IACC_FIRST, IACC_LAST): New pair of SPRs.
4169 (ACCG_FIRST, AP_FIRST, SPR_FIRST, SPR_LAST): Adjust accordingly.
4170 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER)
4171 (REGISTER_NAMES): Add entries for new registers.
4172 (REG_CLASS_CONTENTS): Update for new register ranges.
4173 (EXTRA_CONSTRAINT_FOR_S): Redefine in terms of call_operand.
4174 (ISSUE_RATE, CLEAR_VLIW_START, SET_VLIW_START): Delete.
4175 (PACKING_FLAG_USED_P): Delete.
4176 (FRV_BUILTIN_MQLCLRHS, FRV_BUILTIN_MQLMTHS, FRV_BUILTIN_MQSLLHI)
4177 (FRV_BUILTIN_MQSRAHI, FRV_BUILTIN_SMUL, FRV_BUILTIN_UMUL)
4178 (FRV_BUILTIN_PREFETCH0, FRV_BUILTIN_PREFETCH, FRV_BUILTIN_SMASS)
4179 (FRV_BUILTIN_SMSSS, FRV_BUILTIN_SMU, FRV_BUILTIN_SCUTSS)
4180 (FRV_BUILTIN_ADDSS, FRV_BUILTIN_SUBSS, FRV_BUILTIN_SLASS)
4181 (FRV_BUILTIN_IACCread{l,ll}, FRV_BUILTIN_IACCset{ll,l})
4182 (FRV_BUILTIN_SCAN): New members of frv_builtin_enum.
4183 (FRV_BUILTIN_FIRST_NONMEDIA): New macro.
4184 (CPU_UNITS_QUERY): Define to 1.
4185 * config/frv/frv.c: Include gt-frv.h
4186 (NUM_NOP_PATTERNS, NTH_UNIT, UNIT_NUMBER, PACKING_FLAG_P): New macros.
4187 (SET_PACKING_FLAG, CLEAR_PACKING_FLAG, FOR_EACH_REGNO): New macros.
4188 (frv_insn_group): New enumeration.
4189 (frv_unit_names, frv_unit_groups, frv_unit_codes): New variables.
4190 (frv_type_to_unit, frv_nops, frv_num_nops): New variables.
4191 (REGSTATE_DEAD, REGSTATE_LIVE, REGSTATE_UNUSED, REGSTATE_MASK)
4192 (REGSTATE_CONDJUMP): Delete. Shuffle other numbers to cover the
4193 gap left by REGSTATE_LIVE.
4194 (regstate_t): New typedef.
4195 (TARGET_MACHINE_DEPENDENT_REORG): Define.
4196 (frv_default_flags_for_cpu): Handle FRV_CPU_{FR550,FR450,FR405}.
4197 (frv_override_options): Check for -mcpu={fr550,fr450,fr405}.
4198 Initialize frv_unit_codes[] and frv_type_to_unit[].
4199 (frv_conditional_register_usage): Remove redundant fixing of
4200 accumulator registers.
4201 (frv_insn_packing_flag): Update specification.
4202 (frv_function_prologue): Don't set frv_insn_packing_flag here.
4203 Zero out frv_nops[].
4204 (frv_expand_epilogue): Remove comments about the no-longer-present
4205 SIBCALL_P argument.
4206 (frv_asm_output_mi_thunk): Check frv_issue_rate() rather than
4207 PACKING_FLAG_USED_P() when deciding whether to pack instructions.
4208 (frv_asm_output_opcode, frv_final_prescan_insn): Simplify in light
4209 of the new meaning of frv_insn_packing_flag. Emit an mnop.p if
4210 packing is disabled and if INSN can only issue to M1.
4211 (call_operand): Check TARGET_LONG_CALLS.
4212 (acc_operand, even_acc_operand, quad_acc_operand)
4213 (accg_operand): Simplify. Don't accept pseudo registers.
4214 (output_move_single): Handle SPR<-zero moves.
4215 (frv_issue_rate): Make non-static. Handle FRV_CPU_{FR550,FR450,FR405}.
4216 (frv_registers_update, frv_registers_used_p): Delete.
4217 (frv_registers_set_p): Delete.
4218 (frv_acc_group_1, frv_acc_group, frv_insn_unit): New functions.
4219 (frv_issues_to_branch_unit_p): New function.
4220 (frv_packet): New structure.
4221 (frv_cond_flags, frv_regstate_conflict_p): New functions.
4222 (frv_registers_conflict_p_1, frv_registers_conflict_p): New functions.
4223 (frv_registers_update_1, frv_registers_update): New functions.
4224 (frv_start_packet, frv_start_packet_block, frv_finish_packet)
4225 (frv_pack_insn_p, frv_add_insn_to_packet, frv_insert_nop_in_packet)
4226 (frv_for_each_packet, frv_sort_insn_group_1, frv_compare_insns)
4227 (frv_sort_insn_group, frv_reorder_packet): New functions.
4228 (frv_pack_insns): Use frv_reorder_packet.
4229 (frv_packet_address): New variable.
4230 (frv_fill_unused_units, frv_align_label, frv_reorg_packet)
4231 (frv_register_nop, frv_reorg): New functions.
4232 (bdesc_1arg): Add __SCUTSS.
4233 (bdesc_2arg): Add __MQLCLRHS, __MQLMTHS, __SMUL, __UMUL, __ADDSS,
4234 __SUBSS, __SLASS and __SCAN.
4235 (bdesc_2argimm): Add __MQSLLHI and __MQSRAHI.
4236 (bdesc_int_void2arg, bdesc_prefetches): New arrays.
4237 (frv_init_builtins): Register the above builtins.
4238 (frv_int_to_acc): Use ACC_MASK to check for valid accumulator
15072eb1 4239 registers. Turn the referenced accumulators into global registers.
c557edf4
RS
4240 (frv_read_iacc_argument): New function.
4241 (frv_expand_int_void2arg, frv_expand_prefetches): New functions.
4242 (frv_split_iacc_move): New function.
4243 (frv_expand_builtin): Handle the new builtins.
4244 * config/frv/frv.md: Replace old schedulers with new order-independent
4245 ones. Add schedulers for the FR405, FR450 and FR550. Describe new
4246 packing algorithm.
4247 (cpu): Add fr550, fr450 and fr405.
4248 (type): Add macc, scan, cut, fnop, fscmp, fdcmp, mnop, mqlimh and
4249 mqshift. Replace fmas with fsmadd and fmad with fdmadd. Delete m7.
4250 (*muladd[sd]f4, *mulsub[sd]f4): Fix types.
4251 (*cmp[sd]f_cc_fp): Use new f[sd]cmp types.
4252 (fnop, mnop): New patterns.
4253 (UNSPEC_MQLCLRHS, UNSPEC_MQLMTHS, UNSPEC_MQSLLHI, UNSPEC_MQSRAHI):
4254 New constants.
4255 (mexpdhw, *cond_exec_mexpdhw): Fix destination operands.
4256 (mclracca8): Use ACC_MASK to determine the upper set of accumulator
4257 registers.
4258 (mqlclrhs, mqlmths, mqsllhi, mqsrahi): New patterns.
4259 (UNSPEC_SMUL, UNSPEC_UMUL, UNSPEC_SMU, UNSPEC_ADDSS, UNSPEC_SUBSS)
4260 (UNSPEC_SLASS, UNSPEC_SCAN, UNSPEC_INTSS, UNSPEC_SCUTSS)
4261 (UNSPEC_PREFETCH0, UNSPEC_PREFETCH, UNSPEC_IACCreadll)
4262 (UNSPEC_IACCreadl, UNSPEC_IACCsetll, UNSPEC_IACCsetl, UNSPEC_SMASS)
4263 (UNSPEC_SMSSS, UNSPEC_IMUL, IACC0_REG): New constants.
4264 (smul, umul, smass, smsss, smu, addss, subss, slass, scan, scutss)
4265 (frv_prefetch0, frv_prefetch): New patterns.
4266 * config/frv/t-frv (MULTILIB_OPTIONS): Remove -mcpu=frv and
4267 -mcpu=simple. Add -mcpu=fr550.
4268 (MULTILIB_DIRNAMES): Update accordingly.
4269 (MULTILIB_MATCHES): Use the fr400 multilibs for -mcpu=fr405 and
4270 -mcpu=fr450.
4271 * doc/invoke.texi: Document the new -mcpu={fr550,fr450,fr405},
4272 -mlong-calls and -malign-labels options for FR-V.
4273
deb176fa
JM
42742004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
4275
4276 PR c/8420
4277 * c-tree.h (struct c_declspecs): New.
4278 (struct c_declarator, struct c_type_name, struct c_parm): Update
4279 element types.
4280 (build_array_declarator, grokfield, shadow_tag, shadow_tag_warned,
4281 start_function, start_decl, build_c_parm,
4282 make_pointer_declarator): Update prototypes.
4283 (build_null_declspecs, declspecs_add_qual, declspecs_add_type,
4284 declspecs_add_scspec, declspecs_add_attrs): New.
4285 (split_specs_attrs): Remove.
4286 * c-parse.in (%union): Add dsptype.
4287 (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
4288 declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
4289 declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
4290 declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
4291 declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
4292 declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
4293 declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
4294 declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
4295 declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
4296 declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
4297 maybe_type_quals_attrs): Change to dsptype.
4298 (struct c_declspec_stack): New.
4299 (current_declspecs, declspec_stack): Change type.
4300 (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): Update to new
4301 structures.
4302 (extdefs): Likewise.
4303 (setspecs): Likewise.
4304 (fndef): Use current_declspecs for empty declspecs list.
4305 (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
4306 declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
4307 declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
4308 declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
4309 declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
4310 declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
4311 declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
4312 declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea): Update to new
4313 structures and helper functions. Update comments.
4314 (typespec_nonattr): Correct comment.
4315 (maybe_type_quals_attrs, typename): Update to new structures.
4316 * c-decl.c (grokdeclarator, build_array_declarator, grokfield,
4317 shadow_tag, shadow_tag_warned, start_function, start_decl,
4318 build_c_parm, make_pointer_declarator,
4319 set_array_declarator_inner, groktypename): Update to new
4320 structures.
4321 (build_null_declspecs, declspecs_add_qual, declspecs_add_type,
4322 declspecs_add_scspec, declspecs_add_attrs): New.
4323 (split_specs_attrs): Remove.
4324 (shadow_tag_warned): Make warning for useless type names a
4325 pedwarn. Give hard error for long, short, signed, unsigned or
4326 _Complex used with struct, union or enum in empty declaration.
4327 Make found_tag a bool.
4328 (grokdeclarator): Remove checks now done at parse time.
4329
f8893e47
JM
43302004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
4331
4332 * c-tree.h (enum c_declarator_kind, struct c_arg_info, struct
4333 c_declarator, struct c_type_name, struct c_parm): New.
4334 (build_array_declarator, set_array_declarator_inner,
4335 get_parm_info, grokfield, groktypename, grokparm, push_parm_decl,
4336 start_function, start_decl, build_c_parm, build_attrs_declarator,
4337 build_function_declarator, make_pointer_declarator, c_cast_expr,
4338 store_parm_decls_newstyle, c_expr_sizeof_type): Update prototypes.
4339 (build_id_declarator): New.
4340 * c-typeck.c (c_cast_expr, c_expr_sizeof_type): Update to new
4341 structures.
4342 * c-decl.c (ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES,
4343 ARG_INFO_OTHERS): Remove.
4344 (build_id_declarator): New.
4345 (build_array_declarator, set_array_declarator_inner, groktypename,
4346 start_decl, grokparm, push_parm_decl, grokparms, get_parm_info,
4347 grokfield, start_function, store_parm_decls_newstyle,
4348 store_parm_decls_oldstyle, store_parm_decls,
4349 build_c_parm, build_attrs_declarator, build_function_declarator,
4350 make_pointer_declarator, grokdeclarator): Update to new
4351 structures.
4352 * c-parse.in (%union): Add arginfotype, dtrtype, typenametype and
4353 parmtype.
4354 (declarator, notype_declarator, after_type_declarator,
4355 parm_declarator, parm_declarator_starttypename,
4356 parm_declarator_nostarttypename, array_declarator, typename,
4357 absdcl, absdcl1, absdcl1_ea, absdcl1_noea, direct_absdcl1,
4358 absdcl_maybe_attribute, parm, firstparm, parms, parmlist,
4359 parmlist_1, parmlist_2, parmlist_or_identifiers,
4360 parmlist_or_identifiers_1): Use these types.
4361 (primary, after_type_declarator, parm_declarator_starttypename,
4362 notype_declarator, component_decl, component_declarator,
4363 component_notype_declarator, typename, absdcl,
4364 absdcl_maybe_attribute, absdcl1_ea, direct_absdcl1, parmlist_1,
4365 parmlist_2, parmlist_or_identifiers_1): Update to new structures.
4366
bc4b653b
JM
43672004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
4368
4369 * c-tree.h (C_DECL_USED, parser_obstack, in_alignof, in_sizeof,
4370 in_typeof, record_maybe_used_decl, pop_maybe_used,
4371 c_expr_sizeof_expr, c_expr_sizeof_type): New.
4372 * c-decl.c (parser_obstack): New.
4373 (c_init_decl_processing): Initialize parser_obstack.
4374 (c_write_global_declarations_1): Check for used but undefined
4375 static functions.
4376 * c-parse.in (%union): Add otype.
4377 (save_obstack_position): New.
4378 (extdefs): Use it.
4379 (unary_expr): Update in_sizeof and in_alignof. Use
4380 c_expr_sizeof_expr and c_expr_sizeof_type.
4381 (sizeof): Update in_sizeof.
4382 (alignof): Update in_alignof.
4383 (typeof): Update in_typeof.
4384 (typespec_nonreserved_nonattr): Call pop_maybe_used.
4385 * c-typeck.c (in_alignof, in_sizeof, in_typeof, struct
4386 maybe_used_decl, maybe_used_decls, record_maybe_used_decl,
4387 pop_maybe_used, c_expr_sizeof_expr, c_expr_sizeof_type): New.
4388 (build_external_ref): Set C_DECL_USED or call
4389 record_maybe_used_decl if appropriate.
4390 * toplev.c (check_global_declarations): Check TREE_NO_WARNING.
4391
f838cd94
EC
43922004-09-08 Eric Christopher <echristo@redhat.com>
4393
4394 * builtins.c: Fix prototype for fold_builtin_atan.
4395
667bbbbb
EC
43962004-09-08 Eric Christopher <echristo@redhat.com>
4397
4398 * builtins.c (fold_builtin_strlen, fold_builtin_sqrt, fold_builtin_cbrt,
4399 fold_builtin_pow, fold_builtin_sin, fold_builtin_cos, fold_builtin_tan,
4400 fold_builtin_atan): New functions. Migrate function bodies...
4401 (fold_builtin_1): ... from here.
4402
64045029
AM
44032004-09-09 Alan Modra <amodra@bigpond.net.au>
4404
4405 * config/rs6000/rs6000.c (rs6000_stack_info): Correct alignment of
4406 save_size.
4407
f0259218
DE
44082004-09-08 David Edelsohn <edelsohn@gnu.org>
4409
4410 * config/rs6000/power4.md (power4-lmul): du4 feeds iu1.
4411 * config/rs6000/power5.md (power5-lmul): Same.
4412
609c3937
RH
44132004-09-08 Richard Henderson <rth@redhat.com>
4414
4415 PR rtl-opt/17186
4416 * function.c (expand_function_end): Have fall-off-the-end
4417 return path jump around return register setup.
4418
4e5b002b
EB
44192004-09-08 Eric Botcazou <ebotcazou@libertysurf.fr>
4420
4421 * config/sparc/sparc.c (sparc_indent_opcode): New variable.
4422 (output_return): Do not test for the presence of the 'unimp' insn.
4423 Use 'current_function_uses_only_leaf_regs' and 'final_sequence'
4424 as predicates instead of custom ones. Return raw strings when
4425 possible.
4426 (output_sibcall): Likewise. Concatenate strings.
4427 (output_ubranch): Remove kludge for TurboSPARC.
4428 (output_cbranch): Remove 'noop' parameter. Do not output 'nop'.
4429 (output_v9branch): Likewise.
4430 (print_operand): Use 'final_sequence' instead of 'dbr_sequence_length'.
4431 <#>: Set sparc_indent_opcode if the delay slot is filled.
4432 <(>: Likewise.
4433 <)>: New operand to emit the displacement from the saved PC on return.
4434 <@>: Remove.
4435 * config/sparc/sparc.h (sparc_indent_opcode): Declare it.
4436 (ASM_OUTPUT_OPCODE): New macro.
4437 (PRINT_OPERAND_PUNCT_VALID_P): Remove '^' and add ')'.
4438 * config/sparc/sparc.md (normal_branch, inverted_branch,
4439 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
4440 inverted_fpe_branch): Adjust call to output_cbranch.
4441 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust
4442 call to output_v9branch.
4443 * config/sparc/sparc-protos.h (output_cbranch): Adjust.
4444 (output_v9branch): Likewise.
4445
5826770c
DP
44462004-09-08 Devang Patel <dpatel@apple.com>
4447
4448 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -segaddr,
4449 -segs_read_only_addr and -segs_read_write_addr.
4450 (WORD_SWITCH_TAKES_ARG): Same.
4451 (LINK_SPEC): Same.
4452 * doc/invoke.texi: Document -segaddr, -segs_read_only_addr and
4453 -segs_read_write_addr.
4454
6cdd5672
RH
44552004-09-08 Richard Henderson <rth@redhat.com>
4456
4457 * function.c (reference_callee_copied): New.
4458 (assign_parm_setup_reg): Use it.
4459 * calls.c (initialize_argument_information): Likewise.
4460 (emit_library_call_value_1): Likewise.
4461 * function.h (reference_callee_copied): Declare.
4462
4463 * target.h (struct gcc_target): Add callee_copies.
4464 * target-def.h (TARGET_CALLEE_COPIES): New.
4465 (TARGET_PASS_BY_REFERENCE): Update default.
4466 * expr.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
4467 * targhooks.c (hook_callee_copies_named): New.
4468 (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Rename from
4469 hook_pass_by_reference_false.
4470 (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): New.
4471 * targhooks.h: Update decls.
4472 * config/arc/arc.c (TARGET_CALLEE_COPIES): New.
4473 * config/arc/arc.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
4474 * config/frv/frv-protos.h (frv_function_arg_callee_copies): Remove.
4475 * config/frv/frv.c (frv_function_arg_callee_copies): Remove.
4476 * config/frv/frv.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
4477 * config/iq2000/iq2000.c (TARGET_CALLEE_COPIES): New.
4478 * config/iq2000/iq2000.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
4479 * config/m68hc11/m68hc11.c (TARGET_CALLEE_COPIES): New.
4480 * config/m68hc11/m68hc11.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
4481 * config/mips/mips.c (TARGET_CALLEE_COPIES): New.
4482 (mips_callee_copies): New.
4483 * config/mips/mips.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
4484 * config/mmix/mmix.c (TARGET_CALLEE_COPIES): New.
4485 * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
4486 * config/mn10300/mn10300.c (TARGET_CALLEE_COPIES): New.
4487 * config/mn10300/mn10300.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
4488 * config/pa/pa.c (TARGET_CALLEE_COPIES): New.
4489 * config/pa/pa.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
4490 * config/sh/sh.c (sh_callee_copies): New.
4491 (TARGET_CALLEE_COPIES): New.
4492 * config/sh/sh.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
4493 * config/v850/v850.c (TARGET_CALLEE_COPIES): New.
4494 * config/v850/v850.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
4495 * doc/tm.texi (TARGET_CALLEE_COPIES): Replace documentation
4496 for FUNCTION_ARG_CALLEE_COPIES.
4497 * doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Update.
4498
7f7e0703
DP
44992004-09-08 Devang Patel <dpatel@apple.com>
4500
6cdd5672
RH
4501 * tree-if-conv.c (find_phi_replacement_condition): Return true
4502 edge block.
4503 (replace_phi_with_cond_modify_expr): Select conditional expr args
4504 based on true edge basic block.
667bbbbb 4505
ed7f7d85
JH
45062004-09-08 Jan Hubicka <jh@suse.cz>
4507
4508 * tree-ssa-operands.c (add_stmt_operand): Use V_MUST_DEF even for
4509 variables being alias set.
4510
0bccc606
NS
45112004-09-08 Nathan Sidwell <nathan@codesourcery.com>
4512
4513 * final.c (shorten_branches, final, get_insn_template,
4514 output_alternate_entry_point, final_scan_insn, alter_subreg,
4515 alter_cond, output_operand, asm_fprintf, final_forward_branch_p,
4516 leaf_renumber_regs_insn): Use gcc_assert and gcc_unreachable.
4517 * fix-header.c (lookup_std_proto): Likewise.
4518 * flow.c (first_insn_after_basic_block_note, verify_wide_reg,
4519 verify_local_live_at_start, update_life_info, mark_reg,
4520 calculate_global_regs_live, allocate_reg_life_data,
4521 init_propagate_block_info, mark_set_regs, flush_reg_cond_reg_1,
4522 ior_reg_cond, not_reg_cond, and_reg_cond, elim_reg_cond,
4523 attempt_auto_inc, mark_used_reg, mark_used_regs): Likewise.
4524 * fold-const.c (force_fit_type, div_and_round_double,
4525 may_negate_without_overflow_p, int_const_binop, const_binop,
4526 size_binop, size_diffop, fold_convert_const, fold_convert,
4527 invert_tree_comparison, swap_tree_comparison,
4528 comparison_to_compcode, compcode_to_comparison, invert_truthvalue,
4529 range_binop, make_range, fold_cond_expr_with_comparison,
4530 fold_div_compare, fold, fold_checksum_tree, fold_negate_const,
4531 fold_abs_const, fold_not_const, fold_relational_const, round_up,
4532 round_down): Likewise.
4533 * function.c (find_function_data, assign_stack_temp_for_type,
4534 instantiate_virtual_regs_lossage, aggregate_value_p,
4535 assign_parm_find_entry_rtl, assign_parm_setup_block,
4536 expand_function_start, expand_function_end, keep_stack_depressed,
4537 handle_epilogue_set, thread_prologue_and_epilogue_insns): Likewise.
4538
599eabdb
DB
45392004-09-08 Daniel Berlin <dberlin@dberlin.org>
4540
4541 * Makefile.in (tree-loop-linear.o): Added.
4542 (OBJS-common): Add tree-loop-linear.o
4543 * common.opt: New flag, ftree-loop-linear.
4544 * timevar.def: New timevar, TV_TREE_LOOP_LINEAR.
4545 * tree-flow.h: Add prototype for linear_transform_loops.
4546 * tree-optimize.c: Add linear transform after vectorization.
4547 * tree-pass.h: Add struct pass_linear_transform.
4548 * tree-ssa-loop.c: Add pass_linear_transform.
4549 * tree-loop-linear.c: New file.
4550 * lambda-code.c: gcc_assertify.
4551 (gcc_loop_to_lambda_loop): Handle all exit tests.
4552 Handle case where we have (invariant >= induction var).
4553 (find_induction_var_from_exit_cond): Ditto.
667bbbbb 4554
13f5595a
JZ
45552004-09-08 Jie Zhang <zhangjie@magima.com.cn>
4556
4557 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
4558 memory tag is call clobbered, so are its aliases.
4559 (group_aliases): When two memory tags being grouped, if one is
4560 call clobbered, so are the other and its aliases.
4561 (add_may_alias): Remove call-clobbering stuff.
4562 (replace_may_alias): Likewise.
4563 (merge_pointed_to_info): Merge pt_global_mem
4564
89480522
JH
45652004-09-08 Jan Hubicka <jh@suse.cz>
4566
4567 * cgraph.c (cgraph_remove_node): Free DECL_INITIAL field of node.
4568 * cgraphunit.c (verify_cgraph): Don't verify on syntax errors.
4569 (cgraph_expand_function): Remove stale cgraph edges of currently
4570 compiled function; fix non-unit-at-a-time code copying function
4571 node for later reuse.
4572
4c254e68
NS
45732004-09-08 Nathan Sidwell <nathan@codesourcery.com>
4574
4575 * vec.c (vec_p_reserve, vec_o_reserve): Rename to ...
4576 (vec_gc_p_reserve, vec_gc_o_reserve): ... here. Clone to
4577 (vec_heap_p_reserve, vec_heap_o_reserve): ... here, adjust.
4578 (vec_gc_free, vec_heap_free): New.
4579 * vec.h (DEF_VEC_GC_P, DEF_VEC_MALLOC_P): New.
4580 (DEF_VEC_P): Add allocator argument. Adjust.
4581 (DEF_VEC_GC_O, DEF_VEC_MALLOC_O): New.
4582 (DEF_VEC_O): Add allocator argument. Adjust.
4583 (VEC(free)): New.
4584
4585 * tree.h (tree): Define a GC'd vector.
4586 * lamba-code.c (lambda_loop): Likewise.
4587 * value-prof.h (histogram_value): Likewise.
4c254e68 4588
5b0264cb
NS
45892004-09-08 Nathan Sidwell <nathan@codesourcery.com>
4590
4591 * emit-rtl.c (immed_double_const): Use gcc_assert and gcc_unreachable.
4592 (gen_rtx_SUBREG, gen_reg_rtx, mark_user_reg, subreg_hard_regno,
4593 gen_lowpart_common, gen_highpart, gen_highpart_mode,
4594 subreg_highpart_offset, operand_subword, operand_subword_force,
4595 mem_expr_equal_p, set_mem_attributes_minus_bitpos,
4596 set_mem_alias_set, change_address_1, verify_rtx_sharing,
4597 copy_most_rtx, set_first_insn, set_last_insn, prev_cc0_setter,
4598 try_split, add_insn_after, add_insn_before, remove_insn,
4599 remove_unnecessary_notes, emit_insn_before, emit_jump_insn_before,
4600 emit_call_insn_before, emit_insn_after, emit_jump_insn_after,
4601 emit_call_insn_after, emit_insn, emit_jump_insn, emit_call_insn,
4602 set_unique_reg_note, emit, push_to_full_sequence, copy_insn_1,
4603 gen_const_vector_0, emit_copy_of_insn_after): Likewise.
4604 * et-forest.c (set_prev, set_next, et_check_occ_sanity,
4605 record_path_before_1, check_path_after_1, check_path_after): Likewise.
4606 * except.c (gen_eh_region, resolve_one_fixup_region,
4607 remove_unreachable_regions, convert_from_eh_region_ranges_1,
4608 add_ehl_entry, duplicate_eh_region_1, build_post_landing_pads,
4609 connect_post_landing_pads, sjlj_emit_function_exit,
4610 remove_exception_handler_label, remove_eh_handler,
4611 reachable_next_level, collect_one_action_chain,
4612 output_function_exception_table): Likewise.
4613 * explow.c (trunc_int_for_mode, copy_to_mode_reg,
4614 optimize_save_area_alloca, allocate_dynamic_stack_space,
4615 probe_stack_range, hard_function_value): Likewise.
4616 * expmed.c (mode_for_extraction, store_bit_field,
4617 store_fixed_bit_field, extract_bit_field, expand_shift,
4618 expand_mult_const, expand_mult, choose_multiplier,
4619 expand_mult_highpart, expand_divmod, emit_store_flag,
4620 do_cmp_and_jump): Likewise.
4621 * expr.c (convert_move, convert_modes, move_by_pieces,
4622 move_by_pieces_ninsns, move_by_pieces_1, emit_block_move,
4623 move_block_from_reg, gen_group_rtx, emit_group_load,
4624 emit_group_move, emit_group_store, use_reg, use_regs,
4625 can_store_by_pieces, store_by_pieces, store_by_pieces_1,
4626 emit_move_insn, emit_move_insn_1, emit_push_insn,
4627 expand_assignment, store_expr, count_type_elements,
4628 store_constructor, store_field, safe_from_p, expand_var,
4629 expand_expr_addr_expr, expand_expr_real_1, do_store_flag): Likewise.
4630
ced3f397
NS
46312004-09-08 Nathan Sidwell <nathan@codesourcery.com>
4632
4633 * dbxout.c (dbxout_type, dbxout_type_name, dbxout_symbol): Use
4634 gcc_assert and gcc_unreachable.
4635 * ddg.c (create_ddg_dependence, add_deps_for_def,
4636 add_deps_for_use, create_ddg, add_edge_to_ddg): Likewise.
4637 * df.c (df_ref_unlink, df_ref_record, df_uses_record,
4638 df_reg_def_chain_create, df_reg_use_chain_create, df_analyze,
4639 df_insn_delete, df_refs_reg_replace, df_ref_reg_replace,
4640 df_insns_modify, df_pattern_emit_before, df_bb_reg_live_start_p,
4641 df_bb_reg_live_end_p, df_bb_regs_lives_compare,
4642 df_bb_single_def_use_insn_find, dataflow_set_a_op_b,
4643 dataflow_set_copy, hybrid_search, diagnostic.c,
4644 diagnostic_build_prefix, diagnostic_count_diagnostic): Likewise.
4645 * dojump.c (do_jump): Likewise.
4646 * dominance.c (calc_dfs_tree_nonrec, calc_dfs_tree,
4647 compute_dom_fast_query, calculate_dominance_info,
4648 free_dominance_info, get_immediate_dominator,
4649 set_immediate_dominator, get_dominated_by,
4650 redirect_immediate_dominators, nearest_common_dominator,
4651 dominated_by_p, verify_dominators, recount_dominator,
4652 iterate_fix_dominators, add_to_dominance_info,
4653 delete_from_dominance_info): Likewise.
4654 * dwarf2asm.c (size_of_encoded_value, eh_data_format_name,
4655 dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
4656 dw2_force_const_mem, dw2_asm_output_encoded_addr_rtx): Likewise.
4657 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes, reg_save,
4658 initial_return_save, stack_adjust_offset, dwarf2out_stack_adjust,
4659 flush_queued_reg_saves, dwarf2out_frame_debug_expr,
4660 dwarf2out_frame_debug, dw_cfi_oprnd1_desc, output_cfi,
4661 output_call_frame_info, output_loc_operands, build_cfa_loc,
4662 decl_ultimate_origin, AT_flag, AT_int, AT_unsigned, AT_string,
4663 AT_string_form, add_AT_specification, AT_ref, set_AT_ref_external,
4664 AT_loc, AT_loc_list, AT_addr, AT_lbl, add_child_die,
4665 splice_child_die, attr_checksum, same_dw_val_p,
4666 break_out_includes, build_abbrev_table, size_of_die, mark_dies,
4667 unmark_dies, value_format, output_loc_list, output_die,
4668 output_pubnames, output_aranges, base_type_die, is_base_type,
4669 modified_type_die, dbx_reg_number, multiple_reg_loc_descriptor,
4670 mem_loc_descriptor, loc_descriptor, loc_descriptor_from_tree_1,
4671 field_byte_offset, add_data_member_location_attribute,
4672 add_const_value_attribute, rtl_for_decl_location,
4673 add_location_or_const_value_attribute, add_byte_size_attribute,
4674 add_bit_offset_attribute, add_bit_size_attribute,
4675 add_abstract_origin_attribute, pop_decl_scope, scope_die_for,
4676 decl_start_label, gen_formal_parameter_die,
4677 gen_type_die_for_member, gen_subprogram_die, gen_label_die,
4678 gen_typedef_die, gen_type_die, gen_tagged_type_instantiation_die,
4679 force_decl_die, force_type_die, gen_decl_die,
4680 dwarf2out_imported_module_or_decl, prune_unused_types_prune,
4681 dwarf2out_finish): Likewise.
4682
faaaf610
AT
46832004-09-08 Andreas Tobler <toa@pop.agri.ch>
4684
4685 * Makefile.in (builtins.o): Depend on tree-mudflap.h.
4686 * builtins.c: Include tree-mudflap.h.
4687
45c8c47f
UB
46882004-09-08 Uros Bizjak <uros@kss-loka.si>
4689
4690 * config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
4691 force operand 0.0 into register in XFmode. Also do not force
4692 operand 0.0 into register if !TARGET_CMOVE.
4693 * config/i386/i386.md (*cmpfp_0): Delete. Remove comment.
667bbbbb 4694 (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf): New patterns to
45c8c47f
UB
4695 implement ftst x87 instruction.
4696 (*fp_jcc_7): New insn pattern. Change corresponding split
4697 pattern to handle "general_operand" instead of
4698 "nonimmediate_operand".
4699
70d5fb1c
BE
47002004-09-08 Ben Elliston <bje@au.ibm.com>
4701
4702 * doc/rtl.texi (Insns): Document NOTE_INSN_FUNCTION_BEG.
4703
4882ad24
FCE
47042004-09-07 Frank Ch. Eigler <fche@redhat.com>
4705
4706 * builtins.c (std_gimplify_va_arg_expr): Mark INDIRECT_REF nodes
4707 generated from standard va_arg expansion.
4708 * tree-mudflap.c (mx_xform_derefs_1): Omit instrumentation from
4709 marked nodes.
4710 (mf_varname_tree, mf_file_function_line_tree): Add some support
4711 for column numbers if compiled with USE_MAPPED_LOCATION.
4712
06f624ba
ZL
47132004-09-07 Ziemowit Laski <zlaski@apple.com>
4714
4715 * c-decl.c (groktypename_in_parm_context): Remove function.
4716 * c-tree.h (groktypename_in_parm_context): Remove prototype.
4717
6408ef33
ZL
47182004-09-07 Ziemowit Laski <zlaski@apple.com>
4719
4720 * Makefile.in (c-parse.o): Depend on $(C_COMMON_H).
4721 * c-parse.in: Include c-common.h instead of objc-act.h.
4722 (ivar_decl_list, ivar_decls, ivar_decl, ivars, ivar_declarator,
4723 myparms, myparm): Remove %type declarations.
4724 (methodtype, optparms, OBJC_TYPE_QUAL, objc_quals, objc_qual,
4725 objc_typename, objc_try_catch_stmt, optellipsis): Add %type
4726 declarations.
4727 (objc_inherit_code, objc_public_flag): Remove.
4728 (typespec_nonreserved_nonattr): Call
4729 objc_get_protocol_qualified_type() instead of get_static_reference()
4730 and get_protocol_reference().
4731 (stmt_nocomp): Call grokparm() on @catch parameter.
4732 (objcdef): Move semantic action to objc_finish_implementation().
4733 (classdef): Move semantic action to objc_start_class_interface(),
4734 objc_continue_interface(), objc_finish_interface(),
4735 objc_start_class_implementation(), objc_continue_implementation(),
4736 objc_start_category_interface() and
4737 objc_start_category_implementation().
4738 (protocoldef): Move semantic actions to objc_start_protocol() and
4739 objc_finish_interface().
4740 (ivar_decl_list): Remove nonterminal.
4741 (visibility_spec): Move semantic actions to objc_set_visibility().
4742 (ivar_decls): Remove assignment to $$.
4743 (ivar_decl): Rephrase in terms of component_decl; call
4744 objc_add_instance_variable().
4745 (ivars, ivar_declarator): Remove nonterminals.
4746 (opt_semi): New nonterminal.
4747 (methodtype): Remove semantic actions.
4748 (methoddef): Move semantic actions to objc_set_method_type(),
4749 objc_start_method_definition() and objc_finish_method_definition().
4750 (methodproto): Move semantic actions to objc_set_method_type() and
4751 objc_add_method_declaration().
4752 (methoddecl): Use objc_typename instead of typename; move semantic
4753 actions to objc_build_method_signature().
4754 (optarglist, myxdecls, mydecl, myparms, myparm): Remove nonterminals.
4755 (optparmlist): Express in terms of optparms and optellipsis.
4756 (optparms, optellipsis, objc_qual, objc_quals, objc_typename): New
4757 nonterminals.
4758 (keyworddecl): Use objc_typename instead of typename.
4759 (rid_to_yy): Mark RID_IN, RID_OUT, RID_INOUT, RID_BYCOPY, RID_BYREF
4760 and RID_ONEWAY as returning OBJC_TYPE_QUAL to yyparse().
4761
8662eb14
AM
47622004-09-08 Alan Modra <amodra@bigpond.net.au>
4763
4764 * doc/tm.texi (MD_UNWIND_SUPPORT): Document.
4765 (MD_FALLBACK_FRAME_STATE_FOR): Update.
4766 * unwind-dw2.c (MD_UNWIND_SUPPORT): #include if defined.
4767 (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
4768 (MD_FROB_UPDATE_CONTEXT): Remove default.
4769 (uw_update_context_1): Instead #ifdef invocation.
4770 * config/ia64/unwind-ia64.c (MD_UNWIND_SUPPORT): #include if defined.
4771 (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
4772 * config/alpha/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Don't undef.
4773 (MD_UNWIND_SUPPORT): Undefine this instead.
4774 * config/i386/gnu.h: Likewise.
4775 * config/alpha/linux-unwind.h: New file, macro converted to
4776 function, extracted from..
4777 * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): ..this.
4778 (MD_UNWIND_SUPPORT): Define.
4779 * config/alpha/vms-unwind.h, config/alpha/vms.h: Likewise.
4780 * config/i386/linux-unwind.h, config/i386/linux.h,
4781 config/i386/linux64.h: Likewise.
4782 * config/ia64/linux-unwind.h, config/ia64/linux.h: Likewise.
4783 MD_HANDLE_UNWABI too.
4784 * config/mips/linux-unwind.h, config/mips/linux.h: Likewise.
4785 * config/pa/linux-unwind.h, config/pa/pa32-linux.h: Likewise.
4786 * config/rs6000/darwin-unwind.h, config/rs6000/darwin.h: Likewise.
4787 * config/s390/linux-unwind.h, config/s390/linux.h: Likewise.
4788 * config/sparc/linux-unwind.h, config/sparc/linux.h,
4789 config/sparc/linux64.h: Likewise.
4790 * config/sh/linux-unwind.h, config/sh/linux.h: Likewise, but merge
4791 SH_FALLBACK_FRAME_FLOAT_STATE into sh_fallback_frame_state.
4792 * config/rs6000/linux-unwind.h, config/rs6000/linux.h,
4793 config/rs6000/linux64.h: Likewise. Split out get_sigcontext
4794 function. Use ARG_POINTER_REGNUM for 32-bit temp reg too.
4795
c4817ba6
JH
47962004-09-07 Jan Hubicka <jh@suse.cz>
4797
ec666d23
JH
4798 * cse.c (fold_rtx): Avoid building of
4799 (CONST (MINUS (CONST_INT) (SYMBOL_REF)))
4800
c4817ba6
JH
4801 * tree-ssa-pre.c (grand_bitmap_obstack): New.
4802 (value_insert_into_set_bitmap, bitmap_set_new): Use the obstack.
4803 (init_pre): Initialize obstack.
4804 (fini_pre): Free obstack.
4805
9f0df97a
DD
48062004-09-07 David Daney <ddaney@avtrex.com>
4807
4808 * config.gcc: Added support for --with-divide=[breaks|traps] for
4809 mips targets.
4810 * config/mips/mips.h (MASK_DIVIDE_BREAKS): New target_flags bit.
4811 (TARGET_DIVIDE_TRAPS): New macro.
4812 (TARGET_SWITCHES): Added -mdivide-traps and -mdivide-breaks.
4813 (OPTION_DEFAULT_SPECS): Added --with-divide= support.
4814 * config/mips/mips.c (mips_idiv_insns): Generate proper count on
4815 GENERATE_DIVIDE_TRAPS.
4816 (mips_output_division): Emit conditional trap if
4817 GENERATE_DIVIDE_TRAPS is set.
4818 * doc/install.texi: Document --with-divide.
4819 * doc/invoke.texi: Document -mdivide-traps and -mdivide-breaks.
4820
9beb1c84
CT
48212004-09-07 Caroline Tice <ctice@apple.com>
4822
4823 * cfgrtl.c (rtl_verify_flow_info_1): Add new edge flag,
4824 EDGE_CROSSING, to flags test case.
667bbbbb 4825
1905940f
JH
48262004-09-07 Jan Hubicka <jh@suse.cz>
4827
4828 * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Deal with '<'
4829 class too.
4830
341c100f
NS
48312004-09-07 Nathan Sidwell <nathan@codesourcery.com>
4832
4833 * cfganal.c (flow_depth_first_order_compute, dfs_enumerate_from,
4834 cfgbuild.c, inside_basic_block_p, control_flow_insn_p,
4835 make_label_edge, make_edges, find_basic_blocks_1): Use gcc_assert
4836 or gcc_unreachable.
4837 * cfg.c (clear_edges, initialize_bb_rbi, compact_blocks,
4838 remove_edge, alloc_aux_for_blocks, free_aux_for_blocks,
4839 alloc_aux_for_edges, free_aux_for_edges): Likewise.
4840 * cfgcleanup.c (try_forward_edges,
4841 merge_blocks_move_predecessor_nojumps,
4842 merge_blocks_move_successor_nojumps): Likewise.
4843 * cfgexpand.c (expand_gimple_cond_expr,
4844 expand_gimple_tailcall): Likewise.
4845 * cfghooks.c (duplicate_block): Likewise.
4846 * cfglayout.c (record_effective_endpoints,
4847 insn_locators_initialize, change_scope, fixup_reorder_chain,
4848 verify_insn_chain, fixup_fallthru_exit_predecessor,
4849 duplicate_insn_chain, cfg_layout_finalize): Likewise.
4850 * cfgloopanal.c (check_irred): Likewise.
4851 * cfgloop.c (superloop_at_depth, flow_loops_free,
4852 flow_loop_entry_edges_find, flow_loops_find,
4853 flow_loop_outside_edge_p, get_loop_body,
4854 get_loop_body_in_dom_order, get_loop_body_in_bfs_order,
4855 get_loop_exit_edges, num_loop_branches, cancel_loop,
4856 verify_loop_structure): Likewise.
4857 cfgloopmanip.c (find_path, remove_path, loop_delete_branch_edge,
4858 duplicate_loop_to_header_edge, create_preheader,
4859 create_loop_notes): Likewise.
4860 * cfgrtl.c (delete_insn, try_redirect_by_replacing_jump,
4861 edirect_branch_edge, force_nonfallthru_and_redirect,
4862 rtl_split_edge, insert_insn_on_edge, commit_one_edge_insertion,
4863 commit_edge_insertions, commit_edge_insertions_watch_calls,
4864 purge_dead_edges, cfg_layout_redirect_edge_and_branch,
4865 cfg_layout_redirect_edge_and_branch_force,
4866 cfg_layout_merge_blocks, rtl_flow_call_edges_add): Likewise.
4867 * cgraph.c (cgraph_node, cgraph_create_edge, cgraph_remove_edge,
4868 cgraph_redirect_edge_callee, cgraph_global_info, cgraph_rtl_info,
4869 cgraph_varpool_node): Likewise.
4870 * cgraphunit.c (cgraph_finalize_function,
4871 cgraph_finalize_compilation_unit, cgraph_mark_functions_to_output,
4872 cgraph_expand_function, cgraph_remove_unreachable_nodes,
4873 cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
4874 cgraph_mark_inline, cgraph_expand_all_functions,
4875 cgraph_build_static_cdtor): Likewise.
4876 * combine.c (do_SUBST, try_combine, subst, combine_simplify_rtx,
4877 simplify_logical, distribute_notes, insn_cuid): Likewise.
4878 * conflict.c (conflict_graph_add, print_conflict): Likewise.
4879 * coverage.c (rtl_coverage_counter_ref, tree_coverage_counter_ref,
4880 coverage_checksum_string): Likewise.
4881 * cse.c (make_new_qty, make_regs_eqv, insert, invalidate,
4882 hash_rtx, exp_equiv_p, cse_basic_block, count_reg_usage,
4883 cse_cc_succs, cse_condition_code_reg): Likewise.
4884 * cselib.c (entry_and_rtx_equal_p, remove_useless_values,
4885 rtx_equal_for_cselib_p, wrap_constant, cselib_hash_rtx,
4886 new_cselib_val, cselib_subst_to_values, cselib_invalidate_regno,
4887 cselib_record_set): Likewise.
4888
6b094f38
JH
48892004-09-07 Jan Hubicka <jh@suse.cz>
4890
4891 * tree-ssa-loop-ivopts.c (iv_value): Avoid invalid sharing on niter.
4892
5212068f
NS
48932004-09-07 Nathan Sidwell <nathan@codesourcery.com>
4894
4895 * builtins.c (fold_builtin_strchr): Use build_int_cst, not
4896 fold_convert.
4897 (fold_builtin_strpbrk): Likewise.
4898 * expr.c (array_ref_low_bound): Likewise.
4899 * tree-scalar-evolution.c (chrec_is_positive, add_to_evolution_1,
4900 interpret_rhs_modify_expr, number_of_iterations_in_loop): Likewise.
4901 * tree-sra.c (generate_element_zero): Likewise.
4902 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
4903 * tree-ssa-loop-ivopts.c (determine_biv_step, idx_find_step,
4904 add_old_iv_candidates, add_iv_candidates): Likewise.
4905 * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
4906
366de0ce
NS
49072004-09-07 Nathan Sidwell <nathan@codesourcery.com>
4908
4909 * c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable.
4910 * c-common.c (c_type_hash, c_common_nodes_and_builtins,
4911 c_expand_expr, boolean_increment, nonnull_check_p,
4912 check_function_arguments_recurse, fold_offsetof_1): Likewise.
4913 * c-cppbuiltin.c (define__GNUC__, builtin_define_stdint_macros,
4914 builtin_define_type_max): Likewise.
4915 * c-decl.c (bind, pop_scope, merge_decls, pushdecl_top_level,
4916 implicit_decl_warning, builtin_function, build_compound_literal,
4917 complete_array_type, grokdeclarator, get_parm_info,
4918 start_function, store_parm_decls_oldstyle,
4919 c_write_global_declarations): Likewise.
4920 * c-format.c (get_constant, decode_format_attr,
4921 maybe_read_dollar_number, get_flag_spec, check_format_arg,
4922 check_format_types, format_type_warning,
4923 find_char_info_specifier_index, init_dynamic_asm_fprintf_info,
4924 init_dynamic_diag_info, handle_format_attribute): Likewise.
667bbbbb 4925 * c-gimplify.c (push_context, pop_context, finish_bc_block):
366de0ce
NS
4926 * c-lex.c (c_lex_with_flags, lex_string): Likewise.
4927 * c-objc-common.c (c_tree_printer): Likewise.
4928 * c-pch.c (pch_init): Likewise.
4929 * c-pragma.c (maybe_apply_pragma_weak): Likewise.
4930 * c-pretty-print.c (pp_c_tree_decl_identifier): Likewise.
4931 * c-typeck.c (c_incomplete_type_error, composite_type,
4932 common_pointer_type, common_type, same_translation_unit_p,
4933 tagged_types_tu_compatible_p, finish_init, pop_init_level,
4934 set_designator, set_nonincremental_init_from_string,
4935 process_init_element, c_finish_if_stmt): Likewise.
4936 * caller-save.c (init_caller_save, save_call_clobbered_regs,
4937 insert_restore, insert_save, insert_one_insn): Likewise.
4938 * calls.c (emit_call_1, compute_argument_block_size,
4939 precompute_arguments, expand_call, emit_library_call_value_1,
4940 store_one_arg): Likewise.
4941
e1bbfc5c
NS
49422004-09-07 Nathan Sidwell <nathan@codesourcery.com>
4943
4944 * configure.ac (enable-checking): Add release option. Reorganize
4945 to avoid repetition.
4946 * configure: Rebuilt.
4947 * doc/install.texi (enable-checking): Amend documentation.
4948
e64dc647
L
49492004-09-06 H.J. Lu <hongjiu.lu@intel.com>
4950
4951 PR bootstrap/17313
4952 * Makefile.in (specs.ready): Depend on cc1$(exeext).
4953
d3a583b1
JW
49542004-09-06 James E Wilson <wilson@specifixinc.com>
4955
cfd8e493
JW
4956 * config/mips/mips.md (movsf_hardfloat, movdf_hardfloat_64bit,
4957 movdf_hardfloat_32bit): Split fG into two alternatives.
4958 (movv2sf_hardfloat_64bit): Split fYG into two alternatives.
4959
d3a583b1
JW
4960 * emit-rtl.c (try_split): Check INSN_P before may_trap_p call.
4961
ff8cea7e
EB
49622004-09-06 Eric Botcazou <ebotcazou@libertysurf.fr>
4963
4964 * final.c (output_in_slot): Delete.
4965 (final_scan_insn): Revert 2004-09-03 change.
4966 (output_asm_insn): Likewise.
4967 * config/sparc/sparc.c (output_return): Likewise.
4968 (output_sibcall): Likewise.
4969
8679c649
JH
49702004-09-06 Jan Hubicka <jh@suse.cz>
4971
4972 * loop.c (loop_dump_aux): Do not print RTL when not available.
4973 * tree-ssa-loop-ivopts.c (add_standard_iv_candidates): Do not use
4974 frontend specific type nodes.
4975 (produce_memory_decl_rtl): Break out from ...
4976 (prepare_decl_rtl): ... here. Handle ADDR_EXPR correctly.
4977 (get_computation_at): Avoid random tree sharing.
4978 (tree_ssa_iv_optimize): Verify tree sharing; dump loops.
4979
93f8bd9e
ZW
49802004-09-06 Zack Weinberg <zack@codesourcery.com>
4981
4982 * Makefile.in (rtl.o, bitmap.o): Correct dependencies, remove
4983 unnecessary commands.
4984
c802a859
ME
49852004-09-06 Mohan Embar <gnustuff@thisiscool.com>
4986
4987 * Makefile.in (rtl.o): Remove -DGENERATOR_FILE.
4988 (bitmap.o): Likewise.
4989
9f8628ba
PB
49902004-09-06 Paolo Bonzini <bonzini@gnu.org>
4991
4992 Unify the management of RTL and tree-level dump files.
4993
4994 * cfgexpand.c (tree_expand_cfg): Fix incorrect comment.
4995 Don't print function name to the dump file, the pass manager
4996 would do this for us. Add code from the top of
4997 rest_of_compilation, up to the initial RTL dump.
4998 * passes.c (rest_of_handle_jump): Call fixup_tail_calls and
4999 close the DFI_sibling dump file.
5000 (rest_of_compilation): Don't do that here. Remove code up to the
5001 initial RTL dump.
5002 (init_optimization_passes): Remove.
5003 (pass_rest_of_compilation): Change pass name to NULL.
5004 * toplev.c (lang_dependent_init): Do not use an empty dump file prefix.
5005 Do not call init_optimization_passes.
5006 * toplev.h (init_optimization_passes): Remove.
5007
5008 * graph.c (print_rtl_graph_with_bb, clean_graph_dump_file,
5009 finish_graph_dump_file): Remove SUFFIX parameter.
5010 * graph.h (print_rtl_graph_with_bb, clean_graph_dump_file,
5011 finish_graph_dump_file): Likewise.
5012
5013 * tree-pass.h (struct tree_opt_pass): Add `letter' field.
5014 * cfgexpand.c (pass_expand): Adjust.
5015 * gimple-low.c (pass_lower_cf, pass_remove_useless_vars): Adjust.
5016 * passes.c (pass_rest_of_compilation): Adjust.
5017 * predict.c (pass_profile): Adjust.
5018 * tree-alias-common.c (pass_build_pta, pass_del_pta): Adjust.
5019 * tree-cfg.c (pass_build_cfg, pass_remove_useless_stmts,
5020 pass_split_crit_edges, pass_warn_function_return): Adjust.
5021 * tree-complex.c (pass_lower_vector_ssa, pass_pre_expand): Adjust.
5022 * tree-dfa.c (pass_referenced_vars): Adjust.
5023 * tree-eh.c (pass_lower_eh): Adjust.
5024 * tree-if-conv.c (pass_build_ssa): Adjust.
5025 * tree-into-ssa.c (pass_build_ssa): Adjust.
5026 * tree-mudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
5027 * tree-nomudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
5028 * tree-nrv.c (pass_nrv): Adjust.
5029 * tree-optimize.c (pass_gimple, pass_all_optimizations,
5030 pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
5031 pass_init_datastructures): Adjust.
5032 * tree-outof-ssa.c (pass_del_ssa): Adjust.
5033 * tree-profile.c (pass_tree_profile): Adjust.
5034 * tree-sra.c (pass_sra): Adjust.
5035 * tree-ssa-alias.c (pass_may_alias): Adjust.
5036 * tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Adjust.
5037 * tree-ssa-copyrename.c (pass_rename_ssa_copies): Adjust.
5038 * tree-ssa-dce.c (pass_dce, pass_cd_dce): Adjust.
5039 * tree-ssa-dom.c (pass_dominator): Adjust.
5040 * tree-ssa-dse.c (pass_dse): Adjust.
5041 * tree-ssa-forwprop.c (pass_forwprop): Adjust.
5042 * tree-ssa-if-conv.c (pass_if_conversion): Adjust.
5043 * tree-ssa-loop-ch.c (pass_ch): Adjust.
5044 * tree-ssa-loop.c (pass_loop, pass_loop_init, pass_lim,
5045 pass_loop_done, pass_complete_unroll, pass_iv_canon,
5046 pass_iv_optimize, pass_vectorize): Adjust.
5047 * tree-ssa-phiopt.c (pass_phiopt): Adjust.
5048 * tree-ssa-pre.c (pass_pre, pass_fre): Adjust.
5049 * tree-ssa.c (pass_redundant_phi, pass_early_warn_uninitialized,
5050 pass_late_warn_uninnitialized): Adjust.
5051 * tree-tailcall.c (pass_tail_recursion, pass_tail_calls): Adjust.
5052
5053 * Makefile.in (tree-dump.o): Add new dependencies.
5054 * cgraph.c (cgraph_remove_node): TDF_all -> TDF_tree_all.
5055 * cgraphunit.c (cgraph_preserve_function_body_p, cgraph_optimize):
5056 Likewise.
5057 * toplev.c (dump_file_name): New.
5058 * tree-dump.c (dump_enable_all): Add LETTER parameter.
5059 (struct dump_file_info): Add NUM and LETTER fields.
5060 (dump_files): Adjust and add RTL dump files.
5061 (dump_register): Add NUM and LETTER fields.
5062 (get_dump_file_name, dump_initialized_p, enable_rtl_dump_file): New.
5063 (dump_begin): Use get_dump_file_name.
5064 (dump_switch_p_1): Adjust call to dump_enable_all.
5065 * tree-dump.h (dump_register): Adjust prototype.
5066 * tree-optimize.c (register_one_dump_file): Take dump file index.
5067 Support flags for RTL dumps.
5068 (register_dump_files): Fill in NUM field of struct dump_file_info.
5069 Track properties both when the gate is executed and when it is not.
5070 (execute_todo): Dump RTL. Add PROPERTIES parameter.
5071 (execute_one_pass): Pass properties to execute_todo. Handle VCG
5072 dumps of RTL.
5073 * tree-pass.h (dump_file_name): New.
5074 * tree.h (TDF_TREE, TDF_RTL, get_dump_file_name, dump_initialized_p):
5075 New.
5076
5077 * Makefile.in (passes.o): Add new dependencies.
5078 * passes.c (struct dump_file_info, enum dump_file_index,
5079 dump_file_tbl, init_optimization_passes): Remove.
5080 (open_dump_file, close_dump_file): Use tree-dumping infrastructure.
5081 (rest_of_handle_new_regalloc, rest_of_handle_old_regalloc): Use
5082 dump_enabled_p.
5083 (finish_optimization_passes): Update finish_graph_dump_file loop.
5084 (enable_rtl_dump_file): Remove.
5085 * tree-dump.c (dump_files): Adjust and add RTL dump files.
5086 (enable_rtl_dump_file): Add here.
5087 * tree.h (enum tree_dump_index): Add RTL dump file indices.
5088 * doc/invoke.texi (Debugging options): Document new RTL debugging
5089 options. Update.
5090
8c27b7d4
KH
50912004-09-05 Kazu Hirata <kazu@cs.umass.edu>
5092
5093 * c-common.c, c-decl.c, combine.c, defaults.h, fold-const.c,
5094 gimplify.c, gthr-nks.h, hooks.c, lambda-code.c, lambda-mat.c,
5095 stor-layout.c, target.h, tree-cfg.c, tree-chrec.c,
5096 tree-if-conv.c, tree-inline.c, tree-into-ssa.c,
5097 tree-mudflap.c, tree-optimize.c, tree-scalar-evolution.c,
5098 tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dce.c,
5099 tree-ssa-pre.c, tree-vectorizer.c, tree-vectorizer.h, tree.h,
5100 vec.h: Fix comment formatting.
5101
2a7e31df
KH
51022004-09-05 Kazu Hirata <kazu@cs.umass.edu>
5103
5104 * c-common.c, cfgexpand.c, cgraphunit.c, defaults.h,
5105 et-forest.c, expr.c, gimplify.c, global.c, gthr-lynx.h,
5106 hard-reg-set.h, modulo-sched.c, optabs.c, postreload-gcse.c,
5107 tree-data-ref.c, tree-flow.h, tree-if-conv.c, tree-inline.c,
5108 tree-sra.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
5109 tree-ssa-loop-niter.c, tree-ssa-operands.c,
5110 tree-ssa-operands.h, tree-ssa-propagate.c,
5111 tree-ssa-propagate.h, tree-ssa-threadupdate.c, value-prof.c,
5112 vec.c, vec.h: Fix comment typos. Follow spelling conventions.
5113
2addf926
DN
51142004-09-05 Diego Novillo <dnovillo@redhat.com>
5115
5116 * tree-if-conv.c (gate_tree_if_conversion): Enable only if the
5117 vectorizer is enabled.
5118
61b5f210
AJ
51192004-09-05 Andreas Jaeger <aj@suse.de>
5120
5121 * tree-if-conv.c: Spell check comments and clean up whitespace.
5122
8b11a64c
ZD
51232004-09-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5124
5125 * tree-ssa-loop-ivopts.c: New file.
5126 * Makefile.in (tree-ssa-loop-ivopts.c): Add.
5127 * cfgloop.h (target_avail_regs, target_res_regs, target_small_cost,
5128 target_pres_cost, target_spill_cost): Declare.
5129 * cfgloopanal.c (avail_regs, res_regs, small_cost, pres_cost,
5130 spill_cost): Renamed to ...
5131 (target_avail_regs, target_res_regs, target_small_cost,
5132 target_pres_cost, target_spill_cost): ... and exported.
5133 (init_set_costs, global_cost_for_size): Work with renamed variables.
5134 * common.opt (flag_ivopts): New flag.
5135 * expr.c (expand_expr_real_1): Handle SSA_NAME case. Handle
5136 REF_ORIGINAL.
5137 * gimplify.c (struct gimplify_ctx): Add into_ssa field.
5138 (internal_get_tmp_var, gimplify_modify_expr, gimplify_expr): Support
5139 generating SSA form.
5140 (force_gimple_operand): New function.
5141 * timevar.def (TV_TREE_LOOP_IVOPTS): New timevar.
5142 * tree-cfg.c (stmt_bsi): New function.
5143 * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
5144 PARAM_IV_MAX_CONSIDERED_USES): New.
5145 * tree-flow.h (stmt_bsi, tree_ssa_iv_optimize, split_loop_exit_edge,
5146 bsi_insert_on_edge_immediate_loop. standard_iv_increment_position,
5147 ip_end_pos, ip_normal_pos, force_gimple_operand): Declare.
5148 * tree-gimple.c (is_gimple_formal_tmp_var): Accept ssa names.
5149 * tree-nested.c (build_addr): Export.
5150 * tree-optimize.c (init_tree_optimization_passes): Add
5151 pass_iv_optimize.
5152 * tree-pass.h (pass_iv_optimize): Declare.
5153 * tree-ssa-loop-im.c (for_each_index): Handle REALPART_EXPR and
5154 IMAGPART_EXPR.
5155 * tree-ssa-loop-manip.c (create_iv): Force the base to be acceptable
5156 as a phi node argument.
5157 (split_loop_exit_edge, bsi_insert_on_edge_immediate_loop,
5158 ip_end_pos, ip_normal_pos, standard_iv_increment_position): New
5159 functions.
5160 * tree-ssa-loop-niter.c (zero_p, unsigned_type_for): Export.
5161 * tree-ssa-loop.c (tree_ssa_loop_ivopts, gate_tree_ssa_loop_ivopts,
5162 pass_iv_optimize): New pass.
5163 * tree-ssa-operands.c (get_indirect_ref_operands): Handle REF_ORIGINAL.
5164 * tree-ssanames.c (release_ssa_name): Allow calling with var = NULL.
5165 * tree.c (build_int_cst_type, cst_and_fits_in_hwi): New functions.
5166 * tree.h (REF_ORIGINAL): New macro.
5167 (build_int_cst_type, unsigned_type_for, zero_p,
5168 cst_and_fits_in_hwi, build_addr): Declare.
5169 * doc/invoke.texi (-fivopts): Document.
5170 (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
5171 PARAM_IV_MAX_CONSIDERED_USES): Document.
5172 * doc/passes.texi: Document induction variable optimizations pass.
5173
254986c7
KG
51742004-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5175
5176 * builtin-attrs.def (ATTR_NOTHROW_SENTINEL_1): New.
5177 * builtins.def (BUILT_IN_EXECLE): Set ATTR_NOTHROW_SENTINEL_1.
5178 * c-common.c (c_common_attribute_table): Accept parameters to
5179 sentinel attribute.
5180 (check_function_sentinel, handle_sentinel_attribute): Likewise.
5181 * doc/extend.texi: Update accordingly.
5182
3d091dac
KG
51832004-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5184
5185 * builtin-attrs.def (ATTR_SENTINEL, ATTR_SENTINEL_NOTHROW_LIST):
5186 New.
5187 * builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP): Add `sentinel'
5188 attribute.
5189 * c-common.c (handle_sentinel_attribute, check_function_sentinel):
5190 New functions.
5191 (c_common_attribute_table): Add `sentinel' attribute.
5192 (check_function_arguments): Handle `sentinel' attribute.
5193 * doc/extend.texi: Document `sentinel' attribute.
8f1529e6 5194
44269c40 51952004-09-04 H.J. Lu <hongjiu.lu@intel.com>
a60749f5 5196
3d091dac
KG
5197 * configure: Regenerated.
5198
44269c40
KG
51992004-09-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5200
875803a0
RK
5201 * gimplify.c (internal_get_tmp_var): Remove unused var CLASS.
5202
c51c248f
RK
5203 * tree.c (save_expr): No longer TREE_READONLY.
5204
8d168c24
JH
52052004-09-04 Jan Hubicka <jh@suse.cz>
5206
5207 * passes.c (rest_of_clean_state): Fix merge conflict made during
5208 commiting the patch.
5209
0a9aeefd
JH
52102004-09-04 Jan Hubicka <jh@suse.cz>
5211
5212 * passes.c (rest_of_clean_state): Decompose the instruction stream.
5213
273a2526
RS
52142004-09-04 Richard Sandiford <rsandifo@redhat.com>
5215
5216 * doc/md.texi (shift patterns): New anchor. Add reference to
5217 TARGET_SHIFT_TRUNCATION_MASK.
5218 * doc/tm.texi (TARGET_SHIFT_TRUNCATION_MASK): Document.
5219 * target.h (shift_truncation_mask): New target hook.
5220 * targhook.h (default_shift_truncation_mask): Declare.
5221 * targhook.c (default_shift_truncation_mask): Define.
5222 * target-def.h (TARGET_SHIFT_TRUNCATION_MASK): Define.
5223 (TARGET_INITIALIZER): Include it.
5224 * simplify-rtx.c (simplify_binary_operation): Combine ASHIFT, ASHIFTRT
5225 and LSHIFTRT cases. Truncate arg1 if SHIFT_COUNT_TRUNCATED, otherwise
5226 reject all out-of-range values. Fix sign-extension code for modes
5227 whose width is smaller than HOST_BITS_PER_WIDE_INT.
5228 * optabs.c (simplify_expand_binop, force_expand_binop): New functions.
5229 (expand_superword_shift, expand_subword_shift): Likewise.
5230 (expand_doubleword_shift_condmove, expand_doubleword_shift): Likewise.
5231 (expand_binop): Use them to implement double-word shifts.
5232 * config/arm/arm.c (arm_shift_truncation_mask): New function.
5233 (TARGET_SHIFT_TRUNCATION_MASK): Define.
5234
caf29de7
JH
52352004-09-04 Jan Hubicka <jh@suse.cz>
5236
5237 * tree.c (iterate_hash_expr): Optimize, avoid use of iterative_hash_object.
5238 (mix): New macro copied from hashtab.c
5239 (iterative_hash_hashval_t, iterative_hash_pointer,
5240 iterative_hash_host_wide_int): New functions based on hashtab.c
5241 implementation.
5242
e83adf94
RS
52432004-09-04 Richard Sandiford <rsandifo@redhat.com>
5244
5245 * config/mips/mips.md (mask): New mode attribute.
5246 (zero_extendsidi2): Add memory alternative.
5247 (*zero_extendsidi2_mem): Delete.
5248 (zero_extend[qh]i[sd]i2): Redefine using :GPR and :SHORT. Use
5249 memory_operand in the TARGET_MIPS16 check.
5250 (*zero_extend[qh]i[sd]i2{,_mips16}): Name previously unnamed patterns.
5251 Redefine using :GPR and :SHORT.
5252 (zero_extendqihi2): Use memory_operand in the TARGET_MIPS16 check.
5253
edeacc14
UB
52542004-09-04 Uros Bizjak <uros@kss-loka.si>
5255
5256 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_RINT{,F,L}
5257 using rint_optab.
5258 (expand_builtin): Expand BUILT_IN_RINT{,F,L} using
5259 expand_builtin_mathfn.
5260 * genopinit.c (optabs): Rename trunc_optab to btrunc_optab. Use
5261 btrunc?f patterns for btrunc_optab. Implement rint_optab using
5262 rint?f patterns.
5263 * optabs.c (init_optabs): Initialize rint_optab.
5264 * optabs.h (enum optab_index): Rename OTI_trunc to OTI_btrunc.
5265 Add new OTI_rint.
5266 (btrunc_optab): Rename macro from trunc_optab.
5267 (rint_optab): Define corresponding macro.
5268
5269 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT_FLOOR,
5270 UNSPEC_FRNDINT_CEIL, UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM.
5271
5272 * config/i386/i386-protos.h (emit_i387_cw_initialization):
5273 Change prototype. Add new int parameter.
5274 * config/i386/i386.c (emit_i387_cw_initialization):
5275 Handle new rounding modes.
5276
5277 * config/i386/i386.h (enum fp_cw_mode): Delete.
c9996000 5278 (MODE_NEEDED): Handle new rounding modes.
edeacc14
UB
5279 (EMIT_MODE_SET): Change condition to handle new rounding modes.
5280
5281 * config/i386/i386.md (UNSPEC_FRNDINT_FLOOR, UNSPEC_FRNDINT_CEIL,
5282 UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM): New unspecs to
5283 represent different rounding modes of frndint insn.
5284 (type): Add frndint type.
5285 (i387, length, memory): Handle this type.
5286 (i387_cw): New attribute definition.
5287 (*fix_truncdi_1, fix_truncdi_nomemory, fix_truncdi_memory,
5288 *fix_truncsi_1, fix_truncsi_nomemory, fix_truncsi_memory,
5289 *fix_trunchi_1, fix_trunchi_nomemory, fix_trunchi_memory):
5290 Add "i387_cw" attribute defined to "trunc".
5291 (x86_fnstcw_1): Remove comment.
5292 (*frndintxf2): Rename insn definition to frndintxf2. Move
5293 insn definition near rint?f2 expanders.
5294 (rintdf2, rintsf2, rintxf2): New expanders to implement rint,
5295 rintf and rintl built-ins as inline x87 intrinsics.
5296 (frndintxf2_floor): New pattern to implement floor rounding
5297 mode with frndint x87 instruction.
5298 (floordf2, floorsf2, floorxf2): New expanders to implement floor,
5299 floorf and floorl built-ins as inline x87 intrinsics.
5300 (frndintxf2_ceil): New pattern to implement ceil rounding
5301 mode with frndint x87 instruction.
5302 (ceildf2, ceilsf2, ceilxf2): New expanders to implement ceil,
5303 ceilf and ceill built-ins as inline x87 intrinsics.
5304 (frndintxf2_trunc): New pattern to implement trunc rounding
5305 mode with frndint x87 instruction.
5306 (btruncdf2, btruncsf2, btruncxf2): New expanders to implement trunc,
5307 truncf and truncl built-ins as inline x87 intrinsics.
5308 (frndintxf2_mask_pm): New pattern to implement rounding
5309 mode with exceptions with frndint x87 instruction.
5310 (nearbyintdf2, nearbyintsf2, nearbyintxf2): New expanders to
5311 implement nearbyint, nearbyintf and nearbyintl built-ins as
5312 inline x87 intrinsics.
5313
183f019b
RS
53142004-09-04 Richard Sandiford <rsandifo@redhat.com>
5315
5316 * config/mips/mips.md (SHORT): New mode macro.
5317 (size): New mode attribute.
5318 (extend[qh]i[sd]i2): Redefine using :GPR and :SHORT.
5319 (*extend[qh]i[sd]i2): New define_insn_and_split, combining previous
5320 *extend[qh]i[sd]i2 and *extend[qh]i[sd]i2_mem patterns. Use only if
5321 !ISA_HAS_SEB_SEH.
5322 (*extend[qh]i[sd]i2_se[bh]): New pattern, combining previous
5323 *extend[qh]isi2_hw patterns and extending them to di.
5324 (extendqihi2): Implement as define_insn_and_split that produces
5325 extendqisi2 after reload.
5326
40923b20
DP
53272004-09-03 Devang Patel <dpatel@apple.com>
5328
5329 * Makefile.in (OBJS-common): Add tree-if-conv.o
5330 (tree-if-conv.o): New rule.
5331 * cfgloop.c (flow_loop_exit_edges_find): Set EDGE_LOOP_EXIT flag.
5332 (get_loop_body_in_bfs_order): New.
5333 * cfgloop.h (get_loop_body_in_bfs_order): New.
5334 * tree-flow.h (enum move_pos): Move here from ..
5335 * tree-ssa-loop-im.c (enum move_pos): here.
5336 (movement_possibility): Make externally visible.
5337 * tree-optimize.c (init_tree_optimization_passes): New entry for
5338 if conversion pass.
5339 * tree-pass.h (pass_if_conversion): New.
5340 * tree-ssa-operands.c (get_expr_operands): Handle COND_EXPR.
5341 * tree-if-conv.c: New file.
5342 * doc/passes.texi: Document tree if-conversion pass.
c9996000 5343 * doc/tree-ssa.texi: Same.
40923b20 5344
443728bb
L
53452004-09-03 H.J. Lu <hongjiu.lu@intel.com>
5346
5347 PR target/14925:
5348 Makefile.in (LIB2ADDEHSTATIC): New.
5349 (LIB2ADDEHSHARED): New.
5350 (LIBUNWIND): New.
5351 (LIBUNWINDDEP): New.
5352 (SHLIBUNWIND_LINK): New.
5353 (SHLIBUNWIND_INSTALL): New.
5354 (libgcc.mk): Pass LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND,
5355 LIBUNWINDDEP, SHLIBUNWIND_LINK and SHLIBUNWIND_INSTALL.
5356 (clean): Remove libunwind*
5357 (stage1-start): Remove and copy stage1/libunwind*.
5358 (stage2-start): Remove and copy stage2/libunwind*.
5359 (stage3-start): Remove and copy stage3/libunwind*.
5360 (stage4-start): Remove and copy stage4/libunwind*.
5361 (stageprofile-start): Remove and copy stageprofile/libunwind*.
5362 (stagefeedback-start): Remove and copy stagefeedback/libunwind*.
5363
5364 * config.gcc (ia64*-*-linux*): Always add t-libunwind to
5365 tmake_file. Add t-libunwind-elf and ia64/t-glibc-libunwind to
5366 tmake_file if --with-system-libunwind isn't used.
5367
5368 * config/ia64/t-glibc-libunwind: New file.
5369 * config/t-libunwind-elf: Likewise.
5370 * unwind-compat.c: Likewise.
5371 * unwind-compat.h: Likewise.
5372 * unwind-dw2-fde-compat.c: Likewise.
5373
5374 * config/ia64/t-glibc (LIB2ADDEH): Updated.
5375 * config/ia64/t-hpux (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
5376
5377 * config/ia64/unwind-ia64.c: Include "unwind-compat.h". Define
5378 aliases if needed.
5379 * unwind-dw2-fde-glibc.c: Likewise.
5380 * unwind-dw2.c: Likewise.
5381
5382 * config/t-libunwind (LIB2ADDEH): Updated.
5383 (LIB2ADDEHSTATIC): New.
5384 (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
5385 (TARGET_LIBGCC2_CFLAGS): Set to -DUSE_GAS_SYMVER.
5386
5387 * configure.ac: Change --enable-libunwind-exceptions to
5388 --with-system-libunwind. Don't define USE_LIBUNWIND_EXCEPTIONS.
5389 * configure: Regenerated.
5390 * config.in: Updated.
5391
5392 * doc/install.texi (ia64-*-linux): Require libunwind 0.98 or
5393 above and mention --with-system-libunwind.
5394 (ia64-*-hpux*): Mention --enable-libunwind-exceptions is
5395 removed in gcc 3.4.3 and later.
5396
5397 * gcc.c (init_spec): Add -lunwind to -lgcc_s if
5398 USE_LIBUNWIND_EXCEPTIONS is defined.
5399
5400 * mklibgcc.in: Support libunwind.
5401
d20bf446
L
54022004-09-03 H.J. Lu <hongjiu.lu@intel.com>
5403
5404 * config/i386/i386.c (x86_branch_hints): Remove m_PENT4 and
5405 m_NOCONA.
5406
1f6d3a08
RH
54072004-09-03 Richard Henderson <rth@redhat.com>
5408
93f8bd9e
ZW
5409 PR middle-end/9997
5410 * cfgexpand.c (LOCAL_ALIGNMENT): Provide default.
5411 (STACK_ALIGNMENT_NEEDED, FRAME_GROWS_DOWNWARD): Likewise.
5412 (struct stack_var, EOC, stack_vars, stack_vars_alloc, stack_vars_num,
5413 stack_vars_sorted, stack_vars_conflict, stack_vars_conflict_alloc,
5414 frame_phase, get_decl_align_unit, add_stack_var, triangular_index,
5415 resize_stack_vars_conflict, add_stack_var_conflict,
5416 stack_var_conflict_p, add_alias_set_conflicts, stack_var_size_cmp,
5417 union_stack_vars, partition_stack_vars, dump_stack_var_partition,
5418 expand_one_stack_var_at, expand_stack_vars, expand_one_stack_var,
1f6d3a08
RH
5419 expand_one_static_var, expand_one_hard_reg_var,
5420 expand_one_register_var, expand_one_error_var, defer_stack_allocation,
5421 expand_one_var, expand_used_vars_for_block, clear_tree_used): New.
93f8bd9e 5422 (expand_used_vars): Rewrite.
1f6d3a08
RH
5423 * Makefile.in (cfgexpand.o): Update dependencies.
5424
80d8221e
JH
54252004-09-04 Jan Hubicka <jh@suse.cz>
5426
5427 * cfg.c (free_edge): Use ggc_free.
5428 (expunge_block): Use ggc_free.
5429 * passes.c (rest_of_clean_state): Free after compilation.
5430 * tree-ssa.c (delete_tree_ssa): Free annotations; call release_defs
5431 * tree-ssanames.c (release_defs): Ignore non-SSA_NAME arguments.
5432
bb1058e4
JW
54332004-09-03 James E Wilson <wilson@specifixinc.com>
5434
5435 * tree-ssa-alias.c (may_be_aliased): Move TREE_STATIC check after
5436 DECL_EXTERNAL check.
5437
ca83de6b
EB
54382004-09-03 Eric Botcazou <ebotcazou@libertysurf.fr>
5439
5440 * final.c (output_in_slot): New global variable.
5441 (final_scan_insn): Add new state '2' to the 'nopeepholes' parameter.
5442 Pass 2 as 'nopeepholes' to self for insns in a SEQUENCE. Set
5443 'output_in_slot' before invoking output_asm_insn.
5444 (output_asm_insn): Add a space after the tab if 'output_in_slot'
5445 is set.
5446 * config/sparc/sparc.c (output_return): Pass 2 as 'nopeepholes' to
5447 final_scan_insn.
5448 (output_sibcall): Likewise.
5449
1e3e17d3
JH
54502004-09-03 Jan Hubicka <jh@suse.cz>
5451
5452 * tree-ssa-operands.c (fini_ssa_operands): ggc_free unused arrays.
5453 * tree-ssanames (init_ssanames): Likewise.
5454
c41e5f27
ZL
54552004-09-03 Ziemowit Laski <zlaski@apple.com>
5456
5457 * stub-objc.c (objc_is_id, objc_declare_alias, objc_declare_class,
5458 objc_declare_protocols, objc_start_protocol,
5459 objc_start_class_interface, objc_start_category_interface,
5460 objc_continue_interface, objc_finish_interface,
5461 objc_add_instance_variable, objc_set_visibility, objc_set_method_type,
5462 objc_start_class_implementation, objc_start_category_implementation,
5463 objc_continue_implementation, objc_finish_implementation,
5464 objc_add_method_declaration, objc_start_method_definition,
5465 objc_finish_method_definition, objc_build_keyword_decl,
5466 objc_build_method_signature, objc_build_encode_expr,
5467 objc_build_protocol_expr, objc_build_selector_expr,
5468 objc_build_message_expr, objc_build_string_object,
5469 objc_get_class_reference, objc_get_protocol_qualified_type,
5470 objc_static_init_needed_p, objc_generate_static_init_call): New stubs.
5471
b30d77c4
JW
54722004-09-03 James E Wilson <wilson@specifixinc.com>
5473
5474 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips3d.
5475
5476 * config/mips/generic.md (generic_frecip_fsqrt_step): New.
5477 * config/mips/mips-ps-3d.md (mips_rsqrt1_<fmt>): Use frsqrt1 type.
5478 (mips_rsqrt2_<fmt>): Use frsqrt2 type.
5479 (mips_recip1_<fmt>): Use frdiv1 type.
5480 (mips_recip2_<fmt>): Use frdiv2 type.
5481 * config/mips/mips.md (type): Add frdiv1, frdiv2, frsqrt1, frsqrt2.
5482 * config/mips/sb1.md (ir_sb1_fpu_2pipes, ir_sb1_fpu_1pipe): Add frdiv1
5483 and frsqrt1.
5484 (ir_sb1_fpu_step2_2pipes, ir_sb1_fpu_step2_1pipe): New.
5485
87cda9d6
DJ
54862004-09-03 Daniel Jacobowitz <dan@debian.org>
5487
5488 * reload.c (find_reloads): Swap operand_loc pointers for
5489 find_dummy_reload if we have swapped two operands.
5490
f671762a
HPN
54912004-09-03 Hans-Peter Nilsson <hp@axis.com>
5492
5493 * config/cris/cris.h (ASM_OUTPUT_CASE_END): Use prev_nonnote_insn
5494 to get the tablejump-insn before the jump-table label.
5495
a45bcfb2
ZL
54962004-09-03 Ziemowit Laski <zlaski@apple.com>
5497
5498 * c-common.h (objc_is_id, objc_declare_alias, objc_declare_class,
5499 objc_declare_protocols, objc_build_message_expr,
5500 objc_finish_message_expr, objc_build_selector_expr,
5501 objc_build_protocol_expr, objc_build_encode_expr,
5502 objc_build_string_object, objc_get_protocol_qualified_type,
5503 objc_get_class_reference, objc_get_class_ivars,
5504 objc_start_class_interface, objc_start_category_interface,
5505 objc_start_protocol, objc_continue_interface, objc_finish_interface,
5506 objc_start_class_implementation, objc_start_category_implementation,
5507 objc_continue_implementation, objc_finish_implementation,
5508 objc_set_visibility, objc_set_method_type, objc_build_method_signature,
5509 objc_add_method_declaration, objc_start_method_definition,
5510 objc_finish_method_definition, objc_add_instance_variable,
5511 objc_build_keyword_decl, objc_build_throw_stmt, objc_begin_try_stmt,
5512 objc_finish_try_stmt, objc_begin_catch_clause,
5513 objc_finish_catch_clause, objc_build_finally_clause,
5514 objc_build_synchronized, objc_static_init_needed_p,
5515 objc_generate_static_init_call): New prototypes.
5516
9dec91d4
SE
55172004-09-03 Steve Ellcey <sje@cup.hp.com>
5518
5519 * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL even if there
5520 is only one reg.
5521 (ia64_function_value): Ditto.
5522
61fec9ff
JB
55232004-09-03 Jan Beulich <jbeulich@novell.com>
5524
5525 * config.gcc: Resurrect NetWare as a target. Handle special case of
5526 Novell linker to be used (specified through --with-ld=) and threading
5527 model of either Posix (default) or NKS.
5528 * config/i386/i386.c (ix86_return_pops_args): Conditionalize popping
5529 of incoming hidden argument on KEEP_AGGREGATE_RETURN_POINTER.
5530 * config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): New.
5531 * config/i386/netware.c, config/i386/netware.h: New.
5532 * config/i386/nwld.c, config/i386/nwld.h: New.
5533 * config/i386/netware-crt0.c: New.
5534 * config/i386/netware-libgcc.c: New.
5535 * config/i386/netware-libgcc.def: New.
5536 * config/i386/netware-libgcc.exp: New.
5537 * config/i386/t-netware, config/i386/t-nwld: New.
5538 * gthr-nks.h: New.
5539 * doc/install.texi: Document NKS threading model.
5540
467cecf3
JB
55412004-09-03 Jan Beulich <jbeulich@novell.com>
5542
5543 PR c/7054
5544 * defaults.h (TARGET_DEFAULT_PACK_STRUCT): Provide default.
5545 * tree.h (initial_max_fld_align): Declare
5546 * stor-layout.c (initial_max_fld_align): Define and initialize.
5547 (maximum_field_alignment): Initialize to the same value.
5548 * common.opt: Add -fpack-struct= variant of switch.
5549 * opts.c: Handle -fpack-struct= variant of switch.
5550 * c-pragma.c: Change #pragma pack() handling so that it becomes
5551 compatible to other compilers: accept individual 'push' argument,
5552 make final pop restore (command line) default, correct interaction
5553 of push/pop and sole specification of a new alignment (so that the
5554 sequence #pragma pack(push) - #pragma pack(<n>) becomes identical
5555 to #pragma pack(push, <n>).
5556 * doc/extend.texi: New node "Structure-Packing Pragmas" under
5557 "Pragmas", describing #pragma pack.
5558 * doc/invoke.texi: Document -fpack-struct=<n> variant of switch.
5559 * doc/tm.texi: Adjust description for HANDLE_PRAGMA_PACK_PUSH_POP.
5560 Document new TARGET_DEFAULT_PACK_STRUCT.
5561
90300b8c
DP
55622004-09-03 Devang Patel <dpatel@apple.com>
5563
5564 * dwarf2out.c (gen_field_die). Equate decl number to die.
c9996000 5565
d6df6ae2
VM
55662004-09-03 Vladimir Makarov <vmakarov@redhat.com>
5567
5568 PR target/15832
5569 * global.c (modify_reg_pav): New function.
5570 (make_accurate_live_analysis): Call the new function. Move pavin
5571 modification by earlyclobber set into the new function.
5572
25c99d8f
AS
55732004-09-03 Andreas Schwab <schwab@suse.de>
5574
5575 * config/m68k/m68k.c (output_andsi3): Use -1 instead of
5576 (HOST_WIDE_INT)0xffffffff since CONST_INT value are always sign
5577 extended.
5578
7f148c2f
JB
55792004-09-02 Jan Beulich <jbeulich@novell.com>
5580
5581 * Makefile.in (LIB2ADDEHDEP): Add unwind.h and unwind-pe.h.
5582 * mklibgcc.in (libgcc_dep): New, covering general dependencies, but
5583 not unwind code specific ones.
5584 (libgcc2_c_dep): Replace general dependencies with use of libgcc_dep.
5585 Remove unwind code specific dependencies.
5586 (libgcov_c_dep): Replace general dependencies with use of libgcc_dep.
5587 Remove gbl-ctors.h.
5588 Add libgcc_dep to output generated for LIB2ADD, LIB2ADDEH, and
5589 LIB2ADD_ST. Add LIB2ADDEHDEP to output generated for LIB2ADDEH.
5590 * tsystem.h: Declare memcpy and memset when inhibit_libc.
5591
9e42ab3e 55922004-09-02 Roman Zippel <zippel@linux-m68k.org>
c9996000 5593
9e42ab3e
RZ
5594 * combine.c (try_combine): Delay modifying of insns which cannot
5595 be easily undone.
5596
1b08d87d
DB
55972004-09-02 Daniel Berlin <dberlin@dberlin.org>
5598
5599 * gcc/common.opt: Rename ivcanon to tree-loop-ivcanon, tree-lim to
5600 tree-loop-im.
5601 * gcc/tree-ssa-loop.c: Ditto
5602 * gcc/tree-ssa-loop-ivcanon.c: Ditto
5603 * gcc/doc/invoke.texi: Ditto.
5604
d4e43dff
ZL
56052004-09-02 Ziemowit Laski <zlaski@apple.com>
5606
5607 * c-decl.c (store_parm_decls_newstyle): Make static.
5608 (store_parm_decls_from): New function.
5609 * c-tree.h (store_parm_decls_newstyle): Remove prototype.
5610 (store_parm_decls_from): New prototype.
5611
cd7d9ca4
DE
56122004-09-02 David Edelsohn <edelsohn@gnu.org>
5613
5614 * config/rs6000/rs6000.c (expand_block_move): Use SImode and
5615 HImode with STRICT_ALIGNMENT.
5616
40a1c5cb
MM
56172004-09-02 Mark Mitchell <mark@codesourcery.com>
5618
5619 * config/arm/bpabi.h (TARGET_BPABI_CPP_BUILTINS): Define.
5620 (TARGET_OS_CPP_BUILTINS): Likewise.
5621 * config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Include
5622 TARGET_BPABI_CPP_BUILTINS.
5623
b54567e2 56242004-09-02 Roman Zippel <zippel@linux-m68k.org>
c9996000 5625
b54567e2
RZ
5626 * combine.c (distribute_notes): Don't add REG_LABEL to jump insn.
5627
5906d013
EC
56282004-09-02 Eric Christopher <echristo@redhat.com>
5629
5630 * builtins.c (expand_builtin_cabs): Delete.
5631 (expand_builtin): If unable to fold the values do a normal
5632 library call for builtin_cab*.
5633 (fold_builtin_cabs): Depend on optimize and optimize_size.
5634 * optabs.c (expand_cmplxdiv_straight): Delete.
5635 (expand_cmplxdiv_wide): Ditto.
5636 (expand_vector_binop): Ditto.
5637 (expand_vector_unop): Ditto.
5638 (expand_complex_abs): Delete.
5639 (expand_binop): Remove calls to above functions.
5640 Remove open coding of complex arithmetic.
5641 (expand_unop): Ditto.
5642 * optabs.h: Remove prototypes.
5643
3041390d
ZL
56442004-09-02 Ziemowit Laski <zlaski@apple.com>
5645
5646 * c-decl.c (store_parm_decls_newstyle): Make externally visible.
5647 * c-tree.h (store_parm_decls_newstyle): New prototype.
5648
5514620a
GK
56492004-09-02 Geoffrey Keating <geoffk@apple.com>
5650
5651 * config/rs6000/rs6000.c (expand_block_clear): Use vector
5652 instructions if available.
5653 (expand_block_move): Likewise.
5654
02f14c38
JH
56552004-09-03 Jan Hubicka <jh@suse.cz>
5656
5657 * rtl.def (RANGE_INFO, RANGE_REG, RANGE_VAR, RANGE_LIVE): Kill.
5658
19dc705e
MM
56592004-09-02 Mark Mitchell <mark@codesourcery.com>
5660
5661 * config/arm/symbian.h (LIB_SPEC): Define to empty.
5662 * config/arm/t-symbian (SHLIB_LC): Likewise.
5663
24112ed0
PB
56642004-09-02 Paul Brook <paul@codesourcery.com>
5665
5666 * config/arm/bpabi.c (__aeabi_ul2d, __aeabi_ul2f): Remove.
5667
7ad769fe
RS
56682004-09-02 Richard Sandiford <rsandifo@redhat.com>
5669
5670 * config/mips/mips.c (mips_classify_symbol, mips_fetch_insns):
5671 (mips_restore_gp, mips_set_return_address, mips_expand_prologue)
5672 (mips16_fp_args, mips_avoid_hazard): Replace abort with gcc_assert.
5673 (build_mips16_call_stub): Likewise. Remove daft CALL_INSN checks.
5674 (mips_issue_rate): Remove unreachable abort.
5675 (mips_symbolic_constant_p, mips_symbolic_address_p, mips_symbol_insns)
5676 (mips_output_move, mips_relational_operand_ok_p, mips_arg_info)
5677 (mips_block_move_straight, print_operand_address, mips_file_start)
5678 (mips_initial_elimination_offset, mips16_fp_args, dump_constants_1)
5679 (mips_output_conditional_branch, mips_expand_builtin_direct)
5680 (mips_expand_builtin_compare): Replace abort with gcc_unreachable.
5681 * config/mips/mips.md (rotr<mode>3, consttable_float): Replace abort
5682 with gcc_assert.
5683
9f09b415
RS
56842004-09-02 Richard Sandiford <rsandifo@redhat.com>
5685
5686 * config/mips/mips.md (*lea_high64): Change split condition to
5687 flow2_completed. Add a peephole2 to generate a more parallel version.
5688
07724022
JH
56892004-09-02 Jan Hubicka <jh@suse.cz>
5690
5691 * gimplify.c (gimplify_compound_lval): Move "stack" varray out of
5692 GGC.
5693
5694 * ggc-page.c: include tree-flow.h.
5695 (extra_order_size_table): Add stmt_ann_d.
5696 (STAT_LABEL): Rename from ....
5697 (LABEL): ... this one.
5698 * Makefile.in (ggc-page.o): Add dependency.
5699
5700 * ggc-common.c (ggc_force_collect): New global variable.
5701 (loc_description): Add fields "freed", "collected"
5702 (ptr_hash): New static hash
5703 (ptr_hash_entry): New structure.
5704 (hash_ptr,eq_ptr,ggc_prune_ptr): New static functions.
5705 (ggc_record_overhead): Take ptr argument, record it
5706 (ggc_prune_overhead_list, ggc_free_overhead): New functions.
5707 (cmp_statistics): Imrove sorting.
5708 (dump_ggc_loc_statistics): Output newly collected statistics
5709 * ggc-page.c (ggc_alloc): Update call of ggc_record_overhead
5710 (ggc_free): Call ggc_free_overhead.
5711 (ggc_collect): Force collection when asked to be forced.
5712 (ggc_collect): Call ggc_prune_overhead_list.
5713 * ggc.h (ggc_force_collect): Declare
5714 (ggc_record_overhead): Update prototype.
5715 (ggc_free_overhead, ggc_prune_overhead_list): Declare.
5716
10060b83
JW
57172004-09-02 James E Wilson <wilson@specifixinc.com>
5718
5719 * common.opt (ftrapping-math): Default to on.
5720
9d2da95b
RE
57212004-09-02 Richard Earnshaw <rearnsha@arm.com>
5722
5723 * arm/predicates.md (arm_reload_memory_operand): Allow MEM.
5724
3f1f9228
DC
57252004-09-02 Denis Chertykov <denisc@overta.ru>
5726
5727 PR target/16884
5728 * config/avr/avr.md ("movmemhi"): Substitute match_dup to
5729 match_scratch.
5730 (*movmemqi_insn): Likewise.
5731 (*movmemhi): Likewise.
5732 (clrmemhi): Likewise.
5733 (*clrmemqi): Likewise.
5734 (*clrmemhi): Likewise.
5735
e6fc6c9b
PB
57362004-09-02 Paul Brook <paul@codesourcery.com>
5737
5738 * config.gcc (arm*-*-eabi* | arm*-*-symbianelf*): Set
5739 default_use_cxa_atexit=yes.
5740
d86c1b91
AM
57412004-09-02 Alan Modra <amodra@bigpond.net.au>
5742
5743 * config/rs6000/linux64.h: Don't include signal.h or sys/ucontext.h.
5744 (struct kernel_old_ucontext): Delete.
5745 (struct gcc_pt_regs, gcc_sigcontext, gcc_ucontext): New.
5746 (MD_FALLBACK_FRAME_STATE_FOR): Use gcc_* structs. Only define
5747 when IN_LIGGCC2.
5748
3806400d
RS
57492004-09-02 Richard Sandiford <rsandifo@redhat.com>
5750
5751 * toplev.c (process_options): Fix typo.
5752
9969aaf6
RH
57532004-09-01 Richard Henderson <rth@redhat.com>
5754
5755 PR middle-end/17258
5756 * calls.c (initialize_argument_information): Tighten pass-through
5757 conditions for pass-by-reference. Remove dead TARGET_EXPR code.
5758 Use build_fold_addr_expr.
5759 (emit_library_call_value_1): Use build_fold_addr_expr. Remove code
5760 that assumes ADDR_EXPR allocates stack space.
5761 * fold-const.c (build_fold_addr_expr_with_type): Look through
5762 WITH_SIZE_EXPR.
5763
1e8964cf
DN
57642004-09-01 Dan Nicolaescu <dann@ics.uci.edu>
5765
5766 * gengenrtl.c (gendef): Use rtx_alloc, don't do PUT_CODE.
5767 * ggc.h (ggc_alloc_rtx): Delete.
5768
26276705
RS
57692004-09-01 Roger Sayle <roger@eyesopen.com>
5770
5771 * expmed.c (enum alg_code): Remove long unused enumeration values.
7f148c2f 5772 (struct mult_cost): New structure to hold the "score" of a synthetic
26276705
RS
5773 multiply sequence, including both a rtx_cost and a latency field.
5774 (MULT_COST_LESS): New macro to compare mult_cost to a constant.
5775 (CHEAPER_MULT_COST): New macro to compare two mult_costs.
5776 (struct algorithm): Change type of cost field to be mult_cost.
5777 (synth_mult): Change type of cost_limit argument to be a
5778 pointer to a mult_cost. Update all cost comparisons to use the
5906d013 5779 new mult_cost infrastructure. For alg_add_factor and
26276705
RS
5780 alg_sub_factor operations, latency is lower than the rtx_cost.
5781 (choose_mult_variant): Update calls to synth_mult. Perform
5782 cost comparisons using the new mult_cost infrastructure.
5783 (expand_mult_highpart): Use alg.cost.cost instead of alg.cost
5784 to optain the total rtx_cost of a synth_mult "algorithm".
5785
594a3565
DE
57862004-09-01 David Edelsohn <edelsohn@gnu.org>
5787
5788 * config/rs6000/power4.md: Increase store latency to 12.
5789 * config/rs6000/power5.md: Same.
5790
130d5426
JW
57912004-09-01 James E Wilson <wilson@specifixinc.com>
5792
5793 PR target/14064
5794 * config/avr/avr.c (avr_unique_section): Delete prototype and
5795 definition.
5796 (TARGET_ASM_UNIQUE_SECTION): Delete.
5797
57a6af27
ZL
57982004-09-01 Ziemowit Laski <zlaski@apple.com>
5799
5800 * c-parse.in (primary): Call objc_build_message_expr(),
5801 objc_build_selector_expr(), objc_build_protocol_expr(),
5802 objc_build_encode_expr() and objc_build_string_object() instead of
5803 build_message_expr(), build_selector_expr(), build_protocol_expr(),
5804 build_encode_expr() and build_objc_string_object(), respectively.
5805 (component_decl_list2): Call objc_get_class_ivars() instead of
5806 get_class_ivars_from_name().
5807 (keyworddecl): Call objc_build_keyword_decl() instead of
5808 build_keyword_decl().
5809 (receiver): Call objc_get_class_reference() instead of
5810 get_class_reference().
5811 (reswords): Add blank line before @@ifobjc section, for clarity.
5812
5ec214fc
FJ
58132002-09-01 Fariborz Jahanian <fjahanian@apple.com>
5814
5815 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Restrict alignment
5816 to Altivec vetors.
5817
40219f96
WY
58182004-09-01 Wu Yongwei <adah@sh163.net>
5819 Danny Smith <dannysmith@users.sourceforge.net>
5820
5821 * gthr-win32.h (__gthread_recursive_mutex_t): Use 'unsigned long',
5822 not Windows 'DWORD'.
5823 (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Correct typo.
5824 (__GTHREAD_RECURSIVE_MUTEX_INIT_DEFAULT): Likewise.
5825 (__gthr_win32_recursive_mutex_init_function): Add prototype for
5826 __GTHREAD_HIDE_WIN32API case..
5827 (__gthr_win32_recursive_mutex_lock): Likewise.
5828 (__gthr_win32_recursive_mutex_trylock): Likewise.
5829 (__gthr_win32_recursive_mutex_unlock): Likewise.
5830 (__gthread_recursive_mutex_init_function); Add definition for
5831 __GTHREAD_HIDE_WIN32API case.
5832 (__gthread_recursive_mutex_lock): Correct call to InterlockedDecrement.
5833 * config/i386/grthr-win32.c (__gthread_recursive_mutex_lock): Correct
5834 call to InterlockedDecrement.
5835
78ad8fbe
RK
58362004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5837
ba2e294d
RK
5838 * tree-tailcall.c (find_tail_calls): Also fail is statement has
5839 volatile operands.
5840
0705d602
RK
5841 * tree-ssa.c (propagate_into_addr): Properly test for LHR.
5842
78ad8fbe
RK
5843 * doc/c-tree.texi: Document new operands for ARRAY_REF and
5844 COMPONENT_REF.
5845
6d9901e7
ZD
58462004-09-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5847
5848 * Makefile.in (rtl-profile.o, value-prof.o): Add GCC_H dependency.
5849 * common.opt (fspeculative-prefetching): New.
5850 * flags.h (flag_speculative_prefetching_set): Declare.
5851 * gcov-io.c (gcov_write_counter, gcov_read_counter): Allow negative
5852 values.
5853 * opts.c (flag_sepculative_prefetching_set): New variable.
5854 (common_handle_option): Handle -fspeculative-prefetching.
5855 * passes.c (rest_of_compilation): Ditto.
5856 * profile.c (instrument_values, compute_value_histograms, branch_prob):
5857 Use vectors instead of arrays.
5858 * toplev.c (process_options): Handle -fspeculative-prefetching.
5859 * rtl-profile.c: Include ggc.h.
5860 (rtl_gen_interval_profiler, rtl_gen_pow2_profiler,
5861 rtl_gen_one_value_profiler_no_edge_manipulation,
5862 rtl_gen_one_value_profiler, rtl_gen_const_delta_profiler): Type of
5863 argument changed.
5864 * tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler,
5865 tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Type of
5866 argument changed.
5867 * value-prof.c: Include ggc.h.
5868 (NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX): New
5869 macros.
5870 (insn_prefetch_values_to_profile, find_mem_reference_1,
5871 find_mem_reference_2, find_mem_reference, gen_speculative_prefetch,
5872 speculative_prefetching_transform): New.
5873 (value_profile_transformations): Call speculative_prefetching_transform.
5874 (insn_values_to_profile): Call insn_prefetch_values_to_profile.
5875 (insn_divmod_values_to_profile, rtl_find_values_to_profile,
5876 tree_find_values_to_profile, find_values to profile): Use vectors
5877 instead of arrays.
5878 (free_profiled_values): Removed.
5879 * value-prof.h (struct histogram_value): Renamed to
5880 struct histogram_value_t.
5881 (histogram_value, histogram_values): New types.
5882 (find_values_to_profile): Declaration changed.
5883 (free_profiled_values): Removed.
5884 (struct profile_hooks): Type of argument of the hooks changed to
5885 histogram_value.
5886 * doc/invoke.texi (-fspeculative-prefetching): Document.
5887
d7fe1183
ZD
58882004-09-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5889
5890 PR rtl-optimization/16408
5891 * gcse.c (replace_store_insn): Fix LIBCALL/RETVAL notes.
5892
938e234b
RH
58932004-09-01 Richard Henderson <rth@redhat.com>
5894
7f148c2f
JB
5895 * config/ns32k/ns32k.h (TRANSFER_FROM_TRAMPOLINE): Remove.
5896 (TRAMPOLINE_TEMPLATE): Merge code from __trampoline inline.
938e234b 5897
d0879c98
JJ
58982004-09-01 Jakub Jelinek <jakub@redhat.com>
5899
5900 * libgcc-std.ver (GCC_3.4.2): Export also __trampoline_setup.
5901
156a126c
MS
59022004-09-01 Mike Stump <mrs@apple.com>
5903
5904 * config/darwin.c (machopic_symbol_defined_p): In addition to
5905 being SYMBOL_REF_LOCAL_P, a symbol must also be
5906 ! SYMBOL_REF_EXTERNAL_P, as only those are _always_ locally
5907 defined in this output file, or translation unit in the case
5908 of IMA not being used.
5909 (machopic_output_indirection): SYMBOL_REF_LOCAL_P symbols
5910 never need .indirect_symbol when indirecting.
5911
a5d8b097
JJ
59122004-09-01 Jakub Jelinek <jakub@redhat.com>
5913
5914 * Makefile.in (bb-reorder.o): Add several dependencies.
5915
266bff3a
JJ
59162004-09-01 Jakub Jelinek <jakub@redhat.com>
5917
5918 * fold-const.c (operand_equal_p): Require equal sign also for
5919 FIX_{CEIL,TRUNC,FLOOR,ROUND}_EXPR.
5920
32078532
RE
59212004-09-01 Richard Earnshaw <rearnsha@arm.com>
5922
5923 * config.gcc (--with-cpu on ARM): Preserve the canonical cpu name
5924 for use in configargs.h. Put the cname in a separate variable. Use
5925 that to set target_cpu_default2.
5926
c0311627
R
59272004-09-01 J"orn Rennecke <joern.rennecke@superh.com>
5928 Nick Clifton <nickc@redhat.com>
5929
5930 * config/sh/sh.md ("length"): Increase branch length when
5931 SH1 pic code to 18: 12 bytes of instructions, 4 byte for the
5932 constant, 2 byte for aligning the constant.
5933
d98a72fd
RE
59342004-09-01 Richard Earnshaw <rearnsha@arm.com>
5935
5936 * arm/arm-cores.def (ARM_CORE): Add new field for the real name of the
5937 CPU.
5938 (arm7tdmi-s): New CPU name.
5939 * arm/arm.c (ARM_CORE): Update for new format.
5940 * arm/arm.h (ARM_CORE): Likewise.
5941 * arm/gentune.sh: Update for extra field.
5942 * config.gcc: Likewise.
5943 * arm/arm-tune.md: Regenerate.
5944 * doc/invoke.texi: Document the real processor names for ARM cpus.
5945
0a1aa867
RE
59462004-09-01 Richard Earnshaw <rearnsha@arm.com>
5947
5948 * arm/ieee754-df.S (aeabi_ul2d, aeabi_l2d, floatundidf)
5949 (floatdidf): New functions.
5950 * arm/ieee754-sf.S (aeabi_ul2f, aeabi_l2f, floatundisf)
5951 (floatdisf): New functions.
5952 * t-arm-elf: Use them.
5953
bc095846
ZL
59542004-09-01 Ziemowit Laski <zlaski@apple.com>
5955
5956 * c-common.h (lookup_interface): Remove prototype.
5957 (is_class_name): Rename to objc_is_class_name.
5958 (lookup_objc_ivar): Rename to objc_lookup_ivar.
5959 (get_current_scope): Rename to objc_get_current_scope.
5960 * c-decl.c (get_current_scope): Rename to objc_get_current_scope.
5961 * c-parse.in (parmlist_or_identifiers_1): Get rid of unused variable.
5962 (yylexname): Call objc_is_class_name() instead of is_class_name().
5963 * c-typeck.c (build_external_ref): Call objc_lookup_ivar()
5964 instead of lookup_objc_ivar().
5965 * stub-objc.c (lookup_interface): Remove stub.
5966 (is_class_name): Rename to objc_is_class_name.
5967 (lookup_objc_ivar): Rename to objc_lookup_ivar.
5968
14945fe6
MM
59692004-08-31 Mark Mitchell <mark@codesourcery.com>
5970
5971 * config.gcc (arm*-*-symbianelf*): Do not include t-bpabi.
5972 * config/arm/lib1funcs.asm: Do not include supplemental .S files
5973 when compiling for Symbian.
5974 * config/arm/symbian.h (RENAME_LIBRARY): New macro.
5975 (TARGET_OS_CPP_BUILTINS): Likewise.
5976 * config/arm/t-symbian (LIB1ASMFUNCS): Define.
5977
93415288
SS
59782004-08-31 Stan Shebs <shebs@apple.com>
5979
5980 * toplev.c (process_options): Ensure debug_hooks is initialized.
5981
505970fc
MM
59822004-08-31 Mark Mitchell <mark@codesourcery.com>
5983
5984 * target-def.h (TARGET_CXX): Add TARGET_CXX_EXPORT_CLASS_DATA.
5985 * target.h (cxx): Add export_class_data.
5986 * config/arm/arm.c (arm_cxx_export_class_data): New function.
5987 (TARGET_CXX_EXPORT_CLASS_DATA): Use it.
dc40803a 5988 * doc/tm.texi (TARGET_CXX_EXPORT_CLASS_DATA): Document it.
5906d013 5989
bee9efbc
KK
59902004-08-31 Kaz Kojima <kkojima@gcc.gnu.org>
5991
5992 * config/sh/sh.c (output_branch): Check the insn length possibly
5993 in the delayed slot.
5994
a4e9ffe5
RK
59952004-08-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5996
a0ca8e0c
RK
5997 * tree-pretty-print.c (dump_generic_node, case CONVERT_EXPR): Add
5998 blank after ')'.
5999 (op_symbol, case *_{DIV,MOD}_EXPR): Say what rounding is being used.
6000
a4e9ffe5
RK
6001 * c-common.c (c_alignof_expr): Use DECL_ALIGN_UNIT and TYPE_ALIGN_UNIT.
6002 (c_sizeof_of_alignof_type): Likewise.
6003 * expr.c (array_ref_element_size): Likewise.
6004 (highest_pow2_factor_for_target): Likewise.
6005 * gimplify.c (canonicalize_addr_expr): Likewise.
6006 (gimplify_compound_lval): Likewise.
6007 * stor-layout.c (finalize_record_size, finalize_type_size): Likewise.
6008 * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise.
6009 * varasm.c (assemble_variable): Likewise.
6010 (output_constant_def_contents): Alignments are unsigned.
6011
631b67ce
RK
60122004-08-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6013 Jeff Law <law@redhat.com>
6014
6015 * tree-cfg.c (cfg_remove_useless_stmts_bb): Also invalidate if VAL
6016 gets modified.
6017
af287697
MM
60182004-08-31 Mark Mitchell <mark@codesourcery.com>
6019
6020 * hooks.c (hook_bool_void_true): New function.
6021 * hooks.h (hook_bool_void_true): Declare.
6022 * target-def.h (TARGET_CXX): Add
6023 TARGET_CXX_KEY_METHOD_MAY_BE_INLINE.
6024 * target.h (struct cxx): Add key_method_may_be_inline.
6025 * config/arm/arm.c (arm_cxx_key_method_may_be_inline): New
6026 function.
6027 (TARGET_CXX_KEY_METHOD_MAY_BE_INLINE): New macro.
6028 * config/arm/bpabi.h: Use __THUMB_INTERWORK__ instead of
6029 __THUMB_INTERWORK.
5906d013 6030
678584fc
DC
60312004-08-31 Denis Chertykov <denisc@overta.ru>
6032
6033 PR target/15417
6034 * config/avr/avr.c (avr_hard_regno_mode_ok): Enable usage of
6035 frame pointer register only in Pmode while reload in progress.
6036
c4c9b76e
SC
60372004-08-31 Stephane Carrez <stcarrez@nerim.fr>
6038
6039 PR target/15334
6040 * config/m68hc11/m68hc11.c (m68hc11_override_options): Disable -fweb
6041 because it breaks the 32-bit shift patterns that rely on a match_dup.
6042
c61eceeb
MA
60432004-08-31 Matt Austern <austern@apple.com>
6044
6045 * config/darwin.c (darwin_make_decl_one_only): Allocate section
6046 names once per compilation, instead of once per symbol.
5906d013 6047
71b5d516
PB
60482004-08-31 Paolo Bonzini <bonzini@gnu.org>
6049
6050 * Makefile.in (build_subdir): New substitution.
6051 (fixinc.sh): Simplify heavily since fixincludes is already built.
6052 (stmp-fixinc): Depend on specs.ready.
6053 (install-mkheaders): Use new location of fixincludes.
6054 (clean): Do not descend into fixinc.
6055 (FORBUILD): Replace with ../$(build_subdir).
6056 * configure.ac (build_subdir): Substitute.
6057 (FORBUILD): Do not set.
6058 (all_outputs): Remove fixinc/Makefile.
6059 (default commands): Do not create links in fixinc.
6060 * mkfixinc.sh: New, from fixinc/mkfixinc.sh without
6061 the fixincludes configuration steps and substituting
6062 @FIXINCL@ in fixinc.in.
6063 * fixinc.in: New, from fixinc/fixincl.sh.
6064
6065 * fixinc/*: Removed.
5906d013 6066
f7b0fb68
JM
60672004-08-31 Joseph S. Myers <jsm@polyomino.org.uk>
6068
6069 * attribs.c (strip_attrs): Remove.
6070 (split_specs_attrs): Move ...
6071 * c-decl.c: ... to here.
6072 * tree.h (split_specs_attrs, strip_attrs): Remove.
6073 * c-tree.h (split_specs_attrs): Declare.
6074
f51a38b9
RS
60752004-08-31 Richard Sandiford <rsandifo@redhat.com>
6076
6077 * read-rtl.c: Disable RTL checking.
6078 (apply_macro_to_rtx): Use XTMPL to access 'T' fields.
6079
34ebf755
RS
60802004-08-31 Richard Sandiford <rsandifo@redhat.com>
6081
6082 * config/mips/mips.md (fcond): New code macro and attribute.
6083 (sunordered_[sd]f, suneq_[sd]f, sunlt_[sd]f, sunle_[sd]f)
6084 (seq_[sd]f, slt_[sd]f, sle_[sd]f): Redefine using :SCALARF and fcond.
6085 (sgt_[sd]f, sge_[sd]f): Redefine using :SCALARF.
6086
9b76aa3b
MM
60872004-08-30 Mark Mitchell <mark@codesourcery.com>
6088
6089 Revert:
6090 2004-08-29 Mark Mitchell <mark@codesourcery.com>
6091 PR rtl-optimization/16590
6092 * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
6093
99fa8911
AP
60942004-08-30 Andrew Pinski <apinski@apple.com>
6095
5906d013 6096 * hard-reg-set.h:
992c944c
AP
6097 s/HOST_BITS_PER_WIDES_FAST_INT/HOST_BITS_PER_WIDEST_FAST_INT.
6098 * ChangeLog: Fix previous ChangeLog entry.
6099
99fa8911 6100 PR rtl-opt/13987
5906d013 6101 * config.host (use_long_long_for_widest_fast_int): New, default is
99fa8911
AP
6102 off.
6103 (ia64-*-hpux*): Enable use_long_long_for_widest_fast_int.
6104 * configure.ac: If use_long_long_for_widest_fast_int, then
6105 define USE_LONG_LONG_FOR_WIDEST_FAST_INT.
6106 * configure: Regenerate.
6107 * config.in: Regenerate.
6108 * hwint.h (HOST_WIDEST_FAST_INT, HOST_BITS_PER_WIDEST_FAST_INT):
6109 New: widest integer type supported efficiently in hardware for the
6110 host.
6111 * sbitmap.h (SBITMAP_ELT_BITS): Define based on
6112 HOST_BITS_PER_WIDEST_FAST_INT.
6113 (SBITMAP_ELT_TYPE): Define based on HOST_WIDEST_FAST_INT.
5906d013 6114 * hard-reg-set.h (HARD_REG_ELT_TYPE): Define based on
99fa8911
AP
6115 HOST_WIDEST_FAST_INT
6116 instead of HOST_WIDE_INT.
6117 (HARD_REG_SET_LONGS): Likewise.
6118 (UHOST_BITS_PER_WIDE_INT): Likewise.
6119 Change the checks for the fast cases to be based on
992c944c 6120 HOST_BITS_PER_WIDEST_FAST_INT instead of HOST_BITS_PER_WIDE_INT.
99fa8911 6121
f4c0250b
SB
61222004-08-30 Steven Bosscher <stevenb@suse.de>
6123
6124 * cfgcleanup.c (merge_memattrs): Look at the value of MEM_SIZE,
6125 not the pointers.
6126
ff164b22
GK
61272004-08-30 Geoffrey Keating <geoffk@apple.com>
6128
6129 PR 12738
6130 PR 17205
6131 Radar 3460526
6132 Radar 3775729
6133 * c-decl.c (grokdeclarator): Produce error for 'static' on local
6134 function declaration.
6135
bc482be4
RH
61362004-08-30 Richard Henderson <rth@redhat.com>
6137
6138 * expr.c (array_ref_element_size): Force aligned_size back to
6139 sizetype.
6140 (component_ref_field_offset): Similarly for aligned_offset.
6141 * tree.c (recompute_tree_invarant_for_addr_expr): Mark raw
6142 low-bound, element-size, field-offset fields rather than
6143 computed values.
6144
21611613
JM
61452004-08-30 Joseph S. Myers <jsm@polyomino.org.uk>
6146
6147 * c-parse.in (parmlist_or_identifiers_1): Remove unreachable and
6148 redundant code.
6149
7b112487
JM
61502004-08-30 Joseph S. Myers <jsm@polyomino.org.uk>
6151
6152 * c-tree.h (struct language_function): Add arg_info element.
6153 * c-decl.c (current_function_arg_info): New.
6154 (grokdeclarator, store_parm_decls): Use it instead of
6155 DECL_ARGUMENTS.
6156 (c_push_function_context, c_pop_function_context): Save and
6157 restore it.
6158
5cc200fc
RH
61592004-08-30 Richard Henderson <rth@redhat.com>
6160
5906d013 6161 * c-typeck.c (build_unary_op): Don't expand ADDR_EXPR of a
5cc200fc
RH
6162 COMPONENT_REF to pointer arithmetic.
6163 * varasm.c (initializer_constant_valid_p): Allow "&(*c).f", for
6164 constant "c" as a valid constant initializer. Allow narrowing of
6165 differences against the same base object, for any base object.
6166
6377bb9a
RH
61672004-08-30 Richard Henderson <rth@redhat.com>
6168
6169 * expr.c (expand_expr_addr_expr): New.
6170 (expand_expr_real_1) <case ADDR_EXPR>: Use it.
6171
308cd611
RS
61722004-08-30 Richard Sandiford <rsandifo@redhat.com>
6173
6174 * config/mips/mips.c (MIPS_FP_CONDITIONS): New macro.
6175 (mips_fp_condition): New enum.
6176 (mips_fp_conditions): New array.
6177 (print_fcc_operand): Delete.
6178 (print_operand): Remove %V, %v and %Q. Redefine %Z so that it prints
6179 the operand and comma if and only if ISA_HAS_8CC. Add %Y.
6180 (builtin_description): Add "cond" field.
6181 (DIRECT_BUILTIN): Initialize it.
6182 (CMP_{SCALAR,PS,4S}_BUILTINS, MOVTF_BUILTINS): Split INSN parameter
6183 into INSN and CODE. Initialize the "cond" field.
6184 (CMP_BUILTINS): Update accordingly.
6185 (mips_bdesc): Use MIPS_FP_CONDITIONS to invoke CMP_BUILTINS.
6186 (mips_expand_builtin_movtf, mips_expand_builtin_compare): Take the
6187 mips_fp_condition as argument. Make it the final operand of the
6188 comparison instruction.
6189 (mips_expand_builtin): Update accordingly.
6190 * config/mips/mips.md (UNSPEC_C_*, UNSPEC_CABS_*): Delete.
6191 (UNSPEC_C, UNSPEC_CABS): New constants. Shuffle others to fill
6192 the gaps.
6193 * config/mips/mips-ps-3d.md (mips_cond_move_tf_ps, bc1any[24][ft]):
6194 Don't use the 'Q' operand prefix; just print the operand normally.
6195 (mips_cabs_*, mips_c_*): Delete, replacing with...
6196 (mips_c_cond_{ps,4s}, mips_cabs_cond_{s,d,ps,4s}): ...these new
6197 patterns. Split the 4s versions into 2 ps patterns after reload.
6198
88f19756
RH
61992004-08-30 Richard Henderson <rth@redhat.com>
6200
6201 * fold-const.c (tree_expr_nonzero_p): Use get_base_address before
6202 assuming an ADDR_EXPR is non-null.
6203
70008293
JM
62042004-08-30 Jason Merrill <jason@redhat.com>
6205
d92a3b38 6206 * gthr-posix.h, gthr-dce.h: Add #pragma weaks.
70008293 6207
8ce16ed6
NS
62082004-08-30 Nathan Sidwell <nathan@codesourcery.com>
6209
6210 * alias.c (mems_in_disjoint_alias_sets_p, record_alias_subset,
6211 record_set, rtx_equal_for_memref_p, init_alias_analysis): Use
6212 gcc_assert and gcc_unreachable instead of abort.
6213 * alloc-pool.c (abort, fancy_abort): Remove.
6214 (create_alloc_pool, free_alloc_pool, pool_alloc, pool_free): Use
6215 gcc_assert or gcc_unreachable.
6216 * attribs.c (init_attributes, decl_attributes): Likewise.
6217 * bb-reorder.c (FREE, find_traces_1_round, copy_bb,
6218 mark_bb_for_unlikely_executed_section,
6219 add_labels_and_missing_jumps, fix_crossing_conditional_branches,
6220 fix_crossing_unconditional_branches): Likewise.
6221 * bitmap.c (bitmap_first_set_bit, bitmap_last_set_bit,
6222 bitmap_operation): Likewise.
6223 * bt-load.c (insn_sets_btr_p, augment_live_range,
6224 move_btr_def): Likewise.
6225 * builtins.c (c_readstr, expand_builtin_longjmp, apply_args_size,
6226 apply_result_size, expand_builtin_apply, expand_builtin_mathfn,
6227 expand_builtin_mathfn_2, expand_builtin_mathfn_3,
6228 builtin_memcpy_read_str, expand_movstr, expand_builtin_stpcpy,
6229 expand_builtin_memcmp, expand_builtin_args_info,
6230 std_gimplify_va_arg_expr, expand_builtin_unop,
6231 expand_builtin_fputs, expand_builtin_profile_func,
6232 expand_builtin_fork_or_exec, fold_builtin_bitop,
6233 fold_builtin_classify, fold_builtin_fputs): Likewise.
6234
fc6633e0
NS
62352004-08-30 Nathan Sidwell <nathan@codesourcery.com>
6236
e0448193
NS
6237 * gcov-io.c (GCOV_CHECK): Use gcc_assert when available.
6238 * gcov.c (abort): Remove undef.
6239
fc6633e0
NS
6240 * tree.h (BINFO_PRIMARY_BASE_OF): Remove.
6241 (struct tree_binfo): Remove primary field.
6242
89b8abbf
PB
62432004-08-30 Paolo Bonzini <bonzini@gnu.org>
6244
6245 * fixinc/Makefile.in (machname.h): Remove.
6246 (fixincl.x): Do not pass $@ to genfixes.
6247 * fixinc/genfixes: Remove code to produce machname.h.
6248 * fixinc/fixincl.sh: Move it here instead.
6249 * fixinc/fixlib.c: Do not conditionalize on MN_NAME_PAT's presence,
6250 instead check if pz_mn_name_pat is NULL. Make mn_get_regexps
6251 return a bool indicating whether pz_mn_name_pat is NULL.
6252 * fixinc/fixlib.h: Do not conditionalize on MN_NAME_PAT's presence.
6253 Declare extern C variables for the ENV_TABLE.
6254 * fixinc/fixfixes.c: Do not conditionalize on MN_NAME_PAT's presence,
6255 instead use the result of mn_get_regexps.
6256 * fixinc/fixtests.c: Likewise.
6257
39880d37
PB
62582004-08-30 Paolo Bonzini <bonzini@gnu.org>
6259
6260 * configure.ac: Do not run fixincludes after stage1 during
6261 toplevel bootstrap.
6262 * configure: Regenerate.
6263
a8b3643c
RE
62642004-08-30 Richard Earnshaw <rearnsha@arm.com>
6265
6266 * sched-deps.c (get_condition): Partially revert previous, by never
6267 trying to extract the condition from a condjump.
6268
fc6633e0
NS
62692004-08-30 Nathan Sidwell <nathan@codesourcery.com>
6270
6271 * c-common.c (c_sizeof_or_alignof_type): Use gcc_assert.
6272 (handle_visibility_attribute, c_determine_visibility): Likewise.
6273 * c-common.h (my_friendly_assert): Remove.
6274
afa396ff
RS
62752004-08-30 Richard Sandiford <rsandifo@redhat.com>
6276
6277 * config/mips/mips.md (UNSPEC_{RSQRT,RECIP}[12]_{S,D,PS}): Delete.
6278 (UNSPEC_{RSQRT,RECIP}[12]): New constants.
6279 (UNSPEC_MOVE_TF_PS): Renumber to avoid gaps.
6280 * config/mips/mips-ps-3d.md (*movcc_v2sf_[sd]i): Use :GPR.
6281 (mips_{rsqrt,recip}[12]_{s,d,ps}): Use :ANYF.
6282
ef6379fd
DN
62832004-08-30 Diego Novillo <dnovillo@redhat.com>
6284
6285 * tree-pretty-print.c (dump_generic_node): Handle VALUE_HANDLE
6286 in COMPONENT_REF nodes.
6287
7783b402
GDR
62882004-08-29 Gabriel Dos Reis <gdr@integrable-solutions.net>
6289
6290 PR c++/15378
6291 * c-opts.c (c_common_handle_option): <case OPT_Werror> set
6292 global_dc->warning_as_error_requested.
6293 * diagnostic.c (diagnostic_initialize): Tidy.
6294 * diagnostic.h (diagnostic_context::x_data): Remove
6295 (diagnostic_context::issue_warnings_are_errors_message): Rename
6296 from warnings_are_errors_message.
6297 (diagnostic_context::warning_as_error_requested): New.
6298
adf968c7
RE
62992004-08-30 Richard Earnshaw <rearnsha@arm.com>
6300
6301 * sched-deps.c (get_condition): Fix breakage in previous patch.
6302
999f4d5e
PB
63032004-08-30 Paul Brook <paul@codesourcery.com>
6304
6305 * doc/install.texi: Fix broken mpfr link.
6306
5a0c2304
DB
63072004-08-29 David O'Brien <obrien@FreeBSD.org>
6308
6309 * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Sync '-p' handling with
6310 other FreeBSD platforms.
6311
880873be
RE
63122004-08-29 Richard Earnshaw <rearnsha@arm.com>
6313
6314 * arm.h (REVERSE_CONDITION): Define.
6315 (REVERSIBLE_CC_MODE): All comparisons are now reversible.
6316
15dce812
RE
63172004-08-29 Richard Earnshaw <rearnsha@arm.com>
6318
6319 * flow.c (REVERSE_CONDEXEC_PREDICATES_P): Use the whole comparison, not
6320 just the codes, call reversed_comparison_code ().
6321 (ior_reg_cond): Update arguments to REVERSE_CONDEXEC_PREDICATES_P.
6322 (not_reg_cond): Use reversed_comparison_code.
6323 (and_reg_cond): Likewise.
6324 * ifcvt.c (cond_exec_process_if_block): Likewise.
6325 * doc/tm.texi (REVERSE_CONDEXEC_PREDICATES_P): Update documentation.
6326
6903ecd4
RE
63272004-08-29 Richard Earnshaw <rearnsha@arm.com>
6328
6329 * sched-deps.c (get_condition): Rewrite using jump support functions.
6330 Use reversed_comparison_code.
6331 (conditions_mutex_p): Use reversed_comparison_code.
6332
ea9bfbf2
RS
63332004-08-29 Richard Sandiford <rsandifo@redhat.com>
6334
6335 * config/mips/mips.c (override_options): Disable hot/cold partitioning
6336 for MIPS16.
6337
4ca1f68f
RS
63382004-08-29 Richard Sandiford <rsandifo@redhat.com>
6339
6340 * config/mips/mips.h (mips_builtins, mips_cmp_choice): Delete.
6341 (mips_function_type): Move to mips.c.
6342 * config/mips/mips.c (mips_builtin_type): New enum.
6343 (builtin_description): Replace code and ftype with builtin_type
6344 and function_type.
6345 (DIRECT_BUILTIN, CMP_SCALAR_BUILTINS, CMP_PS_BUILTINS, CMP_4S_BUILTINS)
6346 (MOVTF_BUILTINS, CMP_BUILTINS): New macros.
6347 (CODE_FOR_mips_abs_ps): Define.
6348 (mips_bdesc): Use new macros.
6349 (mips_expand_builtin): Use builtin_type. Update calls to subroutines.
6350 (mips_init_builtins): Use the mips_bdesc[] index as the function code.
6351 (mips_expand_builtin_direct): New function.
6352 (mips_expand_builtin_movtf): Renamed from mips_expand_ps_cond_move_
6353 builtin. Replace boolean parameter with builtin_type.
6354 (mips_expand_compare_builtin, mips_expand_scalar_compare_builtin)
6355 (mips_expand_4s_compare_builtin): Delete, replacing with...
6356 (mips_expand_builtin_compare): ...this new function.
6357
5e9f78cc
MM
63582004-08-29 Mark Mitchell <mark@codesourcery.com>
6359
6360 PR rtl-optimization/16590
6361 * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
6362
766ff1b1
DN
63632004-08-29 Diego Novillo <dnovillo@redhat.com>
6364
6365 * tree-ssa-ccp.c (ccp_visit_stmt): Remove #if 0 guards.
6366 * tree-ssa-propagate.c: Fix documentation.
6367
2435c4c1
RS
63682004-08-29 Richard Sandiford <rsandifo@redhat.com>
6369
6370 * config/mips/mips.md (*mov[sd]f_on_*): Redefine using :SCALARF.
6371 (mov[sd]fcc): Likewise.
6372
53d9ac3b
RS
63732004-08-29 Richard Sandiford <rsandifo@redhat.com>
6374
6375 * config/mips/mips.md (cmp[sd]f): Redefine using :SCALARF.
6376
93898c8b
RS
63772004-08-29 Richard Sandiford <rsandifo@redhat.com>
6378
6379 * config/mips/mips.md (divide_condition): New mode attribute.
6380 (div[sd]f3, *div[sd]f3): Use it. Redefine using :SCALARF.
6381 (sqrt[sd]f3): Redefine using SCALARF.
6382 (*recip[sd]f3, *rsqrt<mode>[ab]): Likewise. Name formerly unnamed
6383 patterns.
6384
aae0609c
RS
63852004-08-29 Richard Sandiford <rsandifo@redhat.com>
6386
6387 * config/mips/mips.md (ANYF, SCALARF): New mode macros.
6388 (loadx, storex, fmt, UNITMODE): New mode attributes.
6389 (add{sf,df,v2sf}3, sub{sf,df,v2sf}3): Redefine using :ANYF.
6390 (mul[sd]f3): Redefine using :SCALARF.
6391 (*mul[sd]f3): Renamed from mul[sd]f3_internal. Use :SCALARF.
6392 (*mul[sd]3_r4300): Likewise mul[sd]f3_r4300.
6393 (*m{add,sub}{sf,df,v2sf}3): Name formerly unnamed patterns. Use :ANYF.
6394 Check TARGET_FUSED_MADD for V2SF too.
6395 (*nm{add,sub}{sf,df,v2sf}3{,_fastmath}): Likewise, except v2sf patterns
6396 were already named.
6397 (abs{sf,df,v2sf}3, neg{sf,df,v2sf}3): Redefine using :ANYF.
6398 (*[sl][wd]xc1_[sd]i): Redefine using :ANYF.
6399
74fc61d1
RS
64002004-08-29 Richard Sandiford <rsandifo@redhat.com>
6401
6402 * config/mips/mips.c (mips_init_builtins): Simplify. Only create
6403 V2SF_type_node if it will be needed.
6404
ff55fb9c
RS
64052004-08-29 Richard Sandiford <rsandifo@redhat.com>
6406
6407 * config/mips/mips.h (MIPS_CMP_MOVT, MIPS_CMP_MOVF): Delete.
6408 * config/mips/mips.c (mips_prepare_builtin_arg): New function.
6409 (mips_prepare_builtin_target): New function.
6410 (mips_expand_builtin): Use them. Update calls to subroutines.
6411 (mips_expand_ps_cond_move_builtin): Use the new functions. Replace
6412 cmp_choice with a boolean argument to select between movt and movf.
6413 Take the comparison's icode as an argument, not the function's fcode.
6414 (mips_expand_compare_builtin): New function. Rename existing function
6415 to mips_expand_scalar_compare_builtin.
6416 (mips_expand_scalar_compare_builtin, mips_expand_4s_compare_builtin)
6417 (mips_expand_ps_compare_builtin): Use the new functions. Take the
6418 comparison's icode as an argument, not the builtin's fcode.
6419
f691c4e3
RS
64202004-08-29 Richard Sandiford <rsandifo@redhat.com>
6421
6422 * config/mips/mips.c (print_operand): Remove '%Y' and '%y'.
6423 (mips_expand_4s_compare_builtin): Redefine CCV4 to be 0 if all
6424 registers are false and -1 if all registers are true.
6425 (mips_expand_ps_compare_builtin): Likewise CCV2. Use subregs for
6426 MIPS_CMP_UPPER and MIPS_CMP_LOWER.
6427 * config/mips/mips.md (mips_cond_move_tf_ps): Use %Q rather than %y.
6428 (bc1any4t, bc1any4f): Adjust for new CCV4 interpretation.
6429 (bc1any2t, bc1any2f): Likewise CCV2.
6430 (bc1upper2t, bc1lower2t, bc1upper2f, bc1lower2f): Delete.
6431
49135706
RS
64322004-08-29 Richard Sandiford <rsandifo@redhat.com>
6433
6434 * config/mips/mips.md (UNSPEC_MOVE_TF_PS): New.
6435 * config/mips/mips-ps-3d.md (mips_cond_move_tf_ps): Express as an
6436 UNSPEC rather than an IF_THEN_ELSE.
6437 * config/mips/mips.c (mips_expand_ps_cond_move_builtin): Emit
6438 mips_cond_move_tf_ps by name.
6439
06a4ab70
CF
64402004-08-29 Chao-ying Fu <fu@mips.com>
6441 James E Wilson <wilson@specifixinc.com>
5906d013 6442
06a4ab70
CF
6443 * config/mips/mips-modes.def (V2SF, CCV2, CCV4): New modes. Give CCV2
6444 8 byte size and alignment. Give CCV4 16 byte size and alignment.
6445 * config/mips/mips-ps-3d.md: New file.
6446 * config/mips/mips.c (TARGET_VECTOR_MODE_SUPPORTED_P,
6447 TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
6448 (mips_const_insns): Handle CONST_VECTOR the same as CONST_DOUBLE.
6449 (mips_output_move): Emit "mov.ps" for V2SFmode.
6450 (mips_arg_info): Add checks for VECTOR_FLOAT_TYPE_P and
6451 MODE_VECTOR_FLOAT.
6452 (override_options): Check if TARGET_MIPS3D and there was an explicit
6453 !TARGET_PAIRED_SINGLE_FLOAT. Set MASK_PAIRED_SINGLE, if TARGET_MIPS3D.
6454 Check if TARGET_FLOAT64 and TARGET_HARD_FLOAT are both true, when
6455 TARGET_PAIRED_SINGLE_FLOAT is true. Check if the ISA supports
6456 TARGET_PAIRED_SINGLE_FLOAT. Allow MODE_VECTOR_FLOAT in fp registers,
6457 and allow CCV2 and CCV4 to occupy two and four CC registers.
6458 (print_fcc_operand): New function.
6459 (print_operand): Add %Y, %y, %V, %v, %Q for CCV2, CCV4, CC. Modify
6460 %Z to call print_fcc_operand.
6461 (mips_function_value): Handle MODE_VECTOR_FLOAT.
6462 (mips_class_max_nregs): Check for ST_REGS, and handle CCmodes.
6463 (mips_vector_mode_supported_p): New function.
6464 (mips_hard_regno_nregs): Check for ST_REG_P, and handle CCmodes.
6465 (builtin_description): New struct.
6466 (mips_bdesc): New array of struct builtin_description.
6467 (mips_expand_builtin, mips_init_builtins,
6468 mips_expand_ps_cond_move_builtin, mips_expand_4s_compare_builtin,
6469 mips_expand_compare_builtin, mips_expand_ps_compare_builtin): New
6470 functions.
6471 * config/mips/mips.h (MASK_PAIRED_SINGLE, MASK_MIPS3D): New defines.
6472 (TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D): New defines.
6473 (TARGET_CPU_CPP_BUILTINS): Add __mips_paired_single_float.
6474 (TARGET_SWITCHES): Added "-mpaired-single", "-mno-paired-single",
6475 "-mips3d", and "-mno-mips3d".
6476 (ASM_SPEC): Map -mips3d to -mips3d in gas.
6477 (EXTRA_CONSTRAINT_Y): New macro.
6478 (EXTRA_CONSTRAINT_STR): Renamed from EXTRA_CONSTRAINT. Add new
6479 multi-letter constraint 'Y'.
6480 (CONSTRAINT_LEN): New macro.
6481 (enum mips_builtins): New for MIPS builtin functions.
6482 (enum mips_function_type): New for the types of MIPS builtin functions.
6483 (enum mips_cmp_choice): New for the MIPS comparison builtin functions.
5906d013 6484 * config/mips/mips.md: New constants for paired single and MIPS-3D
06a4ab70
CF
6485 instructions. Include the new mips-ps-3d.md file.
6486 (addv2sf3, subv2sf3, mulv2sf3, absv2sf2, negv2sf2, movv2sf,
6487 movv2sf_hardfloat_64bit): New named patterns.
6488 (madd.ps, msub.ps, nmaddv2sf, nmaddv2sf_fastmath, nmsubv2sf,
6489 nmsubv2sf_fastmath, ldxc1_v2sf_si, ldxc1_v2sf_di, sdxc1_v2sf_si,
6490 sdxc1_v2sf_di): New unnamed patterns.
6491 * config/mips/predicates.md (const_0_operand, const_1_operand): Add
6492 const_vector support.
6493 (const_0_or_1_operand): New predicate.
6494 * doc/invoke.texi (MIPS Options): Add -mpaired-single and -mips3d.
6495
750628d8
DN
64962004-08-29 Diego Novillo <dnovillo@redhat.com>
6497
6498 * Makefile.in (OBJS-common): Add tree-ssa-propagate.o
6499 (tree-ssa-propagate.o): New rule.
6500 (GTFILES): Add tree-ssa-propagate.c.
6501 * tree-flow.h (struct stmt_ann_d): Remove field
6502 in_ccp_worklist.
6503 * tree-ssa-propagate.c: New file.
6504 * tree-ssa-propagate.h: New file.
6505 * tree-ssa-ccp.c: Re-write to use the routines from
6506 tree-ssa-propagate.c.
6507
f108270b
AP
65082004-08-28 Andrew Pinski <apinski@apple.com>
6509
6510 * tree-ssa-loop.c: Remove extra include of basic-block.h.
6511
e5a002e3
ZL
65122004-08-28 Ziemowit Laski <zlaski@apple.com>
6513
6514 * c-common.h: Update comments about ObjC/ObjC++ entry points.
6515 (objc_is_reserved_word): New prototype.
6516 (get_current_scope, objc_mark_locals_volatile): Move prototypes to
6517 separate section; these are call-backs.
6518 * c-lex.c (c_lex_with_flags): Call objc_is_reserved_word() to detect
6519 ObjC/ObjC++ "@" keywords.
6520 * c-tree.h (get_current_scope, objc_mark_locals_volatile): Remove
6521 prototypes; they already live in c-common.h.
6522 * stub-objc.c: Update copyright notice.
6523 (objc_is_reserved_word): New stub.
6524
2c46a62f
NS
65252004-08-28 Nathan Sidwell <nathan@codesourcery.com>
6526
6527 * system.h (gcc_assert): Remove __builtin_expect. Evaluate EXPR
6528 even when not checking.
6529
40aac948
JM
65302004-08-27 Jason Merrill <jason@redhat.com>
6531
6532 PR c++/13684
6533 * gimplify.c (gimplify_cleanup_point_expr): Handle CLEANUP_EH_ONLY.
6534 (gimple_push_cleanup): Add eh_only parm.
6535 (gimplify_target_expr): Pass it.
6536 * c.opt (-fno-threadsafe-statics): New option.
6537 * c-opts.c (c_common_handle_option): Handle it.
6538 * c-common.h (flag_threadsafe_statics): Declare it.
6539 * c-common.c (flag_threadsafe_statics): Record it.
6540 * doc/invoke.texi: Document it.
6541 * tsystem.h (_GNU_SOURCE): Define.
6542 * gthr-posix.h (__gthread_recursive_mutex_t): New typedef.
6543 (__GTHREAD_RECURSIVE_MUTEX_INIT): New macro.
6544 (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): New macro.
6545 (__gthread_recursive_mutex_init_function): New fn.
6546 (__gthread_recursive_mutex_lock): New fn.
6547 (__gthread_recursive_mutex_trylock): New fn.
6548 (__gthread_recursive_mutex_unlock): New fn.
6549 * gthr-solaris.h, gthr-single.h, gthr-dce.h: Likewise.
6550 * gthr-win32.h, gthr-vxworks.h: Likewise.
6551 * gthr.h: Document.
6552
1494c534
DE
65532004-08-27 David Edelsohn <edelsohn@gnu.org>
6554
6555 * config/rs6000/rs6000.c (rs6000_override_options): Increase
6556 maximum skip to 15. Set function alignment, jump alignment, and
6557 loop alignment to 16 for processors that form dispatch groups.
03e9c50a 6558 (rs6000_rtx_costs): outer_code is used.
1494c534 6559
ce552f75
NS
65602004-08-27 Nathan Sidwell <nathan@codesourcery.com>
6561
e3861d2a
NS
6562 * stor-layout.c (sizetype_set): Remove.
6563 (set_sizetype): Don't test or set it.
6564
ce552f75
NS
6565 * tree.h (size_int_type): Remove.
6566 * fold-const.c: Do not #include gt-fold-const.h.
6567 (size_htab_hash, size_htab_eq): Remove.
6568 (size_int_kind): Use build_int_cst.
6569 (new_const, size_htab): Remove.
6570 (size_int_type): Remove.
6571 (round_up): Use build_int_cst.
6572 (round_down): Likewise. Remove spurious constant build.
6573
06c37c96
NS
65742004-08-27 Nathan Sidwell <nathan@codesourcery.com>
6575
6576 * configure.ac: Add ENABLE_ASSERT_CHECKING control.
6577 Add is_release variable, use it for --enable-werror and
6578 --enable-checking defaults.
6579 * system.h (gcc_assert, gcc_unreachable): New.
6580 * doc/install.texi (--enable-checking): Update.
6581 * configure, config.in: Rebuilt.
6582
57406c63
RS
65832004-08-26 Richard Sandiford <rsandifo@redhat.com>
6584
6585 * rtl.h (read_rtx): Change prototype.
6586 * read-rtl.c (read_rtx): Provide the caller with both an rtx and a
6587 line number. Return true on success.
6588 * gensupport.c (process_include, init_md_reader_args_cb): Adjust
6589 callers accordingly.
6590
ee8a6a3e
RH
65912004-08-26 Richard Henderson <rth@redhat.com>
6592
6593 * c-typeck.c (build_offsetof): Remove.
6594 * c-tree.h (build_offsetof): Remove.
6595 * c-common.c (fold_offsetof_1, fold_offsetof): New.
6596 * c-common.h (fold_offsetof): Declare.
6597 * c-parse.in (offsetof_base): New.
6598 (offsetof_member_designator): Use it. Build references, not just
6599 a tree list.
6600 (primary): Use fold_offsetof, not build_offsetof.
6601
525c6bf5
RH
66022004-08-26 Richard Henderson <rth@redhat.com>
6603
6604 * tree.c (staticp): Return the static object.
6605 * tree.h (staticp): Update decl.
6606 * langhooks.h (struct lang_hooks): Change staticp return type to tree.
6607 * langhooks.c (lhd_staticp): Return NULL_TREE.
6608 * langhooks-def.h (lhd_staticp): Update decl.
6609 * c-common.c (c_staticp): Return the static object.
6610 * c-common.h (c_staticp): Update decl.
6611
d416c0b3
RH
66122004-08-26 Richard Henderson <rth@redhat.com>
6613
6614 * config/alpha/alpha.h (HARD_REGNO_MODE_OK): Allow complex float
6615 modes.
6616
0b410f0b
JM
66172004-08-26 Joseph S. Myers <jsm@polyomino.org.uk>
6618
6619 PR c/13801
6620 * c-decl.c (struct c_binding): Add type and inner_comp fields.
6621 (bind): Set type and inner_comp fields.
6622 (pop_scope): Restore type of decl to the correct type from an
6623 outer scope. Give error when popping file scope for incomplete
6624 arrays completed incompatibly with default initialization in an
6625 inner scope.
6626 (diagnose_mismatched_decls): Handle externs with initializers at
6627 block scope.
6628 (pushdecl): Set type of external declaration at block scope based
6629 only on the visible declarations. Save type when changing the
6630 type of a declaration. Merge an external declaration at block
6631 scope with a visible static declaration at file scope.
6632 (implicitly_declare): Give recycled old declaration the new type
6633 except for incompatible declarations of built-in functions, saving
6634 the old type.
6635
b77c7437
ZL
66362004-08-26 Ziemowit Laski <zlaski@apple.com>
6637
6638 * c-parse.in (OBJC_TYPE_QUAL): New %token for ObjC use.
6639
a228baff
DB
66402004-08-26 Daniel Berlin <dberlin@dberlin.org>
6641
6642 * tree-alias-common.c (gate_pta): New function.
6643 (pass_build_pta): Use it.
6644 (pass_del_pta): Use it.
6645 (delete_alias_vars): Don't check flag_tree_points_to.
6646
2e6c9641
FJ
66472004-08-26 Fariborz Jahanian <fjahanian@apple.com>
6648
5906d013 6649 * config/rs6000/rs6000.h (HARD_REGNO_CALL_PART_CLOBBERED): Added
2e6c9641
FJ
6650 TFmode as additional register mode cloberred by call.
6651
66522004-08-26 Fariborz Jahanian <fjahanian@apple.com>
6653
6654 * config/rs6000/rs6000.c (rs6000_libcall_value): Generate
6655 parallel pattern for library call returning DImode in
6656 mixed mode.
6657
66582004-08-26 Fariborz Jahanian <fjahanian@apple.com>
6659
6660 * config/rs6000/rs6000.c (function_arg): Generate parallel
6661 pattern for more split args.
6662
66632004-08-26 Fariborz Jahanian <fjahanian@apple.com>
6664
6665 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Call
6666 either gen_movdi_di_update or gen_movdi_si_update depending on
6667 target mode.
6668 * config/rs6000/rs6000.md (movdi_update): Changed to movdi_<mode>_update,
6669 to generate two versions.
5906d013 6670
36d59cf7
DB
66712004-08-26 Daniel Berlin <dberlin@dberlin.org>
6672
6673 * Makefile.in (lambda-code.o): New.
6674 (lambda-trans.o): Ditto.
6675 (TREE_DATA_REF_H): Ditto.
6676 (LAMBDA_H): Ditto.
6677 (lambda-mat.o): Use LAMBDA_H.
6678 (tree-data-ref.o): Ditto.
6679 * lambda-code.c: New file. Lambda code generation algorithm.
6680 * lambda-trans.c: Ditto. Lambda transformation matrix support.
6681 * lambda.h: Add lambda loop structures.
6682 Add lambda loopnest structures.
6683 Add lambda body vector structure.
6684 Add lambda linear expression structures.
6685 Add prototypes for functions in new files.
6686 * lambda-mat.c: Include tree.h
6687
66882004-08-26 Daniel Berlin <dberlin@dberlin.org>
5906d013
EC
6689 Sebastian Pop <pop@cri.ensmp.fr>
6690
6691 * tree-data-ref.h: Include lambda.h
36d59cf7 6692 (free_dependence_relation): Declared here.
5906d013 6693 (free_dependence_relations): Ditto.
36d59cf7
DB
6694 (free_data_refs): Ditto.
6695 * tree-data-ref.c (free_dependence_relation): New function.
6696 (free_dependence_relations): Ditto.
6697 (free_data_refs): Ditot.
6698 (analyze_all_data_dependences): Free datarefs and dependence_relations.
6699 (build_classic_dist_vector): Store in the dependence_relations the
6700 information. Each arc in the dependence_relations graph is labelled
6701 with the distance and direction vectors.
6702 (build_classic_dir_vector): Ditto.
6703 (compute_rw_wr_ww_dependences): Renamed again compute_all_dependences.
6704 Now computes again the whole dependence graph including read-read
6705 relations.
6706 (compute_data_dependences_for_loop): Now dependence_relations contains
6707 all the data, and thus it doesn't need to initialize the classic_dir
6708 and classic_dist vectors.
6709 (analyze_all_data_dependences): Adjusted for using the new interface of
6710 compute_data_dependences_for_loop. Remove the statistics dump.
5906d013 6711
a46bbb5a
BW
67122004-08-26 Bob Wilson <bob.wilson@acm.org>
6713
6714 * config/xtensa/xtensa.c (xtensa_ld_opcodes, xtensa_st_opcodes): Delete.
6715 (xtensa_expand_block_move): Update comment.
6716 (override_options): Remove initialization of xtensa_{ld,st}_opcodes.
6717
52351a5e
RE
67182004-08026 Richard Earnshaw <rearnsha@arm.com>
6719
6720 PR target/13506
6721 * toplev.c (crash_signal): If we crashed while emitting
6722 a user asm, then die more gracefully.
6723
b72e46f0
NC
67242004-08-26 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
6725
6726 PR target/17119.
6727 * config/m32r.c (gen_compare): Use reg_or_int16_operand when
6728 checking for a valid constant, regardless of sign.
6729
fd9363bf
RH
67302004-08-25 Richard Henderson <rth@redhat.com>
6731
d416c0b3
RH
6732 PR target/16974
6733 * config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting
6734 if the constant satisfies add_operand.
fd9363bf 6735
45f413e4 67362004-08-25 Richard Henderson <rth@redhat.com>
5906d013 6737
d416c0b3
RH
6738 PR debug/10695
6739 * config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New.
6740 (alpha_expand_prologue): Handle >32-bit frames. Generate proper
6741 unwind info for >16-bit frames.
45f413e4 6742
7e233208
RK
67432004-08-25 Richard B. Kreckel <richard.kreckel@framatome-anp.com>
6744
6745 PR target/17171
6746 * config/i386/gas.h (ASM_COMMENT_START): Define to "#".
6747
04886dc0
RH
67482004-08-25 Richard Henderson <rth@redhat.com>
6749
d416c0b3
RH
6750 * config/alpha/alpha.c (alpha_cannot_force_const_mem): New.
6751 (TARGET_CANNOT_FORCE_CONST_MEM): New.
04886dc0 6752
aca2bd7c
AM
67532004-08-25 Andrew MacLeod <amacleod@redhat.com>
6754
6755 * doc/tree-ssa.texi: Document new operand iterator.
6756
0423421f
AM
67572004-08-26 Alan Modra <amodra@bigpond.net.au>
6758
6759 PR target/16480
6760 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Don't abort
6761 on "(mem (symbol_ref ..))" rtl. Look at LO_SUM base regs as well
6762 as PLUS base regs.
6763
e4dc702c
PB
67642005-08-28 Paul Brook <paul@codesourcery.com>
6765
6766 * config/arm/symbian.h (SUBTARGET_ASM_FLOAT_SPEC): Default to
6767 -mfpu=vfp -march=armv5t
37d5a9a5 6768 * config/arm/t-symbian: Change multilib to mfloat-abi=softfp.
e4dc702c 6769
6dd53648
RH
67702004-08-25 Richard Henderson <rth@redhat.com>
6771
6772 * target-def.h (TARGET_SCALAR_MODE_SUPPORTED_P): New.
6773 * target.h (struct gcc_target): Add scalar_mode_supported_p.
6774 * targhooks.c (default_scalar_mode_supported_p): New.
6775 * targhooks.h (default_scalar_mode_supported_p): Declare.
6776 * doc/tm.texi (TARGET_SCALAR_MODE_SUPPORTED_P): Document.
6777
6778 * c-common.c (handle_mode_attribute): Query scalar_mode_supported_p
6779 before attempting to create types. Tidy.
6780 * expr.c (vector_mode_valid_p): Use scalar_mode_supported_p.
6781
6782 * config/alpha/alpha.c (alpha_scalar_mode_supported_p): New.
6783 (TARGET_SCALAR_MODE_SUPPORTED_P): New.
6784
bab2b22b
RH
67852004-08-25 Richard Henderson <rth@redhat.com>
6786
6787 * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Don't
6788 set REAL_MODE_FORMAT for TFmode.
6789
c34be55e
ZL
67902004-08-25 Ziemowit Laski <zlaski@apple.com>
6791
6792 * c-decl.c (grokparm): New function.
6793 * c-tree.h (grokparm): New prototype.
6794
4c124b4c
AM
67952004-08-25 Andrew MacLeod <amacleod@redhat.com>
6796
6797 * tree-ssa-operands.h (struct ssa_operand_iterator_d): New. SSA operand
6798 iterator controlling structure.
6799 (SSA_OP_USE, SSA_OP_DEF, SSA_OP_VUSE, SSA_OP_VMAYUSE, SSA_OP_VMAYDEF,
6800 SSA_OP_VMUSTDEF, SSA_OP_VIRTUAL_USES, SSA_OP_VIRTUAL_DEFS,
6801 SSA_OP_ALL_USES, SSA_OP_ALL_DEFS, SSA_OP_ALL_OPERANDS): New. Operand
6802 iterator flags.
6803 (FOR_EACH_SSA_TREE_OPERAND): New. Iterate over operands as trees.
6804 (FOR_EACH_SSA_USE_OPERAND): New. Iterate over operands as uses.
6805 (FOR_EACH_SSA_DEF_OPERAND): New. Iterate over operands as defs.
6806 (FOR_EACH_SSA_MAYDEF_OPERAND): New. Iterate over V_MAY_DEFs.
5906d013 6807 * tree-ssa-operands.c (NULL_DEF_OPERAND_P, NULL_USE_OPERAND_P): New.
4c124b4c
AM
6808 Empty operand pointers.
6809 * tree-flow-inline.h (op_iter_done): New. Return true if finished.
6810 (op_iter_next_use): New. Return next use_operand_p.
6811 (op_iter_next_def): New. Return next def_operand_p.
6812 (op_iter_next_tree): New. Return next operands as a tree.
6813 (op_iter_init): New. Initialize an iterator structure.
6814 (op_iter_init_use): New. Initialize structure and get the first use.
6815 (op_iter_init_def): New. Initialize structure and get the first def.
6816 (op_iter_init_tree): New. Initialize structure and get the first tree.
6817 (op_iter_next_maydef): New. Return next V_MAY_DEF operands.
5906d013 6818 (op_iter_init_maydef): New. Initialize structure and get the first
4c124b4c
AM
6819 V_MAY_DEF operands.
6820 * tree-cfg.c (tree_duplicate_bb): Use new operand iterator.
5906d013 6821 * tree-dfa.c (compute_immediate_uses_for_stmt,
4c124b4c
AM
6822 redirect_immediate_uses): Use new operand iterator.
6823 (v_may_defs_disappeared_p, v_must_defs_disappeared_p): Delete.
6824 (mark_new_vars_to_rename): Use new operand iterator. Count virtual
6825 operands instead of using *_disappeared_p routines.
6826 * tree-into-ssa.c (mark_def_sites, ssa_mark_def_sites, rewrite_stmt,
6827 ssa_rewrite_stmt): Use new operand iterator.
6828 * tree-outof-ssa.c (check_replaceable, find_replaceable_in_bb,
6829 rewrite_trees): Use new operand iterator.
6830 * tree-pretty-print.c (dump_vops): Use new operand iterator.
6831 * tree-sra.c (mark_all_v_defs): Use new operand iterator.
5906d013 6832 * tree-ssa-alias.c (compute_points_to_and_addr_escape,
4c124b4c 6833 dump_points_to_info): Use new operand iterator.
5906d013
EC
6834 * tree-ssa-ccp.c (cp_lattice_meet, visit_stmt, initialize,
6835 replace_uses_in, replace_vuse_in, likely_value, set_rhs): Use new
4c124b4c 6836 operand iterator.
5906d013 6837 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary,
4c124b4c
AM
6838 propagate_necessity): Use new operand iterator.
6839 * tree-ssa-dom.c (cprop_into_stmt, optimize_stmt): Use operand iterator.
6840 (register_definitions_for_stmt): Use new operand iterator. Take stmt as
6841 a parameter instead of a stmt_ann_t.
6842 * tree-ssa-live.c (create_ssa_var_map, calculate_live_on_entry,
6843 build_tree_conflict_graph): Use new operand iterator.
6844 * tree-ssa-loop-im.c (determine_max_movement, single_reachable_address,
6845 rewrite_mem_refs): Use new operand iterator.
5906d013 6846 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt,
4c124b4c
AM
6847 check_loop_closed_ssa_use): Use new operand iterator.
6848 * tree-ssa.c (verify_ssa, replace_immediate_uses): Use operand iterator.
6849 * tree-ssanames.c (release_defs): Use new operand iterator.
6850 * tree-vectorizer.c (vect_create_data_ref): Use new operand iterator.
6851
4185f1ce
AN
68522004-08-25 Adam Nemet <anemet@lnxw.com>
6853
6854 * tlink.c (initial_cwd): New variable.
6855 (tlink_init): Initialize it.
6856 (recompile_files): Use tlink_execute() instead of system(). Don't
6857 duplicate verbose output of collect_execute. Restore initial_cwd.
6858 Update comment before the function.
6859
700686fa
ZL
68602004-08-25 Ziemowit Laski <zlaski@apple.com>
6861
6862 * c-typeck.c (build_c_cast): In ObjC, always preserve (and silently
6863 accept) a cast from one Objective-C pointer type to another.
6864
7fb654ef
PC
68652004-08-25 Paolo Carlini <pcarlini@suse.de>
6866
6867 * doc/install.texi: Document that libstdc++-v3 requires
6868 now automake 1.9.1.
6869
8e8d5162
CT
68702004-08-25 Caroline Tice <ctice@apple.com>
6871
6872 * bb-reorder.c (partition_hot_cold_basic_blocks): Add more details
6873 to comments at start of function.
6874 * cfgbuild.c (make_edges): Add more details to hot/cold partitioning
6875 comment.
5906d013
EC
6876 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
6877 merge_blocks_move_predecessor_nojumps,
6878 merge_blocks_move_successor_nojumps, merge_blocks_move,
8e8d5162
CT
6879 try_crossjump_to_edge, try_crossjump_bb): Likewise.
6880 * cfglayout.c (fixup_reorder_chain): Likewise.
6881 * cfgrtl.c (rtl_can_merge_blocks, try_redirect_by_replacing_jump,
6882 cfg_layout_can_merge_blocks_p): Likewise.
6883 * ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
5906d013 6884 * passes.c (rest_of_compilation): Update comments for calling
8e8d5162 6885 optimization that partitions hot/cold basic blocks.
5906d013 6886 * doc/invoke.texi: Update documentation of
8e8d5162 6887 freorder-blocks-and-partition flag.
5906d013 6888
41a21e1d
RS
68892004-08-25 Richard Sandiford <rsandifo@redhat.com>
6890
6891 * config/mips/mips.md (reg): Renamed mode attribute from ccreg.
6892 (*mov*_on_*): Adjust accordingly. Add an explicit MOVECC: prefix.
6893
e5f14571
RS
68942004-08-25 Richard Sandiford <rsandifo@redhat.com>
6895
6896 * config/mips/mips.md (any_shift): New code macro.
6897 (optab, insn): New code attributes.
6898 ({ashl,ashr,lshr}[sd]i3): Redefine using :GPR and any_shift.
6899 Use the standard rather than internal patterns for the MIPS16
6900 double-shift optimization.
6901 (*{ashl,ashr,lshr}[sd]i3): New names for the non-mips16 shift patterns.
6902 Redefine using :GPR and any_shift.
6903 (*{ashl,ashr,lshr}si3_extend): Generalize ashlsi3_internal1_extend
6904 to cover all three shifts.
6905 (*{ashl,ashr,lshr}si3_mips16): New names for the mips16 SImode shifts.
6906 Redefine using any_shift. Use :GPR and any_shift to combine splitters.
6907 (*{ashl,ashr,lshr}di3_mips16): New names for the mips16 DImode shifts.
6908
bbbb79d4
GK
69092004-08-24 Geoffrey Keating <geoffk@apple.com>
6910
6911 * gimplify.c (lookup_tmp_var): Separate temporaries when not
6912 optimizing.
6913
d711cf67
JDA
69142004-08-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6915
6916 PR libstdc++/17005 (fix for HP-UX 11.11)
6917 * config.gcc (hppa*-*-*): Move MASK_BIG_SWITCH to target_cpu_default2.
6918 (hppa*-*-hpux*): Consolidate hppa1.0-*-* code. Rework handling of
5906d013 6919 tm_file including pa-hpux1010.h or pa-hpux1111.h when appropriate.
d711cf67
JDA
6920 * config/pa/pa-hpux1010.h, config/pa/pa-hpux1111.h: New files.
6921 * config/pa/pa-hpux.h (TARGET_HPUX): Define.
6922 (LINK_SPEC): Handle march=1.0 option.
6923 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
6924 and _XOPEN_SOURCE_EXTENDED for UNIX 95.
6925 (SUBTARGET_OPTIONS): New define.
6926 (LINK_SPEC): Handle march=1.0 option.
6927 (STARTFILE_SPEC): New define.
6928 * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
6929 and _XOPEN_SOURCE_EXTENDED for UNIX 95. Additionally, predefine
6930 _INCLUDE__STDC_A1_SOURCE and _INCLUDE_XOPEN_SOURCE_500 for UNIX 98.
6931 (SUBTARGET_OPTIONS): New define.
6932 (LINK_SPEC): Handle march=1.0 option.
6933 (STARTFILE_SPEC): New define.
6934 * config/pa/pa.c (override_options): Add code to process -munix= option.
6935 * config/pa/pa.h (pa_unix_string, flag_pa_unix): Declare.
6936 (TARGET_HPUX, TARGET_HPUX_10_10, TARGET_HPUX_11_11): Provide default
6937 defines.
6938 (TARGET_OPTIONS): Add SUBTARGET_OPTIONS to option list.
6939 (SUBTARGET_OPTIONS): Provide default define.
6940 * config/pa/pa64-hpux.h (STANDARD_STARTFILE_PREFIX_1,
6941 STANDARD_STARTFILE_PREFIX_2): New defines.
6942 (STARTFILE_SPEC): Provide unix95.o or unix98.o startfiles as necessary.
6943 (ENDFILE_SPEC): Use %O.
6944 * doc/install.texi (hppa*-*-hpux*): Reword paragraph on -g and gas.
6945 Mention issue caused by changing namespace and runtime to UNIX 95/98.
6946 * doc/invoke.texi (HPPA options): Move misplaced text to FRV options.
6947 Document -munix=std option.
6948
5affca01
SB
69492004-08-25 Steven Bosscher <stevenb@suse.de>
6950
6951 * cse.c (cse_around_loop, cse_check_loop_start,
6952 cse_set_around_loop): Remove.
6953 (cse_basic_block): Remove the around_loop argument.
6954 (cse_end_of_basic_block): Remove the after_loop argument.
6955 (cse_main): Likewise.
6956 * rtl.h (cse_main): Update prototype.
6957 * passes.c (rest_of_handle_cse, rest_of_handle_cse2,
6958 rest_of_handle_gcse): Update cse_main calls.
6959
7d60be94
NS
69602004-08-25 Nathan Sidwell <nathan@codesourcery.com>
6961
6962 * tree.h (build_int_cst): New, sign extended constant.
6963 (build_int_cstu): New, zero extended constant.
6964 (build_int_cst_wide): Renamed from build_int_cst.
6965 * tree.c (build_int_cst, build_int_cstu): New.
6966 (build_int_cst_wide): Renamed from build_int_cst.
6967 (make_vector_type, build_common_tree_nodes,
6968 build_common_tree_nodes_2): Adjust build_int_cst calls.
6969 * builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
6970 expand_builtin_strpbrk, expand_builtin_fputs,
6971 build_string_literal, expand_builtin_printf,
6972 expand_builtin_sprintf, fold_builtin_classify_type,
6973 fold_builtin_lround, fold_builtin_bitop, fold_builtin_isascii,
6974 fold_builtin_toascii, fold_builtin_isdigit,
6975 simplify_builtin_strstr, simplify_builtin_strpbrk,
6976 fold_builtin_fputs, simplify_builtin_sprintf): Likewise.
6977 * c-common.c (start_fname_decls, fix_string_type, shorten_compare,
6978 DEF_ATTR_INT): Likewise.
6979 * c-decl.c (complete_array_type, check_bitfield_type_and_width):
6980 Likewise.
6981 * c-lex.c (interpret_integer, lex_charconst): Likewise.
6982 * c-parse.in (primary) <TYPES_COMPATIBLE_P> Likewise.
6983 * c-pretty-print.c (pp_c_integer_constant): Likewise.
6984 * c-typeck.c (really_start_incremental_init, push_init_level,
6985 set_nonincremental_init_from_string): Likewise.
6986 * calls.c (load_register_parameters): Likewise.
6987 convert.c (convert_to_pointer): Likewise.
6988 coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
6989 build_fn_info_type, build_fn_info_value, build_ctr_info_value,
6990 build_gcov_info): Likewise.
6991 * except.c (init_eh, assign_filter_values): Likewise.
6992 * expmed.c (store_fixed_bit_field, extract_bit_field,
6993 extract_fixed_bit_field, extract_split_bit_field, expand_shift,
6994 expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
6995 expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
6996 * expr.c (convert_move, emit_group_load, emit_group_store,
6997 expand_assignment, store_constructor, store_field,
6998 expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
6999 fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
7000 invert_truthvalue, optimize_bit_field_compare,
7001 decode_field_reference, all_ones_mask_p, constant_boolean_node,
7002 fold_div_compare, fold, fold_read_from_constant_string,
7003 fold_negate_const, fold_abs_const, fold_not_const, round_up,
7004 round_down): Likewise.
7005 * function.c (assign_parm_setup_block): Likewise.
7006 * stmt.c (shift_return_value, expand_case, estimate_case_costs):
7007 Likewise.
7008 * stor-layout.c (layout_type, initialize_sizetypes,
7009 set_min_and_max_values_for_integral_type): Likewise.
7010 * tree-chrec.c (chrec_fold_multiply_poly_poly,
7011 reset_evolution_in_loop): Likewise.
7012 * tree-chrec.h (build_polynomial_chrec): Likewise.
7013 * tree-complex.c (build_replicated_const): Likewise.
7014 * tree-eh.c (honor_protect_cleanup_actions,
7015 lower_try_finally_onedest, lower_try_finally_copy,
7016 lower_try_finally_switch): Likewise.
7017 * tree-mudflap.c (mf_build_string, mx_register_decls,
7018 mudflap_register_call, mudflap_enqueue_constant): Likewise.
7019 * tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
7020 * tree-pretty-print.c (dump_generic_node): Likewise.
7021 * tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
7022 Likewise.
7023 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
7024 * tree-ssa-loop-niter.c (number_of_iterations_cond,
7025 loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
7026 Likewise.
7027 * tree-ssa-loop-ivcanon.c (create_canonical_iv,
7028 canonicalize_loop_induction_variables): Likewise.
7029 * tree-vectorizer.c (vect_create_index_for_array_ref,
7030 vect_transform_loop_bound, vect_compute_data_ref_alignment):
7031 Likewise.
7032
7033 * config/alpha/alpha.c (alpha_initialize_trampoline, alpha_va_start,
7034 alpha_gimplify_va_arg_1): Likewise.
7035 * config/arm/arm.c (arm_get_cookie_size): Likewise.
7036 * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
7037 * config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
7038 * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
7039 * config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
7040 mips_gimplify_va_arg_expr): Likewise.
7041 * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
7042 * config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
7043 add_compiler_branch_island): Likewise.
7044 * config/s390/s390.c (s390_va_start): Likewise.
7045 * config/sh/sh.c (sh_va_start): Likewise.
7046 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
7047 Likewise.
7048 * config/xtensa/xtensa.c (xtensa_va_start,
7049 xtensa_gimplify_va_arg_expr): Likewise.
5906d013 7050
7d60be94
NS
7051 * objc/objc-act.c (build_objc_string_object,
7052 build_objc_symtab_template, init_def_list, init_objc_symtab,
7053 init_module_descriptor, generate_static_references,
7054 build_selector_translation_table, get_proto_encoding,
7055 build_typed_selector_reference, build_selector_reference,
7056 build_next_objc_exception_stuff,
7057 build_method_prototype_list_template, generate_descriptor_table,
7058 generate_protocols, build_protocol_initializer,
7059 build_ivar_list_template, build_method_list_template,
7060 build_ivar_list_initializer, generate_ivars_list,
7061 generate_dispatch_table, generate_protocol_list,
7062 build_category_initializer, build_shared_structure_initializer,
7063 generate_shared_structures, handle_impent,
7064 generate_objc_image_info): Likewise.
7065
8b63d0e5
PB
70662004-04-25 Paolo Bonzini <bonzini@gnu.org>
7067
7068 * cfglayout.c (duplicate_insn_chain): Remove references to
7069 NOTE_INSN_LOOP_VTOP and NOTE_INSN_LOOP_CONT.
7070 * cfgloop.h (struct loop): Remove fields vtop, cont and cont_dominator.
7071 * cfgrtl.c (rtl_delete_block): Remove handling of NOTE_INSN_LOOP_CONT.
7072 * final.c (final_scan_insn): Remove references to NOTE_INSN_LOOP_VTOP
7073 and NOTE_INSN_LOOP_CONT.
7074 * insn-notes.def (NOTE_INSN_LOOP_VTOP, NOTE_INSN_LOOP_CONT): Remove.
7075 * jump.c (squeeze_notes): Remove references to NOTE_INSN_LOOP_VTOP
7076 and NOTE_INSN_LOOP_CONT.
7077 * loop.c (scan_loops, find_and_verify_loops, for_each_insn_in_loop,
7078 check_dbra_loop, loop_dump_aux): Remove references to removed notes
7079 and fields.
7080 * reorg.c (mostly_true_jump): Do not rely on NOTE_INSN_LOOP_VTOPs.
7081 * unroll.c (unroll_loop, copy_loop_body, loop_iterations): Remove
7082 references to removed notes and fields.
7083 (subtract_reg_term, ujump_to_loop_cont): Remove.
7084
078e3ffe
PB
70852004-08-25 Paolo Bonzini <bonzini@gnu.org>
7086
8b63d0e5 7087 * doc/install.texi: Document that libcpp does not require
078e3ffe
PB
7088 Automake any longer. Document that Automake 1.9.1 should
7089 work everywhere.
7090
f8ca7e49
ZW
70912004-08-25 Zack Weinberg <zack@codesourcery.com>
7092
7093 * flags.h (enum debug_info_type): Remove DWARF_DEBUG.
7094 * defaults.h (PREFERRED_DEBUGGING_TYPE): Remove check for
7095 DWARF_DEBUGGING_INFO from choice-of-definition chain;
7096 restructure using C89 features (#elif, #error).
7097 * c-lex.c, final.c, opts.c, config/cris/cris.c, config/frv/frv.c
7098 * config/sh/sh.h: Remove references to DWARF_DEBUG.
7099 * doc/invoke.texi: Remove references to DWARF version 1;
7100 clarify why -gdwarf-2<n> doesn't work.
7101
51a904c9
ZW
71022004-08-25 Zack Weinberg <zack@codesourcery.com>
7103
7104 * basic-block.h (BB_SET_PARTITION): Clear old value first.
7105 * cfg.c (clear_bb_flags): Don't clear partition setting.
69b9b0d2 7106 * ifcvt.c (find_if_case_1): Remove ??? comment.
51a904c9 7107
e548ead9
AM
71082004-08-25 Alan Modra <amodra@bigpond.net.au>
7109
7110 PR target/17052
7111 * config/rs6000/rs6000.h (machine_function): Remove sysv_varargs_p.
7112 * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
7113 current_function_stdarg in place of sysv_varargs_p.
7114 * config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
7115 sysv_varargs_p.
7116
1e19ac74
RH
71172004-08-24 Richard Henderson <rth@redhat.com>
7118
7119 PR target/16298
7120 * config/i386/i386.c (legitimate_constant_p): Rework to not accept
7121 random codes within CONST.
7122
c61225e7
JW
71232004-08-24 James E Wilson <wilson@specifixinc.com>
7124
7125 * Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS): Remove
7126 -freorder-blocks-and-partition.
7127
37840132
JDA
71282004-08-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7129
7130 PR middle-end/17044
7131 * tree-ssa-threadupdate.c (redirection_data): Make static.
7132 (thread_block): Use ggc_alloc_cleared to allocate struct
7133 redirection_data. Don't free elements in redirection_data.
7134
cf1d880b
RS
71352004-08-24 Richard Sandiford <rsandifo@redhat.com>
7136
7137 * config/mips/predicates.md (small_data_pattern): Match prefetches.
7138
b3393f1f
ZD
71392004-08-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7140
7141 PR tree-optimization/17016
7142 * tree-ssa-loop-niter.c (number_of_iterations_cond,
7143 number_of_iterations_exit): Use POINTER_TYPE_P instead
7144 of testing for POINTER_TYPE.
7145
82b85a85
ZD
71462004-08-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7147
7148 * tree-ssa-loop-ivcanon.c: New file.
7149 * tree-ssa-loop-manip.c (create_iv): New function.
7150 * Makefile.in (tree-ssa-loop-ivcanon.o): Add.
7151 (tree-ssa-loop.o, tree-ssa-loop-manip.o): Add SCEV_H dependency.
7152 * cfgloop.c (mark_single_exit_loops): New function.
7153 (verify_loop_structure): Verify single-exit loops.
7154 * cfgloop.h (struct loop): Add single_exit field.
7155 (LOOPS_HAVE_MARKED_SINGLE_EXITS): New constant.
7156 (mark_single_exit_loops): Declare.
7157 (tree_num_loop_insns): Declare.
7158 * cfgloopmanip.c (update_single_exits_after_duplication): New function.
7159 (duplicate_loop_to_header_edge): Use it.
7160 * common.opt (fivcanon): New flag.
7161 * timevar.def (TV_TREE_LOOP_IVCANON, TV_COMPLETE_UNROLL): New timevars.
7162 * tree-cfg.c (tree_find_edge_insert_loc): Return newly created block.
7163 (bsi_commit_edge_inserts_1): Pass null to tree_find_edge_insert_loc.
7164 (bsi_insert_on_edge_immediate): New function.
7165 * tree-flow.h (bsi_insert_on_edge_immediate,
7166 canonicalize_induction_variables, tree_unroll_loops_completely,
7167 create_iv): Declare.
7168 * tree-optimize.c (init_tree_optimization_passes): Add
7169 pass_iv_canon and pass_complete_unroll.
7170 * tree-pass.h (pass_iv_canon, pass_complete_unroll): Declare.
7171 * tree-scalar-evolution.c (get_loop_exit_condition,
7172 get_exit_conditions_rec, number_of_iterations_in_loop,
7173 scev_initialize): Use single_exit information.
7174 * tree-ssa-loop-niter.c (number_of_iterations_cond): Record
7175 missing assumptions.
7176 (loop_niter_by_eval): Return number of iterations as unsigned
7177 int.
7178 * tree-ssa-loop.c (tree_ssa_loop_init): Mark single exit loops.
7179 (tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_iv_canon,
7180 tree_complete_unroll, gate_tree_complete_unroll, pass_complete_unroll):
7181 New passes.
7182 (tree_ssa_loop_done): Call free_numbers_of_iterations_estimates.
7183 * tree-ssanames.c (make_ssa_name): Allow creating ssa name before
7184 the defining statement is ready.
7185 * tree-vectorizer.c (vect_create_iv_simple): Removed.
7186 (vect_create_index_for_array_ref, vect_transform_loop_bound):
7187 Use create_iv.
7188 (vect_transform_loop_bound): Use single_exit information.
7189 (vect_analyze_loop_form): Cleanup bogus tests.
7190 (vectorize_loops): Do not call flow_loop_scan.
7191 * tree.h (may_negate_without_overflow_p): Declare.
7192 * fold-const.c (may_negate_without_overflow_p): Split out from ...
7193 (negate_expr_p): ... this function.
7194 (tree_expr_nonzero_p): Handle overflowed constants correctly.
7195 * doc/invoke.texi (-fivcanon): Document.
7196 * doc/passes.texi: Document canonical induction variable creation.
7197
b3c90666
RS
71982004-08-24 Richard Sandiford <rsandifo@redhat.com>
7199
7200 * config/mips/mips.h (ISA_HAS_INT_CONDMOVE): Delete.
7201 * config/mips/mips.c (print_operand): Fold %B/%b handling into %T/%t,
7202 using the mode of the operand to decide between them.
7203 * config/mips/mips.md (MOVECC): New mode macro.
7204 (ccreg): New mode attribute.
7205 (*mov{si,di,sf,df}_on_{cc,si,di}): Name formerly unnamed patterns.
7206 Redefine using :GPR and :MOVECC. Use %T and %t for the condition.
7207 (mov[sd]icc): Redefine using :GPR.
7208
4767c570
RS
72092004-08-24 Richard Sandiford <rsandifo@redhat.com>
7210
04550232
RS
7211 * config/mips/mips-protos.h (mips_emit_prefetch): Delete.
7212 (mips_prefetch_cookie): New function.
7213 * config/mips/mips.c (print_operand_address): Fix handling of
7214 ADDRESS_CONST_INT.
7215 (mips_emit_prefetch): Delete.
7216 (mips_prefetch_cookie): New function.
7217 * config/mips/mips.md (prefetch): Turn into a define_insn. Use a
7218 mode of QImode for the address_operand. Use mips_prefetch_cookie
7219 to calculate the first "pref" operand.
7220 (prefetch_[sd]i, prefetch_[sd]i_address): Delete.
7221 (prefetch_indexed_[sd]i): Redefine using :P. Use mips_prefetch_cookie.
4767c570 7222
a657c98a
RE
72232004-08-24 Richard Earnshaw <rearnsha@arm.com>
7224
7225 * arm.md: Include predicates.md.
7226 * predicates.md: New file.
7227 * arm.c (s_register_operand, arm_hard_register_operand)
7228 (arm_general_register_operand, f_register_operand, reg_or_int_operand)
7229 (arm_immediate_operand, arm_neg_immediate_operand)
7230 (arm_not_immediate_operand, arm_rhs_operand, arm_rhsm_operand)
7231 (arm_add_operand, arm_addimm_operand, arm_not_operand)
7232 (offsettable_memory_operand, alignable_memory_operand)
7233 (arm_reload_memory_operand, arm_float_rhs_operand)
7234 (arm_float_add_operand, vfp_compare_operand, arm_float_compare_operand)
7235 (index_operand, shiftable_operator, logical_binary_operator)
7236 (shift_operator, equality_operator, arm_comparison_operator)
7237 (minmax_operator, cc_register, dominant_cc_register)
7238 (arm_extendqisi_mem_op, power_of_two_operand, nonimmediate_di_operand)
7239 (di_operand, nonimmediate_soft_df_operand, soft_df_operand)
7240 (const_shift_operand, load_multiple_operation)
7241 (store_multiple_operation, multi_register_push, thumb_cmp_operand)
7242 (thumb_cmpneg_operand, thumb_cbrch_target_operand)
7243 (cirrus_register_operand, cirrus_fp_register)
7244 (cirrus_shift_const): Delete, replaced with equivalents in
7245 predicates.md.
7246 (shift_op): Handle ROTATE.
7247 * arm-protos.h: Delete declarations for above.
7248 * arm.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete.
7249 * t-arm (MD_INCLUDES): Add predicates.md.
7250 (s-preds): Depends on MD_INCLUDES.
7251
886ce862
RS
72522004-08-24 Richard Sandiford <rsandifo@redhat.com>
7253
7254 * config/mips/mips.c (mips_gen_conditional_trap): Fix mode.
7255 * config/mips/mips.md (*conditional_trap[sd]i): Name previously unnamed
7256 patterns. Redefine using :GPR. Give the match_operator a mode.
7257 Use '%2' rather than '%z2' for operand 2.
7258
be659abd
RS
72592004-08-24 Richard Sandiford <rsandifo@redhat.com>
7260
7261 * config/mips/mips.md (load_call[sd]i): Redefine using :P. Add mode
7262 attribute.
7263
92dcb882
RS
72642004-08-24 Richard Sandiford <rsandifo@redhat.com>
7265
7266 * config/mips/mips.md (indirect_jump): Use force_reg. Adjust names
7267 of internal patterns.
7268 (indirect_jump[sd]i): Renamed from indirect_jump_internal[12].
7269 Redefine using :P.
7270 (tablejump): Use expand_binop to calculate address. Adjust names
7271 of internal patterns.
7272 (tablejump[sd]i): Renamed from tablejump_internal[12].
7273 Redefine using :P.
7274 (tablejump_mips16[12]): Delete.
7275
a0160289
RS
72762004-08-24 Richard Sandiford <rsandifo@redhat.com>
7277
7278 * config/mips/mips.md (*seq_[sd]i, *seq_[sd]i_mips16, *sne_[sd]i)
7279 (*sgt_[sd]i, *sgt_[sd]i_mips16, *sge_[sd]i, *slt_[sd]i)
7280 (*slt_[sd]i_mips16, *sle_[sd]i, *sle_[sd]i_mips16, *sgtu_[sd]i)
7281 (*sgtu_[sd]i_mips16, *sge_[sd]i, *sltu_[sd]i, *sltu_[sd]i_mips16)
7282 (*sleu_[sd]i, *sleu_[sd]i_mips16): Redefine using :GPR.
7283
2c4402f4
RS
72842004-08-24 Richard Sandiford <rsandifo@redhat.com>
7285
7286 * config/mips/mips.md (cmpsi, cmpdi): Redefine using :GPR.
7287 (*branch_zero[sd]i): Renamed from branch_zero{,_di}. Redefine
7288 using :GPR.
7289 (*branch_zero[sd]i_inverted): Likewise branch_zero{,_di}_inverted.
7290 (*branch_equality[sd]i): Likewise branch_equality{,_di}.
7291 (*branch_equality[sd]i_inverted): Likewise
7292 branch_equality{,_di}_inverted.
7293 (*branch_equality[sd]i_mips16): Name formerly unnamed patterns.
7294 Redefine using :GPR.
7295
b5c2f1d1
ZW
72962004-08-24 Zack Weinberg <zack@codesourcery.com>
7297
7298 * rtl.def: Reorganize, placing all codes used only in machine
7299 descriptions at the end.
7300
9e995780
ZW
7301 * rtl.def: Wrap MD-only codes in #ifdef GENERATOR_FILE.
7302 * gengtype.c: Don't include rtl.h. Define enum rtx_code and
7303 rtx_name, rtx_format arrays by direct reference to rtl.def,
7304 first undefining GENERATOR_FILE. Define enum insn_note and
7305 note_insn_name array by direct reference to insn-notes.def.
7306 (adjust_field_rtx_def): Remove local definition of rtx_name.
7307 Use symbolic names for insn notes.
7308 * Makefile.in (gengtype.o): Update dependencies.
7309
076c7ab8
ZW
73102004-08-24 Zack Weinberg <zack@codesourcery.com>
7311
7312 * basic-block.h (struct basic_block_def): Reorder fields to
7313 eliminate interior padding. Remove 'partition' field.
7314 (BB_DISABLE_SCHEDULE, BB_HOT_PARTITION, BB_COLD_PARTITION)
7315 (BB_UNPARTITIONED, BB_PARTITION, BB_SET_PARTITION)
7316 (BB_COPY_PARTITION): New macros.
7317 * bb-reorder.c, cfgcleanup.c, cfglayout.c, cfgrtl.c, ifcvt.c
7318 Replace all references to the 'partition' field of a basic
7319 block with new macros.
7320
7321 * insn-notes.def: Delete NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
7322 * final.c (final_scan_insn): Don't handle it.
7323 * modulo-sched.c: Set BB_DISABLE_SCHEDULE flag on g->bb
7324 instead of emitting a NOTE_INSN_DISABLE_SCHED_OF_BLOCK note.
7325 * sched-rgn.c (sched_is_disabled_for_current_region_p):
7326 Look for a BB_DISABLE_SCHEDULE flag on the block instead of a note.
7327
8c1d6d62
NS
73282004-08-24 Nathan Sidwell <nathan@codesourcery.com>
7329
7330 * c-decl.c (c_init_decl_processing): Adjust
7331 build_common_tree_nodes call.
7332 * expmed.c (const_mult_add_overflow_p): Use
7333 build_distinct_type_copy.
7334 * stor-layout.c (early_type_list): Remove.
7335 (layout_type): Don't append to early_type_list.
7336 (initialize_sizetypes): Add signed_p argument.
7337 (set_sizetype): Overwrite the stub type nodes directly.
7338 * tree.c (copy_node_stat): Clear a type's value cache here ...
7339 (build_distinct_type): ... not here.
7340 (build_common_tree_nodes): Add signed_sizetype argument. Adjust.
7341 * tree.h (initialize_sizetypes): Add signed_p argument.
7342 (build_common_tree_nodes): Likewise.
7343
7344 * objc/objc-act.c (get_static_reference): Use
7345 build_variant_type_copy.
7346 (get_protocol_reference): Likewise.
7347 * objc/objc-act.h (TREE_STATIC_TEMPLATE): Use TREE_PRIVATE.
7348
97dc04b3 73492004-08-24 Richard Henderson <rth@redhat.com>
076c7ab8 7350 Andrew Pinski <apinski@apple.com>
97dc04b3
RH
7351
7352 * gimplify.c (gimplify_array_ref_to_plus): Delete.
7353 (gimplify_addr_expr): Do not call gimplify_array_ref_to_plus
7354 for ARRAY_REF.
7355
7356 * config/rs6000/rs6000.c (altivec_expand_builtin): Go passed
7357 ARRAY_REF also to get to the STRING_CST.
7358
72cdc543
PB
73592004-08-24 Paul Brook <paul@codesourcery.com>
7360
7361 * config/arm/arm.c (arm_override_options): Update error message.
7362 * config/arm/arm.h (TARGET_HARD_FLOAT): Rename to
7363 TARGET_HARD_FLOAT_ABI.
7364 (TARGET_SOFT_FLOAT_ABI): Rename to TARGET_HARD_FLOAT.
7365 (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Use TARGET_HARD_FLOAT_ABI.
7366
bd5ca07e
NC
73672004-08-24 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
7368
7369 PR target/17093
7370 * config/m32r.md (movsi_sda): Add SI mode specification to
7371 UNSPEC.
7372
73732004-08-24 Nick Clifton <nickc@redhat.com>
7374
7375 * config/m32r/m32r.h (PREDICATE_CODES): Remove duplicate definition
7376 of seth_add3_operand.
7377
d46cd2be
NS
73782004-08-24 Nathan Sidwell <nathan@codesourcery.com>
7379
7380 * Makefile.in (PROTO_OBJS): Add errors.o.
7381 * protoize.c (fancy_abort): Remove.
7382 * mips-tfile.c (fancy_abort): Add parameters.
7383
748fa294
JW
73842004-08-24 Jonathan Wakely <redi@gcc.gnu.org>
7385
7386 * doc/trouble.texi (C++ misunderstandings): Fix example code.
7387
4505f099
AT
73882004-08-24 Andreas Tobler <a.tobler@schweiz.ch>
7389
7390 * Makefile.in (HOOKS_H): Add dependency on MACHMODE_H.
7391 (host-default.o): Add dependency on HOOKS_H.
7392 * config/x-linux: Likewise.
7393 * config/x-solaris: Likewise.
7394 * config/i386/x-mingw32: Likewise.
7395 * config/rs6000/x-darwin: Likewise.
7396
a2fe1975
JW
73972004-08-23 James E Wilson <wilson@specifixinc.com>
7398
7399 * reg-notes.def (REG_NOTE): In comment, change DEF_INSN_NOTE to
7400 DEF_REG_NOTE.
7401
c3f216e2
MM
74022004-08-23 Mark Mitchell <mark@codesourcery.com>
7403
7404 PR c/14492
7405 * dwarf2out.c (loc_descriptor_from_tree): Robustify.
7406
2e6ae27f
DN
74072004-08-23 Diego Novillo <dnovillo@redhat.com>
7408
7409 * cfg.c (check_bb_profile): Fix typos.
7410 * function.c (assign_parm_is_stack_parm): Likewise.
7411 * tree-nested.c: Likewise.
7412
d685c974
DJ
74132004-08-23 Daniel Jacobowitz <dan@debian.org>
7414
7415 * ggc-zone.c (struc alloc_chunk): Rearrange flag bits and SIZE.
7416 Remove TYPECODE.
7417 (ggc_alloc_zone_1): Mark TYPE as unused. Don't save it in the chunk.
7418
f676971a
EC
74192004-08-23 Eric Christopher <echristo@redhat.com>
7420
7421 * defaults.h (VECTOR_MODE_SUPPORTED_P): Remove macro.
7422 * system.h (VECTOR_MODE_SUPPORTED_P): Poison.
7423 * target-def.h (TARGET_VECTOR_MODE_SUPPORTED_P): Define.
7424 * target.h: Ditto.
7425 * hooks.h: Include machmode.h.
7426 (hook_bool_mode_false): Declare.
7427 * hooks.c (hook_bool_mode_false): Define.
7428 * expr.c (vector_mode_valid_p): Use targetm.vector_mode_supported_p.
7429 * stor-layout.c (layout_type): Ditto.
7430 * config/alpha/alpha.c (alpha_vector_mode_supported_p): New function.
7431 Define to target macro.
7432 * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): Delete.
7433 * config/arm/arm.c: Ditto. Use.
7434 * config/arm/arm.h: Ditto.
7435 * config/arm/arm-protos.h: Ditto.
7436 * config/i386/i386.c: Ditto.
7437 * config/i386/i386.h: Ditto.
7438 * config/rs6000/rs6000.c: Ditto.
7439 * config/rs6000/rs6000.h: Ditto.
7440 * config/sh/sh.c: Ditto.
7441 * config/sh/sh.h: Ditto.
7442 * config/sh/sh-protos.h: Ditto.
7443 * config/sh/sh.md: Use.
7444 * doc/tm.texi: Move documentation for VECTOR_MODE_SUPPORTED_P
7445 to TARGET_VECTOR_MODE_SUPPORTED_P.
7446
8dd16ecc
NS
74472004-08-23 Nathan Sidwell <nathan@codesourcery.com>
7448
b3d1f5b4
NS
7449 * Makefile.in (BUILD_ERRORS): Set to build-errors.
7450 (errors.o): New target for host.
7451 (build-errors.o): New target for build.
7452 (genobjs): Replace errors.o with build-errors.
7453 (gengenrtl$(buildexeext)): Add $(BUILD_ERRORS).
7454 (GCOV_OBJS, GCOV_DUMP_OBJS): Add errors.o.
7455 (fix-headers$(build_exeext)): Add $(BUILD_ERRORS).
7456 (fix-header.o): Add errors.h
7457 * collect2.c (fancy_abort): Add parameters.
7458 * collect2.h (fancy_abort): Don't declare.
7459 * errors.h (fancy_abort): Don't declare.
7460 * errors.c: Include either bconfig.h or config.h.
7461 (fancy_abort): Trim filename.
7462 * fix-header.c (v_fatal, fatal): Remove.
7463 (progname): Remove definition.
7464 (main): Set progname here.
7465 * gcc.c (fancy_abort): Add parameters.
7466 * gcc.h (fancy_abort): Remove declaration.
7467 * gcov.c (fancy_abort): Remove.
7468 * rtl.h (fancy_abort): Don't declare.
7469 (abort): Don't define.
7470 * tree.h (fancy_abort): Don't declare.
7471 (abort): Don't define.
7472 * system.h (fancy_abort): Declare.
7473 (abort): Define to fancy_abort.
7474 * fixinc/Makefile.in (ALLOBJ): Add ../build-errors.o
7475
be88a628
NS
7476 * tree.h (enum size_type_kind): Remove USIZETYPE, UBITSIZETYPE.
7477 (usize_type, ubitsizetype): Remove.
7478 * stor-layout.c (set_sizetype): Don't initialize usizetype,
7479 ubitsizetype.
7480 * fold-const.c (size_diffop): TYPE can never be ubitsizetype.
7481
8dd16ecc
NS
7482 * tree.h (build_distinct_type_copy): New.
7483 (build_type_copy): ... here. Rename to ...
7484 (build_variant_type_copy): ... here.
7485 * tree.c (build_qualified_type): Rename build_type_copy call.
7486 (build_distinct_type_copy): New, broken out of ...
7487 (build_type_copy): ... here. Rename to ...
7488 (build_variant_type_copy): ... here. Use
7489 build_distinct_type_copy.
7490 (build_common_tree_nodes_2): Rename build_type_copy call.
7491 * c-common.c (c_common_nodes_and_builtins): Rename build_type_copy
7492 call.
7493 (handle_packed_attribute, handle_unused_attribute,
7494 handle_transparanet_union_attribute, handle_aligned_attribute,
7495 handle_deprecated_attribute): Likewise.
7496 * c-decl.c (clone_underlying_type, store_parm_decls_oldstyle):
7497 Likewise.
7498 * config/arm/arm.c (arm_handle_isr_attribyte): Likewise.
7499 * config/rs6000/rs6000.c (rs6000_init_builtins): Use
7500 build_distinct_type_copy.
7501
e8bf0f3b
RS
75022004-08-23 Richard Sandiford <rsandifo@redhat.com>
7503
7504 * config/mips/mips.md (mfhilo_[sd]i): Redefine using :GPR. Add mode
7505 attribute.
7506
4d06ed0a
RS
75072004-08-23 Richard Sandiford <rsandifo@redhat.com>
7508
7509 * config/mips/mips.md (length): Don't use mips_fetch_insns for indexed
7510 loads and stores.
7511 (*lwxc1_<mode>, *ldxc1_<mode>, *swxc1_<mode>, *sdxc1_<mode>): Name
7512 formerly unnamed patterns. Redefine using :P for the address. Remove
7513 explicit length attributes.
7514
a3631d97
ZD
75152004-08-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7516
7517 * tree-ssa-loop-im.c (fem_single_reachable_address, for_each_memref):
7518 New functions.
7519 (single_reachable_address): Use them.
7520 (schedule_sm): Add dump.
7521 (is_call_clobbered_ref): New function.
7522 (determine_lsm_reg): Check whether the reference is call clobbered.
7523 Only work for gimple_reg_type values.
7524
b1f58428
RS
75252004-08-23 Richard Sandiford <rsandifo@redhat.com>
7526
7527 * config/mips/mips.md (*mov<mode>_ra): Name previously unnamed MIPS16
7528 $31 store insns. Redefine using :GPR.
7529
237b301e
RS
75302004-08-23 Richard Sandiford <rsandifo@redhat.com>
7531
7532 * config/mips/mips.md (P): New mode macro.
7533 (*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_page[sd]i)
7534 (*load_got[sd]i, *low[sd]i, *low[sd]i_mips16): Redefine using :P.
7535 Add mode attributes.
7536
c9081a92
RS
75372004-08-23 Richard Sandiford <rsandifo@redhat.com>
7538
7539 * config/mips/mips.md (UNSPEC_[LS][WD][LR]): Delete in favor of...
7540 (UNSPEC_{LOAD,STORE}_{LEFT,RIGHT}): ...these new constants. Shuffle
7541 later constants to cover the gap.
7542 (load, store): New mode attributes.
7543 (mov_l[wd]l, mov_l[wd]r, mov_s[wd]l, mov_s[wd]r): Redefine using :GPR.
7544 Use new unspec constants.
7545
3d1f285d
RS
75462004-08-23 Richard Sandiford <rsandifo@redhat.com>
7547
7548 * config/mips/mips.md (one_cmpl[sd]i2): Redefine using :GPR.
7549 (and[sd]3, ior[sd]i3, xor[sd]i3): Likewise. Change 32-bit patterns
7550 to use register_operand rather than uns_arith_operand as the predicate
7551 for operand 1. Remove redundant MIPS16 force_reg() for operand 1.
7552 (*and[sd]i3, *ior[sd]i3, *xor[sd]i3): Name formerly unnamed patterns.
7553 Redefine using :GPR. Make same predicate change here. Extend the
7554 commutativity of operands 1 and 2 from the SImode version to the
7555 DImode one.
7556 (*and[sd]i3_mips16, *ior[sd]i3_mips16, *xor[sd]i3_mips16): Likewise,
7557 but with no predicate changes.
7558 (*nor[sd]i3): Redefine using :GPR.
7559
c0e1b12f
ZD
75602004-08-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7561
7562 * tree-ssa-operands.c (get_call_expr_operands): Add VUSE operands for
7563 noreturn functions.
7564
400a9325
RS
75652004-08-23 Richard Sandiford <rsandifo@redhat.com>
7566
7567 * config/mips/mips.h (ISA_HAS_DCLZ_DCLO): Delete.
7568 * config/mips/mips.md (abs[sd]i2): Redefine using :GPR. Only use
7569 branch-likely insns for absdi2 if GENERATE_BRANCHLIKELY. Use "%."
7570 rather than "%z2" (with a fake const0_rtx for operand 2).
7571 (ffs[sd]i2): Redefine using :GPR.
7572 (clz[sd]i2): Likewise. Use ISA_HAS_CLO_CLZ for the 64-bit case.
7573
2222da3a
RS
75742004-08-23 Richard Sandiford <rsandifo@redhat.com>
7575
7576 * config/mips/mips.md ({,u}divmod[sd]i4): Redefine using :GPR.
7577
15ac4ccf
RS
75782004-08-23 Richard Sandiford <rsandifo@redhat.com>
7579
7580 * config/mips/mips.md (any_extend): New code macro.
7581 (u, su): New code attributes.
7582 ({,u}mulsidi3, {,u}mulsidi3_32bit_internal, {,u}mulsidi3_32bit_r4000)
7583 ({u,s}mulsi3_highpart, {u,s}mulsi3_highpart_internal)
7584 ({u,s}mulsi3_highpart_mulhi_internal, {s,u}muldi3_highpart)
7585 (*{s,u}mul_acc_di): Redefine using any_extend.
7586 (*{,u}muls_di, *{s,u}msac_di): Likewise. Change names of patterns
7587 to reflect real insn names.
7588 (*mulsidi3_64bit, *mulsidi3_64bit_parts): Replace use of match_operator
7589 with an any_extend template.
7590 ({u,s}mulsi3_highpart_neg_mulhi_internal): Redefine using any_extend.
7591 Add '*' to name.
7592
d46c971d
RS
75932004-08-23 Richard Sandiford <rsandifo@redhat.com>
7594
7595 * config/mips/mips.h (GENERATE_MULT3_SI): Check TARGET_MAD.
7596 * config/mips/mips.md (mul[sd]i3, mul[sd]i3_internal)
7597 (mul[sd]i3_r4000): Redefine using :GPR.
7598 (mulsi3_mult3): Don't check TARGET_MAD separately.
7599 (muldi3_mult3): Moved after mulsi_mult3.
7600
5811cb27
RS
76012004-08-23 Richard Sandiford <rsandifo@redhat.com>
7602
7603 * config.gcc (mips-*-*): Remove definitions of MASK_GAS and
7604 OBJECT_FORMAT_ELF. Set MASK_SPLIT_ADDR by default if using GNU ld.
7605 * config/mips/mips.h (MASK_GAS): Delete. Shuffle later masks down.
7606 (TARGET_GAS, TARGET_MIPS_AS): Delete.
7607 (TARGET_GPWORD): Define to true for n32 on IRIX.
7608 (TARGET_SWITCHES): Remove -mmips-as. Turn -mgas into a no-op.
7609 (MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete.
7610 (GAS_ASM_SPEC): Delete, folding into ASM_SPEC.
7611 (ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete.
7612 (MDEBUG_ASM_SPEC): Delete, folding into...
7613 (SUBTARGET_ASM_DEBUGGING_SPEC): ...here.
7614 (ASM_SPEC): Inline old GAS_ASM_SPEC. Use GNU names for ABI switches.
7615 (EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec,
7616 subtarget_mips_as_asm_spec, mdebug_asm_spec. Use MULTILIB_ABI_DEFAULT
7617 to define asm_abi_default_spec.
7618 (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete.
7619 (TARGET_ASM_SELECT_SECTION): Delete.
7620 * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0
7621 for non-mips16 code, removing previous workaround for SGI assemblers.
7622 (TARGET_ASM_INTEGER, mips_assemble_integer): Delete.
7623 (TARGET_ASM_ALIGNED_DI_OP): Define this instead.
7624 (override_options): Remove !TARGET_GAS and !have_named_sections code.
7625 (print_operand): Fold TARGET_GAS conditionals into asm strings.
7626 (mips_output_filename): Remove !TARGET_GAS code. Replace use of
7627 ASM_STABS_OP and ASM_STABN_OP.
7628 (mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks.
7629 (mips_output_aligned_decl_common): Remove mention of SGI o32 assembler.
7630 (mips_output_function_prologue): Remove !TARGET_GAS code.
7631 (mips_select_rtx_section): Remove !have_named_sections code.
7632 (mips_select_section): Delete.
7633 * config/mips/mips.md (trap): Remove !TARGET_GAS check.
7634 * config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS.
7635 * config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete.
7636 (PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional.
7637 * config/mips/vxworks.h (ASM_SPEC): As for mips.h.
7638 * config/mips/windiss.h (ASM_SPEC): Likewise.
7639
032e8348
RS
76402004-08-23 Richard Sandiford <rsandifo@redhat.com>
7641
7642 * read-rtl.c (map_value, mapping, macro_group): New structures.
7643 (BELLWETHER_CODE): New macro.
7644 (modes, codes, bellwether_codes): New variables.
7645 (find_mode, uses_mode_macro_p, apply_mode_macro, find_code)
7646 (uses_code_macro_p, apply_code_macro, apply_macro_to_string)
7647 (apply_macro_to_rtx, uses_macro_p, add_condition_to_string)
7648 (add_condition_to_rtx, apply_macro_traverse, add_mapping)
7649 (add_map_value, initialize_macros): New functions.
7650 (def_hash, def_hash_eq_p): Generalize to anything that points to,
7651 or starts with, a char * field.
7652 (find_macro, read_mapping, check_code_macro): New functions.
7653 (read_rtx_1): New, split out from read_rtx. Handle the new
7654 define_{mode,code}_{macro,attr} constructs. Use find_macro
7655 to parse the name of a code or mode. Use BELLWETHER_CODE to
7656 extract the format and to choose a suitable code for rtx_alloc.
7657 Modify recursive invocations to use read_rtx_1.
7658 (read_rtx): Call initialize_macros. Apply code and mode macros
7659 to the rtx returned by read_rtx_1. Cache everything after the
7660 first macro expansion for subsequent read_rtx calls.
7661 * doc/md.texi: Document new .md constructs.
7662 * config/mips/mips.md (GPR): New mode macro.
7663 (d, si8_di5): New mode attributes.
7664 (any_cond): New code macro.
7665 (add[sd]i3): Redefine using :GPR.
7666 (*add[sd]i3): Likewise, renaming from add[sd]i3_internal.
7667 (*add[sd]i3_sp[12], *add<mode>3_mips16): Redefine using :GPR, naming
7668 previously unnamed MIPS16 patterns.
7669 (*addsi3_extended): Renamed from addsi3_internal_2. Fix overly long
7670 lines. Don't match (plus (const_int 0) ...).
7671 (*addsi3_extended_mips16): Name previously unnamed MIPS16 pattern.
7672 Use a define_split to generate the addition.
7673 (sub[sd]i3): Redefine using :GPR. Turn subsi3 into a define_insn.
7674 (subsi3_internal): Delete.
7675 (*subsi3_extended): Renamed from subsi3_internal_2.
7676 (bunordered, bordered, bunlt, bunge, buneq, bltgt, bunle, bungt)
7677 (beq, bne, bgt, bge, blt, ble, bgtu, bgeu, bltu, bleu): Redefine
7678 using an any_cond template.
7679
ecce923e
RS
76802004-08-23 Richard Sandiford <rsandifo@redhat.com>
7681
7682 * read-rtl.c (read_rtx): Tidy use of format_ptr.
7683
a269d6c8
RS
76842004-08-23 Richard Sandiford <rsandifo@redhat.com>
7685
7686 * read-rtl.c (string_obstack): New file-scope variable.
7687 (read_string, read_quoted_string, read_braced_string)
7688 (read_escape): Remove obstack parameter and use string_obstack instead.
7689 (read_rtx): Remove function-local rtl_obstack and initialize
7690 string_obstack instead. Update call to read_string.
7691
9fc3b39a
AP
76922004-08-22 Andrew Pinski <apinski@apple.com>
7693
7694 PR c/15262
7695 * c-typeck.c (build_unary_op): Use &a.b if the foldded lowered
7696 expression is not constant.
7697 (c_finish_return): Do not go through INDIRECT_REF when looking
7698 for the inner expression of an ADDR_EXPR for warning about.
7699
cea49550
RH
77002004-08-22 Richard Henderson <rth@redhat.com>
7701
7702 PR 17075
7703 * cfgexpand.c (expand_gimple_tailcall): Detect when we can both
7704 create new blocks and fall through.
7705 (expand_gimple_basic_block): Update to match.
7706
0b540f12
UW
77072004-08-22 Ulrich Weigand <uweigand@de.ibm.com>
7708
7709 * reload.c (find_reloads_address): Make return value tri-state.
7710 Return -1 if LEGITIMIZE_RELOAD_ADDRESS succeeded.
7711 (find_reloads): Assume that reloaded addresses match 'o' or
7712 EXTRA_MEMORY_CONSTRAINT constraints only if find_reloads_address
7713 returned 1 (not -1). Omit optional reloads for address operands
7714 only if find_reloads_address returned 1 (not -1).
7715
7716 * config/s390/s390.c (legitimize_reload_address): New function.
7717 * config/s390/s390-protos.h (legitimize_reload_address): Declare.
7718 * config/s390/s390.h (LEGITIMIZE_RELOAD_ADDRESS): Define. Call
7719 legitimize_reload_address.
7720
7f5e6307
RH
77212004-08-22 Richard Hendersion <rth@redhat.com>
7722
7723 * tree.h (SAVE_EXPR_RESOLVED_P): New.
7724 * gimplify.c (gimplify_save_expr): Use it.
7725 * expr.c (expand_expr_real_1): Likewise. Also set DECL_IGNORED_P
7726 on the temporary variable.
7727
efd610a6
AP
77282004-08-22 Andrew Pinski <pinskia@physics.uc.edu>
7729
7730 * fold-const.c (rtl_expr_nonnegative_p): Delete.
7731 * tree.h (rtl_expr_nonnegative_p): Remove.
7732
324a6c95
SB
77332004-08-22 Steven Bosscher <stevenb@suse.de>
7734
7735 * config/i386/ppro.md (ppro_complex_insn): Add missing check
7736 for cpu==pentiumpro.
7737
7738 * combine.c (struct reg_stat): Fix comment typo.
7739
41db8425
JM
77402004-08-22 Joseph S. Myers <jsm@polyomino.org.uk>
7741
7742 * c-tree.h (c_sizeof_nowarn): Remove.
7743
00325bce
JM
77442004-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
7745
7746 * c-decl.c (set_array_declarator_type): Rename to
7747 set_array_declarator_inner.
7748 (build_c_parm, build_attrs_declarator, build_function_declarator):
7749 New functions.
7750 (make_pointer_declarator): Call build_attrs_declarator.
7751 * c-tree.h (set_array_declarator_type): Rename to
7752 set_array_declarator_inner.
7753 (build_c_parm, build_attrs_declarator, build_function_declarator):
7754 New prototypes.
7755 * c-parse.in (after_type_declarator,
7756 parm_declarator_starttypename, parm_declarator_nostarttypename,
7757 notype_declarator, absdcl_maybe_attribute, direct_absdcl1, parm,
7758 firstparm): Use these functions
7759
60919bce
JM
77602004-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
7761
7762 * c-decl.c (build_array_declarator, set_array_declarator_type,
7763 start_decl, grokdeclarator, grokparms): Change boolean parameters
7764 to type bool.
7765 * c-tree.h (build_array_declarator, set_array_declarator_type,
7766 start_decl): Update prototypes.
7767 * c-decl.c, c-parse.in: All callers changed.
7768
bdfd0ed4
MS
77692004-08-21 Mike Stump <mrs@apple.com>
7770
7771 * config/rs6000/darwin.h (SUBTARGET_OPTIONS): Move from here, to...
7772 (darwin_fix_and_continue): Likewise.
7773 (darwin_fix_and_continue_switch): Likewise.
7774 * config/darwin.h (SUBTARGET_OPTIONS): ...here, to fix -mone-byte-bool.
7775 (darwin_fix_and_continue): Likewise.
7776 (darwin_fix_and_continue_switch): Likewise.
7777
35da8b56 77782004-08-21 Danny Smith <dannysmith@users.sourceforge.net>
23d34220
DS
7779
7780 PR c++/16030
7781 * config/i386/winnt/c (gen_stdcall_suffix, gen_fastcall_suffix):
7782 Remove, merging into ...
7783 (gen_stdcall_or_fastcall_suffix): New function, returning tree
7784 rather than const char*, and accepting additional parameter.
7785 Don't add suffix to '*'-prefixed symbols or variadic functions.
7786 (i386_pe_encode_section_info): Adjust for call to new function.
7787 Call change_decl_assembler_name.
7788
828a4fe4
MS
77892004-08-20 Mike Stump <mrs@apple.com>
7790
7791 * config/darwin.c (machopic_indirect_data_reference): Mark
7792 stubs as defined.
7793 * config/386/386.c (darwin_local_data_pic): Add.
7794 (legitimate_constant_p): Reorder so that PLUS handling runs
7795 before darwin_local_data_pic to match the ordering in
7796 legitimate_pic_address_disp_p and so that MINUS runs after
7797 darwin_local_data_pic as otherwise the darwin_local_data_pic
7798 logic can be skipped, which would be very bad.
7799 (legitimate_pic_address_disp_p): Move from from here to
7800 darwin_local_data_pic so it can be reused.
7801
85b776df
AM
78022004-08-21 Alan Modra <amodra@bigpond.net.au>
7803
7804 * config/rs6000/linux64.h (DOT_SYMBOLS): Define.
7805 (CRT_CALL_STATIC_FUNCTION): Define !DOT_SYMBOLS version.
7806 (ASM_DECLARE_FUNCTION_SIZE): Modify for !DOT_SYMBOLS.
7807 (ASM_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Likewise.
7808 (RS6000_ABI_NAME): Define as "linux".
7809 (SUBSUBTARGET_OVERRIDE_OPTIONS): Set dot_symbols.
7810 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Select
7811 ABI_AIX when rs6000_abi_name is "linux" and TARGET_64BIT.
7812 * config/rs6000/rs6000-protos.h (rs6000_output_function_entry): Decl.
7813 * config/rs6000/rs6000.c (dot_symbols): New global var.
7814 (rs6000_output_function_entry): New function, modified for
7815 !DOT_SYMBOLS..
7816 (print_operand <case 'z'>): ..extracted from here.
7817 (rs6000_assemble_visibility): Modify for !DOT_SYMBOLS.
7818 (rs6000_output_function_epilogue): Likewise.
7819 (rs6000_elf_declare_function_name): Likewise.
7820 * config/rs6000/rs6000.h (DOT_SYMBOLS): Define.
7821 (ASM_WEAKEN_DECL, ASM_OUTPUT_DEF_FROM_DECLS): Modify for !DOT_SYMBOLS.
7822 * configure.ac (HAVE_LD_NO_DOT_SYMS): Add new AC_DEFINE.
7823 * configure: Regenerate.
7824 * config.in: Regenerate.
7825
14d3dc34
MM
78262004-08-20 Mark Mitchell <mark@codesourcery.com>
7827
0e544c37
MM
7828 * reload.c (find_reloads_address): Fix thinko in previous change.
7829
14d3dc34
MM
7830 * reload.c (find_reloads_address): Reload the sum of a LO_SUM and
7831 a CONST_INT.
7832
f3b2657c
JJ
78332004-08-20 Jakub Jelinek <jakub@redhat.com>
7834
7835 PR rtl-optimization/17099
7836 * combine.c (force_to_mode): Check if inner_mask has any bits set
7837 outside of GET_MODE (x) instead of op_mode.
7838
d2294baa
MM
78392004-08-20 Mark Mitchell <mark@codesourcery.com>
7840
7841 * config.gcc (arm*-*-symbianelf*): Add t-symbian Makefile
7842 fragment.
7843 * config/arm/bpabi.h (RENAME_LIBRARY_SET): Fix typo.
7844 (SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=3 to the assembler.
7845 * config/arm/symbian.h (SUBTARGET_CPU_DEFAULT): Assume ARMV5
7846 architecture.
7847 (SUBTARGET_ASM_FLOAT_SPEC): Default to -mfpu=vfp for hard-float
7848 configurations.
7849 * config/arm/t-symbian: New file.
7850
753d0efa
AP
78512004-08-20 Andrew Pinski <apinski@apple.com>
7852
7853 * regrename.c (kill_value_regno): ANSIfy.
7854
627b6fe2
DJ
78552004-08-20 Dale Johannesen <dalej@apple.com>
7856
324a6c95 7857 * config/rs6000/rs6000.c (rs6000_rtx_costs): Improve DIV/MOD.
627b6fe2 7858
d64d5e80
DJ
78592004-08-20 Daniel Jacobowitz <dan@debian.org>
7860
7861 * regrename.c (kill_value_one_regno): Renamed from kill_value_regno.
7862 (kill_value_regno): New function, derived from kill_value.
7863 (kill_value): Update.
7864 (copyprop_hardreg_forward_1): Update call to kill_value_regno.
7865
af75a7ea 78662004-08-20 Daniel Berlin <dberlin@dberlin.org>
f676971a 7867
af75a7ea
DB
7868 Fix PR tree-optimization/17111
7869 * tree-ssa-pre.c (create_value_expr_from): Don't change the types
7870 of non-value_handles.
7871 (bitmap_set_contains): All constants are in every set.
7872
0a936b12
NS
78732004-08-20 Nathan Sidwell <nathan@codesourcery.com>
7874
7875 * fold-const.c (round_up, round_down): Use build_int_cst.
7876 Optimize common case.
7877
774acadf
ZW
78782004-08-20 Zack Weinberg <zack@codesourcery.com>
7879 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7880
324a6c95 7881 * config/pa/pa-protos.h (readonly_data, one_only_readonly_data_section,
774acadf
ZW
7882 one_only_data_section): Rename to som_readonly_data_section,
7883 som_one_only_readonly_data_section and som_one_only_data_section.
324a6c95 7884 * config/pa/pa.c (ONE_ONLY_TEXT_SECTION_ASM_OP,
0a936b12
NS
7885 NEW_TEXT_SECTION_ASM_OP, DEFAULT_TEXT_SECTION_ASM_OP): Delete
7886 conditional defines.
774acadf
ZW
7887 (som_text_section_asm_op): Replace ONE_ONLY_TEXT_SECTION_ASM_OP,
7888 NEW_TEXT_SECTION_ASM_OP and DEFAULT_TEXT_SECTION_ASM_OP with actual
7889 string values.
7890 (pa_select_section): Use renamed section functions.
7891 * config/pa/pa.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
324a6c95 7892 SOM_READONLY_DATA_SECTION_FUNCTION,
774acadf 7893 SOM_ONE_ONLY_READONLY_DATA_SECTION_FUNCTION,
324a6c95
SB
7894 SOM_ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION):
7895 Define here ...
7896 * config/pa/som.h: ... not here.
7897 (DEFAULT_TEXT_SECTION_ASM_OP, NEW_TEXT_SECTION_ASM_OP,
774acadf
ZW
7898 ONE_ONLY_TEXT_SECTION_ASM_OP, READONLY_DATA_ASM_OP,
7899 ONE_ONLY_READONLY_DATA_SECTION_ASM_OP,
324a6c95
SB
7900 ONE_ONLY_DATA_SECTION_ASM_OP): Delete.
7901 (READONLY_DATA_SECTION): Use som_readonly_data_section.
774acadf 7902
3224bead
NS
79032004-08-20 Nathan Sidwell <nathan@codesourcery.com>
7904
fabead06
NS
7905 * fold-const.c (int_const_binop): Don't generate non-overflowing
7906 size-types specially.
7907 (fold_convert_const): Likewise.
7908
3224bead
NS
7909 * stor-layout.c (initialize_sizetypes): Set SIZETYPE earlier,
7910 clear cache on copied sizetype.
7911
fb38008e
BE
79122004-08-20 Ben Elliston <bje@au.ibm.com>
7913
7914 * configure.ac: Don't escape apostrophe in --enable-coverage help.
7915 * configure: Regenerate.
7916
a9024779
DS
79172004-08-20 Danny Smith <dannysmith@users.sourceforge.net>
7918
7919 PR 5620
7920 * gcc.c (struct stat input_stat): Don't define if
7921 HOST_LACKS_INODE_NUMBERS
7922 (do_spec_1): If HOST_LACKS_INODE_NUMBERS, use lrealpath rather
7923 than stat to determine if temp file is same as input file.
7924 * doc/hostconfig.texi: Document HOST_LACKS_INODE_NUMBERS.
7925 * config/i386/xm-mingw32.h: Define HOST_LACKS_INODE_NUMBERS
7926
82563d35
RS
79272004-08-20 Richard Sandiford <rsandifo@redhat.com>
7928
7929 * configure.ac (mips*-*-*): Print an error if not using GAS.
7930 * configure: Regenerated.
7931 * doc/install.texi: Remove irix5 bullet from --with-gnu-as. Remove
7932 comments about buggy MIPSpro assemblers.
7933 * config.gcc (mips-sgi-irix[56]*): Combine stanzas. Include elfos.h
7934 before mips.h and iris.h after it. Use t-iris and t-slibgcc-irix.
7935 Use iris5.h only for IRIX 5 configs. Use iris6.h and t-iris6 for
7936 IRIX 6 configs. Define IRIX_USING_GNU_LD if using GNU ld.
7937 * config/mips/iris5.h (TARGET_IRIX, SWITCHES_NEED_SPACES)
7938 (DEFAULT_SIGNED_CHAR, WORD_SWITCH_TAKES_ARG, SUBTARGET_CC1_SPEC)
7939 (NO_IMPLICIT_EXTERN_C, MIPS_DEFAULT_GVALUE)
7940 (TARGET_ASM_EXTERNAL_LIBCALL): Move to iris.h.
7941 (WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS): Delete in favor
7942 of more general IRIX 6 definitions.
7943 (OBJECT_FORMAT_ELF, ASM_OUTPUT_ASCII, ASM_WEAKEN_LABEL)
7944 (HANDLE_SYSV_PRAGMA): Delete in favor of elfos.h definitions.
7945 (TARGET_IRIX5, ABICALLS_ASM_OP, BSS_SECTION_ASM_OP, HAS_INIT_SECTION)
7946 (LD_INIT_SWITCH, LD_FINI_SWITCH, SUBTARGET_ASM_OPTIMIZING_SPEC)
7947 (ASM_FINAL_SPEC, DBX_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
7948 (PREFERRED_DEBUGGING_TYPE, DWARF2_UNWIND_INFO, SET_FILE_NUMBER)
7949 (LABEL_AFTER_LOC, DOLLARS_IN_IDENTIFIERS, NO_DOLLAR_IN_LABEL)
7950 (TARGET_ASM_NAMED_SECTION, EXTRA_SECTION_FUNCTIONS)
7951 (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_WEAK_ALIAS)
7952 (SUBTARGET_EXTRA_SPECS): Delete definitions or undefs.
7953 (LINK_SPEC): Move most of definition to iris.h.
7954 (SUBTARGET_LINK_SPEC): New macro.
7955 (IRIX_STARTFILE_SPEC): Fold into...
7956 (STARTFILE_SPEC): ...here.
7957 (IRIX_ENDFILE_SPEC): Fold into...
7958 (ENDFILE_SPEC): ...here.
7959 * config/mips/iris6.h (TARGET_IRIX5): Remove override.
7960 (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE)
7961 (DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE, SET_ASM_OP)
7962 (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES, ASM_DECLARE_OBJECT_NAME)
7963 (ASM_FINISH_DECLARE_OBJECT, LOCAL_LABEL_PREFIX): Move to iris.h.
7964 (TARGET_OS_CPP_BUILTINS): Likewise. Guard IRIX6-specific bits.
7965 (DWARF2_UNWIND_INFO, DWARF2_GENERATE_TEXT_SECTION_LABEL)
7966 (SUBTARGET_CPP_SPEC, DWARF2_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
7967 (PREFERRED_DEBUGGING_TYPE, DWARF2_FRAME_INFO, MD_EXEC_PREFIX)
7968 (ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_FUNCTION_SIZE)
7969 (FUNCTION_NAME_ALREADY_DECLARED, SUPPORTS_INIT_PRIORITY)
7970 (POPSECTION_ASM_OP, SUBTARGET_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC)
7971 (SUBTARGET_ASM_DEBUGGING_SPEC, SUBTARGET_ASM_OPTIMIZING_SPEC)
7972 (BSS_SECTION_ASM_OP*, READONLY_DATA_SECTION_ASM_OP*)
7973 (EH_FRAME_SECTION_NAME, MUST_USE_SJLJ_EXCEPTIONS, CTORS_SECTION_ASM_OP)
7974 (DTORS_SECTION_ASM_OP, TARGET_ASM_NAMED_SECTION, EH_FRAME_SECTION_NAME)
7975 (ASM_OUTPUT_ALIGN, ASM_OUTPUT_FILENAME, ASM_OUTPUT_ALIGNED_LOCAL)
7976 (ASM_OUTPUT_ALIGNED_BSS): Remove definitions or undefs.
7977 (TARGET_IRIX6): Define to 1.
7978 (DRIVER_SELF_SPECS): Define.
7979 (DWARF2_FRAME_INFO): Define to 1 rather than !TARGET_SGI_O32_AS.
7980 (SUBTARGET_CC1_SPEC): Remove in favor of DRIVER_SELF_SPECS.
7981 (SUBTARGET_LINK_SPEC): New macro.
7982 (IRIX_STARTFILE_SPEC): Fold into...
7983 (STARTFILE_SPEC): ...here. Remove !mabi=* case.
7984 (SUBTARGET_{,DONT_}WARN_UNUSED_SPEC): New macros.
7985 (LIB_SPEC, LIBGCC_SPEC): Use them.
7986 (LIB_SPEC): Remove !mabi=* case.
7987 (IRIX_ENDFILE_SPEC): Fold into...
7988 (ENDFILE_SPEC): ...here. Remove !mabi=* case.
7989 * config/mips/mips-protos.h (irix_output_external_libcall): Delete.
7990 * config/mips/mips.h (TARGET_IRIX5, TARGET_SGI_O32_AS): Delete.
7991 (TARGET_IRIX6): New macro.
7992 (ASM_ABI_DEFAULT_SPEC): Remove !ELF definition.
7993 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX, SET_FILE_NUMBER)
7994 (LABEL_AFTER_LOC): Delete.
7995 * config/mips/mips.c (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END)
7996 (TARGET_SECTION_TYPE_FLAGS): Remove TARGET_IRIX versions.
7997 (mips_build_builtin_va_list): Check TARGET_IRIX6.
7998 (override_options): Remove TARGET_SGI_O32_AS-related code.
7999 (irix_output_external_libcall): Make static.
8000 (mips_output_filename): Avoid use of SET_FILE_NUMBER and
8001 LABEL_AFTER_LOC.
8002 (mips_file_start): Tidy guard for ABI sections. Remove use of
8003 ABICALLS_ASM_OP; use .abicalls instead.
8004 (mips_output_aligned_decl_common, mips_declare_object_name)
8005 (mips_finish_declare_object): Remove use of TARGET_SGI_O32_AS.
8006 (mips_output_function_prologue): Set TREE_ASM_WRITTEN if emitting
8007 .globl foo .text directives.
8008 (irix_asm_named_section_1, irix_asm_named_section)
8009 (irix_section_align_entry, irix_section_align_htab)
8010 (irix_orig_asm_out_file, irix_section_align_entry_eq)
8011 (irix_section_align_entry_hash, irix_asm_output_align)
8012 (irix_file_start, irix_section_align_1, copy_file_data)
8013 (irix_file_end, irix_section_type_flags): Delete.
8014 * config/mips/irix-crti.asm (__gcc_init): Move to .gcc_init section.
8015 Use standard section syntax. Remove protective "jr $31".
8016 (__gcc_fini): Likewise .gcc_fini.
8017 * config/mips/irix-crtn.asm: Adjust sections accordingly.
8018 * config/mips/sdb.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Moved from
8019 iris5gas.h.
8020 * config/mips/t-iris (irix-crti.o, irix-crtn.o): New rules, moved
8021 from t-irix-gld.
8022 (EXTRA_MULTILIB_PARTS): Define.
8023 * config/mips/t-iris6: Remove bogus comment.
8024 (EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS): Delete.
8025 * config/mips/iris5gas.h, config/mips/iris5gld.h,
8026 config/mips/iris6gas.h, config/mips/iris6gld.h,
8027 config/mips/t-iris5-as, config/mips/t-iris5-gas
8028 config/mips/t-irix-gld: Delete.
8029 * config/mips/iris.h: New file.
8030 * config/mips/t-slibgcc-irix: Renamed from t-iris5-6.
8031
c4cdb8e1
RE
80322004-08-20 Richard Earnshaw <rearnsha@arm.com>
8033
8034 * postreload.c (reload_cse_move2add): Allow any condjump, but check
8035 that the implicit set isn't clobbered in the jump insn.
8036
d55ab31d
MM
80372004-08-19 Mark Mitchell <mark@codesourcery.com>
8038
8039 * defaults.h (TARGET_LIBGCC_LIBFUNCS): Remove.
8040 * optabs.c (init_optabs): Don't check it.
8041 * config/arm/bpabi.h (TARGET_LIBGCC_LIBFUNCS): Do not define.
8042 * doc/tm.texi (TARGET_LIBGCC_FUNCS): Remove.
8043
d75f90f1
AK
80442004-08-18 Andreas Krebbel <krebbel1@de.ibm.com>
8045
8046 * config/s390/s390.md (s390_warn_framesize_string)
8047 (s390_warn_dynamic_string, s390_stack_size_string)
8048 (s390_stack_guard_string): New global string variables.
8049 (s390_warn_framesize, s390_warn_dynamicstack_p, s390_stack_size)
8050 (s390_stack_guard): New global variables.
8051 (override_options): Added checks for the new options.
8052 (s390_emit_prologue): Emit stack check and trap code and perform
8053 compile time stack size checking.
f676971a
EC
8054
8055 * config/s390/s390.h (TARGET_OPTIONS): Added new options
d75f90f1
AK
8056 "warn-framesize", "warn-dynamicstack", "stack-size" and
8057 "stack-guard".
8058
8059 * doc/invoke.texi: Added documentation for the new options.
8060
ca29916b
UW
80612004-08-19 Ulrich Weigand <uweigand@de.ibm.com>
8062
8063 * unwind-dw2-fde.c (get_cie_encoding): Cast argument to strlen
8064 to eliminate warning.
8065 (linear_search_fdes): Declare p as unsigned.
8066 (binary_search_mixed_encoding_fdes): Likewise.
8067 * unwind-dw2.c (get_cie_encoding): Cast argument to strlen
8068 to eliminate warning.
8069 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Add missing
8070 type cast.
8071
e1d5ee28
UW
80722004-08-19 Ulrich Weigand <uweigand@de.ibm.com>
8073
8074 * config/s390/s390-protos.h (preferred_la_operand_p): Adapt prototype.
8075 * config/s390/s390.c (preferred_la_operand_p): Accept two operands
8076 instead of one. Check for strictly legitimate address.
8077 * config/s390/s390.md ("*la_31"/"*la_64" peepholes): Adapt call
8078 to preferred_la_operand_p, do not call gen_rtx_PLUS in predicate.
8079
19114537
EC
80802004-08-19 Eric Christopher <echristo@redhat.com>
8081
8082 * langhooks-def.h (LANG_HOOKS_UNSAVE_EXPR_NOW): Remove.
8083 * langhooks.h (unsave_expr_now): Ditto.
8084 * tree.h (unsave_expr_1): Remove prototype.
8085 (lhd_unsave_expr_now): Rename to unsave_expr_now.
8086 * tree-inline.c (unsave_expr_1): Move here
8087 from tree.c. Make static.
8088 (unsave_expr_now): Rename from lhd_unsave_expr_now.
8089 * tree-sra.c: Fix up for rename.
8090 * tree-ssa-copy.c: Ditto.
8091 * tree-eh.c: Ditto.
8092 * tree.c (unsave_expr_1): Move to tree-inline.c.
8093
d5bfecf2
CT
80942004-08-19 Caroline Tice <ctice@apple.com>
8095
324a6c95
SB
8096 * config/i386/cygming.h (switch_to_section): Fix typo (change
8097 in_unlikely_text_section to in_unlikely_executed_text).
19114537 8098
58152808
DB
80992004-08-19 Daniel Berlin <dberlin@dberlin.org>
8100
8101 * vec.h (VEC_lower_bound): New macro.
19114537 8102
ae043003
RS
81032004-08-19 Richard Sandiford <rsandifo@redhat.com>
8104
8105 PR target/16446
8106 * config/mips/mips.c (struct mips_arg_info): Delete num_bytes.
8107 (mips_arg_info): Update accordingly. Remove common treatment of fpr_p;
8108 treat each ABI separately. Deal with n32/n64 complex float arguments.
8109 (function_arg): Add associated complex handling here.
8110
50ed9cea
RH
81112004-08-19 Richard Henderson <rth@redhat.com>
8112
8113 * config/arm/arm.c (arm_gen_load_multiple): Use
8114 adjust_automodify_address. Take base memory and offset instead
8115 of unchanging/struct/scalar bits.
8116 (arm_gen_store_multiple): Likewise.
8117 (arm_gen_movmemqi): Use adjust_automodify_address.
8118 * config/arm/arm-protos.h: Update decls.
8119 * config/arm/arm.md (load_multiple): Update arm_gen_load_multiple call.
8120 (store_multiple): Similarly.
8121
74ae207d
R
81222004-08-19 J"orn Rennecke <joern.rennecke@superh.com>
8123
8124 * regclass.c (globalize_reg): Update call_really_used_regs.
8125
89b0433e
NS
81262004-08-19 Nathan Sidwell <nathan@codesourcery.com>
8127
31ebd7c8
NS
8128 * doc/invoke.texi (integer-share-limit): Document.
8129
89b0433e
NS
8130 * tree.h (TYPE_CACHED_VALUES_P): New.
8131 (TYPE_CACHED_VALUES): New.
8132 (TYPE_ORIG_SIZE_TYPE): Adjust.
8133 * tree.def (INTEGER_CST): Update documentation.
8134 * tree.c: Inlcude params.h.
8135 (build_int_cst): Cache small values.
8136 (build_type_copy): Do not copy the value cache.
8137 * c-common.c (c_common_nodes_and_builtins): Add comment, remove
8138 unneeded zeroing.
8139 * c-typeck.c (build_c_cast): Add comment about OVERFLOW setting.
8140 * expmed.c (const_mult_add_overflow_p): Clear type copy's value
8141 cache.
8142 * fold-const.c (force_fit_type): Copy value when setting
8143 overflows.
8144 (int_const_binop): Likewise.
8145 * stor-layout.c: Include params.h
8146 (set_sizetype): Create values cache.
8147 (fixup_unsigned_type): Set UNSIGNED_P before caching any values.
8148 * params.def (PARAM_INTEGER_SHARE_LIMIT): New.
8149 * params.h (INTEGER_SHARE_LIMIT): New.
8150 * Makefile.in (tree.o, stor-layout.o): Depend on PARAMS_H.
19114537 8151
c2504783
PB
81522004-08-19 Paolo Bonzini <bonzini@gnu.org>
8153
8154 * gimplify.c (gimplify_minimax_expr): Remove.
8155 (gimplify_expr) <MIN_EXPR, MAX_EXPR>: Remove special handling.
8156
7a8554ce
DN
81572004-08-19 Dorit Naishlos <dorit@il.ibm.com>
8158
19114537 8159 * tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace
7a8554ce
DN
8160 STACK_BOUDARY with PREFERRED_STACK_BOUNDARY.
8161
1905f33d
MM
81622004-08-19 Mark Mitchell <mark@codesourcery.com>
8163
8164 * bpabi.h (FPUTYPE_DEFAULT): Set it to FPUTYPE_VFP.
8165
f1732751
AP
81662004-08-18 Andrew Pinski <apinski@apple.com>
8167
8168 * varasm.c (ecode_reg_name): Do nothing if the asmspec is empty.
8169
8c78a388
MM
81702004-08-18 Mark Mitchell <mark@codesourcery.com>
8171
8172 * config/arm/bpabi.c (__aeabi_ul2d): Give it default visibility.
8173 (__aeabi_ul2f): Likewise.
8174
7eda7cda
RH
81752004-08-18 Richard Henderson <rth@redhat.com>
8176
8177 * config/xtensa/xtensa.c (xtensa_expand_block_move): Expand block
8178 move to rtl completely.
8179 (struct meminsnbuf, xtensa_emit_block_move): Remove.
8180 (xtensa_find_mode_for_size): Remove.
8181 * config/xtensa/xtensa-protos.h (xtensa_emit_block_move): Remove.
8182 * config/xtensa/xtensa.md (movmemsi_internal): Remove.
8183
88042663
RH
81842004-08-18 Richard Henderson <rth@redhat.com>
8185
8186 * config/mcore/mcore.c (mode_from_align): Remove DImode.
8187 (block_move_sequence): Rewrite to use adjust_address.
8188 (mcore_expand_block_move): Cleanup logic. Accept only operands.
8189 Return boolean indicating success/failure.
8190 * config/mcore/mcore-protos.h (mcore_expand_block_move): Update decl.
8191 * config/mcore/mcore.md (movmemsi): Update to match.
8192
699c914a
MS
81932004-08-18 Mike Stump <mrs@apple.com>
8194
8195 * doc/invoke.texi (-mfix-and-continue): Add support for
8196 fast turn around debugging.
8197 (-ffix-and-continue): Likewise.
8198 (-mindirect-data): Likewise.
8199 (-findirect-data): Likewise.
8200 * config/darwin.c (TARGET_FIX_AND_CONTINUE): Likewise.
8201 (indirect_data): Likewise.
8202 (machopic_data_defined_p): Likewise.
8203 (machopic_output_indirection): Likewise.
8204 (darwin_encode_section_info): Likewise.
8205 (darwin_fix_and_continue): Likewise.
8206 (darwin_fix_and_continue_switch): Likewise.
8207 * config/darwin.h (MACHO_SYMBOL_STATIC): Likewise.
8208 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
8209 (SUBTARGET_OPTION_TRANSLATE_TABLE): Likewise.
8210 (SUBTARGET_OPTIONS): Likewise.
8211 (darwin_fix_and_continue): Likewise.
8212 (darwin_fix_and_continue_switch): Likewise.
8213 (TARGET_FIX_AND_CONTINUE): Likewise.
8214 * config/rs6000.c (rs6000_emit_prologue): Likewise.
8215
82162004-08-19 Steven Bosscher <stevenb@suse.de>
bd454efd
SB
8217
8218 * basic-block.h (struct edge_def): Remove crossing_edge.
8219 (EDGE_CROSSING): New define.
8220 (EDGE_ALL_FLAGS): Update.
8221 * bb-reorder.c (find_traces_1_round, better_edge_p,
8222 find_rarely_executed_basic_blocks_and_cr, fix_up_fall_thru_edges,
8223 find_jump_block, fix_crossing_conditional_branches,
8224 fix_crossing_unconditional_branches, add_reg_crossing_jump_notes):
8225 Replace all occurences of crossing_edge with an edge flag check
8226 or set/reset.
8227 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
8228 try_crossjump_bb): Likewise.
8229 * cfglayout.c (fixup_reorder_chain): Likewise.
8230 * cfgrtl.c (force_nonfallthru_and_redirect,
8231 commit_one_edge_insertion): Likewise.
8232
8233 * Makefile.in (cfganal.o): Depend on TIMEVAR_H.
8234 * tree-flow.h (compute_dominance_frontiers): Move prototype...
8235 * basic-block.h: ...here.
8236 * tree-cfg.c (compute_dominance_frontiers_1,
8237 compute_dominance_frontiers): Move from here...
8238 * cfganal.c: ...to here. Include timevar.h.
8239
9ff6992e
JW
82402004-08-18 James E Wilson <wilson@specifixinc.com>
8241
c831f54b 8242 * config/mips/mips.h (ASM_SPEC): In comment, change -meabi= to -mabi=.
a1627d80
JW
8243 * config/mips/sb1.md (ir_sb1_divsf_1pipe): Renamed from ...1pipes.
8244
9ff6992e
JW
8245 * config/mips/mips.md (type): Add frdiv.
8246 (divsf3+1, divsf3+2): Change type to frdiv.
8247 * config/mips/sb1.md (ir_sb1_recipsf_2pipes, ir_sb1_recipsf_1pipe,
8248 ir_sb1_recipdf_2pipes, ir_sb1_recipdf_1pipe): New.
19114537 8249
9ff6992e
JW
8250 * config/mips/3000.md (r3k_fdiv_single, r3k_fdiv_double): Add frdiv.
8251 * config/mips/4300.md (r4300_fdiv_single, r4300_fdiv_double): Likewise.
8252 * config/mips/4600.md (r4600_fdiv_single, f4600_fdiv_double): Likewise.
8253 * config/mips/5000.md (r5k_fdiv_single): Likewise.
8254 * config/mips/5400.md (ir_vr54_fdiv_sf, ir_vr54_fdiv_df): Likewise.
8255 * config/mips/5500.md (ir_vr55_fdiv_sf, ir_vr55_fdiv_df): Likewise.
8256 * config/mips/6000.md (r6k_fdiv_single, r6k_fdiv_double): Likewise.
8257 * config/mips/7000.md (rm7_fp_divsqrt_df, rm7_fp_divsqrt_sf): Likewise.
8258 * config/mips/9000.md (rm8k_fdivs, rm9k_fdivd): Likewise.
8259 * config/mips/generic.md (generic_fdiv_single, generic_fdiv_double):
8260 Likewise.
8261 * config/mips/sr71k.md (ir_sr70_fdiv_sf, ir_sr70_fdiv_df): Likewise.
8262
c16eb900
RB
82632004-08-18 Robert Bowdidge <bowdidge@apple.com>
8264
8265 * config/rs6000/x-darwin: Remove XCFLAGS -mdynamic-no-pic to
324a6c95 8266 get regression tester working again.
c16eb900 8267
826c9564
ZW
82682004-08-18 Zack Weinberg <zack@codesourcery.com>
8269
8270 * insn-notes.def, reg-notes.def: New files.
8271 * rtl.h: Use them to define enum insn_note and enum reg_note.
8272 * rtl.c: Use them to define note_insn_name and reg_note_name.
4b179e92 8273 * Makefile.in (RTL_BASE_H): Update.
826c9564
ZW
8274
8275 * modulo-sched.c, sched-rgn.c, final.c: NOTE_DISABLE_SCHED_OF_BLOCK
8276 renamed to NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
8277
21b5653c
RE
82782004-08-18 Richard Earnshaw <rearnsha@arm.com>
8279
8280 * arm.c (arm_size_rtx_costs): New function.
8281 (arm_override_options): Use it if optimizing for space.
8282
542a8afa
RH
82832004-08-18 Richard Henderson <rth@redhat.com>
8284
8285 * emit-rtl.c (gen_const_mem): New.
8286 * rtl.h (gen_const_mem): Declare.
8287 * expr.c (do_tablejump): Use it.
8288 * varasm.c (force_const_mem): Likewise.
8289 * config/darwin.c (machopic_indirect_data_reference): Likewise.
8290 (machopic_legitimize_pic_address): Likewise.
8291 * config/arm/arm.c (legitimize_pic_address): Likewise.
8292 * config/i386/i386.c (legitimize_pic_address): Likewise.
8293 (legitimize_tls_address): Likewise.
8294 * config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
8295 * config/ia64/ia64.md (load_fptr): Likewise.
8296 * config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
8297 * config/pa/pa.c (legitimize_pic_address): Likewise.
8298 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
8299 (rs6000_emit_move): Likewise.
8300 * config/s390/s390.c (legitimize_pic_address): Likewise.
8301 (legitimize_tls_address): Likewise.
8302 * config/s390/s390.md (casesi): Likewise.
8303 * config/sh/sh.c (sh_reorg): Likewise.
8304 * config/sparc/sparc.c (legitimize_pic_address): Likewise.
8305 * config/v850/v850.md (casesi): Likewise.
8306
8307 * config/darwin.c (machopic_indirect_call_target): Set MEM_NOTRAP_P.
8308 * config/sh/sh.c (prepare_move_operands): Remove incorrect
8309 use of MEM_READONLY_P.
8310
0516f6fe
SB
83112004-08-18 Steven Bosscher <stevenb@suse.de>
8312
8313 * Makefile.in (OBJS-common): Add postreload-gcse.c.
8314 Add new postreload-gcse.o.
8315 * cse.c (SAFE_HASH): Define as wrapper around safe_hash.
8316 (lookup_as_function, insert, rehash_using_reg, use_related_value,
8317 equiv_constant): Use SAFE_HASH instead of safe_hash.
8318 (exp_equiv_p): Export. Add for_gcse argument when comparing
8319 for GCSE.
8320 (lookup, lookup_for_remove, merge_equiv_classes, find_best_addr,
8321 find_comparison_args, fold_rtx, cse_insn): Update callers.
8322 (hash_rtx): New function derived from old canon_hash and bits
8323 from gcse.c hash_expr_1.
8324 (canon_hash_string): Rename to hash_rtx_string.
8325 (canon_hash, safe_hash): Make static inline. Call hash_rtx.
8326 * cselib.c (hash_rtx): Rename to cselib_hash_rtx.
8327 (cselib_lookup): Update this caller.
8328 * gcse.c (modify_mem_list_set, canon_modify_mem_list_set):
8329 Make static.
8330 (hash_expr): Call hash_rtx.
8331 (ldst_entry): Likewise.
8332 (expr_equiv_p): Call exp_equiv_p.
8333 (struct unoccr, hash_expr_1, hash_string_1, lookup_expr,
8334 reg_used_on_edge, reg_set_between_after_reload_p,
8335 reg_used_between_after_reload_p, get_avail_load_store_reg,
8336 is_jump_table_basic_block, bb_has_well_behaved_predecessors,
8337 get_bb_avail_insn, hash_scan_set_after_reload,
8338 compute_hash_table_after_reload,
8339 eliminate_partially_redundant_loads, gcse_after_reload,
8340 get_bb_avail_insn, gcse_after_reload_main): Remove.
8341 * postreload-gcse.c: New file, reincarnating most of the above.
8342 * rtl.h (exp_equiv_p, hash_rtx): New prototypes.
8343 (gcse_after_reload_main): Update prototype.
8344 * timevar.def (TV_GCSE_AFTER_RELOAD): New timevar.
8345 * passes.c (rest_of_handle_gcse2): Use it.
8346
95013377
DN
83472004-08-18 Diego Novillo <dnovillo@redhat.com>
8348
8349 * tree-ssa-loop.c (pass_loop_init): Add TODO_dump_func.
8350 (pass_loop_done): Likewise.
8351
ac9e2cff
AP
83522004-08-18 Andrew Pinski <apinski@apple.com>
8353
826c9564 8354 * config/rs6000/darwin.md: Delete the altivec patterns which are
ac9e2cff
AP
8355 handled differently now.
8356 (load_macho_picbase_di): Make sure that is only happens for TARGET_64BIT
8357 (macho_correct_pic_di): Likewise.
8358 (call_indirect_nonlocal_darwin64): Likewise.
8359 Delete the save world/saveFP/saveVec patterns.
826c9564 8360
ac9e2cff 8361 Revert the reversion of: 2004-08-16 Stan Shebs <shebs@apple.com>
826c9564
ZW
8362 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
8363 * config/rs6000/rs6000.md: Include darwin.md.
8364 (builtin_setjmp_receiver): Add DImode case.
8365 * config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
8366 Darwin bits.
ac9e2cff 8367
92b9a671
MA
83682004-08-18 Matt Austern <austern@apple.com>
8369
8370 Dead code stripping
8371 * darwin.h (EH_FRAME_SECTION_ATTR): Mark so it doesn't get stripped.
8372 * darwin.c (darwin_file_end): Mark file as potentially strippable.
826c9564 8373
4766261d
RH
83742004-08-18 Richard Henderson <rth@redhat.com>
8375
8376 * alias.c (readonly_fields_p): Remove.
8377 (objects_must_conflict_p): Don't call it.
8378 * tree.h (readonly_fields_p): Remove.
8379 * langhooks.h (struct lang_hooks): Remove honor_readonly.
8380 * langhooks-def.h (LANG_HOOKS_HONOR_READONLY): Remove.
8381
50dc9a88
DN
83822004-08-18 Diego Novillo <dnovillo@redhat.com>
8383
8384 * tree-dfa.c (add_referenced_var): Only global variables are
8385 call-clobbered.
8386 * tree-flow.h (struct ptr_info_def): Add field pt_global_mem.
8387 * tree-ssa-alias.c (compute_points_to_and_addr_escape): Mark
8388 all pointers dereferenced if the statement dereferences them.
8389 (create_name_tags): Do not create memory tags for pointers
8390 that have PT_ANYTHING set.
8391 Also check if PT_VARS is not empty before creating a name tag.
8392 (compute_flow_sensitive_aliasing): Don't mark call-clobbered
8393 variables that share the same alias set with a pointer that
8394 may point anywhere.
8395 (add_may_alias): Add FIXME comment to remove clobbering
8396 aliased variables and tags.
8397 (replace_may_alias): Likewise.
8398 (set_pt_anything): Do not clear PT_VARS nor IS_DEREFERENCED.
8399 (merge_pointed_to_info): If the original variable has not
8400 points-to information, call set_pt_anything.
8401 (add_pointed_to_var): Do not prevent adding a pointed-to
8402 variable if the pointers is PT_ANYTHING.
8403 If the variable is a global, set PT_GLOBAL_MEM.
8404 (collect_points_to_info_r): Don't assume that PLUS_EXPRs of
8405 pointer type only come in PTR+OFFSET flavours.
8406 Always call merge_pointed_to_info on PHI arguments that are
8407 SSA_NAMEs.
8408 (get_nmt_for): Mark call-clobbered tags whose pointer points
8409 to global memory.
8410 * tree-ssa-operands.c (opf_kill_def, opf_no_vops): Switch
8411 values.
8412 (get_indirect_ref_operands): Always clear OPF_KILL_DEF from
8413 FLAGS.
8414 (add_stmt_operand): Abort if the caller tried to add a killing
8415 definition for a memory tag.
8416 * tree-ssa.c (verify_flow_sensitive_alias_info): Remove
8417 unnecessary checks.
8418
62164eb4
R
84192004-08-18 J"orn Rennecke <joern.rennecke@superh.com>
8420
8421 * sh.h (CONDITIONAL_REGISTER_USAGE): Don't exclude fixed registers
8422 from call_used_regs. Update call_really_used_regs.
8423 (CALL_REALLY_USED_REGISTERS): Define.
8424 * sh.c (output_stack_adjust, shmedia_target_regs_stack_space):
8425 Replace call_used_regs with call_really_used_regs.
8426 (calc_live_regs, sh_media_register_for_return): Likewise.
8427 (sh5_schedule_saves, sh_expand_prologue, reg_unused_after): Likewise.
8428 * sh.md (return_media): Likewise.
8429
f9b0ac3b
AP
84302004-08-18 Andrew Pinski <apinski@apple.com>
8431
826c9564 8432 * config/darwin.c (machopic_legitimize_pic_address): Only set
ac9e2cff 8433 MEM_READONLY_P in the non TARGET_TOC case.
f9b0ac3b 8434
f822d252
ZW
84352004-08-18 Zack Weinberg <zack@codesourcery.com>
8436
8437 * rtl.def (NIL): Delete.
8438 * read-rtl.c (read_rtx): Handle (nil) like (define_constants).
8439 Tighten the syntax a little.
8440
8441 * cfgloop.h, combine.c, cse.c, loop-iv.c, postreload.c, reload.c
8442 * config/alpha/alpha.c, config/alpha/alpha.h, config/arc/arc.h
8443 * config/arm/arm.h, config/frv/frv.h, config/i386/i386.c
8444 * config/i386/predicates.md, config/m32r/m32r.h
8445 * config/m68hc11/m68hc11.c, config/mcore/mcore.h, config/mips/mips.c
8446 * config/mmix/mmix.c, config/pa/pa.h, config/sh/sh.h
8447 * config/sparc/sparc.h, doc/tm.texi:
8448 Replace all occurrences of NIL with UNKNOWN.
8449
6aaf3dde
ZW
84502004-08-18 Zack Weinberg <zack@codesourcery.com>
8451
8452 * dojump.c (do_jump <unordered_bcc>): Do not recursively call
8453 self with a TRUTH_ORIF_EXPR; generate the appropriate jump
8454 sequence inline. Move drop_through_label code into this
8455 block, being the only place it is used. Adjust comments.
8456
d62294f5
FJ
84572004-08-18 Fariborz Jahanian <fjahanian@apple.com>
8458
6aaf3dde
ZW
8459 * config/rs6000/altivec.md: Add new patterns for calls to
8460 save_world/rest_world functions.
8461
8462 * config/rs6000/rs6000-protos.h: (save_world_operation,
8463 restore_world_operation) new declarations.
8464
8465 * config/rs6000/rs6000.c: (struct rs6000_stack) new world_save_p
8466 field added.
8467 (rs6000_stack_info): Set world_save_p field.
8468 (save_world_operation): New function.
8469 (restore_world_operation): New function.
8470 (compute_save_world_info): New function.
8471 (rs6000_stack_info): Call compute_save_world_info.
8472 (rs6000_emit_prologue): Check for world_save_p and generate
8473 pattern to call save_world for saving all non-volatile and
8474 special registers.
8475 (rs6000_emit_epilogue): Check for world_save_p and generate
8476 pattern to call rest_world to restore saved registers.
8477
8478 config/rs6000/rs6000.h: macros FIRST_SAVED_ALTIVEC_REGNO,
8479 FIRST_SAVED_FP_REGNO, FIRST_SAVED_GP_REGNO defined.
8480 (rs6000_reg_names): New entries added for save_world_operation and
8481 restore_world_operation.
d62294f5 8482
790ac0e1
CT
84832004-08-18 Caroline Tice <ctice@apple.com>
8484
6aaf3dde 8485 * Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS) Add
790ac0e1
CT
8486 "-freorder-blocks-and-partition" to the flags used in second
8487 stage of profiledbootstrap.
8488 * bb-reorder.c (push_to_next_round_p): Add new variable,
8489 next_round_is_last; set and use variable to make sure, when
8490 partitioning, that the last trace construction round consists
8491 of all (and only) cold basic blocks.
8492 (rotate_loop): Don't copy blocks that end in a section
8493 crossing jump.
8494 (copy_bb): Correctly initialize "partition" of duplicated bb.
8495 (add_unlikely_executed_notes): Add a comment.
8496 (find_rarely_executed_basic_blocks_and_crossing_edges): Modify
8497 to make sure, if function contains hot blocks, that the
8498 successors of ENTRY_BLOCK_PTR are hot; also, only look for
8499 crossing edges if the architecture supports named sections.
8500 (mark_bb_for_unlikely_executed_section): Modify to always
8501 insert the NOTE_INSN_UNLIKELY_EXECUTED_CODE immediately after
8502 the basic block note insn.
8503 (fix_crossing_unconditional_branches): Remove extra space.
8504 (fix_edges_for_rarely_executed_code): Modify to only do
8505 partitioning work if the architecture supports named sections.
8506 (reorder_basic_blocks): Modify to only add
8507 NOTE_INSN_UNLIKELY_EXECUTED_CODE notes if the architecture
8508 supports named sections.
8509 * c-common.c (handle_section_attribute): Initialize new global
8510 variable, user_defined_section_attribute, to true if user has
8511 specified one.
8512 * cfgcleanup.c (try_forward_edges): Modify to not attempt to
8513 forward edges that cross section boundaries.
8514 * cfglayout.c (fixup_reorder_chain): Modify to only fix up
8515 partitioning information if the architecture supports named
8516 sections.
8517 * cfgrtl.c (target.h): Add statement to include this.
8518 (rtl_split_block): Make sure newly created bb gets correct
8519 partition.
8520 (try_redirect_by_replacing_jump): Make sure redirection isn't
8521 attempting to cross section boundaries.
8522 (force_nonfallthru_and_redirect): Only do partition fix up if
8523 architecture supports named sections.
8524 (rtl_split_edge): Make sure newly created bb ends up in
8525 correct partition.
8526 (commit_one_edge_insertion): Remove code that incorrectly
8527 updated basic block partition; Make sure partition fix up only
8528 happens if architecture supports named sections and it's not
8529 already done.
8530 (rtl_verify_flow_info_1): Fix if-condition on test/error
8531 condition that fallthru edges are not allowed to cross section
8532 boundaries.
8533 * defaults.h (NORMAL_TEXT_SECTION_NAME): Remove this.
8534 * final.c (final_scan_insn): Remove redundant test from if-statement;
8535 change calls to text_section into calls to function_section; add code
8536 to only to partitioning fix up if architecture supports named
8537 sections.
8538 * ifcvt.c (find_if_case_1): Make sure newly created bb has correct
8539 partition.
8540 (if_convert): Add targetm.have_named_sections to test.
8541 * output.h (unlikely_section_label): Extern declaration for new global
8542 variable.
8543 (unlikely_text_section_name): Likewise.
8544 * opts.c (decode_options): If both partitioning and DWARF debugging
8545 are turned on, issue a warning that this doesn't work, and change
8546 partitiong to basic block reordering (without hot/cold partitions).
6aaf3dde 8547 * passes.c (rest_of_handle_final): Re-set new global variable,
790ac0e1
CT
8548 user_defined_section_attribute, to false.
8549 (rest_of_compilation): Change options for calling partitioning
8550 function: Don't call if the user defined the section attribute, and
8551 don't call if DECL_ONE_ONLY is true for the current function.
8552 * predict.c (choose_function_section): Return immediately if we
8553 are doing hot/cold partitioning (i.e. let the basic block partitioning
8554 determine where the function belongs).
8555 * reg-stack.c (emit_swap_insn): Add condition to step over
8556 NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
8557 * toplev.c (user_defined_section_attribute): New global variable.
89b0433e
NS
8558 * toplev.h (user_defined_section_attribute): Extern declaration
8559 for new global variable.
790ac0e1
CT
8560 * varasm.c (unlikely_section_label): New global variable.
8561 (unlikely_text_section_name): New global variable.
89b0433e
NS
8562 (unlikely_text_section): Add code to initialize
8563 unlikely_text_section_name if necessary; modify to use
8564 unlikely_text_section_name and unlikely_section_label; also to use
8565 named_section properly.
8566 (in_unlikely_text_section): Modify to work correctly with
8567 named_section and to use unlikely_text_section_name.
790ac0e1
CT
8568 (named_section): Add code to work properly with cold section.
8569 (function_section): Clean up if-statement.
89b0433e
NS
8570 * config/darwin.c (darwin_asm_named_section): Return to original
8571 code, removing use of SECTION_FORMAT_STRING.
6aaf3dde 8572 * config/arm/pe.h (switch_to_section): Add case for
790ac0e1
CT
8573 in_unlikely_executed_text to switch statement.
8574 * config/i386/cygming.h (switch_to_section): Likewise.
8575 * config/i386/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
8576 (SECTION_FORMAT_STRING): Likewise.
8577 * config/mcore/mcore.h (switch_to_section): Likewise.
8578 * config/rs6000/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
8579 (SECTION_FORMAT_STRING): Remove.
8580
3a4416fb
RS
85812004-08-18 Roger Sayle <roger@eyesopen.com>
8582
8583 * config/i386/i386.h (FIXED_REGISTERS): Update encoding to be
8584 -ffixed-reg safe, by preserving the meanings of zero and one.
8585 (CALL_USED_REGISTERS): Likewise.
8586 (CONDITIONAL_REGISTER_USAGE): Update to process new encodings.
8587
03904fb3
KK
85882004-08-18 Kaz Kojima <kkojima@gcc.gnu.org>
8589
8590 * config/sh/sh.c (split_branches): Check the result of
8591 next_active_insn.
8592 (sh_output_mi_thunk): Call init_flow if basic_block_info is null.
8593 Call rtl_register_cfg_hooks.
8594
389fdba0
RH
85952004-08-18 Richard Henderson <rth@redhat.com>
8596
8597 * rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
8598 * alias.c (true_dependence): Update to match new semantics.
8599 (canon_true_dependence, write_dependence_p): Likewise.
8600 (anti_dependence, output_dependence): Update write_dependence_p args.
8601 (unchanging_anti_dependence): Remove.
8602 * calls.c (purge_mem_unchanging_flag): Remove.
8603 (fixup_tail_calls): Don't call it.
8604 (expand_call): Don't add unchanging memory to function usage.
8605 * expr.c (emit_block_move_via_libcall): Likewise.
8606 (clear_storage_via_libcall): Don't clobber RTX_UNCHANGING_P mems.
8607 (get_subtarget): Don't use RTX_UNCHANGING_P.
8608 (expand_assignment, store_constructor, expand_expr_real_1): Likewise.
8609 (do_tablejump): Set MEM_READONLY_P, not RTX_UNCHANGING_P.
8610 * combine.c (get_last_value_validate): Use MEM_READONLY_P.
8611 * cse.c (insert): Don't use RTX_UNCHANGING_P.
8612 (cse_insn, canon_hash): Use MEM_READONLY_P.
8613 * emit-rtl.c (set_mem_attributes_minus_bitpos): Use MEM_READONLY_P
8614 instead of RTX_UNCHANGING_P.
8615 * explow.c (maybe_set_unchanging): Remove.
8616 * expr.h (maybe_set_unchanging): Remove.
8617 * flow.c (insn_dead_p, mark_used_regs): Use anti_dependence.
8618 * function.c (assign_stack_temp_for_type): Don't use RTX_UNCHANGING_P.
8619 (assign_parm_setup_reg, expand_function_start): Likewise.
8620 * integrate.c (copy_rtx_and_substitute): Likewise.
8621 * ra-rewrite.c (emit_colors): Likewise.
8622 * regmove.c (copy_src_to_dest, regmove_optimize): Likewise.
8623 (fixup_match_1): Likewise.
8624 * reload1.c (reload, alter_reg): Likewise.
8625 * local-alloc.c (validate_equiv_mem): Check MEM_READONLY_P,
8626 not RTX_UNCHANGING_P.
8627 (equiv_init_varies_p): Likewise.
8628 * loop-invariant.c (check_maybe_invariant): Likewise.
8629 * resource.c (mark_referenced_resources, mark_set_resources): Likewise.
8630 * loop.c (note_addr_stored): Likewise.
8631 (prescan_loop): Likewise. Don't check function usage for clobbered
8632 unchanging memory.
8633 * rtlanal.c (rtx_unstable_p): Check MEM_READONLY_P,
6aaf3dde 8634 not RTX_UNCHANGING_P.
389fdba0
RH
8635 (rtx_varies_p, modified_between_p, modified_in_p): Likewise.
8636 * varasm.c (force_const_mem): Likewise.
8637 * stmt.c (expand_decl): Don't set RTX_UNCHANGING_P.
8638 * web.c (entry_register): Likewise.
8639 * tree-gimple.h (get_base_address): Move decl ...
8640 * tree.h: ... here.
8641 * doc/rtl.texi (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
8642
8643 * config/alpha/alpha.c (alpha_set_memflags_1): Rewrite to be
8644 called via for_each_rtx. Copy MEM_SCALAR_P, MEM_NOTRAP_P too.
8645 (alpha_set_memflags): Update to match.
8646
8647 * config/darwin.c (machopic_indirect_data_reference): Set
8648 MEM_READONLY_P instead of RTX_UNCHANGING_P.
8649 (machopic_indirect_call_target): Likewise.
8650 (machopic_legitimize_pic_address): Likewise.
6aaf3dde 8651 * config/arm/arm.c (legitimize_pic_address, arm_gen_load_multiple,
389fdba0
RH
8652 arm_gen_store_multiple, arm_gen_movmemqi): Likewise.
8653 * config/arm/arm.md (load_multiple, store_multiple): Likewise.
8654 * config/frv/frv.md (symGOT2reg): Likewise.
8655 * config/i386/i386.c (legitimize_pic_address,
8656 legitimize_tls_address, ix86_split_to_parts): Likewise.
8657 * config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
8658 * config/ia64/ia64.md (load_fptr): Likewise.
8659 * config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
8660 * config/m68k/m68k.c (legitimize_pic_address): Likewise.
8661 * config/mcore/mcore.c (block_move_sequence): Likewise.
8662 * config/mn10300/mn10300.md (symGOT2reg): Likewise.
8663 * config/pa/pa.c (legitimize_pic_address): Likewise.
8664 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
8665 (rs6000_emit_move): Likewise.
8666 * config/s390/s390.c (legitimize_pic_address): Likewise.
8667 (legitimize_tls_address): Likewise.
8668 * config/s390/s390.md (casesi): Likewise.
8669 * config/sh/sh.c (prepare_move_operands, sh_reorg): Likewise.
8670 * config/sh/sh.md (symGOT2reg): Likewise.
8671 * config/sparc/sparc.c (legitimize_pic_address): Likewise.
8672 * config/v850/v850.md (casesi): Likewise.
8673
8674 * config/ia64/ia64.c (gen_thread_pointer): Don't set RTX_UNCHANGING_P.
8675 * config/iq2000/iq2000.c (save_restore_insns): Likewise.
8676 * config/mips/mips.c (mips_restore_gp): Likewise.
8677 (mips_save_restore_reg, mips16_gp_pseudo_reg): Likewise.
8678 * config/sh/sh.c (sh_reorg): Likewise.
8679
17ad5b5e
RH
86802004-08-18 Richard Henderson <rth@redhat.com>
8681
8682 * tree.h (struct tree_decl): Add gimple_formal_temp.
8683 (DECL_GIMPLE_FORMAL_TEMP_P): New.
8684 * gimplify.c (pop_gimplify_context): Clear it.
8685 (lookup_tmp_var): Set it, if is_formal.
8686 (gimplify_init_constructor): Use rhs_predicate_for for COMPLEX.
8687 Use is_gimple_val for VECTOR. Simplify return value.
8688 (gimplify_save_expr): Use and set DECL_GIMPLE_FORMAL_TEMP_P.
8689 (gimplify_expr): Likewise.
8690 * tree-gimple.c (is_gimple_formal_tmp_rhs): Rename from
8691 is_gimple_tmp_rhs for clarity. Update all callers.
8692 (is_gimple_reg_rhs): Simplify logic.
8693 (is_gimple_formal_tmp_var): Rename from is_gimple_tmp_var for
8694 clarity; use DECL_GIMPLE_FORMAL_TEMP_P.
8695 (is_gimple_formal_tmp_reg): Similarly.
8696 * tree-gimple.h: Update decls.
8697 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Use
8698 DECL_IGNORED_P, not DECL_ARTIFICIAL. Tidy formatting.
8699 * tree-ssa-live.c (var_union, type_var_init): Likewise.
8700
5b0eba61
PB
87012004-08-18 Paolo Bonzini <bonzini@gnu.org>
8702
8703 * c4x.c (legitimize_operands): Remove calls to
8704 preserve_subexpressions_p.
8705
07e15286
DE
87062004-08-18 David Edelsohn <edelsohn@gnu.org>
8707
8708 * varasm.c (MAX_OFILE_ALIGNMENT): Move ...
8709 * defaults.h (MAX_OFILE_ALIGNMENT): ... here.
8710
ad8c162b
ZL
87112004-08-18 Ziemowit Laski <zlaski@apple.com>
8712
8713 * gcc.c (default_compilers): Add info about ".mm", ".M" and ".mii"
8714 Objective-C++ extensions.
8715 * gengtype.c (get_file_basename): Match entire subdirectory name
8716 ('cp', 'objc', 'objcp') rather than just its suffix.
8717 (get_base_file_bitmap): Allow for files to belong to more than one
8718 language.
8719 (get_output_file_with_visibility): Treat objc/objc-act.h as a header
8720 used by more than one front-end.
8721
d56993f2
RE
87222004-08-18 Richard Earnshaw <rearnsha@arm.com>
8723
8724 * arm.md (addsi3, subsi3, andsi3, iorsi3, movsi, movhi): Rework to
8725 avoid use of preserve_subexpressions_p.
8726
504c0e4f
RH
87272004-08-17 Richard Henderson <rth@redhat.com>
8728
8729 PR 17051
8730 * tree-sra.c (scalarize_use): Mark all v_defs for !is_output too.
8731
54e9a19d
DD
87322004-08-17 DJ Delorie <dj@redhat.com>
8733
8734 * doc/extend.texi: Document new xstormy16 attribute.
8735
8736 * config/stormy16/stormy16.c (xstormy16_splittable_below100_operand): New.
8737 (xstormy16_splittable_below100_or_register): New.
8738 (combine_bnp): New.
8739 (xstormy16_reorg): New.
8740 (TARGET_MACHINE_DEPENDENT_REORG): Define.
8741
54e9a19d
DD
8742 * config/stormy16/stormy16.md (movqi_internal): Make name public.
8743 (movhi_internal): Likewise.
8744 (cbhranchhi): Likewise.
8745 (cbhranchhi_neg): Likewise.
8746 (andhi3): Only allow splittable below100 operands.
8747 (iorhi3): Likewise.
8748 (peephole2): New and/zero_extend->and peephole.
8749 (peephole2): New load/ior/save->set1 peephole.
8750 (peephole2): New load/and/save->clr1 peephole.
8751 (bclrx, bclrx2, bclr7, bclr15): New.
8752 (bsetx, bsetx2, bset7, bset15): New.
8753
8754 * config/stormy16/stormy16.c (xstormy16_print_operand): Be more
8755 liberal about acceptable 'B' masks.
8756
8757 * config/stormy16/stormy16-protos.h
8758 (xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
8759 xstormy16_below100_operand, xstormy16_below100_or_register,
8760 xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
8761 (PREDICATE_CODES): Add new predicates.
6aaf3dde 8762
54e9a19d
DD
8763 * config/stormy16/stormy16.c
8764 (xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
8765 xstormy16_below100_operand, xstormy16_below100_or_register,
8766 xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
8767 (xstormy16_expand_iorqi3, xstormy16_expand_andqi3): New.
8768 (xstormy16_legitimate_address_p): Allow below100 symbols.
8769 (xstormy16_extra_constraint_p): Add 'W' for below100 operands.
8770 (xstormy16_expand_move): Leave below100 operands as-is.
8771 (xstormy16_encode_section_info): Encode below100 symbols.
8772 (xstormy16_strip_name_encoding): New.
8773 (xstormy16_print_operand): Print 'b' as shift mask.
8774 (xstormy16_attribute_table): Add below100 attributes.
8775 (xstormy16_handle_below100_attribute): New.
8776
8777 * config/stormy16/stormy16.h (EXTRA_SECTIONS): add in_bss100.
8778 (XSTORMY16_SECTION_FUNCTION): New.
8779 (EXTRA_SECTION_FUNCTIONS): Define using the above.
8780 (ASM_OUTPUT_ALIGNED_DECL_COMMON, ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
8781 (ASM_OUTPUT_SYMBOL_REF): Handle encoded symbols.
8782 (ASM_OUTPUT_LABELREF): Define.
8783
8784 * config/stormy16/stormy16.md (movqi_internal): Add below100 support.
8785 (movhi_internal): Add below100 support.
8786 (andhi3): Add below100 support.
8787 (iorhi3): Add below100 support.
8788 (iorqi3, iorqi3_internal, andqi3, andqi3_internal): New.
8789
4ef47bd8
JW
87902004-08-17 James E Wilson <wilson@specifixinc.com>
8791
8792 * config/mips/mips.c (gen_conditional_move): Use GET_MODE (op0) instead
8793 of VOIDmode for comparison code mode.
8794 * config/mips/mips.md: For conditional move patterns, use mode of
8795 first compare operand for comparison mode, instead of VOIDmode.
e17c734b
JW
8796
8797 * config/mips/mips.md: Add canonical nmadd and nmsub patterns for both
8798 normal and -ffast-math code.
8799
1a10290c
MM
88002004-08-17 Mark Mitchell <mark@codesourcery.com>
8801
8802 PR c++/15871
8803 * doc/invoke.texi (-fkeep-inline-functions): Update documentation.
8804
f4e736dd 88052004-08-17 Robert Bowdidge <bowdidge@apple.com>
6aaf3dde
ZW
8806
8807 * config/rs6000/x-darwin: Add -mdynamic-no-pic to gcc build flags.
f4e736dd 8808
13a98f14
AT
88092004-08-17 Andreas Tobler <a.tobler@schweiz.ch>
8810
8811 * config/rs6000/darwin.md (*call_nonlocal_darwin64): Add #else clause
8812 for non Darwin targets.
8813 (*call_value_nonlocal_darwin64): Likewise.
8814
d0b2079e
FJ
88152004-08-17 Fariborz Jahanian <fjahanian@apple.com>
8816
8817 * config/rs6000/rs6000.c (rs6000_function_value): Check for
8818 altivec mode for altivec return register.
8819
feb3dc8b
DE
88202004-08-17 David Edelsohn <edelsohn@gnu.org>
8821
8822 Revert 2004-08-16 Stan Shebs <shebs@apple.com>
ef0e2729 8823 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
feb3dc8b
DE
8824 * config/rs6000/rs6000.md: Include darwin.md.
8825 (builtin_setjmp_receiver): Add DImode case.
8826 * config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
8827 Darwin bits.
8828
79fe1b3b
DN
88292004-08-17 Dorit Naishlos <dorit@il.ibm.com>
8830
89b0433e
NS
8831 * tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE
8832 trees.
79fe1b3b
DN
8833 * tree-vectorizer.h: New File: Same.
8834 * Makefile.in (tree-vectorizer.c, tree-vectorizer.h): Add new files.
8835 * common.opt (ftree-vectorize): New flag to enable vectorization.
89b0433e
NS
8836 * timevar.def (TV_TREE_VECTORIZATION): New dump file for
8837 vectorization pass.
79fe1b3b
DN
8838 * tree-data-ref.h (init_data_ref): Additional argument.
8839 (array_base_name_differ_p): Moved to tree-data-ref.c.
8840 * tree-data-ref.c (array_base_name_differ_p): Revised.
8841 (initialize_data_dependence_relation): Call array_base_name_differ_p
8842 with an extra argument.
8843 (analyze_all_data_dependences): Same.
8844 (init_data_ref): Additional argument is_read to set DR_IS_READ.
89b0433e
NS
8845 * tree-ssa-phiopt.c (empty_block_p): Expose for usage out of this
8846 file.
79fe1b3b
DN
8847 * tree-flow.h (vectorize_loops, empty_block_p): Add declaration.
8848 * tree-optimize.c (pass_vectorize): Schedule the vectorization pass.
6aaf3dde 8849 * tree-pass.h (tree_opt_pass pass_vectorize): Declare the new
79fe1b3b
DN
8850 vectorization pass.
8851 * tree-ssa-loop.c (tree_ssa_loop_init): Call scev_initialize.
8852 (tree_ssa_loop_done): Call scev_finalize.
8853 (tree_vectorize): Define the new vectorization pass.
89b0433e
NS
8854 * defaults.h (UNITS_PER_SIMD_WORD): Allow targets to specify the
8855 size of the vector they support (until support for multiple vector
8856 sizes is added to the vectorizer).
79fe1b3b
DN
8857 * config/i386/i386.h (UNITS_PER_SIMD_WORD): Define.
8858 * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Define.
8859 * invoke.texi (fdump-tree-vect, ftree-vectorize): Add
8860 documentation.
8861
e15987c1
NS
88622004-08-17 Nathan Sidwell <nathan@codesourcery.com>
8863
8864 * objc/objc-act.c (build_protocol_initializer): Fix build_int_cst
8865 usage.
8866 (generate_protocol_list, handle_impent): Likewise.
8867
e3cadb61
RS
88682004-08-17 Roger Sayle <roger@eyesopen.com>
8869
8870 * regclass.c (init_reg_sets_1): Add ENABLE_CHECKING sanity tests to
8871 ensure that call_used_regs is a superset of both fixed_regs and
8872 call_really_used_regs.
8873
108a579c
DB
88742004-08-17 Daniel Bornstein <danfuzz@milk.com>
8875
8876 PR target/17019
8877 * arm.md (addsi3_cbranch_scratch): Correct case labels.
8878
62fc1d7d
PB
88792004-08-17 Paolo Bonzini <bonzini@gnu.org>
8880
8881 PR middle-end/17036
8882 * fold-const.c (fold): Check for integer operand when
8883 folding (A >> N) & 1 ? (1 << N) : 0. Fix from Andrew
8884 Pinski <pinskia@physics.uc.edu>.
8885
7c27e184
PB
88862004-08-17 Paolo Bonzini <bonzini@gnu.org>
8887
8888 * configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO.
8889 No need to check if in a cross configuration.
8890 * configure: Regenerate.
8891
8892 * calls.c (precompute_register_parameters):
8893 Inline preserve_subexpressions_p ().
8894 * expmed.c (expand_mult_const, emit_store_flag): Likewise.
8895 * optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn):
8896 Likewise.
8897 * expr.c (get_subtarget): Likewise.
8898 * rtl.h (preserve_subexpressions_p): Remove.
8899 * stmt.c (preserve_subexpressions_p): Remove.
8900
8901 * dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR,
8902 TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
8903 Abort on gimplified cases.
8904
d97c6333
JW
89052004-08-16 James E Wilson <wilson@specifixinc.com>
8906
8907 * tree.h (VECTOR_FLOAT_TYPE_P): New.
8908 (FLOAT_TYPE_P): Use it.
8909 * c-typeck.c (build_binary_op): After convert calls, check for
8910 check for ERROR_MARK operands.
8911
45c8116d
ZW
89122004-08-16 Zack Weinberg <zack@codesourcery.com>
8913
8914 * Makefile.in (BUILD_PREFIX, BUILD_PREFIX_1): Delete.
8915 (BUILD_RTL, BUILD_PRINT, BUILD_ERRORS, BUILD_VARRAY): Update.
8916 (genobjs): Add build-rtl.o, build-print-rtl.o, build-varray.o.
8917 (genobjs static pattern rule): Remove %.c dependency.
8918 ($(BUILD_PREFIX_1)rtl.o, print-rtl.o, $(BUILD_PREFIX_1)varray.o):
8919 Rename rules; delete commands; fix dependencies.
8920 (mostlyclean): Do not delete temporary source copies.
8921 * configure.ac: Delete all references to BUILD_PREFIX and
8922 BUILD_PREFIX_1.
8923 * configure: Regenerate.
8924
8925 * print-rtl.c: Include bconfig.h #ifdef GENERATOR_FILE.
8926 Do not include tree.h, real.h, flags.h, hard-reg-set.h, or
8927 basic-block.h #ifdef GENERATOR_FILE. Surround some more code
8928 with #ifndef GENERATOR_FILE so that nothing from those headers
8929 is used.
8930
8931 * rtl.c, varray.c: Include bconfig.h #ifdef GENERATOR_FILE.
8932
4d73e20b
AN
89332004-08-16 Adam Nemet <anemet@lnxw.com>
8934
8935 * Makefile.in (LIBS): Move $(LIBIBERTY) after $(BANSHEELIB).
6aaf3dde 8936
62114438
AP
89372004-08-16 Andrew Pinski <apinski@apple.com>
8938
8939 * target-def.h (TARGET_EH_RETURN_FILTER_MODE): Remove
8940 extraneous semicolon.
8941
8e3e233b
DP
89422004-08-16 Devang Patel <dpatel@apple.com>
8943
8944 * c-common.c (handle_used_attribute): Set DECL_PRESERVE_P.
8945 * print-tree.c (print_node): Print DECL_PRESERVE_P.
8946 * target-def.h (TARGET_ASM_MARK_DECL_PRESERVED): New #define.
8947 (TARGET_ASM_OUT): New member, TARGET_ASM_MARK_DECL_PRESERVED
8948 * target.h (struct gcc_target): New member, mark_decl_preserved.
45c8116d
ZW
8949 * hooks.c (hook_void_charptr): Rename to ...
8950 (hook_void_constcharptr): ... new name.
8951 * hooks.h (hook_void_charptr): Rename to ..
8952 (hook_void_constcharptr): ... new name.
8e3e233b
DP
8953 * tree.h (DECL_PRESERVE_P): New #define.
8954 (struct tree_decl): New member, preserve_flag.
8955 * varasm.c (assemble_start_function): Mark decl preserved.
8956 (assemble_variable): Same.
8957 * darwin.c (darwin_mark_decl_preserved): New function.
8958 * darwin.h (TARGET_ASM_MARK_DECL_preserved): New #define.
8959 * darwin-protos.h (darwin_mark_decl_preserved): New decl.
8960 * doc/tm.texi (TARGET_ASM_MARK_DECL_PRESERVED): Document.
8961
580b3958
JM
89622004-08-16 Joseph S. Myers <jsm@polyomino.org.uk>
8963
8964 * c-decl.c (grokdeclarator): Allow for function definition where
8965 innermost declarator has attributes.
8966
93f90be6
FJ
89672004-08-16 Fariborz Jahanian <fjahanian@apple.com>
8968
8969 * except.c (get_exception_filter, build_post_landing_pads,
8970 dw2_build_landing_pads): Use target-specific mode for 'filter'.
8971 * target-def.h (TARGET_EH_RETURN_FILTER_MODE): macro defined and used.
8972 * target.h (eh_return_filter_mode): New field added.
8973 * targhooks.c (default_eh_return_filter_mode): Defined.
8974 * targhooks.h (default_eh_return_filter_mode): Declared.
8975 * config/rs6000/rs6000.c (rs6000_eh_return_filter_mode): Defined.
8976
392765bf
NN
89772004-08-16 Nathanael Nerode <neroden@gcc.gnu.org>
8978
8979 * configure.ac: Replace _GCC_TOPLEV_NONCANONICAL_TARGET with
8980 ACX_NONCANONICAL_TARGET; remove now-unneeded AC_SUBST.
8981 * configure: Regenerate.
8982
49bd1d27
SS
89832004-08-16 Stan Shebs <shebs@apple.com>
8984
8985 Basic support for 64-bit Darwin.
8986 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
8987 (machopic_legitimize_pic_address): Similarly, plus use Pmode
8988 instead of SImode.
8989 * config/rs6000/darwin.h (PTRDIFF_TYPE): Be "long int" if 64-bit.
8990 (TARGET_OS_CPP_BUILTINS): Add 64-bit preprocessor macro.
8991 (SUBTARGET_SWITCHES): Add -m32 and -m64 flags.
8992 (SUBTARGET_OVERRIDE_OPTIONS): Require 64-bit processor if -m64.
8993 (PROCESSOR_DEFAULT64): Define.
8994 * config/rs6000/darwin.md: New file, patterns specific to 64-bit
8995 Darwin.
8996 * config/rs6000/rs6000.md: Include darwin.md.
8997 (builtin_setjmp_receiver): Add DImode case.
8998 * config/rs6000/rs6000.c (TARGET_ASM_UNALIGNED_DI_OP): Define for
8999 Darwin.
9000 (TARGET_ASM_ALIGNED_DI_OP): Ditto.
9001 (rs6000_emit_move): Add DImode case to Darwin bits.
9002 (machopic_output_stub): Use .quad if 64-bit.
9003 * invoke.texi: Document -m32 and -m64.
9004
4e6e4e4c
JJ
90052004-08-16 Janis Johnson <janis187@us.ibm.com>
9006
9007 * doc/extend.texi (AltiVec builtins): Document additional differences
9008 from the Motorola AltiVec PIM.
9009
092313ae
NS
90102004-08-16 Nathan Sidwell <nathan@codesourcery.com>
9011
9012 * c-typeck.c (build_c_cast): Only copy overflow from expr nodes.
9013 * tree.h (IS_NON_TYPE_CODE_CLASS): Simplify.
9014 (struct tree_common): Update public_flag documentation.
9015
dffc9ae5
NN
90162004-08-16 Nathanael Nerode <neroden@gcc.gnu.org>
9017
9018 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
62fc1d7d 9019 Check for artificial variables, not is_gimple_tmp_var.
dffc9ae5
NN
9020 * tree-ssa-live.c (var_union): Likewise.
9021
16e9be4c
NS
90222004-08-16 Nathan Sidwell <nathan@codesourcery.com>
9023
9024 * calls.c (load_register_parameters): Remove spurious FIXME token.
9025
9a4d6480
ZL
90262004-08-15 Ziemowit Laski <zlaski@apple.com>
9027
9028 * Makefile.in (C_PRETTY_PRINT_H): Add c-pretty-print.h.
9029 (c-lang.o): Depend on c-objc-common.h.
45c8116d 9030 (c-objc-common.o): Depend on $(C_PRETTY_PRINT_H) and
9a4d6480
ZL
9031 c-objc-common.h; remove duplicate $(C_TREE_H) dependency.
9032 * c-lang.c: Include c-objc-common.h.
9033 (LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS,
9034 LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION,
9035 LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS,
45c8116d
ZW
9036 LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P,
9037 LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE,
9a4d6480
ZL
9038 LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION,
9039 LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL,
45c8116d 9040 LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME,
9a4d6480
ZL
9041 LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL,
9042 LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED,
9043 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL,
9044 LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
9045 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
9046 LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
9047 LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
9048 LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
9049 LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING,
9050 LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
9051 LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN,
9052 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE,
9053 LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE,
9054 LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE,
9055 LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO,
9056 LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS):
9057 Move to c-objc-common.h.
9058 * c-objc-common.c: Include c-objc-common.h.
9059 * c-objc-common.h: New file.
9060
869464ba
AT
90612004-08-15 Andreas Tobler <a.tobler@schweiz.ch>
9062 Andrew Pinski <pinskia@physics.uc.edu>
9063
9064 PR target/14931
9065 * config/rs6000/darwin-tramp.asm (L_abort$stub): Change to new stub
9066 style.
9067
4a90aeeb
NS
90682004-08-15 Nathan Sidwell <nathan@codesourcery.com>
9069
9070 * tree.h (build_int_cst): New.
9071 (build_int_2): Remove.
9072 * tree.c (build_int_2): Remove.
9073 (build_int_cst): New.
9074 (make_vector_type, build_common_tree_nodes,
9075 build_common_tree_nodes_2): Use build_int_cst.
9076 * builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
9077 expand_builtin_strpbrk, expand_builtin_fputs,
9078 build_string_literal, expand_builtin_printf,
9079 expand_builtin_sprintf, fold_builtin_lround, fold_builtin_bitop,
9080 fold_builtin_bitop, fold_builtin_isascii, fold_builtin_toascii,
9081 fold_builtin_isdigit, simplify_builtin_strstr,
9082 simplify_builtin_strpbrk, fold_builtin_fputs,
9083 simplify_builtin_sprintf): Use build_int_cst.
9084 * c-common.c (start_fname_decls, fix_string_type,
9085 c_common_nodes_and_builtins, c_init_attributes,
9086 shorten_compare): Likewise.
9087 * c-decl.c (complete_array_type,
9088 check_bitfield_type_and_width): Likewise.
9089 * c-lex.c (interpret_integer, lex_charconst): Likewise.
9090 * c-parse.in (primary): <TYPES_COMPATIBLE_P> Likewise.
9091 * c-pretty-print.c (pp_c_integer_constant): Likewise.
9092 * c-typeck.c (really_start_incremental_init, push_init_level,
9093 set_nonincremental_init_from_string): Likewise.
9094 * calls.c (load_register_parameters): Likewise.
9095 * convert.c (convert_to_pointer): Likewise.
9096 * coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
9097 build_fn_info_type, build_ctr_info_value, build_gcov_info):
9098 Likewise.
9099 * except.c (init_eh, assign_filter_values, assign_filter_values):
9100 Likewise.
9101 * expmed.c (store_fixed_bit_field, extract_bit_field,
9102 extract_fixed_bit_field, extract_split_bit_field, expand_shift,
9103 expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
9104 expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
9105 * expr.c (convert_move, emit_group_load, emit_group_store,
9106 expand_assignment, store_constructor, store_field,
9107 expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
9108 * fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
9109 invert_truthvalue, optimize_bit_field_compare,
9110 decode_field_reference, all_ones_mask_p, constant_boolean_node,
9111 fold_div_compare, fold, fold_read_from_constant_string,
9112 fold_negate_const, fold_abs_const, fold_not_const): Likewise.
9113 * function.c (assign_parm_setup_block): Likewise.
9114 * stmt.c (shift_return_value, expand_end_case_type,
9115 estimate_case_costs): Likewise.
9116 * stor-layout.c (layout_type, initialize_sizetypes,
9117 set_min_and_max_values_for_integral_type): Likewise.
9118 * tree-chrec.c (chrec_fold_multiply_poly_poly,
9119 reset_evolution_in_loop): Likewise.
9120 * tree-chrec.h (build_polynomial_chrec): Likewise.
9121 * tree-complex.c (build_replicated_const): Likewise.
9122 * tree-eh.c (honor_protect_cleanup_actions,
9123 lower_try_finally_onedest, lower_try_finally_copy,
9124 lower_try_finally_switch): Likewise.
9125 * tree-mudflap.c (mf_build_string, mx_register_decls,
9126 mudflap_register_call, mudflap_enqueue_constant): Likewise.
9127 * tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
9128 * tree-pretty-print.c (dump_generic_node): Likewise.
9129 * tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
9130 Likewise.
9131 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
9132 * tree-ssa-loop-niter.c (number_of_iterations_cond,
9133 loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
9134 Likewise.
45c8116d 9135
4a90aeeb
NS
9136 * config/alpha/alpha.c (alpha_initialize_trampoline,
9137 alpha_va_start, alpha_gimplify_va_arg_1): Use build_int_cst.
9138 * config/arm/arm.c (arm_get_cookie_size): Likewise.
9139 * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
9140 * config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
9141 * config/i860/i860.c (i860_va_start): Likewise.
9142 * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
9143 * config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
9144 mips_gimplify_va_arg_expr): Likewise.
9145 * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
9146 * config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
9147 add_compiler_branch_island): Likewise.
9148 * config/s390/s390.c (s390_va_start): Likewise.
9149 * config/sh/sh.c (sh_va_start): Likewise.
9150 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
9151 Likewise.
9152 * config/xtensa/xtensa.c (xtensa_va_start,
9153 xtensa_gimplify_va_arg_expr): Likewise.
45c8116d 9154
4a90aeeb
NS
9155 * objc/objc-act.c (build_objc_string_object,
9156 build_objc_symtab_template, init_def_list, init_objc_symtab,
9157 init_module_descriptor, generate_static_references,
9158 build_selector_translation_table, get_proto_encoding,
9159 build_typed_selector_reference, build_selector_reference,
9160 build_next_objc_exception_stuff,
9161 build_method_prototype_list_template, generate_descriptor_table,
9162 generate_protocols, build_protocol_initializer,
9163 build_ivar_list_template, build_method_list_template,
9164 build_ivar_list_initializer, generate_ivars_list,
9165 generate_dispatch_table, generate_protocol_list,
9166 build_category_initializer, build_shared_structure_initializer,
9167 generate_shared_structures, handle_impent,
9168 generate_objc_image_info): Use build_int_cst.
9169
2a68a7de
BE
91702004-08-15 Ben Elliston <bje@au.ibm.com>
9171
9172 * vec.h: Comment improvements.
9173
53fb4de3
RS
91742004-08-14 Roger Sayle <roger@eyesopen.com>
9175
9176 * c-common.c (shorten_compare, pointer_int_sum,
9177 c_common_truthvalue_conversion, boolean_increment): Replace calls
9178 to build with calls to buildN.
9179 * c-decl.c (complete_array_type, grokdeclarator): Likewise.
9180 * c-gimplify.c (c_build_bind_expr, gimplify_c_loop,
9181 gimplify_switch_stmt): Likewise.
9182 * c-typeck.c (default_function_array_conversion,
9183 build_component_ref, build_array_ref, build_function_call,
9184 pointer_diff, build_unary_op, build_conditional_expr,
9185 build_compound_expr, build_modify_expr, c_finish_goto_label,
9186 c_finish_goto_ptr, c_finish_return, c_finish_loop,
9187 c_finish_bc_stmt, c_finish_stmt_expr, c_end_compound_stmt,
9188 build_binary_op): Likewise.
9189
254b17dd
SB
91902004-08-15 Steven Bosscher <stevenb@suse.de>
9191
9192 * rtl.c (note_insn_name): Add NOTE_DISABLE_SCHED_OF_BLOCK.
9193
a5252c84
JDA
91942004-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9195
9196 * fixinc/inclhack.def (stdio_va_list): Also fix com_err.h, cps.h,
9197 curses.h, krb5.h, lc_core.h, pfmt.h, wchar.h and curses_colr/curses.h.
9198 * fixinc/fixincl.x: Rebuilt.
9199
96a30b18
RS
92002004-08-14 Richard Sandiford <rsandifo@redhat.com>
9201
9202 * config/mips/mips-protos.h (mips_symbolic_constant_p)
9203 (mips_atomic_symbolic_constant_p, mips_stack_address_p)
9204 (mips_small_data_pattern_p): Declare.
9205 * config/mips/mips.h (CONST_GP_P): Moved from mips.c.
9206 (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete.
9207 * config/mips/mips.c (mips_symbolic_constant_p): Make global.
9208 (mips_atomic_symbolic_constant_p, mips_stack_address_p): New functions.
9209 (uns_arith_operand, const_arith_operand, arith_operand, sle_operand)
9210 (sleu_operand, small_int, reg_or_0_operand, const_float_1_operand)
9211 (reg_or_const_float_1_operand, hilo_operand, extend_operator)
9212 (macc_msac_operand, equality_op, cmp_op, trap_cmp_op)
9213 (pc_or_label_operand, call_insn_operand, move_operand)
9214 (consttable_operand, symbolic_operand, general_symbolic_operand)
9215 (global_got_operand, local_got_operand, stack_operand)
9216 (fp_register_operand, lo_operand, fcc_register_operand): Delete.
9217 (mips_small_data_pattern_1): Renamed from small_data_pattern_1.
9218 (mips_small_data_pattern_p): Replace previous small_data_pattern
9219 predicate. Turn into a bool () (rtx) function.
9220 * config/mips/predicates.md: New file.
9221 * config/mips/mips.md: Include it. Use the target-independent
9222 comparison_operator instead of cmp_op. Rename trap_cmp_op to
9223 trap_comparison_operator and equality_op to equality_operator.
9224 Replace uses of small_int with the equivalent const_arith_operand.
9225 Rename reg_or_const_float_1_operand to reg_or_1_operand. Rename
9226 const_float_1_operand to const_1_operand. Rename fcc_register_operand
9227 to fcc_reload_operand.
9228 * config/mips/sb1.md: Rename fp_register_operand to fpr_operand.
9229
e41c9fcb
JDA
92302004-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9231
9232 PR libstdc++/17005 partial fix.
9233 * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define _INCLUDE__STDC_A1_SOURCE
9234 except when generating ANSI/C89 code.
9235
af9c6659
NS
92362004-08-14 Nathan Sidwell <nathan@codesourcery.com>
9237
9238 * c-common.c (shorten_compare): Use force_fit_type directly.
9239
37de1373
GP
92402004-08-14 Gerald Pfeifer <gerald@pfeifer.com>
9241 Dimitri Papadopoulos-Orfanos <papadopo@shfj.cea.fr>
9242 Dave Korn <dk@artimi.com>
9243
9244 * doc/install.texi (Building): Avoid duplicate reference to GNU
9245 make requirement.
9246 (*-*-solaris2*): Do not recommend GNU make any longer. Simplify.
9247
06d69cd3
RH
92482004-08-14 Richard Henderson <rth@redhat.com>
9249
9250 * config/alpha/alpha.h (PROMOTE_MODE): Don't promote vector types.
9251 * config/alpha/alpha.c (function_value): Use PROMOTE_MODE.
9252
e427abbf
RH
92532004-08-13 Richard Henderson <rth@redhat.com>
9254
9255 * config/i386/i386.md (call_1, sibcall_1, call_1_rex64): Use Pmode
9256 for constant_call_address_operand.
9257 (call_value_pop_1, call_value_1): Likewise.
9258 (sibcall_value_1, call_value_1_rex64): Likewise.
9259
2b407936
JW
92602004-08-13 James E Wilson <wilson@specifixinc.com>
9261
9262 * config/mips/sb1.md (ir_sb1_divdf_2pipes, ir_sb1_divdf_1pipe):
9263 Correct mode from SFmode to DFmode.
9264
3e0d5ae2
ZL
92652004-08-13 Ziemowit Laski <zlaski@apple.com>
9266
9267 * config/darwin.h (EXTRA_SECTION_FUNCTIONS): Mark the __sel_fixup,
9268 __cstring_object and __image_info sections with the no_dead_strip
9269 attribute.
9270
e0704143
RS
92712004-08-13 Roger Sayle <roger@eyesopen.com>
9272 David Billinghurst <David.Billinghurst@riotinto.com>
9273
9274 PR libgfortran/15930
9275 * fixinc/inclhack.def (irix___generic1, irix___generic2): New.
9276 * fixinc/fixincl.x: Regenerate.
9277 * fixinc/tests/base/internal/math_core.h: New file.
9278
8768c655
RH
92792004-08-13 Richard Henderson <rth@redhat.com>
9280
9281 * dbxout.c (NO_DBX_FUNCTION_END): Default to zero.
9282 (dbxout_function_end): Remove ifdefs for it.
9283 (dbxout_begin_prologue): Protect N_BNSYM with it, and gdb extensions.
9284
201312c2
RH
92852004-08-13 Richard Henderson <rth@redhat.com>
9286
9287 * Makefile.in (insn-preds.o): Depend on TREE_H.
9288 * genpreds.c (write_insn_preds_c): Include tree.h.
9289 * config/alpha/alpha.c (reg_or_0_operand, reg_or_6bit_operand,
9290 reg_or_8bit_operand, cint8_operand, add_operand, sext_add_operand,
9291 const48_operand, and_operand, or_operand, mode_width_operand,
9292 mode_mask_operand, mul8_operand, const0_operand,
9293 hard_fp_register_operand, hard_int_register_operand,
9294 reg_or_cint_operand, some_operand, some_ni_operand, input_operand,
9295 samegp_function_operand, direct_call_operand, small_symbolic_operand,
45c8116d 9296 global_symbolic_operand, call_operand, symbolic_operand,
201312c2
RH
9297 dtp16_symbolic_operand, dtp32_symbolic_operand,
9298 gotdtp_symbolic_operand, tp16_symbolic_operand, tp32_symbolic_operand,
9299 gottp_symbolic_operand, alpha_comparison_operator,
9300 alpha_zero_comparison_operator, alpha_swapped_comparison_operator,
9301 signed_comparison_operator, alpha_fp_comparison_operator,
9302 divmod_operator, fix_operator, aligned_memory_operand,
9303 unaligned_memory_operand, reg_or_unaligned_mem_operand,
9304 any_memory_operand, reg_not_elim_operand, normal_memory_operand,
9305 reg_no_subreg_operand, addition_operation): Move to predicates.md.
9306 (reg_or_const_int_operand): Remove. Replace all users with
9307 reg_or_cint_operand.
9308 (tls_symbolic_operand_1): Export. Don't check mode or for CONST.
9309 (resolve_reload_operand): Split out of aligned_memory_operand.
9310 * config/alpha/alpha-protos.h: Update for exports.
9311 * config/alpha/alpha.h (PREDICATE_CODES): Remove.
9312 * config/alpha/alpha.md: Include predicates.md.
9313 * config/alpha/predicates.md: New file.
9314
1e9c8405
RS
93152004-08-13 Richard Sandiford <rsandifo@redhat.com>
9316
9317 * genattrtab.c (insn_ent): Replace insn_code, insn_index and lineno
9318 fields with a pointer to the instruction definition.
9319 (get_attr_value, fill_attr, make_length_attrs, remove_insn_ent)
9320 (insert_insn_ent, simplify_test_exp, optimize_attrs, write_attr_get)
9321 (write_attr_case, write_const_num_delay_slots): Update accordingly.
9322 (write_attr_case, write_const_num_delay_slots): Write the name of
9323 an insn next to its case statement.
9324 * genoutput.c (data): Add a filename field.
9325 (gen_insn, gen_peephole, gen_expand, gen_split): Set it.
9326 (output_insn_data): Print the location of each insn definition.
9327 * genrecog.c (write_action): Print the name of an insn above
9328 the statement that returns its code.
9329
1e5f1716
AP
93302004-08-12 Andrew Pinski <pinskia@physics.uc.edu>
9331
9332 * config/darwin-c.c (find_subframework_file): Fix spelling of cannot.
9333 * config/libgloss.h: Likewise.
9334 * config/arm/arm.c (arm_gen_load_multiple): Likewise.
9335 * c4x/c4x-modes.def: Likewise.
9336 * config/c4x/c4x.c (c4x_hard_regno_rename_ok): Likewise.
9337 (c4x_rptb_nop_p): Likewise.
9338 (c4x_rptb_valid_p): Likewise.
9339 (c4x_rptb_insert): Likewise.
9340 (c4x_address_conflict): Likewise.
9341 * config/c4x/c4x.md: Likewise.
9342 * config/frv/frv.md: Likewise.
9343 * config/i386/athlon.md: Likewise.
9344 * config/i386/i386.md: Likewise.
9345 * config/i386/predicates.md: Likewise.
9346 * config/ia64/ia64.c: Likewise.
9347 * config/ia64/itanium1.md: Likewise.
9348 * config/ia64/itanium2.md: Likewise.
9349 * config/iq2000/iq2000.md: Likewise.
9350 * config/mcore/mcore.c: Likewise.
9351 * config/mips/mips.c: Likewise.
9352 * config/mips/r3900.h: Likewise.
9353 * config/mips/sb1.md: Likewise.
9354 * config/pa/milli64.S: Likewise.
9355 * config/pa/pa.c: Likewise.
9356 * config/pa/pa.h: Likewise.
9357 * config/rs6000/8540.md: Likewise.
9358
9bcc9490
DB
93592004-08-13 Daniel Berlin <dberlin@dberlin.org>
9360
9361 * Makefile.in (BOOT_CFLAGS): Remove accidental addition of -dU.
9362
68fe56fc
R
93632004-08-13 J"orn Rennecke <joern.rennecke@superh.com>
9364
9365 * sh.md (cbranch define_delay) Use cond_delay_slot for
9366 non-anulled condition too.
9367
85d346f1
DE
93682004-08-12 David Edelsohn <edelsohn@gnu.org>
9369
9370 * config/rs6000/rs6000.c (any_parallel_operand): New predicate.
9371 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
9372 any_parallel_operand, lmw_operation, stmw_operation,
a688b3ac 9373 mfcr_operation, mtcrf_operation. Remove PARALLEL from any_operand.
85d346f1
DE
9374 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Use
9375 any_parallel_operand.
9376 (return_and_restore_fpregs_{si,di}): Same.
9377
47d2cee5
ZW
93782004-08-12 Zack Weinberg <zack@codesourcery.com>
9379
9380 * genrecog.c (add_to_sequence): When processing a MATCH_PARALLEL,
9381 if pred->singleton != PARALLEL, issue a warning and pretend it was.
9382 Also issue a warning for any predicate we don't know about.
9383
8fe75e43
RH
93842004-08-12 Richard Henderson <rth@redhat.com>
9385
9386 * config/i386/i386.c (internal_label_prefix): Export.
9387 (internal_label_prefix_len, struct ix86_address,
9388 ix86_decompose_address, maybe_get_pool_constant,
9389 ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes,
9390 memory_address_length): Export.
47d2cee5 9391 (any_fp_register_operand, fp_register_operand,
8fe75e43 9392 register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand,
47d2cee5 9393 x86_64_general_operand, x86_64_szext_general_operand,
8fe75e43
RH
9394 x86_64_nonmemory_operand, x86_64_movabs_operand,
9395 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
9396 x86_64_zext_immediate_operand, const_int_1_31_operand,
9397 symbolic_operand, pic_symbolic_operand, local_symbolic_operand,
9398 tls_symbolic_operand, global_dynamic_symbolic_operand,
9399 local_dynamic_symbolic_operand, initial_exec_symbolic_operand,
9400 local_exec_symbolic_operand, call_insn_operand, sibcall_insn_operand,
9401 constant_call_address_operand, const0_operand, const1_operand,
9402 const248_operand, const_0_to_3_operand, const_0_to_7_operand,
9403 const_0_to_15_operand, const_0_to_255_operand, incdec_operand,
9404 shiftdi_operand, reg_no_sp_operand, mmx_reg_operand,
9405 general_no_elim_operand, nonmemory_no_elim_operand,
9406 index_register_operand, q_regs_operand, flags_reg_operand,
9407 non_q_regs_operand, zero_extended_scalar_load_operand,
9408 vector_move_operand, no_seg_address_operand, sse_comparison_operator,
47d2cee5 9409 ix86_comparison_operator, ix86_carry_flag_operator,
8fe75e43
RH
9410 fcmov_comparison_operator, promotable_binary_operator,
9411 cmp_fp_expander_operand, ext_register_operand, binary_fp_operator,
47d2cee5 9412 mult_operator, div_operator, arith_or_logical_operator,
8fe75e43
RH
9413 memory_displacement_operand, cmpsi_operand, long_memory_operand,
9414 aligned_operand): Move to predicates.md as define_predicates.
9415 (tls_symbolic_operand_1): Remove.
9416 (x86_64_sign_extended_value): Merge into x86_64_immediate_operand.
9417 (x86_64_zero_extended_value): Merge into x86_64_zext_immediate_operand.
9418 (legitimize_address): Merge tls_symbolic_operand contents.
9419 (ix86_expand_move): Likewise.
9420 * config/i386/i386-protos.h: Update for exports.
9421 * config/i386/i386.h (EXTRA_CONSTRAINT): Update for renames.
9422 (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Remove.
9423 * config/i386/i386.md: Include predicates.md.
9424 * config/i386/predicates.md: New file.
9425
ea3d83a7
MM
94262004-08-13 Mark Mitchell <mark@codesourcery.com>
9427
9428 PR c++/16924
9429 * config/i386/winnt.c (i386_pe_mark_dllexport): Set
9430 SYMBOL_REF_DECL.
9431 (i386_pe_mark_dllimport): Likewise.
9432 (i386_pe_encode_section_info): Likewise, when overriding
9433 dllimport attribute.
9434
414adbdd
GK
94352004-08-12 Geoffrey Keating <geoffk@apple.com>
9436
9437 * configure.ac: When testing for flex, nm, ar, and bison, check
9438 that they will actually be built.
9439 * configure: Regenerate.
9440
c5443745
UW
94412004-08-12 Ulrich Weigand <uweigand@de.ibm.com>
9442
9443 * config/s390/s390.h (MAX_FIXED_MODE_SIZE): Define.
9444 (MOVE_MAX_PIECES): Define.
9445
8fa5469d
DP
94462004-08-12 Devang patel <dpatel@apple.com>
9447
9448 * dbxout.c (dbxout_begin_prologue): New function.
9449 (dbx_debug_hooks): Use new begin prologue hook.
9450 (dbxout_function_end): Emit N_ENSYM.
9451 * stab.def (N_BNSYM, N_ENSYM): Define and document these two new stabs.
47d2cee5 9452
b0b343db
JJ
94532004-08-12 Janis Johnson <janis187@us.ibm.com>
9454
e390eb0a
JJ
9455 * config/rs6000/altivec.h (vec_dst): Fix C++ functions whose first
9456 argument is float*.
9457
e34b6648
JJ
9458 * config/rs6000/rs6000.c (altivec_init_builtins): Fix argument type
9459 for vec_dss.
9460
b0b343db
JJ
9461 * doc/extend.texi (AltiVec builtins): Fix description for recent
9462 changes. Update operation list to match current support.
9463
adf39f8f
AK
94642004-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
9465
9466 * config/s390/s390.c (struct s390_frame_layout): New struct as element
9467 of struct machine_function.
9468 (cfun->machine->frame_size): Moved into cfun->machine->frame_layout and
9469 changed all uses.
9470 (cfun->machine->save_fprs_p): Replaced by cfun_save_high_fprs and
9471 changed all uses.
9472 (cfun_frame_layout, cfun_save_high_fprs_p, cfun_gprs_save_area_size)
9473 (cfun_set_fpr_bit, cfun_fpr_bit_p): New macros.
9474 (s390_frame_area, s390_register_info): New functions.
9475 (s390_optimize_prolog): Renamed to s390_optimize_prologue. Added check
9476 for base register.
9477 (s390_return_addr_rtx, s390_return_address_offset)
9478 (s390_va_start, s390_gimplify_va_arg)
9479 (s390_emit_prologue, s390_emit_epilogue): Adjusted for new stack
9480 layouts.
9481 (s390_frame_info): Functionality partly moved to s390_register_info.
9482 Made adaptions for new stack layout.
9483 (save_gprs, restore_gprs): Changed meaning of second parameter and
9484 adapted all callers.
9485
9486 * config/s390/s390.h (s390_backchain_string): New global variable.
9487 (MASK_BACKCHAIN): Removed definition.
9488 (TARGET_BACKCHAIN): Changed check.
9489 (TARGET_KERNEL_BACKCHAIN): New macro.
9490 (TARGET_SWITCHES): Removed entries of "backchain" and "no-backchain".
9491 (TARGET_OPTIONS): Added "backchain", "no-backchain" and
9492 "kernel-backchain".
9493 (DYNAMIC_CHAIN_ADDRESS): Adjusted for new stack layouts.
9494
9495 * config/s390/s390.md ("allocate_stack"): Added TARGET_KERNEL_BACKCHAIN
9496 as condition. Adjusted for new stack layout.
9497
9498 * doc/invoke.texi: Added documentation for new option
9499 "-mkernel-backchain" and adjusted documentation of "-mbackchain" and
9500 "-mno-backchain".
9501
db151e9d
PB
95022004-08-12 Paul Brook <paul@codesourcery.com>
9503
9504 * config/arm/lib1funcs.asm (ARM_FUNC_ALIAS): Also alias _L__name.
9505 (aeabi_uidivmod, aeabi_idivmod): Provide thumb implementation.
9506
02b75262
DD
95072004-08-12 David Daney <ddaney@avtrex.com>
9508
db151e9d 9509 * java/gcj.texi: Add subsection on signal usage.
02b75262 9510
f64d6991
DE
95112004-08-12 David Edelsohn <edelsohn@gnu.org>
9512
9513 * expr.c (move_by_pieces): Set alignment for move to minimum of
9514 MOVE_MAX_PIECES mode alignment and the largest non-slow mode
9515 alignment, but not less than the original alignment.
9516 (move_by_pieces_ninsns): Same.
9517 (can_store_by_pieces): Similar for store with STORE_MAX_PIECES.
9518 (store_by_pieces_1): Same.
9519
c597ef4e
DN
95202004-08-12 Diego Novillo <dnovillo@redhat.com>
9521
9522 PR tree-optimization/16867
9523 * tree.c (is_global_var): New function.
9524 (needs_to_live_in_memory): Check for TREE_ADDRESSABLE.
9525 Call is_global_var.
9526 * tree.h (DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL): Remove.
9527 Update all users.
9528 (is_global_var): Declare.
9529 * tree-dfa.c (dump_variable): Display global and addressable
9530 attributes.
9531 (add_referenced_var): Clarify documentation when marking
9532 variables call-clobbered.
9533 * tree-flow-inline.h (is_call_clobbered): Call is_global_var
9534 instead of needs_to_live_in_memory.
9535 (mark_call_clobbered): If the variable is a tag, mark it
9536 DECL_EXTERNAL.
9537 * tree-gimple.c (is_gimple_reg): Don't check for
9538 TREE_ADDRESSABLE.
9539 (is_gimple_non_addressable): Likewise.
9540 * tree-ssa-alias.c (get_nmt_for): Always check whether the tag
9541 needs to be marked call-clobbered.
9542 (setup_pointers_and_addressables): Call is_global_var instead
9543 of needs_to_live_in_memory.
9544 * tree-ssa-dce.c (need_to_preserve_store): Remove.
9545 Update all users with is_global_var.
9546 (mark_stmt_if_obviously_necessary): Fix processing of aliased
9547 stores. Don't check the virtual definitions. Rather, check
9548 whether the store is going into global memory.
9549 (find_obviously_necessary_stmts): Get the symbol from the PHI
9550 result.
9551 * tree-ssa-operands.c (get_call_expr_operands): Do not add
9552 clobbering may-defs if the call does not have side effects.
9553
ab5c8549
JJ
95542004-08-12 Jakub Jelinek <jakub@redhat.com>
9555
9556 PR c++/16276
9557 * output.h (default_function_rodata_section,
9558 default_no_function_rodata_section): New prototypes.
9559 * target.h (struct gcc_target): Add asm_out.function_rodata_section.
9560 * target-def.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
9561 (TARGET_ASM_OUT): Add it.
9562 * varasm.c (default_function_rodata_section,
9563 default_no_function_rodata_section): New functions.
9564 * final.c (final_scan_insn): Call
9565 targetm.asm_out.function_rodata_section instead of
9566 readonly_data_section.
9567 * config/darwin.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
9568 * config/mcore/mcore.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
9569 * config/ip2k/ip2k.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
9570 * config/rs6000/xcoff.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
9571 Likewise.
9572 * config/alpha/alpha.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
9573 * config/i386/cygming.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
9574 Likewise.
9575 * config/i386/i386-interix.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
9576 Likewise.
9577 * config/arm/pe.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
9578 * config/avr/avr.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
9579 * doc/tm.texi (TARGET_ASM_FUNCTION_RODATA_SECTION): Document.
9580
5cf58f28
PB
95812004-08-12 Paul Brook <paul@codesourcery.com>
9582
9583 * dwarf2out.h (dwarf2out_frame_finish): Conditionalize outputting eh
9584 frame info.
9585 * doc/tm.texi: Document interaction between TARGET_UNWIND_INFO and
9586 DWARF2_UNWIND_INFO.
9587
87e184d1
BE
95882004-08-12 Ben Elliston <bje@au.ibm.com>
9589
9590 PR target/16286
9591 * config/rs6000/altivec.h: Change vector to __vector throughout.
9592 (Except for the `vector' macro itself).
9593
e543e219
ZW
95942004-08-12 Zack Weinberg <zack@codesourcery.com>
9595
9596 * genpreds.c: Add capability to generate predicate bodies as
9597 well as function prototypes. Write function prototypes for
9598 the generic predicates too.
9599 (process_define_predicate, write_tm_preds_h, write_insn_preds_c)
9600 (write_predicate_subfunction, mark_mode_tests, add_mode_tests)
9601 (write_match_code, write_predicate_expr, write_one_predicate_function)
9602 (parse_option): New functions.
9603 (output_predicate_decls): Delete.
9604 (main): Read the machine description, process DEFINE_PREDICATE or
9605 DEFINE_SPECIAL_PREDICATE patterns, write tm-preds.h or insn-preds.c
9606 as appropriate.
9607
9608 * genrecog.c (struct decision_test): Replace index with
9609 struct pred_data pointer.
9610 (next_index): Remove, unused.
9611 (pred_table, preds, special_mode_pred_table): Delete.
9612 (compute_predicate_codes, process_define_predicate): New functions.
9613 (validate_pattern, add_to_sequence, write_switch): Update for
9614 new data structures.
9615 (main): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
9616 Check both error_count and have_error.
9617
9618 * gensupport.c (in_fname, first_predicate): New globals.
9619 (define_pred_queue, define_pred_tail): New RTL-pattern queue.
9620 (predicate_table, last_predicate, old_pred_table)
9621 (old_special_pred_table): New statics.
9622 (hash_struct_pred_data, eq_struct_pred_data, lookup_predicate)
9623 (add_predicate, init_predicate_table): New functions.
9624 (process_rtx): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
9625 (init_md_reader_args_cb): Use the global in_fname. No need to zero
9626 it or max_include_len. Call init_predicate_table.
9627 (read_rtx): Run the predicate queue after the attribute queue
9628 but before all the others.
9629 * gensupport.h (in_fname, struct pred_data, first_predicate)
9630 (lookup_predicate, add_predicate, FOR_ALL_PREDICATES): Declare.
9631 * rtl.def (MATCH_CODE, MATCH_TEST, DEFINE_PREDICATE)
9632 (DEFINE_SPECIAL_PREDICATE): New RTL codes.
9633 * dummy-conditions.c: Don't include bconfig.h, system.h,
9634 coretypes.h, tm.h, or system.h. Do include stddef.h.
9635 Duplicate declaration of struct c_test from gensupport.h.
9636
9637 * Makefile.in (OBJS-common): Add insn-preds.o.
9638 (STAGESTUFF, .PRECIOUS): Add insn-preds.c.
9639 (insn-preds.c, insn-preds.o): New rules.
9640 (s-preds): Also generate insn-preds.c.
9641 (dummy-conditions.o, genpreds$(build_exeext), genpreds.o):
9642 Update dependencies.
9643 (print-rtl.o, print-rtl1.o): Correct dependencies.
9644
9645 * recog.h: Delete prototypes of predicate functions.
9646
9647 * doc/md.texi (Predicates): New section with complete
9648 documentation of operand/operator predicates. Remove some
9649 incomplete documentation of predicates from other places.
9650 * doc/tm.texi (Misc): Move SPECIAL_MODE_PREDICATES next to
9651 PREDICATE_CODES; indicate that both are deprecated in favor
9652 of define_predicate/define_special_predicate.
9653
9654 * config/ia64/ia64.c: All predicate function definitions moved
9655 to ia64.md, except
9656 (small_addr_symbolic_operand, tls_symbolic_operand): Delete.
9657 (ia64_expand_load_address, ia64_expand_move):
9658 Check SYMBOL_REF_TLS_MODEL directly, don't use tls_symbolic_operand.
9659
9660 * config/ia64/ia64.md: All predicates now defined here.
9661 (symbolic_operand): Is now a special predicate.
9662
9663 * config/ia64/ia64.h: Declare ia64_section_threshold.
9664 (PREDICATE_CODES): Delete.
9665
174283a3
RH
96662004-08-12 Richard Henderson <rth@redhat.com>
9667
9668 * c-common.h (STATEMENT_LIST_HAS_LABEL): New.
9669 * c-semantics.c (add_stmt): Set it.
9670 * c-decl.c (finish_decl): Use it to create a new BIND_EXPR
9671 before instantiating a variable sized type.
9672
15931954
RH
96732004-08-12 Richard Henderson <rth@redhat.com>
9674
9675 * stor-layout.c (round_up, round_down): Move ...
e543e219 9676 * fold-const.c (round_up, round_down): ... here. Use
15931954
RH
9677 multiple_of_p to avoid any arithmetic at all.
9678
57d1dd87
RH
96792004-08-12 Richard Henderson <rth@redhat.com>
9680
9681 * gimplify.c (struct gimplify_init_ctor_preeval_data): New.
9682 (gimplify_init_ctor_preeval_1): New.
9683 (gimplify_init_ctor_preeval): New.
9684 (gimplify_init_ctor_eval): New.
9685 (gimplify_init_constructor): Use them. Always gimplify the LHS
9686 object first.
9687
46e34f96
ZL
96882004-08-12 Ziemowit Laski <zlaski@apple.com>
9689
9690 (This patch is part of merge of objc-improvements-branch
9691 into mainline.)
9692
9693 * doc/frontends.texi: Mention Objective-C++ in addition to
9694 Objective-C.
9695 * doc/install.texi: Add 'obj-c++' to list of configurable
9696 languages.
9697 * doc/invoke.texi: Rename Objective-C option headings to
9698 indicate they also apply to Objective-C++. List file
9699 extensions for Objective-C++ sources. Mention that
9700 ObjC and ObjC++ compilations may also use C and C++ options,
9701 respectively. Point users to doc/standards.texi for
9702 further info on ObjC and ObjC++.
9703 * doc/sourcebuild.texi: Mention the objcp/ directory and
9704 the Objective-C++ sources it contains.
9705 * doc/standards.texi: Update link to Apple ObjC site;
9706 add link to gcc readings.html WWW doc.
9707
07f12d8b
AM
97082004-08-12 Alan Modra <amodra@bigpond.net.au>
9709
9710 * config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28
9711 and 2004-07-14 changes.
9712
89aa5a20
PB
97132004-08-12 Paul Brook <paul@codesourcery.com>
9714
9715 * doc/invoke.texi: Fix typo.
9716
5079843a
DP
97172004-08-11 Devang Patel <dpatel@apple.com>
9718
9719 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -dead_strip
9720 and -no_dead_strip_inits_and_terms.
9721 (LINK_SPEC): Same.
9722 * doc/invoke.texi (Darwin Options): Document -dead_strip and
9723 -no_dead_strip_inits_and_terms.
e543e219 9724
876f13b0
PB
97252004-08-11 Paul Brook <paul@codesourcery.com>
9726
9727 * config/arm/arm-protos.h (arm_finalize_pic) Rename ...
9728 (arm_load_pic_register): ... to this.
9729 * config/arm/arm.c (arm_finalize_pic): Rename ...
9730 (arm_load_pic_register): ... to this. Always output insns at the
9731 current location. Load via low reg in thumb mode.
9732 (arm_expand_prologue): Call arm_load_pic_register.
9733 (thumb_expand_prologue): Ditto.
9734 * config/arm/arm.h (FINALIZE_PIC): Remove.
9735 * config/arm/arm.md (builtin_setjmp_receiver): Call
9736 arm_load_pic_register.
9737
57934c39
PB
97382004-08-11 Paul Brook <paul@codesourcery.com>
9739
9740 * arm.c (thumb_force_lr_save): Add prototype.
9741 (thumb_compute_save_reg_mask): New function.
9742 (thumb_find_work_register): New function.
9743 (arm_get_frame_offsets): Use thumb_compute_save_reg_mask.
9744 (thumb_unexpanded_epilogue): Ditto. Remove redundant code.
9745 Don't clobber r3 when removing pretend args.
9746 (thumb_expand_prologue): Use thumb_compute_save_reg_mask.
9747 (thumb_output_function_prologue): Use new functions.
9748 (thumb_set_return_address): Use thumb_compute_save_reg_mask.
9749 * arm.h (THUMB_REG_PUSHED_P): Remove.
9750
af874237
JW
97512004-08-11 James E Wilson <wilson@specifixinc.com>
9752
9753 PR rtl-optimization/16490
9754 * cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and
9755 global_live_at_end for new basic block if already set for other blocks.
9756
c1618c0c
DE
97572004-08-11 David Edelsohn <edelsohn@gnu.org>
9758
9759 * config/rs6000/rs6000.h (MAX_FIXED_MODE_SIZE): Define.
9760
9761 * config/rs6000/rs6000.md (mfcr rlwinm patterns): Set length to 8.
9762 (mfcr rlwinm rlwinm patterns): Set length to 12.
9763
1a24f92f
AM
97642004-08-11 Andrew MacLeod <amacleod@redhat.com>
9765
9766 * tree-flow-inline.h (get_def_ops, get_use_ops, get_v_may_def_ops,
9767 get_vuse_ops,get_v_must_def_ops): Add operand structure reference.
9768 (get_v_may_def_result_ptr, get_v_may_def_op_ptr): New access struct.
9769 (start_ssa_stmt_operands): Delete.
e543e219 9770 * tree-flow.h (struct stmt_ann_d): Replace operand vectors with new
1a24f92f
AM
9771 struct stmt_operands_d.
9772 (build_ssa_operands): New extern entry point.
e543e219 9773 * tree-ssa-dom.c (record_equivalences_from_stmt): Remove operand
1a24f92f
AM
9774 building code, replace with create_ssa_artficial_load_stmt().
9775 * tree-ssa-operands.c (struct voperands_d): Delete.
9776 (allocate_v_may_def_optype): Allocate v_may_def_operand_type_t vector.
9777 (allocate_v_must_def_optype): Use sizeof (tree), not sizeof (tree *).
e543e219 9778 (free_uses, free_defs, free_vuses, free_v_may_defs,
1a24f92f
AM
9779 free_v_must_defs): Remove dealloc parameter.
9780 (remove_vuses, remove_v_may_def, remove_v_must_defs): Delete.
9781 (finalize_ssa_defs, finalize_ssa_uses, finalize_ssa_v_may_defs,
9782 finalize_ssa_vuses, finalize_ssa_v_must_defs): Perform all operand
9783 vector comparisons, ssa_name reuse, and allocations here.
9784 (verify_start_operands): Delete.
9785 (finalize_ssa_stmt_operands): Set new operands by calling finalize
9786 routines.
9787 (start_ssa_stmt_operands): Move from tree-flow-inline.h.
9788 (append_def, append_usei): Simplify to simple accumulation.
9789 (append_v_may_def, append_vuse, append_v_must_def): Simplify to avoiding
9790 duplicates and simple accumulation.
9791 (free_ssa_operands): Free vectors in a stmt_operand structure.
9792 (build_ssa_operands): New. Create a new stmt_operand structure from
e543e219 9793 a stmt and an old set of stmt_operands.
1a24f92f
AM
9794 (get_stmt_operands): Simplify and call build_ssa_operands.
9795 (get_expr_operands, get_asm_expr_operands, get_indirect_ref_operands,
9796 get_call_expr_operands, add_stmt_operand, add_call_clobber_ops,
9797 add_call_read_ops): Don't pass prev_vops around anymore.
9798 (note_addressable): Return if no stmt annotation.
9799 (copy_virtual_operands): Access v_may_def operands through a struct.
9800 (create_ssa_artficial_load_stmt): New. Create a load stmt for DOM's
9801 hash tables without treating the stmt as a real stmt.
9802 * tree-ssa-operands.h (struct v_may_def_operand_type): New. Access
9803 v_may_def def and use through a struct instead of 2 array elements.
9804 (struct v_may_def_optype_d): Use v_may_def_operand_type.
9805 (struct stmt_operands_d): New. Struct for storing all operand vectors.
9806
a77655b1
NC
98072004-08-11 Nick Clifton <nickc@redhat.com>
9808
9809 * config/arm/arm.c (arm_is_longcall_p): Update comment describing
9810 this funciton's behaviour. Return true when the current function
9811 has a section attribute and -mlong-calls is in effect.
9812 * config/arm/arm.h (ARM_DECLARE_FUNCTION_SIZE): Do not set the
9813 short-call marker when -mlong-calls is in effect and the function
9814 has a section attribute.
9815
6f4a43e0
ZW
98162004-08-10 Zack Weinberg <zack@codesourcery.com>
9817
9818 * stmt.c (expand_return): If asked to return the RESULT_DECL,
9819 just call expand_value_return on result_rtl.
9820
1a186ec5
RH
98212004-08-10 Richard Henderson <rth@redhat.com>
9822
9823 * builtins.def (BUILT_IN_STACK_ALLOC): Remove.
9824 * builtins.c (expand_builtin) <BUILT_IN_STACK_ALLOC>: Remove.
9825 * dwarf2out.c (loc_descriptor): Handle PARALLEL here ...
9826 (add_location_or_const_value_attribute): ... not here. Use
9827 loc_descriptor_from_tree if possible.
9828 (loc_descriptor_from_tree_1): Rename from loc_descriptor_from_tree.
9829 Simplify address handling. Handle DECL_VALUE_EXPR. Handle register
9830 values specially.
9831 (loc_descriptor_from_tree): New. Update callers.
9832 * expr.c (expand_var): Ignore DECL_VALUE_EXPR variables.
9833 * gimplify.c (gimplify_decl_expr): Lower variable sized types to
9834 pointer plus dereference. Set DECL_VALUE_EXPR. Set save_stack.
9835 (gimplify_call_expr): Do not recognize BUILT_IN_STACK_ALLOC
9836 and BUILT_IN_STACK_RESTORE.
9837 (gimplify_expr): Lower DECL_VALUE_EXPR decls.
9838 * stmt.c (expand_stack_alloc): Remove.
9839 * tree-mudflap.c (mx_register_decls): Don't look for
9840 BUILT_IN_STACK_ALLOC.
9841 * tree-nested.c (convert_local_reference): Likewise.
9842 * tree.h (DECL_VALUE_EXPR): New.
9843
7109c195
RH
98442004-08-10 Richard Henderson <rth@redhat.com>
9845
bf4ccdd6
RH
9846 * stor-layout.c (round_up): Check for 0/1 before dividing.
9847 (round_down): Likewise.
9848
7109c195
RH
9849 * tree-tailcall.c (suitable_for_tail_opt_p): Also check DECL_EXTERNAL.
9850
b3f8d95d
MM
98512004-08-09 Mark Mitchell <mark@codesourcery.com>
9852
9853 * config.gcc (arm*-*-eabi*): New target.
9854 * defaults.h (TARGET_LIBGCC_FUNCS): New macro.
9855 (TARGET_LIB_INT_CMP_BIASED): Likewise.
9856 * expmed.c (expand_divmod): Try a two-valued divmod function as a
9857 last resort.
9858 * gthr.h: Remove bogus tokens at end of #pragma.
9859 * optabs.c (expand_twoval_binop_libfunc): New function.
9860 (prepare_cmp_insn): Handle the !TARGET_LIB_INT_CMP_BIASED case.
9861 (prepare_float_lib_cmp): Try reversing the condition.
9862 (debug_optab_libfuncs): New function.
9863 * optabs.h (expand_twoval_binop_libfunc): Declare.
9864 * config/arm/arm.c (arm_init_libfuncs): New function.
9865 (arm_compute_initial_eliminatino_offset): Return HOST_WIDE_INT.
9866 (TARGET_INIT_LIBFUNCS): Define it.
9867 * config/arm/arm.h (TARGET_BPABI): New macro.
9868 * config/arm/arm-protos.h
9869 (arm_compute_initial_elimination_offset): Return HOST_WIDE_INT.
9870 * config/arm/bpabi.S: New file.
9871 * config/arm/bpabi.c: Likewise.
9872 * config/arm/bpabi.h: Likewise.
9873 * config/arm/ieee754-df.S (__aeabi_dneg): New function or alias.
9874 (__aeabi_drsub): Likewise.
9875 (__aeabi_dsub): Likewise.
9876 (__aeabi_dadd): Likewise.
9877 (__aeabi_ui2d): Likewise.
9878 (__aeabi_i2d): Likewise.
9879 (__aeabi_f2d): Likewise.
9880 (__aeabi_dmul): Likewise.
9881 (__aeabi_ddiv): Likewise.
9882 (__aeabi_cdrcmple): Likewise.
9883 (__aeabi_cdcmpeq): Likewise.
9884 (__aeabi_cdcmple): Likewise.
9885 (__aeabi_dcmpeq): Likewise.
9886 (__aeabi_dcmplt): Likewise.
9887 (__aeabi_dcmple): Likewise.
9888 (__aeabi_dcmpge): Likewise.
9889 (__aeabi_dcmpgt): Likewise.
9890 (__aeabi_dcmpun): Likewise.
9891 (__aeabi_d2iz): Likewise.
9892 (__aeabi_d2uiz): Likewise.
9893 (__aeabi_d2f): Likewise.
9894 * config/arm/ieee754-sf.S (__aeabi_fneg): New function or alias.
9895 (__aeabi_frsub): Likewise.
9896 (__aeabi_fsub): Likewise.
9897 (__aeabi_fadd): Likewise.
9898 (__aeabi_ui2f): Likewise.
9899 (__aeabi_i2f): Likewise.
9900 (__aeabi_fmul): Likewise.
9901 (__aeabi_fdiv): Likewise.
9902 (__aeabi_cfrcmple): Likewise.
9903 (__aeabi_cfcmpeq): Likewise.
9904 (__aeabi_cfcmple): Likewise.
9905 (__aeabi_fcmpeq): Likewise.
9906 (__aeabi_fcmplt): Likewise.
9907 (__aeabi_fcmple): Likewise.
9908 (__aeabi_fcmpge): Likewise.
9909 (__aeabi_fcmpgt): Likewise.
9910 (__aeabi_fcmpun): Likewise.
9911 (__aeabi_f2iz): Likewise.
9912 (__aeabi_f2uiz): Likewise.
9913 * config/arm/lib1funcs.asm (ARM_CALL): New macro.
9914 (__aeabi_uidivmod): New function or alias.
9915 (__aeabi_idivmod): Likewise.
9916 (__aeabi_idiv0): Likewise.
9917 (__aeabi_ldiv0): Likewise.
9918 (__aeabi_llsr): Likewise.
9919 (__aeabi_lasr): Likewise.
9920 (__aeabi_llsl): Likewise.
9921 (bpabi.S): Include it.
9922 * config/arm/libgcc-bpabi.ver: New file.
9923 * config/arm/symbian.h (ARM_DEFAULT_ABI): Remove.
9924 (LINK_SPEC): Remove.
9925 * config/arm/t-arm-elf (LIB1ASMFUNCS): Add __aeabi_lcmp and
9926 __aeabi_ulcmp.
9927 * config/arm/t-bpabi: New file.
9928 * doc/tm.texi (TARGET_LIBGCC_FUNCS): New entry.
9929 (TARGET_LIB_INT_CMP_BIASED): Likewise.
6f4a43e0 9930
fba73eb1
DE
99312004-08-10 David Edelsohn <edelsohn@gnu.org>
9932
9933 * config/rs6000/rs6000-protos.h (expand_block_clear): Declare.
9934 * config/rs6000/rs6000.md (clrmemsi): New pattern.
9935 * config/rs6000/rs6000.c (expand_block_clear): New function.
9936 (expand_block_move): Convert alignment to bits. Use SImode and
9937 HImode for unaligned addresses if not STRICT_ALIGNMENT.
9938
99392004-08-10 Caroline Tice <ctice@apple.com>
c295317d
CT
9940
9941 * varasm.c (unlikely_section_label): New global variable.
9942 (unlikely_text_section_name): New global variable.
9943 (text_section): Remove alignment statement.
6f4a43e0 9944 (unlikely_text_section): Remove alignment statement; use
c295317d
CT
9945 unlikely_section_label rather than hard-coded string.
9946 (assemble_start_function): Initialize unlikely_section_label and
9947 unlikely_text_section_name; make sure cold section is properly
9948 aligned at start of function; output unlikely_section_label if
9949 appropriate.
9950
68f9c5e2
UW
99512004-08-10 Ulrich Weigand <uweigand@de.ibm.com>
9952
9953 * config/s390/s390-protos.h (s390_canonicalize_comparison): Declare.
9954 * config/s390/s390.c (s390_canonicalize_comparison): New function.
9955 * config/s390/s390.h (CANONICALIZE_COMPARISON): Define.
9956 * config/s390/s390.md ("*tmdi_ext", "*tmsi_ext", "*tmqisi_ext",
9957 "*tmqidi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem"): Remove.
9958 ("*tmqi_mem"): Remove SUBREG from pattern.
9959 ("*anddi3_cconly"): Prevent accidentally matching TM pattern.
9960 ("*andsi3_cconly"): Likewise.
6f4a43e0 9961
22116d84
L
99622004-08-10 H.J. Lu <hongjiu.lu@intel.com>
9963
9964 PR target/16909
9965 * config/i386/i386.md (*strsetdi_rex_1): Use DI instead of SI.
9966
c75095b2
JJ
99672004-08-10 Janis Johnson <janis187@us.ibm.com>
9968
9969 * doc/sourcebuild.texi (compat testing): Document available test
9970 framework commands. Use the preferred spelling of DejaGnu.
9971
98975653
DB
99722004-08-10 Daniel Berlin <dberlin@dberlin.org>
9973
9974 * lambda.h: Add matrix type, and prototypes for remainder of
9975 matrix and vector functions.
9976 (lambda_vector_mult_const): New function.
9977 (lambda_vector_negate): Ditto.
9978 (lambda_vector_add): Ditto.
9979 (lambda_vector_add_mc): Ditto.
9980 (lambda_vector_copy): Ditto.
9981 (lambda_vector_zerop): Ditto.
9982 (lambda_vector_equal): Ditto.
9983 (lambda_vector_min_nz): Ditto.
9984 (lambda_vector_first_nz): Ditto.
9985 (lambda_vector_matrix_mult): Ditto.
9986 * lambda-mat.c: New file.
9987 * Makefile.in (lambda-mat.o): New.
9988
68b9f53b
AM
99892004-08-10 Andrew MacLeod <amacleod@redhat.com>
9990
9991 * tree-cfg.c (bsi_insert_before, bsi_insert_after): Call modify_stmt
9992 after linking stmt into the program.
9993 (bsi_remove): Don't call modify_stmt.
6f4a43e0 9994 * tree-complex.c (update_complex_assignment,
68b9f53b 9995 expand_complex_comparison): Call modify_stmt after changing the stmt.
6f4a43e0 9996 * tree-outof-ssa.c (rewrite_trees): Call modify_stmt only if not
68b9f53b
AM
9997 removing the stmt.
9998 * tree-ssa-ccp.c (substitute_and_fold): Call modify_stmt after changing
9999 the stmt, and only if needed.
10000 * tree-ssa-dom.c (thread_across_edge): Pass no annotation for a dummy
10001 expression.
10002 (simplify_rhs_and_lookup_avail_expr): Don't take an annotation param.
10003 (simplify_cond_and_lookup_avail_expr): Use modify_stmt.
10004 (simplify_switch_and_lookup_avail_expr): Don't take an annotation param.
6f4a43e0 10005 (eliminate_redundant_computations): Don't pass an annotation. Call
68b9f53b
AM
10006 modify_stmt rather than setting the annotation directly.
10007 (record_equivalences_from_stmt): Remove unused local 'j'.
10008 (cprop_operand): Take a stmt rather than an annotation as a parameter.
10009 Call modify_stmt.
10010 (cprop_into_stmt): Pass stmt rather than annotation.
10011 (update_rhs_and_lookup_avail_expr): Call modify_stmt.
6f4a43e0 10012 * tree-ssa-loop-im.c (schedule_sm): Call get_stmt_ann rather than
68b9f53b
AM
10013 modify_stmt.
10014 * tree-ssa.c (propagate_into_addr): Dont call modify_stmt.
10015
01c98570
JM
100162004-08-10 Jason Merrill <jason@redhat.com>
10017
6c9c4526 10018 PR middle-end/16948
01c98570
JM
10019 * function.c (expand_function_start): Handle DECL_BY_REFERENCE on
10020 the RESULT_DECL.
10021
b2ddaebb
GK
100222004-08-10 Geoffrey Keating <geoffk@apple.com>
10023
10024 * tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the
10025 hash function.
10026
23657388
RS
100272004-08-10 Roger Sayle <roger@eyesopen.com>
10028
10029 * config/mips/mips.md: New reciprocal square root patterns that
10030 match sqrt(1.0/x) in addition to the existing 1.0/sqrt(x) insns.
10031
c9ca9b88
PB
100322004-08-10 Paul Brook <paul@codesourcery.com>
10033
10034 * config/arm/arm-protos.h (arm_set_return_address,
10035 thumb_set_return_address): Add prototypes.
10036 * config/arm/arm.h (ARM_FT_EXCEPTION_HANDLER): Remove.
10037 * config/arm/arm.c (arm_compute_func_type,
10038 use_return_insn, arm_compute_save_reg0_reg12_mask,
10039 arm_compute_save_reg_mask, arm_output_function_prologue,
10040 arm_output_epilogue): Replace ARM_FT_EXCEPTION_HANDLER with
10041 current_function_calls_eh_return.
10042 (thumb_exit, thumb_pushpop, thumb_unexpanded_epilogue): Replace
10043 old eh code.
10044 (arm_set_return_address, thumb_set_return_address): New functions.
10045 * config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS, DWARF2_UNWIND_INFO,
10046 ARM_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX): Define.
10047 * config/arm/arm.md (VUNSPEC_EH_RETURN): Add.
10048 (epilogue): Use the stackadj register.
10049 (eh_return, arm_eh_return, thumb_eh_return): New pattern.
10050
45d78e7f
JJ
100512004-08-10 Jakub Jelinek <jakub@redhat.com>
10052
10053 PR target/3144
10054 * expr.c (move_by_pieces_ninsns): Add max_size argument.
10055 (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1 to it.
10056 (CLEAR_BY_PIECES_P): Pass STORE_MAX_PIECES + 1 to it.
10057 (STORE_BY_PIECES_P): Define similarly to CLEAR_BY_PIECES_P,
10058 but using MOVE_RATIO.
10059 (move_by_pieces): Pass max_size to move_by_pieces_ninsns.
10060 (can_store_by_pieces): Change max_size type to unsigned int.
10061 (store_by_pieces_1): Likewise. Pass max_size to
10062 move_by_pieces_ninsns.
10063 * config/s390/s390.h (STORE_BY_PIECES_P): Define.
10064 * config/sh/sh.c (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1
10065 to move_by_pieces_ninsns.
10066 (STORE_BY_PIECES_P): Define.
10067 * config/ns32k/ns32k.h (STORE_BY_PIECES_P): Pass STORE_MAX_PIECES + 1
10068 to move_by_pieces_ninsns.
10069 * doc/tm.texi (STORE_BY_PIECES_P): Document changed default.
10070
10071 * config/i386/i386.h (CLEAR_RATIO): Define.
10072
25f3e06c
PB
100732004-08-09 Paolo Bonzini <bonzini@gnu.org>
10074
10075 * expr.c (expand_expr_real_1): Add back code that was not dead.
10076
6a3203c8
AP
100772004-08-09 Andrew Pinski <apinski@apple.com>
10078
10079 * c-common.c (c_common_get_alias_set): Set the aliasing set of the type
10080 which is found to be compatible before returning the aliasing set.
10081
b9bfca81
DJ
100822004-08-09 Daniel Jacobowitz <dan@debian.org>
10083
10084 * ggc-zone.c (struct alloc_zone): Add statistics counters.
10085 (always_collect): New flag.
10086 (ggc_alloc_zone_1): Update statistics support. Don't include
10087 overhead in allocated counter.
10088 (sweep_pages): Update allocated counter for large pages. Don'y
10089 include overhead.
10090 (ggc_collect_1): Always collect.
10091 (ggc_collect): Honor always_collect flag. Sum all zones to decide
10092 whether to collect.
10093 (SCALE, LABEL): New macros.
10094 (ggc_print_statistics): Add statistics support.
10095
fdded401
RS
100962004-08-09 Roger Sayle <roger@eyesopen.com>
10097
10098 * expmed.c (sdiv_pow2_cheap, smod_pow2_cheap): Change type to bool.
10099 (init_expmed): Fix potential overrun problem with "all.reg".
10100 (expand_sdiv2_pow2): Add an alternate implementation for signed
10101 division, if the target provides a suitable conditional move insn.
10102
9d8646d7
PB
101032004-08-09 Paul Brook <paul@codesourcery.com>
10104 Richard Henderson <rth@redhat.com>
10105
10106 * unwind-dw2.c (uw_install_context_1): Update target saved stack
10107 pointer.
10108
d37e6b50
GK
101092004-08-09 Geoffrey Keating <geoffk@apple.com>
10110
10111 * ggc-common.c (ggc_rlimit_bound): Don't check RSS limit.
10112 Check DATA limit only if there's no AS limit. Ignore insanely
10113 low DATA limits.
10114 (ggc_min_heapsize_heuristic): Don't divide AS or RSS limits by 8,
10115 but take care that the AS limit isn't overrun.
10116 * doc/invoke.texi: Update documentation of min-heapsize parameter.
10117
56b043c8
JL
101182004-08-09 Jeff Law <law@redhat.com>
10119
10120 * Makefile.in (OBJC-common): Add tree-ssa-threadupdate.c
10121 (tree-ssa-threadupdate.o): Add dependencies.
10122 * tree-ssa-threadupdate.c: New file.
10123 * tree-flow.h (incoming_edge_threaded): New flag in block annotation.
10124 (rewrite_vars_out_of_ssa): Remove prototype.
10125 (cleanup_tree_cfg): Returns a bool.
10126 * tree.h (thread_through_all_blocks): Prototype.
10127 * tree-outof-ssa.c (SSANORM_*): Move into here.
10128 (remove_ssa_form): Now static.
10129 (rewrite_vars_out_of_ssa): Kill.
10130 * tree-ssa-live.c (register_ssa_partitions_for_vars): Kill.
10131 * tree-ssa-live.h (SSANORM_*): Moved into tree-outof-ssa.c.
10132 (remove_ssa_form, register_partitions_for_vars): Kill declarations.
10133 * tree-cfg.c (cleanup_tree_cfg): Return a value indicating if
10134 anything was changed.
10135 * tree-phinodes.c (add_phi_arg): Get the block for the PHI
10136 from the PHI's annotation rather than the edge associated with
10137 the new argument.
10138 * tree-ssa-dom.c (redirection_edges): Kill.
10139 (redirect_edges_and_update_ssa_graph): Kill.
10140 (tree_ssa_dominator_optimize): Do not reset forwardable flag
10141 for blocks anymore. Do not initialize redirection_edges.
10142 Call thread_through_all_blocks. Simplify code for cleanup
10143 of the CFG and iterating. No longer call cleanup_tree_cfg
10144 outside the iteration loop.
10145 (thread_across_edge): No longer mess with forwardable blocks.
10146
9b305d55
ZW
101472004-08-09 Zack Weinberg <zack@codesourcery.com>
10148
10149 * explow.c (memory_address): Use memory_address_p.
10150 * recog.c (general_operand): Likewise.
10151 * regrename.c: No need to define REG_OK_STRICT.
10152
27fb79ad
SB
101532004-08-09 Steven Bosscher <stevenb@suse.de>
10154
10155 * timevar.def (TV_CPROP1, TV_CPROP2, TV_PRE, TV_HOIST, TV_LSM):
10156 New timers.
10157 * gcse.c: Include timevar.h.
10158 (const_prop_count, copy_prop_count): Rename to global_const_prop_count
10159 and global_copy_prop_count.
10160 (local_const_prop_count, local_copy_prop_count): New static globals.
10161 (gcse_main): Set the right timevar for each pass.
10162 (cprop_jump): Increment global_const_prop_count when a constant is
10163 propagated. Add "GLOBAL" to dump output.
10164 (cprop_insn): Increment global_const_prop_count when a constant is
10165 propagated, or global_copy_prop_count when a copy is propagated.
10166 (do_local_cprop): Likewise for local_const_prop_count and
10167 local_copy_prop_count.
10168 (one_cprop_pass): Initialize const/cprop counters to zero.
10169 Print out results of local and global const/cprop separately.
10170 (bypass_block): Break over-length line.
702d4b73
SB
10171 * Makefile.in (gcse.o): Add TIMEVAR_H dependency. Fix dependencies
10172 for bb-reorder.o and tracer.o.
27fb79ad 10173
7efcb746
PB
101742004-08-09 Paolo Bonzini <bonzini@gnu.org>
10175
10176 * Makefile.in (GTFILES): Remove stmt.c
10177 (stmt.o): Do not depend on gt-stmt.h.
10178 * emit-rtl.c (emit_line_note): Do not call
10179 set_file_and_line_for_stmt.
10180 * expr.c (expand_expr_real_1) <SWITCH_EXPR>: Let expand_case
10181 do everything.
10182 * function.c (free_after_parsing): Do not free STMT field.
10183 (allocate_struct_function): Do not call init_stmt_for_function.
10184 (assign_stack_temp_for_type): Do not accept values of keep
10185 other than 0 or 1.
10186 (init_temp_slots): Do not initialize removed variables.
10187 * function.h (struct function): Remove STMT, X_TARGET_TEMP_SLOT_LEVEL
10188 and X_VAR_TEMP_SLOT_LEVEL fields.
10189 * rtl.h (set_file_and_line_for_stmt): Remove.
10190 * stmt.c (struct nesting, ALLOC_NESTING, POPSTACK,
10191 struct stmt_status, cond_stack, case_stack, nesting_stack,
10192 nesting_depth, emit_locus, set_file_and_line_for_stmt,
10193 same_case_target_p, init_stmt_for_function, emit_nop,
10194 expand_start_cond, expand_start_elseif, expand_start_else,
10195 expand_elseif, expand_end_cond): Remove.
10196 (preserve_subexpressions_p): Remove references to CFUN->STMT.
10197 (expand_start_case, expand_end_case_type): Remove, merge into...
10198 (expand_case): ... this one, including other bits from
10199 expand_expr_real_1. Inline same_case_target_p. Turn members
10200 of CASE_STACK into local variables.
10201 (emit_case_bit_tests): Inline same_case_target_p.
10202 (add_case_node): Add HEAD argument, return new head of the list,
10203 do not handle default label here.
10204 * tree.h (expand_start_cond, expand_end_cond, expand_start_else,
10205 expand_start_elseif, current_nesting_level, expand_start_case,
10206 expand_end_case_type, expand_end_case, add_case_node,
10207 init_stmt_for_function, expand_elseif): Remove prototypes.
10208 (expand_case): Add prototype.
10209
c4d70ce3
PB
102102004-08-09 Paolo Bonzini <bonzini@gnu.org>
10211
10212 * expr.c (expand_expr_real_1): Use optab_for_tree_code.
10213
102142004-08-09 Paolo Bonzini <bonzini@gnu.org>
e5bacf32
PB
10215
10216 * expr.c (var_rtx): Remove.
10217 (expand_expr_real_1) <LOOP_EXPR, EXIT_EXPR,
10218 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRUTH_ANDIF_EXPR,
10219 TRUTH_ORIF_EXPR, COMPOUND_EXPR, CONJ_EXPR, INIT_EXPR>:
10220 Abort.
10221 (expand_expr_real_1) <COND_EXPR>: Remove most special cases.
10222 * optabs.c (emit_clr_insn, emit_0_to_1_insn): Remove.
10223 * optabs.h (emit_clr_insn, emit_0_to_1_insn): Remove.
10224
d72372e4
MH
102252004-08-08 Mostafa Hagog <mustafa@il.ibm.com>
10226 Ayal Zaks <zaks@il.ibm.com>
10227
10228 * common.opt (freschedule-modulo-scheduled-loops): New flag.
10229 * final.c (final_scan_insn): Handle NOTE_DISABLE_SCHED_OF_BLOCK.
10230 * modulo-sched.c (sms_schedule): Emit a note to disable scheduling
10231 when -freschedule-modulo-scheduled-loops flag is not specified.
10232 (sms_schedule_by_order, ps_insn_advance_column, add_node_to_ps,
10233 add_node_to_ps, ps_has_conflicts, ps_add_node_check_conflicts):
10234 More accurate placing of insn in row of partial schedule.
10235 (ps_insn_find_column): New function.
10236 * rtl.h (NOTE_DISABLE_SCHED_OF_BLOCK): New note.
10237 * sched-rgn.c (sched_is_disabled_for_current_region_p): New.
10238 (schedule_region): Use sched_is_disabled_for_current_region_p.
10239 * docs/invoke.texi: Document -freschedule-modulo-scheduled-loops.
10240
0737fbff
L
102412004-08-07 H.J. Lu <hongjiu.lu@intel.com>
10242
10243 * config/i386/i386.c (ix86_expand_clrmem): Revert the last
10244 change.
10245
11c4576f
L
102462004-08-07 H.J. Lu <hongjiu.lu@intel.com>
10247
10248 * config/i386/i386.c (ix86_expand_clrmem): Properly call
10249 gen_strset for 64bit target.
10250
34def210
OH
102512004-08-07 Olivier Hainque <hainque@act-europe.fr>
10252
10253 * config/vxworks.h (HANDLE_SYSV_PRAGMA): Remove definition.
10254
5201931e
JM
102552004-08-07 Jason Merrill <jason@redhat.com>
10256
cc77ae10
JM
10257 Make return in memory explicit.
10258 * function.c (aggregate_value_p): Check DECL_BY_REFERENCE.
10259 (assign_parm_find_data_types): Remove code for old front end
10260 invisible reference handling.
10261 (assign_parms): Handle DECL_BY_REFERENCE on the RESULT_DECL.
10262 (expand_function_end): Likewise.
10263 * gimplify.c (gimplify_return_expr): Handle a dereferenced
10264 RESULT_DECL.
10265 * tree-inline.c (copy_body_r): Don't bother looking for &* anymore.
10266 (declare_return_variable): Handle DECL_BY_REFERENCE.
10267 * cp/cp-gimplify.c (is_invisiref_parm): Also handle RESULT_DECL.
10268 (cp_genericize_r): Use convert_from_reference.
10269 Don't dereference a RESULT_DECL directly inside a RETURN_EXPR.
10270 (cp_genericize): Handle the RESULT_DECL. Unset TREE_ADDRESSABLE.
10271
5201931e
JM
10272 * c-common.c (c_warn_unused_result): Check TREE_USED before
10273 warning about a CALL_EXPR with an unused value.
10274
2ed9e527
MM
102752004-08-06 Mark Mitchell <mark@codesourcery.com>
10276
10277 * config/arm/symbian.h (CC1_SPEC): Avoid passing duplicate options
10278 to the compiler. Use -fshort-wchar by default.
10279
12183e0f
PH
102802004-08-06 Pat Haugen <pthaugen@us.ibm.com>
10281
10282 * params.def (PARAM_MIN_CROSSJUMP_INSNS): New.
10283 * cfgcleanup.c (try_crossjump_to_edge): Add minimum insn match
10284 threshhold.
10285 * doc/invoke.texi (param): Document min-crossjump-insns.
10286
eaac4679
RS
102872004-08-06 Richard Sandiford <rsandifo@redhat.com>
10288
10289 PR c/13282
10290 * c.opt (Wmissing-field-initializers): New option.
10291 * c-opts.c (c_common_post_options): Make -Wextra turn it on by default.
10292 * c-typeck.c (pop_init_level): Guard the missing field warning with
10293 warn_missing_field_initializers rather than extra_warnings.
10294 * doc/invoke.texi (-Wmissing-field-initializers): Document, moving
10295 some of the explanation from...
10296 (-Wextra): ...here. Say that the missing field warning can be
10297 seperately controlled by -Wmissing-field-initializers.
10298
caad9f81
PB
102992004-08-06 Paolo Bonzini <bonzini@gnu.org>
10300
10301 * expr.c (expand_expr_real_1) <ENTRY_VALUE_EXPR>: Remove.
10302 * tree-inline.c (estimate_num_insns_1) <ENTRY_VALUE_EXPR>: Remove.
10303 * tree-pretty-print.c (dump_generic_node) <ENTRY_VALUE_EXPR>: Remove.
10304 * tree.def (ENTRY_VALUE_EXPR): Remove.
10305
6b32b628
JJ
103062004-08-06 Jakub Jelinek <jakub@redhat.com>
10307
10308 * config/i386/i386.c (ix86_expand_clrmem): Move gen_cld down to
10309 the places where it is actually needed. Don't use repz; stosb
10310 for -Os with sufficiently small constant sizes.
10311 For sufficiently small repz; stos{l,q} repeat counts use a sequence
10312 of stos{l,q} instructions instead.
10313
6797f908
ZD
103142004-08-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10315
10316 PR tree-optimization/16807
10317 * loop-iv.c (dump_iv_info): Dump invariants correctly.
10318 (iv_subreg, iv_extend): Express value of invariant purely in
10319 base field.
10320
866cf037
MM
103212004-08-06 Mark Mitchell <mark@codesourcery.com>
10322
10323 * config/arm/symbian.h (CC1_SPEC): Add -fno-short-enums.
10324 (CC1PLUS_SPEC): Define it to be the same as CC1_SPEC.
10325
9652c531 103262004-08-06 Roman Zippel <zippel@linux-m68k.org>
9b305d55 10327
27fb79ad
SB
10328 * config/m68k/m68k.c (post_inc_operand,pre_dec_operand): New.
10329 * config/m68k/m68k.h (PREDICATE_CODES): add post_inc_operand,
10330 pre_dec_operand.
10331 * config/m68k/m68k.md (zero_extend*2): delay the splitting of the
10332 pattern until reload is finished to allow better code generation
10333 and split them completely into separate instrunctions.
10334 (*andsi3_split): New pattern.
9652c531 10335
b2ca3702
MM
103362004-08-05 Mark Mitchell <mark@codesourcery.com>
10337
10338 * tree.c (handle_dll_attribute): Move here from i383/winnt.c.
10339 Replace use of DECL_INLINE with DECL_DECLARED_INLINE_P. Set
10340 DECL_VISIBLITY. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
10341 * tree.h (handle_dll_attribute): Declare. Test
10342 TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
10343 * c-common.h (c_determine_visibility): Declare.
10344 * c-common.c (c_determine_visibility): New function.
10345 * c-decl.c (finish_decl): Use it.
10346 (finish_function): Likewise.
10347 * defaults.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define it to
10348 zero, by default. Use #if, not #ifdef, to test it.
10349 * config/arm/arm.c (arm_attribute_table): Use
10350 handle_dll_attribute. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with
10351 #if.
10352 * config/arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define to 1.
10353 * config/i386/cygming.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
10354 to 1.
10355 * config/i386/i386-protos.h (ix86_handle_dll_attribute): Remove.
10356 * config/i386/i386.c (ix86_attribute_table): Use
10357 handle_dll_attribute for dllimport/dllexport. Test
10358 TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
10359 * config/i386/winnt.c (ix86_handle_dll_attribute): Remove.
10360 * config/mcore/mcore.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
10361 it to 1.
10362 * config/mcore/mcore.c (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Test it
10363 with #if.
10364 * config/sh/symbian-pre.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
10365 it to 1.
10366 * doc/extend.texi (dllexport): Clarify and correct documentation.
10367 (dllimport): Likewise.
10368 * doc/tm.texi (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Mention
10369 handle_dll_attribute.
9b305d55 10370
c913f08a
ZD
103712004-08-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10372
10373 * tree-ssa-loop-manip.c: New file.
10374 * Makefile.in (tree-ssa-loop-manip.o): Add.
10375 * tree-flow.h (rewrite_into_loop_closed_ssa, verify_loop_closed_ssa):
10376 Declare.
10377 * tree-ssa-loop.c (tree_loop_optimizer_init): Create loop closed ssa
10378 form.
10379 (tree_ssa_loop_done): Verify loop closed ssa form.
10380 * tree-ssa-loop-im.c (move_computations): Update loop closed ssa form.
10381
d4482715
JDA
103822004-08-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10383
10384 * pa.c (pa_asm_output_aligned_bss, pa_asm_output_aligned_common,
10385 pa_asm_output_aligned_local): New functions.
10386 * pa-protos.h: Add prototypes for pa_asm_output_aligned_bss,
10387 pa_asm_output_aligned_common and pa_asm_output_aligned_local.
10388 * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Use
10389 pa_asm_output_aligned_common.
10390 (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
10391 * pa.h (ASM_OUTPUT_ALIGNED_BSS): New macro.
10392 (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common.
10393 (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
10394 * pa64-hpux.h (MAX_OFILE_ALIGNMENT): New macro.
10395 (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common.
10396 (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
10397 * som.h (MAX_OFILE_ALIGNMENT): Provide maximum alignment of global
10398 common data.
10399
21149a79
AP
104002004-08-05 Andrew Pinski <apinski@apple.com>
10401
10402 * objc/objc-act.c (build_objc_string_object): Mark the address
10403 expression as constant.
10404
d5861a7a
DE
104052004-08-05 David Edelsohn <edelsohn@gnu.org>
10406
10407 * config/rs6000/rs6000.c (rs6000_rtx_costs): Fix mask_operand
10408 and mask64_operand thinkos. Handle ZERO_EXTRACT. Handle
10409 SIGN_EXTEND / ZERO_EXTEND of MEM. Handle rlwinm patterns.
10410
0a2b72a6
JM
104112004-08-05 Joseph S. Myers <jsm@polyomino.org.uk>
10412
10413 * config/linux.h, config/i386/linux.h, config/sparc/linux.h:
10414 Remove definitions conditioned on USE_GNULIBC_1 or conditioned
10415 out, and associated obsolete comments.
10416
ca7a3bd7
NS
104172004-08-05 Nathan Sidwell <nathan@codesourcery.com>
10418
10419 * tree.h (force_fit_type): Return a tree, take three flags.
10420 * fold-const.c (force_fit_type): Set TREE_OVERFLOW and
10421 TREE_CONSTANT_OVERFLOW here.
10422 (int_const_binop, const_binop): Adjust.
10423 (size_int_type): Do sign extension here.
10424 (fold_convert_const, optimize_bit_field_compare,
10425 decode_field_reference, all_ones_mask_p, fold_div_compare, fold,
10426 fold_negate_const, fold_abs_const, fold_not_const): Adjust.
10427 * tree.c (size_in_bytes, int_fits_type_p): Adjust.
10428
d36837f4
ZD
104292004-08-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10430
10431 PR tree-optimization/16864
10432 * tree-tailcall.c (eliminate_tail_call): Do not create phi nodes
10433 for ssa names without default_def.
10434
ea5f7a19
RS
104352004-08-05 Richard Sandiford <rsandifo@redhat.com>
10436
10437 * config/i386/i386.c (ix86_expand_prologue): If the function uses a
10438 frame pointer, restore eax with an ebp-relative address.
10439
0e6df31e
GK
104402004-08-04 Geoffrey Keating <geoffk@apple.com>
10441
10442 PR 14516
10443 * c-common.c (c_expand_decl): Don't special-case static VAR_DECLs.
10444 * c-common.h (make_rtl_for_local_static): Delete.
10445 * c-decl.c (shadow_tag_warned): Clean up comment.
10446 (finish_decl): Clean up spacing. Use set_user_assembler_name when
10447 appropriate. Don't pass asmspec to rest_of_decl_compilation.
10448 * c-semantics.c (make_rtl_for_local_static): Delete.
10449 * expr.c (init_block_move_fn): Use set_user_assembler_name.
10450 (init_block_clear_fn): Likewise.
10451 * passes.c (rest_of_decl_compilation): Remove asmspec parameter,
10452 expect it to be in DECL_ASSEMBLER_NAME. Update callers in many files.
10453 * toplev.h (rest_of_decl_compilation): Remove asmspec parameter.
10454 * tree.h (make_decl_rtl): Remove second parameter.
10455 (set_user_assembler_name): New.
10456 * varasm.c (set_user_assembler_name): New.
10457 (make_decl_rtl): Remove second parameter. Update callers in many
10458 files.
10459
4f587cb0
AN
104602004-08-05 Adam Nemet <anemet@lnxw.com>
10461
10462 * config.gcc (case i[34567]86-*-lynxos*): Update to LynxOS 4.0.
10463 (case rs6000-*-lynxos*): Rename it to powerpc-*-lynxos*. Update
10464 to LynxOS 4.0.
10465 * gthr-lynx.h: New file.
10466 * config/lynx-ng.h: Remove file.
10467 * config/lynx.h: Update to LynxOS 4.0.
10468 * config/t-lynx: New file.
10469 * config/i386/lynx-ng.h: Remove file.
10470 * config/i386/lynx.h: Update to LynxOS 4.0.
10471 * config/rs6000/lynxbase.h: Remove file.
10472 * config/rs6000/lynx.h: Update to LynxOS 4.0.
10473 * config/rs6000/t-lynx: New file.
10474 * doc/install.texi (Options specification): Remove reference to
10475 LynxOS from systems where --with-gnu-as makes a difference.
10476
85291069
JM
104772004-08-05 Joseph S. Myers <jsm@polyomino.org.uk>
10478
10479 * c-common.c (c_stddef_cpp_builtins): Define __INTMAX_TYPE__ and
10480 __UINTMAX_TYPE__.
10481 * c-cppbuiltin.c (builtin_define_stdint_macros): New. Define
10482 __INTMAX_MAX__.
10483 (c_cpp_builtins): Call it.
10484 * doc/cpp.texi: Update.
10485
30a555d9
DE
104862004-08-04 David Edelsohn <edelsohn@gnu.org>
10487
10488 * config/rs6000/rs6000.c (rs6000_rtx_costs): LABEL_REFs are zero
10489 cost.
10490
878f99d2
JH
104912004-08-04 Jan Hubicka <jh@suse.cz>
10492
10493 * basic-block.h (profile_staus): New global variable.
10494 * cfg.c (profile_status): Declare.
10495 (check_bb_profile): Break out from ....; use profile_status
10496 (dump_flow_info): ... here.
10497 * cfgbuild.c (find_basic_blocks): Set profile_status.
10498 * cfgexpand.c (tree_expand_cfg): Likewise.
10499 * predict.c (estimate_probability): Likewise.
10500 * profile.c (branch_prob): Likewise.
10501 * tree-cfg.c (build_tree_cfg): Likewise.
10502 (dump_function_to_file): Use check_bb_profile.
10503 * tree-pretty-print (dump_bb_header): Likewise.
10504 * tree-profile.c (do_tree_profiling): Cleanup.
10505
7e7ec48e
ZW
105062004-08-04 Zack Weinberg <zack@codesourcery.com>
10507
10508 * Makefile.in (RTL_BASE_H, RTL_H): Correct.
10509 (BUILD_RTL): Remove $(BUILD_PREFIX) from ggc-none.o.
10510 (genobjs): Add errors.o, ggc-none.o, and min-insn-modes.o.
10511 (read-rtl.o, gensupport.o, genconfig.o, genflags.o, gencodes.o)
10512 (genconstants.o, genemit.o, genopinit.o, genrecog.o, genextract.o)
10513 (genpeep.o, genattr.o, genattrtab.o, genautomata.o, genoutput.o)
10514 (genconditions.o): Depend on $(RTL_BASE_H) not $(RTL_H).
10515 (ggc-none.o, errors.o): Move rule to generators section;
10516 correct dependencies.
10517 (min-insn-modes.o): Move rule to generators section; remove
10518 unnecessary explicit command; correct dependencies.
10519 (print-rtl.o, print-rtl1.o): Correct dependencies.
10520 ($(BUILD_PREFIX_1)errors.o. $(BUILD_PREFIX_1)ggc-none.o): Delete rule.
10521 (mostlyclean): Update.
10522
10523 * errors.c: Include bconfig.h not config.h. Correct comment.
10524 * gengtype.c, genpreds.c: Don't define NO_GENRTL_H.
10525 * ggc-none.c: Include bconfig.h; not config.h or tm.h.
10526 * print-rtl.c: Don't include tm_p.h.
10527
10528 * rtl.h: Move forward-decl of struct function down where it's
10529 needed. Include genrtl.h #ifndef GENERATOR_FILE, not
10530 #ifndef NO_GENRTL_H. Remove unnecessary #ifdef BUFSIZ statements.
10531
b0382c67
ZD
105322004-08-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10533 Jeff Law <law@redhat.com>
10534
10535 * tree-cfg.c (tree_duplicate_bb): Mark duplicated definitions.
10536 * tree-flow.h (rewrite_ssa_into_ssa): Declaration changed.
10537 * tree-into-ssa.c (rewrite_ssa_into_ssa): Use new interface to
10538 manipulate the duplicated ssa names.
10539 * tree-ssanames.c (ssa_names_to_rewrite): New variable.
10540 (marked_for_rewrite_p, any_marked_for_rewrite_p, mark_for_rewrite,
10541 unmark_all_for_rewrite, marked_ssa_names, release_ssa_name_force):
10542 New functions.
10543 (release_ssa_name): Do not release ssa names that may have multiple
10544 definitions.
10545 * tree.h (release_ssa_name_force, mark_for_rewrite,
10546 unmark_all_for_rewrite, marked_for_rewrite_p, any_marked_for_rewrite_p,
10547 marked_ssa_names): Declare.
10548 * tree-ssa-loop-ch.c (mark_defs_for_rewrite): Remove.
10549 (duplicate_blocks): Remove call to mark_defs_for_rewrite.
10550 Update call to rewrite_ssa_into_ssa.
10551
63c5b495
MM
105522004-08-04 Mark Mitchell <mark@codesourcery.com>
10553
10554 * defaults.h (TARGET_DECLSPEC): New macro.
10555 * c-cppbuiltin.c (c_cpp_builtins): Handle TARGET_DECLSPEC.
10556 * config/arm/pe.h (SUBTARGET_CPP_SPEC): Remove __declspec support.
b2ca3702 10557 * config/arm/symbian.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
63c5b495
MM
10558 * config/i386/beof-elf.h (TARGET_OS_CPP_BUILTINS): Remove
10559 __declspec support.
10560 (TARGET_DECLSPEC): Define.
10561 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Remove
10562 __declspec support.
10563 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS): Remove
10564 __declspec support.
10565 (TARGET_DECLSPEC): Define.
10566 * config/mcore/mcore.h (TARGET_CPU_CPP_BUILTINS): Remove
10567 __declspec support.
10568 * config/sh/symbian-pre.h (SUBTARGET_CPP_SPEC): Remove __declspec
10569 support.
10570 * doc/tm.texi (TARGET_DECLSPEC): Document.
10571
10572 * doc/extend.texi: Fix typo in comment.
10573
44d10c10
PB
105742004-08-04 Paul Brook <paul@codesourcery.com>
10575
10576 * target-def.h (TARGET_CXX_CDTOR_RETURNS_THIS): Define.
10577 (TARGET_CXX): Use it.
10578 * target.h (struct gcc_target): Add cdtor_returns_this.
10579 * config/arm/arm.c (arm_cxx_cdtor_returns_this): New function.
10580 (TARGET_CXX_CDTOR_RETURNS_THIS): Define.
10581 * doc/tm.texi: Document TARGET_CXX_CDTOR_RETURNS_THIS.
10582
5e9754af
NS
105832004-08-03 Nathan Sidwell <nathan@codesourcery.com>
10584
10585 * c-lex.c (narrowest_unsigned_type, narrowest_signed_type): Take
10586 low/high pair. Do range checking directly.
10587 (interpret_integer): Adjust.
10588
2acc29bd
NC
105892004-08-04 Nick Clifton <nickc@redhat.com>
10590
10591 * config/sh/sh.h (TARGET_SWITCHES): Add no-renesas to select the
10592 GCC ABI.
10593 * doc/invoke.texi: Document this new switch and also the -mrenesas
10594 switch.
10595
2496942a
NS
105962004-08-04 Nathan Sidwell <nathan@codesourcery.com>
10597
10598 * cfglayout.c (insn_locators_initialize): Update the current
10599 location before initializing a location.
10600
7e2e8179
ZW
106012004-08-03 Zack Weinberg <zack@codesourcery.com>
10602
403f8503
ZW
10603 * dbxout.c (dbxout_function_decl): Always call dbxout_function_end.
10604 (dbxout_function_end): Return after emitting the "Lscope" symbol
10605 under the same conditions that this function formerly wasn't called.
10606 Add explanatory comments.
10607
bcc7f708 10608 PR 14860
ca043393
ZW
10609 * c-decl.c (record_builtin_type): Call debug_hooks->type_decl
10610 on the new decl.
10611
bcc7f708 10612 PR 13956
7e2e8179
ZW
10613 * dbxout.c (dbx_output_lbrac, dbx_output_rbrac): New
10614 functions, broken out of dbxout_block.
10615 (dbxout_block): The block at depth 0 should get LBRAC/RBRAC
10616 stabs too, if it contains symbols. Use the begin_label and
10617 the Lscope label (emitted by dbxout_function_end) for the
10618 range of this block.
10619
5d75ba94
NN
106202004-08-03 Nathanael Nerode <neroden@gcc.gnu.org>
10621
10622 * doc/install.texi: Update autoconf version requirements.
10623
2e4e72b1
ZW
106242004-08-03 Zack Weinberg <zack@codesourcery.com>
10625
10626 * defaults.h (LEGITIMATE_PIC_OPERAND_P): Provide default definition.
10627 * recog.c (general_operand, immediate_operand, nonmemory_operand)
10628 (asm_operand_ok): Remove #ifdefs on LEGITIMATE_PICOPERAND_P.
10629 * regclass.c (record_reg_classes): Likewise.
10630 * reload.c (find_reloads): Likewise.
10631 * reload1.c (reload): Likewise.
10632
f9942f4e
ZW
106332004-08-03 Zack Weinberg <zack@codesourcery.com>
10634
10635 * gensupport.c (init_md_reader_args_cb): Renamed from
10636 init_md_reader_args. Add third option, callback function for
10637 parsing program-specific options. Add diagnosis of incorrect
10638 number of input files.
10639 (init_md_reader): Fold into init_md_reader_args_cb.
10640 (init_md_reader_args): Now a thin wrapper around
10641 init_md_reader_args_cb.
10642 * gensupport.h: Update prototypes.
10643
10644 * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c
10645 * genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c
10646 * genrecog.c: No need to diagnose lack of an input file;
10647 init_md_reader_args will handle it.
10648 * genconditions.c: Likewise, and use init_md_reader_args.
10649 * genconstants.c: Likewise, and no need to call read_md_rtx.
10650
9cbe78fb
JM
106512004-08-03 Joseph S. Myers <jsm@polyomino.org.uk>
10652
10653 * c-decl.c (implicitly_declare): Diagnose incompatible implicit
10654 declarations.
10655
3e558e80
MS
106562004-08-03 Mike Stump <mrs@apple.com>
10657
10658 * config/darwin-c.c: Don't search in "/Local/Library/Frameworks"
10659 for frameworks.
10660 * doc/invoke.texi (Darwin Options): Update to reflect above.
10661
a0fac73d
RS
106622004-08-03 Roger Sayle <roger@eyesopen.com>
10663
10664 PR middle-end/16790
10665 * fold-const.c (extract_muldiv_1) <NOP_EXPR>: Disallow local
10666 truncations, not just global truncations.
10667
cddbddb7
AP
106682004-08-03 Andrew Pinski <apinski@apple.com>
10669
10670 PR bootstrap/16865
10671 * loop-iv.c (simplify_using_assignment): Initialize lhs.
10672
bebf829d
PB
106732004-08-03 Paul Brook <paul@codesourcery.com>
10674
10675 * gcc/doc/install.texi: Document MPFR requirement.
10676
cddbddb7 106772004-08-03 Maciej W. Rozycki <macro@linux-mips.org>
3b0727a0 10678
f9942f4e
ZW
10679 * aclocal.m4 (gcc_AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
10680 and mmap() explicitly instead of relying on preset autoconf cache
3b0727a0
MR
10681 variables.
10682 * configure: Regenerate.
10683
f6bc51cb
L
106842004-08-03 H.J. Lu <hongjiu.lu@intel.com>
10685
10686 PR target/16570
10687 * config.gcc (i[34567]86-*-* | x86_64-*-*): Add i386/t-gmm_malloc
10688 to tmake_file.
10689 (i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1): Likewise.
10690 (i[34567]86-*-linux* | x86_64-*-linux*): Add i386/t-pmm_malloc
10691 to tmake_file.
10692
10693 * config/i386/t-gmm_malloc: New file.
10694 * config/i386/t-pmm_malloc: Likewise.
f9942f4e 10695
f6bc51cb
L
10696 * config/i386/xmmintrin.h: Include <mm_malloc.h>.
10697
106982004-08-03 H.J. Lu <hongjiu.lu@intel.com>
0ddcd94f 10699