1 2004-11-08 Jeff Law <law@redhat.com>
3 * cfg.c (redirect_edge_succ_nodup): Use find_edge rather than
4 implementing it inline.
6 * cfganal.c (find_edge): Search pred->succs or succ->preds,
9 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
11 * passes.c (rest_of_handle_jump): Remove dead code.
13 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
15 * tree-cfg.c (thread_jumps): Speed up by keeping a pointer to
16 the last used element in the worklist.
18 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
20 * tree-inline.c (remap_save_expr): Make it static.
21 * tree-inline.h: Remove the corresponding prototype.
23 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
25 * tree-ssa-loop-niter.c (upper_bound_in_type,
26 lower_bound_in_type): Make them static.
27 * tree.h: Remove the corresponding prototypes.
29 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
31 * tree-ssa-live.c (tpa_init, pop_best_coalesce): Make them
33 * tree-ssa-live.h: Remove the corresponding prototypes.
35 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
37 * tree-if-conv.c (tree_if_conversion): Make it static.
38 * tree-flow.h: Remove the corresponding prototype.
40 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
42 * tree-ssa-operands.c (build_ssa_operands): Make it static.
43 * tree-flow.h: Remove the corresponding prototype.
45 2004-11-08 Andrew Pinski <pinskia@physics.uc.edu>
48 * tree-inline.c (copy_body_r): Change "t = t" to empty
49 statement instead of "t".
51 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
53 * modulo-sched.c (create_partial_schedule,
54 free_partial_schedule, reset_partial_schedule,
55 ps_add_node_check_conflicts, rotate_partial_schedule): Make
58 2004-11-08 Richard Henderson <rth@redhat.com>
60 * expmed.c (extract_force_align_mem_bit_field): Correct handling at
63 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
65 * sched-deps.c (add_insn_mem_dependence): Make it static.
66 * sched-int.h: Remove the corresponding prototypes.
68 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
70 * flow.c (allocate_bb_life_data): Make it static.
71 * basic-block.h: Remove the corresponding prototype.
73 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
75 * calls.c (split_complex_values, split_complex_types): Make
77 * expr.h: Remove the corresponding prototypes.
79 2004-11-08 Richard Earnshaw <rearnsha@arm.com>
81 * arm.c (arm_handle_notshared_attribute): Wrap declaration and use
82 with #if TARGET_DLLIMPORT_DECL_ATTRIBUTES.
84 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
86 * tree-if-conv.c (tree_if_convert_cond_expr): Remove two "if"
87 statements that always trigger.
89 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
91 * tree-cfg.c, tree-if-conv.c, tree-into-ssa.c,
92 tree-scalar-evolution.c, tree-ssa-loop-im.c,
93 tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa.c,
94 tree-vectorizer.c: Replace TREE_CHAIN with PHI_CHAIN where
97 2004-11-08 Ben Elliston <bje@au.ibm.com>
99 * cgraph.h (cgraph_calls_p): Remove.
100 * cgraph.c (cgraph_calls_p): Likewise.
102 * varray.h (varray_copy): Remove.
103 * varray.c (varray_copy): Likewise.
105 2004-11-07 Andrew Pinski <pinskia@physics.uc.edu>
108 * config/darwin.c (machopic_indirect_data_reference):
109 Call gen_macho_high and gen_macho_low instead of
110 checking the mode and calling gen_macho_high_di directly.
111 * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
112 * config/rs6000/rs6000.md: Move most of TARGET_MACHO expand/insns
114 (movdf_low, movsf_low, movsf_low_st, movsi_low, macho_correct_pic,
115 load_macho_picbase, macho_low, macho_high): Removed.
116 (builtin_setjmp_receiver): Call gen_macho_high and
117 gen_macho_low instead of checking the mode and calling
118 gen_macho_high_di directly.
119 * config/rs6000/darwin.md (load_macho_picbase_di): Use the MD constant.
120 (movdf_low_si, movsf_low_si, movsf_low_st_si, movsi_low_st):
121 Moved from rs6000.md.
122 (macho_high): New expander.
123 (macho_high_si): Renamed version of macho_high from rs6000.md.
124 (macho_low): New expander.
125 (macho_low_si): Renamed version of macho_low from rs6000.md.
126 (load_macho_picbase): New expander.
127 (load_macho_picbase_si): Renamed version of load_macho_picbase
129 (macho_correct_pic): New expander.
130 (macho_correct_pic_si): Renamed version of macho_correct_pic
133 2004-11-07 Joseph S. Myers <joseph@codesourcery.com>
135 * c-decl.c (finish_struct): Use complete sentences for diagnostic
136 for structures or unions with no members or named members.
138 2004-11-07 Joseph S. Myers <joseph@codesourcery.com>
140 * c-typeck.c (build_unary_op): Replace unreachable diagnostic for
141 taking address of bit-field by assertion.
143 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
145 * config/s390/s390.md (attribute "op_type"): Default to "NN".
146 (attribute "atype"): Default to "agen".
147 (attribute "length"): Default to 6.
148 (define_asm_attibutes): Remove.
149 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
150 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf",
151 "*clc", "*mvc", "*nc", "*oc", "*xc", "*xc_zero"):
152 Do not set type attribute to "cs" where already default.
153 ("*cmpint_si", "*cmpint_di", "fix_truncdfsi2_ibm", "floatsidf2_ibm",
155 Do not set type attribute to "other" where already default.
156 ("movti", "*movdi_64", "*movdi_31", "*movdf_31",
157 "*strlendi", "*strlensi",
158 "*movmem_long_64", "*movmem_long_31",
159 "*clrmem_long_64", "*clrmem_long_31",
160 "*cmpmem_long_64", "*cmpmem_long_31",
161 "*cmpint_si", "*cmpint_di",
162 "addti3", "*adddi3_31z", "*adddi3_31",
163 "subti3", "*subdi3_31z", "*subdi3_31", "*negdi2_31",
164 "*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg",
165 "fix_truncdfsi2_ibm", "floatsidf2_ibm", "extendsfdf2_ibm",
166 "*pool_entry", "pool_align", "pool_section_start",
167 "pool_section_end", "main_pool", "reload_base_31", "pool"):
168 Do not set op_type attribute to "NN" where already default.
169 ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
170 "*zero_extendqisi2_31", "*zero_extendqihi2_31",
171 "fix_truncdfsi2_ibm", "floatsidf2_ibm"):
172 Do not set atype attribute to "agen" where already default.
173 ("*movmem_short", "*clrmem_short", "*cmpmem_short"): Don't set op_type.
175 2004-11-06 Richard Sandiford <rsandifo@redhat.com>
177 * config/mips/t-iris6 (tp-bit.c): Fix target filename.
179 2004-11-06 Richard Sandiford <rsandifo@redhat.com>
182 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define the
183 R3000 and R4000 macros on IRIX.
185 2004-11-06 Andreas Schwab <schwab@suse.de>
188 * config/rs6000/altivec.h: Replace bool by __bool and pixel by
191 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
193 * tree-ssa-copyrename.c (rename_ssa_copies): Make it static.
195 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
197 * config/s390/2064.md ("z_int", "z_agen"): Ensure the condition
198 matches no insns already matched by other reservations.
199 * config/s390/2084.md ("x_int", "x_agen"): Ensure the condition
200 matches no insns already matched by other reservations.
201 ("x_ss"): Remove, replace by ...
202 ("x_cs"): ... this new reservation. Check type instead of op_type.
203 Update bypasses to use x_cs instead of x_ss.
204 ("x_nn"): Remove, replace by ...
205 ("x_other"): ... this new reservation. Check type instead of op_type.
206 Add x_other and x_branch to bypasses.
207 ("x_vs"): New reservation.
208 * config/s390/s390.md (attribute "type"): Default according to op_type.
209 ("*execute"): Set type to "cs".
211 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
213 * fold-const.c (non_lvalue): Don't construct NON_LVALUE_EXPR
216 2004-11-06 Hans-Peter Nilsson <hp@bitrange.com>
218 PR rtl-optimization/17933
219 * rtlanal.c (dead_or_set_regno_p): Break out common code to...
220 (covers_regno_p): New function. Handle SETs of PARALLEL,
221 and defer the rest to...
222 (covers_regno_no_parallel_p): New function.
224 2004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr>
226 * config/sparc/sparc.c (function_arg_record_value_1): Skip
227 fields with zero length.
228 (function_arg_record_value_2): Likewise.
229 (function_arg_record_value_3): Use smallest_mode_for_size
230 instead of mode_for_size.
231 (function_arg_union_value): Return naked register for unions
234 2004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr>
236 * config/sparc/sparc.c (scan_record_type): Handle vector types.
237 (function_arg_slotno): Handle vector types specially.
238 (function_arg_record_value_1): Split fields with vector type and
239 BLKmode into their subparts.
240 (function_arg_record_value_2): Likewise. Be prepared to handle
241 more than 2 registers per field.
242 (function_arg_union_value): Increment regno inside the loop.
243 (function_arg_vector_value): New function.
244 (function_arg): Use it to split fields with vector type and
245 BLKmode into their subparts and build a PARALLEL. Treat
246 other vector types like floats.
247 (function_value): Likewise.
248 (sparc_pass_by_reference): Handle vector types.
249 (sparc_return_in_memory): Likewise.
251 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
253 * tree-cfg.c (find_taken_edge_cond_expr): Remove an "if"
254 statement that never triggers.
256 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
258 * config/s390/2064.md ("z_o2", "z_o3"): Remove.
259 * config/s390/2084.md ("x_o2", "x_o3"): Remove.
260 ("x_fdivd"): Use also for fsqrtd type.
261 ("x_fdivs"): Use also for fsqrts type.
262 * config/s390/s390.md (attribute "type"): Remove "o2" and "o3" types.
263 ("fix_truncdfsi2_ieee"): Set type to "ftoi".
264 ("fix_truncdfsi2_ibm"): Set type to "other".
265 ("floatdidf2", "floatdisf2"): Do not clobber CC.
266 ("floatsidf2", "floatsidf2_ieee"): Likewise.
267 ("floatsisf2", "floatsisf2_ieee"): Likewise.
268 ("truncdfsf2", "truncdfsf2_ieee"): Only allow "register_operand".
269 ("truncdfsf2_ibm"): Only allow "nonimmediate_operand". Use LER
271 ("extendsfdf2_ibm"): Do not set atype. Set type to "floads".
272 ("sqrtdf2"): Set type to "fsqrtd".
273 ("sqrtsf2"): Set type to "fsqrts".
275 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
277 * tree-phinodes.c (remove_all_phi_nodes_for): Speed up using a
278 pointer to the last PHI node in the new PHI chain.
280 2004-11-06 Kaz Kojima <kkojima@gcc.gnu.org>
282 * config/sh/sh.c (prepare_move_operands): Emit a use of r12
283 for non-PIC TLS_MODEL_INITIAL_EXEC case.
285 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
287 * expmed.c: Fix a comment typo.
289 2004-11-06 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
292 * config/i386/cygming.h
293 [HAVE_GAS_WEAK] (ASM_WEAKEN_LABEL): Macro defined.
295 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
297 * config/sh/sh4a.md: Fix copyright.
299 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
301 * config/rs6000/darwin.md, config/sh/sh4a.md: Replace GNU CC
304 2004-11-05 David Edelsohn <edelsohn@gnu.org>
306 * config/rs6000/rs6000.md (scc patterns): Replace subfc with subf
307 when carry not used. Suggested by Torbjorn Granlund.
309 * config/rs6000/rs6000.c (rs6000_emit_move): Don't force_reg
310 operand[1] unnecessarily. Suggested by Eric Christopher.
311 (rs6000_adjust_cost): Increase latency of store to wider load.
312 (rs6000_rtx_costs): mulli only allows 16-bit constants.
314 2004-11-05 Stan Shebs <shebs@apple.com>
316 * config/rs6000/rs6000.c (machopic_output_stub): Output
317 ldu instead of lwzu for 64-bit stubs.
319 2004-11-05 Richard Henderson <rth@redhat.com>
321 * config/alpha/alpha.c (alpha_expand_unaligned_load): Special case
323 (alpha_expand_unaligned_store): Likewise.
325 2004-11-05 Richard Henderson <rth@redhat.com>
327 * expmed.c (extract_force_align_mem_bit_field): New.
328 (extract_split_bit_field): Call it.
330 2004-11-05 Richard Henderson <rth@redhat.com>
332 * ia64.md (UNSPEC_SHRP): New.
333 (dshift_count_operand): New.
334 (ashrti3, ashrti3_internal, lshrti3, lshrti3_internal, shrp): New.
335 * ia64.c (rtx_needs_barrier): Handle UNSPEC_SHRP.
337 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
339 * c-typeck.c (output_init_element): Return early if value is
342 2004-11-05 James E Wilson <wilson@specifixinc.com>
344 * invoke.texi (-fno-guess-branch-probability): Rewrite.
346 * config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC_GR_SPILL): Change
347 1 to UNSPEC_GR_SPILL.
349 2004-11-05 Andreas Krebbel <krebbel1@de.ibm.com>
351 * config/s390/s390.c (s390_fixed_condition_code_regs): New function.
352 (TARGET_FIXED_CONDITION_CODE_REGS): Macro defined.
354 2004-11-05 Nathan Sidwell <nathan@codesourcery.com>
356 * bitmap.h (enum bitmap_bits): Remove.
357 (bitmap_operation): Remove.
358 (bitmap_and, bitmap_and_into, bitmap_and_compl,
359 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
360 bitmap_xor_into): Prototype.
361 * bitmap.c (bitmap_elt_insert_after, bitmap_elt_clear_from): New.
362 (bitmap_operation): Remove.
363 (bitmap_and, bitmap_and_into, bitmap_and_compl,
364 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
365 bitmap_xor_into): New.
366 (bitmap_ior_and_compl, bitmap_ior_and_compl_into): Adjust.
368 PR tree-optimization/18307
369 * tree-ssa-alias.c (merge_pointed_to_info): Protected against DEST
370 and ORIG being the same node.
372 2004-11-04 Geoffrey Keating <geoffk@apple.com>
374 * Makefile.in (distclean): Don't delete nonexistent fixinc/ directory.
375 (install-mkheaders): Install the version built for the
376 host, not for the build machine.
377 * configure.ac: Always run fixincludes.
378 (all_outputs): Remove mkheaders.
379 * configure: Regenerate.
380 * fixinc.in: Move to fixincludes/.
381 * mkfixinc.sh: Likewise.
382 * mkheaders.in: Likewise.
383 * README-fixinc: Likewise.
385 2004-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
388 * config/arc/lib1funcs.asm (___umulsidi3): Change use of cmp to the
389 equivalent on the A4.
391 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
393 * doc/c-tree.texi, doc/cfg.texi, doc/contrib.texi, doc/cpp.texi,
394 doc/cppopts.texi, doc/extend.texi, doc/fragments.texi,
395 doc/frontends.texi, doc/gcov.texi, doc/hostconfig.texi,
396 doc/implement-c.texi, doc/install.texi, doc/invoke.texi,
397 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
398 doc/portability.texi, doc/rtl.texi, doc/sourcebuild.texi,
399 doc/standards.texi, doc/tm.texi, doc/tree-ssa.texi,
400 doc/trouble.texi: Correct end-of-sentence markup and markup of
401 "etc.", "e.g." and "i.e.". Use @code in various places where
404 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
406 * doc/c-tree.texi, doc/cfg.texi, doc/extend.texi, doc/gty.texi,
407 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/passes.texi,
408 doc/rtl.texi, doc/tm.texi, doc/tree-ssa.texi: Remove trailing
411 2004-11-04 Mark Mitchell <mark@codesourcery.com>
413 * config/arm/arm.c (arm_handle_notshared_attribute): New function.
414 * doc/extend.texi: Document "notshared" attribute.
416 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
418 * tree-phinodes.c (make_phi_node): Make it static.
419 * tree.h: Remove the prototypes for make_phi_node.
421 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
423 * stmt.c (expand_asm, expand_asm_operands): Make them static.
424 * tree.h: Remove the prototypes for expand_asm and
427 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
429 * passes.c (rest_of_compilation): Make it static.
430 * toplev.h: Remove the prototype for rest_of_compilation.
432 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
434 * jump.c (cleanup_barriers): Use delete_insn instead of
436 (delete_barrier): Remove.
437 * rtl.h: Remove the corresponding prototype.
439 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
441 * expr.c (mostly_zero_p): Make it static.
442 * tree.h: Remove the prototype for mostly_zeros_p.
444 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
446 * cfgrtl.c (force_nonfallthru_and_redirect): Make it static.
448 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
450 * builtins.c (expand_builtin_return_addr,
451 expand_builtin_longjmp, expand_builtin_trap): Make them static.
452 * expr.h: Remove the prototypes for expand_builtin_longjmp and
454 * tree.h: Remove the prototype for expand_builtin_return_addr.
456 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
458 * tree-cfg.c (find_taken_edge): Reject VAL begin NULL.
459 * tree-ssa-ccp.c (visit_cond_stmt): Don't call find_taken_edge
462 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
464 * cfghooks.c (delete_basic_block): Remove code to truncate
467 2004-11-04 Andrew Pinski <pinskia@physics.uc.edu>
469 * flow.c (init_propagate_block_info): Change the type of i to
472 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
474 PR tree-optimization/18184
475 * c-typeck.c (comptypes): Do not treat pointers of different
476 modes or alias-all flags as equivalent.
477 * tree-ssa.c (tree_ssa_useless_type_conversion_1): Likewise.
479 2004-11-04 Joseph S. Myers <joseph@codesourcery.com>
481 * doc/gty.texi, doc/makefile.texi, doc/sourcebuild.texi: Don't
482 reference specific C parser files in examples.
484 2004-11-04 Richard Sandiford <rsandifo@redhat.com>
487 * regrename.c (scan_rtx): Treat the destinations of SETs and CLOBBERs
488 as OP_INOUT if the instruction is predicated.
490 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
492 * bitmap.h: Fix a comment typo. Follow spelling conventions.
493 * tree-vectorizer.c: Fix a comment typo.
495 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
497 * sdbout.c (SDB_GENERATE_FAKE): Remove.
498 (gen_fake_label): Don't use SDB_GENERATE_FAKE.
499 * system.h: Poison SDB_GENERATE_FAKE.
500 * doc/tm.texi (SDB_GENERATE_FAKE): Remove.
502 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
504 * config/s390/s390.md ("*addsi3_sign"): Use canonical RTL.
506 2004-11-04 Eric Botcazou <ebotcazou@libertysurf.fr>
509 * gthr-posix.h (__gthread_recursive_mutex_init_function): Revert
512 2004-11-04 Nathan Sidwell <nathan@codesourcery.com>
514 * predict.c (propagate_freq): Make bitno unsigned. Move
515 npredecessors update out of loop.
517 * bitmap.h (bitmap_iterator): Remove word_bit and bit
518 fields. Rename others.
519 (bmp_iter_common_next_1, bmp_iter_single_next_1,
520 bmp_iter_single_init, bmp_iter_end_p, bmp_iter_single_next,
521 bmp_iter_and_not_next_1, bmp_iter_and_not_init,
522 bmp_iter_and_not_next, bmp_iter_and_next_1, bmp_iter_and_init,
523 bmp_iter_and_next): Remove.
524 (bmp_iter_set_init, bmp_iter_and_init, bmp_iter_and_compl_init,
525 bmp_iter_next, bmp_iter_set, bmp_iter_and, bmp_iter_and_compl):
527 (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_IN_BITMAP,
528 EXECUTE_IF_AND_COMPL_IN_BITMAP): Adjust.
530 * bitmap.h (bitmap_a_or_b, bitmap_a_and_b): Remove.
531 * df.c (dataflow_set_a_op_b): Use bitmap_and, bitmap_ior,
532 bitmap_and_into, bitmap_ior_into as appropriate.
533 * except.c (remove_eh_handler): Likewise.
534 * global.c (modify_bb_reg_pav, make_accurate_live_analysis): Likewise.
535 * tree-dfa.c (mark_new_vars_to_rename): Likewise.
536 * tree-ssa-alias.c (merge_pointed_to_info): Likewise.
537 * tree-ssa-live.h (live_merge_and_clear): Likewise.
538 * tree-ssa-loop-ivopts.c (find_best_candidate, try_add_cand_for):
541 * bitmap.c (bitmap_print): Make bitno unsigned.
542 * bt-load.c (clear_btr_from_live_range,
543 btr_def_live_range): Likewise.
544 * caller-save.c (save_call_clobbered_regs): Likewise.
545 * cfganal.c (compute_dominance_frontiers_1): Likewise.
546 * cfgcleanup.c (thread_jump): Likewise.
547 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
548 * conflict.c (conflict_graph_compute): Likewise.
549 * ddg.c (add_deps_for_use): Likewise.
550 * df.c (df_refs_update): Likewise.
551 * except.c (remove_eh_handler): Likewise.
552 * flow.c (verify_local_live_at_start, update_life_info,
553 initialize_uninitialized_subregs, propagate_one_insn,
554 free_propagate_block_info, propagate_block, find_use_as_address,
555 reg_set_to_hard_reg_set): Likewise.
556 * gcse.c (clear_modify_mem_tables): Likewise.
557 * global.c (global_conflicts, build_insn_chain): Likewise.
558 * ifcvt.c (dead_or_predicable): Likewise.
559 * local-alloc.c (update_equiv_regs): Likewise.
560 * loop.c (load_mems): Likewise.
561 * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs):
563 * ra-rewrite.c (reloads_to_loads, rewrite_program2, actual_spill):
565 * reload1.c (order_regs_for_reload, finish_spills): Likewise.
566 * sched-deps.c (sched_analyze_insn, free_deps): Likewise.
567 * sched-rgn.c (propagate_deps
568 * tree-cfg.c (tree_purge_all_dead_eh_edges): Likewise.
569 * tree-dfa.c (dump_dfa_stats
570 tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
571 insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags):
573 * tree-outof-ssa.c (coalesce_ssa_name, coalesce_vars,
574 free_temp_expr_table, find_replaceable_exprs): Likewise.
575 * tree-sra.c (scan_function, scalarize_parms): Likewise.
576 * tree-ssa-alias.c (init_alias_info,
577 compute_points_to_and_addr_escape,
578 compute_flow_sensitive_aliasing, maybe_create_global_var): Likewise.
579 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Likewise.
580 * tree-ssa-live.c (new_tree_live_info, live_worklist,
581 calculate_live_on_entry, calculate_live_on_exit, compare_pairs,
582 sort_coalesce_list, build_tree_conflict_graph, dump_live_info
583 tree-ssa-loop-manip.c (add_exit_phis_var): Likewise.
584 tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
585 add_call_read_ops): Likewise.
586 * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Likewise.
587 * tree-ssa-live.h (num_var_partitions): Return unsigned.
589 2004-11-03 Dorit Naishlos <dorit@il.ibm.com>
591 PR tree-optimization/18009
592 * tree-vectorizer.h (enum dr_alignment_support): New type.
593 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): Removed.
594 (LOOP_UNALIGNED_DR): replaced with LOOP_VINFO_UNALIGNED_DR and holds a
595 single data_reference (instead of a varray of references).
596 * tree-vectorizer.c (new_loop_vec_info): Likewise.
597 (vect_gen_niters_for_prolog_loop): Likewise.
598 (vect_update_inits_of_drs): Likewise.
600 (vect_update_inits_of_drs): Setting of DR_MISALIGNMENT moved to
601 vect_enhance_data_refs_alignment.
602 (vect_do_peeling_for_alignment): Likewise.
603 (vect_enhance_data_refs_alignment): Decide if and by how much to peel;
604 this functionality used to be in vect_analyze_data_refs_alignment.
605 Also update DR_MISALIGNMENT due to peeling; this functionality used to
606 be in vect_update_inits_of_drs and vect_do_peeling_for_alignment).
607 (vect_analyze_data_refs_alignment): Decision on whether and by how much
608 to peel moved to vect_enhance_data_refs_alignment. Call
609 vect_supportable_dr_alignment.
611 (vect_compute_data_ref_alignment): Set STMT_VINFO_VECTYPE.
612 (vect_compute_data_refs_alignment): Return bool. Consider return value
613 of vect_compute_data_ref_alignment and return true/false accordingly.
614 (vect_enhance_data_refs_alignment): Consider return value of
615 vect_compute_data_refs_alignment and return true/false accordingly.
617 (vect_supportable_dr_alignment): New function.
618 (vectorizable_store): Call vect_supportable_dr_alignment.
619 (vectorizable_load): Call vect_supportable_dr_alignment. Alignment
620 support checks moved from here to vect_supportable_dr_alignment.
622 (vect_transform_loop): Avoid 80 columns overflow.
624 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
626 * timevar.c (timevar_enable): Change from
628 (timevar_push): Rename to ...
629 (timevar_push_1): this and remove the
631 (timevar_pop): Rename to ...
632 (timevar_pop_1): this and remove the
634 * timevar.h (POP_TIMEVAR_AND_RETURN): Use do/while loops.
635 (timevar_pop): New macro.
636 (timevar_push): New macro.
637 (timevar_enable): Declare.
639 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
641 * config/darwin.h (REAL_LIBGCC_SPEC): Define to use shared
642 libgcc for shared libraries.
644 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
646 * config/s390/s390-protos.h (s390_split_access_reg): Add prototype.
647 * config/s390/s390.c (s390_split_access_reg): New function.
648 (regclass_map): Add access registers.
649 (get_thread_pointer): Use access register instead of UNSPEC_TP.
650 * config/s390/s390.h (FIRST_PSEUDO_REGISTER): Set to 38.
651 (ACCESS_REGNO_P, ACCESS_REG_P): New macros.
652 (TP_REGNUM): New define.
653 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
654 REG_ALLOC_ORDER): Add access registers.
655 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
656 CANNOT_CHANGE_MODE_CLASS): Support access registers.
657 (enum reg_class): Add ACCESS_REGS.
658 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
659 (REG_CLASS_FROM_LETTER): Add 't' constraint.
660 (REGISTER_NAMES): Add access registers.
661 * config/s390/s390.md (UNSPEC_TP): Remove.
662 ("*movdi_64"): Add access register alternatives. Provide splitters
663 to split DImode access register <-> GPR moves into SImode moves.
664 ("*movsi_zarch", "*movsi_esa"): Add access register alternatives.
665 ("movstrictsi"): Likewise.
666 ("get_tp_64", "get_tp_31"): Reimplement using access registers.
667 ("set_tp_64", "set_tp_31"): Likewise.
668 ("*set_tp"): New insn.
670 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
672 * tree-phinodes.c (resize_phi_node): Copy only a portion of
673 the PHI node currently in use.
675 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
678 * tree.c (staticp) <case FUNCTION_DECL>: Nested functions are static
681 2004-11-03 Andrew MacLeod <amacleod@redhat.com>
683 PR tree-optimization/18270
684 * tree-outof-ssa.c (analyze_edges_for_bb): If a block has incoming
685 abnormal edges, commit all pending stmts on incoming edges.
687 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
689 * tree-ssa-loop-ivopts.c (get_address_cost): Offset zero does not
690 cause extra costs. Generate canonical RTL.
692 2004-11-02 Daniel Berlin <dberlin@dberlin.org>
694 * lambda-code.c (lambda_compute_auxillary_space): Update comments.
695 (lambda_compute_target_space). Ditto.
696 * lambda.h (lambda_trans_matrix): Ditto.
697 (lambda_linear_expression): Ditto.
698 (lambda_body_vector): Ditto.
699 (lambda_loopnest): Ditto.
700 * tree-loop-linear.c (gather_interchange_stats): Combine tests,
701 update comments, and remove pointless addition of 0.
702 (linear_transform_loops): Update comments.
704 2004-11-03 Sebastian Pop <pop@cri.ensmp.fr>
706 * tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of
709 2004-11-03 Jeff Law <law@redhat.com>
711 * predict.c (struct block_info_def): Kill "tovisit" field.
712 (propagate_freq): Accept new "tovisit" parameter. Change
713 read/write access methods for "tovisit" to check the "tovisit"
714 bitmap instead of a bit in block_info_def.
715 (estimate_loops_at_level): Allocate "tovisit" bitmap. Pass
716 it to propagate_freq.
718 * stmt.c (expand_case): Speed up code to detect duplicate case
719 label targets and count unique case label targets.
721 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
723 * cppdefault.c, cppdefault.h, timevar.h: Update copyright.
725 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
727 * bitmap.h, dbxout.c, tree-mudflap.c: Fix comment formatting.
729 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
731 * tree-cfg.c (find_taken_edge): Abort if we are given a
732 statement that is neither COND_EXPR nor SWITCH_EXPR.
734 2004-11-02 Zdenek Dvorak <dvorakz@suse.cz>
736 * fold-const.c (fold): Reassociate also (x - mult) + mult and
737 (mult - x) + mult. Cast operands of expression after applying
738 distributive law to the correct types. Apply distributive law
739 to a * c - b * c for all non-float types.
741 2004-11-02 Geoffrey Keating <geoffk@apple.com>
743 * configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just
744 because we don't want to run them now; instead, set them to
745 stmp-install-fixproto or stmp-install-fixinc.
746 * Makefile.in (stmp-install-fixproto): New.
747 (stmp-install-fixinc): New.
748 * configure: Regenerate.
750 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
752 * flow.c (init_propagate_block_info): Use bitmap_empty_p on result
755 2004-11-02 Ziemowit Laski <zlaski@apple.com>
757 * c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
758 (c_types_compatible_p): Move function definition...
759 * c-objc-common.c (c_types_compatible_p): ...here.
760 * c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
763 2004-11-02 Steven Bosscher <stevenb@suse.de>
765 * cfgloop.h (struct loop): Update comment.
766 * cse.c (cse_main): Remove obsolete comment.
768 * expr.h (gen_cond_trap): Move prototype under functions provided
770 (canonicalize_condition, get_condition): Move to...
771 * rtl.h (canonicalize_condition, get_condition): ...here.
772 (branch_target_load_optimize): Add comment that this function is
774 * loop.c (canonicalize_condition, get_condition): Move to...
775 * rtlanal.c (canonicalize_condition, get_condition): ...here.
776 * sched-deps.c (get_condition): Rename to sched_get_condition.
777 (add_dependence): Update this caller.
779 2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
782 * tree-ssa.c (replace_immediate_uses): If we call fold_stmt, make sure
783 that the vops get marked for renaming.
785 2004-11-02 Andreas Krebbel <krebbel1@de.ibm.com>
787 * config/s390/s390.md ("movcc"): Set type attribute.
789 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
791 * tree-phinodes.c (add_phi_arg): Add an assertion that the
794 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
796 * tree-phinodes.c (remove_phi_arg_num): Do not zero the
797 element that's being removed.
799 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
801 * tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI
802 arguments using PENDING_STMT.
803 (thread_block): Call copy_phis_to_block after redirecting an
806 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
808 * bitmap.h (bitmap_and, bitmap_and_into, bitmap_and_compl,
809 bitmap_and_compl_into, bitmap_ior, bitmap_iot_into,
810 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): Produce void.
811 (bitmap_ior_and_compl_into): Produce bool.
812 (bitmap_union_of_diff): Rename to ...
813 (bitmap_ior_and_compl): ... here. Produce bool.
814 * bitmap.c (bitmap_ior_and_compl_into): Return bool. Use
815 bitmap_operation directly.
816 (bitmap_union_of_diff): Rename to ...
817 (bitmap_ior_and_compl): ... here. Return bool, use
818 bitmap_operation directly.
819 * df.c (df_rd_transfer_function): Use bitmap_ior_and_compl.
820 (df_ru_transfer_function, df_lr_transfer_function): Likewise.
821 * global.c (modify_bb_reg_pav): Likewise.
823 * bitmap.h (bitmap_equal_p): Return bool.
824 (bitmap_intersect_p, bitmap_intersect_compl_p): Declare.
825 * bitmap.c (bitmap_equal_p): Return bool. Compare directly.
826 (bitmap_intersect_p, bitmap_intersect_compl_p): New.
827 * flow.c (calculate_global_regs_live): Use bitmap_intersect_p and
828 bitmap_intersect_compl_p.
829 * ifcvt (dead_or_predicable): Likewise.
831 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
833 PR rtl-optimization/17104
834 * config/rs6000/rs6000.c (rs6000_emit_move): Don't wrap small
835 loads in zero_extend.
837 2004-11-02 Danny Smith <dannysmith@users.sourceforge.net>
840 * toplev.c (debug_type_names): Remove "dwarf-1".
842 2004-11-02 Ben Elliston <bje@au.ibm.com>
844 * timevar.h (timevar_get): Remove.
845 * timevar.c (timevar_get): Remove unused function.
847 2004-11-02 Joseph S. Myers <joseph@codesourcery.com>
849 * doc/include/texinfo.tex: Update from Texinfo CVS.
851 2004-11-02 Ben Elliston <bje@au.ibm.com>
853 * cppdefault.h (cpp_SYSROOT): Remove.
854 * cppdefault.c (cpp_SYSROOT): Likewise.
856 2004-11-01 Andrew MacLeod <amacleod@redhat.com>
858 PR tree-optimization/16447
859 * tree-cfg.c (bsi_commit_one_edge_insert): Rename from
860 bsi_commit_edge_inserts_1, and make funtion external. Return new block.
861 (bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
862 * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
863 * tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
864 * tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
865 (same_stmt_list_p): New. Return TRUE if edge is to be forwarded.
866 (identical_copies_p): New. Return true is two copies are the same.
867 (identical_stmt_lists_p): New. Return true if stmt lists are the same.
868 (analyze_edges_for_bb): New. Determine how best to insert edge stmts
870 (perform_edge_inserts): New. Determine what to do with all stmts that
871 have been inserted on edges.
872 (remove_ssa_form): Analyze and commit edges from here.
874 2004-11-01 Andrew Pinski <pinskia@physics.uc.edu>
877 * bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct.
878 (EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p.
879 (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
880 (EXECUTE_IF_AND_IN_BITMAP): Likewise.
882 2004-11-01 Joseph S. Myers <joseph@codesourcery.com>
885 * c-decl.c (get_parm_info): Allow FUNCTION_DECLs to appear amongst
886 parameter declarations.
888 2004-11-01 Andreas Krebbel <krebbel1@de.ibm.com>
890 * config/s390/s390.c (regclass_map): Put reg 33 (cc) to CC_REGS group.
891 (s390_secondary_input_reload_class)
892 (s390_secondary_output_reload_class): Use GENERAL_REGS to reload a cc
894 (s390_expand_cmpmem): Enable cmpmem implementation.
895 * config/s390/s390.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
896 Added three new classes: CC_REGS, ADDR_CC_REGS, GENERAL_CC_REGS.
897 (REG_CLASS_FROM_LETTER): New constraint 'c' added.
898 * config/s390/s390.md ("movcc"): New insn pattern.
899 * doc/md.texi: Document 'c' constraint for s390.
901 2004-11-01 Nathan Sidwell <nathan@codesourcery.com>
904 * doc/extend.texi (Deprecated Features): Deprecate G++ covariant
907 2004-10-16 Daniel Berlin <dberlin@dberlin.org>
909 Fix PR tree-optimization/17672
910 Fix PR tree-optimization/18168
912 * lambda-code.c (lambda_lattice_compute_base): Fix reversed
914 (gcc_tree_to_linear_expression): Add extra to existing constant.
915 (depth_of_nest): Factor out function used in various places.
916 (gcc_loop_to_lambda_loop): Clean up code a little bit. No
918 (find_induction_var_from_exit_cond): Stop guessing, and just
919 get the right answer :).
920 (gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation.
921 Print out message about result of attempt to create perfect nest.
922 (lbv_to_gcc_expression): Add type argument, use it to do math
923 and induction variable creation.
924 (lle_to_gcc_expression): Ditto.
925 (lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
926 oldiv. Pass type argument to lle_to_gcc_expression and
927 lbv_to_gcc_expression.
928 Reset number of iterations after transformation.
929 (perfect_nestify): Remove useless pre-allocation, and cleanup
932 * tree-data-ref.c (build_classic_dist_vector): Return false for
933 dependences completely outside of the loop nest we asked about.
934 (build_classic_dir_vector): Ditto.
935 (compute_data_dependences_for_loop): Only add dependence relations
936 inside the loop we asked about.
938 * tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
939 Compute immediate uses.
941 * tree-optimize.c: Move linear_transform_loops to before ivcanon.
943 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
945 * tree-cfg.c (thread_jumps): Fix a comment typo.
947 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
949 * tree-cfg.c (thread_jumps): Fix a comment typo.
951 2004-10-31 Nicolas Pitre <nico@cam.org>
953 * config/arm/ieee754-sf.S (floatdisf): Fix regression with
954 values smaller than 2^32.
956 2004-10-31 Jeff Law <law@redhat.com>
958 * cfgloop.h (struct loop): Remove unused "nodes" field.
959 * timevar.def (TV_TREE_LOOP_BOUNDS): New.
960 * tree-data-ref.c (find_data_references_in_loop): Use get_loop_body
961 instead of calling flow_bb_inside_loop_p for every basic block
963 * tree-ssa-loop.c (pass_record_bounds): Use TV_TREE_LOOP_BOUNDS.
965 2004-10-31 Graham Stott <graham.stott@btinternet.com>
967 * config/pa/pa.md: (prefetch_64, prefetch_32): Fix typo. Use
968 INT_5_BITS instead of VAL_5_BITS_P.
970 2004-10-31 Roger Sayle <roger@eyesopen.com>
973 * tree-inline.c (inline_forbidden_p_1): Use %qF instead of '%F'
974 for consistent quoting in diagnostic messages.
975 (expand_call_inline): Likewise.
976 * tree-optimize.c (tree_rest_of_compilation): Likewise.
977 * tree-ssa.c (warn_uninitialized_var): Likewise.
978 (warn_uninitialized_phi): Likewise.
980 2004-10-31 Richard Sandiford <rsandifo@redhat.com>
982 * config/mips/mips.c (mips_cannot_change_mode_class): Use a stricter
985 2004-10-31 Kazu Hirata <kazu@cs.umass.edu>
987 * c-common.c: Fix a comment typo.
989 2004-10-31 Jason Merrill <jason@redhat.com>
992 * tree-gimple.c (is_gimple_mem_rhs): Also require a val for
993 aggregate types that are not BLKmode.
995 2004-10-30 Ziemowit Laski <zlaski@apple.com>
997 * c-common.h (objc_lookup_ivar): Add second parameter to
999 * c-typeck.c (build_external_ref): After looking up symbol,
1000 pass it to objc_lookup_ivar() to decide whether it or the
1001 ivar should be used, rather than deciding the issue locally.
1002 * stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
1003 which is simply returned in the non-ObjC case.
1005 2004-10-30 Danny Smith <dannysmith@users.sourceforge.net>
1007 * sdbout.c (sdbout_symbol): Do not output type .def statements
1010 2004-10-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1012 * c-common.c (catenate_strings): New.
1013 (c_parse_error): Use it. Don't over-escape.
1015 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
1017 * config/sh/sh.c (calc_live_regs): Declare reg as unsigned and
1018 modify the for loop expressions for it. Remove unnecessary casts.
1019 (sh_expand_prologue): Declare reg as unsigned.
1020 (sh_gimplify_va_arg_expr): Initinalize lab_over.
1021 (sh_handle_sp_switch_attribute): Add const qualifier appropriately.
1023 2004-10-30 Geoffrey Keating <geoffk@apple.com>
1025 * doc/invoke.texi (Darwin Options): Improve description of
1026 how the subtype is chosen.
1028 2004-10-30 Roger Sayle <roger@eyesopen.com>
1031 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
1032 the stack adjustment, "size", is valid for Pmode. If the stack
1033 frame is too large, generate a trap insn and issue a warning.
1035 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
1037 * tree-ssa-dom.c: Fix comment typos.
1039 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
1041 * config/sh/sh.c (prepare_move_operands): Use operands[0]
1042 for the output rtl if no_new_pseudos is set. Remove redundant
1045 2004-10-30 Joseph S. Myers <joseph@codesourcery.com>
1048 * c-decl.c (start_function): Don't check for DECL_BUILT_IN when
1049 determining whether to copy parameter types from a previous
1050 prototype declaration.
1052 2004-10-29 Roger Sayle <roger@eyesopen.com>
1054 PR rtl-optimization/17581
1055 * cselib.c (cselib_process_insn): The last instruction of a libcall
1056 block, with the REG_RETVAL note, should be considered in the libcall.
1057 * gcse.c (do_local_cprop): Allow constants to be propagated outside
1059 (adjust_libcall_notes): Use simplify_replace_rtx instead of
1060 replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
1062 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
1064 * tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN.
1066 2004-10-29 Jeff Law <law@redhat.com>
1068 * tree-ssa-dom.c (struct edge_info): New structure holding
1069 edge equivalences and edge redirection information.
1070 (get_eq_expr_value, record_dominating_conditions): Kill.
1071 (propagate_to_outgoing_edges): Renamed from cprop_into_phis.
1072 Call record_edge_info.
1073 (allocate_edge_info, free_edge_info): New.
1074 (tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
1075 rather than cprop_into_phis. Free all edge infos before threading
1077 (thread_across_edge): Allocate new edge info structures as needed
1078 and store the redirection target into the edge info structure
1079 instead of the edge's AUX field.
1080 (dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
1081 (record_equivalence_from_incoming_edge): Lose unnecessary argument.
1082 Revamp code which finds and records equivalences associated with
1083 edges to use saved data in the edge_info structure.
1084 (record_equivalencs_from_phis): Similarly.
1085 (dom_opt_finalize_block): Revamp code which finds and records
1086 equivalences associated with edges to use saved data in the
1087 edge_info structure.
1088 (build_and_record_new_cond): New function.
1089 (record_conditions): Use build_and_record_new_cond to record
1090 dominating conditions.
1091 (record_edge_info): New function.
1092 (record_range): Tighten test for conditions which create
1093 useful range records.
1095 2004-10-29 Geoffrey Keating <geoffk@apple.com>
1097 * config/i386/darwin.h (ASM_SPEC): Simplify.
1098 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
1099 * config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New.
1100 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
1101 * config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here.
1102 (LINK_SPEC): Do pass -arch here. Handle -force_cpusubtype_ALL
1103 in all cases. Pass the right -arch or -arch_only based on -mcpu.
1104 (ASM_SPEC): Handle -force_cpusubtype_ALL.
1105 * doc/invoke.texi (Darwin Options): Improve documentation for
1106 Darwin linker (and libtool) switches.
1108 * config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>.
1110 2004-10-29 Stan Shebs <shebs@apple.com>
1112 * config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly.
1114 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
1116 * tree-phinodes.c (allocate_phi_node): New.
1117 (make_phi_node, resize_phi_node): Use it.
1119 2004-10-29 David Edelsohn <edelsohn@gnu.org>
1121 * config/rs6000/sysv4.h (TARGET_POWER): Define as 0.
1122 * config/rs6000/darwin.h (TARGET_POWER): Define as 0.
1124 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
1126 * tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
1128 * tree.h (tree_phi_node): Tell the garbage collector to chase
1131 2004-10-29 Richard Earnshaw <rearnsha@arm.com>
1133 * opts.c (decode_options): Lower the crossjump threshold for -Os.
1135 2004-10-29 Diego Novillo <dnovillo@redhat.com>
1137 * tree.h (struct tree_ssa_name): Remove field 'equiv'.
1139 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
1141 * bitmap.h (bitmap_empty_p): New.
1142 (bitmap_and, bitmap_and_into, bitmap_and_compl,
1143 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into,
1144 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap
1146 (bitmap_ior_and_compl): Rename to ...
1147 (bitmap_ior_and_compl_into): ... here.
1148 * bitmap.c (bitmap_equal_p): Use bitmap_xor.
1149 (bitmap_ior_and_compl): Rename to ...
1150 (bitmap_ior_and_compl_into): ... here. Adjust. Return changed
1152 (bitmap_union_of_diff): Use renamed bitmap functions.
1153 * basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET,
1154 XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise.
1155 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
1156 * df.c (df_bb_rd_local_compute)
1157 * flow.c (calculate_global_regs_live,
1158 init_propagate_block_info): Likewise.
1159 * ifcvt.c (find_if_case_1, find_if_case_2,
1160 dead_or_predicable): Likewise.
1161 * ra-build.c (union_web_part_roots, livethrough_conflicts_bb,
1162 reset_conflicts, conflicts_between_webs): Likewise.
1163 * ra-rewrite.c (reloads_to_loads, rewrite_program2,
1164 detect_web_parts_to_rebuild): Likewise.
1165 * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
1166 * tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise.
1167 * tree-sra.c (decide_instantiations): Likewise.
1168 * tree-ssa-alias.c (create_name_tags,
1169 merge_pointed_to_info): Likewise.
1170 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
1171 * tree-ssa-loop-im.c (move_computations): Likewise.
1172 * tree-ssa-operands.c (get_call_expr_operands): Likewise.
1173 * tree-ssa-pre.c (fini_pre): Likewise.
1174 * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
1175 * tree-ssanames.c (any_marked_for_rewrite_p): Likewise.
1176 * tree-vectorizer.c (vectorize_loops): Likewise.
1178 2004-10-29 Nick Clifton <nickc@redhat.com>
1180 config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
1181 adding the PIC register to the fixed_regs array, also add it
1182 to the call_used_regs array.
1184 2004-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
1186 * gthr-posix.h (__gthread_recursive_mutex_init_function): Guard
1187 with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs.
1189 2004-10-28 Daniel Berlin <dberlin@dberlin.org>
1191 * tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
1192 (rewrite_blocks): Modify argument, and use it to decide which
1194 (rewrite_def_def_chains): Call rewrite_blocks with true here.
1195 (rewrite_into_ssa): and call it with false here.
1197 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
1199 * tree-phinodes.c (add_phi_arg): Turn an "if" that always
1200 triggers into gcc_assert.
1202 2004-10-28 Diego Novillo <dnovillo@redhat.com>
1204 PR tree-optimization/16728
1205 * tree-flow.h (get_ptr_info): Declare.
1206 * tree-ssa-alias.c (get_ptr_info): Make extern.
1207 * tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
1210 2004-10-28 Stan Shebs <shebs@apple.com>
1212 * config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
1213 * config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64
1216 2004-10-28 Frank Ch. Eigler <fche@redhat.com>
1218 * tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
1219 prevent their later unnecessary registration.
1220 (mf_build_check_statement_for): Remove "addr" argument, and
1221 related "__mf_value" generated code. Update callers.
1222 (mf_decl_eligible_p): New function, factored from mx_register_decls.
1223 (mx_register_decls): Call it.
1224 (mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
1225 to restore support for complex nested expressions.
1226 (mudflap_enqueue_decl): Simplify. Move registration call emission
1228 (mudflap_finish_file): ... to here.
1229 (mudflap_enqueue_constant): Remove dump code.
1231 2004-10-28 Zack Weinberg <zack@codesourcery.com>
1234 * dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
1235 (DBX_FINISH_STABS): Add (unused by default) SYM parameter.
1236 (dbxout_finish_complex_stabs): Update to match.
1237 (dbxout_symbol_location): Call emit_pending_bincls_if_required
1238 and FORCE_TEXT before DBX_STATIC_BLOCK_START. Use
1239 dbxout_begin_complex_stabs_noforcetext.
1240 * xcoffout.h (DBX_FINISH_STABS): Restore special case for
1241 N_GSYM, using new SYM parameter. Correct logic for special
1244 * varasm.c (function_section): If DECL is NULL_TREE, don't try
1245 to do anything else. Do not call get_insns if cfun or
1246 cfun->emit are NULL.
1248 2004-10-28 Adam Nemet <anemet@lnxw.com>
1251 * c-typeck.c (c_mark_addressable): Issue error if address of a
1252 register variable is taken. Use "%qD" to print DECL_NAME.
1254 2004-10-28 Diego Novillo <dnovillo@redhat.com>
1256 * opts.c (decode_options): Don't run PRE at -Os.
1258 2004-10-28 Richard Henderson <rth@redhat.com>
1260 * config/alpha/alpha.md (movqicc_internal): Allow exactly one
1261 zero in the conditional.
1262 (movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
1264 2004-10-28 Richard Henderson <rth@redhat.com>
1266 * cse.c (memory_extend_rtx): Remove.
1267 (cse_main): Don't set it.
1268 (cse_insn): Use a local buffer instead.
1270 2004-10-28 Andreas Krebbel <krebbel1@de.ibm.com>
1272 * profile.c (branch_prob): Call to init_edge_profiler added.
1273 * rtl-profile.c (rtl_init_edge_profiler): New function.
1274 (rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with
1275 call to safe_insert_insn_on_edge.
1276 (rtl_profile_hooks): rtl_init_edge_profiler added.
1277 * tree-profile.c (tree_init_edge_profiler): New function.
1278 (tree_profile_hooks): tree_init_edge_profiler added.
1279 * value-prof.h (profile_hooks) init_edge_profiler prototype added.
1281 2004-10-28 Nick Clifton <nickc@redhat.com>
1283 * config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
1284 emit_jump_insn() to generate the return instruction.
1286 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1288 * tree-phinodes.c: Remove trailing whitespace.
1290 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1292 * tree-ssa-loop-ivopts.c: Fix a comment typo.
1293 * doc/invoke.texi: Fix a typo.
1295 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1297 * Makefile.in (OBJS-common): Remove duplicates.
1299 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1301 * lambda-code.c (nestify_update_pending_stmts): Remove.
1302 (perfect_nestify): Use flush_pending_stmts instead of
1303 nestify_update_pending_stmts.
1304 * tree-cfg.c (tree_make_forwarder_block): Use
1305 flush_pending_stmts.
1306 * tree-flow.h: Add a prototype for flush_pending_stmts.
1307 * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
1308 Use flush_pending_stmts.
1309 (lv_update_pending_stmts): Remove.
1310 (tree_ssa_loop_version): Use flush_pending_stmts instead of
1311 lv_update_pending_stmts.
1312 * tree-ssa.c (flush_pending_stmts): New.
1314 2004-10-28 Ulrich Weigand <uweigand@de.ibm.com>
1317 * final.c (alter_subreg): Compute correct offset to use with
1318 paradoxical SUBREGs of memory operands.
1319 * recog.c (general_operand): Allow paradoxical SUBREGs of
1320 memory operands after reload.
1321 * simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
1322 has failed when passed a hard register.
1324 2004-10-28 Aldy Hernandez <aldyh@redhat.com>
1326 * function.c (assign_parm_setup_block): Handle parallels correctly.
1328 2004-10-28 Kaz Kojima <kkojima@gcc.gnu.org>
1330 * final.c (shorten_branches): Initialize flags structure.
1332 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
1334 * tree.c (int_cst_node, int_cst_hash_table): New variables.
1335 (init_ttree): Initialize them.
1336 (int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
1337 (build_int_cst_wide): Use hash table for oversized integers.
1339 2004-10-28 Nick Clifton <nickc@redhat.com>
1341 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
1344 2004-10-27 Richard Henderson <rth@redhat.com>
1347 * expr.c (emit_group_load): Don't go force temporary for memory
1349 (emit_group_store): Similarly.
1351 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
1354 * common.opt (--param): Fix spelling of parameter.
1356 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
1359 * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
1360 Don't fold statement.
1361 <case ASM_EXPR>: Fold the statement.
1363 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1365 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
1366 <COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
1368 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
1370 * doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
1371 doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
1372 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
1373 doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
1375 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
1377 * doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
1378 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
1379 punctuation outside quotes.
1381 2004-10-27 David Mosberger <davidm@hpl.hp.com>
1382 James E Wilson <wilson@specifixinc.com>
1385 * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
1386 sibcall alloc instruction.
1387 (process_set): Handle sibcall alloc instruction.
1389 2004-10-27 Geoffrey Keating <geoffk@apple.com>
1391 * config/rs6000/rs6000.c (rs6000_attribute_table): Add
1392 SUBTARGET_ATTRIBUTE_TABLE.
1393 * config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
1394 (SUBTARGET_ATTRIBUTE_TABLE): Define.
1395 * config/darwin.c (darwin_handle_weak_import_attribute): New.
1396 (HAVE_DEAD_STRIP): Delete.
1397 (no_dead_strip): Don't test HAVE_DEAD_STRIP.
1398 * config/darwin-protos.h (darwin_handle_weak_import_attribute):
1401 * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
1403 * config/darwin.h (GTHREAD_USE_WEAK): Define.
1405 2004-10-28 Ben Elliston <bje@au.ibm.com>
1407 * params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
1408 (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
1409 * params.h (SRA_MAX_STRUCTURE_SIZE): New.
1410 (SRA_FIELD_STRUCTURE_RATIO): Likewise.
1411 * tree-sra.c: Include "params.h".
1412 (decide_block_copy): Use new parameters.
1413 * doc/invoke.texi (Optimize Options): Document new SRA pass
1414 parameters sra-max-structure-size and sra-field-structure-ratio.
1416 2004-10-27 Nicolas Pitre <nico@cam.org>
1418 * config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
1420 2004-10-27 Zdenek Dvorak <dvorakz@suse.cz>
1422 PR tree-optimization/18048
1423 * fold-const.c (try_move_mult_to_index): New function.
1424 (fold): Use try_move_mult_to_index.
1425 * tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
1426 * tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
1427 an all-ones unsigned constant without extra bits.
1428 * tree.c (build_low_bits_mask): New function.
1429 * tree.h (build_low_bits_mask): Declare.
1431 2004-10-27 David Edelsohn <edelsohn@gnu.org>
1434 * config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
1440 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1442 * tree-cfg.c (thread_jumps): Speed up by reordering the two
1443 conditions for entering basic blocks into worklist.
1445 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1447 * tree-cfg.c (thread_jumps): Speed up by pretending to have
1448 ENTRY_BLOCK_PTR in worklist.
1450 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1452 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
1453 <GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
1455 2004-10-27 Daniel Berlin <dberlin@dberlin.org>
1457 Fix PR tree-optimization/17133
1459 * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
1462 * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
1463 (get_v_must_def_result_ptr): Modify for new structure of
1465 (get_v_must_def_kill_ptr): New.
1466 (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
1467 (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
1468 (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
1469 (op_iter_init): Initialize new mustu members.
1470 (op_iter_next_mustdef): New function.
1471 (op_iter_init_mustdef): Ditto.
1473 * tree-flow.h (rewrite_def_def_chains): New function.
1475 * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
1476 (ssa_mark_def_sites): Ditto.
1477 (rewrite_stmt): Ditto.
1478 (ssa_rewrite_stmt): Ditto.
1479 (rewrite_blocks): Factor out from rewrite_into_ssa.
1480 (mark_def_block_sites): Ditto.
1481 (rewrite_def_def_chains): New function, just rewrites def-def
1482 chains without phi node insertion.
1484 * tree-pass.h (TODO_fix_def_def_chains): New todo flag.
1486 * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
1488 * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
1489 they include the rhs now.
1491 * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
1494 * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
1496 (mark_really_necessary_kill_operand_phis): New function.
1497 (perform_tree_ssa_dce): Call it.
1498 (pass_dce): Add TODO_fix_def_def_chains.
1499 (pass_cd_dce): Ditto.
1501 * tree-ssa-loop-im.c (determine_max_movement): Look at kills as
1503 (rewrite_mem_refs): Ditto.
1505 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
1508 * tree-ssa-operands.c (allocate_v_may_def_optype):
1509 v_may_def_operand_type_t became v_def_use_operand_type_t.
1510 (allocate_v_must_def_optype) Ditto.
1511 (finalize_ssa_v_must_defs): Update for new operand type, as well
1512 as setting the use portion as well.
1513 (copy_virtual_operands): Copy the kill operand as well.
1514 (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
1517 * tree-ssa-operands.h (v_may_def_operand_type): Renamed to
1518 v_def_use_operand_type.
1519 (v_must_def_optype_d): Use v_def_use_operand_type.
1520 (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
1521 (V_MUST_DEF_KILL_*): New macros.
1522 (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
1524 Rename existing must_i and num_v_must members to mustd_i and
1526 (SSA_OP_VMUSTDEFKILL): New flag.
1527 (SSA_OP_VIRTUAL_KILLS): New flag.
1528 (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
1529 (SSA_OP_ALL_KILLS): New flag.
1530 (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
1532 * tree-ssa.c (verify_ssa): Verify virtual kills as well.
1534 * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
1535 became V_MUST_DEF_RESULT.
1536 (rename_variables_in_bb): Rename kill pointer as well.
1538 * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
1541 2004-10-27 Richard Sandiford <rsandifo@redhat.com>
1543 * dbxout.c (dbxout_source_line): Move declaration of begin_label to
1544 the block that needs it.
1546 2004-10-27 Zack Weinberg <zack@codesourcery.com>
1548 * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
1551 2004-10-27 Zack Weinberg <zack@codesourcery.com>
1553 * c-lex.c (cb_def_pragma): Clean up code for making location
1554 palatable to diagnostic.c.
1556 2004-10-27 Steven Bosscher <stevenb@suse.de>
1558 PR tree-optimization/17757
1559 * tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
1560 without any PHI arguments left. Make sure the argument that
1561 we're supposed to remove exists at all.
1563 2004-10-27 Paul Brook <paul@codesourcery.com>
1565 * configure.ac: Don't test for [build] __cxa_atexit when building a
1567 * configure: Regenerate.
1569 2004-10-27 Paul Brook <paul@codeosurcery.com>
1571 * configure.ac: Use build_exeext not host_exeext when lookin for
1573 * configure: Regenerate.
1575 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
1577 * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
1579 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
1580 patch originally created by Kelley Cook <kcook@gcc.gnu.org>
1583 * opts.c (OPT_fprofile_generate): Default to -funroll-loops
1584 to match -fprofile-use.
1586 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1588 * config/rs6000/rs6000.c: Fix a comment typo.
1590 2004-10-27 Zack Weinberg <zack@codesourcery.com>
1592 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
1595 2004-10-27 Andreas Schwab <schwab@suse.de>
1597 * varasm.c (default_stabs_asm_out_destructor): Mark symbol as
1599 (default_stabs_asm_out_constructor): Likewise.
1601 2004-10-26 Geoffrey Keating <geoffk@apple.com>
1603 * builtins.c (fold_builtin_unordered_cmp): Always bring both
1604 operands to the same type.
1606 2004-10-26 James E Wilson <wilson@specifixinc.com>
1609 * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
1611 2004-10-26 Zack Weinberg <zack@codesourcery.com>
1613 * dbxout.c: Include obstack.h.
1614 (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
1616 (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
1617 Default-define here.
1618 (DBX_CONTIN_LENGTH): Move definition with others.
1619 (DBX_FINISH_STABS): New target macro.
1620 (current_sym_code, current_sym_value, current_sym_addr)
1621 (current_sym_nchars, CHARS, dbxout_continue)
1622 (print_int_cst_octal, print_octal, print_wide_int)
1623 (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
1624 (stabstr_ob, stabstr_last_contin_point): New variables.
1625 (NUMBER_FMT_LOOP): New improper macro.
1626 (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
1627 (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
1628 (dbxout_stab_value_internal_label_diff, dbxout_stabd)
1629 (dbxout_begin_stabn, dbxout_begin_stabn_sline)
1630 (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
1631 (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
1632 (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
1633 (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
1634 New functions and/or proper function-like macros.
1635 (CONTIN): Use stabstr_continue, unconditionally.
1636 (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
1637 (dbxout_init): Initialize stabstr_ob. Check
1638 NO_DBX_MAIN_SOURCE_DIRECTORY. Only write out the Ltext label
1639 if it was used. Use the new interfaces.
1640 (dbxout_source_file): Remove file argument; always write to
1641 asm_out_file. Use the new interfaces.
1642 (dbxout_type_method_1): Remove second argument which is always
1643 DECL_ASSEMBLER_NAME of the first argument. Use the new interfaces.
1644 (dbxout_type_methods): Remove write-only variables. Use the
1646 (dbxout_parms): Refactor to remove code duplicated in each of
1647 several successive if-else-if blocks. Use the new interfaces.
1648 (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
1649 (dbxout_source_line, dbxout_finish, dbxout_type_index)
1650 (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
1651 (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
1652 (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
1653 (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
1654 Use the new interfaces.
1655 * Makefile.in (dbxout.o): Update dependencies.
1657 * defaults.h: Don't define ASM_STABD_OP.
1658 * output.h: Prototype new dbxout_* interfaces.
1659 * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
1660 * varasm.c: Don't define ASM_STABS_OP.
1661 (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
1662 Use the new dbxout.c interfaces. Call sorry if neither
1663 DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
1665 * xcoffout.h: Don't define ASM_STABS_OP.
1666 (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
1667 (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
1668 (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
1669 (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
1670 do { ... } while (0) idiom.
1672 * config/alpha/alpha.c (num_source_filenames): Export.
1673 * config/alpha/alpha.h (num_source_filenames): Declare.
1674 (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
1675 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
1676 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
1677 Always use .debugsym. Update commentary.
1678 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
1679 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
1680 * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
1682 * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
1683 (macho_branch_islands): Use new interfaces.
1685 * doc/tm.texi: Update.
1687 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
1689 * expr.c (emit_group_store): Do not treat floats as BLKmode.
1690 (emit_group_load): Same.
1692 2004-10-26 Joseph S. Myers <jsm@polyomino.org.uk>
1694 * c-parse.in (datadef): Use pedwarn rather than error and warning
1695 for diagnostic in case of no declaration specifiers.
1697 2004-10-26 Richard Sandiford <rsandifo@redhat.com>
1700 * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
1701 reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
1702 can be used to work around this.
1704 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
1706 * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
1709 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
1711 * stmt.c (expand_case): Update a comment.
1713 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
1715 * stmt.c (expand_case): Put an assertion that index_expr is
1716 never INTEGER_CST. Don't special case for constant
1719 2004-10-26 Andrew Pinski <pinskia@physics.uc.edu>
1722 * c-parse.in (designator): Finish with a semi-colon.
1724 2004-10-26 Fariborz Jahanian <fjahanian@apple.com>
1726 * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
1729 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
1731 * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
1732 a default case only.
1734 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
1736 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
1738 (spe_build_register_parallel): New.
1739 (rs6000_spe_function_arg): Handle e500 doubles.
1740 (function_arg): Same.
1741 (spe_func_has_64bit_regs_p): Same.
1742 (rs6000_function_value): Same.
1743 (rs6000_libcall_value): Same.
1744 (legitimate_lo_sum_address_p): Return false for e500 doubles.
1746 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
1748 (DATA_ALIGNMENT): Same.
1749 (CANNOT_CHANGE_MODE_CLASS): Same.
1751 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
1753 * expr.c (emit_group_load): Handle floats.
1754 (emit_group_store): Same.
1756 2004-10-26 Nathan Sidwell <nathan@codesourcery.com>
1758 * c-lex.c (get_nonpadding_token): Remove.
1759 (c_lex_with_flags): Push timevar and eat padding here. Improve
1760 stray token diagnostic.
1761 (lex_string): Replace logic with switch statement, eat padding
1764 2004-10-26 Geoffrey Keating <geoffk@apple.com>
1767 * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
1769 2004-10-25 Geoffrey Keating <geoffk@apple.com>
1771 * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
1773 (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
1774 (ASM_MAKE_LABEL_LINKONCE): Delete.
1775 (ASM_WEAKEN_DECL): New.
1776 (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
1777 (ASM_DECLARE_FUNCTION_NAME): Likewise.
1778 (TEXT_SECTION_ASM_OP): Add a tab.
1779 (DATA_SECTION_ASM_OP): Likewise.
1780 (SECTION_FUNCTION): Add a tab. Use fputs. Don't call
1781 data_section on every section change.
1782 (EXTRA_SECTIONS): Add a bunch of new extra sections.
1783 (EXTRA_SECTION_FUNCTIONS): Likewise.
1784 (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
1785 (JCR_SECTION_NAME): Define.
1786 (TARGET_SECTION_TYPE_FLAGS): Don't define.
1787 * config/darwin.c (darwin_encode_section_info): A symbol is defined
1788 in this file if it is not weak.
1789 (textcoal_section): Delete.
1790 (datacoal_section): Delete.
1791 (darwin_make_decl_one_only): Delete.
1792 (machopic_select_section): Handle functions.
1793 (darwin_asm_named_section): Add a tab.
1794 (darwin_section_type_flags): Delete.
1795 (darwin_unique_section): Delete contents.
1796 (darwin_emit_unwind_label): Add a tab. Make decls weak if
1798 * config/darwin-protos.h (darwin_section_type_flags): Delete.
1799 (darwin_make_decl_one_only): Delete.
1800 (text_coal_section): New.
1801 (text_unlikely_section): New.
1802 (text_unlikely_coal_section): New.
1803 (const_coal_section): New.
1804 (data_coal_section): New.
1805 (const_data_coal_section): New.
1806 * varasm.c (function_section): Honour
1807 USE_SELECT_SECTION_FOR_FUNCTIONS.
1808 * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
1809 TARGET_USES_WEAK_UNWIND_INFO is in effect.
1810 * dbxout.c (dbxout_source_file): Don't change sections while
1811 a function is being output.
1813 2004-10-25 David Ayers <d.ayers@inode.at>
1815 * c-common.h: Remove RID_ID.
1816 * c-parse.in: Remove OBJECTNAME and references to RID_ID.
1817 (typespec_reserved_attr): Add rule for TYPENAME
1818 non_empty_protocolrefs.
1819 (yylexname): Remove special handling of RID_ID.
1821 2004-10-25 James E Wilson <wilson@specifixinc.com>
1823 * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
1825 2004-10-25 Joseph S. Myers <jsm@polyomino.org.uk>
1828 * c-parse.in (array_designator): New.
1829 (designator): Use it.
1830 (initelt): Only permit array_designator without '=', not ".foo".
1832 2004-10-25 Kenneth Zadeck <zadeck@naturalbridge.com>
1833 * gcc/Makefile.in: removed ggc for cgraphunit.
1834 * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
1835 * gcc/cgraph.h: removed static var analysis data structures and calls.
1837 cgraph_mark_local_and_external_functions:changed name to
1838 cgraph_mark_local_functions
1839 (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
1840 cgraph_reset_static_var_maps,get_global_static_vars_info,
1841 get_global_statics_not_read,get_global_statics_not_written,searchc,
1842 cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
1843 check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
1844 scan_for_static_refs,cgraph_characterize_statics_local,
1845 clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
1847 (cgraph_optimize,init_cgraph): removed calls to static vars analysis
1848 * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
1850 * gcc/tree-flow.h static_vars_info: removed
1851 * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
1852 removed calls to static vars analysis.
1853 get_call_expr_operands: removed callee variable.
1855 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
1857 * cfg.c (unchecked_make_edge, redirect_edge_succ,
1858 redirect_edge_pred): Use VEC_safe_push instead of
1860 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
1862 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
1864 * cfgloopmanip.c (loopify): Take two more arguments true_edge
1866 * cfgloop.h: Adjust the corresponding prototype.
1867 * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
1868 * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
1870 2004-10-25 Jakub Jelinek <jakub@redhat.com>
1872 * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
1873 DECL_INCOMING_RTL is NULL.
1875 2004-10-25 Steven Bosscher <stevenb@suse.de>
1877 * timevar.def (TV_FIND_REFERENCED_VARS): New.
1878 * tree-dfa.c (pass_referenced_var): Use it.
1880 2004-10-25 Roger Sayle <roger@eyesopen.com>
1881 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1883 * cse.c: Change encoding of quantity numbers to avoid undefined
1884 pointer arithmetic on qty_table.
1885 (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
1886 (get_cse_reg_info): Initialize reg_qty to a unique negative value.
1887 (new_basic_block): Assign "real" quantity numbers from zero.
1888 (delete_reg_equiv): Do nothing if quantity is invalid. Reset the
1889 REG_QTY to its unique negative value.
1890 (merge_equiv_classes): Calculate need_rehash if quantity is valid.
1891 (cse_main): Don't include max_reg when determining max_qty.
1892 (cse_basic_block): Avoid subtracting a large offset from qty_table,
1893 which causes undefined C99 behaviour. Only allocate needed memory.
1895 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
1897 * stmt.c (expand_case): Remove an obsolete comment.
1899 2004-10-25 Andrew Pinski <pinskia@physics.uc.edu>
1902 * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
1903 layout_type as it is already done by build_array_type.
1904 * tree.c (build_array_type): Layout the type even
1906 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
1908 * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
1910 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
1912 * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
1913 with wider-than-32-bit HOST_WIDE_INTs.
1915 2004-10-25 David Billinghurst <David.Billinghurst@riotinto.com>
1917 * config/mips/mips.c(mips_output_filename): Remove unused
1918 array ltext_label_name
1920 2004-10-24 Geoffrey Keating <geoffk@geoffk.org>
1922 * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
1924 2004-10-25 Ben Elliston <bje@au.ibm.com>
1926 * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
1928 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
1930 * predict.c (predict_loops): Call scev_finalize instead of
1933 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
1935 * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
1936 config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
1937 config/sh/ushmedia.h, config/sparc/elf.h,
1938 config/sparc/sp64-elf.h: Update copyright.
1940 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
1942 * stmt.c (expand_case): Handle the default label outside of
1943 the for loop. Remove code to handle a missing default label.
1945 2004-10-23 Kazu Hirata <kazu@cs.umass.edu>
1947 * dbxout.c (dbxout_function_decl): Don't use
1948 DBX_OUTPUT_FUNCTION_END.
1949 * system.h: Poison DBX_OUTPUT_FUNCTION_END.
1950 * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
1952 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
1955 * tree-cfg.c (remove_usless_stmts_cond): Don't Fold statement.
1957 2004-10-23 Daniel Berlin <dberlin@dberlin.org>
1959 * tree-ssa-dom.c (record_equality): Use loop depth to determine
1960 which way to record the equality as well.
1961 (loop_depth_of_name): New function.
1963 2004-10-23 Eric Botcazou <ebotcazou@libertysurf.fr>
1966 * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
1967 through the operand if it is a useless type conversion.
1969 2004-10-23 Ben Elliston <bje@au.ibm.com>
1971 * cfg.c (remove_edge): Use VEC_unordered_remove.
1972 (redirect_edge_succ): Likewise.
1973 (redirect_edge_pred): Likewise.
1974 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
1976 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1978 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
1981 2004-10-22 Eric Christopher <echristo@redhat.com>
1983 * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
1986 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
1988 * config/rs6000/spe.md (spe_extendsfdf2): New.
1989 (movdf_e500_double): New.
1990 (spe_truncdfsf2): New.
1997 (spe_floatsidf2): New.
1998 (spe_floatunssidf2): New.
1999 (fix_truncdfsi2): New.
2000 (spe_fixuns_truncdfsi2): New.
2002 * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
2003 (fpr_truncdfsf2): New.
2004 (negdf2): Change to expander.
2006 (fpr_nabsdf2): Name pattern.
2007 (adddf3): Change to expander.
2009 (subdf3): Change to expander.
2011 (muldf3): Change to expander.
2013 (divdf3): Change to expander.
2015 (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
2016 (cmpdf): Allow for TARGET_E500_DOUBLE.
2018 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2020 * c-semantics.c (re_push_stmt_list): Remove.
2021 * c-common.h: Remove the corresponding prototype.
2023 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2025 * stmt.c (asm_op_is_mem_input): Remove.
2026 * tree.h: Remove the corresponding prototype.
2028 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2030 * tree-gimple.c (is_gimple_constructor_elt): Remove.
2031 * tree-gimple.h: Remove the corresponding prototype.
2033 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2035 * varasm.c (get_pool_mode_for_function, get_pool_offset):
2037 * rtl.h: Remove the corresponding prototypes.
2039 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2041 * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
2042 edge information when we commit ourselves to threading a
2045 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2047 * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
2048 into worklist instead of their indexes.
2050 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2052 * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
2053 final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
2054 lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
2055 pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
2056 tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
2057 tree-scalar-evolution.c, tree-ssa-dom.c,
2058 tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
2059 tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
2060 tree-vectorizer.c, vec.h: Fix comment formatting.
2062 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2064 * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
2065 libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
2067 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2069 * config/ptx4.h, config/mcore/mcore-pe.h,
2070 config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
2072 2004-10-22 Peter Barada <peter@the-baradas.com>
2074 * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
2075 * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
2076 renaming of non-live registers in interrupt functions.
2077 * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
2079 2004-10-22 Zdenek Dvorak <dvorakz@suse.cz>
2081 * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
2082 Use integer for loop counter.
2083 (num_ending_zeros): New function.
2084 (number_of_iterations_cond): Use num_ending_zeros.
2086 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
2088 * config.gcc: Add support for --enable-e500_double.
2090 * config/rs6000/e500-double.h: New file.
2092 * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
2095 * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
2098 * config/rs6000/linuxspe.h: Same.
2100 * doc/invoke.texi (Option Summary): Document new options for
2102 (RS/6000 and PowerPC Options): Same.
2104 * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
2106 (rs6000_override_options): Use it. Use
2107 SUB3TARGET_OVERRIDE_OPTIONS.
2108 Add 8548 to processor_target_table.
2109 (rs6000_legitimate_address): Handle e500 doubles.
2110 (rs6000_legitimize_address): Same.
2111 (rs6000_legitimize_reload_address): Same.
2112 (rs6000_hard_regno_nregs): Same.
2113 (spe_func_has_64bit_regs_p): Same.
2114 (emit_frame_save): Same.
2115 (gen_frame_mem_offset): Same.
2116 (rs6000_dwarf_register_span): Same.
2117 (rs6000_generate_compare): Same.
2118 (easy_fp_constant): Same.
2119 (legitimate_offset_address_p): Same.
2121 * config/rs6000/spe.md: (cmdfeq_gpr): New.
2130 2004-10-21 Giovanni Bajo <giovannibajo@gcc.gnu.org>
2132 * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
2134 2004-10-21 Zack Weinberg <zack@codesourcery.com>
2136 * dbxout.c: Remove unnecessary #undefs.
2137 (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
2138 (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
2139 definition into use sites.
2140 (cwd): Make local to dbxout_init.
2141 (dbxout_init): Restructure cwd-using logic for clarity. Use
2143 * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
2144 STABS_GCC_MARKER folded in here.
2145 * system.h: Poison now-unused macros.
2146 * doc/tm.texi: Remove documentation of now-unused macros.
2148 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
2151 * c-opts.c (push_command_line_include): Use the current file
2152 name instead of the main one.
2154 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
2157 * tree.c (staticp): A CONST_DECL has static storage if either
2158 TREE_STATIC or DECL_EXTERNAL is set.
2159 * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
2162 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
2164 * expr.c (store_expr): Remove dont_store_target.
2166 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
2168 * tree-cfg.c (thread_jumps): Speed up by using a worklist.
2170 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
2172 * tree-cfg.c (thread_jumps): Move a part of it to ...
2173 (thread_jumps_from_bb): ... here.
2175 2004-10-21 David Edelsohn <edelsohn@gnu.org>
2177 * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
2178 * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
2180 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
2182 * expr.c (store_expr): Clean up by renaming want_value to
2185 2004-10-21 Kaz Kojima <kkojima@gcc.gnu.org>
2187 * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
2190 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
2193 * expmed.c (store_bit_field): Pass original 'value' before
2196 2004-10-21 Nicolas Pitre <nico@cam.org>
2198 * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
2199 * config/arm/ieee754-df.S: Ditto.
2201 2004-10-20 Zack Weinberg <zack@codesourcery.com>
2203 * dbxout.c (asmfile): Delete. All uses changed to asm_out_file.
2204 (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
2206 (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
2207 When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
2208 an internal label and an N_SLINE .stabn whose value is the
2209 difference between that label and the function entry label.
2210 (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
2211 but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
2212 label and an N_SO stab with an empty string referring to it.
2213 (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
2214 of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
2215 (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
2216 (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
2217 macro is never defined.
2218 * sdbout.c (sdbout_source_line_counter): Delete.
2219 (PUT_SDB_SRC_FILE): Delete. Uses replaced with sole definition.
2220 (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
2222 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
2224 * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
2225 * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
2226 definitions (identical to default).
2227 * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
2228 * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
2229 Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
2230 DBX_OUTPUT_MAIN_SOURCE_FILE_END.
2231 * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
2232 * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
2233 Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
2234 * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
2235 * config/alpha/alpha.c: Move declaration of num_source_filenames up.
2236 (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
2237 (sym_lineno): Delete.
2238 (alpha_output_filename): Do not emit N_SOL stabs here. Remove
2239 now-unused variable.
2240 (alpha_output_lineno): Delete.
2241 * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
2242 * config/mips/mips.c (mips_output_filename): Don't use
2243 ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
2244 (mips_output_lineno): Delete.
2245 (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
2246 * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
2247 SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
2248 * config/mips/mips.h: Likewise. Don't define ASM_OUTPUT_FILENAME.
2249 * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
2250 * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
2251 * config/mmix/mmix.h: Likewise.
2252 * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
2253 * config/mmix/mmix-protos.h: Don't prototype it.
2254 * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
2255 no need to #undef ASM_OUTPUT_SOURCE_LINE.
2256 * config/arm/aout.h: Remove RISCiX-specific definition of
2257 DBX_OUTPUT_MAIN_SOURCE_FILENAME.
2258 * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
2259 ASM_OUTPUT_SOURCE_LINE.
2260 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
2261 DBX_OUTPUT_SOURCE_LINE. Don't use current_function_func_begin_label.
2262 * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
2264 * doc/tm.texi: Update.
2266 2004-10-20 Richard Henderson <rth@redhat.com>
2268 * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
2270 2004-10-20 Kelley Cook <kcook@gcc.gnu.org>
2272 * configure.ac: Revert my previous patch.
2273 * configure: Regenerate.
2275 2004-10-20 Ben Elliston <bje@au.ibm.com>
2277 * config/rs6000/rs6000.c
2278 (rs6000_va_start): Use build_va_arg_indirect_ref.
2279 (rs6000_gimplify_va_arg): Likewise.
2281 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
2284 * configure.ac: Declare AM_LANGINFO_CODESET.
2285 * aclocal.m4: Define AM_LANGINFO_CODESET.
2286 * configure, config.in: Rebuilt.
2288 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
2290 * expr.c (store_expr): Remove code that is run when
2291 want_value & 1 is nonzero.
2293 2004-10-20 Mark Mitchell <mark@codesourcery.com>
2295 * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
2296 from function pointer to void *.
2298 2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
2301 * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
2302 the frame pointer adjustment when exception handling is enabled.
2304 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
2306 * stor-layout.c: Fix a comment typo.
2308 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
2310 * expr.c (store_field): Remove two arguments value_mode and
2312 (expand_assignment, store_constructor_field,
2313 expand_expr_real_1): Adjust calls to store_field.
2315 2004-10-18 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
2317 * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
2320 * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
2321 REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
2322 base and index register for loads.
2324 * config/arc/t-arc: Fix multilib handling.
2326 2004-10-20 Hans-Peter Nilsson <hp@bitrange.com>
2328 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
2329 don't inspect BLOCK_FOR_INSN for barriers.
2330 * emit-rtl.c (emit_barrier_before): Revert last change.
2331 (emit_barrier_after, emit_barrier): Ditto.
2333 * doc/extend.texi (Extended Asm): Warn and provide example
2334 solution for using a call-clobbered asm register.
2335 (Local Reg Vars): Similar. Cross-reference example.
2337 2004-10-19 Andrew Pinski <pinskia@physics.uc.edu>
2339 * tree-cfg.c (group_case_labels): Look at the second to last
2340 case statement for combing with the default case.
2342 2004-10-19 Richard Hendeson <rth@redhat.com>
2345 * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
2347 2004-10-19 Richard Hendeson <rth@redhat.com>
2349 * builtins.c (expand_builtin_memmove): If fold_builtin_memmove
2350 succeeds, only expand the result.
2352 2004-10-19 Richard Hendeson <rth@redhat.com>
2355 * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
2358 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
2360 * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
2363 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
2365 * expr.c (expand_assignment): Remove the last argument.
2366 Change the return type to void.
2367 * expr.h: Update the prototype of expand_assignment.
2368 * function.c (assign_parm_setup_reg): Update a call to
2370 * stmt.c (expand_asm_expr): Likewise.
2372 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
2374 * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
2375 unnecessary assignments to temp. Return const0_rtx.
2377 2004-10-19 Kaz Kojima <kkojima@gcc.gnu.org>
2379 * config/sh/sh.c (sh5_schedule_saves): Fix typo.
2381 2004-10-18 Kelley Cook <kcook@gcc.gnu.org>
2383 * configure.ac (powerpc-*-darwin*): Require assembler to support
2385 * configure: Regenerate.
2387 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2389 * reload1.c (ior_hard_reg_set): Remove.
2390 (finish_spills): Use IOR_HARD_REG_SET instead of
2393 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2395 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
2396 the currently visited word to right.
2398 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2401 * expmed.c (expand_smod_pow2): Handle modes whose size
2402 is greater than that of HOST_WIDE_INT.
2404 2004-10-18 Ziemowit Laski <zlaski@apple.com>
2406 * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
2408 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2409 Roger Sayle <roger@eyesopen.com>
2412 * dojump.c (discard_pending_stack_adjust): New function.
2413 (clear_pending_stack_adjust): Call it.
2414 * expr.h (discard_pending_stack_adjust): Declare it.
2415 * explow.c (emit_stack_save): Emit pending stack adjustments
2416 before saving the stack pointer.
2417 (emit_stack_restore): Discard pending stack adjustments before
2418 restoring the stack pointer.
2420 2004-10-18 Richard Henderson <rth@redhat.com>
2422 * c-common.c (handle_mode_attribute): Allow scalar->vector
2425 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2427 * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
2428 value to expand_assignment.
2430 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2432 * tree-cfg.c (cleanup_tree_cfg): Don't iterate on
2434 (thread_jumps): Iterate until no new forwarder block arises.
2436 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2438 * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
2439 (thread_jumps): Use forwardable as cache of
2440 tree_forwarder_block_p throughout the function.
2442 2004-10-18 Andreas Krebbel <krebbel1@de.ibm.com>
2444 * cfg.c (dump_flow_info): Remove redundant dump of reg life info.
2446 2004-10-18 Andrew Pinski <pinskia@physics.uc.edu>
2450 * tree-cfg.c (remove_bb): If we have a label expression in the
2451 basic block and the label we have taken the address, move the
2452 label expression to the basic block which is previous in the
2454 (tree_verify_flow_info): Fix printing out the label name of the
2455 problematic label expression.
2457 2004-10-18 Pat Haugen <pthaugen@us.ibm.com>
2459 PR rtl-optimization/18002
2460 * simplify-rtx.c (mode_signbit_p): Externalize function...
2461 * rtl.h (mode_signbit_p): ... to here.
2462 * combine.c (simplify_shift_const): Recognize PLUS signbit as
2463 canonical form of XOR signbit and move to outer op.
2465 2004-10-18 Diego Novillo <dnovillo@redhat.com>
2467 * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
2469 * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
2470 Don't call fold_stmt more than once, use bsi_replace.
2472 2004-10-18 Diego Novillo <dnovillo@redhat.com>
2474 PR tree-optimization/17656
2475 * tree-ssa.c (replace_immediate_uses): When replacing a
2476 constant, if the call to fold_stmt produced a different
2477 statement, get an appropriate statement pointer by scanning
2480 2004-10-18 Richard Henderson <rth@redhat.com>
2482 * pointer-set.c (hash1): Don't use libm functions in fallback case.
2484 2004-10-18 H.J. Lu <hongjiu.lu@intel.com>
2487 * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
2488 (stage1-start): Remove and copy libunwind.a and
2489 libunwind*$(SHLIB_EXT) instead of libunwind*.
2490 (stage2-start): Likewise.
2491 (stage3-start): Likewise.
2492 (stage4-start): Likewise.
2493 (stageprofile-start): Likewise.
2494 (stagefeedback-start): Likewise.
2496 * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
2497 the shared library to be created and don't remove the existing
2499 * config/arm/t-netbsd (SHLIB_LINK): Likewise.
2500 * config/i386/t-nwld (SHLIB_LINK): Likewise.
2501 * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
2502 * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
2503 * config/sh/t-linux (SHLIB_LINK): Likewise.
2504 * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
2505 * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
2506 * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
2507 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
2509 * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
2512 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2514 * basic-block.h (reg_set_iterator): New.
2515 (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
2516 (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
2517 (EXECUTE_IF_AND_IN_REG_SET): Likewise.
2518 * caller-save.c (save_call_clobbered_regs): Adjust to the new
2520 * cfgcleanup.c (thread_jump): Likewise.
2521 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
2522 * conflict.c (conflict_graph_compute): Likewise.
2523 * flow.c (verify_local_live_at_start, update_life_info,
2524 initialize_uninitialized_subregs, propagate_one_insn,
2525 init_propagate_block_info, free_propagate_block_info,
2526 propagate_block, dump_regset): Likewise.
2527 * global.c (global_conflicts): Likewise.
2528 * graph.c (start_bb): Likewise.
2529 * local-alloc.c (update_equiv_regs): Likewise.
2530 * loop.c (load_mems): Likewise.
2531 * reload1.c (compute_use_by_pseudos, order_regs_for_reload,
2532 find_reg, finish_spills): Likewise.
2533 * resource.c (mark_target_live_regs): Likewise.
2534 * sched-deps.c (sched_analyze_insn): Likewise.
2535 * sched-rgn.c (sched-rgn.c): Likewise.
2536 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
2538 2004-10-18 Jakub Jelinek <jakub@redhat.com>
2540 * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
2541 operand 1 instead of 2
2543 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2545 * loop-unroll.c: Fix comment typos.
2547 2004-10-18 Revital Eres <eres@il.ibm.com>
2549 * Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
2550 * loop-unroll.c: Include varray.h.
2551 (struct var_to_expand, struct opt_info): Rename split_ivs_info to
2552 opt_info and expand it to support variable expansion.
2553 (analyze_insns_in_loop): Rename analyze_ivs_to_split and
2554 expand it to support variable expansion.
2555 (pt_info_start_duplication): Rename si_info_start_duplication.
2556 (apply_opt_in_copies): Rename split_ivs_in_copies and add support
2557 to the variable expansion optimization.
2558 (free_opt_info): Rename free_si_info.
2559 (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
2560 expand_var_during_unrolling, insert_var_expansion_initialization,
2561 combine_var_copies_in_loop_exit, release_var_copies,
2562 get_expansion): New functions.
2563 (peel_loop_completely, unroll_loop_constant_iterations,
2564 unroll_loop_runtime_iterations, peel_loop_simple,
2565 unroll_loop_stupid): Change uses of struct si_info
2567 and add uses of fvariable-expansion-in-unroller flag.
2568 * params.def: Add parameter to restrict the number of expansions.
2569 * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
2570 the number of expansions.
2571 * common.opt: (fvariable-expansion-in-unroller): New flag.
2572 * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
2574 2004-10-18 Danny Smith <dannysmith@users.sourceforge.net>
2576 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
2577 __GXX_MERGED_TYPEINFO_NAMES to 0.
2579 2004-10-17 Hans-Peter Nilsson <hp@bitrange.com>
2581 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
2582 handle barriers in a bb by checking that it points to a NULL bb.
2583 * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
2584 (emit_barrier_after, emit_barrier): Ditto.
2586 2004-10-18 Joseph S. Myers <jsm@polyomino.org.uk>
2588 * doc/extend.texi (Attribute Syntax): Clarify details of
2589 attributes on parameters.
2591 2004-10-17 Zdenek Dvorak <dvorakz@suse.cz>
2593 * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
2596 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
2599 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
2601 * c-typeck.c (default_function_array_conversion): Always create
2602 &a[0] for array types.
2603 (build_unary_op): Do not fold &a[x] into a + x.
2605 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
2608 * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
2609 block if there is a goto with a locus.
2611 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
2613 * config/elfos.h, config/gofast.h, config/interix.h,
2614 config/netbsd.h, config/svr3.h, config/vxworks.h,
2615 config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
2616 config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
2617 config/alpha/netbsd.h, config/arm/arm-modes.def,
2618 config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
2619 config/cris/aout.h, config/frv/frv-modes.def,
2620 config/i386/beos-elf.h, config/i386/gas.h,
2621 config/i386/i386-coff.h, config/i386/i386-modes.def,
2622 config/i386/linux.h, config/i386/linux64.h,
2623 config/i386/mingw32.h, config/i386/netbsd-elf.h,
2624 config/i386/netbsd64.h, config/i386/sco5.h,
2625 config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
2626 config/ia64/ia64-modes.def, config/ia64/itanium1.md,
2627 config/ia64/itanium2.md, config/m68k/m68k-modes.def,
2628 config/mips/mips-modes.def, config/mips/sdb.h,
2629 config/mips/vr.h, config/mips/vxworks.h,
2630 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
2631 config/pa/pa32-linux.h, config/rs6000/40x.md,
2632 config/rs6000/7450.md, config/rs6000/8540.md,
2633 config/rs6000/linuxspe.h, config/rs6000/power4.md,
2634 config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
2635 config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
2636 config/s390/s390-modes.def, config/sh/elf.h,
2637 config/sh/sh-modes.def, config/sh/sh64.h,
2638 config/sparc/ultra1_2.md, config/sparc/ultra3.md,
2639 config/stormy16/stormy16.md, config/v850/v850-protos.h,
2640 config/vax/vax.md: Update copyright.
2642 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
2644 * expr.c (expand_expr_real_1): Remove an obsolete comment.
2646 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
2648 * c-typeck.c (default_function_array_conversion): Always create
2649 &a[0] for array types.
2650 (build_unary_op): Do not fold &a[x] into a + x.
2652 2004-10-17 Jakub Jelinek <jakub@redhat.com>
2654 * pointer-set.c (hash1): Use integer part of 2^64 / phi
2655 instead 2^32 / phi if long is 64-bit.
2657 2004-10-17 Joseph S. Myers <jsm@polyomino.org.uk>
2659 * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
2661 * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
2663 (reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
2664 __ptrextent__, __ptrvalue and __ptrvalue__.
2665 (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
2668 2004-10-16 Dale Johannesen <dalej@apple.com>
2670 * c-common.c (c_common_get_alias_set): Use GGC for type_hash_table.
2672 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
2674 PR tree-optimization/17766
2675 * basic-block.h (enum dom_state): DOM_CONS_OK removed.
2676 (dom_info_available_p): Declare.
2677 * cfghooks.c (split_block, make_forwarder_block): Use
2678 dom_info_available_p.
2679 * dominance.c (compute_dom_fast_query, calculate_dominance_info,
2680 free_dominance_info, verify_dominators): Ditto.
2681 (dom_info_available_p): New function.
2682 * tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
2683 (thread_jumps): Use dom_info_available_p.
2684 * tree-complex.c (expand_complex_div_wide): Ditto.
2685 * tree-mudflap.c (mf_build_check_statement_for): Ditto.
2687 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
2689 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
2690 (find_best_candidate): Take also important candidates into account.
2691 (find_optimal_iv_set): Initialize important_candidates bitmap.
2693 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
2695 PR tree-optimization/17560
2696 * predict.c (tree_estimate_probability): Mark irreducible
2699 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
2701 PR rtl-optimization/17723
2702 * cfgcleanup.c (merge_memattrs): Handle case when
2703 MEM_SIZE == NULL_RTX.
2705 2004-10-15 Andrew Pinski <pinskia@physics.uc.edu>
2707 * toplev.c (dump_file_name): Change type to be const.
2709 2004-10-15 Joseph S. Myers <jsm@polyomino.org.uk>
2711 * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
2712 non_lvalue to stop something being a null pointer constant.
2714 2004-10-15 Aldy Hernandez <aldyh@redhat.com>
2716 * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
2717 available for TARGET_FPRS.
2718 (FUNCTION_VALUE_REGNO_P): Same.
2720 2004-10-15 Geoffrey Keating <geoffk@apple.com>
2722 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
2723 -maltivec in same style as other ISA options.
2725 2004-10-15 Jon Grimm <jgrimm2@us.ibm.com>
2727 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
2730 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
2732 * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
2733 collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
2734 gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
2735 genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
2736 gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
2737 gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
2738 lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
2739 predict.def, predict.h, protoize.c, reload.h, resource.h,
2740 rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
2741 tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
2742 unwind-sjlj.c, value-prof.h: Update copyright.
2744 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
2746 * pointer-set.c, tree-vectorizer.c: Fix comment typos.
2748 2004-10-15 Diego Novillo <dnovillo@redhat.com>
2750 * tree-optimize.c (execute_one_pass): Stop timer right after
2753 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2756 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2759 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
2760 (remove_useless_stmts_1): Fold trees we know how to fold.
2762 2004-10-14 David Edelsohn <edelsohn@gnu.org>
2764 * configure.ac: Add .machine power4 directive when testing for
2766 * configure: Regenerate.
2768 2004-10-14 Geoffrey Keating <geoffk@apple.com>
2770 * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
2772 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2774 * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
2777 2004-10-14 Daniel Jacobowitz <dan@codesourcery.com>
2779 * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
2780 for 'f' if !TARGET_FPRS.
2782 2004-10-14 Richard Henderson <rth@redhat.com>
2785 * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
2787 2004-10-14 Richard Henderson <rth@redhat.com>
2790 * c-decl.c (store_parm_decls_oldstyle): Care for parameter type
2792 * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
2793 instaed of current_function_decl non-null.
2795 2004-10-14 Matt Austern <austern@apple.com>
2797 * pointer-set.c: New file, special-purpose hash table.
2798 * pointer-set.h: New file.
2799 * tree.h (struct pointer_set_t): Declare as opaque type.
2800 (tree_walk): Last argument is pointer_set_t* now.
2801 * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
2803 (walk_tree): Convert from htab_t to pointer_set_t for keeping
2804 track of which nodes have already been visited.
2805 (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
2806 * cgraphunit.c (cgraph_create_edges): Likewise.
2807 (cgraph_characterize_statics_local): Likewise.
2808 * tree-dfa.c (collect_dfa_stats): Likewise.
2809 * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
2811 * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
2812 * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
2813 of walk_subtrees is pointer_set_t* now.
2814 * Makefile.in (OBJS-common): add pointer-set.o
2815 (tree-inline.o): Depends on pointer-set.h
2816 (tree-dfa.o): Likewise
2817 (cgraphunit.o): Likewise
2819 2004-10-14 Geoffrey Keating <geoffk@apple.com>
2821 * config/rs6000/darwin.h (ASM_SPEC): Delete.
2822 (TARGET_ASM_FILE_START): Define.
2823 * config/darwin.h (ASM_SPEC): Define.
2824 * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
2825 -mlong-double-128, it's the default. Update comment about reason
2826 for force_cpusubtype_ALL.
2827 * config/rs6000/darwin-vecsave.asm: Supply .machine.
2828 * config/rs6000/darwin-world.asm: Likewise.
2829 * config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
2830 (symbolic_operand): Delete #if 0ed code.
2832 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2834 * stmt.c (add_case_node): Make sure that we have integer
2835 constant before calling tree_int_cst_compare.
2837 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2841 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
2842 (remove_useless_stmts_1): Fold trees we know how to fold.
2844 2004-10-14 Joseph S. Myers <joseph@codesourcery.com>
2846 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
2847 config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
2850 2004-10-14 Ulrich Weigand <uweigand@de.ibm.com>
2852 * reload.c (find_reloads): When reloading a PLUS with constant
2853 operand, make sure the constant is pushed to the constant pool
2855 * config/s390/s390.c (s390_secondary_input_reload_class): Remove
2856 reload bug workaround.
2857 (s390_expand_plus_operand): Likewise.
2859 2004-10-14 David Edelsohn <edelsohn@gnu.org>
2861 * opts.c (common_handle_option): Do not enable
2862 flag_speculative_prefetching for -fprofile-generate/use.
2864 2004-10-14 Devang Patel <dpatel@apple.com>
2867 * tree-if-conv.c (process_phi_nodes): Process latch block.
2868 (combine_blocks): Process latch block and update loop structure.
2870 2004-10-14 Olga Golovanevsky <olga@il.ibm.com>
2872 * tree-vectorizer.c (vect_generate_tmps_on_preheader):
2873 (vect_update_ivs_after_vectorizer):
2874 (vect_transform_for_unknown_loop_bound):
2875 (tree_duplicate_loop_to_edge):
2876 (allocate_new_names):
2879 (rename_variables_in_bb):
2881 (rename_variables_in_loop):
2883 (update_phis_for_duplicate_loop):
2884 (update_phi_nodes_for_guard):
2885 (make_loop_iterate_ntimes):
2886 (tree_duplicate_loop_to_edge_cfg):
2888 (vect_analyze_loop_with_symbolic_num_of_iters):
2889 (verify_loop_for_duplication):
2890 (vect_gen_niters_for_prolog_loop):
2891 (vect_update_niters_after_peeling):
2892 (vect_update_inits_of_dr):
2893 (vect_update_inits_of_drs):
2894 (vect_build_loop_niters):
2895 (vect_do_peeling_for_alignment): New functions.
2896 (vect_transform_loop): Add unknown and known but indivisible loop
2897 bound support; add peeling for unalignment support.
2898 (vect_analyze_loop_form): Support symbolic number of iterations.
2899 (vect_transform_loop_bound): New input parameter.
2900 (vect_get_loop_niters): Change input parameter type.
2901 (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
2902 (vectorizable_store): Allow unaligned access.
2903 (vectorize_loops): Add rewrite_into_loop_closed_ssa.
2904 (vect_analyze_data_refs_alignment): Allowed one unaligned
2906 * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
2908 (LOOP_VINFO_INT_NITERS): New macro.
2909 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
2910 (do_peeling_for_alignment):
2911 (unaligned_drs): New members of _loop_vec_info.
2912 (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
2914 2004-10-14 Ranjit Mathew <rmathew@hotmail.com>
2916 * tree.h (TREE_STRING_POINTER): Wrap in "const char *".
2917 (struct tree_string): Remove "const" qualifier for "str".
2919 2004-10-14 Ira Rosen <irar@il.ibm.com>
2921 * tree-vectorizer.c (vect_analyze_data_refs): Call
2922 vect_get_base_and_bit_offset to get memory tag for array ref.
2923 (vect_create_addr_base_for_vector_ref): Remove redundant checks.
2925 2004-10-14 Richard Earnshaw <rearnsha@arm.com>
2927 * configure.ac: Use $LN_S for creating symlinks (not $LN).
2928 * configure: Regenerate.
2930 2004-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2932 * doc/install.texi (*-*-solaris2*): Update with info about kernel
2933 patches to solve spurious testsuite failures.
2935 2004-10-14 Dorit Naishlos <dorit@il.bim.com>
2937 * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
2938 Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
2939 (vect_analyze_operations): Make sure the vectorization factor > 1. Add
2940 gcc_assert under ENABLE_CHECKING.
2941 (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
2942 get_vectype_for_scalar_type).
2944 (vect_get_vec_def_for_operand): Remove redundant variables.
2945 (vect_transform_loop): Likewise.
2947 2004-10-14 Richard Sandiford <rsandifo@redhat.com>
2949 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
2950 global for -mcaller-super-interworking.
2951 (CALLER_INTERWORKING_SLOT_SIZE): New macro.
2952 * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
2953 CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
2954 not need a frame pointer.
2955 (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
2956 the soft frame pointer offset.
2957 (thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
2958 * config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
2959 _interwork_{r7,r11}_call_via_rN if some arguments are passed on
2960 the stack. Use frame_pointer_needed to choose between them.
2961 * config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
2962 (interwork_with_frame): New macro.
2963 (interwork): Add _interwork_{r7,r11}_call_via_rN().
2965 2004-10-14 Ben Elliston <bje@au.ibm.com>
2968 * diagnostic.c (trim_filename): Fix logic bug in walking backwards
2969 up the filename looking for a previous directory separator.
2971 2004-10-14 Joseph S. Myers <jsm@polyomino.org.uk>
2973 * c-tree.h (enum c_typespec_kind, struct c_typespec,
2974 parser_xref_tag): New.
2975 (struct c_declspecs): Add tag_defined_p. Adjust definition of
2977 (declspecs_add_type): Adjust prototypes.
2978 * c-parse.in (%union): Add tstype.
2979 (typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
2980 typespec_reserved_attr, typespec_nonreserved_nonattr,
2981 structsp_attr, structsp_nonattr): Change to tstype. Update
2983 * c-decl.c (build_null_declspecs): Initialize tag_defined_p.
2984 (declspecs_add_type): Update to take struct c_typespec argument.
2985 Set tag_defined_p and typedef_p as appropriate.
2986 (xref_tag): Rename to parser_xref_tag and replace by wrapper.
2987 Update to return struct c_typespec.
2988 (shadow_tag_warned): Don't let empty declarations with qualifiers
2989 or storage class specifiers redeclare a tag if a previous
2990 declaration is visible.
2992 2004-10-13 Richard Henderson <rth@redhat.com>
2995 * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
2996 for DECL_INCOMING_RTL.
2998 2004-10-14 Hans-Peter Nilsson <hp@axis.com>
3001 * config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
3002 trunc_int_for_mode for constants used in shortened mode.
3004 2004-10-13 Richard Henderson <rth@redhat.com>
3007 * c-common.c (handle_mode_attribute): Disallow mode changes that
3008 alter the CODE of the top-level type.
3010 * crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit
3011 integer from internal limits macros.
3012 * config/i386/mm3dnow.h (__v2sf): Fix base type.
3014 2004-10-13 Richard Henderson <rth@redhat.com>
3017 * function.c (instantiate_decl): Recurse for CONCAT.
3019 2004-10-13 David Edelsohn <edelsohn@gnu.org>
3021 * config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
3024 (extzvdi_internal1): Add attribute "compare".
3025 (extzvdi_internal2): Same.
3027 2004-10-12 Tom Tromey <tromey@redhat.com>
3029 * doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
3031 2004-10-13 Dale Johannesen <dalej@apple.com>
3033 * doc/extend.texi (Extended Asm): Rewrite asm volatile description.
3035 2004-10-13 Frank Ch. Eigler <fche@redhat.com>
3037 * toplev.c (compile_file): Call mudflap_finish_file from here ...
3038 * c-decl.c (c_write_global_declarations): ... instead of here ...
3039 * cp/decl.c (cp_finish_file): ... and here.
3040 * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
3042 2004-10-13 Andrew Pinski <pinskia@physics.uc.edu>
3044 * tree-ssa-dom.c (record_range): Free the element if we are not
3047 2004-10-13 Tom Tromey <tromey@redhat.com>
3050 * gcc.c (option_map): Added --extdirs and --encoding.
3052 2004-10-13 Eric Botcazou <ebotcazou@libertysurf.fr>
3055 * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
3056 sparc_can_output_mi_thunk.
3057 (sparc_output_mi_thunk): Simplify handling of delta offset. Add
3058 handling of vcall offset.
3059 (sparc_can_output_mi_thunk): New predicate.
3060 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
3061 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
3062 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
3064 * config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
3066 * config/sparc/sparc.md (movdi): Remove redundant test.
3068 2004-10-13 Paolo Bonzini <bonzini@gnu.org>
3070 * tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
3071 TDF_IPA from -fdump-tree-*-all.
3073 2004-10-13 Paul Brook <paul@codesourcery.com>
3075 * config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
3076 * config/arm/arm.c (thumb_find_work_register): Update comments.
3077 (arm_load_pic_register): Add argument for scratch register.
3078 (arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
3079 * config/arm/arm.md (builtin_setjmp_receiver): Ditto.
3081 2004-10-13 Kazu Hirata <kazu@cs.umass.edu>
3083 * tree-data-ref.c: Fix comment typos.
3085 2004-10-13 Jakub Jelinek <jakub@redhat.com>
3086 Zdenek Dvorak <dvorakz@suse.cz>
3088 PR tree-optimization/17724
3089 * tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
3091 2004-10-13 Dorit Naishlos <dorit@il.ibm.com>
3093 * rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
3094 (altivec_builtin_mask_for_store): Likewise.
3095 (altivec_init_builtins): Use lang_hooks.builtin_function to
3096 create the decls for builtin_altivec_mask_for_load/store.
3098 2004-10-13 Nick Clifton <nickc@redhat.com>
3100 * config/c4x/c4x.c: Remove inclusion of loop.h.
3102 2004-10-12 Ben Elliston <bje@au.ibm.com>
3104 * basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
3105 (ei_container): New; renamed.
3106 (ei_start, ei_last): New macros.
3107 (ei_start_1, ei_last_1): Renamed from ei_start.
3108 (ei_last_1, ei_end_p): Use ei_container() where applicable.
3109 (ei_one_before_end_p, ei_next, ei_edge): Likewise.
3110 * gcse.c (remove_reachable_equiv_notes): Use ei_container().
3112 2004-10-11 Sebastian Pop <pop@cri.ensmp.fr>
3114 * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
3115 * cfgloop.c (initialize_loops_parallel_p): New.
3116 (flow_loops_find): Initialize the parallel_p field to true for all
3118 * tree-ssa-loop-niter.c: Include "tree-data-ref.h".
3119 (estimate_numbers_of_iterations_loop): Infers the loop bounds from
3120 the size of the data accessed in the loop.
3121 (struct nb_iter_bound): Moved...
3122 * cfgloop.h (struct nb_iter_bound): ... here.
3123 (estimated_nb_iterations, parallel_p): New fields in struct loop.
3124 (record_estimate): Declare extern here.
3125 * tree-chrec.c: Fix comments.
3126 (nb_vars_in_chrec): New function.
3127 * tree-chrec.h (nb_vars_in_chrec): Declared here.
3128 * tree-data-ref.c: Don't include lambda.h, that is already included
3130 (tree_fold_divides_p): Don't check for integer_onep.
3131 (tree_fold_bezout): Removed.
3132 (gcd): New static duplicated function.
3133 (int_divides_p, dump_subscript): New.
3134 (dump_data_dependence_relation): Use dump_subscript.
3135 (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
3136 estimate_niter_from_size_of_data): New.
3137 (analyze_array_indexes, analyze_array): Call
3138 estimate_niter_from_size_of_data during the detection of array
3139 references. Pass in a pointer to the statement that contains the
3141 (all_chrecs_equal_p): New.
3142 (compute_distance_vector): Renamed compute_subscript_distance.
3143 Deal with multivariate conflict functions.
3144 (initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
3145 DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
3146 (non_affine_dependence_relation): New.
3147 (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
3148 analyze_siv_subscript, analyze_miv_subscript,
3149 analyze_overlapping_iterations, subscript_dependence_tester):
3150 Initialize and return last_conflicts function.
3151 (initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
3152 compute_overlap_steps_for_affine_1_2): New.
3153 (analyze_siv_subscript_affine_cst): Removed.
3154 (analyze_subscript_affine_affine): Disprove dependences based on the
3155 iteration domains. Solve the univariate dependence case as before,
3156 but use lambda_matrix_right_hermite instead of tree_fold_bezout.
3157 Implement the multivariate case of 2 versus 1 variables.
3158 (build_classic_dist_vector, build_classic_dir_vector): Implement some
3160 (find_data_references_in_loop): Compute and initialize
3161 loop->estimated_nb_iterations and loop->parallel_p.
3162 (analyze_all_data_dependences): Modify the debug dump order.
3163 * tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
3164 subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
3165 (SUB_LAST_CONFLICT, subscript->last_conflict,
3166 data_dependence_relation->affine_p, data_dependence_relation->size_vect,
3167 DDR_AFFINE_P, DDR_SIZE_VECT): New.
3168 (find_data_references_in_loop, initialize_data_dependence_relation,
3169 dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
3171 2004-10-12 Kelley Cook <kcook@gcc.gnu.org>
3173 * configure: Regenerate.
3175 2004-10-12 Fariborz Jahanian <fjahanian@apple.com>
3178 * tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
3179 (simplify_rhs_and_lookup_avail_expr): Disallow associativity
3180 and constant folding of floating point MULT_EXPR/PLUS_EXPR
3183 2004-10-12 Ulrich Weigand <uweigand@de.ibm.com>
3185 * config/s390/s390.c (s390_va_start): Use build_va_arg_indirect_ref.
3186 (s390_gimplify_va_arg): Likewise.
3188 2004-10-12 Daniel Jacobowitz <dan@debian.org>
3190 * defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P)
3191 (MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P)
3192 (REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions.
3193 * regclass.c (record_address_regs): Remove ifdef. Use
3194 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
3195 * regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary
3197 (scan_rtx_address, replace_oldest_value_addr): Use
3198 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
3199 * reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove
3200 unnecessary definitions.
3201 (find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P
3202 and MODE_BASE_REG_REG_CLASS.
3203 * config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed.
3204 (MODE_BASE_REG_REG_CLASS): Define.
3205 (REGNO_MODE_OK_FOR_REG_BASE_P): Define.
3206 (REG_MODE_OK_FOR_REG_BASE_P): Define.
3207 * doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS,
3208 REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P.
3210 2004-10-12 Daniel Berlin <dberlin@dberlin.org>
3212 * tree-ssa-alias.c (verify_name_tags): New function.
3213 (verify_flow_sensitive_alias_info): Remove code that used to check name tags.
3214 (verify_alias_info): Call verify_name_tags.
3216 2004-10-12 Kazu Hirata <kazu@cs.umass.edu>
3218 PR rtl-optimization/17931
3219 * config/i386/i386.c (ix86_rtx_costs): Handle COMPARE with
3222 2004-10-12 Richard Earnshaw <rearnsha@arm.com>
3224 * arm.c (arm_print_operand): Use output_operand_lossage where possible
3225 rather than aborting.
3227 2004-10-12 Paul Brook <paul@coudesourcery.com>
3229 * config.gcc: Add armv6{k,z,zk}
3230 * config/arm/arm-cores.def: Add arm1176 and mpcore.
3231 * config/arm/tune.md: Regenerate.
3232 * config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK):
3234 (all_architectures): Add armv6k, armv6z, armv6zk.
3235 * config/arm/lib1funcs.asm: Recognise new arm arcitectures.
3236 * doc/invoke.texi: Document new arch and cpu values.
3238 2004-10-12 Paul Brook <paul@coodesourcery.com>
3240 * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Change meabi=3 to
3243 2004-10-12 Paul Brook <paul@codesourcery.com>
3245 * config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints.
3246 Handle negative constants.
3248 2004-10-12 Joseph S. Myers <jsm@polyomino.org.uk>
3251 * c-typeck.c (convert_arguments): Return error_mark_node if there
3252 are too few arguments.
3253 (build_function_call): Handle error_mark_node return from
3256 2004-10-06 Paolo Bonzini <bonzini@gnu.org>
3258 * configure.ac (symbolic_link): Replace with $LN_S.
3259 (Assembler/Linker): Hard link from gas and binutils trees.
3260 * aclocal.m4 (gcc_AC_PROG_LN_S): Try "cp -p" before cp.
3261 * configure: Regenerate.
3263 2004-10-12 Paul Brook <paul@codesourcery.com>
3265 * configure.ac: Don't look for host assembler when building a canadian
3267 * configure: Regenerate.
3269 2004-10-11 Roger Sayle <roger@eyesopen.com>
3272 * c-opts.c (permit_fortran_options): Delete/obsolete global variable.
3273 (c_common_init_options): Remove #ifdef CL_F77 code. Scan command
3274 line options for "-lang-asm" and if found allow any of the C-family
3276 (c_common_handle_option): Remove last use of permit_fortran_options.
3278 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
3280 * config/s390/s390.c (print_operand): Support 'S' format flag.
3281 * config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag.
3282 ("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise.
3283 ("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise.
3284 ("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise.
3285 ("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise
3286 ("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise.
3287 ("*movstricthi"): Likewise.
3288 ("*load_multiple_di", "*load_multiple_si"): Likewise.
3289 ("*store_multiple_di", "*store_multiple_si"): Likewise.
3290 ("*sethiqisi", "*sethihisi"): Likewise.
3291 ("*sethiqidi_64", "*sethiqidi_31"): Likewise.
3292 ("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise.
3293 ("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise.
3294 ("*xorqi3", "*xc", "*xc_zero"): Likewise.
3295 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise.
3297 ("*tmhi_full"): Fix incorrect op_type attribute.
3299 ("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash.
3300 ("*subdi3_slb_cc", "*subdi3_slb"): Likewise.
3301 ("*addsi3_alc_cc", "*addsi3_alc"): Likewise.
3302 ("*subsi3_slb_cc", "*subsi3_slb"): Likewise.
3304 2004-10-11 Andrew Pinski <pinskia@physics.uc.edu
3307 * function.c (temp_slots_at_level): Fix typo which creates too
3308 many temp stack slots levels.
3310 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
3312 * config/s390/s390.c (s390_trampoline_template): Generate shorter
3314 (s390_trampoline_instantiate): Adapt.
3315 * config/s390/s390.h (TRAMPOLINE_SIZE): Adapt to new code.
3317 2004-10-11 Roger Sayle <roger@eyesopen.com>
3320 * stmt.c (add_case_node): Add additional type argument. Declare
3321 as static to match prototype. Convert the upper and lower bounds
3322 to the specified index type. Optimize away case ranges/values
3323 that are outside the index type's bounds. Truncate case ranges
3324 that span the index type's bounds.
3325 (expand_case): Avoid unnessary computation and memory allocation
3326 when index type is error_mark_node. Pass index_type as required
3327 by change to add_case_node API. No need to convert case range
3328 bounds to index_type, this is now done by add_case_node.
3330 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
3332 * config/s390/s390-protos.h (s390_offset_p): Add prototype.
3333 * config/s390/s390.c (s390_offset_p): New function.
3334 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu",
3335 "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to
3336 transform Q->Q alternatives to *clc pattern.
3338 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
3339 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter
3340 to transform Q->Q alternatives to *mvc pattern.
3341 ("*mvc"): Move. Add peephole to merge adjacent MVCs.
3342 ("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch",
3343 "*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to
3344 transform Q->Q alternatives to *nc pattern.
3345 ("*nc"): New insn. New peephole to merge adjacent NCs.
3346 ("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch",
3347 "*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to
3348 transform Q->Q alternatives to *oc pattern.
3349 ("*oc"): New insn. New peephole to merge adjacent OCs.
3350 ("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to
3351 transform Q->Q alternatives to *xc pattern.
3352 ("*xc"): New insn. New peephole to merge adjacent XCs.
3353 ("*xc_zero"): Move. Add peephole to merge adjacent XCs.
3355 2004-10-11 Andrew Pinski <pinskia@physics.uc.edu>
3357 * gimplify.c (gimple_push_condition): Make sure that we don't
3358 have any saved condition cleanup if we were at the top level.
3360 2004-10-11 Richard Sandiford <rsandifo@redhat.com>
3362 * config/frv/frv.md (*adddi3_internal): Change name to...
3363 (adddi3): ...replacing the exisiting define_expand. Combine
3364 alternatives. Fix the range of the constant constraints ('J' instead
3365 of 'NOP'). Remove bogus operands[2] check. Use simplify_gen_subreg
3366 to extract the lower and upper halves of the DImode operands.
3367 Always use addi3_lower and adddi3_upper, not the subdi3 forms.
3368 (adddi3_lower): Fix the range of the constant constraints and
3369 remove the bogus operands[2] check.
3370 (adddi3_upper): Use gpr_or_int10_operand as the predicate for
3371 operand 2. Use addxi to handle constant operands.
3372 (subdi3_lower, subdi3_upper): Don't handle constant operands.
3374 2004-10-11 Nathan Sidwell <nathan@codesourcery.com>
3376 * gengtype-lex.l: Add commented } & ) characters to unconfuse
3377 editor's paren matching. Allow #define inside a struct.
3379 2004-10-10 Andrew Pinski <pinskia@physics.uc.edu>
3382 part of PR c++/17657
3383 * fold-const.c (fold_build_cleanup_point_expr): New function.
3384 * tree.h (fold_build_cleanup_point_expr): Prototype.
3386 2004-10-10 Eric Christopher <echristo@redhat.com>
3388 * dwarf2out.c: Move attribute to subprogram declaration
3389 instead of subroutine type.
3391 2004-10-10 Kazu Hirata <kazu@cs.umass.edu>
3393 * basic-block.h: Remove the prototypes for can_hoist_insn_p,
3394 hoist_insn_after, and hoist_insn_to_edge.
3395 * rtl.h: Remove the prototypes for reg_referenced_between_p,
3396 no_jumps_between_p, and insn_dependent_p.
3397 * rtlanal.c (no_jumps_between_p, reg_referenced_between_p,
3398 insn_dependent_p, insn_dependent_p_1, hoist_test_store,
3399 can_hoist_insn_p, hoist_update_store, hoist_insn_after,
3400 hoist_insn_to_edge): Remove.
3402 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
3405 * c-decl.c (grokparms): Don't warn for parameters of incomplete
3406 type in declarations that are not definitions except for the case
3407 of parameters of void type.
3409 2004-10-10 Kazu Hirata <kazu@cs.umass.edu>
3411 * tree-cfg.c: Fix comment typos.
3413 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
3416 * builtins.c (expand_builtin_va_start): Check for too few
3417 arguments to va_start.
3419 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
3422 * c-decl.c (grokfield): Make diagnostic for bad cases of unnamed
3423 fields a pedwarn. Pedwarn here for unnamed structs/unions if
3425 * c-parse.in (component_decl): Don't pedwarn here for unnamed
3428 2004-10-09 Zdenek Dvorak <dvorakz@suse.cz>
3430 PR tree-optimization/17906
3431 * tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to
3432 copy non-gimple reg arguments.
3434 2004-10-09 Roger Sayle <roger@eyesopen.com>
3436 PR rtl-optimization/17853
3437 * simplify-rtx.c (simplify_relational_operation): Correct comment.
3438 Reorganize handling of comparison operations with floating point
3439 results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
3440 Likewise, introduce support for comparison operations with vector
3441 result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
3443 * doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
3444 * doc/tm.texi: Likewise.
3446 2004-10-09 Steven Bosscher <stevenb@suse.de>
3448 * regs.h (struct reg_info_def): Remove the last_node_uid and
3449 changes_mode fields.
3450 (REGNO_LAST_NOTE_UID): Don't define.
3451 * regclass.c (reg_scan_mark_refs): Don't set REGNO_LAST_NOTE_UID.
3452 * regmove.c (copy_src_to_dest): Likewise.
3454 2004-10-09 Roger Sayle <roger@eyesopen.com>
3457 * fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the
3458 relational comparison operator op needs to be swapped/reversed when
3459 C1 is negative. i.e. X/-10 < 1 becomes X >= -9, not X < -9.
3461 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
3464 * tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels
3465 instead of bsi_start.
3466 (value_replacement): Likewise.
3467 (abs_replacement): Likewise
3469 2004-10-09 Steven Bosscher <stevenb@suse.de>
3471 * cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
3472 (expand_gimple_cond_expr, expand_gimple_tailcall,
3473 expand_gimple_basic_block): Use it to dump RTL for each stmt.
3474 (tree_expand_cfg): Announce full RTL function dump.
3475 * tree-optimize.c (execute_one_pass): Use normal RTL printing,
3476 not the graph version.
3477 * tree-pretty-print.c (dump_generic_node): Allow empty statements
3478 in the arms of a COND_EXPR for lowered nodes.
3480 2004-10-08 Joseph S. Myers <joseph@codesourcery.com>
3482 * config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
3483 atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
3484 strtoufix16, strtoufix32, strtoufix64): Declare.
3486 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
3488 * c-lex.c (interpret_float): Give a pedwarn rather than a warning
3489 for an out-of-range floating point constant.
3490 * builtins.c (fold_builtin_inf): Give a pedwarn rather than a
3491 warning if the target format does not support infinities.
3493 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
3495 * emit-rtl.c (last_label_num, base_label_num): Remove.
3496 (max_label_num): Always return label_num.
3497 (set_new_last_label_num, restore_emit_status): Remove.
3498 (init_emit): Don't initialize last_label_num.
3499 * function.c (pop_function_context_from): Don't call
3500 restore_emit_status.
3501 * function.h: Remove the prototype for restore_emit_status.
3502 * rtl.h: Remove the prototype for set_new_last_label_num.
3504 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
3506 * stmt.c (expand_decl_init): Remove.
3507 * tree.h: Remove the corresponding prototype.
3509 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
3511 * integrate.c (try_constants, subst_constants, mark_stores):
3513 * integrate.h: Remove the prototype for try_constants.
3515 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
3517 * c-typeck.c (enum impl_conv): Add ic_argpass_nonproto.
3518 (convert_for_assignment): Handle ic_argpass_nonproto. Add
3519 comments about its relevance to errors.
3520 (c_convert_parm_for_inlining): Use ic_argpass_nonproto.
3522 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
3525 * c-ppoutput.c (cb_ident): Don't quote string as it is already
3528 2004-10-08 Diego Novillo <dnovillo@redhat.com>
3530 * tree-ssa-pre.c (init_pre): Use size of ARRAY_REF to allocate
3531 reference_node_pool.
3533 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
3535 * tree-cfg.c: Fix a comment typo.
3537 2004-10-08 Andreas Krebbel <krebbel1@de.ibm.com>
3539 * config/s390/s390.c (s390_register_info): Don't save fprs for
3541 (s390_conditional_register_usage): Make fprs 'fixed' for -msoft-float.
3543 2004-10-08 Ulrich Weigand <uweigand@de.ibm.com>
3545 * config/s390/s390.h (TARGET_DEFAULT_BACKCHAIN): New define.
3546 (TARGET_DEFAULT): Use symbolic values.
3547 * config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Redefine.
3548 (TARGET_DEFAULT): Use symbolic values.
3549 * config/s390/s390.c (s390_backchain_string): Initialize to
3550 TARGET_DEFAULT_BACKCHAIN.
3552 2004-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3554 * builtins.c (expand_builtin_mempcpy): Move tree handling code to
3555 fold_builtin_mempcpy. Accept a type parameter. Delete duplicate
3557 (expand_builtin_strcat): Accept a type parameter.
3558 (fold_builtin_mempcpy): Accept a type and endp parameter.
3560 * builtins.c (expand_builtin_strncpy): Delete duplicate code.
3561 Accept an `exp' instead of an `arglist'.
3563 2004-10-08 Nathan Sidwell <nathan@codesourcery.com>
3565 * tree-tailcall.c (tree_optimize_tail_calls_1): Use fold_convert,
3566 reverting my 2004-09-07 patch to use build_int_cst.
3568 2004-10-08 Eric Botcazou <ebotcazou@libertysurf.fr>
3571 * config/sparc/sparc.c (input_operand): Remove redundant code
3572 for handling LO_SUM.
3573 (legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
3574 <LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
3575 Otherwise only accept it for TFmode if quad move insns are available.
3577 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
3579 * tree-cfg.c (tree_forwarder_block_p): Reorder checks so that
3580 common cases will be caught earlier than others.
3582 2004-10-08 Michael Matz <matz@suse.de>
3584 * loop-doloop.c (doloop_optimize): Extend count.
3586 2004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
3588 * config/sh/sh.md (prefetch_media, prefetch_i4): New insns.
3589 (prefetch): Convert to expander.
3591 2004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
3593 * config/sh/sh.md (tls_global_dynamic): Use MEM pattern for the
3594 first argument of CALL.
3595 (tls_local_dynamic): Likewise.
3597 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
3599 * c-typeck.c (enum impl_conv): New.
3600 (convert_for_assignment): Use it. Take tree for function called
3601 instead of its name. Handle ObjC selectors for diagnostics at
3602 start of function. Select diagnostic text within the function
3603 using full sentences for diagnsotics. Use %qE to name functions
3605 (convert_arguments, build_modify_expr,
3606 c_convert_parm_for_inlining, digest_init, c_finish_return): Update
3607 callers to convert_for_assignment.
3608 (warn_for_assignment): Remove.
3610 2004-10-08 Nick Clifton <nickc@redhat.com>
3612 * config/sh/symbian.c (symbian_possibly_export_base_class):
3613 Replace use of deleted TYPE_USES_VIRTUAL_BASECLASSES macro with
3614 TYPE_CONTAINS_VPTR_P.
3616 2004-10-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
3618 * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude
3619 fixed registers form all_used_regs. Update call_really_used_regs.
3620 (CALL_REALLY_USED_REGISTERS): Define.
3621 * config/m32r/m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs
3622 with call_really_used_regs.
3624 2004-10-08 Alan Modra <amodra@bigpond.net.au>
3626 * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Choose gcrt1.o
3627 for -profile as well as -p and -pg.
3629 2004-10-07 Andrew Pinski <pinskia@physics.uc.edu>
3631 * libgcc2.c (__moddi3): Cast &w to UDWtype*.
3633 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
3635 * tree-cfg.c (tree_block_forwards_to): Remove.
3636 * tree-flow.h: Remove the corresponding prototype.
3638 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
3640 * tree-flow-inline.h (phi_nodes): Remove an unnecessary check
3641 for ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR.
3643 2004-10-07 Geoffrey Keating <geoffk@apple.com>
3646 * config/rs6000/rs6000.c (rs6000_generate_compare): When
3647 flag_trapping_math is in effect, don't generate subtract
3650 2004-10-07 Ulrich Weigand <uweigand@de.ibm.com>
3652 * config/s390/s390-protos.h (s390_narrow_logical_operator): Add.
3653 * config/s390/s390.c (s390_narrow_logical_operator): New function.
3654 (s390_extra_constraint_str): Add 'A' constraints.
3655 (s390_const_ok_for_constraint_p): Add 'Nx' constraints.
3656 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'A' constraint.
3657 (CONSTRAINT_LEN): Likewise.
3658 * config/s390/s390.md ("*anddi3"): Add NI alternative and splitter.
3659 ("*andsi3_zarch", "*andsi3_esa"): Likewise.
3660 ("*andhi3_zarch", "*andhi3_esa"): Likewise.
3661 ("*iordi3"): Add OI alternative and splitter.
3662 ("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
3663 ("*iorhi3_zarch", "*iorhi3_esa"): Likewise.
3664 ("*xordi3"): Add XI alternative and splitter.
3665 ("*xorsi3", "*xorhi3"): Likewise.
3667 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
3669 * config/mips/mips.c (mips_function_rodata_section): New function.
3670 (TARGET_ASM_FUNCTION_RODATA_SECTION): Use it.
3672 2004-10-07 Devang Patel <dpatel@apple.com>
3674 * rs6000/altivec.md (UNSPEC_VCMPBFP, UNSPEC_VCMPEQUB, UNSPEC_VCMPEQUH,
3675 UNSPEC_VCMPEQUW, UNSPEC_VCMPGEFP, UNSPEC_VCMPGTUB, UNSPEC_VCMPGTSB,
3676 UNSPEC_VCMPGTUH, UNSPEC_VCMPGTSH, UNSPEC_VCMPGTUW, UNSPEC_VCMPGTSW,
3677 UNSPEC_VCMPGTFP, UNSPEC_VSEL4SI, UNSPEC_VSEL4SF, UNSPEC_VSEL8HI,
3678 UNSPEC_VSEL16QI, UNSPEC_VCOND_V4SI, UNSPEC_VCOND_V4SF, UNSPEC_VCOND_V8HI,
3679 UNSPEC_VCOND_V16QI, UNSPEC_VCONDU_V4SI, UNSPEC_VCONDU_V8HI,
3680 UNSPEC_VCONDU_V16QI): New constant defines.
3681 (vcondv4si, vcondv4sf, vcondv8hi, vcondv16qi, vconduv4si, vconduv8hi,
3682 vconduv16qi): New patterns.
3683 * rs6000/rs6000-protos.h (rs6000_emit_vector_cond_expr): New function.
3684 * rs6000/rs6000.c (rs6000_emit_vector_cond_expr): New function.
3685 (get_vec_cmp_insn): Same.
3686 (get_vsel_insn): Same.
3687 (rs6000_emit_vector_compare): Same.
3688 (rs6000_emit_vector_select): Same.
3689 (INSN_NOT_AVAILABLE): New.
3691 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
3693 PR tree-optimization/17749
3694 * tree-tailcall.c (find_tail_calls): Check that parameter is
3697 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
3699 * config/ia64/ia64.c: Fix a comment typo.
3701 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
3703 * doc/install.texi (*-*-solaris2*): Fix marker for URL.
3705 2004-10-07 Giovanni Bajo <giovannibajo@gcc.gnu.org>
3708 * tree-inline.c (expand_call_inline): Do not warn for functions
3709 marked with attribute noinline.
3711 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
3714 * config/sparc/sparc.c (sparc_output_mi_thunk): Set
3715 current_function_uses_only_leaf_regs as well as sparc_leaf_function_p.
3717 * config/sparc/sparc.c (sparc_gimplify_va_arg): Pass 'false' instead
3718 of 0 as 4th argument to pass_by_reference.
3719 Call build_va_arg_indirect_ref instead of build_fold_indirect_ref.
3721 2004-10-06 Eric Christopher <echristo@redhat.com>
3723 * config/sh/sh.c (sh_dwarf_calling_convention): Fix renesas dwarf
3726 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
3729 * config/mips/mips.md (mov_<load>l): Remove hazard=none attribute.
3731 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
3733 PR rtl-optimization/17791
3734 * loop-doloop.c (doloop_modify): Take number of iterations as
3736 (doloop_optimize): Extend or shorten the number of iterations
3737 when changing mode of counter register.
3738 * loop-iv.c (lowpart_subreg): Export.
3739 * rtl.h (lowpart_subreg): Declare.
3741 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
3743 PR tree-optimization/17806
3744 * cfghooks.c (split_edge): Update IRREDUCIBLE_LOOP flags.
3745 * cfgloopmanip.c (loop_split_edge_with): Updating of IRREDUCIBLE_LOOP
3746 flags moved to split_edge.
3748 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
3751 * expmed.c (expand_sdiv_pow2): Force a stack adjustment
3752 before tentatively building the conditional move sequence.
3754 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
3757 * function.c (assign_parm_setup_block_p): Tighten BLOCK_REG_PADDING
3759 * config/pa/pa.h (BLOCK_REG_PADDING): Define in terms of
3760 function_arg_padding.
3762 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
3765 * Makefile.in (stmp-fixproto): Pass FIX_HEADER=build/... to fixproto.
3767 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
3769 * hooks.c (hook_int_void_1, hook_void_int): Remove.
3770 * hooks.h: Remove the corresponding prototypes.
3772 2004-10-06 Andrew Pinski <pinskia@physics.uc.edu>
3775 * tree-nested.c (walk_stmt_info): Add changed field.
3776 (convert_nonlocal_reference): Set changed to when we
3777 change a decl to unnested decl.
3778 <case ADDR_EXPR>: Instead of checking if the immediate part
3779 of the ADDR_EXPR changed, check the field changed.
3780 Use recompute_tree_invarant_for_addr_expr instead of unsetting
3782 (convert_local_reference): Set changed to when we
3783 change a decl to unnested decl.
3784 <case ADDR_EXPR>: Instead of checking if the immediate part
3785 of the ADDR_EXPR changed, check the field changed.
3786 Also call recompute_tree_invarant_for_addr_expr on the ADDR_EXPR.
3788 2004-10-06 Kazu Hirata <kazu@cs.umass.edu>
3790 * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
3791 * dwarf2out.c (dwarf2out_init): Remove references to
3792 DWARF2_GENERATE_TEXT_SECTION_LABEL.
3793 * system.h: Poison DWARF2_GENERATE_TEXT_SECTION_LABEL.
3794 * doc/tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
3796 2004-10-06 Joseph S. Myers <jsm@polyomino.org.uk>
3798 * c-typeck.c (convert_arguments): Take expression for called
3799 function rather than its name. Handle ObjC selectors directly
3800 rather than relying on warn_for_assignment to do so. Call warning
3801 directly rather than warn_for_assignment. Use %qE in diagnostics.
3802 Say "argument" rather than "arg" in diagnostics.
3803 (build_function_call): Update call to convert_arguments.
3805 2004-10-06 Andrew Pinski <pinskia@physics.uc.edu>
3808 * dbxout.c (dbxout_symbol): Really handle RECORD, UNION, and
3809 ENUMs specially instead of just saying we do.
3811 2004-10-06 Eric Christopher <echristo@redhat.com>
3813 * dwarf2.h: Sync with include/elf/dwarf2.h
3815 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
3817 * tree-pretty-print.c (dump_generic_node): Fix printing of BINFO
3820 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
3822 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Convert
3823 to use FOR_EACH_SSA_USE_OPERAND iterator, and propagate_value.
3825 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
3827 * lambda-code.c (compute_nest_using_fourier_motzkin): New
3829 (lambda_compute_auxillary_space): Split from here.
3831 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
3833 * tree-ssa-loop-ivopts.c (expr_invariant_in_loop): Make non-static.
3834 * tree-flow.h: Add prototype.
3835 * lambda-code.c (invariant_in_loop_and_outer_loops): Use
3836 expr_invariant_in_loop.
3838 2004-10-06 Kazu Hirata <kazu@cs.umass.edu>
3840 * tree-cfg.c (thread_jumps): Remove a duplicate check for
3843 2004-10-06 Ulrich Weigand <uweigand@de.ibm.com>
3845 * config/s390/s390-protos.h (s_imm_operand): Remove.
3846 (s390_pool_operand): Add prototype.
3847 * config/s390/s390.c (general_s_operand): Remove.
3848 (s_imm_operand): Remove.
3849 (s_operand): Merge contents of general_s_operand.
3850 (s390_pool_operand): New function.
3851 * config/s390/s390.h (PREDICATE_CODES): Remove s_imm_operand.
3852 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct"): New insns.
3853 ("*cmpdi_ccu"): Merge Q->Q alternative.
3854 ("*cmpsi_ccu", "*cmphi_ccu"): Likewise.
3855 ("*cmpqi_ccu"): Merge Q->Q, n->Q, n->S alternatives.
3857 ("*cmpdi_ccu_mem", "*cmpsi_ccu_mem"): Likewise.
3858 ("*cmphi_ccu_mem", "*cmpqi_ccu_mem"): Likewise.
3859 ("*movstricthi"): Use memory_operand instead of s_imm_operand.
3861 2004-10-06 Steve Ellcey <sje@cup.hp.com>
3863 * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Change macro to
3864 call ia64_function_arg_boundary.
3865 * config/ia64/ia64-protos.h (ia64_function_arg_boundary): New.
3866 * config/ia64/ia64.c (ia64_function_arg_boundary): New.
3867 (ia64_function_arg_advance): Do not put 128 bit floats into
3870 2004-10-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3872 * builtins.c (expand_builtin_strcpy): Delete duplicate code.
3873 Accept an expression instead of an arglist.
3874 (expand_builtin_stpcpy): Accept an expression instead of an
3877 2004-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
3880 * doc/install.texi (*-*-solaris2*): Mention potential problem
3881 with Sun assembler + GNU linker and C++ programs.
3882 Document status of binutils 2.15 release.
3884 2004-10-06 Jan Hubicka <jh@suse.cz>
3886 * cse.c (cse_main): Kill push/pop context.
3888 2004-10-05 Zack Weinberg <zack@codesourcery.com>
3890 * pretty-print.c: Include tree.h.
3891 (pp_base_prepare_to_format): New function, logic from
3892 text_specifies_location.
3893 (pp_base_format_text): Use gcc_assert.
3894 * pretty-print.h (pp_prepare_to_format): New macro.
3895 (pp_base_prepare_to_format): Prototype.
3896 * diagnostic.c (text_specifies_location): Delete.
3897 (bug_report_request): Delete.
3898 (diagnostic_set_info): Don't call text_specifies_location.
3899 (diagnostic_action_after_output): Put text from
3900 bug_report_request inline here. Use gcc_unreachable.
3901 (diagnostic_report_current_function): Fix comment.
3902 (diagnostic_report_diagnostic): Clarify logic for error recursion.
3903 Call pp_prepare_to_format before diagnostic_starter.
3904 (trim_filename): Use IS_DIR_SEPARATOR.
3905 (fatal_error, internal_error): Use gcc_unreachable.
3906 (error_recursion): Call diagnostic_action_after_output to
3907 issue the bug_report_request message and exit.
3908 * Makefile.in (diagnostic.o, pretty-print.o): Update dependencies.
3910 * c-parse.in: Add list of diagnostic messages to insulate
3911 translation template from version of yacc/bison used to
3912 compile the grammar.
3914 2004-10-06 Alan Modra <amodra@bigpond.net.au>
3917 * doc/tm.texi (USE_LD_AS_NEEDED, LINK_EH_SPEC): Document.
3919 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
3921 * basic-block.h: Remove the prototype for
3922 flow_preorder_transversal_compute.
3923 * cfganal.c (dfst_node): Remove.
3924 (flow_preorder_transversal_compute): Likewise.
3925 * rtl.h: Remove the prototype for get_jump_table_offset.
3926 * rtlanal.c (get_jump_table_offset): Remove.
3928 2004-10-05 Richard Henderson <rth@redhat.com>
3931 * tree-ssa-operands.c (get_expr_operands): Handle CONST_DECL.
3933 2004-10-05 Kelley Cook <kcook@gcc.gnu.org>
3936 * Makefile.in: Stage the build directory too.
3938 2004-10-05 Aldy Hernandez <aldyh@redhat.com>
3940 * config/frv/frv.h (LEGITIMIZE_ADDRESS): New.
3942 * config/frv/frv-protos.h (frv_legitimize_address): Protoize.
3943 (frv_emit_move): Same.
3945 * config/frv/frv.c (frv_emit_move): New.
3946 (frv_legitimize_address): New.
3948 * config/frv/frv.md ("movsi"): Call frv_emit_move.
3955 2004-10-05 Joseph S. Myers <jsm@polyomino.org.uk>
3957 * c-decl.c (declspecs_add_type): Don't pedwarn for _Complex in
3960 2004-10-05 Joseph S. Myers <jsm@polyomino.org.uk>
3962 * c-decl.c (pushdecl): When an extern declaration at block scope
3963 refers to a visible entity with internal linkage, use the old DECL
3964 rather than the new one.
3966 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
3968 * tree-cfg.c (cleanup_tree_cfg): Remove extra parentheses in
3971 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
3973 * tree-cfg.c (thread_jumps): Remove a duplicate check for
3976 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
3978 * tree-cfg.c (thread_jumps): Iterate with FOR_EACH_BB instead
3979 of FOR_BB_BETWEEN. Remove a useless check for unreachable
3982 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
3984 * tree-cfg.c (cleanup_tree_cfg): Don't call
3985 delete_unreachable_blosk() after thread_jumps().
3986 (thread_jumps): Always remove basic blocks as they become
3989 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
3991 * tree-cfg.c (cleanup_tree_cfg): Remove variable
3992 something_changed. Simplify the while loop.
3994 2004-10-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3996 * builtins.c (expand_builtin_memmove): Delete duplicate code
3997 and accept a tree type for the result.
3998 (expand_builtin_bcopy): Accept a tree type for the result.
3999 (fold_builtin_memmove): Accept an arglist and tree type for
4002 2004-10-05 Ulrich Weigand <uweigand@de.ibm.com>
4004 * config/s390/s390.c (s390_dump_pool): Remove return value.
4005 Use gen_pool_align, gen_pool_section_start/end instead of
4006 gen_pool_start/end_31/64.
4007 * config/s390/s390.md (UNSPECV_POOL_START, UNSPECV_POOL_END): Remove.
4008 (UNSPECV_POOL_SECTION, UNSPECV_POOL_ALIGN): New constants.
4009 ("pool_start_31", "pool_end_31"): Remove.
4010 ("pool_start_64", "pool_end_64"): Likewise.
4011 ("pool_align", "pool_section_start", "pool_section_end": New insns.
4013 * config/s390/s390.c (s390_cannot_copy_insn_p): New function.
4014 (TARGET_CANNOT_COPY_INSN_P): Define.
4015 (s390_cannot_force_const_mem): Handle UNSPEC_INSN.
4016 (struct constant_pool): New member 'execute'.
4017 (s390_add_execute, s390_find_execute): New functions.
4018 (s390_execute_label, s390_execute_target): Likewise.
4019 (s390_dump_pool): Output in-pool execute target templates.
4020 (s390_dump_execute): New function.
4021 (s390_alloc_pool, s390_free_pool): Handle execute templates.
4022 (s390_mainpool_start, s390_mainpool_finish): Likewise.
4023 (s390_chunkify_start, s390_chunkify_finish): Likewise.
4024 * config/s390/s390.md (UNSPEC_INSN, UNSPEC_EXECUTE): New constants.
4025 ("*execute"): New insn pattern.
4026 ("movmem_short", "*movmem_short"): Use splitters to generate
4027 explicit execute pattern, remove embedded execute.
4028 ("clrmem_short", "*clrmem_short"): Likewise.
4029 ("cmpmem_short", "*cmpmem_short"): Likewise.
4031 2004-10-05 Daniel Berlin <dberlin@dberlin.org>
4033 * tree-ssa.c (verify_ssa): Verify phi arguments only
4034 contain renamed names.
4036 2004-10-05 Alan Modra <amodra@bigpond.net.au>
4038 * config/rs6000/linux.h: Formatting, whitespace.
4039 * config/rs6000/linux64.h: Likewise.
4040 * config/rs6000/rs6000-protos.h: Likewise.
4041 * config/rs6000/rs6000.c: Likewise.
4042 (easy_vector_splat_const): Add fall thru comments.
4043 (output_vec_const_move): Likewise.
4045 2004-10-05 Kelley Cook <kcook@gcc.gnu.org>
4047 * Makefile.in: Update -Wno-error exceptions for move to build dir.
4049 2004-10-05 Chao-Ying Fu <fu@mips.com>
4050 Richard Sandiford <rsandifo@redhat.com>
4052 * doc/invoke.texi (-mpaired-single): Link to the new description of the
4053 built-in functions. Document dependencies.
4054 (-mips3d): Add link here too.
4055 * doc/extend.texi (MIPS Paired-Single Support): New section.
4057 2004-10-04 Chao-ying Fu <fu@mips.com>
4059 * config/mips/mips.h (UNITS_PER_SIMD_WORD): Define.
4061 2004-10-04 Diego Novillo <dnovillo@redhat.com>
4063 * tree-ssa-dom.c (tree_ssa_dominator_optimize):
4064 Initialize OPT_STATS to 0.
4066 2004-10-04 Kazu Hirata <kazu@cs.umass.edu>
4068 * tree-data-ref.c: Fix comment typos.
4070 2004-10-04 Sebastian Pop <pop@cri.ensmp.fr>
4072 * tree-data-ref.c (array_base_name_differ_p): Fix comments. When
4073 the predicate cannot be computed, don't initialize the result to
4076 2004-10-01 Eric Christopher <echristo@redhat.com>
4078 * dwarf2.h (dwarf_calling_convention): Add GNU prefix to
4079 locally defined enum.
4080 * dwarf2out.c (add_calling_convention_attribute): Don't
4083 2004-10-03 Andrew Pinski <pinskia@physics.uc.edu>
4085 PR c/17178, PR c/17820
4086 * c-decl.c (pop_scope): Do not warn about unused static
4087 variables as they warned in the middle-end.
4089 2004-10-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4091 * builtins.c (expand_builtin_memcpy): Delete duplicate code
4092 and make the first parameter the expression not the arglist.