OSDN Git Service

(iq2000_expand_epilogue): Use emit_jump_insn() to generate the return
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2004-10-28  Nick Clifton  <nickc@redhat.com>
2
3         * config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
4         emit_jump_insn() to generate the return instruction.
5
6 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
7
8         * tree-phinodes.c: Remove trailing whitespace.
9
10 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
11
12         * tree-ssa-loop-ivopts.c: Fix a comment typo.
13         * doc/invoke.texi: Fix a typo.
14
15 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
16
17         * Makefile.in (OBJS-common): Remove duplicates.
18
19 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
20
21         * lambda-code.c (nestify_update_pending_stmts): Remove.
22         (perfect_nestify): Use flush_pending_stmts instead of
23         nestify_update_pending_stmts.
24         * tree-cfg.c (tree_make_forwarder_block): Use
25         flush_pending_stmts.
26         * tree-flow.h: Add a prototype for flush_pending_stmts.
27         * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
28         Use flush_pending_stmts.
29         (lv_update_pending_stmts): Remove.
30         (tree_ssa_loop_version): Use flush_pending_stmts instead of
31         lv_update_pending_stmts.
32         * tree-ssa.c (flush_pending_stmts): New.
33
34 2004-10-28  Ulrich Weigand  <uweigand@de.ibm.com>
35
36         PR target/15286
37         * final.c (alter_subreg): Compute correct offset to use with
38         paradoxical SUBREGs of memory operands.
39         * recog.c (general_operand): Allow paradoxical SUBREGs of
40         memory operands after reload.
41         * simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
42         has failed when passed a hard register.
43
44 2004-10-28  Aldy Hernandez  <aldyh@redhat.com>
45
46         * function.c (assign_parm_setup_block): Handle parallels correctly.
47
48 2004-10-28  Kaz Kojima  <kkojima@gcc.gnu.org>
49
50         * final.c (shorten_branches): Initialize flags structure.
51
52 2004-10-28  Nathan Sidwell  <nathan@codesourcery.com>
53
54         * tree.c (int_cst_node, int_cst_hash_table): New variables.
55         (init_ttree): Initialize them.
56         (int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
57         (build_int_cst_wide): Use hash table for oversized integers.
58
59 2004-10-28  Nick Clifton  <nickc@redhat.com>
60
61         * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
62         begin_label.
63
64 2004-10-27  Richard Henderson  <rth@redhat.com>
65
66         PR middle-end/18163
67         * expr.c (emit_group_load): Don't go force temporary for memory
68         or concat source.
69         (emit_group_store): Similarly.
70
71 2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>
72
73         PR other/18186
74         * common.opt (--param): Fix spelling of parameter.
75
76 2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>
77
78         PR tree-opt/17529
79         * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
80         Don't fold statement.
81         <case ASM_EXPR>: Fold the statement.
82
83 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
84
85         * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
86         <COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
87
88 2004-10-28  Joseph S. Myers  <jsm@polyomino.org.uk>
89
90         * doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
91         doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
92         doc/libgcc.texi, doc/md.texi, doc/passes.texi,
93         doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
94
95 2004-10-28  Joseph S. Myers  <jsm@polyomino.org.uk>
96
97         * doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
98         doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
99         punctuation outside quotes.
100
101 2004-10-27  David Mosberger  <davidm@hpl.hp.com>
102             James E Wilson  <wilson@specifixinc.com>
103
104         PR target/13158
105         * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
106         sibcall alloc instruction.
107         (process_set): Handle sibcall alloc instruction.
108
109 2004-10-27  Geoffrey Keating  <geoffk@apple.com>
110
111         * config/rs6000/rs6000.c (rs6000_attribute_table): Add
112         SUBTARGET_ATTRIBUTE_TABLE.
113         * config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
114         (SUBTARGET_ATTRIBUTE_TABLE): Define.
115         * config/darwin.c (darwin_handle_weak_import_attribute): New.
116         (HAVE_DEAD_STRIP): Delete.
117         (no_dead_strip): Don't test HAVE_DEAD_STRIP.
118         * config/darwin-protos.h (darwin_handle_weak_import_attribute):
119         Prototype.
120
121         * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
122
123         * config/darwin.h (GTHREAD_USE_WEAK): Define.
124
125 2004-10-28  Ben Elliston  <bje@au.ibm.com>
126
127         * params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
128         (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
129         * params.h (SRA_MAX_STRUCTURE_SIZE): New.
130         (SRA_FIELD_STRUCTURE_RATIO): Likewise.
131         * tree-sra.c: Include "params.h".
132         (decide_block_copy): Use new parameters.
133         * doc/invoke.texi (Optimize Options): Document new SRA pass
134         parameters sra-max-structure-size and sra-field-structure-ratio.
135
136 2004-10-27  Nicolas Pitre <nico@cam.org>
137
138         * config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
139
140 2004-10-27  Zdenek Dvorak  <dvorakz@suse.cz>
141
142         PR tree-optimization/18048
143         * fold-const.c (try_move_mult_to_index): New function.
144         (fold): Use try_move_mult_to_index.
145         * tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
146         * tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
147         an all-ones unsigned constant without extra bits.
148         * tree.c (build_low_bits_mask): New function.
149         * tree.h (build_low_bits_mask): Declare.
150
151 2004-10-27  David Edelsohn  <edelsohn@gnu.org>
152
153         PR target/17956
154         * config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
155         final condition.
156         (minsf3): Same.
157         (maxdf3): Same.
158         (mindf3): Same.
159
160 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
161
162         * tree-cfg.c (thread_jumps): Speed up by reordering the two
163         conditions for entering basic blocks into worklist.
164
165 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
166
167         * tree-cfg.c (thread_jumps): Speed up by pretending to have
168         ENTRY_BLOCK_PTR in worklist.
169
170 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
171
172         * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
173         <GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
174
175 2004-10-27  Daniel Berlin <dberlin@dberlin.org>
176         
177         Fix PR tree-optimization/17133
178         
179         * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
180         def kill operand.
181
182         * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
183         (get_v_must_def_result_ptr): Modify for new structure of
184         v_must_defs array.
185         (get_v_must_def_kill_ptr): New.
186         (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
187         (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
188         (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
189         (op_iter_init): Initialize new mustu members.
190         (op_iter_next_mustdef): New function.
191         (op_iter_init_mustdef): Ditto.
192
193         * tree-flow.h (rewrite_def_def_chains): New function.
194
195         * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
196         (ssa_mark_def_sites): Ditto.
197         (rewrite_stmt): Ditto.
198         (ssa_rewrite_stmt): Ditto.
199         (rewrite_blocks): Factor out from rewrite_into_ssa.
200         (mark_def_block_sites): Ditto.
201         (rewrite_def_def_chains): New function, just rewrites def-def
202         chains without phi node insertion.
203
204         * tree-pass.h (TODO_fix_def_def_chains): New todo flag.
205
206         * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.       
207
208         * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
209         they include the rhs now.
210
211         * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
212         V_MUST_DEF_RESULT. 
213
214         * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
215         Update callers.
216         (mark_really_necessary_kill_operand_phis): New function.
217         (perform_tree_ssa_dce): Call it.
218         (pass_dce): Add TODO_fix_def_def_chains.
219         (pass_cd_dce): Ditto.
220
221         * tree-ssa-loop-im.c (determine_max_movement): Look at kills as
222         well.
223         (rewrite_mem_refs): Ditto.
224
225         * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
226         as well.
227
228         * tree-ssa-operands.c (allocate_v_may_def_optype):
229         v_may_def_operand_type_t became v_def_use_operand_type_t.
230         (allocate_v_must_def_optype) Ditto.
231         (finalize_ssa_v_must_defs): Update for new operand type, as well
232         as setting the use portion as well.
233         (copy_virtual_operands): Copy the kill operand as well.
234         (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
235         V_MUST_DEF_RESULT. 
236
237         * tree-ssa-operands.h (v_may_def_operand_type): Renamed to
238         v_def_use_operand_type. 
239         (v_must_def_optype_d): Use v_def_use_operand_type.
240         (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
241         (V_MUST_DEF_KILL_*): New macros.
242         (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
243         members.
244         Rename existing must_i and num_v_must members to mustd_i and
245         num_v_mustd. 
246         (SSA_OP_VMUSTDEFKILL): New flag.
247         (SSA_OP_VIRTUAL_KILLS): New flag.
248         (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
249         (SSA_OP_ALL_KILLS): New flag.
250         (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
251
252         * tree-ssa.c (verify_ssa): Verify virtual kills as well.
253
254         * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
255         became V_MUST_DEF_RESULT.
256         (rename_variables_in_bb): Rename kill pointer as well.
257
258         * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
259         immediate uses.
260
261 2004-10-27  Richard Sandiford  <rsandifo@redhat.com>
262
263         * dbxout.c (dbxout_source_line): Move declaration of begin_label to
264         the block that needs it.
265
266 2004-10-27  Zack Weinberg  <zack@codesourcery.com>
267
268         * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
269         ATTRIBUTE_UNUSED.
270
271 2004-10-27  Zack Weinberg  <zack@codesourcery.com>
272
273         * c-lex.c (cb_def_pragma): Clean up code for making location
274         palatable to diagnostic.c.
275
276 2004-10-27  Steven Bosscher  <stevenb@suse.de>
277
278         PR tree-optimization/17757
279         * tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
280         without any PHI arguments left.  Make sure the argument that
281         we're supposed to remove exists at all.
282
283 2004-10-27  Paul Brook  <paul@codesourcery.com>
284
285         * configure.ac: Don't test for [build] __cxa_atexit when building a
286         cross compiler.
287         * configure: Regenerate.
288
289 2004-10-27  Paul Brook  <paul@codeosurcery.com>
290
291         * configure.ac: Use build_exeext not host_exeext when lookin for
292         target tools.
293         * configure: Regenerate.
294
295 2004-10-27  Andreas Krebbel  <krebbel1@de.ibm.com>
296
297         * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
298
299 2004-10-27  Andreas Krebbel  <krebbel1@de.ibm.com>
300             patch originally created by Kelley Cook  <kcook@gcc.gnu.org>
301
302         PR middle-end/14684
303         * opts.c (OPT_fprofile_generate): Default to -funroll-loops
304         to match -fprofile-use.
305
306 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
307
308         * config/rs6000/rs6000.c: Fix a comment typo.
309
310 2004-10-27  Zack Weinberg  <zack@codesourcery.com>
311
312         * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
313         counter.
314
315 2004-10-27  Andreas Schwab  <schwab@suse.de>
316
317         * varasm.c (default_stabs_asm_out_destructor): Mark symbol as
318         unused.
319         (default_stabs_asm_out_constructor): Likewise.
320
321 2004-10-26  Geoffrey Keating  <geoffk@apple.com>
322
323         * builtins.c (fold_builtin_unordered_cmp): Always bring both
324         operands to the same type.
325
326 2004-10-26  James E Wilson  <wilson@specifixinc.com>
327
328         PR target/18010
329         * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
330
331 2004-10-26  Zack Weinberg  <zack@codesourcery.com>
332
333         * dbxout.c: Include obstack.h.
334         (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
335         default definition.
336         (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
337         Default-define here.
338         (DBX_CONTIN_LENGTH): Move definition with others.
339         (DBX_FINISH_STABS): New target macro.
340         (current_sym_code, current_sym_value, current_sym_addr)
341         (current_sym_nchars, CHARS, dbxout_continue)
342         (print_int_cst_octal, print_octal, print_wide_int)
343         (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
344         (stabstr_ob, stabstr_last_contin_point): New variables.
345         (NUMBER_FMT_LOOP): New improper macro.
346         (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
347         (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
348         (dbxout_stab_value_internal_label_diff, dbxout_stabd)
349         (dbxout_begin_stabn, dbxout_begin_stabn_sline)
350         (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
351         (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
352         (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
353         (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
354         New functions and/or proper function-like macros.
355         (CONTIN): Use stabstr_continue, unconditionally.
356         (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
357         (dbxout_init): Initialize stabstr_ob.  Check
358         NO_DBX_MAIN_SOURCE_DIRECTORY.  Only write out the Ltext label
359         if it was used.  Use the new interfaces.
360         (dbxout_source_file): Remove file argument; always write to
361         asm_out_file.  Use the new interfaces.
362         (dbxout_type_method_1): Remove second argument which is always
363         DECL_ASSEMBLER_NAME of the first argument.  Use the new interfaces.
364         (dbxout_type_methods): Remove write-only variables.  Use the
365         new interfaces.
366         (dbxout_parms): Refactor to remove code duplicated in each of
367         several successive if-else-if blocks.  Use the new interfaces.
368         (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
369         (dbxout_source_line, dbxout_finish, dbxout_type_index)
370         (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
371         (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
372         (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
373         (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
374         Use the new interfaces.
375         * Makefile.in (dbxout.o): Update dependencies.
376
377         * defaults.h: Don't define ASM_STABD_OP.
378         * output.h: Prototype new dbxout_* interfaces.
379         * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
380         * varasm.c: Don't define ASM_STABS_OP.
381         (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
382         Use the new dbxout.c interfaces.  Call sorry if neither
383         DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
384
385         * xcoffout.h: Don't define ASM_STABS_OP.
386         (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
387         (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
388         (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
389         (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
390         do { ... } while (0) idiom.
391
392         * config/alpha/alpha.c (num_source_filenames): Export.
393         * config/alpha/alpha.h (num_source_filenames): Declare.
394         (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
395         (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
396         * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
397         Always use .debugsym.  Update commentary.
398         * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
399         (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
400         * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
401         Use new interfaces.
402         * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
403         (macho_branch_islands): Use new interfaces.
404
405         * doc/tm.texi: Update.
406
407 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
408
409         * expr.c (emit_group_store): Do not treat floats as BLKmode.
410         (emit_group_load): Same.
411
412 2004-10-26  Joseph S. Myers  <jsm@polyomino.org.uk>
413
414         * c-parse.in (datadef): Use pedwarn rather than error and warning
415         for diagnostic in case of no declaration specifiers.
416
417 2004-10-26  Richard Sandiford  <rsandifo@redhat.com>
418
419         PR bootstrap/15747
420         * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
421         reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
422         can be used to work around this.
423
424 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
425
426         * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
427         doubles.
428
429 2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
430
431         * stmt.c (expand_case): Update a comment.
432
433 2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
434
435         * stmt.c (expand_case): Put an assertion that index_expr is
436         never INTEGER_CST.  Don't special case for constant
437         index_expr.
438
439 2004-10-26  Andrew Pinski  <pinskia@physics.uc.edu>
440
441         PR 18162
442         * c-parse.in (designator): Finish with a semi-colon.
443
444 2004-10-26  Fariborz Jahanian <fjahanian@apple.com>
445
446         * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
447         into rotlsi3.
448
449 2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
450
451         * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
452         a default case only.
453
454 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
455
456         * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
457         e500 doubles.
458         (spe_build_register_parallel): New.
459         (rs6000_spe_function_arg): Handle e500 doubles.
460         (function_arg): Same.
461         (spe_func_has_64bit_regs_p): Same.
462         (rs6000_function_value): Same.
463         (rs6000_libcall_value): Same.
464         (legitimate_lo_sum_address_p): Return false for e500 doubles.
465
466         * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
467         doubles.
468         (DATA_ALIGNMENT): Same.
469         (CANNOT_CHANGE_MODE_CLASS): Same.
470
471 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
472
473         * expr.c (emit_group_load): Handle floats.
474         (emit_group_store): Same.
475
476 2004-10-26  Nathan Sidwell  <nathan@codesourcery.com>
477
478         * c-lex.c (get_nonpadding_token): Remove.
479         (c_lex_with_flags): Push timevar and eat padding here.  Improve
480         stray token diagnostic.
481         (lex_string): Replace logic with switch statement, eat padding
482         token here.
483
484 2004-10-26  Geoffrey Keating  <geoffk@apple.com>
485
486         PR 18149
487         * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
488
489 2004-10-25  Geoffrey Keating  <geoffk@apple.com>
490
491         * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
492         to 'non-weak'.
493         (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
494         (ASM_MAKE_LABEL_LINKONCE): Delete.
495         (ASM_WEAKEN_DECL): New.
496         (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
497         (ASM_DECLARE_FUNCTION_NAME): Likewise.
498         (TEXT_SECTION_ASM_OP): Add a tab.
499         (DATA_SECTION_ASM_OP): Likewise.
500         (SECTION_FUNCTION): Add a tab.  Use fputs.  Don't call
501         data_section on every section change.
502         (EXTRA_SECTIONS): Add a bunch of new extra sections.
503         (EXTRA_SECTION_FUNCTIONS): Likewise.
504         (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
505         (JCR_SECTION_NAME): Define.
506         (TARGET_SECTION_TYPE_FLAGS): Don't define.
507         * config/darwin.c (darwin_encode_section_info): A symbol is defined
508         in this file if it is not weak.
509         (textcoal_section): Delete.
510         (datacoal_section): Delete.
511         (darwin_make_decl_one_only): Delete.
512         (machopic_select_section): Handle functions.
513         (darwin_asm_named_section): Add a tab.
514         (darwin_section_type_flags): Delete.
515         (darwin_unique_section): Delete contents.
516         (darwin_emit_unwind_label): Add a tab.  Make decls weak if
517         DECL_WEAK is set.
518         * config/darwin-protos.h (darwin_section_type_flags): Delete.
519         (darwin_make_decl_one_only): Delete.
520         (text_coal_section): New.
521         (text_unlikely_section): New.
522         (text_unlikely_coal_section): New.
523         (const_coal_section): New.
524         (data_coal_section): New.
525         (const_data_coal_section): New.
526         * varasm.c (function_section): Honour
527         USE_SELECT_SECTION_FOR_FUNCTIONS.
528         * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
529         TARGET_USES_WEAK_UNWIND_INFO is in effect.
530         * dbxout.c (dbxout_source_file): Don't change sections while
531         a function is being output.
532
533 2004-10-25  David Ayers  <d.ayers@inode.at>
534
535         * c-common.h: Remove RID_ID.
536         * c-parse.in: Remove OBJECTNAME and references to RID_ID.
537         (typespec_reserved_attr): Add rule for TYPENAME
538         non_empty_protocolrefs.
539         (yylexname): Remove special handling of RID_ID.
540
541 2004-10-25  James E Wilson  <wilson@specifixinc.com>
542
543         * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
544
545 2004-10-25  Joseph S. Myers  <jsm@polyomino.org.uk>
546
547         PR c/16667
548         * c-parse.in (array_designator): New.
549         (designator): Use it.
550         (initelt): Only permit array_designator without '=', not ".foo".
551
552 2004-10-25  Kenneth Zadeck <zadeck@naturalbridge.com>
553         * gcc/Makefile.in: removed ggc for cgraphunit.
554         * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
555         * gcc/cgraph.h: removed static var analysis data structures and calls.
556         * gcc/cgraphunit.c:
557         cgraph_mark_local_and_external_functions:changed name to
558                 cgraph_mark_local_functions
559         (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
560         cgraph_reset_static_var_maps,get_global_static_vars_info,
561         get_global_statics_not_read,get_global_statics_not_written,searchc,
562         cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
563         check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
564         scan_for_static_refs,cgraph_characterize_statics_local,
565         clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
566         removed.
567         (cgraph_optimize,init_cgraph): removed calls to static vars analysis
568         * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
569         analysis
570         * gcc/tree-flow.h static_vars_info: removed
571         * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
572         removed calls to static vars analysis.
573         get_call_expr_operands: removed callee variable.
574
575 2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
576
577         * cfg.c (unchecked_make_edge, redirect_edge_succ,
578         redirect_edge_pred): Use VEC_safe_push instead of
579         VEC_safe_insert.
580         * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
581
582 2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
583
584         * cfgloopmanip.c (loopify): Take two more arguments true_edge
585         and false_edge.
586         * cfgloop.h: Adjust the corresponding prototype.
587         * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
588         * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
589
590 2004-10-25  Jakub Jelinek  <jakub@redhat.com>
591
592         * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
593         DECL_INCOMING_RTL is NULL.
594
595 2004-10-25  Steven Bosscher  <stevenb@suse.de>
596
597         * timevar.def (TV_FIND_REFERENCED_VARS): New.
598         * tree-dfa.c (pass_referenced_var): Use it.
599
600 2004-10-25  Roger Sayle  <roger@eyesopen.com>
601             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
602
603         * cse.c: Change encoding of quantity numbers to avoid undefined
604         pointer arithmetic on qty_table.
605         (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
606         (get_cse_reg_info): Initialize reg_qty to a unique negative value.
607         (new_basic_block): Assign "real" quantity numbers from zero.
608         (delete_reg_equiv): Do nothing if quantity is invalid.  Reset the
609         REG_QTY to its unique negative value.
610         (merge_equiv_classes): Calculate need_rehash if quantity is valid.
611         (cse_main): Don't include max_reg when determining max_qty.
612         (cse_basic_block): Avoid subtracting a large offset from qty_table,
613         which causes undefined C99 behaviour.  Only allocate needed memory.
614
615 2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
616
617         * stmt.c (expand_case): Remove an obsolete comment.
618
619 2004-10-25  Andrew Pinski  <pinskia@physics.uc.edu>
620
621         PR middle-end/17407
622         * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
623         layout_type as it is already done by build_array_type.
624         * tree.c (build_array_type): Layout the type even
625
626 2004-10-25  Alexandre Oliva  <aoliva@redhat.com>
627
628         * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
629
630 2004-10-25  Alexandre Oliva  <aoliva@redhat.com>
631
632         * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
633         with wider-than-32-bit HOST_WIDE_INTs.
634
635 2004-10-25  David Billinghurst <David.Billinghurst@riotinto.com>
636
637         * config/mips/mips.c(mips_output_filename): Remove unused
638         array ltext_label_name
639
640 2004-10-24  Geoffrey Keating  <geoffk@geoffk.org>
641
642         * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
643
644 2004-10-25  Ben Elliston  <bje@au.ibm.com>
645
646         * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
647
648 2004-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
649
650         * predict.c (predict_loops): Call scev_finalize instead of
651         scev_reset.
652
653 2004-10-24  Kazu Hirata  <kazu@cs.umass.edu>
654
655         * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
656         config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
657         config/sh/ushmedia.h, config/sparc/elf.h,
658         config/sparc/sp64-elf.h: Update copyright.
659
660 2004-10-24  Kazu Hirata  <kazu@cs.umass.edu>
661
662         * stmt.c (expand_case): Handle the default label outside of
663         the for loop.  Remove code to handle a missing default label.
664
665 2004-10-23  Kazu Hirata  <kazu@cs.umass.edu>
666
667         * dbxout.c (dbxout_function_decl): Don't use
668         DBX_OUTPUT_FUNCTION_END.
669         * system.h: Poison DBX_OUTPUT_FUNCTION_END.
670         * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
671
672 2004-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
673
674         PR middle-end/17967
675         * tree-cfg.c (remove_usless_stmts_cond):  Don't Fold statement.
676
677 2004-10-23  Daniel Berlin  <dberlin@dberlin.org>
678
679         * tree-ssa-dom.c (record_equality): Use loop depth to determine
680         which way to record the equality as well.
681         (loop_depth_of_name): New function.
682
683 2004-10-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
684
685         PR middle-end/17793
686         * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
687         through the operand if it is a useless type conversion.
688
689 2004-10-23  Ben Elliston  <bje@au.ibm.com>
690
691         * cfg.c (remove_edge): Use VEC_unordered_remove.
692         (redirect_edge_succ): Likewise.
693         (redirect_edge_pred): Likewise.
694         * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
695
696 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
697
698         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
699         beyond its end.
700
701 2004-10-22  Eric Christopher  <echristo@redhat.com>
702
703         * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
704         saves.
705
706 2004-10-22  Aldy Hernandez  <aldyh@redhat.com>
707
708         * config/rs6000/spe.md (spe_extendsfdf2): New.
709         (movdf_e500_double): New.
710         (spe_truncdfsf2): New.
711         (spe_absdf2): New.
712         (spe_nabsdf2): New.
713         (spe_negdf2): New.
714         (sub_adddf3): New.
715         (spe_subdf3): New.
716         (spe_muldf3): New.
717         (spe_floatsidf2): New.
718         (spe_floatunssidf2): New.
719         (fix_truncdfsi2): New.
720         (spe_fixuns_truncdfsi2): New.
721
722         * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
723         (fpr_truncdfsf2): New.
724         (negdf2): Change to expander.
725         (fpr_negdf2): New.
726         (fpr_nabsdf2): Name pattern.
727         (adddf3): Change to expander.
728         (fpr_adddf3): Nem.
729         (subdf3): Change to expander.
730         (fpr_subdf3): New.
731         (muldf3): Change to expander.
732         (fpr_muldf3): New.
733         (divdf3): Change to expander.
734         (fpr_divdf3): New.
735         (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
736         (cmpdf): Allow for TARGET_E500_DOUBLE.
737
738 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
739
740         * c-semantics.c (re_push_stmt_list): Remove.
741         * c-common.h: Remove the corresponding prototype.
742
743 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
744
745         * stmt.c (asm_op_is_mem_input): Remove.
746         * tree.h: Remove the corresponding prototype.
747
748 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
749
750         * tree-gimple.c (is_gimple_constructor_elt): Remove.
751         * tree-gimple.h: Remove the corresponding prototype.
752
753 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
754
755         * varasm.c (get_pool_mode_for_function, get_pool_offset):
756         Remove.
757         * rtl.h: Remove the corresponding prototypes.
758
759 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
760
761         * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
762         edge information when we commit ourselves to threading a
763         particular jump.
764
765 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
766
767         * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
768         into worklist instead of their indexes.
769
770 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
771
772         * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
773         final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
774         lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
775         pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
776         tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
777         tree-scalar-evolution.c, tree-ssa-dom.c,
778         tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
779         tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
780         tree-vectorizer.c, vec.h: Fix comment formatting.
781
782 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
783
784         * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
785         libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
786
787 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
788
789         * config/ptx4.h, config/mcore/mcore-pe.h,
790         config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
791
792 2004-10-22  Peter Barada <peter@the-baradas.com>
793
794         * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
795         * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
796         renaming of non-live registers in interrupt functions.
797         * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
798
799 2004-10-22  Zdenek Dvorak  <dvorakz@suse.cz>
800
801         * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
802         Use integer for loop counter.
803         (num_ending_zeros): New function.
804         (number_of_iterations_cond): Use num_ending_zeros.
805
806 2004-10-21  Aldy Hernandez  <aldyh@redhat.com>
807
808         * config.gcc: Add support for --enable-e500_double.
809
810         * config/rs6000/e500-double.h: New file.
811
812         * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
813         TARGET_E500_DOUBLE.
814
815         * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
816         TARGET_E500_DOUBLE.
817
818         * config/rs6000/linuxspe.h: Same.
819
820         * doc/invoke.texi (Option Summary): Document new options for
821         mfloat-gprs.
822         (RS/6000 and PowerPC Options): Same.
823
824         * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
825         function.
826         (rs6000_override_options): Use it.  Use
827         SUB3TARGET_OVERRIDE_OPTIONS.
828         Add 8548 to processor_target_table.
829         (rs6000_legitimate_address): Handle e500 doubles.
830         (rs6000_legitimize_address): Same.
831         (rs6000_legitimize_reload_address): Same.
832         (rs6000_hard_regno_nregs): Same.
833         (spe_func_has_64bit_regs_p): Same.
834         (emit_frame_save): Same.
835         (gen_frame_mem_offset): Same.
836         (rs6000_dwarf_register_span): Same.
837         (rs6000_generate_compare): Same.
838         (easy_fp_constant): Same.
839         (legitimate_offset_address_p): Same.
840
841         * config/rs6000/spe.md: (cmdfeq_gpr): New.
842         (tstdfeq_gpr): New.
843         (cmpdfgt_gpr): New.
844         (tstdfgt_gpr): New.
845         (tstdfgt_gpr): New.
846         (cmpdflt_gpr): New.
847         (tstdflt_gpr): New.
848         Add new constants.
849
850 2004-10-21  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
851
852         * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
853
854 2004-10-21  Zack Weinberg  <zack@codesourcery.com>
855
856         * dbxout.c: Remove unnecessary #undefs.
857         (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
858         (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
859         definition into use sites.
860         (cwd): Make local to dbxout_init.
861         (dbxout_init): Restructure cwd-using logic for clarity.  Use
862         IS_DIR_SEPARATOR.
863         * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
864         STABS_GCC_MARKER folded in here.
865         * system.h: Poison now-unused macros.
866         * doc/tm.texi: Remove documentation of now-unused macros.
867
868 2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
869
870         PR c/17538
871         * c-opts.c (push_command_line_include): Use the current file
872         name instead of the main one.
873
874 2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
875
876         PR objc/17923
877         * tree.c (staticp): A CONST_DECL has static storage if either
878         TREE_STATIC or DECL_EXTERNAL is set.
879         * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
880         have null names.
881
882 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
883
884         * expr.c (store_expr): Remove dont_store_target.
885
886 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
887
888         * tree-cfg.c (thread_jumps): Speed up by using a worklist.
889
890 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
891
892         * tree-cfg.c (thread_jumps): Move a part of it to ...
893         (thread_jumps_from_bb): ... here.
894
895 2004-10-21  David Edelsohn  <edelsohn@gnu.org>
896
897         * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
898         * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
899
900 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
901
902         * expr.c (store_expr): Clean up by renaming want_value to
903         call_param_p.
904
905 2004-10-21  Kaz Kojima  <kkojima@gcc.gnu.org>
906
907         * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
908         fixup pc here.
909
910 2004-10-21  Aldy Hernandez  <aldyh@redhat.com>
911
912         PR 18004.
913         * expmed.c (store_bit_field): Pass original 'value' before
914         recursing.
915
916 2004-10-21  Nicolas Pitre <nico@cam.org>
917
918         * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
919         * config/arm/ieee754-df.S: Ditto.
920
921 2004-10-20  Zack Weinberg  <zack@codesourcery.com>
922
923         * dbxout.c (asmfile): Delete.  All uses changed to asm_out_file.
924         (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
925         Default to 0.
926         (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
927         When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
928         an internal label and an N_SLINE .stabn whose value is the
929         difference between that label and the function entry label.
930         (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
931         but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
932         label and an N_SO stab with an empty string referring to it.
933         (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
934         of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
935         (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
936         (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
937         macro is never defined.
938         * sdbout.c (sdbout_source_line_counter): Delete.
939         (PUT_SDB_SRC_FILE): Delete.  Uses replaced with sole definition.
940         (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
941         only two arguments.
942         * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
943
944         * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
945         * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
946         definitions (identical to default).
947         * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
948         * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
949         Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
950         DBX_OUTPUT_MAIN_SOURCE_FILE_END.
951         * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
952         * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
953         Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
954         * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
955         * config/alpha/alpha.c: Move declaration of num_source_filenames up.
956         (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
957         (sym_lineno): Delete.
958         (alpha_output_filename): Do not emit N_SOL stabs here.  Remove
959         now-unused variable.
960         (alpha_output_lineno): Delete.
961         * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
962         * config/mips/mips.c (mips_output_filename): Don't use
963         ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
964         (mips_output_lineno): Delete.
965         (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
966         * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
967         SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
968         * config/mips/mips.h: Likewise.  Don't define ASM_OUTPUT_FILENAME.
969         * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
970         * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
971         * config/mmix/mmix.h: Likewise.
972         * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
973         * config/mmix/mmix-protos.h: Don't prototype it.
974         * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
975         no need to #undef ASM_OUTPUT_SOURCE_LINE.
976         * config/arm/aout.h: Remove RISCiX-specific definition of
977         DBX_OUTPUT_MAIN_SOURCE_FILENAME.
978         * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
979         ASM_OUTPUT_SOURCE_LINE.
980         * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
981         DBX_OUTPUT_SOURCE_LINE.  Don't use current_function_func_begin_label.
982         * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
983
984         * doc/tm.texi: Update.
985
986 2004-10-20  Richard Henderson  <rth@redhat.com>
987
988         * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
989
990 2004-10-20  Kelley Cook  <kcook@gcc.gnu.org>
991
992         * configure.ac: Revert my previous patch.
993         * configure: Regenerate.
994
995 2004-10-20  Ben Elliston  <bje@au.ibm.com>
996
997         * config/rs6000/rs6000.c
998         (rs6000_va_start): Use build_va_arg_indirect_ref.
999         (rs6000_gimplify_va_arg): Likewise.
1000
1001 2004-10-20  Bryce McKinlay  <mckinlay@redhat.com>
1002
1003         PR java/15575
1004         * configure.ac: Declare AM_LANGINFO_CODESET.
1005         * aclocal.m4: Define AM_LANGINFO_CODESET.
1006         * configure, config.in: Rebuilt.
1007
1008 2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
1009
1010         * expr.c (store_expr): Remove code that is run when
1011         want_value & 1 is nonzero.
1012
1013 2004-10-20  Mark Mitchell  <mark@codesourcery.com>
1014
1015         * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
1016         from function pointer to void *.
1017
1018 2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
1019
1020         PR target/18032
1021         * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
1022         the frame pointer adjustment when exception handling is enabled.
1023
1024 2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
1025
1026         * stor-layout.c: Fix a comment typo.
1027
1028 2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
1029
1030         * expr.c (store_field): Remove two arguments value_mode and
1031         unsignedp.
1032         (expand_assignment, store_constructor_field,
1033         expand_expr_real_1): Adjust calls to store_field.
1034
1035 2004-10-18  Ramana Radhakrishnan  <ramana.radhakrishnan@codito.com>
1036
1037         * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
1038
1039         PR target/17317
1040         * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
1041         REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
1042         base and index register for loads.
1043
1044         * config/arc/t-arc: Fix multilib handling.
1045
1046 2004-10-20  Hans-Peter Nilsson  <hp@bitrange.com>
1047
1048         * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
1049         don't inspect BLOCK_FOR_INSN for barriers.
1050         * emit-rtl.c (emit_barrier_before): Revert last change.
1051         (emit_barrier_after, emit_barrier): Ditto.
1052
1053         * doc/extend.texi (Extended Asm): Warn and provide example
1054         solution for using a call-clobbered asm register.
1055         (Local Reg Vars): Similar.  Cross-reference example.
1056
1057 2004-10-19  Andrew Pinski  <pinskia@physics.uc.edu>
1058
1059         * tree-cfg.c (group_case_labels): Look at the second to last
1060         case statement for combing with the default case.
1061
1062 2004-10-19  Richard Hendeson  <rth@redhat.com>
1063
1064         PR 17962
1065         * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
1066
1067 2004-10-19  Richard Hendeson  <rth@redhat.com>
1068
1069         * builtins.c (expand_builtin_memmove): If fold_builtin_memmove
1070         succeeds, only expand the result.
1071
1072 2004-10-19  Richard Hendeson  <rth@redhat.com>
1073
1074         PR middle-end/17885
1075         * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
1076         of INDIRECT_REF.
1077
1078 2004-10-19  Kazu Hirata  <kazu@cs.umass.edu>
1079
1080         * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
1081         loop with goto.
1082
1083 2004-10-19  Kazu Hirata  <kazu@cs.umass.edu>
1084
1085         * expr.c (expand_assignment): Remove the last argument.
1086         Change the return type to void.
1087         * expr.h: Update the prototype of expand_assignment.
1088         * function.c (assign_parm_setup_reg): Update a call to
1089         expand_assignment.
1090         * stmt.c (expand_asm_expr): Likewise.
1091
1092 2004-10-19  Kazu Hirata  <kazu@cs.umass.edu>
1093
1094         * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
1095         unnecessary assignments to temp.  Return const0_rtx.
1096
1097 2004-10-19  Kaz Kojima  <kkojima@gcc.gnu.org>
1098
1099         * config/sh/sh.c (sh5_schedule_saves): Fix typo.
1100
1101 2004-10-18  Kelley Cook  <kcook@gcc.gnu.org>
1102
1103         * configure.ac (powerpc-*-darwin*): Require assembler to support
1104         .machine directive.
1105         * configure: Regenerate.
1106
1107 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
1108
1109         * reload1.c (ior_hard_reg_set): Remove.
1110         (finish_spills): Use IOR_HARD_REG_SET instead of
1111         ior_hard_reg_set.
1112
1113 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
1114
1115         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
1116         the currently visited word to right.
1117
1118 2004-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
1119
1120         PR middle-end/18045
1121         * expmed.c (expand_smod_pow2): Handle modes whose size
1122         is greater than that of HOST_WIDE_INT.
1123
1124 2004-10-18  Ziemowit Laski  <zlaski@apple.com>
1125
1126         * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
1127
1128 2004-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
1129             Roger Sayle  <roger@eyesopen.com>
1130
1131         PR middle-end/17813
1132         * dojump.c (discard_pending_stack_adjust): New function.
1133         (clear_pending_stack_adjust): Call it.
1134         * expr.h (discard_pending_stack_adjust): Declare it.
1135         * explow.c (emit_stack_save): Emit pending stack adjustments
1136         before saving the stack pointer.
1137         (emit_stack_restore): Discard pending stack adjustments before
1138         restoring the stack pointer.
1139
1140 2004-10-18  Richard Henderson  <rth@redhat.com>
1141
1142         * c-common.c (handle_mode_attribute): Allow scalar->vector
1143         type changes yet.
1144
1145 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
1146
1147         * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
1148         value to expand_assignment.
1149
1150 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
1151
1152         * tree-cfg.c (cleanup_tree_cfg): Don't iterate on
1153         thread_jumps.
1154         (thread_jumps): Iterate until no new forwarder block arises.
1155
1156 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
1157
1158         * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
1159         (thread_jumps): Use forwardable as cache of
1160         tree_forwarder_block_p throughout the function.
1161
1162 2004-10-18  Andreas Krebbel  <krebbel1@de.ibm.com>
1163
1164         * cfg.c (dump_flow_info): Remove redundant dump of reg life info.
1165
1166 2004-10-18  Andrew Pinski  <pinskia@physics.uc.edu>
1167
1168         PR middle-end/15014
1169         PR middle-end/16973
1170         * tree-cfg.c (remove_bb): If we have a label expression in the
1171         basic block and the label we have taken the address, move the
1172         label expression to the basic block which is previous in the
1173         linked list.
1174         (tree_verify_flow_info): Fix printing out the label name of the
1175         problematic label expression.
1176
1177 2004-10-18  Pat Haugen  <pthaugen@us.ibm.com>
1178
1179         PR rtl-optimization/18002
1180         * simplify-rtx.c (mode_signbit_p): Externalize function...
1181         * rtl.h (mode_signbit_p): ... to here.
1182         * combine.c (simplify_shift_const): Recognize PLUS signbit as
1183         canonical form of XOR signbit and move to outer op.
1184
1185 2004-10-18  Diego Novillo  <dnovillo@redhat.com>
1186
1187         * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
1188         Update all callers.
1189         * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
1190         Don't call fold_stmt more than once, use bsi_replace.
1191
1192 2004-10-18  Diego Novillo  <dnovillo@redhat.com>
1193
1194         PR tree-optimization/17656
1195         * tree-ssa.c (replace_immediate_uses): When replacing a
1196         constant, if the call to fold_stmt produced a different
1197         statement, get an appropriate statement pointer by scanning
1198         STMT's basic block.
1199
1200 2004-10-18  Richard Henderson  <rth@redhat.com>
1201
1202         * pointer-set.c (hash1): Don't use libm functions in fallback case.
1203
1204 2004-10-18  H.J. Lu  <hongjiu.lu@intel.com>
1205
1206         PR bootstrap/17684
1207         * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
1208         (stage1-start): Remove and copy libunwind.a and
1209         libunwind*$(SHLIB_EXT) instead of libunwind*.
1210         (stage2-start): Likewise.
1211         (stage3-start): Likewise.
1212         (stage4-start): Likewise.
1213         (stageprofile-start): Likewise.
1214         (stagefeedback-start): Likewise.
1215
1216         * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
1217         the shared library to be created and don't remove the existing
1218         shared library.
1219         * config/arm/t-netbsd (SHLIB_LINK): Likewise.
1220         * config/i386/t-nwld (SHLIB_LINK): Likewise.
1221         * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
1222         * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
1223         * config/sh/t-linux (SHLIB_LINK): Likewise.
1224         * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
1225         * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
1226         * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
1227         * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
1228
1229         * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
1230         files.
1231
1232 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
1233
1234         * basic-block.h (reg_set_iterator): New.
1235         (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
1236         (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
1237         (EXECUTE_IF_AND_IN_REG_SET): Likewise.
1238         * caller-save.c (save_call_clobbered_regs): Adjust to the new
1239         style.
1240         * cfgcleanup.c (thread_jump): Likewise.
1241         * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
1242         * conflict.c (conflict_graph_compute): Likewise.
1243         * flow.c (verify_local_live_at_start, update_life_info,
1244         initialize_uninitialized_subregs, propagate_one_insn,
1245         init_propagate_block_info, free_propagate_block_info,
1246         propagate_block, dump_regset): Likewise.
1247         * global.c (global_conflicts): Likewise.
1248         * graph.c (start_bb): Likewise.
1249         * local-alloc.c (update_equiv_regs): Likewise.
1250         * loop.c (load_mems): Likewise.
1251         * reload1.c (compute_use_by_pseudos, order_regs_for_reload,
1252         find_reg, finish_spills): Likewise.
1253         * resource.c (mark_target_live_regs): Likewise.
1254         * sched-deps.c (sched_analyze_insn): Likewise.
1255         * sched-rgn.c (sched-rgn.c): Likewise.
1256         * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
1257
1258 2004-10-18  Jakub Jelinek  <jakub@redhat.com>
1259
1260         * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
1261         operand 1 instead of 2
1262
1263 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
1264
1265         * loop-unroll.c: Fix comment typos.
1266
1267 2004-10-18  Revital Eres  <eres@il.ibm.com>
1268
1269         * Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
1270         * loop-unroll.c: Include varray.h.
1271         (struct var_to_expand, struct opt_info): Rename split_ivs_info to
1272         opt_info and expand it to support variable expansion.
1273         (analyze_insns_in_loop): Rename analyze_ivs_to_split and
1274         expand it to support variable expansion.
1275         (pt_info_start_duplication): Rename si_info_start_duplication.
1276         (apply_opt_in_copies): Rename split_ivs_in_copies and add support
1277         to the variable expansion optimization.
1278         (free_opt_info): Rename free_si_info.
1279         (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
1280         expand_var_during_unrolling, insert_var_expansion_initialization,
1281         combine_var_copies_in_loop_exit, release_var_copies,
1282         get_expansion): New functions.
1283         (peel_loop_completely, unroll_loop_constant_iterations,
1284         unroll_loop_runtime_iterations, peel_loop_simple,
1285         unroll_loop_stupid): Change uses of struct si_info
1286         to struct opt_info
1287         and add uses of fvariable-expansion-in-unroller flag.
1288         * params.def: Add parameter to restrict the number of expansions.
1289         * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
1290         the number of expansions.
1291         * common.opt: (fvariable-expansion-in-unroller): New flag.
1292         * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
1293
1294 2004-10-18  Danny Smith  <dannysmith@users.sourceforge.net>
1295
1296         * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
1297         __GXX_MERGED_TYPEINFO_NAMES to 0.
1298
1299 2004-10-17  Hans-Peter Nilsson  <hp@bitrange.com>
1300
1301         * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
1302         handle barriers in a bb by checking that it points to a NULL bb.
1303         * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
1304         (emit_barrier_after, emit_barrier): Ditto.
1305
1306 2004-10-18  Joseph S. Myers  <jsm@polyomino.org.uk>
1307
1308         * doc/extend.texi (Attribute Syntax): Clarify details of
1309         attributes on parameters.
1310
1311 2004-10-17  Zdenek Dvorak  <dvorakz@suse.cz>
1312
1313         * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
1314         loop.
1315
1316 2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
1317
1318         Revert:
1319         2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
1320
1321         * c-typeck.c (default_function_array_conversion): Always create
1322         &a[0] for array types.
1323         (build_unary_op): Do not fold &a[x] into a + x.
1324
1325 2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
1326
1327         PR middle-end/17925
1328         * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
1329         block if there is a goto with a locus.
1330
1331 2004-10-17  Kazu Hirata  <kazu@cs.umass.edu>
1332
1333         * config/elfos.h, config/gofast.h, config/interix.h,
1334         config/netbsd.h, config/svr3.h, config/vxworks.h,
1335         config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
1336         config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
1337         config/alpha/netbsd.h, config/arm/arm-modes.def,
1338         config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
1339         config/cris/aout.h, config/frv/frv-modes.def,
1340         config/i386/beos-elf.h, config/i386/gas.h,
1341         config/i386/i386-coff.h, config/i386/i386-modes.def,
1342         config/i386/linux.h, config/i386/linux64.h,
1343         config/i386/mingw32.h, config/i386/netbsd-elf.h,
1344         config/i386/netbsd64.h, config/i386/sco5.h,
1345         config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
1346         config/ia64/ia64-modes.def, config/ia64/itanium1.md,
1347         config/ia64/itanium2.md, config/m68k/m68k-modes.def,
1348         config/mips/mips-modes.def, config/mips/sdb.h,
1349         config/mips/vr.h, config/mips/vxworks.h,
1350         config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
1351         config/pa/pa32-linux.h, config/rs6000/40x.md,
1352         config/rs6000/7450.md, config/rs6000/8540.md,
1353         config/rs6000/linuxspe.h, config/rs6000/power4.md,
1354         config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
1355         config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
1356         config/s390/s390-modes.def, config/sh/elf.h,
1357         config/sh/sh-modes.def, config/sh/sh64.h,
1358         config/sparc/ultra1_2.md, config/sparc/ultra3.md,
1359         config/stormy16/stormy16.md, config/v850/v850-protos.h,
1360         config/vax/vax.md: Update copyright.
1361
1362 2004-10-17  Kazu Hirata  <kazu@cs.umass.edu>
1363
1364         * expr.c (expand_expr_real_1): Remove an obsolete comment.
1365
1366 2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
1367
1368         * c-typeck.c (default_function_array_conversion): Always create
1369         &a[0] for array types.
1370         (build_unary_op): Do not fold &a[x] into a + x.
1371
1372 2004-10-17  Jakub Jelinek  <jakub@redhat.com>
1373
1374         * pointer-set.c (hash1): Use integer part of 2^64 / phi
1375         instead 2^32 / phi if long is 64-bit.
1376
1377 2004-10-17  Joseph S. Myers  <jsm@polyomino.org.uk>
1378
1379         * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
1380         RID_PTRVALUE.
1381         * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
1382         declarations.
1383         (reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
1384         __ptrextent__, __ptrvalue and __ptrvalue__.
1385         (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
1386         entries.
1387
1388 2004-10-16  Dale Johannesen  <dalej@apple.com>
1389
1390         * c-common.c (c_common_get_alias_set):  Use GGC for type_hash_table.
1391
1392 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
1393
1394         PR tree-optimization/17766
1395         * basic-block.h (enum dom_state): DOM_CONS_OK removed.
1396         (dom_info_available_p): Declare.
1397         * cfghooks.c (split_block, make_forwarder_block): Use
1398         dom_info_available_p.
1399         * dominance.c (compute_dom_fast_query, calculate_dominance_info,
1400         free_dominance_info, verify_dominators): Ditto.
1401         (dom_info_available_p): New function.
1402         * tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
1403         (thread_jumps): Use dom_info_available_p.
1404         * tree-complex.c (expand_complex_div_wide): Ditto.
1405         * tree-mudflap.c (mf_build_check_statement_for): Ditto.
1406
1407 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
1408
1409         * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
1410         (find_best_candidate): Take also important candidates into account.
1411         (find_optimal_iv_set): Initialize important_candidates bitmap.
1412
1413 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
1414
1415         PR tree-optimization/17560
1416         * predict.c (tree_estimate_probability): Mark irreducible
1417         loops.
1418
1419 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
1420
1421         PR rtl-optimization/17723
1422         * cfgcleanup.c (merge_memattrs): Handle case when
1423         MEM_SIZE == NULL_RTX.
1424
1425 2004-10-15  Andrew Pinski  <pinskia@physics.uc.edu>
1426
1427         * toplev.c (dump_file_name): Change type to be const.
1428
1429 2004-10-15  Joseph S. Myers  <jsm@polyomino.org.uk>
1430
1431         * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
1432         non_lvalue to stop something being a null pointer constant.
1433
1434 2004-10-15  Aldy Hernandez  <aldyh@redhat.com>
1435
1436         * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
1437         available for TARGET_FPRS.
1438         (FUNCTION_VALUE_REGNO_P): Same.
1439
1440 2004-10-15  Geoffrey Keating  <geoffk@apple.com>
1441
1442         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
1443         -maltivec in same style as other ISA options.
1444
1445 2004-10-15  Jon Grimm <jgrimm2@us.ibm.com>
1446
1447         * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
1448         definition.
1449
1450 2004-10-15  Kazu Hirata  <kazu@cs.umass.edu>
1451
1452         * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
1453         collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
1454         gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
1455         genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
1456         gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
1457         gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
1458         lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
1459         predict.def, predict.h, protoize.c, reload.h, resource.h,
1460         rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
1461         tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
1462         unwind-sjlj.c, value-prof.h: Update copyright.
1463
1464 2004-10-15  Kazu Hirata  <kazu@cs.umass.edu>
1465
1466         * pointer-set.c, tree-vectorizer.c: Fix comment typos.
1467
1468 2004-10-15  Diego Novillo  <dnovillo@redhat.com>
1469
1470         * tree-optimize.c (execute_one_pass): Stop timer right after
1471         executing the pass.
1472
1473 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
1474
1475         Revert:
1476         2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
1477         PR middle-end/17967
1478         Revert:
1479                 * tree-cfg.c (remove_usless_stmts_cond):  Fold statement.
1480                 (remove_useless_stmts_1):  Fold trees we know how to fold.
1481
1482 2004-10-14  David Edelsohn  <edelsohn@gnu.org>
1483
1484         * configure.ac: Add .machine power4 directive when testing for
1485         mfcr field.
1486         * configure: Regenerate.
1487
1488 2004-10-14  Geoffrey Keating  <geoffk@apple.com>
1489
1490         * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
1491
1492 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
1493
1494         * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
1495         always.
1496
1497 2004-10-14  Daniel Jacobowitz  <dan@codesourcery.com>
1498
1499         * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
1500         for 'f' if !TARGET_FPRS.
1501
1502 2004-10-14  Richard Henderson  <rth@redhat.com>
1503
1504         PR debug/14492
1505         * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
1506
1507 2004-10-14  Richard Henderson  <rth@redhat.com>
1508
1509         PR c/17023
1510         * c-decl.c (store_parm_decls_oldstyle): Care for parameter type
1511         as error_mark_node.
1512         * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
1513         instaed of current_function_decl non-null.
1514
1515 2004-10-14  Matt Austern  <austern@apple.com>
1516
1517         * pointer-set.c: New file, special-purpose hash table.
1518         * pointer-set.h: New file.
1519         * tree.h (struct pointer_set_t): Declare as opaque type.
1520         (tree_walk): Last argument is pointer_set_t* now.
1521         * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
1522         (walk_type_fields):
1523         (walk_tree): Convert from htab_t to pointer_set_t for keeping
1524         track of which nodes have already been visited.
1525         (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
1526         * cgraphunit.c (cgraph_create_edges): Likewise.
1527         (cgraph_characterize_statics_local): Likewise.
1528         * tree-dfa.c (collect_dfa_stats): Likewise.
1529         * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
1530         pointer_set_t* now.
1531         * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
1532         * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
1533         of walk_subtrees is pointer_set_t* now.
1534         * Makefile.in (OBJS-common): add pointer-set.o
1535         (tree-inline.o): Depends on pointer-set.h
1536         (tree-dfa.o): Likewise
1537         (cgraphunit.o): Likewise
1538
1539 2004-10-14  Geoffrey Keating  <geoffk@apple.com>
1540
1541         * config/rs6000/darwin.h (ASM_SPEC): Delete.
1542         (TARGET_ASM_FILE_START): Define.
1543         * config/darwin.h (ASM_SPEC): Define.
1544         * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
1545         -mlong-double-128, it's the default.  Update comment about reason
1546         for force_cpusubtype_ALL.
1547         * config/rs6000/darwin-vecsave.asm: Supply .machine.
1548         * config/rs6000/darwin-world.asm: Likewise.
1549         * config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
1550         (symbolic_operand): Delete #if 0ed code.
1551
1552 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
1553
1554         * stmt.c (add_case_node): Make sure that we have integer
1555         constant before calling tree_int_cst_compare.
1556
1557 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
1558
1559         PR middle-end/17967
1560         Revert:
1561                 * tree-cfg.c (remove_usless_stmts_cond):  Fold statement.
1562                 (remove_useless_stmts_1):  Fold trees we know how to fold.
1563
1564 2004-10-14  Joseph S. Myers  <joseph@codesourcery.com>
1565
1566         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
1567         config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
1568         -m64.
1569
1570 2004-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
1571
1572         * reload.c (find_reloads): When reloading a PLUS with constant
1573         operand, make sure the constant is pushed to the constant pool
1574         if required.
1575         * config/s390/s390.c (s390_secondary_input_reload_class): Remove
1576         reload bug workaround.
1577         (s390_expand_plus_operand): Likewise.
1578
1579 2004-10-14  David Edelsohn  <edelsohn@gnu.org>
1580
1581         * opts.c (common_handle_option): Do not enable
1582         flag_speculative_prefetching for -fprofile-generate/use.
1583
1584 2004-10-14  Devang Patel  <dpatel@apple.com>
1585
1586         PR 17635
1587         * tree-if-conv.c (process_phi_nodes): Process latch block.
1588         (combine_blocks): Process latch block and update loop structure.
1589
1590 2004-10-14  Olga Golovanevsky  <olga@il.ibm.com>
1591
1592         * tree-vectorizer.c (vect_generate_tmps_on_preheader):
1593         (vect_update_ivs_after_vectorizer):
1594         (vect_transform_for_unknown_loop_bound):
1595         (tree_duplicate_loop_to_edge):
1596         (allocate_new_names):
1597         (rename_use_op):
1598         (rename_def_op):
1599         (rename_variables_in_bb):
1600         (free_new_names):
1601         (rename_variables_in_loop):
1602         (copy_phi_nodes):
1603         (update_phis_for_duplicate_loop):
1604         (update_phi_nodes_for_guard):
1605         (make_loop_iterate_ntimes):
1606         (tree_duplicate_loop_to_edge_cfg):
1607         (add_loop_guard):
1608         (vect_analyze_loop_with_symbolic_num_of_iters):
1609         (verify_loop_for_duplication):
1610         (vect_gen_niters_for_prolog_loop):
1611         (vect_update_niters_after_peeling):
1612         (vect_update_inits_of_dr):
1613         (vect_update_inits_of_drs):
1614         (vect_build_loop_niters):
1615         (vect_do_peeling_for_alignment): New functions.
1616         (vect_transform_loop): Add unknown and known but indivisible loop
1617         bound support; add peeling for unalignment support.
1618         (vect_analyze_loop_form): Support symbolic number of iterations.
1619         (vect_transform_loop_bound): New input parameter.
1620         (vect_get_loop_niters): Change input parameter type.
1621         (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
1622         (vectorizable_store): Allow unaligned access.
1623         (vectorize_loops): Add rewrite_into_loop_closed_ssa.
1624         (vect_analyze_data_refs_alignment): Allowed one unaligned
1625         store.
1626         * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
1627         to use tree.
1628         (LOOP_VINFO_INT_NITERS): New macro.
1629         (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
1630         (do_peeling_for_alignment):
1631         (unaligned_drs): New members of _loop_vec_info.
1632         (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
1633
1634 2004-10-14  Ranjit Mathew  <rmathew@hotmail.com>
1635
1636         * tree.h (TREE_STRING_POINTER): Wrap in "const char *".
1637         (struct tree_string): Remove "const" qualifier for "str".
1638
1639 2004-10-14  Ira Rosen  <irar@il.ibm.com>
1640
1641         * tree-vectorizer.c (vect_analyze_data_refs): Call
1642         vect_get_base_and_bit_offset to get memory tag for array ref.
1643         (vect_create_addr_base_for_vector_ref): Remove redundant checks.
1644
1645 2004-10-14  Richard Earnshaw  <rearnsha@arm.com>
1646
1647         * configure.ac: Use $LN_S for creating symlinks (not $LN).
1648         * configure: Regenerate.
1649
1650 2004-10-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1651
1652         * doc/install.texi (*-*-solaris2*): Update with info about kernel
1653         patches to solve spurious testsuite failures.
1654
1655 2004-10-14  Dorit Naishlos  <dorit@il.bim.com>
1656
1657         * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
1658         Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
1659         (vect_analyze_operations): Make sure the vectorization factor > 1. Add
1660         gcc_assert under ENABLE_CHECKING.
1661         (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
1662         get_vectype_for_scalar_type).
1663
1664         (vect_get_vec_def_for_operand): Remove redundant variables.
1665         (vect_transform_loop): Likewise.
1666
1667 2004-10-14  Richard Sandiford  <rsandifo@redhat.com>
1668
1669         * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
1670         global for -mcaller-super-interworking.
1671         (CALLER_INTERWORKING_SLOT_SIZE): New macro.
1672         * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
1673         CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
1674         not need a frame pointer.
1675         (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
1676         the soft frame pointer offset.
1677         (thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
1678         * config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
1679         _interwork_{r7,r11}_call_via_rN if some arguments are passed on
1680         the stack.  Use frame_pointer_needed to choose between them.
1681         * config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
1682         (interwork_with_frame): New macro.
1683         (interwork): Add _interwork_{r7,r11}_call_via_rN().
1684
1685 2004-10-14  Ben Elliston  <bje@au.ibm.com>
1686
1687         PR other/17900
1688         * diagnostic.c (trim_filename): Fix logic bug in walking backwards
1689         up the filename looking for a previous directory separator.
1690
1691 2004-10-14  Joseph S. Myers  <jsm@polyomino.org.uk>
1692
1693         * c-tree.h (enum c_typespec_kind, struct c_typespec,
1694         parser_xref_tag): New.
1695         (struct c_declspecs): Add tag_defined_p.  Adjust definition of
1696         typedef_p.
1697         (declspecs_add_type): Adjust prototypes.
1698         * c-parse.in (%union): Add tstype.
1699         (typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
1700         typespec_reserved_attr, typespec_nonreserved_nonattr,
1701         structsp_attr, structsp_nonattr): Change to tstype.  Update
1702         actions.
1703         * c-decl.c (build_null_declspecs): Initialize tag_defined_p.
1704         (declspecs_add_type): Update to take struct c_typespec argument.
1705         Set tag_defined_p and typedef_p as appropriate.
1706         (xref_tag): Rename to parser_xref_tag and replace by wrapper.
1707         Update to return struct c_typespec.
1708         (shadow_tag_warned): Don't let empty declarations with qualifiers
1709         or storage class specifiers redeclare a tag if a previous
1710         declaration is visible.
1711
1712 2004-10-13  Richard Henderson  <rth@redhat.com>
1713
1714         PR debug/15860
1715         * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
1716         for DECL_INCOMING_RTL.
1717
1718 2004-10-14  Hans-Peter Nilsson  <hp@axis.com>
1719
1720         PR target/17984
1721         * config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
1722         trunc_int_for_mode for constants used in shortened mode.
1723
1724 2004-10-13  Richard Henderson  <rth@redhat.com>
1725
1726         PR c/17384
1727         * c-common.c (handle_mode_attribute): Disallow mode changes that
1728         alter the CODE of the top-level type.
1729
1730         * crtstuff.c (__FRAME_END__): Remove mode attribute.  Find 32-bit
1731         integer from internal limits macros.
1732         * config/i386/mm3dnow.h (__v2sf): Fix base type.
1733
1734 2004-10-13  Richard Henderson  <rth@redhat.com>
1735
1736         PR debug/13841
1737         * function.c (instantiate_decl): Recurse for CONCAT.
1738
1739 2004-10-13  David Edelsohn  <edelsohn@gnu.org>
1740
1741         * config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
1742         andi./andis.
1743         (anddi3): Same.
1744         (extzvdi_internal1): Add attribute "compare".
1745         (extzvdi_internal2): Same.
1746
1747 2004-10-12  Tom Tromey  <tromey@redhat.com>
1748
1749         * doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
1750
1751 2004-10-13  Dale Johannesen  <dalej@apple.com>
1752
1753         * doc/extend.texi (Extended Asm):  Rewrite asm volatile description.
1754
1755 2004-10-13  Frank Ch. Eigler  <fche@redhat.com>
1756
1757         * toplev.c (compile_file): Call mudflap_finish_file from here ...
1758         * c-decl.c (c_write_global_declarations): ... instead of here ...
1759         * cp/decl.c (cp_finish_file): ... and here.
1760         * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
1761
1762 2004-10-13  Andrew Pinski  <pinskia@physics.uc.edu>
1763
1764         * tree-ssa-dom.c (record_range): Free the element if we are not
1765         going to use it.
1766
1767 2004-10-13  Tom Tromey  <tromey@redhat.com>
1768
1769         PR java/15578:
1770         * gcc.c (option_map): Added --extdirs and --encoding.
1771
1772 2004-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
1773
1774         PR target/14454
1775         * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
1776         sparc_can_output_mi_thunk.
1777         (sparc_output_mi_thunk): Simplify handling of delta offset.  Add
1778         handling of vcall offset.
1779         (sparc_can_output_mi_thunk): New predicate.
1780         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
1781         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
1782         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
1783
1784         * config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
1785
1786         * config/sparc/sparc.md (movdi): Remove redundant test.
1787
1788 2004-10-13  Paolo Bonzini  <bonzini@gnu.org>
1789
1790         * tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
1791         TDF_IPA from -fdump-tree-*-all.
1792
1793 2004-10-13  Paul Brook  <paul@codesourcery.com>
1794
1795         * config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
1796         * config/arm/arm.c (thumb_find_work_register): Update comments.
1797         (arm_load_pic_register): Add argument for scratch register.
1798         (arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
1799         * config/arm/arm.md (builtin_setjmp_receiver): Ditto.
1800
1801 2004-10-13  Kazu Hirata  <kazu@cs.umass.edu>
1802
1803         * tree-data-ref.c: Fix comment typos.
1804
1805 2004-10-13  Jakub Jelinek  <jakub@redhat.com>
1806             Zdenek Dvorak  <dvorakz@suse.cz>
1807
1808         PR tree-optimization/17724
1809         * tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
1810
1811 2004-10-13  Dorit Naishlos  <dorit@il.ibm.com>
1812
1813         * rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
1814         (altivec_builtin_mask_for_store): Likewise.
1815         (altivec_init_builtins): Use lang_hooks.builtin_function to
1816         create the decls for builtin_altivec_mask_for_load/store.
1817
1818 2004-10-13  Nick Clifton  <nickc@redhat.com>
1819
1820         * config/c4x/c4x.c: Remove inclusion of loop.h.
1821
1822 2004-10-12  Ben Elliston  <bje@au.ibm.com>
1823
1824         * basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
1825         (ei_container): New; renamed.
1826         (ei_start, ei_last): New macros.
1827         (ei_start_1, ei_last_1): Renamed from ei_start.
1828         (ei_last_1, ei_end_p): Use ei_container() where applicable.
1829         (ei_one_before_end_p, ei_next, ei_edge): Likewise.
1830         * gcse.c (remove_reachable_equiv_notes): Use ei_container().
1831
1832 2004-10-11  Sebastian Pop  <pop@cri.ensmp.fr>
1833
1834         * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
1835         * cfgloop.c (initialize_loops_parallel_p): New.
1836         (flow_loops_find): Initialize the parallel_p field to true for all
1837         the loops.
1838         * tree-ssa-loop-niter.c: Include "tree-data-ref.h".
1839         (estimate_numbers_of_iterations_loop): Infers the loop bounds from
1840         the size of the data accessed in the loop.
1841         (struct nb_iter_bound): Moved...
1842         * cfgloop.h (struct nb_iter_bound): ... here.
1843         (estimated_nb_iterations, parallel_p): New fields in struct loop.
1844         (record_estimate): Declare extern here.
1845         * tree-chrec.c: Fix comments.
1846         (nb_vars_in_chrec): New function.
1847         * tree-chrec.h (nb_vars_in_chrec): Declared here.
1848         * tree-data-ref.c: Don't include lambda.h, that is already included
1849         in tree-data-ref.h.
1850         (tree_fold_divides_p): Don't check for integer_onep.
1851         (tree_fold_bezout): Removed.
1852         (gcd): New static duplicated function.
1853         (int_divides_p, dump_subscript): New.
1854         (dump_data_dependence_relation): Use dump_subscript.
1855         (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
1856         estimate_niter_from_size_of_data): New.
1857         (analyze_array_indexes, analyze_array): Call
1858         estimate_niter_from_size_of_data during the detection of array
1859         references.  Pass in a pointer to the statement that contains the
1860         array reference.
1861         (all_chrecs_equal_p): New.
1862         (compute_distance_vector): Renamed compute_subscript_distance.
1863         Deal with multivariate conflict functions.
1864         (initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
1865         DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
1866         (non_affine_dependence_relation): New.
1867         (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
1868         analyze_siv_subscript, analyze_miv_subscript,
1869         analyze_overlapping_iterations, subscript_dependence_tester):
1870         Initialize and return last_conflicts function.
1871         (initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
1872         compute_overlap_steps_for_affine_1_2): New.
1873         (analyze_siv_subscript_affine_cst): Removed.
1874         (analyze_subscript_affine_affine): Disprove dependences based on the
1875         iteration domains.  Solve the univariate dependence case as before,
1876         but use lambda_matrix_right_hermite instead of tree_fold_bezout.
1877         Implement the multivariate case of 2 versus 1 variables.
1878         (build_classic_dist_vector, build_classic_dir_vector): Implement some
1879         unhandled cases.
1880         (find_data_references_in_loop): Compute and initialize
1881         loop->estimated_nb_iterations and loop->parallel_p.
1882         (analyze_all_data_dependences): Modify the debug dump order.
1883         * tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
1884         subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
1885         (SUB_LAST_CONFLICT, subscript->last_conflict,
1886         data_dependence_relation->affine_p, data_dependence_relation->size_vect,
1887         DDR_AFFINE_P, DDR_SIZE_VECT): New.
1888         (find_data_references_in_loop, initialize_data_dependence_relation,
1889         dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
1890
1891 2004-10-12  Kelley Cook  <kcook@gcc.gnu.org>
1892
1893         * configure: Regenerate.
1894
1895 2004-10-12  Fariborz Jahanian <fjahanian@apple.com>
1896
1897         PR 17892
1898         * tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
1899         (simplify_rhs_and_lookup_avail_expr): Disallow associativity
1900         and constant folding of floating point MULT_EXPR/PLUS_EXPR
1901         expressions.
1902
1903 2004-10-12  Ulrich Weigand  <uweigand@de.ibm.com>
1904
1905         * config/s390/s390.c (s390_va_start): Use build_va_arg_indirect_ref.
1906         (s390_gimplify_va_arg): Likewise.
1907
1908 2004-10-12  Daniel Jacobowitz  <dan@debian.org>
1909
1910         * defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P)
1911         (MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P)
1912         (REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions.
1913         * regclass.c (record_address_regs): Remove ifdef.  Use
1914         REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
1915         * regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary
1916         definition.
1917         (scan_rtx_address, replace_oldest_value_addr): Use
1918         REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
1919         * reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove
1920         unnecessary definitions.
1921         (find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P
1922         and MODE_BASE_REG_REG_CLASS.
1923         * config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed.
1924         (MODE_BASE_REG_REG_CLASS): Define.
1925         (REGNO_MODE_OK_FOR_REG_BASE_P): Define.
1926         (REG_MODE_OK_FOR_REG_BASE_P): Define.
1927         * doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS,
1928         REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P.
1929
1930 2004-10-12  Daniel Berlin <dberlin@dberlin.org>
1931
1932         * tree-ssa-alias.c (verify_name_tags): New function.
1933         (verify_flow_sensitive_alias_info): Remove code that used to check name tags.
1934         (verify_alias_info): Call verify_name_tags.
1935
1936 2004-10-12  Kazu Hirata  <kazu@cs.umass.edu>
1937
1938         PR rtl-optimization/17931
1939         * config/i386/i386.c (ix86_rtx_costs): Handle COMPARE with
1940         ZERO_EXTRACT in it.
1941
1942 2004-10-12  Richard Earnshaw  <rearnsha@arm.com>
1943
1944         * arm.c (arm_print_operand): Use output_operand_lossage where possible
1945         rather than aborting.
1946
1947 2004-10-12  Paul Brook  <paul@coudesourcery.com>
1948
1949         * config.gcc: Add armv6{k,z,zk}
1950         * config/arm/arm-cores.def: Add arm1176 and mpcore.
1951         * config/arm/tune.md: Regenerate.
1952         * config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK):
1953         Define.
1954         (all_architectures): Add armv6k, armv6z, armv6zk.
1955         * config/arm/lib1funcs.asm: Recognise new arm arcitectures.
1956         * doc/invoke.texi: Document new arch and cpu values.
1957
1958 2004-10-12  Paul Brook  <paul@coodesourcery.com>
1959
1960         * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Change meabi=3 to
1961         meabi=4.
1962
1963 2004-10-12  Paul Brook  <paul@codesourcery.com>
1964
1965         * config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints.
1966         Handle negative constants.
1967
1968 2004-10-12  Joseph S. Myers  <jsm@polyomino.org.uk>
1969
1970         PR c/17301
1971         * c-typeck.c (convert_arguments): Return error_mark_node if there
1972         are too few arguments.
1973         (build_function_call): Handle error_mark_node return from
1974         convert_arguments.
1975
1976 2004-10-06  Paolo Bonzini  <bonzini@gnu.org>
1977
1978         * configure.ac (symbolic_link): Replace with $LN_S.
1979         (Assembler/Linker): Hard link from gas and binutils trees.
1980         * aclocal.m4 (gcc_AC_PROG_LN_S): Try "cp -p" before cp.
1981         * configure: Regenerate.
1982
1983 2004-10-12  Paul Brook  <paul@codesourcery.com>
1984
1985         * configure.ac: Don't look for host assembler when building a canadian
1986         cross.
1987         * configure: Regenerate.
1988
1989 2004-10-11  Roger Sayle  <roger@eyesopen.com>
1990
1991         PR other/17361
1992         * c-opts.c (permit_fortran_options): Delete/obsolete global variable.
1993         (c_common_init_options): Remove #ifdef CL_F77 code.  Scan command
1994         line options for "-lang-asm" and if found allow any of the C-family
1995         front-end options.
1996         (c_common_handle_option): Remove last use of permit_fortran_options.
1997
1998 2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
1999
2000         * config/s390/s390.c (print_operand): Support 'S' format flag.
2001         * config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag.
2002         ("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise.
2003         ("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise.
2004         ("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise.
2005         ("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise
2006         ("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise.
2007         ("*movstricthi"): Likewise.
2008         ("*load_multiple_di", "*load_multiple_si"): Likewise.
2009         ("*store_multiple_di", "*store_multiple_si"): Likewise.
2010         ("*sethiqisi", "*sethihisi"): Likewise.
2011         ("*sethiqidi_64", "*sethiqidi_31"): Likewise.
2012         ("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise.
2013         ("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise.
2014         ("*xorqi3", "*xc", "*xc_zero"): Likewise.
2015         ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise.
2016
2017         ("*tmhi_full"): Fix incorrect op_type attribute.
2018
2019         ("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash.
2020         ("*subdi3_slb_cc", "*subdi3_slb"): Likewise.
2021         ("*addsi3_alc_cc", "*addsi3_alc"): Likewise.
2022         ("*subsi3_slb_cc", "*subsi3_slb"): Likewise.
2023
2024 2004-10-11  Andrew Pinski  <pinskia@physics.uc.edu
2025
2026         PR middle-end/16266
2027         * function.c (temp_slots_at_level): Fix typo which creates too
2028         many temp stack slots levels.
2029
2030 2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
2031
2032         * config/s390/s390.c (s390_trampoline_template): Generate shorter
2033         trampoline code.
2034         (s390_trampoline_instantiate): Adapt.
2035         * config/s390/s390.h (TRAMPOLINE_SIZE): Adapt to new code.
2036
2037 2004-10-11  Roger Sayle  <roger@eyesopen.com>
2038
2039         PR middle-end/17657
2040         * stmt.c (add_case_node): Add additional type argument.  Declare
2041         as static to match prototype.  Convert the upper and lower bounds
2042         to the specified index type.  Optimize away case ranges/values
2043         that are outside the index type's bounds.  Truncate case ranges
2044         that span the index type's bounds.
2045         (expand_case): Avoid unnessary computation and memory allocation
2046         when index type is error_mark_node.  Pass index_type as required
2047         by change to add_case_node API.  No need to convert case range
2048         bounds to index_type, this is now done by add_case_node.
2049
2050 2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
2051
2052         * config/s390/s390-protos.h (s390_offset_p): Add prototype.
2053         * config/s390/s390.c (s390_offset_p): New function.
2054         * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu",
2055         "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to
2056         transform Q->Q alternatives to *clc pattern.
2057         ("*clc"): Move.
2058         ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
2059         "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter
2060         to transform Q->Q alternatives to *mvc pattern.
2061         ("*mvc"): Move.  Add peephole to merge adjacent MVCs.
2062         ("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch",
2063         "*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to
2064         transform Q->Q alternatives to *nc pattern.
2065         ("*nc"): New insn.  New peephole to merge adjacent NCs.
2066         ("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch",
2067         "*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to
2068         transform Q->Q alternatives to *oc pattern.
2069         ("*oc"): New insn.  New peephole to merge adjacent OCs.
2070         ("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to
2071         transform Q->Q alternatives to *xc pattern.
2072         ("*xc"): New insn.  New peephole to merge adjacent XCs.
2073         ("*xc_zero"): Move.  Add peephole to merge adjacent XCs.
2074
2075 2004-10-11  Andrew Pinski  <pinskia@physics.uc.edu>
2076
2077         * gimplify.c (gimple_push_condition): Make sure that we don't
2078         have any saved condition cleanup if we were at the top level.
2079
2080 2004-10-11  Richard Sandiford  <rsandifo@redhat.com>
2081
2082         * config/frv/frv.md (*adddi3_internal): Change name to...
2083         (adddi3): ...replacing the exisiting define_expand.  Combine
2084         alternatives.  Fix the range of the constant constraints ('J' instead
2085         of 'NOP').  Remove bogus operands[2] check.  Use simplify_gen_subreg
2086         to extract the lower and upper halves of the DImode operands.
2087         Always use addi3_lower and adddi3_upper, not the subdi3 forms.
2088         (adddi3_lower): Fix the range of the constant constraints and
2089         remove the bogus operands[2] check.
2090         (adddi3_upper): Use gpr_or_int10_operand as the predicate for
2091         operand 2.  Use addxi to handle constant operands.
2092         (subdi3_lower, subdi3_upper): Don't handle constant operands.
2093
2094 2004-10-11  Nathan Sidwell  <nathan@codesourcery.com>
2095
2096         * gengtype-lex.l: Add commented } & ) characters to unconfuse
2097         editor's paren matching. Allow #define inside a struct.
2098
2099 2004-10-10  Andrew Pinski  <pinskia@physics.uc.edu>
2100
2101         PR middle-end/17703
2102         part of PR c++/17657
2103         * fold-const.c (fold_build_cleanup_point_expr): New function.
2104         * tree.h (fold_build_cleanup_point_expr): Prototype.
2105
2106 2004-10-10  Eric Christopher  <echristo@redhat.com>
2107
2108         * dwarf2out.c: Move attribute to subprogram declaration
2109         instead of subroutine type.
2110
2111 2004-10-10  Kazu Hirata  <kazu@cs.umass.edu>
2112
2113         * basic-block.h: Remove the prototypes for can_hoist_insn_p,
2114         hoist_insn_after, and hoist_insn_to_edge.
2115         * rtl.h: Remove the prototypes for reg_referenced_between_p,
2116         no_jumps_between_p, and insn_dependent_p.
2117         * rtlanal.c (no_jumps_between_p, reg_referenced_between_p,
2118         insn_dependent_p, insn_dependent_p_1, hoist_test_store,
2119         can_hoist_insn_p, hoist_update_store, hoist_insn_after,
2120         hoist_insn_to_edge): Remove.
2121
2122 2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
2123
2124         PR c/17881
2125         * c-decl.c (grokparms): Don't warn for parameters of incomplete
2126         type in declarations that are not definitions except for the case
2127         of parameters of void type.
2128
2129 2004-10-10  Kazu Hirata  <kazu@cs.umass.edu>
2130
2131         * tree-cfg.c: Fix comment typos.
2132
2133 2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
2134
2135         PR c/17301
2136         * builtins.c (expand_builtin_va_start): Check for too few
2137         arguments to va_start.
2138
2139 2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
2140
2141         PR c/17189
2142         * c-decl.c (grokfield): Make diagnostic for bad cases of unnamed
2143         fields a pedwarn.  Pedwarn here for unnamed structs/unions if
2144         pedantic.
2145         * c-parse.in (component_decl): Don't pedwarn here for unnamed
2146         fields.
2147
2148 2004-10-09  Zdenek Dvorak  <dvorakz@suse.cz>
2149
2150         PR tree-optimization/17906
2151         * tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to
2152         copy non-gimple reg arguments.
2153
2154 2004-10-09  Roger Sayle  <roger@eyesopen.com>
2155
2156         PR rtl-optimization/17853
2157         * simplify-rtx.c (simplify_relational_operation): Correct comment.
2158         Reorganize handling of comparison operations with floating point
2159         results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
2160         Likewise, introduce support for comparison operations with vector
2161         result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
2162
2163         * doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
2164         * doc/tm.texi: Likewise.
2165
2166 2004-10-09  Steven Bosscher  <stevenb@suse.de>
2167
2168         * regs.h (struct reg_info_def): Remove the last_node_uid and
2169         changes_mode fields.
2170         (REGNO_LAST_NOTE_UID): Don't define.
2171         * regclass.c (reg_scan_mark_refs): Don't set REGNO_LAST_NOTE_UID.
2172         * regmove.c (copy_src_to_dest): Likewise.
2173
2174 2004-10-09  Roger Sayle  <roger@eyesopen.com>
2175
2176         PR middle-end/17894
2177         * fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the
2178         relational comparison operator op needs to be swapped/reversed when
2179         C1 is negative.  i.e. X/-10 < 1 becomes X >= -9, not X < -9.
2180
2181 2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
2182
2183         PR tree-opt/17902
2184         * tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels
2185         instead of bsi_start.
2186         (value_replacement): Likewise.
2187         (abs_replacement): Likewise
2188
2189 2004-10-09  Steven Bosscher  <stevenb@suse.de>
2190
2191         * cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
2192         (expand_gimple_cond_expr, expand_gimple_tailcall,
2193         expand_gimple_basic_block): Use it to dump RTL for each stmt.
2194         (tree_expand_cfg): Announce full RTL function dump.
2195         * tree-optimize.c (execute_one_pass): Use normal RTL printing,
2196         not the graph version.
2197         * tree-pretty-print.c (dump_generic_node): Allow empty statements
2198         in the arms of a COND_EXPR for lowered nodes.
2199
2200 2004-10-08  Joseph S. Myers  <joseph@codesourcery.com>
2201
2202         * config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
2203         atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
2204         strtoufix16, strtoufix32, strtoufix64): Declare.
2205
2206 2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
2207
2208         * c-lex.c (interpret_float): Give a pedwarn rather than a warning
2209         for an out-of-range floating point constant.
2210         * builtins.c (fold_builtin_inf): Give a pedwarn rather than a
2211         warning if the target format does not support infinities.
2212
2213 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
2214
2215         * emit-rtl.c (last_label_num, base_label_num): Remove.
2216         (max_label_num): Always return label_num.
2217         (set_new_last_label_num, restore_emit_status): Remove.
2218         (init_emit): Don't initialize last_label_num.
2219         * function.c (pop_function_context_from): Don't call
2220         restore_emit_status.
2221         * function.h: Remove the prototype for restore_emit_status.
2222         * rtl.h: Remove the prototype for set_new_last_label_num.
2223
2224 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
2225
2226         * stmt.c (expand_decl_init): Remove.
2227         * tree.h: Remove the corresponding prototype.
2228
2229 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
2230
2231         * integrate.c (try_constants, subst_constants, mark_stores):
2232         Remove.
2233         * integrate.h: Remove the prototype for try_constants.
2234
2235 2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
2236
2237         * c-typeck.c (enum impl_conv): Add ic_argpass_nonproto.
2238         (convert_for_assignment): Handle ic_argpass_nonproto.  Add
2239         comments about its relevance to errors.
2240         (c_convert_parm_for_inlining): Use ic_argpass_nonproto.
2241
2242 2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
2243
2244         PR c/16999
2245         * c-ppoutput.c (cb_ident): Don't quote string as it is already
2246         quoted.
2247
2248 2004-10-08  Diego Novillo  <dnovillo@redhat.com>
2249
2250         * tree-ssa-pre.c (init_pre): Use size of ARRAY_REF to allocate
2251         reference_node_pool.
2252
2253 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
2254
2255         * tree-cfg.c: Fix a comment typo.
2256
2257 2004-10-08  Andreas Krebbel  <krebbel1@de.ibm.com>
2258
2259         * config/s390/s390.c (s390_register_info): Don't save fprs for
2260         -msoft-float.
2261         (s390_conditional_register_usage): Make fprs 'fixed' for -msoft-float.
2262
2263 2004-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
2264
2265         * config/s390/s390.h (TARGET_DEFAULT_BACKCHAIN): New define.
2266         (TARGET_DEFAULT): Use symbolic values.
2267         * config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Redefine.
2268         (TARGET_DEFAULT): Use symbolic values.
2269         * config/s390/s390.c (s390_backchain_string): Initialize to
2270         TARGET_DEFAULT_BACKCHAIN.
2271
2272 2004-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2273
2274         * builtins.c (expand_builtin_mempcpy): Move tree handling code to
2275         fold_builtin_mempcpy.  Accept a type parameter.  Delete duplicate
2276         code.
2277         (expand_builtin_strcat): Accept a type parameter.
2278         (fold_builtin_mempcpy): Accept a type and endp parameter.
2279
2280         * builtins.c (expand_builtin_strncpy): Delete duplicate code.
2281         Accept an `exp' instead of an `arglist'.
2282
2283 2004-10-08  Nathan Sidwell  <nathan@codesourcery.com>
2284
2285         * tree-tailcall.c (tree_optimize_tail_calls_1): Use fold_convert,
2286         reverting my 2004-09-07 patch to use build_int_cst.
2287
2288 2004-10-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
2289
2290         PR target/17245
2291         * config/sparc/sparc.c (input_operand): Remove redundant code
2292         for handling LO_SUM.
2293         (legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
2294         <LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
2295         Otherwise only accept it for TFmode if quad move insns are available.
2296
2297 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
2298
2299         * tree-cfg.c (tree_forwarder_block_p): Reorder checks so that
2300         common cases will be caught earlier than others.
2301
2302 2004-10-08  Michael Matz  <matz@suse.de>
2303
2304         * loop-doloop.c (doloop_optimize): Extend count.
2305
2306 2004-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
2307
2308         * config/sh/sh.md (prefetch_media, prefetch_i4): New insns.
2309         (prefetch): Convert to expander.
2310
2311 2004-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
2312
2313         * config/sh/sh.md (tls_global_dynamic): Use MEM pattern for the
2314         first argument of CALL.
2315         (tls_local_dynamic): Likewise.
2316
2317 2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
2318
2319         * c-typeck.c (enum impl_conv): New.
2320         (convert_for_assignment): Use it.  Take tree for function called
2321         instead of its name.  Handle ObjC selectors for diagnostics at
2322         start of function.  Select diagnostic text within the function
2323         using full sentences for diagnsotics.  Use %qE to name functions
2324         in diagnostics.
2325         (convert_arguments, build_modify_expr,
2326         c_convert_parm_for_inlining, digest_init, c_finish_return): Update
2327         callers to convert_for_assignment.
2328         (warn_for_assignment): Remove.
2329
2330 2004-10-08  Nick Clifton  <nickc@redhat.com>
2331
2332         * config/sh/symbian.c (symbian_possibly_export_base_class):
2333         Replace use of deleted TYPE_USES_VIRTUAL_BASECLASSES macro with
2334         TYPE_CONTAINS_VPTR_P.
2335
2336 2004-10-08  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
2337
2338         * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude
2339         fixed registers form all_used_regs. Update call_really_used_regs.
2340         (CALL_REALLY_USED_REGISTERS): Define.
2341         * config/m32r/m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs
2342         with call_really_used_regs.
2343
2344 2004-10-08  Alan Modra  <amodra@bigpond.net.au>
2345
2346         * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Choose gcrt1.o
2347         for -profile as well as -p and -pg.
2348
2349 2004-10-07  Andrew Pinski  <pinskia@physics.uc.edu>
2350
2351         * libgcc2.c (__moddi3): Cast &w to UDWtype*.
2352
2353 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
2354
2355         * tree-cfg.c (tree_block_forwards_to): Remove.
2356         * tree-flow.h: Remove the corresponding prototype.
2357
2358 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
2359
2360         * tree-flow-inline.h (phi_nodes): Remove an unnecessary check
2361         for ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR.
2362
2363 2004-10-07  Geoffrey Keating  <geoffk@apple.com>
2364
2365         Radar 3813796
2366         * config/rs6000/rs6000.c (rs6000_generate_compare): When
2367         flag_trapping_math is in effect, don't generate subtract
2368         instructions.
2369
2370 2004-10-07  Ulrich Weigand  <uweigand@de.ibm.com>
2371
2372         * config/s390/s390-protos.h (s390_narrow_logical_operator): Add.
2373         * config/s390/s390.c (s390_narrow_logical_operator): New function.
2374         (s390_extra_constraint_str): Add 'A' constraints.
2375         (s390_const_ok_for_constraint_p): Add 'Nx' constraints.
2376         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'A' constraint.
2377         (CONSTRAINT_LEN): Likewise.
2378         * config/s390/s390.md ("*anddi3"): Add NI alternative and splitter.
2379         ("*andsi3_zarch", "*andsi3_esa"): Likewise.
2380         ("*andhi3_zarch", "*andhi3_esa"): Likewise.
2381         ("*iordi3"): Add OI alternative and splitter.
2382         ("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
2383         ("*iorhi3_zarch", "*iorhi3_esa"): Likewise.
2384         ("*xordi3"): Add XI alternative and splitter.
2385         ("*xorsi3", "*xorhi3"): Likewise.
2386
2387 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
2388
2389         * config/mips/mips.c (mips_function_rodata_section): New function.
2390         (TARGET_ASM_FUNCTION_RODATA_SECTION): Use it.
2391
2392 2004-10-07  Devang Patel  <dpatel@apple.com>
2393
2394         * rs6000/altivec.md (UNSPEC_VCMPBFP, UNSPEC_VCMPEQUB, UNSPEC_VCMPEQUH,
2395         UNSPEC_VCMPEQUW, UNSPEC_VCMPGEFP, UNSPEC_VCMPGTUB, UNSPEC_VCMPGTSB,
2396         UNSPEC_VCMPGTUH, UNSPEC_VCMPGTSH, UNSPEC_VCMPGTUW, UNSPEC_VCMPGTSW,
2397         UNSPEC_VCMPGTFP, UNSPEC_VSEL4SI, UNSPEC_VSEL4SF, UNSPEC_VSEL8HI,
2398         UNSPEC_VSEL16QI, UNSPEC_VCOND_V4SI, UNSPEC_VCOND_V4SF, UNSPEC_VCOND_V8HI,
2399         UNSPEC_VCOND_V16QI, UNSPEC_VCONDU_V4SI, UNSPEC_VCONDU_V8HI,
2400         UNSPEC_VCONDU_V16QI): New constant defines.
2401         (vcondv4si, vcondv4sf, vcondv8hi, vcondv16qi, vconduv4si, vconduv8hi,
2402         vconduv16qi): New patterns.
2403         * rs6000/rs6000-protos.h (rs6000_emit_vector_cond_expr): New function.
2404         * rs6000/rs6000.c (rs6000_emit_vector_cond_expr): New function.
2405         (get_vec_cmp_insn): Same.
2406         (get_vsel_insn): Same.
2407         (rs6000_emit_vector_compare): Same.
2408         (rs6000_emit_vector_select): Same.
2409         (INSN_NOT_AVAILABLE): New.
2410
2411 2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
2412
2413         PR tree-optimization/17749
2414         * tree-tailcall.c (find_tail_calls): Check that parameter is
2415         a gimple_reg.
2416
2417 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
2418
2419         * config/ia64/ia64.c: Fix a comment typo.
2420
2421 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
2422
2423         * doc/install.texi (*-*-solaris2*): Fix marker for URL.
2424
2425 2004-10-07  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
2426
2427         PR c++/17115
2428         * tree-inline.c (expand_call_inline): Do not warn for functions
2429         marked with attribute noinline.
2430
2431 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
2432
2433         PR target/17862
2434         * config/sparc/sparc.c (sparc_output_mi_thunk): Set
2435         current_function_uses_only_leaf_regs as well as sparc_leaf_function_p.
2436
2437         * config/sparc/sparc.c (sparc_gimplify_va_arg): Pass 'false' instead
2438         of 0 as 4th argument to pass_by_reference.
2439         Call build_va_arg_indirect_ref instead of build_fold_indirect_ref.
2440
2441 2004-10-06  Eric Christopher  <echristo@redhat.com>
2442
2443         * config/sh/sh.c (sh_dwarf_calling_convention): Fix renesas dwarf
2444         attribute.
2445
2446 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
2447
2448         PR target/17770
2449         * config/mips/mips.md (mov_<load>l): Remove hazard=none attribute.
2450
2451 2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
2452
2453         PR rtl-optimization/17791
2454         * loop-doloop.c (doloop_modify): Take number of iterations as
2455         argument.
2456         (doloop_optimize): Extend or shorten the number of iterations
2457         when changing mode of counter register.
2458         * loop-iv.c (lowpart_subreg): Export.
2459         * rtl.h (lowpart_subreg): Declare.
2460
2461 2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
2462
2463         PR tree-optimization/17806
2464         * cfghooks.c (split_edge): Update IRREDUCIBLE_LOOP flags.
2465         * cfgloopmanip.c (loop_split_edge_with): Updating of IRREDUCIBLE_LOOP
2466         flags moved to split_edge.
2467
2468 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
2469
2470         PR middle-end/17835
2471         * expmed.c (expand_sdiv_pow2): Force a stack adjustment
2472         before tentatively building the conditional move sequence.
2473
2474 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
2475
2476         PR target/16815
2477         * function.c (assign_parm_setup_block_p): Tighten BLOCK_REG_PADDING
2478         check.
2479         * config/pa/pa.h (BLOCK_REG_PADDING): Define in terms of
2480         function_arg_padding.
2481
2482 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
2483
2484         PR bootstrap/17857
2485         * Makefile.in (stmp-fixproto): Pass FIX_HEADER=build/... to fixproto.
2486
2487 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
2488
2489         * hooks.c (hook_int_void_1, hook_void_int): Remove.
2490         * hooks.h: Remove the corresponding prototypes.
2491
2492 2004-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
2493
2494         PR middle-end/17849
2495         * tree-nested.c (walk_stmt_info): Add changed field.
2496         (convert_nonlocal_reference): Set changed to when we
2497         change a decl to unnested decl.
2498         <case ADDR_EXPR>: Instead of checking if the immediate part
2499         of the ADDR_EXPR changed, check the field changed.
2500         Use recompute_tree_invarant_for_addr_expr instead of unsetting
2501         TREE_INVARIANT.
2502         (convert_local_reference):  Set changed to when we
2503         change a decl to unnested decl.
2504         <case ADDR_EXPR>: Instead of checking if the immediate part
2505         of the ADDR_EXPR changed, check the field changed.
2506         Also call recompute_tree_invarant_for_addr_expr on the ADDR_EXPR.
2507
2508 2004-10-06  Kazu Hirata  <kazu@cs.umass.edu>
2509
2510         * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
2511         * dwarf2out.c (dwarf2out_init): Remove references to
2512         DWARF2_GENERATE_TEXT_SECTION_LABEL.
2513         * system.h: Poison DWARF2_GENERATE_TEXT_SECTION_LABEL.
2514         * doc/tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
2515
2516 2004-10-06  Joseph S. Myers  <jsm@polyomino.org.uk>
2517
2518         * c-typeck.c (convert_arguments): Take expression for called
2519         function rather than its name.  Handle ObjC selectors directly
2520         rather than relying on warn_for_assignment to do so.  Call warning
2521         directly rather than warn_for_assignment.  Use %qE in diagnostics.
2522         Say "argument" rather than "arg" in diagnostics.
2523         (build_function_call): Update call to convert_arguments.
2524
2525 2004-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
2526
2527         PR debug/17787
2528         * dbxout.c (dbxout_symbol): Really handle RECORD, UNION, and
2529         ENUMs specially instead of just saying we do.
2530
2531 2004-10-06  Eric Christopher  <echristo@redhat.com>
2532
2533         * dwarf2.h: Sync with include/elf/dwarf2.h
2534
2535 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
2536
2537         * tree-pretty-print.c (dump_generic_node): Fix printing of BINFO
2538         and TREE_VEC nodes.
2539
2540 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
2541
2542         * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Convert
2543         to use FOR_EACH_SSA_USE_OPERAND iterator, and propagate_value.
2544
2545 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
2546
2547         * lambda-code.c (compute_nest_using_fourier_motzkin): New
2548         function.
2549         (lambda_compute_auxillary_space): Split from here.
2550
2551 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
2552
2553         * tree-ssa-loop-ivopts.c (expr_invariant_in_loop): Make non-static.
2554         * tree-flow.h: Add prototype.
2555         * lambda-code.c (invariant_in_loop_and_outer_loops): Use
2556         expr_invariant_in_loop.
2557
2558 2004-10-06  Kazu Hirata  <kazu@cs.umass.edu>
2559
2560         * tree-cfg.c (thread_jumps): Remove a duplicate check for
2561         EXIT_BLOCK_PTR.
2562
2563 2004-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
2564
2565         * config/s390/s390-protos.h (s_imm_operand): Remove.
2566         (s390_pool_operand): Add prototype.
2567         * config/s390/s390.c (general_s_operand): Remove.
2568         (s_imm_operand): Remove.
2569         (s_operand): Merge contents of general_s_operand.
2570         (s390_pool_operand): New function.
2571         * config/s390/s390.h (PREDICATE_CODES): Remove s_imm_operand.
2572         * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct"): New insns.
2573         ("*cmpdi_ccu"): Merge Q->Q alternative.
2574         ("*cmpsi_ccu", "*cmphi_ccu"): Likewise.
2575         ("*cmpqi_ccu"): Merge Q->Q, n->Q, n->S alternatives.
2576         ("*cli"): Remove.
2577         ("*cmpdi_ccu_mem", "*cmpsi_ccu_mem"): Likewise.
2578         ("*cmphi_ccu_mem", "*cmpqi_ccu_mem"): Likewise.
2579         ("*movstricthi"): Use memory_operand instead of s_imm_operand.
2580
2581 2004-10-06  Steve Ellcey  <sje@cup.hp.com>
2582
2583         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Change macro to
2584         call ia64_function_arg_boundary.
2585         * config/ia64/ia64-protos.h (ia64_function_arg_boundary): New.
2586         * config/ia64/ia64.c (ia64_function_arg_boundary): New.
2587         (ia64_function_arg_advance): Do not put 128 bit floats into
2588         FP registers.
2589
2590 2004-10-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2591
2592         * builtins.c (expand_builtin_strcpy): Delete duplicate code.
2593         Accept an expression instead of an arglist.
2594         (expand_builtin_stpcpy): Accept an expression instead of an
2595         arglist.
2596
2597 2004-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
2598
2599         PR target/16007
2600         * doc/install.texi (*-*-solaris2*): Mention potential problem
2601         with Sun assembler + GNU linker and C++ programs.
2602         Document status of binutils 2.15 release.
2603
2604 2004-10-06  Jan Hubicka  <jh@suse.cz>
2605
2606         * cse.c (cse_main): Kill push/pop context.
2607
2608 2004-10-05  Zack Weinberg  <zack@codesourcery.com>
2609
2610         * pretty-print.c: Include tree.h.
2611         (pp_base_prepare_to_format): New function, logic from
2612         text_specifies_location.
2613         (pp_base_format_text): Use gcc_assert.
2614         * pretty-print.h (pp_prepare_to_format): New macro.
2615         (pp_base_prepare_to_format): Prototype.
2616         * diagnostic.c (text_specifies_location): Delete.
2617         (bug_report_request): Delete.
2618         (diagnostic_set_info): Don't call text_specifies_location.
2619         (diagnostic_action_after_output): Put text from
2620         bug_report_request inline here.  Use gcc_unreachable.
2621         (diagnostic_report_current_function): Fix comment.
2622         (diagnostic_report_diagnostic): Clarify logic for error recursion.
2623         Call pp_prepare_to_format before diagnostic_starter.
2624         (trim_filename): Use IS_DIR_SEPARATOR.
2625         (fatal_error, internal_error): Use gcc_unreachable.
2626         (error_recursion): Call diagnostic_action_after_output to
2627         issue the bug_report_request message and exit.
2628         * Makefile.in (diagnostic.o, pretty-print.o): Update dependencies.
2629
2630         * c-parse.in: Add list of diagnostic messages to insulate
2631         translation template from version of yacc/bison used to
2632         compile the grammar.
2633
2634 2004-10-06  Alan Modra  <amodra@bigpond.net.au>
2635
2636         PR 16406
2637         * doc/tm.texi (USE_LD_AS_NEEDED, LINK_EH_SPEC): Document.
2638
2639 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
2640
2641         * basic-block.h: Remove the prototype for
2642         flow_preorder_transversal_compute.
2643         * cfganal.c (dfst_node): Remove.
2644         (flow_preorder_transversal_compute): Likewise.
2645         * rtl.h: Remove the prototype for get_jump_table_offset.
2646         * rtlanal.c (get_jump_table_offset): Remove.
2647
2648 2004-10-05  Richard Henderson  <rth@redhat.com>
2649
2650         PR 17756
2651         * tree-ssa-operands.c (get_expr_operands): Handle CONST_DECL.
2652
2653 2004-10-05  Kelley Cook  <kcook@gcc.gnu.org>
2654
2655         PR bootstrap/17817
2656         * Makefile.in: Stage the build directory too.
2657
2658 2004-10-05  Aldy Hernandez  <aldyh@redhat.com>
2659
2660         * config/frv/frv.h (LEGITIMIZE_ADDRESS): New.
2661
2662         * config/frv/frv-protos.h (frv_legitimize_address): Protoize.
2663         (frv_emit_move): Same.
2664
2665         * config/frv/frv.c (frv_emit_move): New.
2666         (frv_legitimize_address): New.
2667
2668         * config/frv/frv.md ("movsi"): Call frv_emit_move.
2669         ("movqi"): Same.
2670         ("movhi"): Same.
2671         ("movdi"): Same.
2672         ("movsf"): Same.
2673         ("movdf"): Same.
2674
2675 2004-10-05  Joseph S. Myers  <jsm@polyomino.org.uk>
2676
2677         * c-decl.c (declspecs_add_type): Don't pedwarn for _Complex in
2678         system headers.
2679
2680 2004-10-05  Joseph S. Myers  <jsm@polyomino.org.uk>
2681
2682         * c-decl.c (pushdecl): When an extern declaration at block scope
2683         refers to a visible entity with internal linkage, use the old DECL
2684         rather than the new one.
2685
2686 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
2687
2688         * tree-cfg.c (cleanup_tree_cfg): Remove extra parentheses in
2689         comments.
2690
2691 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
2692
2693         * tree-cfg.c (thread_jumps): Remove a duplicate check for
2694         an infinite loop.
2695
2696 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
2697
2698         * tree-cfg.c (thread_jumps): Iterate with FOR_EACH_BB instead
2699         of FOR_BB_BETWEEN.  Remove a useless check for unreachable
2700         blocks.
2701
2702 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
2703
2704         * tree-cfg.c (cleanup_tree_cfg): Don't call
2705         delete_unreachable_blosk() after thread_jumps().
2706         (thread_jumps): Always remove basic blocks as they become
2707         unreachable.
2708
2709 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
2710
2711         * tree-cfg.c (cleanup_tree_cfg): Remove variable
2712         something_changed.  Simplify the while loop.
2713
2714 2004-10-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2715
2716         * builtins.c (expand_builtin_memmove): Delete duplicate code
2717         and accept a tree type for the result.
2718         (expand_builtin_bcopy): Accept a tree type for the result.
2719         (fold_builtin_memmove): Accept an arglist and tree type for
2720         the result.
2721
2722 2004-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
2723
2724         * config/s390/s390.c (s390_dump_pool): Remove return value.
2725         Use gen_pool_align, gen_pool_section_start/end instead of
2726         gen_pool_start/end_31/64.
2727         * config/s390/s390.md (UNSPECV_POOL_START, UNSPECV_POOL_END): Remove.
2728         (UNSPECV_POOL_SECTION, UNSPECV_POOL_ALIGN): New constants.
2729         ("pool_start_31", "pool_end_31"): Remove.
2730         ("pool_start_64", "pool_end_64"): Likewise.
2731         ("pool_align", "pool_section_start", "pool_section_end": New insns.
2732
2733         * config/s390/s390.c (s390_cannot_copy_insn_p): New function.
2734         (TARGET_CANNOT_COPY_INSN_P): Define.
2735         (s390_cannot_force_const_mem): Handle UNSPEC_INSN.
2736         (struct constant_pool): New member 'execute'.
2737         (s390_add_execute, s390_find_execute): New functions.
2738         (s390_execute_label, s390_execute_target): Likewise.
2739         (s390_dump_pool): Output in-pool execute target templates.
2740         (s390_dump_execute): New function.
2741         (s390_alloc_pool, s390_free_pool): Handle execute templates.
2742         (s390_mainpool_start, s390_mainpool_finish): Likewise.
2743         (s390_chunkify_start, s390_chunkify_finish): Likewise.
2744         * config/s390/s390.md (UNSPEC_INSN, UNSPEC_EXECUTE): New constants.
2745         ("*execute"): New insn pattern.
2746         ("movmem_short", "*movmem_short"): Use splitters to generate
2747         explicit execute pattern, remove embedded execute.
2748         ("clrmem_short", "*clrmem_short"): Likewise.
2749         ("cmpmem_short", "*cmpmem_short"): Likewise.
2750
2751 2004-10-05  Daniel Berlin  <dberlin@dberlin.org>
2752
2753         * tree-ssa.c (verify_ssa): Verify phi arguments only
2754         contain renamed names.
2755
2756 2004-10-05  Alan Modra  <amodra@bigpond.net.au>
2757
2758         * config/rs6000/linux.h: Formatting, whitespace.
2759         * config/rs6000/linux64.h: Likewise.
2760         * config/rs6000/rs6000-protos.h: Likewise.
2761         * config/rs6000/rs6000.c: Likewise.
2762         (easy_vector_splat_const): Add fall thru comments.
2763         (output_vec_const_move): Likewise.
2764
2765 2004-10-05  Kelley Cook  <kcook@gcc.gnu.org>
2766
2767         * Makefile.in: Update -Wno-error exceptions for move to build dir.
2768
2769 2004-10-05  Chao-Ying Fu  <fu@mips.com>
2770             Richard Sandiford  <rsandifo@redhat.com>
2771
2772         * doc/invoke.texi (-mpaired-single): Link to the new description of the
2773         built-in functions.  Document dependencies.
2774         (-mips3d): Add link here too.
2775         * doc/extend.texi (MIPS Paired-Single Support): New section.
2776
2777 2004-10-04  Chao-ying Fu  <fu@mips.com>
2778
2779         * config/mips/mips.h (UNITS_PER_SIMD_WORD): Define.
2780
2781 2004-10-04  Diego Novillo  <dnovillo@redhat.com>
2782
2783         * tree-ssa-dom.c (tree_ssa_dominator_optimize):
2784         Initialize OPT_STATS to 0.
2785
2786 2004-10-04  Kazu Hirata  <kazu@cs.umass.edu>
2787
2788         * tree-data-ref.c: Fix comment typos.
2789
2790 2004-10-04  Sebastian Pop  <pop@cri.ensmp.fr>
2791
2792         * tree-data-ref.c (array_base_name_differ_p): Fix comments.  When
2793         the predicate cannot be computed, don't initialize the result to
2794         false.
2795
2796 2004-10-01  Eric Christopher  <echristo@redhat.com>
2797
2798         * dwarf2.h (dwarf_calling_convention): Add GNU prefix to
2799         locally defined enum.
2800         * dwarf2out.c (add_calling_convention_attribute): Don't
2801         emit DW_CC_normal.
2802
2803 2004-10-03  Andrew Pinski  <pinskia@physics.uc.edu>
2804
2805         PR c/17178, PR c/17820
2806         * c-decl.c (pop_scope): Do not warn about unused static
2807         variables as they warned in the middle-end.
2808
2809 2004-10-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2810
2811         * builtins.c (expand_builtin_memcpy): Delete duplicate code
2812         and make the first parameter the expression not the arglist.
2813
2814 2004-10-03  Ulrich Weigand  <uweigand@de.ibm.com>
2815
2816         * expr.c (expand_expr_addr_expr): Only accept Pmode or ptr_mode
2817         as valid modes to expand address expressions.
2818
2819 2004-10-03  Joseph S. Myers  <jsm@polyomino.org.uk>
2820
2821         * c-aux-info.c, c-common.c, c-common.h, c-cppbuiltin.c, c-decl.c,
2822         c-format.c, c-incpath.c, c-lex.c, c-objc-common.c, c-opts.c,
2823         c-parse.in, c-pch.c, c-ppoutput.c, c-pragma.c, c-typeck.c: Follow
2824         code formatting conventions.
2825
2826 2004-10-03  Richard Sandiford  <rsandifo@redhat.com>
2827
2828         * config/mips/mips.md (<u>mulsidi3_32bit_r4000): Fix unsigned case.
2829
2830 2004-10-03  Kazu Hirata  <kazu@cs.umass.edu>
2831
2832         PR tree-optimization/16632
2833         * fold-const.c (fold) [EQ_EXPR]: When seeing if D & ~C != 0 to
2834         fold (A & C) == D into 0, fold ~C.  Similarly, for the case
2835         where | is used instead of &.
2836
2837 2004-10-03  Kazu Hirata  <kazu@cs.umass.edu>
2838
2839         * ginclude/stddef.h: Fix a comment typo.
2840
2841 2004-10-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
2842
2843         PR target/17443
2844         * config.gcc (i?86-*-solaris2*): Restore correct logic
2845         for --enable-threads option.
2846         (sparc64-*-solaris2*): Likewise.
2847         (sparc-*-solaris2*): Likewise.
2848
2849 2004-10-03  Alan Modra  <amodra@bigpond.net.au>
2850
2851         * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
2852         (OS_MISSING_POWERPC64): Move, and comment.
2853         * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
2854         (OS_MISSING_POWERPC64): Move, and comment.
2855
2856 2004-10-02  Ian Lance Taylor  <ian@wasabisystems.com>
2857
2858         * arm.c (output_call_mem): Add missing \t.
2859
2860 2004-10-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2861
2862         * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp,
2863         expand_builtin_strncmp): Delete duplicate code.
2864
2865 2004-10-02  Frank Ch. Eigler  <fche@redhat.com>
2866
2867         * tree-mudflap.c (mf_build_check_statement_for): Reorganize to
2868         take check-base and -limit arguments.
2869         (mf_xform_derefs_1): Reorganize slightly to pass proper base/limit
2870         check ranges for ARRAY_REF and COMPONENT_REF.
2871         (execute_mudflap_fnction_ops, ..._decls): Limit unnecessary
2872         instrumentation.
2873
2874 2004-10-02  Joseph S. Myers  <jsm@polyomino.org.uk>
2875
2876         * c-objc-common.c (c_tree_printer): Correct description of %E.
2877         Don't fall through after printing an expression.
2878
2879 2004-10-02  Kazu Hirata  <kazu@cs.umass.edu>
2880
2881         * tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos.
2882
2883 2004-10-02  Kazu Hirata  <kazu@cs.umass.edu>
2884
2885         * tree-cfg.c (cleanup_tree_cfg): Speed up by calling
2886         delete_unrechable_blocks() only when necessary.
2887
2888 2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>
2889
2890         * gthr-tpf.h (__gthread_recursive_mutex_t): New type.
2891         (__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
2892         (__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
2893         __gthread_recursive_mutex_unlock): New functions.
2894
2895 2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>
2896
2897         * config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c.
2898         * config/s390/tpf-eh.c: Remove file.
2899         * config/s390/tpf-unwind.h: New file.
2900         * config/s390/tpf.h (MD_FALLBACK_FRAME_STATE_FOR): Remove.
2901         (MD_UNWIND_SUPPORT): Define.
2902
2903 2004-10-02  Joseph S. Myers  <jsm@polyomino.org.uk>
2904
2905         * c-typeck.c (warn_for_assignment): Don't permit argnum == 0.
2906
2907 2004-10-01  Ulrich Weigand  <uweigand@de.ibm.com>
2908
2909         * config/s390/s390-protos.h (s390_comparison): Add prototype.
2910         * config/s390/s390.c (s390_comparison): New function.
2911         (s390_branch_condition_mask): Return -1 for invalid comparisons.
2912         (s390_branch_condition_mnemonic): Assert valid comparison.
2913         * config/s390/s390.h (PREDICATE_CODES): Add s390_comparison.
2914         * config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long",
2915         "*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use
2916         s390_comparison instead of comparison_operator.
2917
2918         * config/s390/s390.md (UNSPEC_CMPINT): New constant.
2919         ("cmpmemdi"): Remove.
2920         ("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode.
2921         ("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise.
2922         ("cmpint_si"): Rename to ...
2923         ("*cmpint_si"): ... this.  Use UNSPEC_CMPINT.
2924         ("cmpint_di", "*cmpint_di"): Likewise.
2925         * config/s390/s390.c (s390_canonicalize_comparison): Remove
2926         redundant UNSPEC_CMPINT conversions.
2927         (s390_expand_cmpmem): Adapt to cmpint pattern changes.
2928
2929 2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
2930
2931         * collect2.c (COLLECT_PARSE_FLAG): Remove.
2932         (main): Remove a reference to COLLECT_PARSE_FLAG
2933         * system.h: Poison COLLECT_PARSE_FLAG.
2934         * doc/tm.texi (COLLECT_PARSE_FLAG): Remove.
2935
2936 2004-10-01  Paul Brook  <paul@codesourcery.com>
2937
2938         * config/arm/crti.asm: Give _init and _fini function type.
2939
2940 2004-10-01  Zdenek Dvorak  <dvorakz@suse.cz>
2941
2942         * common.opt (ftree-loop-ivcanon): Enable by default.
2943         * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
2944         Enable complete loop unrolling.
2945         (canonicalize_induction_variables, tree_unroll_loops_completely):
2946         Reset scev info.
2947
2948 2004-10-01  Paul Brook  <paul@codesourcery.com>
2949
2950         * config/arm/arm.c (thumb_compute_saved_rag_mask): Or with bitmask,
2951         not register number.
2952         (thumb_find_work_register): Search full register range.
2953
2954 2004-10-01  Andrew Pinski  <pinskia@physics.uc.edu>
2955
2956         PR tree-opt/17343
2957         * tree-cfg.c (group_case_labels): Get the label and not
2958         the case expr for the default case.
2959         When the label we looking at is the default, decrement the
2960         new_size.
2961
2962 2004-10-01  Jan Hubicka  <jh@suse.cz>
2963
2964         * c-decl.c (c_expand_body): Update call tree_rest_of_compilation.
2965         * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
2966         * toplev.h (tree_rest_of_compilation): Update prototype.
2967         * tree-optimize.c (tree_rest_of_compilation):  Kill nested_p argument.
2968
2969 2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
2970
2971         * tree-cfg.c (cleanup_tree_cfg): Pull a call to
2972         cleanup_control_flow() out of the while loop.
2973
2974 2004-10-01  Paolo Bonzini  <bonzini@gnu.org>
2975
2976         * tree-vectorizer.c (vectorizable_operation): Fail unless
2977         the mode for the vector type is indeed a vector mode.
2978
2979 2004-10-01  Zdenek Dvorak  <dvorakz@suse.cz>
2980
2981         * tree-chrec.c (chrec_fold_plus_poly_poly, chrec_fold_plus_1,
2982         chrec_fold_multiply): Use fold_convert or build_int_cst_type instead
2983         of convert.
2984         * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
2985         add_to_evolution, set_nb_iterations_in_loop, follow_ssa_edge_in_rhs,
2986         follow_ssa_edge_in_rhs): Ditto.
2987         * tree-ssa-loop-ivopts.c (struct iv): Add base_object field.
2988         (dump_iv): Dump base_object.
2989         (dump_use, dump_cand): Use dump_iv.
2990         (determine_base_object): New function.
2991         (alloc_iv): Initialize base_object field.
2992         (record_use): Clear the ssa_name field of iv.
2993         (get_computation_cost_at): Do not use difference of addresses of
2994         two different objects.
2995         (may_eliminate_iv): Do not require the loop to have just single exit.
2996         * tree-ssa-loop-niter.c (zero_p): Do not check for overflows.
2997         (nonzero_p): New function.
2998         (inverse, number_of_iterations_cond, simplify_using_outer_evolutions,
2999         tree_simplify_using_condition, simplify_using_initial_conditions,
3000         loop_niter_by_eval, find_loop_niter_by_eval,
3001         estimate_numbers_of_iterations_loop, compare_trees,
3002         upper_bound_in_type, lower_bound_in_type,
3003         can_count_iv_in_wider_type_bound): Use buildN instead of build.  Use
3004         fold_convert or build_int_cst_type instead of convert.  Use (non)zero_p
3005         instead of integer_(non)zerop.
3006
3007 2004-10-01  Jakub Jelinek  <jakub@redhat.com>
3008
3009         Revert
3010         2004-09-29  Jakub Jelinek  <jakub@redhat.com>
3011
3012         * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
3013         and TI_VA_LIST_FPR_COUNTER_FIELD.
3014         (va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
3015         * tree-pass.h (pass_stdarg): Add.
3016         * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
3017         * tree-stdarg.c: New file.
3018         * Makefile.in (OBJS-common): Add tree-stdarg.o.
3019         (tree-stdarg.o): Add dependencies.
3020         * function.h (struct function): Add va_list_gpr_size and
3021         va_list_fpr_size fields.
3022         * function.c (allocate_struct_function): Initialize them.
3023
3024         * config/i386/i386.c (ix86_build_builtin_va_list): Initialize
3025         va_list_{g,f}pr_counter_field.
3026         (ix86_setup_incoming_varargs): Don't do anything if reg_save
3027         area will not be used.  Only save registers that tree-stdarg.c
3028         detected they need saving.
3029         (ix86_va_start): Don't set up fields that won't be used.
3030
3031         * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
3032         va_list_{g,f}pr_counter_field.
3033         (setup_incoming_varargs): Don't do anything if reg_save
3034         area will not be used.  Only save registers that tree-stdarg.c
3035         detected they need saving.
3036         (rs6000_va_start): Don't set up fields that won't be used.
3037
3038 2004-09-30  Eric Christopher  <echristo@redhat.com>
3039
3040         * dwarf2.h (dwarf_calling_convention): Add enum for renesas
3041         sh abi.
3042         * dwarf2out.c (add_calling_convention_attribute): New function.
3043         (gen_subroutine_type_die): Use.
3044         * target-def.h (TARGET_DWARF_CALLING_CONVENTION): New hook.
3045         * target.h (gcc_target): Add dwarf_calling_convention.
3046         * hooks.c (hook_int_tree_0): New function.
3047         * hooks.h: Prototype.
3048         * config/sh/sh.c: Include dwarf2.h.
3049         (sh_dwarf_calling_convention): New function.
3050         (TARGET_DWARF_CALLING_CONVENTION): Use.
3051         * doc/tm.texi (TARGET_DWARF_CALLING_CONVENTION): Document.
3052
3053 2004-09-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3054
3055         * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
3056         expand_builtin_strrchr, expand_builtin_strpbrk,
3057         expand_builtin_strncat, expand_builtin_strspn,
3058         expand_builtin_strcspn, expand_builtin_fputs): Eliminate duplicate
3059         code.
3060
3061 2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
3062
3063         * config/s390/s390-protos.h (s390_expand_logical_operator): Add
3064         prototype.
3065         (s390_logical_operator_ok_p): Likewise.
3066         * config/s390/s390.c (s390_expand_logical_operator): New function.
3067         (s390_logical_operator_ok_p): Likewise.
3068         * config/s390/s390.md ("anddi3"): New expander.
3069         ("*anddi3"): Rename from old anddi3 pattern, add Q->Q alternative.
3070         ("*anddi3_ss", "*anddi3_ss_inv"): Remove.
3071         ("andsi3"): Use s390_expand_logical_operator.
3072         ("*andsi3_esa", "*andsi3_zarch"): Add Q->Q alternative.
3073         ("*andsi3_ss", "*andsi3_ss_inv"): Remove.
3074         ("andhi3"): New expander.
3075         ("*andhi3_zarch", "*andhi3_esa"): New patterns.
3076         ("andhi3", "*andhi3_ni", "*andhi3_ss", "*andhi3_ss_inv"): Remove.
3077         ("andqi3"): New expander.
3078         ("*andqi3_zarch", "*andqi3_esa"): New patterns.
3079         ("andqi3", "*andqi3_ni", "*andqi3_ss", "*andqi3_ss_inv"): Remove.
3080         ("iordi3"): New expander.
3081         ("*iordi3"): Rename from old iordi3 pattern, add Q->Q alternative.
3082         ("*iordi3_ss", "*iordi3_ss_inv"): Remove.
3083         ("iorsi3"): Use s390_expand_logical_operator.
3084         ("*iorsi3_esa", "*iorsi3_zarch"): Add Q->Q alternative.
3085         ("*iorsi3_ss", "*iorsi3_ss_inv"): Remove.
3086         ("iorhi3"): New expiorer.
3087         ("*iorhi3_zarch", "*iorhi3_esa"): New patterns.
3088         ("iorhi3", "*iorhi3_ni", "*iorhi3_ss", "*iorhi3_ss_inv"): Remove.
3089         ("iorqi3"): New expiorer.
3090         ("*iorqi3_zarch", "*iorqi3_esa"): New patterns.
3091         ("iorqi3", "*iorqi3_ni", "*iorqi3_ss", "*iorqi3_ss_inv"): Remove.
3092         ("xordi3"): New expander.
3093         ("*xordi3"): Rename from old xordi3 pattern, add Q->Q alternative.
3094         ("*xordi3_ss", "*xordi3_ss_inv"): Remove.
3095         ("xorsi3"): New expander.
3096         ("*xorsi3"): Rename from old xorsi3 pattern, add Q->Q alternative.
3097         ("*xorsi3_ss", "*xorsi3_ss_inv"): Remove.
3098         ("xorhi3"): New expander.
3099         ("*xorqi3"): Rename from old xorhi3 pattern, add Q->Q alternative.
3100         ("*xorhi3_ss", "*xorhi3_ss_inv"): Remove.
3101         ("xorqi3"): New expander.
3102         ("*xorqi3"): Rename from old xorqi3 pattern, add Q->Q alternative.
3103         ("*xorqi3_ss", "*xorqi3_ss_inv"): Remove.
3104
3105 2004-09-30  Roger Sayle  <roger@eyesopen.com>
3106
3107         * combine.c (force_to_mode) <NE_EXPR>: Only convert the expression
3108         (AND (NE FOO 0) CONST) into (AND FOO CONST) if FOO has the same
3109         machine mode as the result.
3110
3111 2004-09-30  Ben Elliston  <bje@au.ibm.com>
3112
3113         PR bootstrap/17761
3114         * lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and
3115         FOR_EACH_EDGE macros.
3116
3117 2004-09-30  Joseph S. Myers  <jsm@polyomino.org.uk>
3118
3119         * c-tree.h (readonly_error): Remove.
3120         * c-typeck (enum lvalue_use): New.
3121         (lvalue_or_else, readonly_error): Use it.  All callers changed.
3122         (readonly_error): Make static.
3123
3124 2004-09-30  Jan Hubicka  <jh@suse.cz>
3125
3126         PR debug/13974
3127         * cfgrtl.c (try_redirect_by_replacing_jump,
3128         force_nonfallthru_and_redirect, commit_one_edge_insertion,
3129         cfg_layout_merge_blocks):  Do not attach any line number information
3130         to newly inserted instructions.
3131         * emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
3132         emit_insn_*_noloc.
3133         (emit_*insn_before, emit_insn*_after): New.
3134         (emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
3135         existing locators.
3136         * rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
3137         (emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
3138
3139 2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
3140
3141         * config/s390/s390-protos.h (s390_arg_frame_offset): Remove.
3142         (s390_return_address_offset): Remove.
3143         (s390_can_eliminate): Add prototype.
3144         (s390_initial_elimination_offset): Add prototype.
3145         * config/s390/s390.h (CAN_ELIMINATE): Call s390_can_eliminate.
3146         (INITIAL_ELIMINATION_OFFSET): Call s390_initial_elimination_offset.
3147         * config/s390/s390.c (s390_arg_frame_offset): Remove.
3148         (s390_return_address_offset): Remove.
3149         (s390_can_eliminate, s390_initial_elimination_offset): New functions.
3150         (struct machine_function): New member split_branches_pending_p.
3151         (s390_mainpool_start): Allow nonexistant pool insn for empty pool.
3152         (s390_mainpool_finish): Likewise.  Clear base_reg if pool empty.
3153         (s390_optimize_prologue): Remove base_used argument.  Call
3154         s390_update_frame_layout instead of s390_register_info.  Handle
3155         prologue/epilogue insns that touch only RETURN_REGNUM.
3156         (s390_reorg): Remove base_used.  Clear split_branches_pending_p.
3157         (s390_register_info): Remove base_used and return_addr_used
3158         arguments, compute special register usage inline.  Return live
3159         register data to caller.
3160         (s390_frame_info): Remove arguments, do not call s390_register_info.
3161         (s390_init_frame_layout): New function.
3162         (s390_update_frame_layout): Likewise.
3163         (s390_emit_prologue): Call s390_update_frame_layout; some code
3164         move to there.  Do not emit pool placeholder insn if unnecessary.
3165
3166 2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
3167
3168         * config/s390/s390.c (legitimate_reload_constant_p): Remove
3169         floating point constant workaround.
3170         (s390_secondary_input_reload_class): Handle PLUS reloads
3171         with too-large constant.
3172         (s390_expand_plus_operand): Likewise.
3173         * config/s390/s390.md ("movdi"): Do not call force_const_mem.
3174         ("movsi"): Likewise.  Also, remove workaround for non-general
3175         operands.
3176         ("movdf"): Do not call force_const_mem.
3177         ("movsf"): Likewise.  Merge expander with *movsf insn.
3178         ("*movsf"): Remove, merge with movsf expander.
3179
3180 2004-09-30  Paul Brook  <paul@codesourcery.com>
3181
3182         * config/arm/symbian.h (STARTFILE_SPEC): Remove crt*.o.
3183         (ENDFILE_SPEC): Define.
3184         * config/arm/t-symbian.h (EXTRA_MULTILIB_PARTS): Set.
3185
3186 2004-09-30  Richard Henderson  <rth@redhat.com>
3187
3188         * config/alpha/qrnnd.asm: Mark for noexecstack.
3189
3190 2004-09-30  Kazu Hirata  <kazu@cs.umass.edu>
3191
3192         * protoize.c, tree-cfg.c: Fix comment typos.
3193
3194 2004-09-30  Joseph S. Myers  <jsm@polyomino.org.uk>
3195
3196         PR c/17730
3197         * c-typeck.c (lvalue_or_else): Pass msgid directly to error.
3198
3199 2004-09-30  Diego Novillo  <dnovillo@redhat.com>
3200
3201         * tree-ssa-alias.c (collect_points_to_info_r): Move analysis of
3202         expressions...
3203         (add_pointed_to_expr): ... here.
3204         Call add_pointed_to_expr for variables with DECL_INITIAL set.
3205         * tree-dfa.c (add_referenced_var): Scan DECL_INITIAL of any
3206         pointer variable, if set.
3207
3208 2004-09-30  Kazu Hirata  <kazu@cs.umass.edu>
3209
3210         * config/sh/sh.c: Follow spelling conventions.
3211
3212 2004-09-29  Richard Henderson  <rth@redhat.com>
3213
3214         * unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.
3215         * doc/tm.texi (DWARF_ZERO_REG): New.
3216
3217         * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
3218         alpha_expand_epilogue): Revert 2003-09-30 change to store zero.
3219         * config/alpha/alpha.h (DWARF_ZERO_REG): New.
3220
3221 2004-09-29  Ulrich Weigand  <uweigand@de.ibm.com>
3222
3223         * builtins.c (expand_builtin_strlen): Do not call emit_move_insn
3224         with a PLUS as source operand.
3225         (expand_movstr): Likewise.
3226         (expand_builtin_stpcpy): Likewise.
3227
3228 2004-09-29  Richard Henderson  <rth@redhat.com>
3229
3230         PR 17739
3231         * tree-gimple.c (is_gimple_reg): Reject hard registers.
3232         (is_gimple_asm_val): New.
3233         * tree-gimple.h (is_gimple_asm_val): Declare.
3234         * gimplify.c (gimplify_asm_expr): Use it.
3235         * tree-pretty-print.c (print_declaration): Dump hard regs.
3236         * tree-outof-ssa.c (check_replaceable): Don't check for hard regs.
3237         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
3238         * tree-ssa-pre.c (is_undefined_value): Likewise.
3239         * tree-ssa-copy.c (may_propagate_copy): Likewise.
3240         (may_propagate_copy_into_asm): Protect DECL_HARD_REGISTER.
3241         * tree-ssa.c (warn_uninit): Likewise.
3242         * tree.h (DECL_HARD_REGISTER): Check for VAR_DECL.
3243
3244 2004-09-29  Fariborz Jahanian <fjahanian@apple.com>
3245
3246         * c-decl.c (merge_decls): Use comptype when comparing
3247         types to decide on DECL_SIZE save of olddecl.
3248
3249 2004-09-29  Daniel Berlin  <dberlin@dberlin.org>
3250
3251         * tree.h (INDIRECT_REF_P): New macro.
3252         * alias.c (get_alias_set): Use it
3253         (nonoverlapping_memrefs_p): Ditto.
3254         * emit-rtl.c (mem_expr_equal_p): Ditto.
3255         (set_mem_attributes_minus_bitpos): Ditto.
3256         (is_gimple_addressable): Ditto.
3257         (get_base_address): Ditto.
3258         * tree-ssa-alias.c (find_ptr_derefernece): Ditto.
3259         * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Ditto.
3260         * tree-ssa-dom.c (record_equivalences_from_stmt): Ditto.
3261         * tree-ssa-loop-im.c (is_call_clobbered_ref): Ditto.
3262         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Ditto.
3263         (add_address_candidates): Ditto.
3264         (rewrite_address_base): Ditto.
3265
3266 2004-09-30  Ben Elliston  <bje@au.ibm.com>
3267
3268         * tree-flow.h (struct bb_ann_d): Remove num_preds member.
3269         * tree-into-ssa.c (rewrite_into_ssa): Don't set it.
3270         (rewrite_ssa_into_ssa): Likewise.
3271         * tree-phinodes.c (create_phi_node): Access the number of
3272         predecessor edges using EDGE_COUNT() and not num_preds.
3273
3274 2004-09-29  Joseph S. Myers  <jsm@polyomino.org.uk>
3275
3276         PR c/7425
3277         * c-decl.c (merge_decls): Merge TREE_DEPRECATED.
3278
3279 2004-09-29  Eric Christopher  <echristo@redhat.com>
3280
3281         * fold-const.c (tree_swap_operands_p): Remove duplicated code.
3282
3283 2004-09-29  Hans-Peter Nilsson  <hp@axis.com>
3284
3285         * config/cris/cris.md (moverside, movemside): With MEM, make sure
3286         the address is (plus reg mem).
3287
3288 2004-09-29  David Edelsohn  <edelsohn@gnu.org>
3289
3290         * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
3291
3292 2004-09-29  Nathan Sidwell  <nathan@codesourcery.com>
3293
3294         * tree.c (make_node_stat): Fix uninitialized warning.  Replace
3295         cascaded if ... else if with a switch.
3296
3297 2004-09-29  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
3298
3299         * read-rtl.c (apply_macro_to_string): Replace index with strchr.
3300
3301 2004-09-29  Jakub Jelinek  <jakub@redhat.com>
3302
3303         * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
3304         and TI_VA_LIST_FPR_COUNTER_FIELD.
3305         (va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
3306         * tree-pass.h (pass_stdarg): Add.
3307         * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
3308         * tree-stdarg.c: New file.
3309         * Makefile.in (OBJS-common): Add tree-stdarg.o.
3310         (tree-stdarg.o): Add dependencies.
3311         * function.h (struct function): Add va_list_gpr_size and
3312         va_list_fpr_size fields.
3313         * function.c (allocate_struct_function): Initialize them.
3314
3315         * config/i386/i386.c (ix86_build_builtin_va_list): Initialize
3316         va_list_{g,f}pr_counter_field.
3317         (ix86_setup_incoming_varargs): Don't do anything if reg_save
3318         area will not be used.  Only save registers that tree-stdarg.c
3319         detected they need saving.
3320         (ix86_va_start): Don't set up fields that won't be used.
3321
3322         * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
3323         va_list_{g,f}pr_counter_field.
3324         (setup_incoming_varargs): Don't do anything if reg_save
3325         area will not be used.  Only save registers that tree-stdarg.c
3326         detected they need saving.
3327         (rs6000_va_start): Don't set up fields that won't be used.
3328
3329 2004-09-29  Jakub Jelinek  <jakub@redhat.com>
3330
3331         * builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED,
3332         BUILT_IN_FPUTS, BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE,
3333         BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_PUTCHAR, BUILT_IN_PUTCHAR_UNLOCKED,
3334         BUILT_IN_PUTS, BUILT_IN_PUTS_UNLOCKED): Remove nothrow attribute.
3335         * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_1_2,
3336         ATTR_NONNULL_1_4): New.
3337
3338 2004-09-29  Jakub Jelinek  <jakub@redhat.com>
3339
3340         PR tree-optimization/17697
3341         * tree-ssa-ccp.c (execute_fold_all_builtins): Update eh and cleanup
3342         cfg if needed.
3343
3344 2004-09-28  Per Bothner  <per@bothner.com>
3345
3346         * profile.c (branch_prob): Pass correct value to output_location,
3347         even when USE_MAPPED_LOCATION.  Fixes bug from 09-11.
3348
3349 2004-09-28  Richard Henderson  <rth@redhat.com>
3350
3351         PR 15089
3352         * tree-ssa-copy.c (may_propagate_copy_into_asm): New.
3353         * tree-flow.h (may_propagate_copy_into_asm): Declare.
3354         * tree-ssa-ccp.c (replace_uses_in): Use it.
3355         * tree-ssa-dom.c (cprop_operand): Likewise.
3356
3357 2004-09-28 Jeff Law  <law@redhat.com>
3358
3359         * tree-ssa-threadupdate.c (create_block_for_threading):  Request
3360         that no outgoing edges be left in the duplicate block.  Do no
3361         update information on outgoing edges or PHI nodes in target
3362         blocks here.
3363         (remove_ctrl_stmt_and_useless_edges): Renamed from
3364         remove_last_stmt_and_useless_edges.  Handle case where the
3365         block is empty or has no control statements.  Do not update edge
3366         flags here.
3367         (thread_block): Create a template block rather than copying the
3368         original block every time.  Create outgoing edges from the
3369         duplicate blocks and update PHIs at the target of the outgoing
3370         edges here.  Fix edge flags for the original block if necessary.
3371         * cfghooks (duplicate_block): No longer assert that the original
3372         block has incoming edges.
3373
3374 2004-09-29  Hans-Peter Nilsson  <hp@bitrange.com>
3375
3376         * doc/extend.texi (Extended Asm): Add blurb about using Explicit
3377         Reg Vars to enforce register allocation with general constraints.
3378         (Explicit Reg Vars): Clarify relation to asm statements.
3379         (Local Reg Vars): Similar.
3380
3381 2004-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
3382
3383         * sched-rgn.c (haifa_edge, edge_table, NEXT_IN, NEXT_OUT, FROM_BLOCK,
3384         TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES, OUT_EDGES,
3385         build_control_flow, new_edge): Remove.
3386         (schedule_insns): Remove edge_table/in_edges/out_edges cleanup.
3387         (bitlst, bitlst_table_last, bitlst_table): Remove.
3388         (bblst): Store basic_block pointer instead of block index.
3389         (bblst_table): Likewise.
3390         (edgelst): Store edge pointer instead of edge index.
3391         (edgelst_table, edgelst_last): New variables.
3392         (extract_bitlst): Rename to ...
3393         (extract_edgelst): ... this.  Return edge pointers, not indices.
3394         (split_edges): Update call.
3395         (rgn_edges): Store edge pointers instead of indices.
3396         (edge_to_bit): Remove.
3397         (EDGE_TO_BIT): Store per-region edge index in edge->aux.
3398         (SET_EDGE_TO_BIT): New macro.
3399         (is_cfg_nonregular): Check for simple cases of unreachable blocks.
3400         (find_rgns): Remove edge_list parameter.  Traverse standard CFG
3401         data structures instead of haifa_edge et al.  Use edge pointers
3402         instead of edge indices everywhere.
3403         (compute_dom_prob_ps): Use standard CFG data structures.  Account
3404         for exit edges.
3405         (compute_trg_info): Likewise.
3406         (propagate_deps): Likewise.
3407         (debug_candidate): Account for bblst data structure change.
3408         (check_live_1, update_live_1, is_pfree): Likewise.
3409         (IS_REACHABLE): Use standard CFG data structures.
3410         (init_ready_list): Update bblst_table/edgelst_table allocation.
3411         (schedule_region): Update alloc/cleanup code to data structure
3412         changes.  Use edge->aux to store per-region edge index.
3413         (init_regions): No longer call build_control_flow.  Do not
3414         create edge list any more.
3415
3416 2004-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
3417
3418         * cse.c (cse_insn): Avoid creating direct non-local jumps.
3419         * combine.c (can_combine_p): Likewise.
3420         * local-alloc. (update_equiv_regs): Likewise.
3421
3422 2004-09-28  Richard Henderson  <rth@redhat.com>
3423
3424         PR 17531
3425         * expr.c (expand_expr_addr_expr_1): Only assemble_external for decls.
3426         Don't check VOIDmode here.  Force PLUS operands to common type.
3427         (expand_expr_addr_expr): Do VOIDmode check earlier.  Force use of
3428         Pmode if given a non pointer type.
3429
3430 2004-09-28  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3431
3432         PR 17531
3433         * optabs.c (expand_binop): Force constants to the correct mode.
3434
3435 2004-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
3436
3437         * config/s390/s390.c (s390_adjust_cost): Remove.
3438         (TARGET_SCHED_ADJUST_COST): Do not redefine.
3439         (s390_adjust_priority): Handle TYPE_STM like TYPE_STORE.
3440         * config/s390/s390.md ("main_pool"): Use "larl" type
3441         attribute if TARGET_CPU_ZARCH.
3442
3443 2004-09-28  Jakub Jelinek  <jakub@redhat.com>
3444
3445         * config/ia64/ia64.c (ia64_expand_prologue): Declare ei
3446         variable.
3447
3448 2004-09-28  Diego Novillo  <dnovillo@redhat.com>
3449
3450         * tree-ssa-loop.c (pass_record_bounds): Do not assign a
3451         name to the pass.
3452
3453 2004-09-28  Steven Bosscher  <stevenb@suse.de>
3454
3455         * common.opt (flag_gcse_sm): Disable by default.
3456         (flag_gcse_las): Likewise.
3457         (flag_web): Likewise.  Create from this file.
3458         * flags.h: Remove flag_web declaration.
3459         * toplev.c (flag_web): Likewise.
3460         (process_options): Never set flag_web.
3461
3462 2004-09-28  Steven Bosscher  <stevenb@suse.de>
3463
3464         * Makefile.in (tree-ssa-propagate.o): Depend on vec.h.
3465         * tree-ssa-propagate.c: Include vec.h.
3466         (interesting_ssa_edges, varying_ssa_edges): Make these VECs
3467         instead of varrays.
3468         (cfg_blocks_add): Assert the block is not already in the worklist.
3469         Update uses of interesting_ssa_edges and varying_ssa_edges.
3470         (process_ssa_edge_worklist, ssa_prop_init, ssa_prop_fini,
3471         ssa_propagate): Likewise.
3472
3473 2004-09-28  Joseph S. Myers  <jsm@polyomino.org.uk>
3474
3475         PR c/16409
3476         * c-decl.c (start_decl): Check for initializing incomplete array
3477         of VLAs.
3478         (build_compound_literal): Check for TYPE being error_mark_node.
3479         * c-parse.in (primary): Check for VLA compound literals.
3480
3481 2004-09-28  Diego Novillo  <dnovillo@redhat.com>
3482
3483         * tree-ssa-live.c (calculate_live_on_entry): Fix warnings
3484         with --disable-checkin