1 2004-11-09 Hans-Peter Nilsson <hp@bitrange.com>
3 * gdbinit.in (pbb, pbm): New macros.
5 2004-11-08 Jeff Law <law@redhat.com>
7 * cfg.c (redirect_edge_succ_nodup): Use find_edge rather than
8 implementing it inline.
10 * cfganal.c (find_edge): Search pred->succs or succ->preds,
13 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
15 * passes.c (rest_of_handle_jump): Remove dead code.
17 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
19 * tree-cfg.c (thread_jumps): Speed up by keeping a pointer to
20 the last used element in the worklist.
22 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
24 * tree-inline.c (remap_save_expr): Make it static.
25 * tree-inline.h: Remove the corresponding prototype.
27 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
29 * tree-ssa-loop-niter.c (upper_bound_in_type,
30 lower_bound_in_type): Make them static.
31 * tree.h: Remove the corresponding prototypes.
33 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
35 * tree-ssa-live.c (tpa_init, pop_best_coalesce): Make them
37 * tree-ssa-live.h: Remove the corresponding prototypes.
39 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
41 * tree-if-conv.c (tree_if_conversion): Make it static.
42 * tree-flow.h: Remove the corresponding prototype.
44 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
46 * tree-ssa-operands.c (build_ssa_operands): Make it static.
47 * tree-flow.h: Remove the corresponding prototype.
49 2004-11-08 Andrew Pinski <pinskia@physics.uc.edu>
52 * tree-inline.c (copy_body_r): Change "t = t" to empty
53 statement instead of "t".
55 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
57 * modulo-sched.c (create_partial_schedule,
58 free_partial_schedule, reset_partial_schedule,
59 ps_add_node_check_conflicts, rotate_partial_schedule): Make
62 2004-11-08 Richard Henderson <rth@redhat.com>
64 * expmed.c (extract_force_align_mem_bit_field): Correct handling at
67 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
69 * sched-deps.c (add_insn_mem_dependence): Make it static.
70 * sched-int.h: Remove the corresponding prototypes.
72 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
74 * flow.c (allocate_bb_life_data): Make it static.
75 * basic-block.h: Remove the corresponding prototype.
77 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
79 * calls.c (split_complex_values, split_complex_types): Make
81 * expr.h: Remove the corresponding prototypes.
83 2004-11-08 Richard Earnshaw <rearnsha@arm.com>
85 * arm.c (arm_handle_notshared_attribute): Wrap declaration and use
86 with #if TARGET_DLLIMPORT_DECL_ATTRIBUTES.
88 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
90 * tree-if-conv.c (tree_if_convert_cond_expr): Remove two "if"
91 statements that always trigger.
93 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
95 * tree-cfg.c, tree-if-conv.c, tree-into-ssa.c,
96 tree-scalar-evolution.c, tree-ssa-loop-im.c,
97 tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa.c,
98 tree-vectorizer.c: Replace TREE_CHAIN with PHI_CHAIN where
101 2004-11-08 Ben Elliston <bje@au.ibm.com>
103 * cgraph.h (cgraph_calls_p): Remove.
104 * cgraph.c (cgraph_calls_p): Likewise.
106 * varray.h (varray_copy): Remove.
107 * varray.c (varray_copy): Likewise.
109 2004-11-07 Andrew Pinski <pinskia@physics.uc.edu>
112 * config/darwin.c (machopic_indirect_data_reference):
113 Call gen_macho_high and gen_macho_low instead of
114 checking the mode and calling gen_macho_high_di directly.
115 * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
116 * config/rs6000/rs6000.md: Move most of TARGET_MACHO expand/insns
118 (movdf_low, movsf_low, movsf_low_st, movsi_low, macho_correct_pic,
119 load_macho_picbase, macho_low, macho_high): Removed.
120 (builtin_setjmp_receiver): Call gen_macho_high and
121 gen_macho_low instead of checking the mode and calling
122 gen_macho_high_di directly.
123 * config/rs6000/darwin.md (load_macho_picbase_di): Use the MD constant.
124 (movdf_low_si, movsf_low_si, movsf_low_st_si, movsi_low_st):
125 Moved from rs6000.md.
126 (macho_high): New expander.
127 (macho_high_si): Renamed version of macho_high from rs6000.md.
128 (macho_low): New expander.
129 (macho_low_si): Renamed version of macho_low from rs6000.md.
130 (load_macho_picbase): New expander.
131 (load_macho_picbase_si): Renamed version of load_macho_picbase
133 (macho_correct_pic): New expander.
134 (macho_correct_pic_si): Renamed version of macho_correct_pic
137 2004-11-07 Joseph S. Myers <joseph@codesourcery.com>
139 * c-decl.c (finish_struct): Use complete sentences for diagnostic
140 for structures or unions with no members or named members.
142 2004-11-07 Joseph S. Myers <joseph@codesourcery.com>
144 * c-typeck.c (build_unary_op): Replace unreachable diagnostic for
145 taking address of bit-field by assertion.
147 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
149 * config/s390/s390.md (attribute "op_type"): Default to "NN".
150 (attribute "atype"): Default to "agen".
151 (attribute "length"): Default to 6.
152 (define_asm_attibutes): Remove.
153 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
154 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf",
155 "*clc", "*mvc", "*nc", "*oc", "*xc", "*xc_zero"):
156 Do not set type attribute to "cs" where already default.
157 ("*cmpint_si", "*cmpint_di", "fix_truncdfsi2_ibm", "floatsidf2_ibm",
159 Do not set type attribute to "other" where already default.
160 ("movti", "*movdi_64", "*movdi_31", "*movdf_31",
161 "*strlendi", "*strlensi",
162 "*movmem_long_64", "*movmem_long_31",
163 "*clrmem_long_64", "*clrmem_long_31",
164 "*cmpmem_long_64", "*cmpmem_long_31",
165 "*cmpint_si", "*cmpint_di",
166 "addti3", "*adddi3_31z", "*adddi3_31",
167 "subti3", "*subdi3_31z", "*subdi3_31", "*negdi2_31",
168 "*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg",
169 "fix_truncdfsi2_ibm", "floatsidf2_ibm", "extendsfdf2_ibm",
170 "*pool_entry", "pool_align", "pool_section_start",
171 "pool_section_end", "main_pool", "reload_base_31", "pool"):
172 Do not set op_type attribute to "NN" where already default.
173 ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
174 "*zero_extendqisi2_31", "*zero_extendqihi2_31",
175 "fix_truncdfsi2_ibm", "floatsidf2_ibm"):
176 Do not set atype attribute to "agen" where already default.
177 ("*movmem_short", "*clrmem_short", "*cmpmem_short"): Don't set op_type.
179 2004-11-06 Richard Sandiford <rsandifo@redhat.com>
181 * config/mips/t-iris6 (tp-bit.c): Fix target filename.
183 2004-11-06 Richard Sandiford <rsandifo@redhat.com>
186 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define the
187 R3000 and R4000 macros on IRIX.
189 2004-11-06 Andreas Schwab <schwab@suse.de>
192 * config/rs6000/altivec.h: Replace bool by __bool and pixel by
195 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
197 * tree-ssa-copyrename.c (rename_ssa_copies): Make it static.
199 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
201 * config/s390/2064.md ("z_int", "z_agen"): Ensure the condition
202 matches no insns already matched by other reservations.
203 * config/s390/2084.md ("x_int", "x_agen"): Ensure the condition
204 matches no insns already matched by other reservations.
205 ("x_ss"): Remove, replace by ...
206 ("x_cs"): ... this new reservation. Check type instead of op_type.
207 Update bypasses to use x_cs instead of x_ss.
208 ("x_nn"): Remove, replace by ...
209 ("x_other"): ... this new reservation. Check type instead of op_type.
210 Add x_other and x_branch to bypasses.
211 ("x_vs"): New reservation.
212 * config/s390/s390.md (attribute "type"): Default according to op_type.
213 ("*execute"): Set type to "cs".
215 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
217 * fold-const.c (non_lvalue): Don't construct NON_LVALUE_EXPR
220 2004-11-06 Hans-Peter Nilsson <hp@bitrange.com>
222 PR rtl-optimization/17933
223 * rtlanal.c (dead_or_set_regno_p): Break out common code to...
224 (covers_regno_p): New function. Handle SETs of PARALLEL,
225 and defer the rest to...
226 (covers_regno_no_parallel_p): New function.
228 2004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr>
230 * config/sparc/sparc.c (function_arg_record_value_1): Skip
231 fields with zero length.
232 (function_arg_record_value_2): Likewise.
233 (function_arg_record_value_3): Use smallest_mode_for_size
234 instead of mode_for_size.
235 (function_arg_union_value): Return naked register for unions
238 2004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr>
240 * config/sparc/sparc.c (scan_record_type): Handle vector types.
241 (function_arg_slotno): Handle vector types specially.
242 (function_arg_record_value_1): Split fields with vector type and
243 BLKmode into their subparts.
244 (function_arg_record_value_2): Likewise. Be prepared to handle
245 more than 2 registers per field.
246 (function_arg_union_value): Increment regno inside the loop.
247 (function_arg_vector_value): New function.
248 (function_arg): Use it to split fields with vector type and
249 BLKmode into their subparts and build a PARALLEL. Treat
250 other vector types like floats.
251 (function_value): Likewise.
252 (sparc_pass_by_reference): Handle vector types.
253 (sparc_return_in_memory): Likewise.
255 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
257 * tree-cfg.c (find_taken_edge_cond_expr): Remove an "if"
258 statement that never triggers.
260 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
262 * config/s390/2064.md ("z_o2", "z_o3"): Remove.
263 * config/s390/2084.md ("x_o2", "x_o3"): Remove.
264 ("x_fdivd"): Use also for fsqrtd type.
265 ("x_fdivs"): Use also for fsqrts type.
266 * config/s390/s390.md (attribute "type"): Remove "o2" and "o3" types.
267 ("fix_truncdfsi2_ieee"): Set type to "ftoi".
268 ("fix_truncdfsi2_ibm"): Set type to "other".
269 ("floatdidf2", "floatdisf2"): Do not clobber CC.
270 ("floatsidf2", "floatsidf2_ieee"): Likewise.
271 ("floatsisf2", "floatsisf2_ieee"): Likewise.
272 ("truncdfsf2", "truncdfsf2_ieee"): Only allow "register_operand".
273 ("truncdfsf2_ibm"): Only allow "nonimmediate_operand". Use LER
275 ("extendsfdf2_ibm"): Do not set atype. Set type to "floads".
276 ("sqrtdf2"): Set type to "fsqrtd".
277 ("sqrtsf2"): Set type to "fsqrts".
279 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
281 * tree-phinodes.c (remove_all_phi_nodes_for): Speed up using a
282 pointer to the last PHI node in the new PHI chain.
284 2004-11-06 Kaz Kojima <kkojima@gcc.gnu.org>
286 * config/sh/sh.c (prepare_move_operands): Emit a use of r12
287 for non-PIC TLS_MODEL_INITIAL_EXEC case.
289 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
291 * expmed.c: Fix a comment typo.
293 2004-11-06 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
296 * config/i386/cygming.h
297 [HAVE_GAS_WEAK] (ASM_WEAKEN_LABEL): Macro defined.
299 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
301 * config/sh/sh4a.md: Fix copyright.
303 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
305 * config/rs6000/darwin.md, config/sh/sh4a.md: Replace GNU CC
308 2004-11-05 David Edelsohn <edelsohn@gnu.org>
310 * config/rs6000/rs6000.md (scc patterns): Replace subfc with subf
311 when carry not used. Suggested by Torbjorn Granlund.
313 * config/rs6000/rs6000.c (rs6000_emit_move): Don't force_reg
314 operand[1] unnecessarily. Suggested by Eric Christopher.
315 (rs6000_adjust_cost): Increase latency of store to wider load.
316 (rs6000_rtx_costs): mulli only allows 16-bit constants.
318 2004-11-05 Stan Shebs <shebs@apple.com>
320 * config/rs6000/rs6000.c (machopic_output_stub): Output
321 ldu instead of lwzu for 64-bit stubs.
323 2004-11-05 Richard Henderson <rth@redhat.com>
325 * config/alpha/alpha.c (alpha_expand_unaligned_load): Special case
327 (alpha_expand_unaligned_store): Likewise.
329 2004-11-05 Richard Henderson <rth@redhat.com>
331 * expmed.c (extract_force_align_mem_bit_field): New.
332 (extract_split_bit_field): Call it.
334 2004-11-05 Richard Henderson <rth@redhat.com>
336 * ia64.md (UNSPEC_SHRP): New.
337 (dshift_count_operand): New.
338 (ashrti3, ashrti3_internal, lshrti3, lshrti3_internal, shrp): New.
339 * ia64.c (rtx_needs_barrier): Handle UNSPEC_SHRP.
341 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
343 * c-typeck.c (output_init_element): Return early if value is
346 2004-11-05 James E Wilson <wilson@specifixinc.com>
348 * invoke.texi (-fno-guess-branch-probability): Rewrite.
350 * config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC_GR_SPILL): Change
351 1 to UNSPEC_GR_SPILL.
353 2004-11-05 Andreas Krebbel <krebbel1@de.ibm.com>
355 * config/s390/s390.c (s390_fixed_condition_code_regs): New function.
356 (TARGET_FIXED_CONDITION_CODE_REGS): Macro defined.
358 2004-11-05 Nathan Sidwell <nathan@codesourcery.com>
360 * bitmap.h (enum bitmap_bits): Remove.
361 (bitmap_operation): Remove.
362 (bitmap_and, bitmap_and_into, bitmap_and_compl,
363 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
364 bitmap_xor_into): Prototype.
365 * bitmap.c (bitmap_elt_insert_after, bitmap_elt_clear_from): New.
366 (bitmap_operation): Remove.
367 (bitmap_and, bitmap_and_into, bitmap_and_compl,
368 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
369 bitmap_xor_into): New.
370 (bitmap_ior_and_compl, bitmap_ior_and_compl_into): Adjust.
372 PR tree-optimization/18307
373 * tree-ssa-alias.c (merge_pointed_to_info): Protected against DEST
374 and ORIG being the same node.
376 2004-11-04 Geoffrey Keating <geoffk@apple.com>
378 * Makefile.in (distclean): Don't delete nonexistent fixinc/ directory.
379 (install-mkheaders): Install the version built for the
380 host, not for the build machine.
381 * configure.ac: Always run fixincludes.
382 (all_outputs): Remove mkheaders.
383 * configure: Regenerate.
384 * fixinc.in: Move to fixincludes/.
385 * mkfixinc.sh: Likewise.
386 * mkheaders.in: Likewise.
387 * README-fixinc: Likewise.
389 2004-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
392 * config/arc/lib1funcs.asm (___umulsidi3): Change use of cmp to the
393 equivalent on the A4.
395 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
397 * doc/c-tree.texi, doc/cfg.texi, doc/contrib.texi, doc/cpp.texi,
398 doc/cppopts.texi, doc/extend.texi, doc/fragments.texi,
399 doc/frontends.texi, doc/gcov.texi, doc/hostconfig.texi,
400 doc/implement-c.texi, doc/install.texi, doc/invoke.texi,
401 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
402 doc/portability.texi, doc/rtl.texi, doc/sourcebuild.texi,
403 doc/standards.texi, doc/tm.texi, doc/tree-ssa.texi,
404 doc/trouble.texi: Correct end-of-sentence markup and markup of
405 "etc.", "e.g." and "i.e.". Use @code in various places where
408 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
410 * doc/c-tree.texi, doc/cfg.texi, doc/extend.texi, doc/gty.texi,
411 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/passes.texi,
412 doc/rtl.texi, doc/tm.texi, doc/tree-ssa.texi: Remove trailing
415 2004-11-04 Mark Mitchell <mark@codesourcery.com>
417 * config/arm/arm.c (arm_handle_notshared_attribute): New function.
418 * doc/extend.texi: Document "notshared" attribute.
420 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
422 * tree-phinodes.c (make_phi_node): Make it static.
423 * tree.h: Remove the prototypes for make_phi_node.
425 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
427 * stmt.c (expand_asm, expand_asm_operands): Make them static.
428 * tree.h: Remove the prototypes for expand_asm and
431 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
433 * passes.c (rest_of_compilation): Make it static.
434 * toplev.h: Remove the prototype for rest_of_compilation.
436 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
438 * jump.c (cleanup_barriers): Use delete_insn instead of
440 (delete_barrier): Remove.
441 * rtl.h: Remove the corresponding prototype.
443 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
445 * expr.c (mostly_zero_p): Make it static.
446 * tree.h: Remove the prototype for mostly_zeros_p.
448 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
450 * cfgrtl.c (force_nonfallthru_and_redirect): Make it static.
452 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
454 * builtins.c (expand_builtin_return_addr,
455 expand_builtin_longjmp, expand_builtin_trap): Make them static.
456 * expr.h: Remove the prototypes for expand_builtin_longjmp and
458 * tree.h: Remove the prototype for expand_builtin_return_addr.
460 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
462 * tree-cfg.c (find_taken_edge): Reject VAL begin NULL.
463 * tree-ssa-ccp.c (visit_cond_stmt): Don't call find_taken_edge
466 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
468 * cfghooks.c (delete_basic_block): Remove code to truncate
471 2004-11-04 Andrew Pinski <pinskia@physics.uc.edu>
473 * flow.c (init_propagate_block_info): Change the type of i to
476 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
478 PR tree-optimization/18184
479 * c-typeck.c (comptypes): Do not treat pointers of different
480 modes or alias-all flags as equivalent.
481 * tree-ssa.c (tree_ssa_useless_type_conversion_1): Likewise.
483 2004-11-04 Joseph S. Myers <joseph@codesourcery.com>
485 * doc/gty.texi, doc/makefile.texi, doc/sourcebuild.texi: Don't
486 reference specific C parser files in examples.
488 2004-11-04 Richard Sandiford <rsandifo@redhat.com>
491 * regrename.c (scan_rtx): Treat the destinations of SETs and CLOBBERs
492 as OP_INOUT if the instruction is predicated.
494 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
496 * bitmap.h: Fix a comment typo. Follow spelling conventions.
497 * tree-vectorizer.c: Fix a comment typo.
499 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
501 * sdbout.c (SDB_GENERATE_FAKE): Remove.
502 (gen_fake_label): Don't use SDB_GENERATE_FAKE.
503 * system.h: Poison SDB_GENERATE_FAKE.
504 * doc/tm.texi (SDB_GENERATE_FAKE): Remove.
506 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
508 * config/s390/s390.md ("*addsi3_sign"): Use canonical RTL.
510 2004-11-04 Eric Botcazou <ebotcazou@libertysurf.fr>
513 * gthr-posix.h (__gthread_recursive_mutex_init_function): Revert
516 2004-11-04 Nathan Sidwell <nathan@codesourcery.com>
518 * predict.c (propagate_freq): Make bitno unsigned. Move
519 npredecessors update out of loop.
521 * bitmap.h (bitmap_iterator): Remove word_bit and bit
522 fields. Rename others.
523 (bmp_iter_common_next_1, bmp_iter_single_next_1,
524 bmp_iter_single_init, bmp_iter_end_p, bmp_iter_single_next,
525 bmp_iter_and_not_next_1, bmp_iter_and_not_init,
526 bmp_iter_and_not_next, bmp_iter_and_next_1, bmp_iter_and_init,
527 bmp_iter_and_next): Remove.
528 (bmp_iter_set_init, bmp_iter_and_init, bmp_iter_and_compl_init,
529 bmp_iter_next, bmp_iter_set, bmp_iter_and, bmp_iter_and_compl):
531 (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_IN_BITMAP,
532 EXECUTE_IF_AND_COMPL_IN_BITMAP): Adjust.
534 * bitmap.h (bitmap_a_or_b, bitmap_a_and_b): Remove.
535 * df.c (dataflow_set_a_op_b): Use bitmap_and, bitmap_ior,
536 bitmap_and_into, bitmap_ior_into as appropriate.
537 * except.c (remove_eh_handler): Likewise.
538 * global.c (modify_bb_reg_pav, make_accurate_live_analysis): Likewise.
539 * tree-dfa.c (mark_new_vars_to_rename): Likewise.
540 * tree-ssa-alias.c (merge_pointed_to_info): Likewise.
541 * tree-ssa-live.h (live_merge_and_clear): Likewise.
542 * tree-ssa-loop-ivopts.c (find_best_candidate, try_add_cand_for):
545 * bitmap.c (bitmap_print): Make bitno unsigned.
546 * bt-load.c (clear_btr_from_live_range,
547 btr_def_live_range): Likewise.
548 * caller-save.c (save_call_clobbered_regs): Likewise.
549 * cfganal.c (compute_dominance_frontiers_1): Likewise.
550 * cfgcleanup.c (thread_jump): Likewise.
551 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
552 * conflict.c (conflict_graph_compute): Likewise.
553 * ddg.c (add_deps_for_use): Likewise.
554 * df.c (df_refs_update): Likewise.
555 * except.c (remove_eh_handler): Likewise.
556 * flow.c (verify_local_live_at_start, update_life_info,
557 initialize_uninitialized_subregs, propagate_one_insn,
558 free_propagate_block_info, propagate_block, find_use_as_address,
559 reg_set_to_hard_reg_set): Likewise.
560 * gcse.c (clear_modify_mem_tables): Likewise.
561 * global.c (global_conflicts, build_insn_chain): Likewise.
562 * ifcvt.c (dead_or_predicable): Likewise.
563 * local-alloc.c (update_equiv_regs): Likewise.
564 * loop.c (load_mems): Likewise.
565 * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs):
567 * ra-rewrite.c (reloads_to_loads, rewrite_program2, actual_spill):
569 * reload1.c (order_regs_for_reload, finish_spills): Likewise.
570 * sched-deps.c (sched_analyze_insn, free_deps): Likewise.
571 * sched-rgn.c (propagate_deps
572 * tree-cfg.c (tree_purge_all_dead_eh_edges): Likewise.
573 * tree-dfa.c (dump_dfa_stats
574 tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
575 insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags):
577 * tree-outof-ssa.c (coalesce_ssa_name, coalesce_vars,
578 free_temp_expr_table, find_replaceable_exprs): Likewise.
579 * tree-sra.c (scan_function, scalarize_parms): Likewise.
580 * tree-ssa-alias.c (init_alias_info,
581 compute_points_to_and_addr_escape,
582 compute_flow_sensitive_aliasing, maybe_create_global_var): Likewise.
583 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Likewise.
584 * tree-ssa-live.c (new_tree_live_info, live_worklist,
585 calculate_live_on_entry, calculate_live_on_exit, compare_pairs,
586 sort_coalesce_list, build_tree_conflict_graph, dump_live_info
587 tree-ssa-loop-manip.c (add_exit_phis_var): Likewise.
588 tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
589 add_call_read_ops): Likewise.
590 * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Likewise.
591 * tree-ssa-live.h (num_var_partitions): Return unsigned.
593 2004-11-03 Dorit Naishlos <dorit@il.ibm.com>
595 PR tree-optimization/18009
596 * tree-vectorizer.h (enum dr_alignment_support): New type.
597 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): Removed.
598 (LOOP_UNALIGNED_DR): replaced with LOOP_VINFO_UNALIGNED_DR and holds a
599 single data_reference (instead of a varray of references).
600 * tree-vectorizer.c (new_loop_vec_info): Likewise.
601 (vect_gen_niters_for_prolog_loop): Likewise.
602 (vect_update_inits_of_drs): Likewise.
604 (vect_update_inits_of_drs): Setting of DR_MISALIGNMENT moved to
605 vect_enhance_data_refs_alignment.
606 (vect_do_peeling_for_alignment): Likewise.
607 (vect_enhance_data_refs_alignment): Decide if and by how much to peel;
608 this functionality used to be in vect_analyze_data_refs_alignment.
609 Also update DR_MISALIGNMENT due to peeling; this functionality used to
610 be in vect_update_inits_of_drs and vect_do_peeling_for_alignment).
611 (vect_analyze_data_refs_alignment): Decision on whether and by how much
612 to peel moved to vect_enhance_data_refs_alignment. Call
613 vect_supportable_dr_alignment.
615 (vect_compute_data_ref_alignment): Set STMT_VINFO_VECTYPE.
616 (vect_compute_data_refs_alignment): Return bool. Consider return value
617 of vect_compute_data_ref_alignment and return true/false accordingly.
618 (vect_enhance_data_refs_alignment): Consider return value of
619 vect_compute_data_refs_alignment and return true/false accordingly.
621 (vect_supportable_dr_alignment): New function.
622 (vectorizable_store): Call vect_supportable_dr_alignment.
623 (vectorizable_load): Call vect_supportable_dr_alignment. Alignment
624 support checks moved from here to vect_supportable_dr_alignment.
626 (vect_transform_loop): Avoid 80 columns overflow.
628 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
630 * timevar.c (timevar_enable): Change from
632 (timevar_push): Rename to ...
633 (timevar_push_1): this and remove the
635 (timevar_pop): Rename to ...
636 (timevar_pop_1): this and remove the
638 * timevar.h (POP_TIMEVAR_AND_RETURN): Use do/while loops.
639 (timevar_pop): New macro.
640 (timevar_push): New macro.
641 (timevar_enable): Declare.
643 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
645 * config/darwin.h (REAL_LIBGCC_SPEC): Define to use shared
646 libgcc for shared libraries.
648 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
650 * config/s390/s390-protos.h (s390_split_access_reg): Add prototype.
651 * config/s390/s390.c (s390_split_access_reg): New function.
652 (regclass_map): Add access registers.
653 (get_thread_pointer): Use access register instead of UNSPEC_TP.
654 * config/s390/s390.h (FIRST_PSEUDO_REGISTER): Set to 38.
655 (ACCESS_REGNO_P, ACCESS_REG_P): New macros.
656 (TP_REGNUM): New define.
657 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
658 REG_ALLOC_ORDER): Add access registers.
659 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
660 CANNOT_CHANGE_MODE_CLASS): Support access registers.
661 (enum reg_class): Add ACCESS_REGS.
662 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
663 (REG_CLASS_FROM_LETTER): Add 't' constraint.
664 (REGISTER_NAMES): Add access registers.
665 * config/s390/s390.md (UNSPEC_TP): Remove.
666 ("*movdi_64"): Add access register alternatives. Provide splitters
667 to split DImode access register <-> GPR moves into SImode moves.
668 ("*movsi_zarch", "*movsi_esa"): Add access register alternatives.
669 ("movstrictsi"): Likewise.
670 ("get_tp_64", "get_tp_31"): Reimplement using access registers.
671 ("set_tp_64", "set_tp_31"): Likewise.
672 ("*set_tp"): New insn.
674 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
676 * tree-phinodes.c (resize_phi_node): Copy only a portion of
677 the PHI node currently in use.
679 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
682 * tree.c (staticp) <case FUNCTION_DECL>: Nested functions are static
685 2004-11-03 Andrew MacLeod <amacleod@redhat.com>
687 PR tree-optimization/18270
688 * tree-outof-ssa.c (analyze_edges_for_bb): If a block has incoming
689 abnormal edges, commit all pending stmts on incoming edges.
691 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
693 * tree-ssa-loop-ivopts.c (get_address_cost): Offset zero does not
694 cause extra costs. Generate canonical RTL.
696 2004-11-02 Daniel Berlin <dberlin@dberlin.org>
698 * lambda-code.c (lambda_compute_auxillary_space): Update comments.
699 (lambda_compute_target_space). Ditto.
700 * lambda.h (lambda_trans_matrix): Ditto.
701 (lambda_linear_expression): Ditto.
702 (lambda_body_vector): Ditto.
703 (lambda_loopnest): Ditto.
704 * tree-loop-linear.c (gather_interchange_stats): Combine tests,
705 update comments, and remove pointless addition of 0.
706 (linear_transform_loops): Update comments.
708 2004-11-03 Sebastian Pop <pop@cri.ensmp.fr>
710 * tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of
713 2004-11-03 Jeff Law <law@redhat.com>
715 * predict.c (struct block_info_def): Kill "tovisit" field.
716 (propagate_freq): Accept new "tovisit" parameter. Change
717 read/write access methods for "tovisit" to check the "tovisit"
718 bitmap instead of a bit in block_info_def.
719 (estimate_loops_at_level): Allocate "tovisit" bitmap. Pass
720 it to propagate_freq.
722 * stmt.c (expand_case): Speed up code to detect duplicate case
723 label targets and count unique case label targets.
725 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
727 * cppdefault.c, cppdefault.h, timevar.h: Update copyright.
729 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
731 * bitmap.h, dbxout.c, tree-mudflap.c: Fix comment formatting.
733 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
735 * tree-cfg.c (find_taken_edge): Abort if we are given a
736 statement that is neither COND_EXPR nor SWITCH_EXPR.
738 2004-11-02 Zdenek Dvorak <dvorakz@suse.cz>
740 * fold-const.c (fold): Reassociate also (x - mult) + mult and
741 (mult - x) + mult. Cast operands of expression after applying
742 distributive law to the correct types. Apply distributive law
743 to a * c - b * c for all non-float types.
745 2004-11-02 Geoffrey Keating <geoffk@apple.com>
747 * configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just
748 because we don't want to run them now; instead, set them to
749 stmp-install-fixproto or stmp-install-fixinc.
750 * Makefile.in (stmp-install-fixproto): New.
751 (stmp-install-fixinc): New.
752 * configure: Regenerate.
754 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
756 * flow.c (init_propagate_block_info): Use bitmap_empty_p on result
759 2004-11-02 Ziemowit Laski <zlaski@apple.com>
761 * c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
762 (c_types_compatible_p): Move function definition...
763 * c-objc-common.c (c_types_compatible_p): ...here.
764 * c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
767 2004-11-02 Steven Bosscher <stevenb@suse.de>
769 * cfgloop.h (struct loop): Update comment.
770 * cse.c (cse_main): Remove obsolete comment.
772 * expr.h (gen_cond_trap): Move prototype under functions provided
774 (canonicalize_condition, get_condition): Move to...
775 * rtl.h (canonicalize_condition, get_condition): ...here.
776 (branch_target_load_optimize): Add comment that this function is
778 * loop.c (canonicalize_condition, get_condition): Move to...
779 * rtlanal.c (canonicalize_condition, get_condition): ...here.
780 * sched-deps.c (get_condition): Rename to sched_get_condition.
781 (add_dependence): Update this caller.
783 2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
786 * tree-ssa.c (replace_immediate_uses): If we call fold_stmt, make sure
787 that the vops get marked for renaming.
789 2004-11-02 Andreas Krebbel <krebbel1@de.ibm.com>
791 * config/s390/s390.md ("movcc"): Set type attribute.
793 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
795 * tree-phinodes.c (add_phi_arg): Add an assertion that the
798 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
800 * tree-phinodes.c (remove_phi_arg_num): Do not zero the
801 element that's being removed.
803 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
805 * tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI
806 arguments using PENDING_STMT.
807 (thread_block): Call copy_phis_to_block after redirecting an
810 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
812 * bitmap.h (bitmap_and, bitmap_and_into, bitmap_and_compl,
813 bitmap_and_compl_into, bitmap_ior, bitmap_iot_into,
814 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): Produce void.
815 (bitmap_ior_and_compl_into): Produce bool.
816 (bitmap_union_of_diff): Rename to ...
817 (bitmap_ior_and_compl): ... here. Produce bool.
818 * bitmap.c (bitmap_ior_and_compl_into): Return bool. Use
819 bitmap_operation directly.
820 (bitmap_union_of_diff): Rename to ...
821 (bitmap_ior_and_compl): ... here. Return bool, use
822 bitmap_operation directly.
823 * df.c (df_rd_transfer_function): Use bitmap_ior_and_compl.
824 (df_ru_transfer_function, df_lr_transfer_function): Likewise.
825 * global.c (modify_bb_reg_pav): Likewise.
827 * bitmap.h (bitmap_equal_p): Return bool.
828 (bitmap_intersect_p, bitmap_intersect_compl_p): Declare.
829 * bitmap.c (bitmap_equal_p): Return bool. Compare directly.
830 (bitmap_intersect_p, bitmap_intersect_compl_p): New.
831 * flow.c (calculate_global_regs_live): Use bitmap_intersect_p and
832 bitmap_intersect_compl_p.
833 * ifcvt (dead_or_predicable): Likewise.
835 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
837 PR rtl-optimization/17104
838 * config/rs6000/rs6000.c (rs6000_emit_move): Don't wrap small
839 loads in zero_extend.
841 2004-11-02 Danny Smith <dannysmith@users.sourceforge.net>
844 * toplev.c (debug_type_names): Remove "dwarf-1".
846 2004-11-02 Ben Elliston <bje@au.ibm.com>
848 * timevar.h (timevar_get): Remove.
849 * timevar.c (timevar_get): Remove unused function.
851 2004-11-02 Joseph S. Myers <joseph@codesourcery.com>
853 * doc/include/texinfo.tex: Update from Texinfo CVS.
855 2004-11-02 Ben Elliston <bje@au.ibm.com>
857 * cppdefault.h (cpp_SYSROOT): Remove.
858 * cppdefault.c (cpp_SYSROOT): Likewise.
860 2004-11-01 Andrew MacLeod <amacleod@redhat.com>
862 PR tree-optimization/16447
863 * tree-cfg.c (bsi_commit_one_edge_insert): Rename from
864 bsi_commit_edge_inserts_1, and make funtion external. Return new block.
865 (bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
866 * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
867 * tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
868 * tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
869 (same_stmt_list_p): New. Return TRUE if edge is to be forwarded.
870 (identical_copies_p): New. Return true is two copies are the same.
871 (identical_stmt_lists_p): New. Return true if stmt lists are the same.
872 (analyze_edges_for_bb): New. Determine how best to insert edge stmts
874 (perform_edge_inserts): New. Determine what to do with all stmts that
875 have been inserted on edges.
876 (remove_ssa_form): Analyze and commit edges from here.
878 2004-11-01 Andrew Pinski <pinskia@physics.uc.edu>
881 * bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct.
882 (EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p.
883 (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
884 (EXECUTE_IF_AND_IN_BITMAP): Likewise.
886 2004-11-01 Joseph S. Myers <joseph@codesourcery.com>
889 * c-decl.c (get_parm_info): Allow FUNCTION_DECLs to appear amongst
890 parameter declarations.
892 2004-11-01 Andreas Krebbel <krebbel1@de.ibm.com>
894 * config/s390/s390.c (regclass_map): Put reg 33 (cc) to CC_REGS group.
895 (s390_secondary_input_reload_class)
896 (s390_secondary_output_reload_class): Use GENERAL_REGS to reload a cc
898 (s390_expand_cmpmem): Enable cmpmem implementation.
899 * config/s390/s390.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
900 Added three new classes: CC_REGS, ADDR_CC_REGS, GENERAL_CC_REGS.
901 (REG_CLASS_FROM_LETTER): New constraint 'c' added.
902 * config/s390/s390.md ("movcc"): New insn pattern.
903 * doc/md.texi: Document 'c' constraint for s390.
905 2004-11-01 Nathan Sidwell <nathan@codesourcery.com>
908 * doc/extend.texi (Deprecated Features): Deprecate G++ covariant
911 2004-10-16 Daniel Berlin <dberlin@dberlin.org>
913 Fix PR tree-optimization/17672
914 Fix PR tree-optimization/18168
916 * lambda-code.c (lambda_lattice_compute_base): Fix reversed
918 (gcc_tree_to_linear_expression): Add extra to existing constant.
919 (depth_of_nest): Factor out function used in various places.
920 (gcc_loop_to_lambda_loop): Clean up code a little bit. No
922 (find_induction_var_from_exit_cond): Stop guessing, and just
923 get the right answer :).
924 (gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation.
925 Print out message about result of attempt to create perfect nest.
926 (lbv_to_gcc_expression): Add type argument, use it to do math
927 and induction variable creation.
928 (lle_to_gcc_expression): Ditto.
929 (lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
930 oldiv. Pass type argument to lle_to_gcc_expression and
931 lbv_to_gcc_expression.
932 Reset number of iterations after transformation.
933 (perfect_nestify): Remove useless pre-allocation, and cleanup
936 * tree-data-ref.c (build_classic_dist_vector): Return false for
937 dependences completely outside of the loop nest we asked about.
938 (build_classic_dir_vector): Ditto.
939 (compute_data_dependences_for_loop): Only add dependence relations
940 inside the loop we asked about.
942 * tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
943 Compute immediate uses.
945 * tree-optimize.c: Move linear_transform_loops to before ivcanon.
947 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
949 * tree-cfg.c (thread_jumps): Fix a comment typo.
951 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
953 * tree-cfg.c (thread_jumps): Fix a comment typo.
955 2004-10-31 Nicolas Pitre <nico@cam.org>
957 * config/arm/ieee754-sf.S (floatdisf): Fix regression with
958 values smaller than 2^32.
960 2004-10-31 Jeff Law <law@redhat.com>
962 * cfgloop.h (struct loop): Remove unused "nodes" field.
963 * timevar.def (TV_TREE_LOOP_BOUNDS): New.
964 * tree-data-ref.c (find_data_references_in_loop): Use get_loop_body
965 instead of calling flow_bb_inside_loop_p for every basic block
967 * tree-ssa-loop.c (pass_record_bounds): Use TV_TREE_LOOP_BOUNDS.
969 2004-10-31 Graham Stott <graham.stott@btinternet.com>
971 * config/pa/pa.md: (prefetch_64, prefetch_32): Fix typo. Use
972 INT_5_BITS instead of VAL_5_BITS_P.
974 2004-10-31 Roger Sayle <roger@eyesopen.com>
977 * tree-inline.c (inline_forbidden_p_1): Use %qF instead of '%F'
978 for consistent quoting in diagnostic messages.
979 (expand_call_inline): Likewise.
980 * tree-optimize.c (tree_rest_of_compilation): Likewise.
981 * tree-ssa.c (warn_uninitialized_var): Likewise.
982 (warn_uninitialized_phi): Likewise.
984 2004-10-31 Richard Sandiford <rsandifo@redhat.com>
986 * config/mips/mips.c (mips_cannot_change_mode_class): Use a stricter
989 2004-10-31 Kazu Hirata <kazu@cs.umass.edu>
991 * c-common.c: Fix a comment typo.
993 2004-10-31 Jason Merrill <jason@redhat.com>
996 * tree-gimple.c (is_gimple_mem_rhs): Also require a val for
997 aggregate types that are not BLKmode.
999 2004-10-30 Ziemowit Laski <zlaski@apple.com>
1001 * c-common.h (objc_lookup_ivar): Add second parameter to
1003 * c-typeck.c (build_external_ref): After looking up symbol,
1004 pass it to objc_lookup_ivar() to decide whether it or the
1005 ivar should be used, rather than deciding the issue locally.
1006 * stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
1007 which is simply returned in the non-ObjC case.
1009 2004-10-30 Danny Smith <dannysmith@users.sourceforge.net>
1011 * sdbout.c (sdbout_symbol): Do not output type .def statements
1014 2004-10-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1016 * c-common.c (catenate_strings): New.
1017 (c_parse_error): Use it. Don't over-escape.
1019 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
1021 * config/sh/sh.c (calc_live_regs): Declare reg as unsigned and
1022 modify the for loop expressions for it. Remove unnecessary casts.
1023 (sh_expand_prologue): Declare reg as unsigned.
1024 (sh_gimplify_va_arg_expr): Initinalize lab_over.
1025 (sh_handle_sp_switch_attribute): Add const qualifier appropriately.
1027 2004-10-30 Geoffrey Keating <geoffk@apple.com>
1029 * doc/invoke.texi (Darwin Options): Improve description of
1030 how the subtype is chosen.
1032 2004-10-30 Roger Sayle <roger@eyesopen.com>
1035 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
1036 the stack adjustment, "size", is valid for Pmode. If the stack
1037 frame is too large, generate a trap insn and issue a warning.
1039 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
1041 * tree-ssa-dom.c: Fix comment typos.
1043 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
1045 * config/sh/sh.c (prepare_move_operands): Use operands[0]
1046 for the output rtl if no_new_pseudos is set. Remove redundant
1049 2004-10-30 Joseph S. Myers <joseph@codesourcery.com>
1052 * c-decl.c (start_function): Don't check for DECL_BUILT_IN when
1053 determining whether to copy parameter types from a previous
1054 prototype declaration.
1056 2004-10-29 Roger Sayle <roger@eyesopen.com>
1058 PR rtl-optimization/17581
1059 * cselib.c (cselib_process_insn): The last instruction of a libcall
1060 block, with the REG_RETVAL note, should be considered in the libcall.
1061 * gcse.c (do_local_cprop): Allow constants to be propagated outside
1063 (adjust_libcall_notes): Use simplify_replace_rtx instead of
1064 replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
1066 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
1068 * tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN.
1070 2004-10-29 Jeff Law <law@redhat.com>
1072 * tree-ssa-dom.c (struct edge_info): New structure holding
1073 edge equivalences and edge redirection information.
1074 (get_eq_expr_value, record_dominating_conditions): Kill.
1075 (propagate_to_outgoing_edges): Renamed from cprop_into_phis.
1076 Call record_edge_info.
1077 (allocate_edge_info, free_edge_info): New.
1078 (tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
1079 rather than cprop_into_phis. Free all edge infos before threading
1081 (thread_across_edge): Allocate new edge info structures as needed
1082 and store the redirection target into the edge info structure
1083 instead of the edge's AUX field.
1084 (dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
1085 (record_equivalence_from_incoming_edge): Lose unnecessary argument.
1086 Revamp code which finds and records equivalences associated with
1087 edges to use saved data in the edge_info structure.
1088 (record_equivalencs_from_phis): Similarly.
1089 (dom_opt_finalize_block): Revamp code which finds and records
1090 equivalences associated with edges to use saved data in the
1091 edge_info structure.
1092 (build_and_record_new_cond): New function.
1093 (record_conditions): Use build_and_record_new_cond to record
1094 dominating conditions.
1095 (record_edge_info): New function.
1096 (record_range): Tighten test for conditions which create
1097 useful range records.
1099 2004-10-29 Geoffrey Keating <geoffk@apple.com>
1101 * config/i386/darwin.h (ASM_SPEC): Simplify.
1102 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
1103 * config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New.
1104 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
1105 * config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here.
1106 (LINK_SPEC): Do pass -arch here. Handle -force_cpusubtype_ALL
1107 in all cases. Pass the right -arch or -arch_only based on -mcpu.
1108 (ASM_SPEC): Handle -force_cpusubtype_ALL.
1109 * doc/invoke.texi (Darwin Options): Improve documentation for
1110 Darwin linker (and libtool) switches.
1112 * config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>.
1114 2004-10-29 Stan Shebs <shebs@apple.com>
1116 * config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly.
1118 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
1120 * tree-phinodes.c (allocate_phi_node): New.
1121 (make_phi_node, resize_phi_node): Use it.
1123 2004-10-29 David Edelsohn <edelsohn@gnu.org>
1125 * config/rs6000/sysv4.h (TARGET_POWER): Define as 0.
1126 * config/rs6000/darwin.h (TARGET_POWER): Define as 0.
1128 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
1130 * tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
1132 * tree.h (tree_phi_node): Tell the garbage collector to chase
1135 2004-10-29 Richard Earnshaw <rearnsha@arm.com>
1137 * opts.c (decode_options): Lower the crossjump threshold for -Os.
1139 2004-10-29 Diego Novillo <dnovillo@redhat.com>
1141 * tree.h (struct tree_ssa_name): Remove field 'equiv'.
1143 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
1145 * bitmap.h (bitmap_empty_p): New.
1146 (bitmap_and, bitmap_and_into, bitmap_and_compl,
1147 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into,
1148 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap
1150 (bitmap_ior_and_compl): Rename to ...
1151 (bitmap_ior_and_compl_into): ... here.
1152 * bitmap.c (bitmap_equal_p): Use bitmap_xor.
1153 (bitmap_ior_and_compl): Rename to ...
1154 (bitmap_ior_and_compl_into): ... here. Adjust. Return changed
1156 (bitmap_union_of_diff): Use renamed bitmap functions.
1157 * basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET,
1158 XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise.
1159 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
1160 * df.c (df_bb_rd_local_compute)
1161 * flow.c (calculate_global_regs_live,
1162 init_propagate_block_info): Likewise.
1163 * ifcvt.c (find_if_case_1, find_if_case_2,
1164 dead_or_predicable): Likewise.
1165 * ra-build.c (union_web_part_roots, livethrough_conflicts_bb,
1166 reset_conflicts, conflicts_between_webs): Likewise.
1167 * ra-rewrite.c (reloads_to_loads, rewrite_program2,
1168 detect_web_parts_to_rebuild): Likewise.
1169 * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
1170 * tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise.
1171 * tree-sra.c (decide_instantiations): Likewise.
1172 * tree-ssa-alias.c (create_name_tags,
1173 merge_pointed_to_info): Likewise.
1174 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
1175 * tree-ssa-loop-im.c (move_computations): Likewise.
1176 * tree-ssa-operands.c (get_call_expr_operands): Likewise.
1177 * tree-ssa-pre.c (fini_pre): Likewise.
1178 * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
1179 * tree-ssanames.c (any_marked_for_rewrite_p): Likewise.
1180 * tree-vectorizer.c (vectorize_loops): Likewise.
1182 2004-10-29 Nick Clifton <nickc@redhat.com>
1184 config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
1185 adding the PIC register to the fixed_regs array, also add it
1186 to the call_used_regs array.
1188 2004-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
1190 * gthr-posix.h (__gthread_recursive_mutex_init_function): Guard
1191 with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs.
1193 2004-10-28 Daniel Berlin <dberlin@dberlin.org>
1195 * tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
1196 (rewrite_blocks): Modify argument, and use it to decide which
1198 (rewrite_def_def_chains): Call rewrite_blocks with true here.
1199 (rewrite_into_ssa): and call it with false here.
1201 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
1203 * tree-phinodes.c (add_phi_arg): Turn an "if" that always
1204 triggers into gcc_assert.
1206 2004-10-28 Diego Novillo <dnovillo@redhat.com>
1208 PR tree-optimization/16728
1209 * tree-flow.h (get_ptr_info): Declare.
1210 * tree-ssa-alias.c (get_ptr_info): Make extern.
1211 * tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
1214 2004-10-28 Stan Shebs <shebs@apple.com>
1216 * config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
1217 * config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64
1220 2004-10-28 Frank Ch. Eigler <fche@redhat.com>
1222 * tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
1223 prevent their later unnecessary registration.
1224 (mf_build_check_statement_for): Remove "addr" argument, and
1225 related "__mf_value" generated code. Update callers.
1226 (mf_decl_eligible_p): New function, factored from mx_register_decls.
1227 (mx_register_decls): Call it.
1228 (mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
1229 to restore support for complex nested expressions.
1230 (mudflap_enqueue_decl): Simplify. Move registration call emission
1232 (mudflap_finish_file): ... to here.
1233 (mudflap_enqueue_constant): Remove dump code.
1235 2004-10-28 Zack Weinberg <zack@codesourcery.com>
1238 * dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
1239 (DBX_FINISH_STABS): Add (unused by default) SYM parameter.
1240 (dbxout_finish_complex_stabs): Update to match.
1241 (dbxout_symbol_location): Call emit_pending_bincls_if_required
1242 and FORCE_TEXT before DBX_STATIC_BLOCK_START. Use
1243 dbxout_begin_complex_stabs_noforcetext.
1244 * xcoffout.h (DBX_FINISH_STABS): Restore special case for
1245 N_GSYM, using new SYM parameter. Correct logic for special
1248 * varasm.c (function_section): If DECL is NULL_TREE, don't try
1249 to do anything else. Do not call get_insns if cfun or
1250 cfun->emit are NULL.
1252 2004-10-28 Adam Nemet <anemet@lnxw.com>
1255 * c-typeck.c (c_mark_addressable): Issue error if address of a
1256 register variable is taken. Use "%qD" to print DECL_NAME.
1258 2004-10-28 Diego Novillo <dnovillo@redhat.com>
1260 * opts.c (decode_options): Don't run PRE at -Os.
1262 2004-10-28 Richard Henderson <rth@redhat.com>
1264 * config/alpha/alpha.md (movqicc_internal): Allow exactly one
1265 zero in the conditional.
1266 (movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
1268 2004-10-28 Richard Henderson <rth@redhat.com>
1270 * cse.c (memory_extend_rtx): Remove.
1271 (cse_main): Don't set it.
1272 (cse_insn): Use a local buffer instead.
1274 2004-10-28 Andreas Krebbel <krebbel1@de.ibm.com>
1276 * profile.c (branch_prob): Call to init_edge_profiler added.
1277 * rtl-profile.c (rtl_init_edge_profiler): New function.
1278 (rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with
1279 call to safe_insert_insn_on_edge.
1280 (rtl_profile_hooks): rtl_init_edge_profiler added.
1281 * tree-profile.c (tree_init_edge_profiler): New function.
1282 (tree_profile_hooks): tree_init_edge_profiler added.
1283 * value-prof.h (profile_hooks) init_edge_profiler prototype added.
1285 2004-10-28 Nick Clifton <nickc@redhat.com>
1287 * config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
1288 emit_jump_insn() to generate the return instruction.
1290 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1292 * tree-phinodes.c: Remove trailing whitespace.
1294 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1296 * tree-ssa-loop-ivopts.c: Fix a comment typo.
1297 * doc/invoke.texi: Fix a typo.
1299 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1301 * Makefile.in (OBJS-common): Remove duplicates.
1303 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1305 * lambda-code.c (nestify_update_pending_stmts): Remove.
1306 (perfect_nestify): Use flush_pending_stmts instead of
1307 nestify_update_pending_stmts.
1308 * tree-cfg.c (tree_make_forwarder_block): Use
1309 flush_pending_stmts.
1310 * tree-flow.h: Add a prototype for flush_pending_stmts.
1311 * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
1312 Use flush_pending_stmts.
1313 (lv_update_pending_stmts): Remove.
1314 (tree_ssa_loop_version): Use flush_pending_stmts instead of
1315 lv_update_pending_stmts.
1316 * tree-ssa.c (flush_pending_stmts): New.
1318 2004-10-28 Ulrich Weigand <uweigand@de.ibm.com>
1321 * final.c (alter_subreg): Compute correct offset to use with
1322 paradoxical SUBREGs of memory operands.
1323 * recog.c (general_operand): Allow paradoxical SUBREGs of
1324 memory operands after reload.
1325 * simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
1326 has failed when passed a hard register.
1328 2004-10-28 Aldy Hernandez <aldyh@redhat.com>
1330 * function.c (assign_parm_setup_block): Handle parallels correctly.
1332 2004-10-28 Kaz Kojima <kkojima@gcc.gnu.org>
1334 * final.c (shorten_branches): Initialize flags structure.
1336 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
1338 * tree.c (int_cst_node, int_cst_hash_table): New variables.
1339 (init_ttree): Initialize them.
1340 (int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
1341 (build_int_cst_wide): Use hash table for oversized integers.
1343 2004-10-28 Nick Clifton <nickc@redhat.com>
1345 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
1348 2004-10-27 Richard Henderson <rth@redhat.com>
1351 * expr.c (emit_group_load): Don't go force temporary for memory
1353 (emit_group_store): Similarly.
1355 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
1358 * common.opt (--param): Fix spelling of parameter.
1360 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
1363 * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
1364 Don't fold statement.
1365 <case ASM_EXPR>: Fold the statement.
1367 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1369 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
1370 <COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
1372 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
1374 * doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
1375 doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
1376 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
1377 doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
1379 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
1381 * doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
1382 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
1383 punctuation outside quotes.
1385 2004-10-27 David Mosberger <davidm@hpl.hp.com>
1386 James E Wilson <wilson@specifixinc.com>
1389 * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
1390 sibcall alloc instruction.
1391 (process_set): Handle sibcall alloc instruction.
1393 2004-10-27 Geoffrey Keating <geoffk@apple.com>
1395 * config/rs6000/rs6000.c (rs6000_attribute_table): Add
1396 SUBTARGET_ATTRIBUTE_TABLE.
1397 * config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
1398 (SUBTARGET_ATTRIBUTE_TABLE): Define.
1399 * config/darwin.c (darwin_handle_weak_import_attribute): New.
1400 (HAVE_DEAD_STRIP): Delete.
1401 (no_dead_strip): Don't test HAVE_DEAD_STRIP.
1402 * config/darwin-protos.h (darwin_handle_weak_import_attribute):
1405 * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
1407 * config/darwin.h (GTHREAD_USE_WEAK): Define.
1409 2004-10-28 Ben Elliston <bje@au.ibm.com>
1411 * params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
1412 (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
1413 * params.h (SRA_MAX_STRUCTURE_SIZE): New.
1414 (SRA_FIELD_STRUCTURE_RATIO): Likewise.
1415 * tree-sra.c: Include "params.h".
1416 (decide_block_copy): Use new parameters.
1417 * doc/invoke.texi (Optimize Options): Document new SRA pass
1418 parameters sra-max-structure-size and sra-field-structure-ratio.
1420 2004-10-27 Nicolas Pitre <nico@cam.org>
1422 * config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
1424 2004-10-27 Zdenek Dvorak <dvorakz@suse.cz>
1426 PR tree-optimization/18048
1427 * fold-const.c (try_move_mult_to_index): New function.
1428 (fold): Use try_move_mult_to_index.
1429 * tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
1430 * tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
1431 an all-ones unsigned constant without extra bits.
1432 * tree.c (build_low_bits_mask): New function.
1433 * tree.h (build_low_bits_mask): Declare.
1435 2004-10-27 David Edelsohn <edelsohn@gnu.org>
1438 * config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
1444 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1446 * tree-cfg.c (thread_jumps): Speed up by reordering the two
1447 conditions for entering basic blocks into worklist.
1449 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1451 * tree-cfg.c (thread_jumps): Speed up by pretending to have
1452 ENTRY_BLOCK_PTR in worklist.
1454 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1456 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
1457 <GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
1459 2004-10-27 Daniel Berlin <dberlin@dberlin.org>
1461 Fix PR tree-optimization/17133
1463 * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
1466 * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
1467 (get_v_must_def_result_ptr): Modify for new structure of
1469 (get_v_must_def_kill_ptr): New.
1470 (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
1471 (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
1472 (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
1473 (op_iter_init): Initialize new mustu members.
1474 (op_iter_next_mustdef): New function.
1475 (op_iter_init_mustdef): Ditto.
1477 * tree-flow.h (rewrite_def_def_chains): New function.
1479 * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
1480 (ssa_mark_def_sites): Ditto.
1481 (rewrite_stmt): Ditto.
1482 (ssa_rewrite_stmt): Ditto.
1483 (rewrite_blocks): Factor out from rewrite_into_ssa.
1484 (mark_def_block_sites): Ditto.
1485 (rewrite_def_def_chains): New function, just rewrites def-def
1486 chains without phi node insertion.
1488 * tree-pass.h (TODO_fix_def_def_chains): New todo flag.
1490 * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
1492 * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
1493 they include the rhs now.
1495 * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
1498 * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
1500 (mark_really_necessary_kill_operand_phis): New function.
1501 (perform_tree_ssa_dce): Call it.
1502 (pass_dce): Add TODO_fix_def_def_chains.
1503 (pass_cd_dce): Ditto.
1505 * tree-ssa-loop-im.c (determine_max_movement): Look at kills as
1507 (rewrite_mem_refs): Ditto.
1509 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
1512 * tree-ssa-operands.c (allocate_v_may_def_optype):
1513 v_may_def_operand_type_t became v_def_use_operand_type_t.
1514 (allocate_v_must_def_optype) Ditto.
1515 (finalize_ssa_v_must_defs): Update for new operand type, as well
1516 as setting the use portion as well.
1517 (copy_virtual_operands): Copy the kill operand as well.
1518 (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
1521 * tree-ssa-operands.h (v_may_def_operand_type): Renamed to
1522 v_def_use_operand_type.
1523 (v_must_def_optype_d): Use v_def_use_operand_type.
1524 (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
1525 (V_MUST_DEF_KILL_*): New macros.
1526 (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
1528 Rename existing must_i and num_v_must members to mustd_i and
1530 (SSA_OP_VMUSTDEFKILL): New flag.
1531 (SSA_OP_VIRTUAL_KILLS): New flag.
1532 (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
1533 (SSA_OP_ALL_KILLS): New flag.
1534 (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
1536 * tree-ssa.c (verify_ssa): Verify virtual kills as well.
1538 * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
1539 became V_MUST_DEF_RESULT.
1540 (rename_variables_in_bb): Rename kill pointer as well.
1542 * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
1545 2004-10-27 Richard Sandiford <rsandifo@redhat.com>
1547 * dbxout.c (dbxout_source_line): Move declaration of begin_label to
1548 the block that needs it.
1550 2004-10-27 Zack Weinberg <zack@codesourcery.com>
1552 * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
1555 2004-10-27 Zack Weinberg <zack@codesourcery.com>
1557 * c-lex.c (cb_def_pragma): Clean up code for making location
1558 palatable to diagnostic.c.
1560 2004-10-27 Steven Bosscher <stevenb@suse.de>
1562 PR tree-optimization/17757
1563 * tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
1564 without any PHI arguments left. Make sure the argument that
1565 we're supposed to remove exists at all.
1567 2004-10-27 Paul Brook <paul@codesourcery.com>
1569 * configure.ac: Don't test for [build] __cxa_atexit when building a
1571 * configure: Regenerate.
1573 2004-10-27 Paul Brook <paul@codeosurcery.com>
1575 * configure.ac: Use build_exeext not host_exeext when lookin for
1577 * configure: Regenerate.
1579 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
1581 * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
1583 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
1584 patch originally created by Kelley Cook <kcook@gcc.gnu.org>
1587 * opts.c (OPT_fprofile_generate): Default to -funroll-loops
1588 to match -fprofile-use.
1590 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1592 * config/rs6000/rs6000.c: Fix a comment typo.
1594 2004-10-27 Zack Weinberg <zack@codesourcery.com>
1596 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
1599 2004-10-27 Andreas Schwab <schwab@suse.de>
1601 * varasm.c (default_stabs_asm_out_destructor): Mark symbol as
1603 (default_stabs_asm_out_constructor): Likewise.
1605 2004-10-26 Geoffrey Keating <geoffk@apple.com>
1607 * builtins.c (fold_builtin_unordered_cmp): Always bring both
1608 operands to the same type.
1610 2004-10-26 James E Wilson <wilson@specifixinc.com>
1613 * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
1615 2004-10-26 Zack Weinberg <zack@codesourcery.com>
1617 * dbxout.c: Include obstack.h.
1618 (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
1620 (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
1621 Default-define here.
1622 (DBX_CONTIN_LENGTH): Move definition with others.
1623 (DBX_FINISH_STABS): New target macro.
1624 (current_sym_code, current_sym_value, current_sym_addr)
1625 (current_sym_nchars, CHARS, dbxout_continue)
1626 (print_int_cst_octal, print_octal, print_wide_int)
1627 (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
1628 (stabstr_ob, stabstr_last_contin_point): New variables.
1629 (NUMBER_FMT_LOOP): New improper macro.
1630 (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
1631 (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
1632 (dbxout_stab_value_internal_label_diff, dbxout_stabd)
1633 (dbxout_begin_stabn, dbxout_begin_stabn_sline)
1634 (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
1635 (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
1636 (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
1637 (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
1638 New functions and/or proper function-like macros.
1639 (CONTIN): Use stabstr_continue, unconditionally.
1640 (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
1641 (dbxout_init): Initialize stabstr_ob. Check
1642 NO_DBX_MAIN_SOURCE_DIRECTORY. Only write out the Ltext label
1643 if it was used. Use the new interfaces.
1644 (dbxout_source_file): Remove file argument; always write to
1645 asm_out_file. Use the new interfaces.
1646 (dbxout_type_method_1): Remove second argument which is always
1647 DECL_ASSEMBLER_NAME of the first argument. Use the new interfaces.
1648 (dbxout_type_methods): Remove write-only variables. Use the
1650 (dbxout_parms): Refactor to remove code duplicated in each of
1651 several successive if-else-if blocks. Use the new interfaces.
1652 (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
1653 (dbxout_source_line, dbxout_finish, dbxout_type_index)
1654 (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
1655 (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
1656 (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
1657 (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
1658 Use the new interfaces.
1659 * Makefile.in (dbxout.o): Update dependencies.
1661 * defaults.h: Don't define ASM_STABD_OP.
1662 * output.h: Prototype new dbxout_* interfaces.
1663 * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
1664 * varasm.c: Don't define ASM_STABS_OP.
1665 (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
1666 Use the new dbxout.c interfaces. Call sorry if neither
1667 DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
1669 * xcoffout.h: Don't define ASM_STABS_OP.
1670 (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
1671 (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
1672 (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
1673 (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
1674 do { ... } while (0) idiom.
1676 * config/alpha/alpha.c (num_source_filenames): Export.
1677 * config/alpha/alpha.h (num_source_filenames): Declare.
1678 (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
1679 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
1680 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
1681 Always use .debugsym. Update commentary.
1682 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
1683 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
1684 * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
1686 * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
1687 (macho_branch_islands): Use new interfaces.
1689 * doc/tm.texi: Update.
1691 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
1693 * expr.c (emit_group_store): Do not treat floats as BLKmode.
1694 (emit_group_load): Same.
1696 2004-10-26 Joseph S. Myers <jsm@polyomino.org.uk>
1698 * c-parse.in (datadef): Use pedwarn rather than error and warning
1699 for diagnostic in case of no declaration specifiers.
1701 2004-10-26 Richard Sandiford <rsandifo@redhat.com>
1704 * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
1705 reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
1706 can be used to work around this.
1708 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
1710 * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
1713 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
1715 * stmt.c (expand_case): Update a comment.
1717 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
1719 * stmt.c (expand_case): Put an assertion that index_expr is
1720 never INTEGER_CST. Don't special case for constant
1723 2004-10-26 Andrew Pinski <pinskia@physics.uc.edu>
1726 * c-parse.in (designator): Finish with a semi-colon.
1728 2004-10-26 Fariborz Jahanian <fjahanian@apple.com>
1730 * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
1733 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
1735 * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
1736 a default case only.
1738 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
1740 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
1742 (spe_build_register_parallel): New.
1743 (rs6000_spe_function_arg): Handle e500 doubles.
1744 (function_arg): Same.
1745 (spe_func_has_64bit_regs_p): Same.
1746 (rs6000_function_value): Same.
1747 (rs6000_libcall_value): Same.
1748 (legitimate_lo_sum_address_p): Return false for e500 doubles.
1750 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
1752 (DATA_ALIGNMENT): Same.
1753 (CANNOT_CHANGE_MODE_CLASS): Same.
1755 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
1757 * expr.c (emit_group_load): Handle floats.
1758 (emit_group_store): Same.
1760 2004-10-26 Nathan Sidwell <nathan@codesourcery.com>
1762 * c-lex.c (get_nonpadding_token): Remove.
1763 (c_lex_with_flags): Push timevar and eat padding here. Improve
1764 stray token diagnostic.
1765 (lex_string): Replace logic with switch statement, eat padding
1768 2004-10-26 Geoffrey Keating <geoffk@apple.com>
1771 * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
1773 2004-10-25 Geoffrey Keating <geoffk@apple.com>
1775 * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
1777 (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
1778 (ASM_MAKE_LABEL_LINKONCE): Delete.
1779 (ASM_WEAKEN_DECL): New.
1780 (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
1781 (ASM_DECLARE_FUNCTION_NAME): Likewise.
1782 (TEXT_SECTION_ASM_OP): Add a tab.
1783 (DATA_SECTION_ASM_OP): Likewise.
1784 (SECTION_FUNCTION): Add a tab. Use fputs. Don't call
1785 data_section on every section change.
1786 (EXTRA_SECTIONS): Add a bunch of new extra sections.
1787 (EXTRA_SECTION_FUNCTIONS): Likewise.
1788 (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
1789 (JCR_SECTION_NAME): Define.
1790 (TARGET_SECTION_TYPE_FLAGS): Don't define.
1791 * config/darwin.c (darwin_encode_section_info): A symbol is defined
1792 in this file if it is not weak.
1793 (textcoal_section): Delete.
1794 (datacoal_section): Delete.
1795 (darwin_make_decl_one_only): Delete.
1796 (machopic_select_section): Handle functions.
1797 (darwin_asm_named_section): Add a tab.
1798 (darwin_section_type_flags): Delete.
1799 (darwin_unique_section): Delete contents.
1800 (darwin_emit_unwind_label): Add a tab. Make decls weak if
1802 * config/darwin-protos.h (darwin_section_type_flags): Delete.
1803 (darwin_make_decl_one_only): Delete.
1804 (text_coal_section): New.
1805 (text_unlikely_section): New.
1806 (text_unlikely_coal_section): New.
1807 (const_coal_section): New.
1808 (data_coal_section): New.
1809 (const_data_coal_section): New.
1810 * varasm.c (function_section): Honour
1811 USE_SELECT_SECTION_FOR_FUNCTIONS.
1812 * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
1813 TARGET_USES_WEAK_UNWIND_INFO is in effect.
1814 * dbxout.c (dbxout_source_file): Don't change sections while
1815 a function is being output.
1817 2004-10-25 David Ayers <d.ayers@inode.at>
1819 * c-common.h: Remove RID_ID.
1820 * c-parse.in: Remove OBJECTNAME and references to RID_ID.
1821 (typespec_reserved_attr): Add rule for TYPENAME
1822 non_empty_protocolrefs.
1823 (yylexname): Remove special handling of RID_ID.
1825 2004-10-25 James E Wilson <wilson@specifixinc.com>
1827 * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
1829 2004-10-25 Joseph S. Myers <jsm@polyomino.org.uk>
1832 * c-parse.in (array_designator): New.
1833 (designator): Use it.
1834 (initelt): Only permit array_designator without '=', not ".foo".
1836 2004-10-25 Kenneth Zadeck <zadeck@naturalbridge.com>
1837 * gcc/Makefile.in: removed ggc for cgraphunit.
1838 * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
1839 * gcc/cgraph.h: removed static var analysis data structures and calls.
1841 cgraph_mark_local_and_external_functions:changed name to
1842 cgraph_mark_local_functions
1843 (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
1844 cgraph_reset_static_var_maps,get_global_static_vars_info,
1845 get_global_statics_not_read,get_global_statics_not_written,searchc,
1846 cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
1847 check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
1848 scan_for_static_refs,cgraph_characterize_statics_local,
1849 clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
1851 (cgraph_optimize,init_cgraph): removed calls to static vars analysis
1852 * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
1854 * gcc/tree-flow.h static_vars_info: removed
1855 * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
1856 removed calls to static vars analysis.
1857 get_call_expr_operands: removed callee variable.
1859 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
1861 * cfg.c (unchecked_make_edge, redirect_edge_succ,
1862 redirect_edge_pred): Use VEC_safe_push instead of
1864 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
1866 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
1868 * cfgloopmanip.c (loopify): Take two more arguments true_edge
1870 * cfgloop.h: Adjust the corresponding prototype.
1871 * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
1872 * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
1874 2004-10-25 Jakub Jelinek <jakub@redhat.com>
1876 * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
1877 DECL_INCOMING_RTL is NULL.
1879 2004-10-25 Steven Bosscher <stevenb@suse.de>
1881 * timevar.def (TV_FIND_REFERENCED_VARS): New.
1882 * tree-dfa.c (pass_referenced_var): Use it.
1884 2004-10-25 Roger Sayle <roger@eyesopen.com>
1885 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1887 * cse.c: Change encoding of quantity numbers to avoid undefined
1888 pointer arithmetic on qty_table.
1889 (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
1890 (get_cse_reg_info): Initialize reg_qty to a unique negative value.
1891 (new_basic_block): Assign "real" quantity numbers from zero.
1892 (delete_reg_equiv): Do nothing if quantity is invalid. Reset the
1893 REG_QTY to its unique negative value.
1894 (merge_equiv_classes): Calculate need_rehash if quantity is valid.
1895 (cse_main): Don't include max_reg when determining max_qty.
1896 (cse_basic_block): Avoid subtracting a large offset from qty_table,
1897 which causes undefined C99 behaviour. Only allocate needed memory.
1899 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
1901 * stmt.c (expand_case): Remove an obsolete comment.
1903 2004-10-25 Andrew Pinski <pinskia@physics.uc.edu>
1906 * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
1907 layout_type as it is already done by build_array_type.
1908 * tree.c (build_array_type): Layout the type even
1910 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
1912 * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
1914 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
1916 * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
1917 with wider-than-32-bit HOST_WIDE_INTs.
1919 2004-10-25 David Billinghurst <David.Billinghurst@riotinto.com>
1921 * config/mips/mips.c(mips_output_filename): Remove unused
1922 array ltext_label_name
1924 2004-10-24 Geoffrey Keating <geoffk@geoffk.org>
1926 * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
1928 2004-10-25 Ben Elliston <bje@au.ibm.com>
1930 * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
1932 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
1934 * predict.c (predict_loops): Call scev_finalize instead of
1937 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
1939 * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
1940 config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
1941 config/sh/ushmedia.h, config/sparc/elf.h,
1942 config/sparc/sp64-elf.h: Update copyright.
1944 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
1946 * stmt.c (expand_case): Handle the default label outside of
1947 the for loop. Remove code to handle a missing default label.
1949 2004-10-23 Kazu Hirata <kazu@cs.umass.edu>
1951 * dbxout.c (dbxout_function_decl): Don't use
1952 DBX_OUTPUT_FUNCTION_END.
1953 * system.h: Poison DBX_OUTPUT_FUNCTION_END.
1954 * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
1956 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
1959 * tree-cfg.c (remove_usless_stmts_cond): Don't Fold statement.
1961 2004-10-23 Daniel Berlin <dberlin@dberlin.org>
1963 * tree-ssa-dom.c (record_equality): Use loop depth to determine
1964 which way to record the equality as well.
1965 (loop_depth_of_name): New function.
1967 2004-10-23 Eric Botcazou <ebotcazou@libertysurf.fr>
1970 * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
1971 through the operand if it is a useless type conversion.
1973 2004-10-23 Ben Elliston <bje@au.ibm.com>
1975 * cfg.c (remove_edge): Use VEC_unordered_remove.
1976 (redirect_edge_succ): Likewise.
1977 (redirect_edge_pred): Likewise.
1978 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
1980 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1982 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
1985 2004-10-22 Eric Christopher <echristo@redhat.com>
1987 * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
1990 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
1992 * config/rs6000/spe.md (spe_extendsfdf2): New.
1993 (movdf_e500_double): New.
1994 (spe_truncdfsf2): New.
2001 (spe_floatsidf2): New.
2002 (spe_floatunssidf2): New.
2003 (fix_truncdfsi2): New.
2004 (spe_fixuns_truncdfsi2): New.
2006 * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
2007 (fpr_truncdfsf2): New.
2008 (negdf2): Change to expander.
2010 (fpr_nabsdf2): Name pattern.
2011 (adddf3): Change to expander.
2013 (subdf3): Change to expander.
2015 (muldf3): Change to expander.
2017 (divdf3): Change to expander.
2019 (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
2020 (cmpdf): Allow for TARGET_E500_DOUBLE.
2022 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2024 * c-semantics.c (re_push_stmt_list): Remove.
2025 * c-common.h: Remove the corresponding prototype.
2027 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2029 * stmt.c (asm_op_is_mem_input): Remove.
2030 * tree.h: Remove the corresponding prototype.
2032 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2034 * tree-gimple.c (is_gimple_constructor_elt): Remove.
2035 * tree-gimple.h: Remove the corresponding prototype.
2037 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2039 * varasm.c (get_pool_mode_for_function, get_pool_offset):
2041 * rtl.h: Remove the corresponding prototypes.
2043 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2045 * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
2046 edge information when we commit ourselves to threading a
2049 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2051 * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
2052 into worklist instead of their indexes.
2054 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2056 * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
2057 final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
2058 lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
2059 pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
2060 tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
2061 tree-scalar-evolution.c, tree-ssa-dom.c,
2062 tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
2063 tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
2064 tree-vectorizer.c, vec.h: Fix comment formatting.
2066 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2068 * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
2069 libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
2071 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2073 * config/ptx4.h, config/mcore/mcore-pe.h,
2074 config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
2076 2004-10-22 Peter Barada <peter@the-baradas.com>
2078 * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
2079 * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
2080 renaming of non-live registers in interrupt functions.
2081 * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
2083 2004-10-22 Zdenek Dvorak <dvorakz@suse.cz>
2085 * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
2086 Use integer for loop counter.
2087 (num_ending_zeros): New function.
2088 (number_of_iterations_cond): Use num_ending_zeros.
2090 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
2092 * config.gcc: Add support for --enable-e500_double.
2094 * config/rs6000/e500-double.h: New file.
2096 * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
2099 * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
2102 * config/rs6000/linuxspe.h: Same.
2104 * doc/invoke.texi (Option Summary): Document new options for
2106 (RS/6000 and PowerPC Options): Same.
2108 * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
2110 (rs6000_override_options): Use it. Use
2111 SUB3TARGET_OVERRIDE_OPTIONS.
2112 Add 8548 to processor_target_table.
2113 (rs6000_legitimate_address): Handle e500 doubles.
2114 (rs6000_legitimize_address): Same.
2115 (rs6000_legitimize_reload_address): Same.
2116 (rs6000_hard_regno_nregs): Same.
2117 (spe_func_has_64bit_regs_p): Same.
2118 (emit_frame_save): Same.
2119 (gen_frame_mem_offset): Same.
2120 (rs6000_dwarf_register_span): Same.
2121 (rs6000_generate_compare): Same.
2122 (easy_fp_constant): Same.
2123 (legitimate_offset_address_p): Same.
2125 * config/rs6000/spe.md: (cmdfeq_gpr): New.
2134 2004-10-21 Giovanni Bajo <giovannibajo@gcc.gnu.org>
2136 * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
2138 2004-10-21 Zack Weinberg <zack@codesourcery.com>
2140 * dbxout.c: Remove unnecessary #undefs.
2141 (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
2142 (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
2143 definition into use sites.
2144 (cwd): Make local to dbxout_init.
2145 (dbxout_init): Restructure cwd-using logic for clarity. Use
2147 * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
2148 STABS_GCC_MARKER folded in here.
2149 * system.h: Poison now-unused macros.
2150 * doc/tm.texi: Remove documentation of now-unused macros.
2152 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
2155 * c-opts.c (push_command_line_include): Use the current file
2156 name instead of the main one.
2158 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
2161 * tree.c (staticp): A CONST_DECL has static storage if either
2162 TREE_STATIC or DECL_EXTERNAL is set.
2163 * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
2166 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
2168 * expr.c (store_expr): Remove dont_store_target.
2170 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
2172 * tree-cfg.c (thread_jumps): Speed up by using a worklist.
2174 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
2176 * tree-cfg.c (thread_jumps): Move a part of it to ...
2177 (thread_jumps_from_bb): ... here.
2179 2004-10-21 David Edelsohn <edelsohn@gnu.org>
2181 * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
2182 * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
2184 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
2186 * expr.c (store_expr): Clean up by renaming want_value to
2189 2004-10-21 Kaz Kojima <kkojima@gcc.gnu.org>
2191 * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
2194 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
2197 * expmed.c (store_bit_field): Pass original 'value' before
2200 2004-10-21 Nicolas Pitre <nico@cam.org>
2202 * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
2203 * config/arm/ieee754-df.S: Ditto.
2205 2004-10-20 Zack Weinberg <zack@codesourcery.com>
2207 * dbxout.c (asmfile): Delete. All uses changed to asm_out_file.
2208 (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
2210 (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
2211 When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
2212 an internal label and an N_SLINE .stabn whose value is the
2213 difference between that label and the function entry label.
2214 (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
2215 but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
2216 label and an N_SO stab with an empty string referring to it.
2217 (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
2218 of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
2219 (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
2220 (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
2221 macro is never defined.
2222 * sdbout.c (sdbout_source_line_counter): Delete.
2223 (PUT_SDB_SRC_FILE): Delete. Uses replaced with sole definition.
2224 (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
2226 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
2228 * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
2229 * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
2230 definitions (identical to default).
2231 * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
2232 * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
2233 Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
2234 DBX_OUTPUT_MAIN_SOURCE_FILE_END.
2235 * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
2236 * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
2237 Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
2238 * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
2239 * config/alpha/alpha.c: Move declaration of num_source_filenames up.
2240 (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
2241 (sym_lineno): Delete.
2242 (alpha_output_filename): Do not emit N_SOL stabs here. Remove
2243 now-unused variable.
2244 (alpha_output_lineno): Delete.
2245 * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
2246 * config/mips/mips.c (mips_output_filename): Don't use
2247 ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
2248 (mips_output_lineno): Delete.
2249 (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
2250 * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
2251 SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
2252 * config/mips/mips.h: Likewise. Don't define ASM_OUTPUT_FILENAME.
2253 * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
2254 * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
2255 * config/mmix/mmix.h: Likewise.
2256 * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
2257 * config/mmix/mmix-protos.h: Don't prototype it.
2258 * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
2259 no need to #undef ASM_OUTPUT_SOURCE_LINE.
2260 * config/arm/aout.h: Remove RISCiX-specific definition of
2261 DBX_OUTPUT_MAIN_SOURCE_FILENAME.
2262 * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
2263 ASM_OUTPUT_SOURCE_LINE.
2264 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
2265 DBX_OUTPUT_SOURCE_LINE. Don't use current_function_func_begin_label.
2266 * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
2268 * doc/tm.texi: Update.
2270 2004-10-20 Richard Henderson <rth@redhat.com>
2272 * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
2274 2004-10-20 Kelley Cook <kcook@gcc.gnu.org>
2276 * configure.ac: Revert my previous patch.
2277 * configure: Regenerate.
2279 2004-10-20 Ben Elliston <bje@au.ibm.com>
2281 * config/rs6000/rs6000.c
2282 (rs6000_va_start): Use build_va_arg_indirect_ref.
2283 (rs6000_gimplify_va_arg): Likewise.
2285 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
2288 * configure.ac: Declare AM_LANGINFO_CODESET.
2289 * aclocal.m4: Define AM_LANGINFO_CODESET.
2290 * configure, config.in: Rebuilt.
2292 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
2294 * expr.c (store_expr): Remove code that is run when
2295 want_value & 1 is nonzero.
2297 2004-10-20 Mark Mitchell <mark@codesourcery.com>
2299 * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
2300 from function pointer to void *.
2302 2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
2305 * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
2306 the frame pointer adjustment when exception handling is enabled.
2308 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
2310 * stor-layout.c: Fix a comment typo.
2312 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
2314 * expr.c (store_field): Remove two arguments value_mode and
2316 (expand_assignment, store_constructor_field,
2317 expand_expr_real_1): Adjust calls to store_field.
2319 2004-10-18 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
2321 * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
2324 * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
2325 REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
2326 base and index register for loads.
2328 * config/arc/t-arc: Fix multilib handling.
2330 2004-10-20 Hans-Peter Nilsson <hp@bitrange.com>
2332 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
2333 don't inspect BLOCK_FOR_INSN for barriers.
2334 * emit-rtl.c (emit_barrier_before): Revert last change.
2335 (emit_barrier_after, emit_barrier): Ditto.
2337 * doc/extend.texi (Extended Asm): Warn and provide example
2338 solution for using a call-clobbered asm register.
2339 (Local Reg Vars): Similar. Cross-reference example.
2341 2004-10-19 Andrew Pinski <pinskia@physics.uc.edu>
2343 * tree-cfg.c (group_case_labels): Look at the second to last
2344 case statement for combing with the default case.
2346 2004-10-19 Richard Hendeson <rth@redhat.com>
2349 * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
2351 2004-10-19 Richard Hendeson <rth@redhat.com>
2353 * builtins.c (expand_builtin_memmove): If fold_builtin_memmove
2354 succeeds, only expand the result.
2356 2004-10-19 Richard Hendeson <rth@redhat.com>
2359 * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
2362 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
2364 * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
2367 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
2369 * expr.c (expand_assignment): Remove the last argument.
2370 Change the return type to void.
2371 * expr.h: Update the prototype of expand_assignment.
2372 * function.c (assign_parm_setup_reg): Update a call to
2374 * stmt.c (expand_asm_expr): Likewise.
2376 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
2378 * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
2379 unnecessary assignments to temp. Return const0_rtx.
2381 2004-10-19 Kaz Kojima <kkojima@gcc.gnu.org>
2383 * config/sh/sh.c (sh5_schedule_saves): Fix typo.
2385 2004-10-18 Kelley Cook <kcook@gcc.gnu.org>
2387 * configure.ac (powerpc-*-darwin*): Require assembler to support
2389 * configure: Regenerate.
2391 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2393 * reload1.c (ior_hard_reg_set): Remove.
2394 (finish_spills): Use IOR_HARD_REG_SET instead of
2397 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2399 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
2400 the currently visited word to right.
2402 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2405 * expmed.c (expand_smod_pow2): Handle modes whose size
2406 is greater than that of HOST_WIDE_INT.
2408 2004-10-18 Ziemowit Laski <zlaski@apple.com>
2410 * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
2412 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2413 Roger Sayle <roger@eyesopen.com>
2416 * dojump.c (discard_pending_stack_adjust): New function.
2417 (clear_pending_stack_adjust): Call it.
2418 * expr.h (discard_pending_stack_adjust): Declare it.
2419 * explow.c (emit_stack_save): Emit pending stack adjustments
2420 before saving the stack pointer.
2421 (emit_stack_restore): Discard pending stack adjustments before
2422 restoring the stack pointer.
2424 2004-10-18 Richard Henderson <rth@redhat.com>
2426 * c-common.c (handle_mode_attribute): Allow scalar->vector
2429 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2431 * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
2432 value to expand_assignment.
2434 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2436 * tree-cfg.c (cleanup_tree_cfg): Don't iterate on
2438 (thread_jumps): Iterate until no new forwarder block arises.
2440 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2442 * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
2443 (thread_jumps): Use forwardable as cache of
2444 tree_forwarder_block_p throughout the function.
2446 2004-10-18 Andreas Krebbel <krebbel1@de.ibm.com>
2448 * cfg.c (dump_flow_info): Remove redundant dump of reg life info.
2450 2004-10-18 Andrew Pinski <pinskia@physics.uc.edu>
2454 * tree-cfg.c (remove_bb): If we have a label expression in the
2455 basic block and the label we have taken the address, move the
2456 label expression to the basic block which is previous in the
2458 (tree_verify_flow_info): Fix printing out the label name of the
2459 problematic label expression.
2461 2004-10-18 Pat Haugen <pthaugen@us.ibm.com>
2463 PR rtl-optimization/18002
2464 * simplify-rtx.c (mode_signbit_p): Externalize function...
2465 * rtl.h (mode_signbit_p): ... to here.
2466 * combine.c (simplify_shift_const): Recognize PLUS signbit as
2467 canonical form of XOR signbit and move to outer op.
2469 2004-10-18 Diego Novillo <dnovillo@redhat.com>
2471 * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
2473 * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
2474 Don't call fold_stmt more than once, use bsi_replace.
2476 2004-10-18 Diego Novillo <dnovillo@redhat.com>
2478 PR tree-optimization/17656
2479 * tree-ssa.c (replace_immediate_uses): When replacing a
2480 constant, if the call to fold_stmt produced a different
2481 statement, get an appropriate statement pointer by scanning
2484 2004-10-18 Richard Henderson <rth@redhat.com>
2486 * pointer-set.c (hash1): Don't use libm functions in fallback case.
2488 2004-10-18 H.J. Lu <hongjiu.lu@intel.com>
2491 * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
2492 (stage1-start): Remove and copy libunwind.a and
2493 libunwind*$(SHLIB_EXT) instead of libunwind*.
2494 (stage2-start): Likewise.
2495 (stage3-start): Likewise.
2496 (stage4-start): Likewise.
2497 (stageprofile-start): Likewise.
2498 (stagefeedback-start): Likewise.
2500 * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
2501 the shared library to be created and don't remove the existing
2503 * config/arm/t-netbsd (SHLIB_LINK): Likewise.
2504 * config/i386/t-nwld (SHLIB_LINK): Likewise.
2505 * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
2506 * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
2507 * config/sh/t-linux (SHLIB_LINK): Likewise.
2508 * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
2509 * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
2510 * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
2511 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
2513 * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
2516 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2518 * basic-block.h (reg_set_iterator): New.
2519 (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
2520 (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
2521 (EXECUTE_IF_AND_IN_REG_SET): Likewise.
2522 * caller-save.c (save_call_clobbered_regs): Adjust to the new
2524 * cfgcleanup.c (thread_jump): Likewise.
2525 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
2526 * conflict.c (conflict_graph_compute): Likewise.
2527 * flow.c (verify_local_live_at_start, update_life_info,
2528 initialize_uninitialized_subregs, propagate_one_insn,
2529 init_propagate_block_info, free_propagate_block_info,
2530 propagate_block, dump_regset): Likewise.
2531 * global.c (global_conflicts): Likewise.
2532 * graph.c (start_bb): Likewise.
2533 * local-alloc.c (update_equiv_regs): Likewise.
2534 * loop.c (load_mems): Likewise.
2535 * reload1.c (compute_use_by_pseudos, order_regs_for_reload,
2536 find_reg, finish_spills): Likewise.
2537 * resource.c (mark_target_live_regs): Likewise.
2538 * sched-deps.c (sched_analyze_insn): Likewise.
2539 * sched-rgn.c (sched-rgn.c): Likewise.
2540 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
2542 2004-10-18 Jakub Jelinek <jakub@redhat.com>
2544 * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
2545 operand 1 instead of 2
2547 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2549 * loop-unroll.c: Fix comment typos.
2551 2004-10-18 Revital Eres <eres@il.ibm.com>
2553 * Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
2554 * loop-unroll.c: Include varray.h.
2555 (struct var_to_expand, struct opt_info): Rename split_ivs_info to
2556 opt_info and expand it to support variable expansion.
2557 (analyze_insns_in_loop): Rename analyze_ivs_to_split and
2558 expand it to support variable expansion.
2559 (pt_info_start_duplication): Rename si_info_start_duplication.
2560 (apply_opt_in_copies): Rename split_ivs_in_copies and add support
2561 to the variable expansion optimization.
2562 (free_opt_info): Rename free_si_info.
2563 (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
2564 expand_var_during_unrolling, insert_var_expansion_initialization,
2565 combine_var_copies_in_loop_exit, release_var_copies,
2566 get_expansion): New functions.
2567 (peel_loop_completely, unroll_loop_constant_iterations,
2568 unroll_loop_runtime_iterations, peel_loop_simple,
2569 unroll_loop_stupid): Change uses of struct si_info
2571 and add uses of fvariable-expansion-in-unroller flag.
2572 * params.def: Add parameter to restrict the number of expansions.
2573 * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
2574 the number of expansions.
2575 * common.opt: (fvariable-expansion-in-unroller): New flag.
2576 * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
2578 2004-10-18 Danny Smith <dannysmith@users.sourceforge.net>
2580 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
2581 __GXX_MERGED_TYPEINFO_NAMES to 0.
2583 2004-10-17 Hans-Peter Nilsson <hp@bitrange.com>
2585 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
2586 handle barriers in a bb by checking that it points to a NULL bb.
2587 * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
2588 (emit_barrier_after, emit_barrier): Ditto.
2590 2004-10-18 Joseph S. Myers <jsm@polyomino.org.uk>
2592 * doc/extend.texi (Attribute Syntax): Clarify details of
2593 attributes on parameters.
2595 2004-10-17 Zdenek Dvorak <dvorakz@suse.cz>
2597 * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
2600 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
2603 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
2605 * c-typeck.c (default_function_array_conversion): Always create
2606 &a[0] for array types.
2607 (build_unary_op): Do not fold &a[x] into a + x.
2609 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
2612 * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
2613 block if there is a goto with a locus.
2615 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
2617 * config/elfos.h, config/gofast.h, config/interix.h,
2618 config/netbsd.h, config/svr3.h, config/vxworks.h,
2619 config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
2620 config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
2621 config/alpha/netbsd.h, config/arm/arm-modes.def,
2622 config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
2623 config/cris/aout.h, config/frv/frv-modes.def,
2624 config/i386/beos-elf.h, config/i386/gas.h,
2625 config/i386/i386-coff.h, config/i386/i386-modes.def,
2626 config/i386/linux.h, config/i386/linux64.h,
2627 config/i386/mingw32.h, config/i386/netbsd-elf.h,
2628 config/i386/netbsd64.h, config/i386/sco5.h,
2629 config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
2630 config/ia64/ia64-modes.def, config/ia64/itanium1.md,
2631 config/ia64/itanium2.md, config/m68k/m68k-modes.def,
2632 config/mips/mips-modes.def, config/mips/sdb.h,
2633 config/mips/vr.h, config/mips/vxworks.h,
2634 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
2635 config/pa/pa32-linux.h, config/rs6000/40x.md,
2636 config/rs6000/7450.md, config/rs6000/8540.md,
2637 config/rs6000/linuxspe.h, config/rs6000/power4.md,
2638 config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
2639 config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
2640 config/s390/s390-modes.def, config/sh/elf.h,
2641 config/sh/sh-modes.def, config/sh/sh64.h,
2642 config/sparc/ultra1_2.md, config/sparc/ultra3.md,
2643 config/stormy16/stormy16.md, config/v850/v850-protos.h,
2644 config/vax/vax.md: Update copyright.
2646 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
2648 * expr.c (expand_expr_real_1): Remove an obsolete comment.
2650 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
2652 * c-typeck.c (default_function_array_conversion): Always create
2653 &a[0] for array types.
2654 (build_unary_op): Do not fold &a[x] into a + x.
2656 2004-10-17 Jakub Jelinek <jakub@redhat.com>
2658 * pointer-set.c (hash1): Use integer part of 2^64 / phi
2659 instead 2^32 / phi if long is 64-bit.
2661 2004-10-17 Joseph S. Myers <jsm@polyomino.org.uk>
2663 * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
2665 * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
2667 (reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
2668 __ptrextent__, __ptrvalue and __ptrvalue__.
2669 (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
2672 2004-10-16 Dale Johannesen <dalej@apple.com>
2674 * c-common.c (c_common_get_alias_set): Use GGC for type_hash_table.
2676 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
2678 PR tree-optimization/17766
2679 * basic-block.h (enum dom_state): DOM_CONS_OK removed.
2680 (dom_info_available_p): Declare.
2681 * cfghooks.c (split_block, make_forwarder_block): Use
2682 dom_info_available_p.
2683 * dominance.c (compute_dom_fast_query, calculate_dominance_info,
2684 free_dominance_info, verify_dominators): Ditto.
2685 (dom_info_available_p): New function.
2686 * tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
2687 (thread_jumps): Use dom_info_available_p.
2688 * tree-complex.c (expand_complex_div_wide): Ditto.
2689 * tree-mudflap.c (mf_build_check_statement_for): Ditto.
2691 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
2693 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
2694 (find_best_candidate): Take also important candidates into account.
2695 (find_optimal_iv_set): Initialize important_candidates bitmap.
2697 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
2699 PR tree-optimization/17560
2700 * predict.c (tree_estimate_probability): Mark irreducible
2703 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
2705 PR rtl-optimization/17723
2706 * cfgcleanup.c (merge_memattrs): Handle case when
2707 MEM_SIZE == NULL_RTX.
2709 2004-10-15 Andrew Pinski <pinskia@physics.uc.edu>
2711 * toplev.c (dump_file_name): Change type to be const.
2713 2004-10-15 Joseph S. Myers <jsm@polyomino.org.uk>
2715 * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
2716 non_lvalue to stop something being a null pointer constant.
2718 2004-10-15 Aldy Hernandez <aldyh@redhat.com>
2720 * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
2721 available for TARGET_FPRS.
2722 (FUNCTION_VALUE_REGNO_P): Same.
2724 2004-10-15 Geoffrey Keating <geoffk@apple.com>
2726 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
2727 -maltivec in same style as other ISA options.
2729 2004-10-15 Jon Grimm <jgrimm2@us.ibm.com>
2731 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
2734 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
2736 * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
2737 collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
2738 gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
2739 genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
2740 gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
2741 gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
2742 lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
2743 predict.def, predict.h, protoize.c, reload.h, resource.h,
2744 rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
2745 tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
2746 unwind-sjlj.c, value-prof.h: Update copyright.
2748 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
2750 * pointer-set.c, tree-vectorizer.c: Fix comment typos.
2752 2004-10-15 Diego Novillo <dnovillo@redhat.com>
2754 * tree-optimize.c (execute_one_pass): Stop timer right after
2757 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2760 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2763 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
2764 (remove_useless_stmts_1): Fold trees we know how to fold.
2766 2004-10-14 David Edelsohn <edelsohn@gnu.org>
2768 * configure.ac: Add .machine power4 directive when testing for
2770 * configure: Regenerate.
2772 2004-10-14 Geoffrey Keating <geoffk@apple.com>
2774 * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
2776 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2778 * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
2781 2004-10-14 Daniel Jacobowitz <dan@codesourcery.com>
2783 * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
2784 for 'f' if !TARGET_FPRS.
2786 2004-10-14 Richard Henderson <rth@redhat.com>
2789 * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
2791 2004-10-14 Richard Henderson <rth@redhat.com>
2794 * c-decl.c (store_parm_decls_oldstyle): Care for parameter type
2796 * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
2797 instaed of current_function_decl non-null.
2799 2004-10-14 Matt Austern <austern@apple.com>
2801 * pointer-set.c: New file, special-purpose hash table.
2802 * pointer-set.h: New file.
2803 * tree.h (struct pointer_set_t): Declare as opaque type.
2804 (tree_walk): Last argument is pointer_set_t* now.
2805 * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
2807 (walk_tree): Convert from htab_t to pointer_set_t for keeping
2808 track of which nodes have already been visited.
2809 (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
2810 * cgraphunit.c (cgraph_create_edges): Likewise.
2811 (cgraph_characterize_statics_local): Likewise.
2812 * tree-dfa.c (collect_dfa_stats): Likewise.
2813 * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
2815 * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
2816 * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
2817 of walk_subtrees is pointer_set_t* now.
2818 * Makefile.in (OBJS-common): add pointer-set.o
2819 (tree-inline.o): Depends on pointer-set.h
2820 (tree-dfa.o): Likewise
2821 (cgraphunit.o): Likewise
2823 2004-10-14 Geoffrey Keating <geoffk@apple.com>
2825 * config/rs6000/darwin.h (ASM_SPEC): Delete.
2826 (TARGET_ASM_FILE_START): Define.
2827 * config/darwin.h (ASM_SPEC): Define.
2828 * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
2829 -mlong-double-128, it's the default. Update comment about reason
2830 for force_cpusubtype_ALL.
2831 * config/rs6000/darwin-vecsave.asm: Supply .machine.
2832 * config/rs6000/darwin-world.asm: Likewise.
2833 * config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
2834 (symbolic_operand): Delete #if 0ed code.
2836 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2838 * stmt.c (add_case_node): Make sure that we have integer
2839 constant before calling tree_int_cst_compare.
2841 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2845 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
2846 (remove_useless_stmts_1): Fold trees we know how to fold.
2848 2004-10-14 Joseph S. Myers <joseph@codesourcery.com>
2850 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
2851 config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
2854 2004-10-14 Ulrich Weigand <uweigand@de.ibm.com>
2856 * reload.c (find_reloads): When reloading a PLUS with constant
2857 operand, make sure the constant is pushed to the constant pool
2859 * config/s390/s390.c (s390_secondary_input_reload_class): Remove
2860 reload bug workaround.
2861 (s390_expand_plus_operand): Likewise.
2863 2004-10-14 David Edelsohn <edelsohn@gnu.org>
2865 * opts.c (common_handle_option): Do not enable
2866 flag_speculative_prefetching for -fprofile-generate/use.
2868 2004-10-14 Devang Patel <dpatel@apple.com>
2871 * tree-if-conv.c (process_phi_nodes): Process latch block.
2872 (combine_blocks): Process latch block and update loop structure.
2874 2004-10-14 Olga Golovanevsky <olga@il.ibm.com>
2876 * tree-vectorizer.c (vect_generate_tmps_on_preheader):
2877 (vect_update_ivs_after_vectorizer):
2878 (vect_transform_for_unknown_loop_bound):
2879 (tree_duplicate_loop_to_edge):
2880 (allocate_new_names):
2883 (rename_variables_in_bb):
2885 (rename_variables_in_loop):
2887 (update_phis_for_duplicate_loop):
2888 (update_phi_nodes_for_guard):
2889 (make_loop_iterate_ntimes):
2890 (tree_duplicate_loop_to_edge_cfg):
2892 (vect_analyze_loop_with_symbolic_num_of_iters):
2893 (verify_loop_for_duplication):
2894 (vect_gen_niters_for_prolog_loop):
2895 (vect_update_niters_after_peeling):
2896 (vect_update_inits_of_dr):
2897 (vect_update_inits_of_drs):
2898 (vect_build_loop_niters):
2899 (vect_do_peeling_for_alignment): New functions.
2900 (vect_transform_loop): Add unknown and known but indivisible loop
2901 bound support; add peeling for unalignment support.
2902 (vect_analyze_loop_form): Support symbolic number of iterations.
2903 (vect_transform_loop_bound): New input parameter.
2904 (vect_get_loop_niters): Change input parameter type.
2905 (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
2906 (vectorizable_store): Allow unaligned access.
2907 (vectorize_loops): Add rewrite_into_loop_closed_ssa.
2908 (vect_analyze_data_refs_alignment): Allowed one unaligned
2910 * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
2912 (LOOP_VINFO_INT_NITERS): New macro.
2913 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
2914 (do_peeling_for_alignment):
2915 (unaligned_drs): New members of _loop_vec_info.
2916 (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
2918 2004-10-14 Ranjit Mathew <rmathew@hotmail.com>
2920 * tree.h (TREE_STRING_POINTER): Wrap in "const char *".
2921 (struct tree_string): Remove "const" qualifier for "str".
2923 2004-10-14 Ira Rosen <irar@il.ibm.com>
2925 * tree-vectorizer.c (vect_analyze_data_refs): Call
2926 vect_get_base_and_bit_offset to get memory tag for array ref.
2927 (vect_create_addr_base_for_vector_ref): Remove redundant checks.
2929 2004-10-14 Richard Earnshaw <rearnsha@arm.com>
2931 * configure.ac: Use $LN_S for creating symlinks (not $LN).
2932 * configure: Regenerate.
2934 2004-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2936 * doc/install.texi (*-*-solaris2*): Update with info about kernel
2937 patches to solve spurious testsuite failures.
2939 2004-10-14 Dorit Naishlos <dorit@il.bim.com>
2941 * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
2942 Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
2943 (vect_analyze_operations): Make sure the vectorization factor > 1. Add
2944 gcc_assert under ENABLE_CHECKING.
2945 (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
2946 get_vectype_for_scalar_type).
2948 (vect_get_vec_def_for_operand): Remove redundant variables.
2949 (vect_transform_loop): Likewise.
2951 2004-10-14 Richard Sandiford <rsandifo@redhat.com>
2953 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
2954 global for -mcaller-super-interworking.
2955 (CALLER_INTERWORKING_SLOT_SIZE): New macro.
2956 * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
2957 CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
2958 not need a frame pointer.
2959 (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
2960 the soft frame pointer offset.
2961 (thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
2962 * config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
2963 _interwork_{r7,r11}_call_via_rN if some arguments are passed on
2964 the stack. Use frame_pointer_needed to choose between them.
2965 * config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
2966 (interwork_with_frame): New macro.
2967 (interwork): Add _interwork_{r7,r11}_call_via_rN().
2969 2004-10-14 Ben Elliston <bje@au.ibm.com>
2972 * diagnostic.c (trim_filename): Fix logic bug in walking backwards
2973 up the filename looking for a previous directory separator.
2975 2004-10-14 Joseph S. Myers <jsm@polyomino.org.uk>
2977 * c-tree.h (enum c_typespec_kind, struct c_typespec,
2978 parser_xref_tag): New.
2979 (struct c_declspecs): Add tag_defined_p. Adjust definition of
2981 (declspecs_add_type): Adjust prototypes.
2982 * c-parse.in (%union): Add tstype.
2983 (typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
2984 typespec_reserved_attr, typespec_nonreserved_nonattr,
2985 structsp_attr, structsp_nonattr): Change to tstype. Update
2987 * c-decl.c (build_null_declspecs): Initialize tag_defined_p.
2988 (declspecs_add_type): Update to take struct c_typespec argument.
2989 Set tag_defined_p and typedef_p as appropriate.
2990 (xref_tag): Rename to parser_xref_tag and replace by wrapper.
2991 Update to return struct c_typespec.
2992 (shadow_tag_warned): Don't let empty declarations with qualifiers
2993 or storage class specifiers redeclare a tag if a previous
2994 declaration is visible.
2996 2004-10-13 Richard Henderson <rth@redhat.com>
2999 * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
3000 for DECL_INCOMING_RTL.
3002 2004-10-14 Hans-Peter Nilsson <hp@axis.com>
3005 * config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
3006 trunc_int_for_mode for constants used in shortened mode.
3008 2004-10-13 Richard Henderson <rth@redhat.com>
3011 * c-common.c (handle_mode_attribute): Disallow mode changes that
3012 alter the CODE of the top-level type.
3014 * crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit
3015 integer from internal limits macros.
3016 * config/i386/mm3dnow.h (__v2sf): Fix base type.
3018 2004-10-13 Richard Henderson <rth@redhat.com>
3021 * function.c (instantiate_decl): Recurse for CONCAT.
3023 2004-10-13 David Edelsohn <edelsohn@gnu.org>
3025 * config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
3028 (extzvdi_internal1): Add attribute "compare".
3029 (extzvdi_internal2): Same.
3031 2004-10-12 Tom Tromey <tromey@redhat.com>
3033 * doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
3035 2004-10-13 Dale Johannesen <dalej@apple.com>
3037 * doc/extend.texi (Extended Asm): Rewrite asm volatile description.
3039 2004-10-13 Frank Ch. Eigler <fche@redhat.com>
3041 * toplev.c (compile_file): Call mudflap_finish_file from here ...
3042 * c-decl.c (c_write_global_declarations): ... instead of here ...
3043 * cp/decl.c (cp_finish_file): ... and here.
3044 * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
3046 2004-10-13 Andrew Pinski <pinskia@physics.uc.edu>
3048 * tree-ssa-dom.c (record_range): Free the element if we are not
3051 2004-10-13 Tom Tromey <tromey@redhat.com>
3054 * gcc.c (option_map): Added --extdirs and --encoding.
3056 2004-10-13 Eric Botcazou <ebotcazou@libertysurf.fr>
3059 * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
3060 sparc_can_output_mi_thunk.
3061 (sparc_output_mi_thunk): Simplify handling of delta offset. Add
3062 handling of vcall offset.
3063 (sparc_can_output_mi_thunk): New predicate.
3064 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
3065 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
3066 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
3068 * config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
3070 * config/sparc/sparc.md (movdi): Remove redundant test.
3072 2004-10-13 Paolo Bonzini <bonzini@gnu.org>
3074 * tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
3075 TDF_IPA from -fdump-tree-*-all.
3077 2004-10-13 Paul Brook <paul@codesourcery.com>
3079 * config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
3080 * config/arm/arm.c (thumb_find_work_register): Update comments.
3081 (arm_load_pic_register): Add argument for scratch register.
3082 (arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
3083 * config/arm/arm.md (builtin_setjmp_receiver): Ditto.
3085 2004-10-13 Kazu Hirata <kazu@cs.umass.edu>
3087 * tree-data-ref.c: Fix comment typos.
3089 2004-10-13 Jakub Jelinek <jakub@redhat.com>
3090 Zdenek Dvorak <dvorakz@suse.cz>
3092 PR tree-optimization/17724
3093 * tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
3095 2004-10-13 Dorit Naishlos <dorit@il.ibm.com>
3097 * rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
3098 (altivec_builtin_mask_for_store): Likewise.
3099 (altivec_init_builtins): Use lang_hooks.builtin_function to
3100 create the decls for builtin_altivec_mask_for_load/store.
3102 2004-10-13 Nick Clifton <nickc@redhat.com>
3104 * config/c4x/c4x.c: Remove inclusion of loop.h.
3106 2004-10-12 Ben Elliston <bje@au.ibm.com>
3108 * basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
3109 (ei_container): New; renamed.
3110 (ei_start, ei_last): New macros.
3111 (ei_start_1, ei_last_1): Renamed from ei_start.
3112 (ei_last_1, ei_end_p): Use ei_container() where applicable.
3113 (ei_one_before_end_p, ei_next, ei_edge): Likewise.
3114 * gcse.c (remove_reachable_equiv_notes): Use ei_container().
3116 2004-10-11 Sebastian Pop <pop@cri.ensmp.fr>
3118 * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
3119 * cfgloop.c (initialize_loops_parallel_p): New.
3120 (flow_loops_find): Initialize the parallel_p field to true for all
3122 * tree-ssa-loop-niter.c: Include "tree-data-ref.h".
3123 (estimate_numbers_of_iterations_loop): Infers the loop bounds from
3124 the size of the data accessed in the loop.
3125 (struct nb_iter_bound): Moved...
3126 * cfgloop.h (struct nb_iter_bound): ... here.
3127 (estimated_nb_iterations, parallel_p): New fields in struct loop.
3128 (record_estimate): Declare extern here.
3129 * tree-chrec.c: Fix comments.
3130 (nb_vars_in_chrec): New function.
3131 * tree-chrec.h (nb_vars_in_chrec): Declared here.
3132 * tree-data-ref.c: Don't include lambda.h, that is already included
3134 (tree_fold_divides_p): Don't check for integer_onep.
3135 (tree_fold_bezout): Removed.
3136 (gcd): New static duplicated function.
3137 (int_divides_p, dump_subscript): New.
3138 (dump_data_dependence_relation): Use dump_subscript.
3139 (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
3140 estimate_niter_from_size_of_data): New.
3141 (analyze_array_indexes, analyze_array): Call
3142 estimate_niter_from_size_of_data during the detection of array
3143 references. Pass in a pointer to the statement that contains the
3145 (all_chrecs_equal_p): New.
3146 (compute_distance_vector): Renamed compute_subscript_distance.
3147 Deal with multivariate conflict functions.
3148 (initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
3149 DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
3150 (non_affine_dependence_relation): New.
3151 (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
3152 analyze_siv_subscript, analyze_miv_subscript,
3153 analyze_overlapping_iterations, subscript_dependence_tester):
3154 Initialize and return last_conflicts function.
3155 (initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
3156 compute_overlap_steps_for_affine_1_2): New.
3157 (analyze_siv_subscript_affine_cst): Removed.
3158 (analyze_subscript_affine_affine): Disprove dependences based on the
3159 iteration domains. Solve the univariate dependence case as before,
3160 but use lambda_matrix_right_hermite instead of tree_fold_bezout.
3161 Implement the multivariate case of 2 versus 1 variables.
3162 (build_classic_dist_vector, build_classic_dir_vector): Implement some
3164 (find_data_references_in_loop): Compute and initialize
3165 loop->estimated_nb_iterations and loop->parallel_p.
3166 (analyze_all_data_dependences): Modify the debug dump order.
3167 * tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
3168 subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
3169 (SUB_LAST_CONFLICT, subscript->last_conflict,
3170 data_dependence_relation->affine_p, data_dependence_relation->size_vect,
3171 DDR_AFFINE_P, DDR_SIZE_VECT): New.
3172 (find_data_references_in_loop, initialize_data_dependence_relation,
3173 dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
3175 2004-10-12 Kelley Cook <kcook@gcc.gnu.org>
3177 * configure: Regenerate.
3179 2004-10-12 Fariborz Jahanian <fjahanian@apple.com>
3182 * tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
3183 (simplify_rhs_and_lookup_avail_expr): Disallow associativity
3184 and constant folding of floating point MULT_EXPR/PLUS_EXPR
3187 2004-10-12 Ulrich Weigand <uweigand@de.ibm.com>
3189 * config/s390/s390.c (s390_va_start): Use build_va_arg_indirect_ref.
3190 (s390_gimplify_va_arg): Likewise.
3192 2004-10-12 Daniel Jacobowitz <dan@debian.org>
3194 * defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P)
3195 (MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P)
3196 (REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions.
3197 * regclass.c (record_address_regs): Remove ifdef. Use
3198 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
3199 * regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary
3201 (scan_rtx_address, replace_oldest_value_addr): Use
3202 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
3203 * reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove
3204 unnecessary definitions.
3205 (find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P
3206 and MODE_BASE_REG_REG_CLASS.
3207 * config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed.
3208 (MODE_BASE_REG_REG_CLASS): Define.
3209 (REGNO_MODE_OK_FOR_REG_BASE_P): Define.
3210 (REG_MODE_OK_FOR_REG_BASE_P): Define.
3211 * doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS,
3212 REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P.
3214 2004-10-12 Daniel Berlin <dberlin@dberlin.org>
3216 * tree-ssa-alias.c (verify_name_tags): New function.
3217 (verify_flow_sensitive_alias_info): Remove code that used to check name tags.
3218 (verify_alias_info): Call verify_name_tags.
3220 2004-10-12 Kazu Hirata <kazu@cs.umass.edu>
3222 PR rtl-optimization/17931
3223 * config/i386/i386.c (ix86_rtx_costs): Handle COMPARE with
3226 2004-10-12 Richard Earnshaw <rearnsha@arm.com>
3228 * arm.c (arm_print_operand): Use output_operand_lossage where possible
3229 rather than aborting.
3231 2004-10-12 Paul Brook <paul@coudesourcery.com>
3233 * config.gcc: Add armv6{k,z,zk}
3234 * config/arm/arm-cores.def: Add arm1176 and mpcore.
3235 * config/arm/tune.md: Regenerate.
3236 * config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK):
3238 (all_architectures): Add armv6k, armv6z, armv6zk.
3239 * config/arm/lib1funcs.asm: Recognise new arm arcitectures.
3240 * doc/invoke.texi: Document new arch and cpu values.
3242 2004-10-12 Paul Brook <paul@coodesourcery.com>
3244 * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Change meabi=3 to
3247 2004-10-12 Paul Brook <paul@codesourcery.com>
3249 * config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints.
3250 Handle negative constants.
3252 2004-10-12 Joseph S. Myers <jsm@polyomino.org.uk>
3255 * c-typeck.c (convert_arguments): Return error_mark_node if there
3256 are too few arguments.
3257 (build_function_call): Handle error_mark_node return from
3260 2004-10-06 Paolo Bonzini <bonzini@gnu.org>
3262 * configure.ac (symbolic_link): Replace with $LN_S.
3263 (Assembler/Linker): Hard link from gas and binutils trees.
3264 * aclocal.m4 (gcc_AC_PROG_LN_S): Try "cp -p" before cp.
3265 * configure: Regenerate.
3267 2004-10-12 Paul Brook <paul@codesourcery.com>
3269 * configure.ac: Don't look for host assembler when building a canadian
3271 * configure: Regenerate.
3273 2004-10-11 Roger Sayle <roger@eyesopen.com>
3276 * c-opts.c (permit_fortran_options): Delete/obsolete global variable.
3277 (c_common_init_options): Remove #ifdef CL_F77 code. Scan command
3278 line options for "-lang-asm" and if found allow any of the C-family
3280 (c_common_handle_option): Remove last use of permit_fortran_options.
3282 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
3284 * config/s390/s390.c (print_operand): Support 'S' format flag.
3285 * config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag.
3286 ("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise.
3287 ("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise.
3288 ("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise.
3289 ("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise
3290 ("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise.
3291 ("*movstricthi"): Likewise.
3292 ("*load_multiple_di", "*load_multiple_si"): Likewise.
3293 ("*store_multiple_di", "*store_multiple_si"): Likewise.
3294 ("*sethiqisi", "*sethihisi"): Likewise.
3295 ("*sethiqidi_64", "*sethiqidi_31"): Likewise.
3296 ("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise.
3297 ("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise.
3298 ("*xorqi3", "*xc", "*xc_zero"): Likewise.
3299 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise.
3301 ("*tmhi_full"): Fix incorrect op_type attribute.
3303 ("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash.
3304 ("*subdi3_slb_cc", "*subdi3_slb"): Likewise.
3305 ("*addsi3_alc_cc", "*addsi3_alc"): Likewise.
3306 ("*subsi3_slb_cc", "*subsi3_slb"): Likewise.
3308 2004-10-11 Andrew Pinski <pinskia@physics.uc.edu
3311 * function.c (temp_slots_at_level): Fix typo which creates too
3312 many temp stack slots levels.
3314 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
3316 * config/s390/s390.c (s390_trampoline_template): Generate shorter
3318 (s390_trampoline_instantiate): Adapt.
3319 * config/s390/s390.h (TRAMPOLINE_SIZE): Adapt to new code.
3321 2004-10-11 Roger Sayle <roger@eyesopen.com>
3324 * stmt.c (add_case_node): Add additional type argument. Declare
3325 as static to match prototype. Convert the upper and lower bounds
3326 to the specified index type. Optimize away case ranges/values
3327 that are outside the index type's bounds. Truncate case ranges
3328 that span the index type's bounds.
3329 (expand_case): Avoid unnessary computation and memory allocation
3330 when index type is error_mark_node. Pass index_type as required
3331 by change to add_case_node API. No need to convert case range
3332 bounds to index_type, this is now done by add_case_node.
3334 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
3336 * config/s390/s390-protos.h (s390_offset_p): Add prototype.
3337 * config/s390/s390.c (s390_offset_p): New function.
3338 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu",
3339 "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to
3340 transform Q->Q alternatives to *clc pattern.
3342 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
3343 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter
3344 to transform Q->Q alternatives to *mvc pattern.
3345 ("*mvc"): Move. Add peephole to merge adjacent MVCs.
3346 ("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch",
3347 "*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to
3348 transform Q->Q alternatives to *nc pattern.
3349 ("*nc"): New insn. New peephole to merge adjacent NCs.
3350 ("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch",
3351 "*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to
3352 transform Q->Q alternatives to *oc pattern.
3353 ("*oc"): New insn. New peephole to merge adjacent OCs.
3354 ("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to
3355 transform Q->Q alternatives to *xc pattern.
3356 ("*xc"): New insn. New peephole to merge adjacent XCs.
3357 ("*xc_zero"): Move. Add peephole to merge adjacent XCs.
3359 2004-10-11 Andrew Pinski <pinskia@physics.uc.edu>
3361 * gimplify.c (gimple_push_condition): Make sure that we don't
3362 have any saved condition cleanup if we were at the top level.
3364 2004-10-11 Richard Sandiford <rsandifo@redhat.com>
3366 * config/frv/frv.md (*adddi3_internal): Change name to...
3367 (adddi3): ...replacing the exisiting define_expand. Combine
3368 alternatives. Fix the range of the constant constraints ('J' instead
3369 of 'NOP'). Remove bogus operands[2] check. Use simplify_gen_subreg
3370 to extract the lower and upper halves of the DImode operands.
3371 Always use addi3_lower and adddi3_upper, not the subdi3 forms.
3372 (adddi3_lower): Fix the range of the constant constraints and
3373 remove the bogus operands[2] check.
3374 (adddi3_upper): Use gpr_or_int10_operand as the predicate for
3375 operand 2. Use addxi to handle constant operands.
3376 (subdi3_lower, subdi3_upper): Don't handle constant operands.
3378 2004-10-11 Nathan Sidwell <nathan@codesourcery.com>
3380 * gengtype-lex.l: Add commented } & ) characters to unconfuse
3381 editor's paren matching. Allow #define inside a struct.
3383 2004-10-10 Andrew Pinski <pinskia@physics.uc.edu>
3386 part of PR c++/17657
3387 * fold-const.c (fold_build_cleanup_point_expr): New function.
3388 * tree.h (fold_build_cleanup_point_expr): Prototype.
3390 2004-10-10 Eric Christopher <echristo@redhat.com>
3392 * dwarf2out.c: Move attribute to subprogram declaration
3393 instead of subroutine type.
3395 2004-10-10 Kazu Hirata <kazu@cs.umass.edu>
3397 * basic-block.h: Remove the prototypes for can_hoist_insn_p,
3398 hoist_insn_after, and hoist_insn_to_edge.
3399 * rtl.h: Remove the prototypes for reg_referenced_between_p,
3400 no_jumps_between_p, and insn_dependent_p.
3401 * rtlanal.c (no_jumps_between_p, reg_referenced_between_p,
3402 insn_dependent_p, insn_dependent_p_1, hoist_test_store,
3403 can_hoist_insn_p, hoist_update_store, hoist_insn_after,
3404 hoist_insn_to_edge): Remove.
3406 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
3409 * c-decl.c (grokparms): Don't warn for parameters of incomplete
3410 type in declarations that are not definitions except for the case
3411 of parameters of void type.
3413 2004-10-10 Kazu Hirata <kazu@cs.umass.edu>
3415 * tree-cfg.c: Fix comment typos.
3417 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
3420 * builtins.c (expand_builtin_va_start): Check for too few
3421 arguments to va_start.
3423 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
3426 * c-decl.c (grokfield): Make diagnostic for bad cases of unnamed
3427 fields a pedwarn. Pedwarn here for unnamed structs/unions if
3429 * c-parse.in (component_decl): Don't pedwarn here for unnamed
3432 2004-10-09 Zdenek Dvorak <dvorakz@suse.cz>
3434 PR tree-optimization/17906
3435 * tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to
3436 copy non-gimple reg arguments.
3438 2004-10-09 Roger Sayle <roger@eyesopen.com>
3440 PR rtl-optimization/17853
3441 * simplify-rtx.c (simplify_relational_operation): Correct comment.
3442 Reorganize handling of comparison operations with floating point
3443 results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
3444 Likewise, introduce support for comparison operations with vector
3445 result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
3447 * doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
3448 * doc/tm.texi: Likewise.
3450 2004-10-09 Steven Bosscher <stevenb@suse.de>
3452 * regs.h (struct reg_info_def): Remove the last_node_uid and
3453 changes_mode fields.
3454 (REGNO_LAST_NOTE_UID): Don't define.
3455 * regclass.c (reg_scan_mark_refs): Don't set REGNO_LAST_NOTE_UID.
3456 * regmove.c (copy_src_to_dest): Likewise.
3458 2004-10-09 Roger Sayle <roger@eyesopen.com>
3461 * fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the
3462 relational comparison operator op needs to be swapped/reversed when
3463 C1 is negative. i.e. X/-10 < 1 becomes X >= -9, not X < -9.
3465 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
3468 * tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels
3469 instead of bsi_start.
3470 (value_replacement): Likewise.
3471 (abs_replacement): Likewise
3473 2004-10-09 Steven Bosscher <stevenb@suse.de>
3475 * cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
3476 (expand_gimple_cond_expr, expand_gimple_tailcall,
3477 expand_gimple_basic_block): Use it to dump RTL for each stmt.
3478 (tree_expand_cfg): Announce full RTL function dump.
3479 * tree-optimize.c (execute_one_pass): Use normal RTL printing,
3480 not the graph version.
3481 * tree-pretty-print.c (dump_generic_node): Allow empty statements