]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
re PR c++/17964 (cpp error messages contain wrong line in C++)
[gcc.git] / gcc / ChangeLog
CommitLineData
178b58b5
JM
12005-11-03 Joseph S. Myers <joseph@codesourcery.com>
2
3 PR c++/17964
4 * diagnostic.c (diagnostic_set_info_translated): New function.
5 (diagnostic_set_info): Use it. Add comment.
6 * diagnostic.h (diagnostic_set_info_translated): Declare.
7
b03e9863
EB
82005-11-03 Eric Botcazou <ebotcazou@adacore.com>
9
10 * dwarf2asm.c (dw2_force_const_mem): Add new parameter 'public'.
11 On USE_LINKONCE_INDIRECT platforms, build a DECL_ONE_ONLY indirect
12 reference only if 'public' is true.
13 (dw2_output_indirect_constant_1): On USE_LINKONCE_INDIRECT platforms,
14 emit the .hidden directive only if the indirect reference is public.
15 (dw2_asm_output_encoded_addr_rtx): Add new parameter 'public'.
16 Pass it to dw2_force_const_mem.
17 * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): New param 'public'.
18 * dwarf2out.c (output_cfi): Adjust calls to above function.
19 (output_call_frame_info): Likewise.
20 * except.c (output_ttype): Pass TREE_PUBLIC of the type_info object
21 as 'public' argument to dw2_asm_output_encoded_addr_rtx.
22
98d59fe6
ZD
232005-11-03 Zdenek Dvorak <dvorakz@suse.cz>
24
25 PR tree-optimization/24483
26 * tree-ssa-loop-ivopts.c (aff_combination_add_elt): Move rest
27 field to elts if possible.
28
ca0b7d18
AP
292005-11-03 Andrew Pinski <pinskia@physics.uc.edu>
30
31 PR middle-end/23155
32 * gimplifier.c (gimplify_expr): Create a temporary for lvalue
33 CONSTRUCTOR.
34
03190594
DB
352005-11-03 Daniel Berlin <dberlin@dberlin.org>
36
37 Fix PR tree-optimization/24351
38
39 * tree-ssa-structalias.c (struct variable_info): Add
40 collapsed_into.
41 (get_varinfo_fc): New function to follow collapsing.
42 (new_var_info): Set collapsed_to to NULL.
43 (dump_constraint): Follow collapsing.
44 (build_constraint_graph): Handle collapsing.
45 (do_simple_structure_copy): Return false if something bad
46 happened.
47 (collapse_rest_of_var): New function.
48 (do_structure_copy): Collapse if do_simple_structure_copy returns
49 false.
50
08330ec2
AP
512005-11-03 Andrew Pinski <pinskia@physics.uc.edu>
52
53 PR middle-end/24589
54 * gimplify.c (gimplify_expr) <case CONSTRUCTOR>: Add the
55 expressions to a statement list instead of gimplifying them.
56
bb11103a
EB
572005-11-03 Eric Botcazou <ebotcazou@libertysurf.fr>
58
59 PR rtl-optimization/23585
60 * rtlanal.c (rtx_addr_can_trap_p_1) <PLUS>: Return 0 for an address
61 that can't trap plus a constant integer, if the mode has zero size.
62
ac746a73
UW
632005-11-03 Ulrich Weigand <uweigand@de.ibm.com>
64
65 PR target/24620
66 * config/s390/s390.md ("*insv<mode>_reg_imm"): Accept any CONST_INT
67 as operand 2.
68 ("*insv<mode>_reg_extimm"): Likewise.
69
a92c58c2
JM
702005-11-03 Joseph S. Myers <joseph@codesourcery.com>
71
72 PR c/24329
73 * c-pretty-print.c (pp_c_type_specifier): Do not recurse if
74 c_common_type_for_mode returns an unnamed type.
75
150cdc9e
RH
762005-11-02 Richard Henderson <rth@redhat.com>
77
78 PR target/9350
79 PR target/24374
80 * dwarf2out.c (dwarf2out_reg_save_reg): New.
81 (dwarf2out_frame_debug_expr): Return after dwarf_handle_frame_unspec.
82 * function.c (assign_parms): Use calls.internal_arg_pointer.
83 (expand_main_function): Remove FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN
84 code.
85 * target-def.h (TARGET_INTERNAL_ARG_POINTER): New.
86 (TARGET_CALLS): Add it.
87 * target.h (struct gcc_target): Add calls.internal_arg_pointer.
88 * targhooks.c (default_internal_arg_pointer): New.
89 * targhooks.h (default_internal_arg_pointer): Declare.
90 * tree.h (dwarf2out_reg_save_reg): Declare.
91 * doc/tm.texi (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Remove.
92 * config/i386/i386.c (dbx_register_map): Add return column.
93 (dbx64_register_map, svr4_dbx_register_map): Likewise.
94 (TARGET_INTERNAL_ARG_POINTER, ix86_internal_arg_pointer): New.
95 (TARGET_DWARF_HANDLE_FRAME_UNSPEC, ix86_dwarf_handle_frame_unspec): New.
96 (ix86_function_ok_for_sibcall): Disable if force_align_arg_pointer.
97 (ix86_save_reg): Save force_align_arg_pointer.
98 (ix86_emit_save_regs): Make regno unsigned.
99 (ix86_emit_save_regs_using_mov): Likewise.
100 (ix86_expand_prologue): Handle force_align_arg_pointer.
101 (ix86_expand_epilogue): Likewise.
102 * config/i386/i386.h: (dbx_register_map): Update.
103 (dbx64_register_map, svr4_dbx_register_map): Update.
104 (struct machine_function): Add force_align_arg_pointer.
105 * config/i386/i386.md (UNSPEC_REG_SAVE, UNSPEC_DEF_CFA): New.
106 (UNSPEC_TP, UNSPEC_TLS_GD, UNSPEC_TLS_LD_BASE): Renumber.
107 (TARGET_PUSH_MEMORY peepholes): Disable if RTX_FRAME_RELATED_P.
108
fb530c72
JH
1092005-11-02 Jan Hubicka <jh@suse.cz>
110
111 PR target/23303
112 * i386.md: Add peep2 for simplyfing array accesses.
113
d98ad410
UW
1142005-11-02 Ulrich Weigand <uweigand@de.ibm.com>
115
116 PR target/24615
117 * config/s390/s390-protos.h (s390_decompose_shift_count): Declare.
118 * config/s390/s390.c (s390_decompose_shift_count): New function.
119 (s390_extra_constraint_str) ['Y']: Use s390_decompose_shift_count.
120 (print_shift_count_operand): Use s390_decompose_shift_count.
121 * config/s390/predicates.md ("setmem_operand", "shift_count_operand"):
122 Use s390_decompose_shift_count. Do not accept any non-base hard regs.
123
f55b9465
UW
1242005-11-02 Ulrich Weigand <uweigand@de.ibm.com>
125
126 PR target/24600
127 * loop.c (loop_givs_rescan): Use force_operand to expand
128 complex GIVs.
129
b426200a
AP
1302005-11-02 Andrew Pinski <pinskia@physics.uc.edu>
131
132 PR 22429
133 * fold-const.c (build_range_check): Use unsigned when signed
134 overflow is undefined also. If etype is subtype, make sure that
135 the subtraction is in the supertype.
136
525e67c1
RH
1372005-11-02 Richard Henderson <rth@redhat.com>
138
139 PR target/24178
140 * config/alpha/alpha.c (get_aligned_mem): Honor alignment given
141 by MEM_ALIGN.
142
745f2a84
RH
1432005-11-01 Richard Henderson <rth@redhat.com>
144
145 PR 21518
146 * loop.c (scan_loop): Do not propagate computations to a hard
147 register destination with SMALL_REGISTER_CLASSES.
148
8a82b045
JM
1492005-11-01 Joseph S. Myers <joseph@codesourcery.com>
150
151 * config/rs6000/rs6000.c (rs6000_rtx_costs): Do not add extra
152 costs for MULT inside PLUS or MINUS.
153
85333688
BW
1542005-11-01 Bob Wilson <bob.wilson@acm.org>
155
156 * config/xtensa/xtensa.h (TRAMPOLINE_TEMPLATE): Add a byte of padding.
157 (TRAMPOLINE_SIZE): Round up to 60.
158 * config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Likewise.
159
eef25142 1602005-10-31 James E. Wilson <wilson@specifix.com>
e5f9a909 161
eef25142
JW
162 PR debug/24444
163 * dwarf2out.c (convert_cfa_to_loc_list): Put inside DWARF2_UNWIND_INFO
164 ifdef. Put ifdefs around call in gen_subprogram_die.
165 (compute_frame_pointer_to_cfa_displacement): Likewise.
166 (gen_subprogram_die): Restore old code for when DWARF2_UNWIND_INFO is
167 not defined.
168
e5f9a909
JW
169 PR rtl-optimization/17356
170 * cfgrtl.c (purge_dead_edges): Undo last change. In EDGE_EH code,
171 add check for CALL_INSN if EDGE_ABRNOMAL_CALL true.
172
f372b26f
JH
1732005-10-31 Jan Hubicka <jh@suse.cz>
174
d63f0fe5
JH
175 PR middle-end/24093
176 * cgraph.c (cgraph_clone_edge, cgraph_clone_node): Watch negative
177
d8ff1871
JH
178 PR target/20928
179 * i386.c (legitimize_pic_address): Deal with large immediates.
180
2b557972
JH
181 PR profile/20815
182 * coverage.c (coverage_checksum_string): Fix code to stip random seeds
183 from symbol names while computing checkup.
184
f372b26f
JH
185 PR profile/24487
186 * predict.c (predict_loops): Do not estimate more than
187 MAX_PRED_LOOP_ITERATIONS in PRED_LOOP_ITERATIONS heuristic.
188 * predict.def (MAX_PRED_LOOP_ITERATIONS): Define.
189
a56b5394
AM
1902005-10-31 Andrew MacLeod <amacleod@redhat.com>
191
192 PR tree-optimization/19097
193 * tree-ssa-operands.c (correct_use_link): Don't look for modified stmts.
194
cd7ec127
R
1952005-10-31 J"orn Rennecke <joern.rennecke@st.com>
196
197 * optabs.c (expand_unop): Take TRULY_NOOP_TRUNCATION into account.
198
047f4b2c
AP
1992005-10-31 Andrew Pinski <pinskia@physics.uc.edu>
200
201 PR middle-end/23492
202 * tree-inline.c (setup_one_parameter): If the init_stmt
203 is NULL, don't insert the statement.
204
5e13fdf7
JH
2052005-10-30 Jan Hubicka <jh@suse.cz>
206
207 PR tree-optimization/24172
208 * tree-inline.c (copy_body_r): Unshare the substituted value first.
209
e8299ec2
HPN
2102005-10-30 Hans-Peter Nilsson <hp@bitrange.com>
211
212 * config/mmix/mmix.c (mmix_intval): Correct handling of DFmode
213 constants for hosts with long != 32 bits.
214
7e1b44bb
AK
2152005-10-28 Andreas Krebbel <krebbel1@de.ibm.com>
216
217 PR middle-end/24093
218 * ipa-inline.c (craph_decide_recursive_inlining): Fix return value.
219
ed70cedf
AH
2202005-10-28 Aldy Hernandez <aldyh@redhat.com>
221
222 * config/ms1/ms1.h (TARGET_MS1_64_001): New.
223 (TARGET_MS1_16_002): New.
224 (TARGET_MS1_16_003): New.
225
226 * config/ms1/ms1.md ("decrement_and_branch_until_zero"): Rewrite.
227 ("*decrement_and_branch_until_zero_no_clobber"): New.
228 Add corresponding splitter for decrement_and_branch_until_zero
229 instruction.
230 Key all decrement_and_branch_until_zero patterns off of
231 TARGET_MS1_16_003.
232
f35a986c
AP
2332005-10-28 Andrew Pinski <pinskia@physics.uc.edu>
234
235 PR middle-end/24362
236 * tree-complex.c (extract_component): Treat RESULT_DECL
237 like the rest of the decls.
238
694a2f6e
EB
2392005-10-25 Eric Botcazou <ebotcazou@adacore.com>
240
241 * config/ia64/ia64.c (ia64_output_function_profiler): Emit an
242 indirect call to _mcount if the function needs a static chain.
243
43f237b4
EB
2442005-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
245 Caroline Tice <ctice@apple.com>
246
247 PR rtl-optimization/24460
248 * dwarf2out.c (have_switched_text_sections): New boolean variable.
249 (dwarf2out_switch_text_section): Set it to true instead of
250 incrementing separate_line_info_table_in_use.
251 (output_loc_list): Additionally test have_switched_text_sections.
252 (output_ranges): Likewise.
253 (dwarf2out_finish): Likewise.
254 * varasm.c (assemble_start_function): Do not call
255 insert_section_boundary_note.
256 (assemble_end_function): If flag_reorder_blocks_and_partition,
257 switch to the function's section before emitting the .size directive.
258 * bb-reorder.c (insert_section_boundary_note): Staticify.
259 (rest_of_handle_reorder_blocks): Call insert_section_boundary_note.
260 * output.h (insert_section_boundary_note): Delete.
261
02f8406b
AP
2622005-10-24 Andrew Pinski <pinskia@physics.uc.edu>
263
264 PR c/23103
265 * c-format.c (check_format_types): Use lang_hooks.types_compatible_p
266 instead of pointer equality when comparing types.
267
8c4b4e67
JW
2682005-10-24 James E. Wilson <wilson@specifix.com>
269
270 * sched-deps.c (flush_pending_lists): Pass 1 not 0 in first two
271 add_dependence_list_and_free calls.
272
7ffc0411
SB
2732005-10-24 Steven Bosscher <stevenb@suse.de>
274
c4289f24
SB
275 * contrib.texi: Add the names of the LLNL folks who donated
276 Cray pointer support for gfortran.
277
2782005-10-24 Steven Bosscher <stevenb@suse.de>
279
280 PR tree-optimization/24225
7ffc0411
SB
281 * profile.c (branch_prob): Look from end to start through a
282 basic block when looking for a locus.
283
77c4f044
RH
2842005-10-24 Richard Henderson <rth@redhat.com>
285
286 * pa.c (store_reg_modify): Set RTX_FRAME_RELATED_P on each set in
287 parallel.
288 (hppa_expand_prologue): Likewise.
289
3674b34d
JDA
2902005-10-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
291
292 * pa-linux.h (NO_PROFILE_COUNTERS): Delete define.
293 (NO_DEFERRED_PROFILE_COUNTERS): Define.
294 * pa.h (NO_PROFILE_COUNTERS): Define.
295 * pa.c (NO_DEFERRED_PROFILE_COUNTERS): Define if not defined.
296 (funcdef_nos): New vector to hold label numbers of deferred profile
297 counters.
298 (output_deferred_profile_counters): New function.
299 (hppa_profile_hook): Push label number onto funcdef_nos.
300 (pa_hpux_file_end): Call output_deferred_profile_counters if
301 NO_DEFERRED_PROFILE_COUNTERS is false.
7aaf280e
JDA
302
303 * pa-protos.h (get_deferred_plabel): New prototype.
304 * pa.c (get_plabel): Rename to get_deferred_plabel. Return plabel.
305 Make global.
306 (output_call): Adjust calls.
307
4fed8f8f
AM
3082005-10-24 Alan Modra <amodra@bigpond.net.au>
309
310 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Explain
311 peculiarity of GOT/TOC section usage.
312
2a694ec8
AP
3132005-10-23 Andrew Pinski <pinskia@physics.uc.edu>
314
315 PR objc/24435
316 * c-common.c (constant_string_class_name): Add documentation.
317
03414545
KK
3182005-10-23 Kaz Kojima <kkojima@gcc.gnu.org>
319
320 PR target/23832
321 * recog.c (peephole2_optimize): Increment peep2_current_count
322 only when the slot is empty.
323
8a36d7d1
JDA
3242005-10-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
325
326 PR ada/23957
327 * except.c (output_function_exception_table): Call
328 assemble_external_libcall if we need a personality function.
329
0e714a54
EB
3302005-10-21 Eric Botcazou <ebotcazou@libertysurf.fr>
331
332 PR rtl-optimization/24460
333 * bb-reorder.c (fix_crossing_unconditional_branches): Do not
334 set the basic block for barriers.
335
7b39f38b
JJ
3362005-10-21 Janis Johnson <janis187@us.ibm.com>
337
338 * var-tracking.c (vt_initialize): Initialize post.
339
2c47f875
DP
3402005-10-21 Devang Patel <dpatel@apple.com>
341
342 PR/24220
343 * c-common.c (vector_types_convertible_p): Check vector element type.
344
6058b2fa
KK
3452005-10-21 Kaz Kojima <kkojima@gcc.gnu.org>
346
347 * config/sh/sh.c (prepare_move_operands): Handle the address
348 constant which is a tls symbolic address plus a constant.
349
de19a50e
AP
3502005-10-21 Andrew Pinski <pinskia@physics.uc.edu>
351
352 PR driver/24473
353 * gcc.c (main): Use the correct counter for erroring out
354 about mulitple files.
355
972f427b
AM
3562005-10-21 Alan Modra <amodra@bigpond.net.au>
357
358 PR target/24465
359 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Always
360 use r2 for 64-bit tls .got access.
361
97191ef9
PB
3622005-10-21 Paolo Bonzini <bonzini@gnu.org>
363
364 * dojump.c (do_jump): Handle side-effecting TRUTH_AND_EXPR and
365 TRUTH_OR_EXPR.
366
7802250d
SB
3672005-10-20 Steven Bosscher <stevenb@suse.de>
368
7ffc0411 369 PR tree-optimization/24307
7802250d
SB
370 * tree-cfg.c (tree_find_edge_insert_loc): Handle naked RETURN_EXPR.
371
cdcba1ea
AO
3722005-10-20 Alexandre Oliva <aoliva@redhat.com>
373
374 PR middle-end/24295
375 * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Mark
376 alias targets.
377 * varasm.c (find_decl_and_mark_needed): After cgraph global info
378 is ready, stop marking functions, but still mark variables.
379
9ca4afb9
RG
3802005-10-20 Richard Guenther <rguenther@suse.de>
381
382 PR c++/24439
383 * fold-const.c (invert_truthvalue): Handle COND_EXPR with
384 void type operands.
385
2358ff91
EB
3862005-10-20 Eric Botcazou <ebotcazou@libertysurf.fr>
387
388 PR rtl-optimization/23585
389 * rtlanal.c (rtx_addr_can_trap_p_1): New predicate extracted from...
390 (rtx_addr_can_trap_p): ... here. Invoke rtx_addr_can_trap_p_1.
391 (may_trap_p_1): New predicate extracted from...
392 (may_trap_p): ... here. Invoke may_trap_p_1.
393 (may_trap_or_fault_p): New predicate.
394 * rtl.h (may_trap_or_fault_p): Declare it.
395 * reorg.c (steal_delay_list_from_target): Use may_trap_or_fault_p
396 instead of may_trap_p.
397 (steal_delay_list_from_fallthrough): Likewise.
398 (fill_simple_delay_slots): Likewise.
399 (fill_slots_from_thread): Likewise.
400 * function.c (pad_to_arg_alignment): Rework comment about
401 SPARC_STACK_BOUNDARY_HACK.
402 * config/sparc/sparc.h: Likewise.
403
6fa05db6
AS
4042005-10-19 Adrian Straetling <straetling@de.ibm.com>
405
406 * config/s390/s390.c (s390_expand_insv): New.
407 * config/s390/s390-protos.h (s390_expand_insv): Declare.
408 * config/s390/s390.md ("UNSPEC_SETHIGH"): Rename to "UNSPEC_ICM".
409 ("icm_hi"): Remove mode attribute.
410 ("*sethigh<mode><mode>"): Rewrite to "sethighpart<mode>".
411 Adjust all uses.
412 ("*extracthi", "*extractqi"): Remove.
413 (extv<mode>", "*extzv<mode>"): New.
414 ("insv", "*insv<mode>_mem_reg", "*insvdi_mem_reghigh",
415 "*insv<mode>_reg_imm", "*insv<mode>_reg_extimm"): New.
416
a1b23b2f
UW
4172005-10-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
418
419 * cfgexpand.c (discover_nonconstant_array_refs_r,
420 discover_nonconstant_array_refs): Move here from tree-outof-ssa.c
421 (tree_expand_cfg): Call discover_nonconstant_array_refs.
422 * tree-outof-ssa.c (rewrite_out_of_ssa): Remove call to
423 discover_nonconstant_array_refs.
424
f95f80d1
SB
4252005-10-19 Steven Bosscher <stevenb@suse.de>
426
427 PR c/23228
428 * c-decl.c (pop_scope): Don't warn about an unused variable
429 if it is marked with TREE_NO_WARNING.
430 (duplicate_decls): Set TREE_NO_WARNING if olddecl and newdecl
431 somenow mismatch and olddecl is to be replaced.
432
e48050bd
EB
4332005-10-19 Eric Botcazou <ebotcazou@libertysurf.fr>
434
435 PR middle-end/23199
436 * cfgrtl.c (safe_insert_insn_on_edge): Use can_copy_p to detect
437 whether registers live on the edge can be saved/restored.
438
0bf72672
KK
4392005-10-19 Kaz Kojima <kkojima@gcc.gnu.org>
440
441 * config/sh/sh.c (fixup_mova): Skip notes.
442
7633f08e
UW
4432005-10-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
444
445 * config/s390/s390-protos.h (s390_hard_regno_rename_ok): Add prototype.
446 * config/s390/s390.c (s390_hard_regno_rename_ok): New function.
447 (s390_can_eliminate): Handle BASE_REGNUM elimination.
448 (s390_initial_elimination_offset): Likewise.
449 (s390_conditional_register_usage): BASE_REGNUM is no longer a fixed
450 register on TARGET_ZARCH targets.
451 * config/s390/s390.h (HARD_REGNO_RENAME_OK): Define
452 (INITIAL_FRAME_POINTER_OFFSET): Remove.
453 (REG_ALLOC_ORDER): Move BASE_REGNUM lower.
454 (ELIMINABLE_REGS): Add BASE_REGNUM elimination rule.
455
da48f5ec
AK
4562005-10-19 Andreas Krebbel <krebbel1@de.ibm.com>
457
458 * config/s390/s390.md: Comment describing output modifiers updated.
459 * config/s390/s390.c (print_operand): Likewise.
460
f695eccf
AK
4612005-10-19 Andreas Krebbel <krebbel1@de.ibm.com>
462
463 * config/s390/s390.c (override_options): Added check for -mstack-size
464 64k limitation.
465 * doc/invoke.texi: Mention that limit in the documenation.
466
d1f36c51
PB
4672005-10-18 Paolo Bonzini <bonzini@gnu.org>
468
469 PR #19672
470 * dojump.c (do_jump): Handle TRUTH_AND_EXPR and TRUTH_OR_EXPR here.
471
b3e2e29c
DB
4722005-10-18 Daniel Berlin <dberlin@dberlin.org>
473
474 Fix PR tree-optimization/24231
475
476 * tree-ssa-pre.c (try_look_through_load): Skip abnormal phi names
477 (compute_avail): Ditto.
478
d1f36c51 4792005-10-18 Richard Henderson <rth@redhat.com>
fd4aca96
RH
480
481 PR target/24428
482 * config/i386/i386.c (legitimate_constant_p): Check
483 SYMBOL_REF_TLS_MODEL directly. Don't fallthru to SYMBOL_REF
484 if LABEL_REF.
485 (legitimate_pic_operand_p): Test SYMBOL_REF_TLS_MODEL directly.
486 (legitimate_pic_address_disp_p): Reorg CONST checking to make
487 sure SYMBOL_REF_TLS_MODEL is tested. Test SYMBOL_REF_TLS_MODEL
488 directly.
489 (print_operand_address): Likewise.
490 * config/i386/predicates.md (x86_64_immediate_operand): Test
491 SYMBOL_REF_TLS_MODEL properly inside CONST.
492 (x86_64_zext_immediate_operand): Likewise.
493 (global_dynamic_symbolic_operand, local_dynamic_symbolic_operand,
494 initial_exec_symbolic_operand, local_exec_symbolic_operand): Remove.
495 * config/i386/i386-protos.h: Remove predicates.md entries.
496
f4df3ce5
DS
4972005-10-18 Danny Smith <dannysmith@users.sourceforge.net>
498
499 * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
500 Check that elements of TYPE_METHODS are FUNCTION_DECLs.
501
1630e763
AS
5022005-10-17 Alexey Starovoytov <alexey.starovoytov@sun.com>
503 Ian Lance Taylor <ian@airs.com>
504
505 PR middle-end/23522
506 * fold-const.c (fold_widened_comparison): Do not allow range based
507 constant folding when right operand cannot be unwidened.
508
74395677
RH
5092005-10-17 Richard Henderson <rth@redhat.com>
510
511 * builtins.c (expand_builtin_synchronize): Build a new-style asm
512 with a memory clobber.
513
1b2914a0
JW
5142005-10-17 James E Wilson <wilson@specifix.com>
515
516 PR rtl-optimization/17356
517 * cfgrtl.c (purge_dead_edges): Check for EDGE_ABNORMAL_CALL before
518 checking for EDGE_EH.
519
7617ec02
EB
5202005-10-17 Eric Botcazou <ebotcazou@libertysurf.fr>
521
522 * config/sparc/sparc.c (function_arg_slotno): In 64-bit mode, align
523 the slot on an even boundary for any type with 16-byte alignment.
524
be3914df
HPN
5252005-10-17 Hans-Peter Nilsson <hp@axis.com>
526
527 PR target/23424
528 * md.texi (Modifiers) <%>: Clarify that % doesn't work
529 after register allocation.
530
b3fdec9e
DD
5312005-10-17 DJ Delorie <dj@redhat.com>
532
533 * config/m32c/m32c.c (m32c_pushm_popm): Don't mark epilogue insns
534 as frame related.
535
dae1bf4d
NS
5362005-10-17 Nathan Sidwell <nathan@codesourcery.com>
537
538 PR c++/22551
539 * c-common.c (c_add_case_label): Revert my 2005-10-14 clearing of
540 overflow flags.
541
e13602df
KK
5422005-10-17 Kaz Kojima <kkojima@gcc.gnu.org>
543
544 * config/sh/sh.h (OPTIMIZATION_OPTIONS): Set flag_schedule_insns
545 to 2 if it's already non-zero.
546 (OVERRIDE_OPTIONS): Clear flag_schedule_insns if flag_exceptions
547 is set and warn about it if flag_schedule_insns is 1.
548
a95c63d8
PW
5492005-10-17 Paul Woegerer <paul.woegerer@nsc.com>
550
551 * config/crx/crx.md: Compare-and-branch instructions need to
552 invalidate CC.
553
99523994
UB
5542005-10-17 Uros Bizjak <uros@kss-loka.si>
555
556 PR target/24315
557 * config/i386/i386.md (*pushdi2_rex64 splitter)
558 (*movdi_1_rex64 splitter, *ashldi3_1 splitter)
559 (*ashrdi3_1 splitter, *lshrdi3_1 splitter): Delay splitting after
560 flow2 pass only when (optimize > 0 && flag_peephole2).
561
af41c57d
AP
5622005-10-16 Andrew Pinski <pinskia@physics.uc.edu>
563
564 PR driver/22544
565 * gcc.c (have_c): New static variable.
566 (have_o): Likewise.
567 (process_command): Remove declation of have_c.
568 Set have_o to 1 when handling -o.
569 (main): Add a fatel error if there are multiple
570 files specified and -o and -c/-S is passed witout
571 -combine or multiple languages.
572
d938e461
DB
5732005-10-16 Daniel Berlin <dberlin@dberlin.org>
574
575 Fix PR tree-optimization/22444
576 * tree-ssa-alias.c (compute_flow_insensitive_aliasing):
577 Assert that we don't hit something with subvars.
578 (setup_pointers_and_addressables): Don't add things with subvars,
579 because we'll already process the subvars for aliasing purposes.
580
2de0aa52
HPN
5812005-10-16 Hans-Peter Nilsson <hp@axis.com>
582
1165f377
HPN
583 PR target/23424
584 * config/cris/cris.md ("*mov_side<mode>", "*mov_sidesisf")
585 ("*mov_side<mode>_mem", "*mov_sidesisf_mem", "*clear_side<mode>")
586 ("*ext_sideqihi", "*ext_side<mode>si", "*op_side<mode>")
587 ("*op_swap_side<mode>", "*extopqihi_side", "*extop<mode>si_side")
588 ("*extopqihi_swap_side", "*extop<mode>si_swap_side"): Have separate,
589 swapped, alternatives for the R constraint.
590
b100540d 591 PR middle-end/24341
2de0aa52
HPN
592 * builtins.c (get_builtin_sync_mode): Make unlimited
593 mode_for_size request.
594
a9f7c570
RH
5952005-10-15 Richard Henderson <rth@redhat.com>
596
597 * gimplify.c (gimplify_var_or_parm_decl): Split out from ...
598 (gimplify_expr): ... here.
599 (gimplify_compound_lval): Use it in initial scan loop. Allow
600 fb_lvalue in base expression.
601
1e188d1e
RH
6022005-10-15 Richard Henderson <rth@redhat.com>
603
604 PR 23714
605 * builtins.c (expand_builtin_trap): Export.
606 * expr.h (expand_builtin_trap): Declare.
607 * expr.c (expand_assignment): Emit a trap for integral offsets
608 from registers that weren't reduced to bitpos.
609
610 * tree-cfg.c (mark_array_ref_addressable_1): Remove.
611 (mark_array_ref_addressable): Remove.
612 * tree-flow.h (mark_array_ref_addressable): Remove.
613 * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Don't call it.
614
b27cedc6
JW
6152005-10-15 James E Wilson <wilson@specifix.com>
616
617 PR target/24232
618 * sched-deps.c (add_dependence_list): New arg UNCOND. Fix all callers.
619 (add_dependence_list_and_free): Likewise.
620 (sched_analyze_2, case MEM): Delete sched_insns_conditions_mutex_p
621 call.
622
2d33a2ef
DN
6232005-10-15 Diego Novillo <dnovillo@redhat.com>
624
625 PR 23141
626 PR 23142
627 * tree-vrp.c (vrp_meet): Fix the intersection of equivalence
628 sets VR0->EQUIV and VR1->EQUIV when meeting a range and an
629 anti-range.
630 (vrp_visit_phi_node): Only prevent infinite iterations when
631 the previous result and the new result are both VR_RANGEs.
632
7b71de26
RM
6332005-10-15 Ranjit Mathew <rmathew@gcc.gnu.org>
634
635 * tree-into-ssa.c (mark_def_sites): Correct minor typo in
636 function comment.
637
24871154
VR
6382005-10-14 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
639
640 PR c/23439
641 * c-parser.c (c_parser_for_statement): Use location of RID_FOR
642 to initialize loc.
643
d2c979ef
PB
6442005-10-14 Per Bothner <per@bothner.com>
645
646 PR preprocessor/21250
647 * c-ppoutput.c (print_line): Print internal line 0 as 1.
648
c0e22534
NS
6492005-10-14 Nathan Sidwell <nathan@codesourcery.com>
650
651 PR c++/22551
652 * c-common.c (c_add_case_label): Clear LOW_VALUE and HIGH_VALUE's
653 overflow flags. Refactor some conditionals.
654
9da32d63
AP
6552005-10-13 Andrew Pinski <pinskia@physics.uc.edu>
656
657 PR tree-opt/21304
658 * tree-dfa.c (add_referenced_var): Only look at decls which
659 have TREE_CONSTANT or TREE_READONLY set instead of if
660 !TREE_PUBLIC or !TREE_CONSTANT.
661
47530dd9
JW
6622005-10-13 James E Wilson <wilson@specifix.com>
663
acd1a829 664 * doc/invoke.texi: For -x, add f95-cpp-input.
47530dd9
JW
665 * doc/install.texi: For --enable-languages doc, change f95 to fortran.
666
b2ebf913
SP
6672005-10-12 Sebastian Pop <pop@cri.ensmp.fr>
668
669 PR tree-optimization/24262
670 * tree-data-ref.c (analyze_offset_expr): Check that init is invariant
671 in loop all the time.
672
52dd234b
RH
6732005-10-12 Richard Henderson <rth@redhat.com>
674
675 PR c/24255
676 * tree.h (DECL_TRANSPARENT_UNION): Remove.
677 * function.c (assign_parm_find_data_types): Don't support it.
678 * print-tree.c (print_node): Likewise.
679 * c-common.c (handle_transparent_union_attribute): Likewise.
680 Use build_duplicate_type.
681 * tree-inline.c (remap_type_1): Split out of remap_type;
682 properly remap aggregate fields.
683 (build_duplicate_type): New.
684 * doc/extend.texi (Variable Attributes): Remove documentation
685 for transparent_union.
686
6deb0339
EB
6872005-10-12 Eric Botcazou <ebotcazou@libertysurf.fr>
688
689 PR target/24284
690 * config/sparc/sparc.c (gen_stack_pointer_inc): Build by hand.
691 (gen_stack_pointer_dec): Likewise.
692
43d9ad1d
DS
6932005-10-12 Danny Smith <dannysmith@users.sourceforge.net>
694
695 PR middle-end/21275
696 PR middle-end/21766
697 * target.h (struct gcc_target): Add valid_dllimport_attribute_p
698 target hook.
699 (struct cxx): Add adjust_class_at_definition target hook.
700 * target-def.h: (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): New define,
701 defaulting to hook_bool_tree_true. Add to TARGET_INITIALIZER
702 (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): New define, defaulting to
703 hook_void_tree. Add to TARGET_CXX.
704 * tree.h (struct decl_with_vis): Rename non_addr_const_p field to
705 dllimport_flag.
706 (DECL_NON_ADDR_CONSTANT_P): Replace with DECL_DLLIMPORT_P macro.
707 * tree.c (merge_dllimport_decl_attributes): Check DECL_DLLIMPORT_P
708 instead of attribute. Check for dllexport override. Warn if
709 inconsistent dll linkage. Don't lose old dllimport if decl has
710 had address referenced. Tweak lookup of dllimport atribute.
711 (handle_dll_attribute): Check targetm.valid_dllimport_attribute_p
712 for target specific rules. Don't add dllimport attribute if
713 DECL_DECLARED_INLINE_P. Set DECL_DLLIMPORT_P when adding
714 dllimport attribute.
715 (staticp): Replace DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P.
716 * varasm.c (initializer_constant_valid_p): Replace
717 DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P
718
719 PR target/21801
720 PR target/23589
721 * config.gcc (i[34567]86-*-cygwin*): Add winnt-cxx.o to
722 'cxx_target_objs', winnt-stubs,o to 'extra_objs'.
723 (i[34567]86-*-mingw32*): Likewise.
724
725 * doc/tm.texi (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Document.
726 (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Document.
727
728 * config/i386/winnt.c (i386_pe_dllimport_p): Factor out
729 C++-specific code. Change return value to bool.
730 (i386_pe_dllimport_p): Likewise.
731 (associated_type): Simplify and make language-independent
732 (i386_pe_encode_section_info): Replace override of ambiguous
733 dllimport symbol refs with a gcc_assert.
734 (i386_pe_valid_dllimport_attribute_p): Define.
735 * config/i386/winnt-cxx.c: New file. Define C++ versions of
736 i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
737 i386_pe_adjust_class_at_definition.
738 * config/i386/winnt-stubs.c: New file. Define stub versions of
739 lang-specific functions.
740 * config/i386/i386-protos.h: Declare winnt-[cxx|stubs].c functions
741 i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
742 i386_pe_adjust_class_at_definition.
743 (i386_pe_valid_dllimport_attribute_p): Declare.
744 * config/i386/cygming.h (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Define.
745 (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Define.
746 * config/i386/t-cygming: Add rules for winnt-cxx.o, winnt-stubs.o.
747
748 PR target/19704
749 * config/i386/i386.c (ix86_function_ok_for_sibcall): Replace test for
750 dllimport attribute with test of DECL_DLLIMPORT_P.
751
8adac335
AS
7522005-10-12 Adrian Straetling <straetling@de.ibm.com>
753
754 * combine.c (make_extraction): Correct offset computation.
755
9f92185e
HPN
7562005-10-12 Hans-Peter Nilsson <hp@axis.com>
757
758 * config/cris/t-linux (LIMITS_H_TEST): Define.
759
a4d25453
RH
7602005-10-12 Richard Henderson <rth@redhat.com>
761
762 PR rtl-opt/23324
763 * cfgexpand.c (add_alias_set_conflicts): Use objects_must_conflict_p.
764
c8c7ed52
RG
7652005-10-12 Richard Guenther <rguenther@suse.de>
766
767 * Makefile.in (CGRAPH_H): Depend on $(TREE_H).
768
dbe91deb
NS
7692005-10-12 Nathan Sidwell <nathan@codesourcery.com>
770
771 PR c++/19964
772 * stor-layout.c (place_field): Set DECL_FIELD_OFFSET and
773 DECL_FIELD_BIT_OFFSET of FIELD_DECLs, even if they have an invalid
774 type.
775
e2953e41
RG
7762005-10-12 Richard Guenther <rguenther@suse.de>
777
778 PR c++/23799
779 * varasm.c (output_constant): Correct typo from previous
780 patch by DJ.
781
4bbae09f
ILT
7822005-10-11 Ian Lance Taylor <ian@airs.com>
783
784 PR rtl-optimization/13931
785 * combine.c: Revert patch of 2003-05-14, and:
786 (try_combine): Only set elim_i1 and elim_i2 if the destination is
787 completely killed in the appropriate insn.
788 (distribute_notes): Don't skip multiple hard register test for
789 elim_i1 and elim_i2.
790
0257e383
RH
7912005-10-11 Richard Henderson <rth@redhat.com>
792
793 PR c/24255
794 * c-typeck.c (convert_for_assignment): Use build_constructor_single
795 to initialize a transparent union instead of a nop_expr.
796
49896738
RH
7972005-10-11 Richard Henderson <rth@redhat.com>
798
a4176272
RH
799 * Makefile.in (tree-ssa-dce.o): Depend on SCEV_H.
800 * tree-ssa-dce.c: Include tree-scalar-evolution.h.
801 (tree_ssa_dce_loop): Call scev_reset.
802
49896738
RH
803 PR tree-opt/24300
804 * Makefile.in (tree-ssa-dce.o): Depend on CFGLOOP_H.
805 * tree-ssa-dce.c: Include cfgloop.h.
806 (tree_ssa_dce_loop, pass_dce_loop): New.
807 * tree-pass.h (pass_dce_loop): Declare it.
808 * passes.c (init_optimization_passes): Use it.
809
5e8b5b08
EB
8102005-10-11 Eric Botcazou <ebotcazou@libertysurf.fr>
811
812 PR middle-end/24263
813 * convert.c (convert_to_real): Revert 2005-10-05 patch.
814 Only apply the optimization for rounding builtins if the inner
815 cast is also an extension.
816
386cfa6f
AP
8172005-10-11 Andrew Pinski <pinskia@physics.uc.edu>
818
819 PR tree-opt/23946
820 * tree-ssa-ccp.c (execute_fold_all_builtins): Call
821 mark_new_vars_to_rename instead of update_stmt.
822
ace0544a
BS
8232005-10-11 Bernd Schmidt <bernd.schmidt@analog.com>
824
825 * config/bfin/crti.s (__init, __fini): Renamed from _init, _fini.
826
eef90962
JJ
8272005-10-11 Jakub Jelinek <jakub@redhat.com>
828
829 * config/i386/i386.md (movsi_1, movdi_1_rex64): Use mmxadd type
830 for setting MMX register to 0 rather than mmx.
831
dbad5e72
SE
8322005-10-10 Steve Ellcey <sje@cup.hp.com>
833
834 PR target/12098
835 * configure.ac: Move gas check from mips specific case to common case.
836 Do check for GNU as for mips*-*-* and *-*-hpux* targets.
837 * configure: Regenerate
838 * doc/install.texi: Update.
839
542155d7
EB
8402005-10-10 Eric Botcazou <ebotcazou@libertysurf.fr>
841
842 PR target/24284
843 * config/sparc/sparc.c (sparc_expand_prologue): Remove bogus PATTERN.
844
a92dd235
MR
8452005-10-10 Maciej W. Rozycki <macro@linux-mips.org>
846
847 * gcc.c (do_spec_1): Accept numeric characters in file name
848 suffixes.
849
e0b92319
NC
8502005-10-10 Nick Clifton <nickc@redhat.com>
851
852 * config/arm/arm.c: Remove extraneous whitespace. Remove comment
853 describing the deleted arm_gen_rotated_half_load function.
854
a5f5c6be
KK
8552005-10-09 Kaz Kojima <kkojima@gcc.gnu.org>
856
857 * config/sh/sh.c (emit_fpu_switch): Set TREE_PUBLIC for
858 __fpscr_values.
859
d399ae67
DJ
8602005-10-09 Daniel Jacobowitz <dan@codesourcery.com>
861
862 * config.gcc (arm*-*-linux*): Remove redundant extra_parts and
863 gnu_ld assignments.
864 * config/arm/t-linux-eabi (LIB1ASMFUNCS)
865 (EXTRA_MULTILIB_PARTS): Define.
866 * config/arm/linux-elf.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC)
867 (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC)
868 (LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Move to...
869 * config/arm/uclinux-elf.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC)
870 (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC)
871 (LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): ... here.
872
c9639aae
ZD
8732005-10-09 Zdenek Dvorak <dvorakz@suse.cz>
874
875 PR tree-optimization/24226
876 * tree-cfg.c (remove_bb): Clean up unreachable loops.
877 * tree-flow.h (free_numbers_of_iterations_estimates_loop): Declare.
878 * tree-ssa-loop-niter.c (free_numbers_of_iterations_estimates_loop):
879 Export.
880
ad6cc85a
EB
8812005-10-09 Eric Botcazou <ebotcazou@libertysurf.fr>
882
883 * config/sparc/gmon-sol2.c (internal_mcount): Mark as used.
884
c5dce79b
AP
8852005-10-08 Andrew Pinski <pinskia@physics.uc.edu>
886
887 PR target/24136
888 * config/rs6000/darwin.md (movdf_low_si): Remove early clobber.
889 Rewrite for no need for the early clobber.
890
077fc835
KH
8912005-10-08 Kazu Hirata <kazu@codesourcery.com>
892
893 Merge from csl-arm-branch:
894 2005-09-07 Paul Brook <paul@codesourcery.com>
895 * config/arm/linux-eabi.h (SUBTARGET_EXTRA_LINK_SPEC): Prepend a
896 space to string.
897
898 2005-04-30 Paul Brook <paul@codesourcery.com>
899 * config/arm/bpabi.h (TARGET_DEFAULT): Define.
900 * config/arm/linux-eabi.h (SUBTARGET_CPU_DEFAULT): Define.
901
902 2005-03-07 Daniel Jacobowitz <dan@codesourcery.com>
903 * config/arm/arm.c (arm_all_abis): Add aapcs-linux.
904 (arm_override_options): Use TARGET_AAPCS_BASED.
905 * config/arm/arm.h (enum arm_abi_type): Add ARM_ABI_AAPCS_LINUX.
906 (PTRDIFF_TYPE): Use int for AAPCS.
907 (DEFAULT_SHORT_ENUMS): Use false for aapcs-linux.
908 * config/arm/linux-eabi.h (ARM_DEFAULT_ABI, WCHAR_TYPE): Define.
909 (DEFAULT_SHORT_ENUMS): Delete.
910 * doc/invoke.texi (ARM Options): Document -mabi=aapcs-linux.
911
912 2004-12-15 Daniel Jacobowitz <dan@codesourcery.com>
913 * config/arm/arm.h (DEFAULT_SHORT_ENUMS): Wrap in #ifndef.
914 * config/arm/linux-eabi.h (DEFAULT_SHORT_ENUMS): Define to 0.
915 * config/arm/t-linux-eabi (TARGET_LIBGCC2_CFLAGS): Set to -fPIC.
916
917 2004-12-03 Mark Mitchell <mark@codesourcery.com>
918 * config/arm/linux-eabi.h (LIBGCC_SPEC): Do not define.
919
920 2004-11-22 Mark Mitchell <mark@codesourcery.com>
921 * config.gcc (arm*-*-linux-gnueabi): Use __cxa_atexit.
922
923 2004-11-19 Mark Mitchell <mark@codesourcery.com>
924 * config.gcc (arm*-*-linux-gnueabi): Add it.
925 * config/arm/bpabi.h (FPUTYPE_DEFAULT): Undefine it before
926 redefining it.
927 (TARGET_OS_CPP_BUILTINS): Likeiwse.
928 * config/arm/linux-eabi.h: New file.
929 * config/arm/linux-elf.h (LINUX_TARGET_INTERPRETER): New macro.
930 (LINUX_TARET_LINK_SPEC): Likewise.
931 (LINK_SPEC): Use it.
932 * config/arm/t-linux-eabi: New file.
933
5fa534e3
SB
9342005-10-08 Steven Bosscher <stevenb@suse.de>
935
936 PR other/22202
937 * params.def (PARAM_MAX_VARIABLE_EXPANSIONS): Remove superfluous
938 spaces.
939 (PARAM_SMS_DFA_HISTORY): Likewise.
940
07eef816
KH
9412005-10-08 Kazu Hirata <kazu@codesourcery.com>
942
943 PR middle-end/23150
944 * calls.c (mem_overlaps_already_clobbered_arg_p): New.
945 (load_register_parameters): Call it.
946 (check_sibcall_argument_overlap_1): Likewise.
947 (store_one_arg): Likewise.
948
b6fb7d46
JW
9492005-10-07 James E. Wilson <wilson@specifix.com>
950
3dbb4dce
JW
951 * config/ia64/vect.md (ashl<mode>3, ashr<mode>3, lshr<mode>3): Use
952 DImode not VECINT24 for operand 2.
953
7f9dc823
JW
954 PR target/23644
955 * doc/invoke.texi (IA-64 Options, item -mtune): Renamed from
956 -mtune-arch.
957
b6fb7d46
JW
958 PR target/24193
959 * config/ia64/ia64.md (movbi, movti_internal, gr_spill_internal,
960 fr_spill): Use destination_operand for operand 0.
961
3eb0d7c5
DD
9622005-10-07 DJ Delorie <dj@redhat.com>
963
964 * varasm.c (output_constant): Limit error to expanding
965 conversions.
966
4c17e288
RG
9672005-10-07 Richard Guenther <rguenther@suse.de>
968
969 PR middle-end/24227
970 * fold-const.c (fold_binary): Fix operand types during folding
971 of X op (A, Y). Evaluation order of the side-effects of
972 X and A are frontend-defined, so ensure we honour that even for
973 tcc_comparison class operands; eased by removing duplicate code.
974
002a9071
SE
9752005-10-07 Steve Ellcey <sje@cup.hp.com>
976
977 * stor-layout.c (layout_type): Do not allow alignment of array
978 elements to be greater than their size.
979
9bff16b8
SE
9802005-10-07 Steve Ellcey <sje@cup.hp.com>
981
982 * config.host (hppa*-*-hpux*): Change out_host_hook_obj and
983 host_xmake_file.
984 (hppa*-*-linux*): Ditto.
985 (ia64-*-hpux*): Add out_host_hook_obj and host_xmake_file.
986 * config/host-hpux.c: New.
987 * config/x-hpux: New.
988 * config/pa/x-hpux: Remove.
989 * config/pa/x-linux: Remove.
990 * config/pa/pa-host.c: Remove.
991
3e352c00
JL
9922005-10-07 Jeff Law <law@redhat.com>
993
994 * tree-ssa-dom.c (dom_opt_finalize_block): Fix conditions to
995 determine whether or not to try and thread outgoing edges.
996
05f68097
DE
9972005-10-07 David Edelsohn <edelsohn@gnu.org>
998
999 * config/rs6000/rs6000.md (eqsi_power): New.
1000 (neg_eq0si): Add TARGET_POWER to final condition.
1001 (neg_eqsi): Same.
1002
a7e0b075
RH
10032005-10-06 Richard Henderson <rth@redhat.com>
1004
1005 * config/rs6000/rs6000.c: Revert last change.
1006
27add2e8
RH
10072005-10-06 Richard Henderson <rth@redhat.com>
1008
1009 * config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): New.
1010 (TARGET_CANNOT_FORCE_CONST_MEM): Use it.
1011
4bb1e037
AP
10122005-10-06 Andrew Pinski <pinskia@physics.uc.edu>
1013
1014 PR middle-end/22216
1015 PR middle-end/23651
1016 * cfgexpand.c (tree_expand_cfg): After expanding the functions, clear
1017 out return_label and naked_return_label.
1018
30d2662c
DB
10192005-10-06 Daniel Berlin <dberlin@dberlin.org>
1020
1021 * tree-ssa-structalias.c (check_for_overlaps): Fix bug in last
a9f7c570 1022 change.
30d2662c 1023
e2f9fe42
RH
10242005-10-06 Richard Henderson <rth@redhat.com>
1025
1026 PR tree-opt/22237
1027 * tree-inline.c (declare_return_variable): Handle modify_dest not
1028 being a DECL.
1029
6c11790d
DB
10302005-10-06 Daniel Berlin <dberlin@dberlin.org>
1031
1032 Fix PR tree-optimization/22488
1033 * tree-ssa-structalias.c (check_for_overlaps): New function.
1034 (create_variable_info_for): Use it.
1035
5597a350
RH
10362005-10-06 Richard Henderson <rth@redhat.com>
1037
1038 PR debug/24070
1039 * dwarf2out.c (lookup_filename): Return the result of maybe_emit_file.
1040 (dwarf2out_start_source_file): Print it.
1041
03f9dd3f
GK
10422005-10-06 Geoffrey Keating <geoffk@apple.com>
1043
1044 * config/t-slibgcc-darwin (SHLIB_MAPFILES): Use '+='.
1045
24c2fde2
RH
10462005-10-06 Richard Henderson <rth@redhat.com>
1047
1048 PR 23706
1049 * mode-switching.c (optimize_mode_switching): Clear transp bit
1050 for block with incomming abnormal edges.
1051
1052 * config/sh/sh.c (fpscr_values, emit_fpu_switch): New.
1053 (fpscr_set_from_mem): Use them.
1054 * config/sh/sh.md (fpu_switch0, fpu_switch1): Remove.
1055 (fpscr postinc splitters): Rewrite as peephole2+split.
1056
27f0fe7f
DE
10572005-10-06 David Edelsohn <edelsohn@gnu.org>
1058
1059 * config/rs6000/rs6000.md (eq<mode>): Add !TARGET_POWER.
1060 (eq<mode>_compare): Same.
1061
098209a9
RG
10622005-10-06 Richard Guenther <rguenther@suse.de>
1063
1064 PR tree-optimization/24238
0c7c1604 1065 * tree-ssa-alias.c (find_used_portions): Handle RESULT_DECL.
098209a9 1066
d739199a
DJ
10672005-10-06 Daniel Jacobowitz <dan@codesourcery.com>
1068
1069 * acinclude.m4 (gcc_AC_CHECK_TOOL): Handle environment variables
1070 here. Use AC_PATH_PROG for environment variables instead of
1071 test -x.
1072 * configure.ac: Update calls to gcc_AC_CHECK_TOOL. Use it for
1073 objdump also.
1074 * configure: Regenerated.
1075
c40cb38d
RE
10762005-10-06 Richard Earnshaw <richard.earnshaw@arm.com>
1077
1078 PR target/23783
1079 * arm.md (call): If the address isn't a SYMBOL_REF or a register,
1080 then force it into a register.
1081 (call_value): Likewise.
1082
5872662b
RH
10832005-10-06 Richard Henderson <rth@redhat.com>
1084
1085 PR 24049
1086 * passes.c (init_optimization_passes): Move pass_lower_vector_ssa
1087 under pass_vectorize. Clear TODO_ggc_collect from the dce pass
1088 under pass_vectorize.
1089
d6b27b56
DP
10902005-10-05 Devang Patel <dpatel@apple.com>
1091
1092 PR Debug/23205
1093 * dbxout.c (dbxout_symbol): Check DECL_RTL_SET_P, after
1094 handling constants. Check NAMESPACE_DECL context for constants.
1095
759915ca
EC
10962005-10-05 Eric Christopher <echristo@apple.com>
1097
1098 * doc/md.texi (Standard Names): Fix name of pushm1 pattern.
1099
bf7e2472
RH
11002005-10-05 Richard Henderson <rth@redhat.com>
1101
1102 PR 23714
1103 * tree-cfg.c (mark_array_ref_addressable_1): New.
1104 (mark_array_ref_addressable): New.
1105 * tree-flow.h (mark_array_ref_addressable): Declare.
1106 * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Use it.
1107
d14e25e0
AP
11082005-10-05 Andrew Pinski <pinskia@physics.uc.edu>
1109
1110 PR middle-end/20606
1111 PR middle-end/24069
1112 * reload.c (subst_reloads): When adding a REG_LABEL to a
1113 jump instruction, also update JUMP_LABEL.
1114
f935b9e0
DE
11152005-10-05 David Edelsohn <edelsohn@gnu.org>
1116
1117 * params.def (PARAM_MAX_GROW_COPY_BB_INSNS): New.
1118 * bb-reorder.c (copy_bb_p): Use it.
1119 * doc/invoke.texi (param table): Add max-grow-copy-bb-insn.
1120
d3073c70
RH
11212005-10-05 Richard Henderson <rth@redhat.com>
1122
1123 PR target/23602
1124 * toplev.c (process_options): Warn about unsupported combinations
1125 of unwind tables and omit-frame-pointer.
1126 * config/i386/i386.c (override_options): Similarly. Enable
1127 accumulate-outgoing-args if not explicitly disabled.
1128
10dc6e8c
SE
11292005-10-05 Steve Ellcey <sje@cup.hp.com>
1130
1131 * vect.md (vec_initv2si): Fix typo of V2SF to V2SI.
1132 Handle big endian vs. small endian.
1133 (vec_initv2sf): Handle big endian vs. small endian.
1134 (*vec_extractv2sf_1): Ditto.
1135
9f85ecfe
DJ
11362005-10-05 Dale Johannesen <dalej@apple.com>
1137
1138 * convert.c (convert_to_real): Don't convert
1139 (float)floor(double d) to floorf((float)d).
1140
c2540bbb
DJ
11412005-10-05 Daniel Jacobowitz <dan@codesourcery.com>
1142
1143 * config/arm/arm.md (insv): Use gen_int_mode in more places.
1144
f3940b0e
AM
11452005-10-05 Andrew MacLeod <amacleod@redhat.com>
1146
1147 PR tree-optimization/18587
1148 * tree-ssa-operands.c (struct opbuild_list_d, OPBUILD_LAST): Delete.
1149 (build_defs, build_uses, build_v_may_defs, build_v_must_defs,
1150 build_vuses): Change to VEC type.
1151 (opbuild_initialize_virtual, opbuild_initialize_real, opbuild_free,
1152 opbuild_num_elems, opbuild_append_real, opbuild_append_virtual,
1153 opbuild_first, opbuild_next, opbuild_elem_real, opbuild_elem_virtual,
1154 opbuild_elem_uid, opbuild_clear, opbuild_remove_elem): Delete.
759915ca 1155 (get_name_decl): New. Return DECL_UID of base variable.
f3940b0e
AM
1156 (operand_build_cmp): New. qsort comparison routine.
1157 (operand_build_sort_virtual): New. Sort virtual build vector.
1158 (init_ssa_operands, fini_ssa_operands): Use VEC routines.
1159 (FINALIZE_OPBUILD_BASE, FINALIZE_OPBUILD_ELEM): Use VEC_Index.
1160 (FINALIZE_BASE): Use get_name_decl.
1161 (finalize_ssa_defs, finalize_ssa_uses, cleanup_v_may_defs,
1162 finalize_ssa_v_may_defs, finalize_ssa_vuses, finalize_ssa_v_must_defs,
759915ca
EC
1163 (start_ssa_stmt_operands, append_def, append_use, append_vuse,
1164 append_v_may_def, append_v_must_def): Replace opbuild_* routines with
f3940b0e
AM
1165 direct VEC_* manipulations.
1166 (build_ssa_operands): Call operand_build_sort_virtual.
1167 (copy_virtual_operand, create_ssa_artficial_load_stmt,
759915ca 1168 add_call_clobber_ops, add_call_read_ops): Replace opbuild_* routines
f3940b0e
AM
1169 with direct VEC_* manipulations.
1170 * tree-ssa-opfinalize.h (FINALIZE_FUNC): Replace opbuild_* routines
1171 with direct VEC manipulations.
1172
5544530a
PB
11732005-10-05 Paolo Bonzini <bonzini@gnu.org>
1174
1175 PR tree-optimization/21419
1176 PR tree-optimization/24146
1177 PR tree-optimization/24151
1178
1179 * c-typeck.c (readonly_error): Handle USE being lv_asm.
1180 (build_asm_expr): Call it if outputs are read-only.
1181 * gimplify.c (gimplify_asm_expr): Remove former fix to PR 21419.
1182
75576871
BB
11832005-10-05 Billy Biggs <billy.biggs@gmail.com>
1184 Paolo Bonzini <bonzini@gnu.org>
1185
1186 PR target/23809
1187
1188 * doc/extend.texi (x86 Built-ins): Document that -msse and friends
1189 enable the instructions and not just the built-ins.
1190 * doc/invoke.texi (x86 Options): Likewise.
1191
337f2a22
GK
11922005-10-04 Geoffrey Keating <geoffk@apple.com>
1193
a70d8bb6
GK
1194 * config/i386/t-darwin (SHLIB_VERPFX): Fix typo.
1195
337f2a22
GK
1196 * doc/invoke.texi (Option Summary): Correct spelling
1197 of -mmacosx-version-min.
1198
a04deb83
DP
11992005-10-04 Devang Patel <dpatel@apple.com>
1200
1201 * c-common.c (vector_types_convertible_p): Check TYPE_PRECISION for
1202 real types.
759915ca 1203
578578a5
SE
12042005-10-04 Steve Ellcey <sje@cup.hp.com>
1205
1206 * tree-vect-transform.c (vect_create_epilog_for_reduction):
1207 Use BYTES_BIG_ENDIAN instead of BITS_BIG_ENDIAN.
1208
8006eaa6
AS
12092005-10-04 Adrian Straetling <straetling@de.ibm.com>
1210
1211 * config/s390/s390.md ("TDSI","DP"): New mode macros.
1212 ("TE","tg"): New mode attributes.
1213 ("sync_compare_and_swap<mode>"): Replace with a define_expand.
1214 ("sync_compare_and_swap<mode>_cc"): Replace GPR with TDSI.
1215 ("*sync_compare_and_swap<mode>_cc"): Replace with one pattern for
1216 dword_mode and one for GPRmode.
1217
cbc43ae0
ILT
12182005-10-04 Ian Lance Taylor <ian@airs.com>
1219
1220 PR preprocessor/13726
1221 * c-ppoutput.c (cb_include): Add comments parameter, and print out
1222 any comments passed in.
1223
44d25172
AP
12242005-10-04 Andrew Pinski <pinskia@physics.uc.edu>
1225
1226 * tree.c (annotate_with_file_line): Fix typo.
1227
baab454a
UW
12282005-10-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1229
1230 PR ada/19382
1231 * builtins.c (fold_builtin_memcmp): When constructing the pointer
1232 type used to access data in the inlined length == 1 case, use
1233 build_pointer_type_for_mode with CAN_ALIAS_ALL set to true.
1234 (fold_builtin_strcmp, fold_builtin_strncmp): Likewise.
1235
84c2b4da
UB
12362005-10-04 Uros Bizjak <uros@kss-loka.si>
1237
1238 * config/i386/i386.h (TARGET_FISTTP): Enable also for
1239 TARGET_SSE3 and only for TARGET_80387.
1240 * config/i386/i386.md (fix_trunc<mode>_fisttp_i387_1,
1241 (fix_trunc<mode>_i387_fisttp, fix_trunc<mode>_i387_fisttp_with_temp):
1242 Do not depend on TARGET_80387.
1243
b4ceda13
AP
12442005-10-04 Andrew Pinski <pinskia@physics.uc.edu>
1245
1246 * tree.c (last_annotated_node): Change type to location_t*.
1247 (annotate_with_file_line): Reflect the change of
1248 last_annotated_node type.
1249
9df594d7
RG
12502005-10-04 Richard Guenther <rguenther@suse.de>
1251
1252 PR c/23576
1253 * c-decl.c (grokdeclarator): Don't write to fields
1254 of error_mark_node.
1255
11e3f4b6
AP
12562005-10-04 Andrew Pinski <pinskia@physics.uc.edu>
1257
1258 PR middle-end/23125
1259 * c-decl.c (finish_decl): Use set_user_assembler_name even for
1260 register variables.
1261 * varasm.c (make_decl_rtl): If a register variable does not
1262 have a set user assmbler name, error out.
1263 Decode the asmspec is now name+1 bypassing '*'.
1264
12652005-10-04 Steven Bosscher <stevenb@suse.de>
46fbb29c
SB
1266
1267 PR tree-optimization/23049
1268 * tree-ssa-dom.c (thread_across_edge): Make sure that the condition
1269 of a COND_EXPR is folded before calling fold on the whole rhs of a
1270 conditional assignment.
1271 * doc/tree-ssa.texi: Update the GIMPLE grammar for a valid rhs to
1272 document that a COND_EXPR may appear there.
1273
012a7a78
DN
12742005-10-03 Diego Novillo <dnovillo@redhat.com>
1275
1276 PR 23445
1277 * tree-vrp.c (extract_range_from_assert): If the new numeric
1278 range created out of the assertion contradicts the existing
1279 numeric range of the ASSERT_EXPR variable, make the new range
1280 varying.
1281
9c24200c
KK
12822005-10-03 Kaz Kojima <kkojima@gcc.gnu.org>
1283
1284 * config/sh/sh.c (sh_register_move_cost): Add case for moving
1285 from T_REGS to FP register class.
1286
1718a2aa
RH
12872005-10-03 Richard Henderson <rth@redhat.com>
1288
1289 PR 24135
1290 * tree-nested.c (convert_nl_goto_reference): Lookup a translation
1291 before creating a new one.
1292
6d48847c
DE
12932005-10-03 David Edelsohn <edelsohn@gnu.org>
1294
1295 * config/rs6000/t-aix43 (LDFLAGS): New.
1296 * config/rs6000/t-aix52 (LDFLAGS): New.
1297
0b494699
ILT
12982005-10-03 Ian Lance Taylor <ian@airs.com>
1299
1300 * gimplify.c (find_single_pointer_decl_1): New static function.
1301 (find_single_pointer_decl): New static function.
1302 (internal_get_tmp_var): For a formal variable, set restrict base
1303 information if appropriate.
1304 * alias.c (find_base_decl): If a VAR_DECL has a restrict base,
1305 return it.
1306 * tree.h (DECL_BASED_ON_RESTRICT_P): Define.
1307 (DECL_GET_RESTRICT_BASE): Define.
1308 (SET_DECL_RESTRICT_BASE): Define.
1309 (decl_restrict_base_lookup): Declare.
1310 (decl_restrict_base_insert): Declare.
1311 (struct tree_decl_with_vis): Add based_on_restrict_p field.
1312 * tree.c (restrict_base_for_decl): New static variable.
1313 (init_ttree): Initialize restrict_base_for_decl.
1314 (copy_node_stat): Copy restrict base information.
1315 (decl_restrict_base_lookup): New function.
1316 (decl_restrict_base_insert): New function.
1317 (print_restrict_base_statistics): New static function.
1318 (dump_tree_statistics): Call print_restrict_base_statistics.
1319
b19bb8b0
DN
13202005-10-02 Diego Novillo <dnovillo@redhat.com>
1321
1322 PR 24142
1323 * tree-vrp.c (vrp_meet): Fix call to range_includes_zero_p in
1324 case of anti-ranges.
1325
f13c9b2c
AP
13262005-10-02 Andrew Pinski <pinskia@physics.uc.edu>
1327
1328 PR c/18851
1329 * c-typeck.c (tagged_tu_seen): Rename to ...
1330 (tagged_tu_seen_cache): this and add val field.
1331 (comptypes): Move functional to comptypes_internal
1332 and free tagged_tu_seen.
1333 (comptypes_internal): New function and call comptypes_internal
1334 instead of comptypes. Speed up by sibcalling
1335 tagged_types_tu_compatible_p.
1336 (alloc_tagged_tu_seen): New function
1337 (free_all_tagged_tu_seen_up_to): New function.
1338 (tagged_types_tu_compatible_p): Return the val of the seen two
1339 types.
1340 Add that the two types are the same to tagged_tu_seen_base
1341 if they are and call comptypes_internal instead of comptypes.
1342 <case UNION_TYPE>: Speed up common type where the fields are
1343 in the same order.
1344 (function_types_compatible_p): Call comptypes_internal instead of
1345 comptypes.
1346 (type_lists_compatible_p): Likewise.
1347 (all functions): s/tagged_tu_seen/tagged_tu_seen_cache/.
1348
aa58883c
MK
13492005-10-02 Matthias Klose <doko@debian.org>
1350
1351 * doc/invoke.texi: Fix typo and speling error.
1352
746077ff
RH
13532005-10-01 Richard Henderson <rth@redhat.com>
1354
1355 * tree-stdarg.c (execute_optimize_stdarg): Process PHI nodes too.
1356
e3fe057d
MM
13572005-10-01 Mark Mitchell <mark@codesourcery.com>
1358
1359 * config/arm/unknown-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define
1360 using --start-group and --end-group.
1361
c83033e7
DN
13622005-10-01 Diego Novillo <dnovillo@redhat.com>
1363
1364 * tree-vrp.c (value_inside_range, range_includes_zero_p): Add
1365 FIXME note regarding quirky semantics.
1366
e82d7e60
DN
13672005-10-01 Diego Novillo <dnovillo@redhat.com>
1368
1369 PR 24141
1370 * tree-vrp.c (vrp_meet): Clear VR0->EQUIV when building a
1371 non-null range as a last resort.
1372
fde5c44c
JM
13732005-10-01 James A. Morrison <phython@gcc.gnu.org>
1374 Diego Novillo <dnovillo@redhat.com>
1375
1376 PR 23604
1377 * tree-vrp.c (extract_range_from_assert): For !=
1378 assertions, only build an anti-range if LIMIT is a
1379 single-valued range.
1380
78a5d727
RE
13812005-09-30 Richard Earnshaw <richard.earnshaw@arm.com>
1382
759915ca 1383 * arm.md (movqi): On thumb when optimizing, handle loading from
78a5d727
RE
1384 memory by describing this as taking a subreg of a zero-extended load
1385 into an SImode register.
1386 (movhi): Likewise.
1387
3f27846b
DJ
13882005-09-30 Daniel Jacobowitz <dan@codesourcery.com>
1389
1390 * reload1.c (merge_assigned_reloads): Do not change any
1391 RELOAD_FOR_OUTPUT_ADDRESS reloads.
1392
dd7dc250
GK
13932005-09-30 Geoffrey Keating <geoffk@apple.com>
1394
ed0db39f
GK
1395 * Makefile.in (LIPO_FOR_TARGET): Define.
1396 (STRIP_FOR_TARGET): Define.
1397
f46876f9
GK
1398 * config/t-slibgcc-darwin (libgcc_s_%.dylib): Remove old symlinks
1399 before creating new ones. Do symlinks before creating the actual
1400 targets.
1401
dd7dc250
GK
1402 * config/t-slibgcc-darwin (libgcc_s_%.dylib): Use --print-multi-lib
1403 to work out which multilibs are actually being built.
1404
5116a5d2
KH
14052005-09-30 Kazu Hirata <kazu@codesourcery.com>
1406
1407 * tree-vect-transform.c, config/ms1/ms1.md,
1408 config/s390/s390.c, config/v850/v850.md: Fix comment typos.
1409 Follow spelling conventions.
1410 * doc/invoke.texi, doc/md.texi: Fix typos.
1411
5dc2e333
AM
14122005-09-30 Andrew Macleod <amacleod@redat.com>
1413
1414 PR tree-optimization/21430
1415 * tree-ssa-operands.c (set_virtual_use_link): New. Link new virtual
1416 use operands, and set stmt pointer if need be.
1417 (FINALIZE_CORRECT_USE: New. Macro to call appropriate use fixup routine.
1418 tree-ssa-opfinalize.h (FINALIZE_FUNC): Call FINALIZE_CORRECT_USE if
1419 present.
1420
4ecd8dc7
RK
14212005-09-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1422
1423 PR middle-end/24053
1424 * stor-layout.c (set_sizetype): Set TYPE_MAIN_VARIANT of bitsizetype.
1425
93b47b19
MM
14262005-09-29 Mark Mitchell <mark@codesourcery.com>
1427
1428 * optabs.c (expand_binop): Initialize first_pass_p.
1429
df4b9cfe
JJ
14302005-09-29 Jakub Jelinek <jakub@redhat.com>
1431
1432 PR middle-end/24109
1433 * c-decl.c (c_write_global_declarations_1): If any
1434 wrapup_global_declaration_2 call returned true, restart the loop.
1435
8d2c775f 14362005-09-29 Daniel Berlin <dberlin@dberlin.org>
759915ca 1437
8d2c775f
DB
1438 Fix PR tree-optimization/24117
1439 * tree-ssa-structalias.c (find_func_aliases): Strip nops
1440 before considering whether to use anyoffset.
1441
be1ea09b
PB
14422005-09-29 Paolo Bonzini <bonzini@gnu.org>
1443
1444 Revert this patch:
1445
1446 2005-09-15 Paolo Bonzini <bonzini@gnu.org>
1447
1448 * optabs.c (expand_binop): Use swap_commutative_operands_with_target
1449 to order operands.
1450 (swap_commutative_operands_with_target): New.
1451
02eb875f
PB
14522005-09-29 Paolo Bonzini <bonzini@gnu.org>
1453
1454 PR c/21419
1455 * gimplify.c (gimplify_asm_expr): Raise an error if an output is
1456 read-only.
1457
1ebd8d9a
SB
14582005-09-29 Steven Bosscher <stevenb@suse.de>
1459
1460 PR tree-optimization/23911
1461 * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle REALPART_EXPR
1462 and IMAGPART_EXPR too.
1463
0f8594ee
MM
14642005-09-28 Mark Mitchell <mark@codesourcery.com>
1465
1466 PR 17886
1467 * expmed.c (expand_shift): Move logic to reverse rotation
1468 direction when rotating by constants ...
1469 * optabs.c (expand_binop): ... here.
1470 * config/i386/i386.md (rotrdi3): Handle 32-bit mode.
1471 (ix86_rotrdi3): New pattern.
1472 (rotldi3): Handle 32-bit mode.
1473 (ix86_rotldi3): New pattern.
1474
c22e62a6
AM
14752005-09-29 Alan Modra <amodra@bigpond.net.au>
1476
1477 PR target/24102
1478 * config/rs6000/rs6000.md (floatdisf2_internal2): Correct range
1479 check for numbers that need no bit twiddle.
1480
040b1c5a
GK
14812005-09-28 Geoffrey Keating <geoffk@apple.com>
1482
23ed2384
GK
1483 * config/rs6000/t-darwin8: Uncomment contents, allow -m64
1484 multilib to be built.
1485
040b1c5a
GK
1486 * Makefile.in: Export LIPO_FOR_TARGET, STRIP_FOR_TARGET.
1487 (stage1-start): Delete old libgcc and libunwind before moving
1488 anything into the stage directory.
1489 (stage2-start): Likewise.
1490 (stage3-start): Likewise.
1491 (stage4-start): Likewise.
1492 (stageprofile-start): Likewise.
1493 (stagefeedback-start): Likewise.
1494 * config.gcc (*-*-darwin*): Automatically use CPU-specific darwin.h
1495 header in tm_file and CPU-specific t-darwin in tmake_file.
1496 (i[34567]86-*-darwin*): Don't change tm_file.
1497 (powerpc-*-darwin*): Don't change tm_file or tmake_file.
1498 * config/darwin.h (REAL_LIBGCC_SPEC): Rewrite to use proper libgcc
1499 shared library stub for target OS version.
1500 * config/t-slibgcc-darwin (SHLIB_SOLINK): Delete.
1501 (SHLIB_LINK): Don't make SHLIB_SOLINK.
1502 (SHLIB_INSTALL): Don't install SHLIB_SOLINK.
1503 (libgcc_s.%.dylib): New.
1504 (LIBGCC): Define.
1505 (install-darwin-libgcc-stubs): New.
1506 (INSTALL_LIBGCC): New append.
1507 * config/i386/darwin-libgcc.10.4.ver: New.
1508 * config/i386/darwin-libgcc.10.5.ver: New.
1509 * config/i386/t-darwin: New.
1510 * config/rs6000/darwin-libgcc.10.4.ver: New.
1511 * config/rs6000/darwin-libgcc.10.5.ver: New.
1512 * config/rs6000/darwin.h (REAL_LIBGCC_SPEC): Delete.
1513 * config/rs6000/t-darwin (SHLIB_VERPFX): Define.
1514
107bcc11
PB
15152005-09-28 Paul Brook <paul@codesourcery.com>
1516
1517 * config/m68k/fpgnulib.c (__extendsfdf2, __truncdfsf2): Handle
1518 denormals.
1519
9b14a362
RG
15202005-09-28 Richard Guenther <rguenther@suse.de>
1521
1522 PR tree-optimization/23853
1523 * tree-vect-analyze.c (vect_compute_data_ref_alignment): Use
1524 host_integerp to verify misalignment value.
1525
02ee605c
RH
15262005-09-28 Richard Henderson <rth@redhat.com>
1527
1528 * builtins.c (get_builtin_sync_mode): New.
1529 (expand_builtin_sync_operation): Pass in mode argument.
1530 (expand_builtin_compare_and_swap): Likewise.
1531 (expand_builtin_lock_test_and_set): Likewise.
1532 (expand_builtin_lock_release): Likewise.
1533 (expand_builtin): Update to match.
1534
1b0792dd
NC
15352005-09-28 Nick Clifton <nickc@redhat.com>
1536
7d866c52
NC
1537 * config/v850/v850.h (GO_IF_LEGITIMATE_ADDRESS): Tidy up
1538 formatting. Add check to PLUS case to ensure that the offset is
1539 within an acceptable range.
1540
1541 * config/v850/v850.md (casesi): Disable the generation of the
1542 switch pattern as it is not being handled properly at the moment.
1543
1b0792dd
NC
1544 * config/v850/lib1funcs.asm (___ucmpdi2): Correct jump instruction
1545 for when the high words are identical.
1546
241de8a0
RH
15472005-09-27 Richard Henderson <rth@redhat.com>
1548
1549 * pretty-print.c (pp_base_format): Fix typo for %>.
1550
93954fcc
DP
15512005-09-27 Daniel Berlin <dberlin@dberlin.org>
1552 Devang Patel <dpatel@apple.com>
1553
1554 PR tree-optimization/23625
1555 * tree-flow-inline.h (bsi_after_labels): Remove, first statement is
1556 LABEL_EXPR, assertion check.
759915ca 1557
ca7a5aec
R
15582005-09-27 J"orn Rennecke <joern.rennecke@st.com>
1559
1560 * optabs.c (no_conflict_move_test): Check if a result of a
1561 to-be-moved insn would be clobbered by an originally
1562 preceding insn.
1563
f20731b7
JL
15642005-09-27 Jeff Law <law@redhat.com>
1565
1566 * passes.c (init_optimization_passes): Replace copy propagation
1567 passes immediately after DOM with phi-only copy propagation
1568 pases. Add phi-only copy propagation pass after first DOM pass.
1569 * tree-pass.h (pass_phi_only_copy_prop): Declare.
1570 * tree-ssa-copy.c (init_copy_prop): Accept new PHI_ONLY argument.
1571 If true, then mark all non-control statements with DONT_SIMULATE_AGAIN.
1572 (execute_copy_prop): Accept new PHI_ONLY argument. Pass it along
1573 to init_copy_prop. Callers updated.
1574 (do_phi_only_copy_prop): New function.
1575 (pass_phi_only_copy_prop): New pass descriptor.
1576
3542b7cc
NC
15772005-09-27 Nick Clifton <nickc@redhat.com>
1578
1579 * libgcc2.c (__popcount_tab): Remove redundant prototype.
1580
4381020e
JM
15812005-09-26 Jason Merrill <jason@redhat.com>
1582
86ad3aa9
JM
1583 PR c++/13764
1584 * c-common.c (finish_fname_decls): Use append_to_statement_list_force.
1585
4381020e
JM
1586 * doc/invoke.texi: Clarify documentation of -fno-enforce-eh-specs.
1587
92b4f0af
JW
15882005-09-26 James E Wilson <wilson@specifix.com>
1589
1590 * config/ia64/crtbegin.asm, config/ia64/crtend.asm: Remove glibc
1591 copyright. Add gcc copyright plus libgcc exception.
1592 * config/ia64/crtfastmath.asm: Remove glibc copyright. Add gcc
1593 copyright.
1594 * config/ia64/lib1funcs.asm: Add gcc copyright plus libgcc exception.
1595
608af77d
JL
15962005-09-26 Jeff Law <law@redhat.com>
1597
1598 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Be more selective
1599 about when to iterate.
1600
0f086e42
FJ
16012005-09-23 Fariborz Jahanian <fjahanian@apple.com>
1602
1603 PR target/23847
a9f7c570
RH
1604 * config/rs6000/rs6000.c (rs6000_function_value): Parallel pattern
1605 for __complex__ double in -mcpu=G5 mode.
0f086e42 1606
c59dabbe
SP
16072005-09-26 Sebastian Pop <pop@cri.ensmp.fr>
1608
1609 PR tree-optimization/23942
1610 * Makefile.in (SCEV_H): Depends on PARAMS_H.
1611 * tree-scalar-evolution.c: Include params.h.
1612 (t_bool): New enum.
1613 (follow_ssa_edge, follow_ssa_edge_in_rhs,
1614 follow_ssa_edge_in_condition_phi_branch,
759915ca 1615 follow_ssa_edge_in_condition_phi, follow_ssa_edge_inner_loop_phi):
c59dabbe 1616 Change return type to t_bool. Use a parameter to limit the size of
759915ca 1617 trees that are walked before stopping
c59dabbe 1618 (analyze_evolution_in_loop): Initialize the limit to 0.
759915ca 1619 (follow_ssa_edge): Give up by returning t_dont_know if the limit
c59dabbe
SP
1620 exceeds PARAM_SCEV_MAX_EXPR_SIZE.
1621
3242fbd8
UB
16222005-09-26 Uros Bizjak <uros@kss-loka.si>
1623
1624 PR middle-end/23831
1625 * simplify-rtx.c (simplify_immed_subreg) [MODE_INT]: Skip
1626 simplification if elem_bitsize > 2 * HOST_BITS_PER_WIDE_INT.
1627
b166bfd2
FJ
16282005-09-26 Fariborz Jahanian <fjahanian@apple.com>
1629
a9f7c570 1630 * combine.c (make_extraction): Check for valid use of subreg.
b166bfd2 1631
4d06b0a2
UB
16322005-09-26 Uros Bizjak <uros@kss-loka.si>
1633
1634 PR target/24055
1635 * config/i386/i386.md ("*fistdi2_1"): New pattern.
1636 ("*fist<mode>2_1"): Use only HImode and SImode register operands.
1637 ("fist<mode>2_with_temp"): Use only register operands.
1638
76dd5923
R
16392005-09-26 J"orn Rennecke <joern.rennecke@st.com>
1640
1641 * rtlanal.c (reg_used_between_p): Don't check for CLOBBERs in
1642 CALL_INSN_FUNCTION_USAGE.
1643
9727e468
RG
16442005-09-26 Richard Guenther <rguenther@suse.de>
1645
1646 PR middle-end/15855
1647 * gcse.c: Include hashtab.h, define ldst entry hashtable.
1648 (pre_ldst_expr_hash, pre_ldst_expr_eq): New functions.
1649 (ldst_entry): Use the hashtable instead of list-walking.
1650 (find_rtx_in_ldst): Likewise.
1651 (free_ldst_entry): Free the hashtable.
1652 (compute_ld_motion_mems): Create the hashtable.
1653 (trim_ld_motion_mems): Remove entry from hashtable if
1654 removing it from list.
1655 (compute_store_table): Likewise^2.
1656 (store_motion): Free hashtable in case we did not see
1657 any stores.
1658
3f1dfb41
KH
16592005-09-25 Kazu Hirata <kazu@codesourcery.com>
1660
1661 * fold-const.c (fold_binary): Use op0 and op1 instead of arg0
1662 and arg1 if we are passing them to fold_build2.
1663
ad90e28f
DN
16642005-09-25 Dan Nicolaescu <dann@ics.uci.edu>
1665
1666 PR 23828
1667 * config/i386/i386.c (ix86_function_regparm): Fix the test for
1668 a nested function.
1669
f6326c19
RH
16702005-09-25 Richard Henderson <rth@redhat.com>
1671
1672 * config/alpha/alpha.c (tls_symbolic_operand_1): Trust
1673 SYMBOL_REF_TLS_MODEL to be correct.
1674
2eca7d15
RH
16752005-09-24 Richard Henderson <rth@redhat.com>
1676
1677 * ipa-type-escape.c (discover_unique_type): Remove dead code at
1678 end of function. Reindent.
1679
1f6f3d15
ILT
16802005-09-24 Ian Lance Taylor <ian@airs.com>
1681
1682 * convert.c (convert_to_integer): Don't test for ENUMERAL_TYPE in
1683 NEGATE_EXPR/BIT_NOT_EXPR case.
1684
99db1ef0
RH
16852005-09-24 Richard Henderson <rth@redhat.com>
1686
1687 * c-common.c (handle_mode_attribute): When not modifying in place,
1688 create subtypes for enumerations.
1689 (sync_resolve_return): Use TYPE_MAIN_VARIANT.
1690 * gimplify.c (create_tmp_from_val): Likewise.
1691
e347ff9e
AO
16922005-09-24 Alexandre Oliva <aoliva@redhat.com>
1693
1694 * config/i386/i386.md (*tls_global_dynamic_64,
1695 *tls_local_dynamic_base_64): Add missing mode to call.
1696 (tls_global_dynamic_64, tls_local_dynamic_base_64): Likewise.
1697
06191a23
JH
16982005-09-24 Jan Hubicka <jh@suse.cz>
1699
1700 * cgraph.c (cgraph_clone_edge): Make the scale gcov_type.
1701 (cgraph_clone_node): Likewise.
1702 * cgraph.h (cgraph_clone_edge): Update prototype.
1703 (cgraph_mark_inline_edge, cgraph_clone_inlined_nodes): Remove
1704 duplicated prototypes; add updating argument.
1705 * cgraphunit.c (verify_cgraph_node): Verify that counts are non-negative.
1706 * ipa-inline.c (cgraph_clone_inlined_nodes): Allow clonning without
1707 updating profile.
1708 (cgraph_mark_inline_edge): Likewise.
1709 (cgraph_mark_inline): Update use of cgraph_mark_inline_edge.
1710 (cgraph_flatten_node): Likewise.
1711 (cgraph_decide_recursive_inlining): Likewise.
1712 (cgraph_decide_inlining_of_small_function): Likewise.
1713 * tree-optimize.c (tree_rest_of_compilation): Likewise.
1714
9c6fdb46
DE
17152005-09-23 David Edelsohn <edelsohn@gnu.org>
1716 Pete Steinmetz <steinmtz@us.ibm.com>
1717
1718 * config/rs6000/rs6000.md (neg-minus-mult): Set type to dmul.
1719 (rldic.): Set type to "compare".
1720 (rldicr.): Same.
1721 (movsf_hardfloat): Set type to mtjmpr for MTCTR/MTLR. Set type to
1722 mfjmpr for MFCTR/MFLR.
1723 (movdf_hardfloat64): Same.
1724 (movdf_softfloat64): Same. Correct order of store and move types.
1725 (movti_string): Set type to store_ux/load_ux.
1726 (load_multiple): Set type to load_ux.
1727 (store_multiple): Set type to store_ux.
1728 (movmemsi): Set type to store_ux.
1729 (output_cbranch direct_return): Set type to jmpreg.
1730 (stmw): Set type to store_ux.
1731 (lmw): Set type to load_ux.
1732 * config/rs6000/40x.md (ppc403-store): Increase latency to 2.
1733 * config/rs6000/440.md (ppc440-store): Increase latency to 6.
1734 * config/rs6000/603.md (ppc603-store): Occupy LSU for 2 cycles.
1735 * config/rs6000/6xx.md (ppc604-store): Increase latency to 3.
1736 * config/rs6000/mpc.md (mpccore-store): Increase latency to 2.
1737 * config/rs6000/rios1.md (rios1-store): Increase latency to 2.
1738 (rios1-fpstore): Increase latency to 3.
1739 * config/rs6000/rios2.md (rios2-store): Increase latency to 2.
1740 * config/rs6000/rs64.md (rs64a-store): Increase latency to 2.
1741
66684b7e
DE
17422005-09-23 David Edelsohn <edelsohn@gnu.org>
1743 Andrew Pinski <pinskia@physics.uc.edu>
1744
1745 * config/rs6000/sync.md (sync_<fetchop_name>si_internal): Change
1746 operand2 constraint to "b".
1747 (sync_<fetchop_name>di_internal): Same.
1748 (sync_old_<fetchop_name>si_internal): Change operand3 constraint
1749 to "b".
1750 (sync_old_<fetchop_name>di_internal): Same.
1751 (sync_new_<fetchop_name>si_internal): Same.
1752 (sync_new_<fetchop_name>di_internal): Same.
1753
a9305dcb
R
17542005-09-23 J"orn Rennecke <joern.rennecke@st.com>
1755
3a1680a5 1756 PR middle-end/23991
a9305dcb
R
1757 * final.c (insn_default_length, insn_min_length): In !HAVE_ATTR_length
1758 case, define as macros.
1759
9617ccfd
R
1760 PR rtl-optimization/23837
1761 * optabs.c (no_conflict_move_test): Don't set must_stay for a
1762 clobber / clobber match between dest and p->first.
1763
748ebfc7
R
1764 * optabs.c (emit_libcall_block): Use no_conflict_move_test.
1765 (no_conflict_move_test): Update comments.
1766
07a647a3
RM
17672005-09-22 Ranjit Mathew <rmathew@gcc.gnu.org>
1768
1769 * doc/install.texi: Update URL for Jacks.
1770 * doc/sourcebuild.texi: Likewise.
1771
fb3249ef
DE
17722005-09-22 David Edelsohn <edelsohn@gnu.org>
1773
a9f7c570
RH
1774 PR target/24007
1775 * config/rs6000/rs6000.md (movsf_hardfloat): Ignore special
1776 registers when choosing register preferences.
1777 (movdf_hardfloat64): Same.
fb3249ef 1778
6231646a
AK
17792005-09-22 Andreas Krebbel <krebbel1@de.ibm.com>
1780
1781 * expmed.c (expand_shift): Don't use the target of the rotate as
1782 target for the first expanded shift insn.
1783 * testsuite/gcc.dg/20050922-1.c: Testcase added.
1784
7b9d4f70
ZD
17852005-09-21 Zdenek Dvorak <dvorakz@suse.cz>
1786
1787 PR tree-optimization/22438
1788 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Handle all
1789 preserved iv rhs rewriting specially.
1790
b1347638
DB
17912005-09-21 Daniel Berlin <dberlin@dberlin.org>
1792
1793 * tree-data-ref.c (analyze_array_indexes): Only estimate when
1794 estimate_only is true.
1795 * tree-flow.h (ref_contains_indirect_ref): New prototype.
1796 * tree-flow-inline.h (ref_contains_indirect_ref): Moved from
759915ca 1797 tree-ssa-structalias.c
b1347638
DB
1798 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Use
1799 ref_contains_indirect_ref.
1800 * tree-ssa-structalias.c (ref_contains_indirect_ref): Moved.
1801
b1eb8119
DD
18022005-09-21 DJ Delorie <dj@redhat.com>
1803
1804 * config/mn10300/mn10300.c (TARGET_DEFAULT_TARGET_FLAGS): Add
1805 MASK_PTR_A0D0.
1806 (mn10300_return_in_memory): Support variable size types also.
1807 (mn10300_pass_by_reference): Likewise.
1808 (mn10300_function_value): New.
1809 * config/mn10300/mn10300.h (FUNCTION_VALUE): Call the above.
1810 (FUNCTION_OUTGOING_VALUE): Likewise.
1811 * config/mn10300/mn10300.opt: Add -mreturn-pointer-on-d0.
1812 * doc/invoke.texi: Document it.
1813
d06e6434
UB
18142005-09-21 Uros Bizjak <uros@kss-loka.si>
1815
1816 PR target/22585
1817 * config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
1818 force integer op1 into register for XFmode compares.
1819
0178027c
KH
18202005-09-21 Kazu Hirata <kazu@codesourcery.com>
1821
647c66cd 1822 PR middle-end/23971
0178027c
KH
1823 * expmed.c (alg_code): Add alg_impossible.
1824 (alg_hash_entry): Add cost.
1825 (synth_mult): Record alg_impossible in the hash table if
1826 multiplication by a given integer is impossble within the
1827 limit. Speed up using alg_impossible.
1828
d52225be
DB
18292005-09-20 Daniel Berlin <dberlin@dberlin.org>
1830
1831 * tree-ssa-structalias.c (get_constraint_for_component_ref): Add
1832 argument. Allow and set any offset if needs_anyoffset is passed
1833 in.
1834 (get_constraint_for): Add argument here too.
1835 Pass it down.
1836 (do_structure_copy): Pass NULL to get_constraint_for.
1837 (handle_ptr_arith): Ditto.
1838 (find_func_aliases): Ditto.
1839
070a7956
R
18402005-09-20 J"orn Rennecke <joern.rennecke@st.com>
1841
1842 PR rtl-optimization/23898
1843 * output.h (get_attr_min_length): Declare.
1844 * final.c (get_attr_length_1): New function, broken out of:
1845 (get_attr_length).
1846 (get_attr_min_length): New function.
1847 * bb-reorder.c (copy_bb_p, get_uncond_jump_length): Use it.
1848 (duplicate_computed_gotos): Likewise.
1849 * genattr.c (insn_min_length): Generate declaration.
1850 * genattrtab.c (min_fn, min_attr_value): New functions.
1851 (make_length_attrs): Generate insn_min_length.
1852
9972f30d
SE
18532005-09-20 Steve Ellcey <sje@cup.hp.com>
1854
1855 * config/pa/pa.c (output_cbranch): Check for zero in operands[2].
1856
29b2d867
RH
18572005-09-20 Richard Henderson <rth@redhat.com>
1858
577b2a06 1859 PR tree-optimization/24059
29b2d867
RH
1860 * expr.c (expand_expr_real_1) <INDIRECT_REF>: Allow modifier
1861 EXPAND_STACK_PARM.
1862
af15a2fe
JM
18632005-09-20 Joseph S. Myers <joseph@codesourcery.com>
1864
1865 * c.opt (fextended-identifiers): New.
1866 * c-opts.c (c_common_handle_option): Handle
1867 -fextended-identifiers.
1868 * doc/cpp.texi: Update documentation of extended identifiers.
1869 * doc/cppopts.texi (-fextended-identifiers): Document.
1870
18c57f2c
JJ
18712005-09-20 Jakub Jelinek <jakub@redhat.com>
1872
6fff2603
JJ
1873 PR tree-optimization/23929
1874 * tree-ssa-loop-niter.c (expand_simple_operations): Return immediately
1875 if expr is NULL.
1876
18c57f2c
JJ
1877 PR tree-optimization/23818
1878 * tree-stdarg.c (execute_optimize_stdarg): Call
1879 calculate_dominance_info.
1880
1c8cd54d 18812005-09-20 Daniel Berlin <dberlin@dberlin.org>
416f403e
DB
1882
1883 * tree-data-ref.c (get_number_of_iters_for_loop): New function.
1884 (analyze_siv_subscript_cst_affine): Add weak SIV test.
1885 (compute_overlap_steps_for_affine_1_2): Use
1886 get_number_of_iters_for_loop.
1887 (analyze_subscript_affine_affine): Check whether difference is
1888 zero first.
1889 Use get_number_of_iters_for_loop.
1890 Check whether overlap occurs outside of bounds.
1891 (analyze_miv_subscript): Use get_number_of_iters_for_loop.
1892
39278c14
AK
18932005-09-20 Andreas Krebbel <krebbel1@de.ibm.com>
1894
1895 * tree-ssa-address.c (create_mem_ref): Put the symbol reference into the
1896 base register if possible.
1897
2282a0e6
ZD
18982005-09-20 Zdenek Dvorak <dvorakz@suse.cz>
1899
1900 PR tree-optimization/18463
1901 * tree-chrec.c (chrec_convert): Return fold_converted chrec if
1902 converting it directly is not possible.
1903 (chrec_convert_aggressive): New function.
1904 * tree-chrec.h (chrec_convert_aggressive): Declare.
1905 * tree-scalar-evolution.c (instantiate_parameters_1, resolve_mixers):
1906 Fold chrec conversions aggressively if asked to.
1907 (instantiate_parameters): Modified because of changes in
1908 instantiate_parameters_1.
1909
e20524fa
RH
19102005-09-19 Richard Henderson <rth@redhat.com>
1911
1912 * config/i386/sse.md (reduc_splus_v4sf): Rename from reduc_plus_v4sf.
1913 (reduc_splus_v2df): New.
1914
20de58d9
RS
19152005-09-19 Richard Sandiford <richard@codesourcery.com>
1916
1917 * config/arm/aof.h (REGISTER_NAMES): Add missing backslash.
1918 (ADDITIONAL_REGISTER_NAMES): Add missing comma. Remove final comma.
1919
2a23f9a7
RH
19202005-09-19 Richard Henderson <rth@redhat.com>
1921
1922 * config/i386/sse.md (vcondu<SSEMODE124>): Rename from
1923 vcondu<SSEMODE12>.
1924
e898620c
RH
19252005-09-19 Richard Henderson <rth@redhat.com>
1926
1927 * config/ia64/ia64.c (ia64_expand_widen_sum): New.
1928 (ia64_expand_dot_prod_v8qi): New.
1929 * config/ia64/ia64-protos.h: Update.
1930 * config/ia64/vect.md (pmpy2_r, pmpy2_l, widen_usumv8qi3,
1931 widen_usumv4hi3, widen_ssumv8qi3, widen_ssumv4hi3, udot_prodv8qi,
1932 sdot_prodv8qi, sdot_prodv4hi): New.
1933 (reduc_splus_v2sf): Rename from reduc_plus_v2sf.
1934
d289e37a
RH
19352005-09-19 Richard Henderson <rth@redhat.com>
1936
1937 PR 23941
1938 * real.c (exact_real_truncate): Return false if the format cannot
1939 represent the number as a normal.
1940
a220ee34
RH
1941 * config/alpha/alpha.c (alpha_rtx_costs) <FLOAT_EXTEND>: Cost 0
1942 for a memory source.
1943
3c7d0735
DN
19442005-09-19 Dorit Nuzman <dorit@il.ibm.com>
1945
1946 * tree-ssa-operands.c (swap_tree_operands): Export.
1947 * tree.h (swap_tree_operands): Declare.
1948 * tree-vectorizer.c (vect_is_simple_reduction): Remove ATTRIBUTE_UNUSED.
1949 Call swap_tree_operands.
759915ca 1950
99c09897
RH
19512005-09-19 Richard Henderson <rth@redhat.com>
1952
1953 * tree-flow.h (merge_alias_info): Declare.
1954 * tree-ssa-copy.c (merge_alias_info): Export.
1955 * tree-vect-transform.c (vect_create_index_for_vector_ref): Remove.
1956 (vect_create_data_ref_ptr): Use create_iv directly.
1957 (vectorizable_load): Use correct types for integer constants.
1958 (vect_generate_tmps_on_preheader): Likewise.
1959 (vect_gen_niters_for_prolog_loop): Likewise.
1960
31c304ba
SB
19612005-09-19 Steven Bosscher <stevenb@suse.de>
1962
1963 PR rtl-optimization/23943
1964 * cse.c (find_best_addr): Never propagate an EXPR_LIST rtx.
1965
e238ccac
JH
19662005-09-18 Jan Hubicka <jh@suse.cz>
1967
1968 * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK.
1969
f7952e0a
EB
19702005-09-18 Eric Botcazou <ebotcazou@adacore.com>
1971
1972 * varasm.c (output_constant): Do not abort on conversions to union
1973 types between different sizes.
1974
c2953725
RG
19752005-09-18 Richard Guenther <rguenther@suse.de>
1976
1977 PR middle-end/23944
1978 * gimplify.c (fold_indirect_ref_rhs): Fix thinko in
1979 fallback.
1980
798d7d9d
PB
19812005-09-18 Paul Brook <paul@codesourcery.com>
1982
1983 * config/m68k/fpgnuib.c (__floatsidf): Don't rely on signed overflow.
1984
b1e8be10
RH
19852005-09-17 Richard Henderson <rth@redhat.com>
1986
1987 * tree-pass.h, tree-flow.h, tree-ssa-dce.c: Revert last change.
1988 * tree-ssa-loop.c (pass_vect_dce): Remove.
1989 * passes.c (init_optimization_passes): Add pass_dce as a sub-pass
1990 of pass_vectorize.
1991
8fe07c42
RH
19922005-09-17 Richard Henderson <rth@redhat.com>
1993
1994 * tree-pass.h (pass_vect_dce): Declare.
1995 * passes.c (init_optimization_passes): Add it.
1996 * tree-flow.h (tree_ssa_dce): Declare.
1997 * tree-ssa-dce.c (tree_ssa_dce): Export.
1998 * tree-ssa-loop.c (tree_vectorize): Move current_loops check ...
1999 (gate_tree_vectorize): ... here.
2000 (pass_vect_dce): New.
2001
0856ee98
JH
20022005-09-17 Jan Hubicka <jh@suse.cz>
2003
2004 * except.c (struct eh_status): Turn region_array into vec.
2005 (expand_resx_expr, collect_eh_region_array, remove_unreachable_regions,
759915ca
EC
2006 convert_from_eh_region_ranges, find_exception_handler_labels,
2007 current_function_has_exception_handlers, assign_filter_values,
0856ee98
JH
2008 build_post_landing_pads, dw2_build_landing_pads,
2009 sjlj_find_directly_reachable_regions, sjlj_mark_call_sites,
2010 sjlj_emit_dispatch_table, remove_eh_handler, for_each_eh_region,
2011 foreach_reachable_handler, can_throw_internal_1,
2012 convert_to_eh_region_ranges, verify_eh_tree): Update uses of
2013 region_array.
2014 (duplicate_eh_region_1): Update region_array.
2015 (duplicate_eh_regions): Resize region_array and avoid recomputing.
2016
53c4ca47
DE
20172005-09-17 David Edelsohn <edelsohn@gnu.org>
2018
2019 PR middle-end/22067
2020 * expmed.c (expand_mult): Substitute simple register for op0 when
2021 computing max_cost.
2022
652b0932
RH
20232005-09-17 Richard Henderson <rth@redhat.com>
2024
2025 * expr.c (emit_move_via_integer): Add force argument, pass it on
2026 to emit_move_change_mode. Update callers.
2027 (emit_move_complex): Pass true to new force argument.
2028 * function.c (expand_function_end): Move expand_eh_return call
2029 earlier. Merge sub-word complex values into a pseudo before
2030 copying to the return hard register.
2031
69fcfd68
EB
20322005-09-17 Eric Botcazou <ebotcazou@adacore.com>
2033
2034 * varasm.c (output_constant): Do not abort on VIEW_CONVERT_EXPRs
2035 between different sizes.
2036
6a4e4778
PB
20372005-09-16 Paolo Bonzini <bonzini@gnu.org>
2038
2039 PR 23903
2040
2041 * passes.c (init_optimization_passes): Register dump files for
2042 IPA passes first.
2043
bcf8c1cc
AK
20442005-09-16 Andreas Krebbel <krebbel1@de.ibm.com>
2045
2046 * config/s390/s390-protos.h (s390_overlap_p): Prototype added.
2047 * config/s390/s390.c (s390_overlap_p): New function.
2048 * config/s390/s390.md ("*mvc" peephole2, "*nc" peephole2, "*oc"
2049 peephole2, "*xc" peephole2): Added overlap check to the peephole2
2050 condition.
2051
f7acf1c2
RG
20522005-09-16 Richard Guenther <rguenther@suse.de>
2053
2054 * ipa-pure-const.c (static_execute): Free auxiliar information.
2055 * ipa-type-escape.c (discover_unique_type): Free temporary key.
2056 * tree-vrp.c (remove_range_assertions): Free blocks_visited sbitmap.
2057
f5ea2dca
DD
20582005-09-15 DJ Delorie <dj@redhat.com>
2059
2060 * config/m32c/m32c-lib1.S (__m32c_eh_return): Fix typo.
2061
9026e8d4
PB
20622005-09-15 Paolo Bonzini <bonzini@gnu.org>
2063
2064 * optabs.c (expand_binop): Use swap_commutative_operands_with_target
2065 to order operands.
2066 (swap_commutative_operands_with_target): New.
2067
14b33c04
DB
20682005-09-15 Daniel Berlin <dberlin@dberlin.org>
2069
2070 * tree-data-ref.c (analyze_array_indexes): Add estimate_only
2071 parameter.
2072 Update callers.
2073 (estimate_iters_using_array): New function.
2074 * tree-data-ref.h (estimate_iters_using_array): Prototype
2075 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
2076 Use estimate_iters_using_array instead of analyze_array.
759915ca 2077
d430cbe7
EB
20782005-09-15 Eric Botcazou <ebotcazou@adacore.com>
2079
2080 * tree-nested.c (get_frame_type): Mark the "non-local frame structure"
2081 as addressable.
2082
fca59ed2
MM
20832005-09-15 Michael Matz <matz@suse.de>
2084
2085 * tree-vrp.c (vrp_int_const_binop <MINUS_EXPR>): Handle 0 - -INF.
2086
fd312e90
DB
20872005-09-14 Daniel Berlin <dberlin@dberlin.org>
2088
2089 PR tree-optimization/23835
2090 * tree-ssa-alias.c (sort_pointers_by_pt_vars): New function.
2091 (create_name_tags): Rewrite to be not O(num_ssa_names^2).
2092
47b71abb
RH
20932005-09-14 Richard Henderson <rth@redhat.com>
2094
2095 * config/ia64/vect.md (addv2sf3, subv2sf3): Rewrite as expand.
2096 (addv2sf3_1, addv2sf3_2, subv2sf3_1, subv2sf3_2): New.
2097
5139c66b
AP
20982005-09-14 Andrew Pinski <pinskia@physics.uc.edu>
2099
2100 * config/i386/i386.c (contains_128bit_aligned_vector_p): Add break
2101 in the ARRAY_TYPE case.
2102
7ad00e13
EB
21032005-09-14 Eric Botcazou <ebotcazou@adacore.com>
2104
2105 * tree.c (substitute_in_expr, case 4): New case, for ARRAY_REF.
2106
b2d16a23
UB
21072005-09-14 Uros Bizjak <uros@kss-loka.si>
2108
2109 PR middle-end/22480
2110 * tree-vect-transform.c (vectorizable_operation): Return false for
2111 scalar shift operations and for vector shift operations with
2112 non-invariant shift arguments. Use scalar tree operand op1 as
2113 a shift operand when vector shift insn pattern uses scalar shift
2114 operand.
2115 * Makefile.in (tree-vect-transform.o): Depend on recog.h.
2116
816fa80a
OH
21172005-09-14 Olivier Hainque <hainque@adacore.com>
2118
2119 * gimplify.c (gimplify_init_ctor_eval): Don't discard a zero-sized
2120 value if it has side-effects.
2121
c9692532
DE
21222005-09-14 David Edelsohn <edelsohn@gnu.org>
2123
2124 PR target/22068
2125 * config/rs6000/rs6000.md (muldi3): Add mulli alternative.
2126
00754468
AM
21272005-09-14 Alan Modra <amodra@bigpond.net.au>
2128
2129 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Treat function name
2130 passed as NAME as if it were label at start of function code.
2131
18943792
KK
21322005-09-13 Kaz Kojima <kkojima@gcc.gnu.org>
2133
2134 * config/sh/sh.md (*movv4sf_i): Add general register cases to
2135 the constraints.
2136
af8e8908
AP
21372005-09-13 Andrew Pinski <pinskia@physics.uc.edu>
2138
2139 * config/rs6000/darwin.md (movdf_low_si): Mark the outgoing r constraint
2140 as early clobber. Rewrite so the PIC register is not implicitly used.
2141
282c3fdc
VR
21422005-09-13 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2143
2144 * tree.c (annotate_with_file_line): Compare line numbers before
2145 file names.
2146
79e72538
UB
21472005-09-13 Uros Bizjak <uros@kss-loka.si>
2148
2149 PR target/23816
2150 * config/i386/sse.md (*ieee_sminv4sf3, *ieee_smaxv4sf3)
2151 (*ieee_sminv2df3, *ieee_smaxv2df3): New insn patterns.
2152
1984d2e8
ILT
21532005-09-13 Ian Lance Taylor <ian@airs.com>
2154
2155 * loop-doloop.c (doloop_modify): Use GEN_INT to pass an rtx rather
2156 than a HOST_WIDEST_INT to gen_doloop_begin.
2157
5681f1ab
DN
21582005-09-13 Diego Novillo <dnovillo@redhat.com>
2159
2160 * tree-dfa.c (dump_variable): Guard against NULL annotations.
2161
d7f0e25c
ZD
21622005-09-13 Zdenek Dvorak <dvorakz@suse.cz>
2163
2164 PR tree-optimize/23817
2165 * tree-cfg.c (tree_merge_blocks): Preserve loop closed ssa.
2166
2eef28ec
AM
21672005-09-13 Alan Modra <amodra@bigpond.net.au>
2168
2169 PR target/23774
2170 * config/rs6000/rs6000.md (restore_stack_block): Write the backchain
2171 word before changing the stack pointer. Use gen_frame_mem for MEMs.
2172 Use UNSPEC_TIE to prevent insn scheduling reordering the insns.
2173 (restore_stack_nonlocal): Likewise.
2174 (save_stack_nonlocal): Use template to emit insns, and gen_frame_mem.
2175
d63d5d0c
ILT
21762005-09-12 Ian Lance Taylor <ian@airs.com>
2177
2178 PR g++/7874
2179 * c.opt (ffriend-injection): New C++ option.
2180 * doc/invoke.texi (Option Summary): Mention -ffriend-injection.
2181 (C++ Dialect Options): Document -ffriend-injection.
2182
d840283a
JC
21832005-09-12 Josh Conner <jconner@apple.com>
2184
2185 PR middle-end/23237
2186 * ipa-reference.c (static_execute): Don't mark variables in
2187 named sections TREE_READONLY.
2188
309ebcd0
AM
21892005-09-12 Alan Modra <amodra@bigpond.net.au>
2190
2191 * config/rs6000/rs6000.c (get_next_active_insn): Simplify test for
2192 stack_tie.
2193
8d099498
AP
21942005-09-12 Andrew Pinski <pinskia@physics.uc.edu>
2195
759915ca 2196 * tree-ssa-dse.c (dse_optimize_stmt): Fix up all of V_MAY_DEF and
8d099498 2197 V_MUST_DEF instead of just the first_use_p.
759915ca 2198 Don't mark the virtual variables for renaming on the statement which
8d099498
AP
2199 is being removed.
2200 (pass_dse): Remove TODO_update_ssa.
2201
cd41bae5
R
22022005-09-12 J"orn Rennecke <joern.rennecke@st.com>
2203
f439f9a5
R
2204 PR middle-end/23290
2205 * stor-layout.c (compute_record_mode): For records with a single
2206 field, actually check the field's mode size against the type size.
2207
cd41bae5
R
2208 * sh.h (HARD_REGNO_MODE_OK): Allow V4SFmode in general purpose
2209 registers for TARGET_SHMEDIA.
2210 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Rename
2211 GENERAL_FP_REGS to GENERAL_DF_REGS. Add GENERAL_FP_REGS as union
2212 of GENERAL_REGS and FP_REGS.
2213
b99791d1
BS
22142005-09-12 Bernd Schmidt <bernd.schmidt@analog.com>
2215
309ebcd0 2216 * config/bfin/bfin.c (legimitize_pic_address): Use gen_const_mem.
b99791d1 2217
f489aff8
AM
22182005-09-12 Alan Modra <amodra@bigpond.net.au>
2219
2220 * config/rs6000/rs6000.c (get_next_active_insn): Rewrite using
2221 CALL_P, JUMP_P and NONJUMP_INSN_P, so that barriers and labels
2222 are omitted. Exclude stack_tie insn too.
2223
8308679f
DE
22242005-09-11 David Edelsohn <edelsohn@gnu.org>
2225
2226 PR rtl-optimization/23098
2227 * config/rs6000/predicates.md (easy_fp_constant): SFmode constant
2228 0.0f is easy.
2229 * config/rs6000/rs6000.md (movdf splitter): Use
2230 const_double_operand predicate for TARGET_POWERPC64.
2231 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Expand
2232 SYMBOL_REF method to ABI_V4.
2233
2234 * config/rs6000/altivec.md (build_vector_mask_for_load): Use
2235 replace_equiv_address.
2236 * config/rs6000/rs6000.c (rs6000_emit_eh_reg_restore): Mark MEM as
2237 rs6000_sr_alias_set and MEM_NOTRAP.
2238 (rs6000_aix_emit_builtin_unwind_init): Use gen_frame_mem().
2239
4c223d6a
EB
22402005-09-11 Eric Botcazou <ebotcazou@adacore.com>
2241
2242 * tree.c (contains_placeholder_p) <tcc_expression>: Properly
2243 handle CALL_EXPR again.
2244
2347f5c9
RE
22452005-09-11 Richard Earnshaw <richard.earnshaw@arm.com>
2246
2247 * arm/predicates.md (alignable_memory_operand): Delete.
2248
4e0e2698
RH
22492005-09-10 Richard Henderson <rth@redhat.com>
2250
2251 PR debug/23806
2252 * dbxout.c (dbxout_expand_expr): New.
2253 (dbxout_symbol): Use it.
2254
31fa16b6
RE
22552005-09-10 Richard Earnshaw <richard.earnshaw@arm.com>
2256
2257 * arm.c (arm_gen_rotated_half_load): Delete.
2258 (vfp_emit_fstmx, arm_set_return_address): Use gen_frame_mem.
2259 (emit_multi_reg_push, emit_sfm, arm_expand_prologue)
2260 (thumb_set_return_address): Likewise.
2261 (thumb_load_double_from_address): Use adjust_address.
2262 * arm.md (splits calling arm_gen_rotated_half_load): Delete.
2263 (extendhsisi2_mem, movhi_bytes): Use change_address.
2264 (movhi): Use widen_memory_access.
2265 (reload_out_df): Use replace_equiv_address.
2266 * arm-protos.h (arm_gen_rotated_half_load): Delete prototype.
2267
9bfa80fb
RH
22682005-09-09 Richard Henderson <rth@redhat.com>
2269
2270 PR debug/20998
2271 * dbxout.c: Include expr.h.
2272 (dbxout_global_decl): Don't suppress for DECL_RTL unset.
2273 (dbxout_symbol): Handle DECL_VALUE_EXPR.
2274 * Makefile.in (dbxout.o): Add EXPR_H.
2275
2360a4c1
ZD
22762005-09-09 Zdenek Dvorak <dvorakz@suse.cz>
2277
2278 PR tree-optimization/23509
2279 * tree-cfg.c (replace_uses_by): Use replace_exp.
2280 * tree-ssa-loop-ivopts.c (get_ref_tag): Assert that dereferenced
2281 pointers have name_mem_tag or type_mem_tag set.
2282
7ce7896c
SP
22832005-09-09 Sebastian Pop <pop@cri.ensmp.fr>
2284
759915ca 2285 * tree-chrec.c (evolution_function_is_invariant_rec_p): Use
7ce7896c
SP
2286 CHREC_LEFT and CHREC_RIGHT for accessing chrec components instead
2287 of wrongly accessing operands.
2288
18aed06a
SP
22892005-09-09 Sebastian Pop <pop@cri.ensmp.fr>
2290
2291 * Makefile.in (tree-chrec.o): Depends on SCEV_H.
2292 * tree-chrec.c: Include tree-scalar-evolution.h.
2293 (chrec_convert): Instantiate the base and step before calling
2294 scev_probably_wraps_p that would fail on parametric evolutions.
2295 Collect all the fails into a single section failed_to_convert,
2296 print a diagnostic, and return chrec_dont_know instead of calling
2297 fold_convert.
2298 * tree-scalar-evolution.c (loop_closed_phi_def): New.
2299 (instantiate_parameters_1): Avoid instantiation of loop closed ssa
2300 phi nodes.
2301 (scev_const_prop): Don't replace the definition of a loop closed ssa
2302 phi node by itself, or by another loop closed ssa phi node.
2303 * tree-ssa-loop-niter.c (scev_probably_wraps_p, convert_step): Check
2304 that base and step are defined.
2305
3dac16bd
RG
23062005-09-09 Richard Guenther <rguenther@suse.de>
2307
2308 PR c++/23624
2309 * fold-const.c (fold_ternary): Check truth_value_p before
2310 calling invert_truthvalue.
2311
dcfae47c
NC
23122005-09-09 Nick Clifton <nickc@redhat.com>
2313
2314 * Makefile.in (LIBGCC_DEPS): Add libgcc2.h.
2315 * libgcc2.c (__clz_tab[], __popcount_tab[]): Set the fixed
2316 dimension of these arrays.
2317 * libgcc2.h (__clz_tab[], __popcount_tab[]): Add exports of
2318 these arrays.
2319 * longlong.h: Only provide a prototype for the __clz_tab[] array
2320 if this header has not been included from libgcc2.h.
2321 * config/stormy16/stormy16-lib2.c: Include libgcc2.h rather than
2322 defining own types.
2323 Provide prototypes for exported functions.
2324 Use the __clz_tab[] and __popcount_tab[] arrays provided by
2325 libgcc2.c.
2326
d047a201
JC
23272005-09-08 Josh Conner <jconner@apple.com>
2328
70e9e3d6 2329 PR c++/21135
d047a201
JC
2330 PR c++/23180
2331 * expr.c (expand_expr_addr_expr_1): Don't invoke
2332 expand_simple_binop for EXPAND_INITIALIZER.
2333
db5f8b93
RH
23342005-09-08 Richard Henderson <rth@redhat.com>
2335
2336 PR debug/23190
2337 * toplev.c (wrapup_global_declaration_1): Split out ...
2338 (wrapup_global_declaration_2): ... from ...
2339 (wrapup_global_declarations): ... here. Return bool.
2340 (check_global_declaration_1): Split out ...
2341 (check_global_declarations): from here.
2342 (emit_debug_global_declarations): New.
2343 * toplev.h (wrapup_global_declaration_1, wrapup_global_declaration_2,
2344 check_global_declaration_1, emit_debug_global_declarations): Declare.
2345 * c-decl.c (c_write_global_declarations_1): Don't create a vector
2346 of decls. Call wrapup_global_declaration_1,
2347 wrapup_global_declaration_2, check_global_declaration_1 directly.
2348 (c_write_global_declarations_2): New.
2349 (ext_block): New.
2350 (c_write_global_declarations): Call c_write_global_declarations_2.
2351 * langhooks.c (write_global_declarations): Call
2352 emit_debug_global_declarations.
2353
2354 * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Don't
2355 remove decls that have DECL_RTL_SET_P.
2356 * passes.c (rest_of_decl_compilation): Invoke
2357 cgraph_varpool_finalize_decl for all but functions.
2358
5c9186ce
EB
23592005-09-08 Eric Botcazou <ebotcazou@libertysurf.fr>
2360
2361 * tree-vrp.c (extract_range_from_unary_expr): Do not set the range for
2362 the result of a conversion if the new min and max cannot be compared.
2363
dcc9eb26
AK
23642005-09-08 Andreas Krebbel <krebbel1@de.ibm.com>
2365
2366 * config/s390/s390.c (s390_sr_alias_set): Variable removed.
2367 (override_options): Setting s390_sr_alias_set removed.
2368 (save_fpr, save_gprs): Set alias set to vararg or frame.
759915ca 2369 (restore_fpr, restore_gprs, s390_emit_prologue): Replace
dcc9eb26
AK
2370 s390_sr_alias_set with get_frame_alias_set ().
2371 (s390_gimplify_va_arg): Replace s390_sr_alias_set with
2372 get_varargs_alias_set ().
2373
8f078c08
AP
23742005-09-08 Andrew Pinski <pinskia@physics.uc.edu>
2375
2376 PR objc/20574
2377 PR objc/19324
2378 * c-parser.c (c_parser_objc_method_definition): If the next
2379 token is not "{", error out and don't start the function.
2380
0c924d5c
AP
23812005-09-08 Andrew Pinski <pinskia@physics.uc.edu>
2382
2383 * tree-vrp.c (extract_range_from_expr): Move the check for non
2384 nullness after the check for gimple invariant.
2385
9f36bc49
RK
23862005-09-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2387
2388 * tree.c (host_integerp, tree_low_cst): Correct function comment.
2389
085fd657
KI
23902005-09-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2391
2392 PR target/23747
2393 * config/m32r.md (movmemsi_internal): Canonicalize order of
2394 operands in PLUS component of template.
2395
b735f45d
AK
23962005-09-07 Andreas Krebbel <krebbel1@de.ibm.com>
2397
2398 * reload1.c (fixup_eh_region_note): Remove assertion.
759915ca 2399 (fixup_abnormal_edges): Reverted removal of call to
b735f45d
AK
2400 find_many_sub_basic_blocks made on 2005-08-31.
2401
30e6f306
RH
24022005-09-07 Richard Henderson <rth@redhat.com>
2403
8fe07c42
RH
2404 * function.c (ARG_POINTER_CFA_OFFSET): Move ...
2405 * defaults.h (ARG_POINTER_CFA_OFFSET): ... here.
30e6f306 2406 (INCOMING_FRAME_SP_OFFSET): Move from dwarf2out.c.
8fe07c42
RH
2407 * dwarf2out.c (struct cfa_loc): Change reg to unsigned int,
2408 rearrange for better packing.
30e6f306 2409 (INCOMING_FRAME_SP_OFFSET): Move to defaults.h.
8fe07c42
RH
2410 (lookup_cfa_1): Remove inline marker.
2411 (cfa_equal_p): Split out of ...
2412 (def_cfa_1): ... here. Use INVALID_REGNUM.
2413 (build_cfa_loc): Handle !cfa->indirect.
2414 (frame_pointer_cfa_offset): New.
2415 (dbx_reg_number): Assert register elimination performed; do
2416 leaf register remapping.
2417 (reg_loc_descriptor): Avoid calling dbx_reg_number when unused.
2418 (eliminate_reg_to_offset): New.
2419 (based_loc_descr): Remove can_use_fbreg argument. Use fbreg only
2420 for verifiably local stack frame addresses; re-base to CFA.
2421 (mem_loc_descriptor): Remove can_use_fbreg argument.
2422 (concat_loc_descriptor, loc_descriptor): Likewise.
2423 (containing_function_has_frame_base): Remove.
2424 (rtl_for_decl_location): Don't do register elimination or
2425 leaf register remapping here.
2426 (secname_for_decl): Split out from ..
2427 (add_location_or_const_value_attribute): ... here.
2428 (convert_cfa_to_loc_list): New.
2429 (compute_frame_pointer_to_cfa_displacement): New.
2430 (gen_subprogram_die): Use them.
2431 * tree.h (frame_base_decl): Remove.
2432 * var-tracking.c (frame_base_decl, frame_stack_adjust): Remove.
2433 (prologue_stack_adjust): Remove.
2434 (vt_stack_adjustments): Use INCOMING_FRAME_SP_OFFSET.
2435 (adjust_stack_reference): Re-base memories to arg_pointer_rtx.
2436 (set_frame_base_location): Remove.
2437 (compute_bb_dataflow, emit_notes_in_bb): Don't call it.
2438 (dump_attrs_list, dump_dataflow_set): Use string concatenation.
2439 (vt_add_function_parameters): Don't eliminate_regs.
2440 (vt_initialize): Don't create frame_base_decl.
30e6f306 2441
ff8f80f2
EB
24422005-09-07 Eric Botcazou <ebotcazou@libertysurf.fr>
2443
2444 * doc/install.texi (*-*-solaris2*): Clarify wording on the recommended
2445 version of GNU binutils for 4.x and later.
2446
6f02b1db
MM
24472005-09-06 Mark Mitchell <mark@codesourcery.com>
2448
2449 * ggc-page.c (ggc_push_context): Remove.
2450 (ggc_pop_context): Likewise.
2451 * ggc.h (ggc_push_context): Remove.
2452 (ggc_pop_context): Likewise.
2453
3273516f
SV
24542005-09-06 Saurabh Verma <saurabh.verma@codito.com>
2455
2456 PR target/8973
2457 * config/arc/arc.c (arc_output_function_epilogue): Update flags while
2458 returning from an interrupt handler.
2459
006fa7d4
SV
24602005-09-06 Saurabh Verma <saurabh.verma@codito.com>
2461
2462 PR target/8972
2463 * config/arc/arc.c (output_shift): Add check for loop count when
2464 optimizing.
2465
800dd123
SB
24662005-09-06 Steven Bosscher <stevenb@suse.de>
2467
2468 * tree-ssa-phiopt.c (conditional_replacement): Construct proper SSA
2469 form manually.
2470 (abs_replacement): Likewise.
2471 (pass_phiopt): Remove TODO_update_ssa.
2472
73109af7
JJ
24732005-09-06 Jakub Jelinek <jakub@redhat.com>
2474
0c9b182b
JJ
2475 PR c/23075
2476 * c-typeck.c (c_finish_return): Set TREE_NO_WARNING on RETURN_EXPR
2477 if "return with no value, in function returning non-void" warning
2478 has been issued.
800dd123 2479 * tree-cfg.c (execute_warn_function_return): Don't look at
0c9b182b
JJ
2480 RETURN_EXPRs with TREE_NO_WARNING set.
2481
73109af7
JJ
2482 PR target/22362
2483 * config/i386/i386.c (ix86_function_regparm): Make sure automatic regparm
2484 for internal functions doesn't use registers used by global registers
2485 variables. Use fewer register parameters if there are global register
2486 variables.
2487
60a23e2e 24882005-09-06 Olivier Hainque <hainque@adacore.com>
800dd123 2489 Eric Botcazou <ebotcazou@adacore.com>
60a23e2e
OH
2490
2491 PR middle-end/14997
2492 * expr.c (expand_expr_real) <normal_inner_ref>: Force op0 to mem
2493 when we would be extracting outside its bit span (bitpos+bitsize
2494 larger than its mode), possible with some VIEW_CONVERT_EXPRs from
2495 Ada unchecked conversions.
2496
dda243de
SB
24972005-09-06 Steven Bosscher <stevenb@suse.de>
2498
2499 * tree-ssa-pre.c (try_look_through_load): New function.
2500 (compute_avail): Use it to try to look through loads for some
2501 more useful expressions.
2502
f5d1572a
SV
25032005-09-06 Saurabh Verma <saurabh.verma@codito.com>
2504
759915ca 2505 * simplify-rtx.c (simplify_binary_operation_1): Correct the
f5d1572a
SV
2506 condition for detecting cases like (a&a) and (a^a).
2507
c12cc930
KB
25082005-09-06 Keith Besaw <kbesaw@us.ibm.com>
2509
2510 * common.opt: Add option ftree-vect-loop-version.
2511 * params.def: Add --param vect-max-version-checks.
2512 * doc/invoke.texi: Document ftree-vect-loop-version and
2513 --param vect-max-version-checks.
2514 * tree-vectorizer.h (_loop_vec_info): Add ptr_mask and
2515 may_misalign_stmts and defines for accessors.
2516 * tree-vectorizer.c : (new_loop_vec_info): VEC_alloc for
2517 LOOP_VINFO_MAY_MISALIGN_STMTS.
2518 (destroy_loop_vec_info): VEC_free for
2519 LOOP_VINFO_MAY_MISALIGN_STMTS.
2520 * tree-vect-analyze.c (vect_compute_data_ref_alignment):
2521 Update documentation.
2522 (vect_update_misalignment_for_peel): New.
2523 (vect_enhance_data_refs_alignment): Update to choose loop
2524 peeling or loop versioning if appropriate for the (potentially)
2525 unaligned data references in the loop.
2526 (vect_analyze_data_refs_alignment): Remove call to
2527 vect_enhance_data_refs_alignment so the checks can be done
2528 earlier.
2529 (vect_analyze_loop): Add call to vect_enhance_data_refs_alignment
2530 and move up call to vect_analyze_data_refs_alignment.
2531 * tree-vect-transform.c (vect_create_cond_for_align_checks): New.
2532 (vect_transform_loop): Add call to loop_version.
2533
1c653a41
JJ
25342005-09-06 Jakub Jelinek <jakub@redhat.com>
2535
2536 PR rtl-optimization/23098
2537 * cse.c (fold_rtx_mem): Call delegitimize_address target hook.
2538 * simplify-rtx.c (constant_pool_reference_p): New function.
2539 * rtl.h (constant_pool_reference_p): New prototype.
2540 * config/i386/i386.md (pushf split, mov[sdx]f split): Use
2541 constant_pool_reference_p in condition and
2542 avoid_constant_pool_reference in preparation statements.
2543
70a640af
AK
25442005-09-06 Andreas Krebbel <krebbel1@de.ibm.com>
2545
759915ca 2546 * gcse.c (try_replace_reg): Disallow REG_EQUAL notes for
70a640af
AK
2547 STRICT_LOW_PART SETs.
2548
fc781ee0
AM
25492005-09-06 Alan Modra <amodra@bigpond.net.au>
2550
2551 PR middle-end/21460
2552 * except.c (sjlj_emit_function_enter): Find the function begin
2553 note even when it's not in first basic block.
2554
67da1534
KC
25552005-09-06 Kelley Cook <kcook@gcc.gnu.org>
2556
2557 * acinclude.m4: Renamed from aclocal.m4. Delete AM_LANGINFO_CODESET,
2558 AM_PROG_CC_C_O, and AM_AUX_DIR_EXPAND.
2559 * aclocal.m4: Regenerate.
2560
dc019eb8
DD
25612005-09-05 DJ Delorie <dj@redhat.com>
2562
2563 * config/m32c/m32c.h (TRAMPOLINE_ALIGNMENT): Correct misspelling
2564 of macro.
2565
57b51d4d
KH
25662005-09-06 Kazu Hirata <kazu@codesourcery.com>
2567
2568 * gimplify.c, ipa-prop.h, varasm.c, config/vxlib.c,
2569 config/vxworks.h, config/crx/crx.c, config/ms1/ms1.c,
2570 config/ms1/ms1.md, config/rs6000/rs6000.c: Fix comment typos.
2571 Follow spelling conventions.
2572 * doc/invoke.texi: Follow spelling conventions.
2573
bf877a76
R
25742005-09-05 J"orn Rennecke <joern.rennecke@st.com>
2575
2576 * rtl.h (gen_frame_mem, gen_tmp_stack_mem): Declare.
2577 * emit-rtl.c (gen_frame_mem, gen_tmp_stack_mem): New functions.
2578 * builtins.c (expand_builtin_return_addr): Use gen_frame_mem.
2579
57d38024
R
25802005-09-05 J"orn Rennecke <joern.rennecke@st.com>
2581
2582 PR target/23683
2583 * sh.c (sh_reorg, emit_load_ptr): Use gen_const_mem.
2584 (output_stack_adjust): Use gen_tmp_stack_mem.
2585 (sh_expand_prologue, sh_expand_epilogue): Use gen_frame_mem.
2586 (sh_set_return_address, sh_allocate_initial_value): Likewise.
2587 (sh_get_pr_initial_val): Likewise.
2588 (sh_builtin_saveregs): Use gen_frame_mem and change_address.
2589 (sh_initialize_trampoline): Likewise. Also use adjust_address.
2590 * sh.md (divsi_inv_m0): Use gen_const_mem.
2591 (push_fpscr, pop_fpscr, load_ra): Use gen_frame_mem.
2592 (movdf_i4+1): Use gen_tmp_stack_mem.
2593 (reload_outdf+3, reload_outdf+4, fpu_switch+1): Use change_address.
2594 (fpu_switch+2): Likewise.
2595 (movv4sf_i, movv16sf_i): Use adjust_address.
2596 (symGOT_load): Set MEM_NOTRAP_P bit.
2597
1c9ef36d
JDA
25982005-09-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2599
2600 PR target/23721
2601 * pa.c (emit_move_sequence): Fix typo in last change.
2602
7a6b7528
JJ
26032005-09-03 Jakub Jelinek <jakub@redhat.com>
2604
2605 PR rtl-optimization/23454
2606 * reorg.c (relax_delay_slots): Only call invert_jump if any_condjump_p
2607 is true.
2608
7c95bbfb
RH
26092005-09-03 Richard Henderson <rth@redhat.com>
2610 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2611
2612 PR middle-end/23671
800dd123 2613 * pa.c (emit_move_sequence): Use replace_equiv_address instead of
7c95bbfb
RH
2614 gen_rtx_MEM.
2615
b107d743
NP
26162005-09-02 Nicolas Pitre <nico@cam.org>
2617
2618 * config/arm/arm.c (arm_legitimize_address): Limit the value passed
2619 to bit_count to 32 bits.
2620
a38578e1
MM
26212005-08-31 Mark Mitchell <mark@codesourcery.com>
2622
2623 PR c++/23167
2624 * gimplify.c (gimplify_expr): Handle TREE_ADDRESSABLE types when
2625 generating synthetic loads from volatile lvalues.
2626
ebf178cd
NC
2627005-09-02 Nick Clifton <nickc@redhat.com>
2628
2629 * config/stormy16/stormy16-lib2.c (__popcounthi2, __parityhi2,
2630 __ctzhi2, __clzhi2): New functions.
2631
9bf777ee
AP
26322005-09-02 Andrew Pinski <pinskia@physics.uc.edu>
2633
2634 PR middle-end/23547
2635 * tree-nested.c (struct var_map_elt): Mark with GTY.
2636 (struct nesting_info): Mark with GTY. Mark var_map's param is struct
2637 var_map_elt.
2638 (lookup_field_for_decl): Allocate new element in GC memory.
2639 (lookup_tramp_for_decl): Likewise.
2640 (convert_nl_goto_reference): Likewise
2641 (create_nesting_tree): Allocate info in GC memory. Likewise for
2642 info->var_map.
2643 (free_nesting_tree): Free with ggc_free instead of free.
2644 (root): New static variable.
2645 (lower_nested_functions): Remove root as local variable. And zero out
2646 root at the end of the function.
2647
f805670f
R
26482005-09-02 J"orn Rennecke <joern.rennecke@st.com>
2649
2650 PR rtl-optimization/20365
2651 * simplify-rtx.c (simplify_plus_minus_op_data): Change type of neg
2652 to short. New member ix.
2653 (simplify_plus_minus_op_data_cmp): Break ties using ix member.
2654 (simplify_plus_minus): Initialize ix members before calling qsort.
2655
b8c4f9a4
ZD
26562005-09-02 Zdenek Dvorak <dvorakz@suse.cz>
2657
2658 PR tree-optimization/23626
2659 * tree-cfg.c (replace_uses_by): Clean up eh info.
2660
73eb8cb6
DD
26612005-09-01 DJ Delorie <dj@redhat.com>
2662
2663 * config/m32c/m32c.c (m32c_valid_pointer_mode): Remove stray debug
2664 fprintf.
2665
13e2e16e
DE
26662005-09-01 David Edelsohn <edelsohn@gnu.org>
2667
2668 * config/rs6000/rs6000.c (setup_incoming_varargs): Set MEM_NOTRAP_P.
2669 (rs6000_split_multireg_move): Use replace_equiv_address instead of
2670 gen_rtx_MEM.
2671
52d09157
CR
26722005-09-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
2673
2674 * c-decl.c (diagnose_mismatched_decls): With -Wredundant-decls,
2675 do not issue warning for a variable definition following
2676 a declaration.
2677
277fc67e
RH
26782005-09-01 Richard Henderson <rth@redhat.com>
2679
2680 PR 23668
2681 * config/i386/i386.c (ix86_expand_vector_init_one_var): Restore
2682 conversion to CONST_VECTOR.
2683
e3947b34
RH
26842005-09-01 Richard Henderson <rth@redhat.com>
2685
2686 PR 23676
2687 * reload1.c (reload_as_needed): Check !CALL_P before calling
2688 fixup_eh_region_note.
2689 * rtlanal.c (may_trap_p): SUBREG by itself cannot trap.
2690
056061d8
DD
26912005-09-01 DJ Delorie <dj@redhat.com>
2692
2693 * varasm.c (output_constant): Let the target resolve
2694 conversions of addresses to non-default pointer sizes.
2695
86805759
NP
26962005-09-01 Nicolas Pitre <nico@cam.org>
2697
2698 * config/arm/arm.c (arm_legitimize_address): Split absolute addresses
2699 to alow matching ARM pre-indexed addressing mode.
2700 (arm_override_options): Remove now irrelevant comment.
2701
d442d7d9
PE
27022005-09-01 Phil Edwards <phil@codesourcery.com>
2703
2704 * config.gcc (i*86-wrs-vxworks): Update. Split out vxworksae target.
2705 * config/i386/t-vxworks: Update multilibs for VxWorks 6 and RTP mode.
2706 * config/i386/vxworks.h: Likewise.
2707 * config/i386/t-vxworksae: New file, for VxWorks AE.
2708 * config/i386/vxworksae.h: Likewise.
2709
ab02cc4e
SP
27102005-09-01 Sebastian Pop <pop@cri.ensmp.fr>
2711
2712 PR tree-optimization/23410
2713 * tree-ssa-loop-niter.c (scev_probably_wraps_p): Check that the
2714 sequence is not wrapping during the first step.
2715
ac156e91
JJ
27162005-09-01 Jakub Jelinek <jakub@redhat.com>
2717
2718 PR debug/7241
2719 * dwarf2out.c (base_type_die): Compare char_type_node with
2720 TYPE_MAIN_VARIANT (type), not type.
2721
355866de
RG
27222005-09-01 Richard Guenther <rguenther@suse.de>
2723
2724 PR tree-optimization/15366
2725 * common.opt: Add -finline-functions-called-once.
2726 Put -fearly-inlining in alphabetically ordered place.
2727 * doc/invoke.texi: Document new option.
2728 * ipa-inline.c (cgraph_decide_inlining): Honour
2729 flag_inline_functions_called_once.
2730
95c37cdb
JJ
27312005-09-01 Jakub Jelinek <jakub@redhat.com>
2732
2733 PR rtl-optimization/23478
2734 * local-alloc.c (struct qty): Add n_throwing_calls_crossed field.
2735 (alloc_qty): Initialize it.
2736 (update_equiv_regs): Clear REG_N_THROWING_CALLS_CROSSED.
2737 (combine_regs): Combine also n_throwing_calls_crossed fields.
2738 (find_free_reg): Don't attempt to caller-save pseudos crossing
2739 calls that might throw.
2740 * global.c (struct allocno): Add throwing_calls_crossed field.
2741 (global_alloc): Revert 2005-08-22 change. Initialize
2742 throwing_calls_crossed.
2743 (find_reg): Don't attempt to caller-save pseudos crossing calls that
2744 might throw.
2745
1990cd79
AM
27462005-09-01 Alan Modra <amodra@bigpond.net.au>
2747
2748 PR target/23649
2749 * config/rs6000/predicates.md (mask_operand): Only handle rlwinm masks.
2750 (mask64_operand): Reinstate code prior to 2005-06-11 change.
2751 (mask64_2_operand): Reinstate code prior to 2004-11-11 change.
2752 (and64_2_operand): Tweak to use predicate.
2753 (and_operand): Adjust for mask_operand changes.
2754 * config/rs6000/rs6000.c (num_insns_constant): Revert 2005-06-11.
2755 (print_operand): Likewise.
2756 (rs6000_rtx_costs): Pass mode to mask_operand and use mask64_operand.
2757 (mask64_1or2_operand): Delete.
2758 * rs6000/rs6000-protos.h (mask64_1or2_operand): Delete.
2759 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT <S>): Revert 2005-06-11.
2760 (EXTRA_CONSTRAINT <T>): Pass operand mode to predicate.
2761 (EXTRA_CONSTRAINT <t>): Disallow mask64_operand matches.
2762 * config/rs6000/rs6000.md (andsi3_internal3 split): Revert 2005-06-11.
2763 (rotldi3_internal4): Likewise.
2764 (rotldi3_internal5, rotldi3_internal5 split): Likewise.
2765 (rotldi3_internal6, rotldi3_internal6 split): Likewise.
2766 (ashldi3_internal7): Likewise.
2767 (ashldi3_internal8, ashldi3_internal8 split): Likewise.
2768 (ashldi3_internal, ashldi3_internal9 split): Likewise.
2769 (anddi3 split): Don't match mask64_operand.
2770 (anddi3_internal2): Add rlwinm. Modify 't' splitter predicate.
2771 (anddi3_internal3): Add rlwinm. Use and64_2_operand in non-cr0
2772 splitter and match TARGET_64BIT not TARGET_POWERPC64. Modify
2773 't' splitter predicate.
2774 (movdi_internal64 + 2): Revert 2005-06-11 change.
2775
e9555b13
DD
27762005-08-31 DJ Delorie <dj@redhat.com>
2777
2778 * config/m32c/m32c.c (m32c_valid_pointer_mode): New.
2779 (m32c_asm_integer): Add support for 32 bit pointers.
2780
8476af98
RH
27812005-08-31 Richard Henderson <rth@redhat.com>
2782
2783 * emit-rtl.c (set_mem_attributes_minus_bitpos): Look through
2784 component-like references for setting MEM_NOTRAP_P.
2785
2786 * config/i386/i386.c (ix86_setup_incoming_varargs): Set MEM_NOTRAP_P.
2787 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Likewise.
2788
0fd662ee
RH
27892005-08-31 Richard Henderson <rth@redhat.com>
2790
2791 * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Force subregs
2792 into a pseudo before applying gen_lowpart.
2793
960ac6e1
GK
27942005-08-31 Geoffrey Keating <geoffk@apple.com>
2795
2796 * doc/install.texi (Specific): Update cctools version required
2797 for full functionality.
2798 * config/darwin.h (LINK_SPEC): Pass -mmacosx-version-min to the
2799 linkers as -macosx_version_min.
2800
4802062c
R
28012005-08-31 J"orn Rennecke <joern.rennecke@st.com>
2802
2803 PR target/21255
2804 * sh.c (print_operand, %R and %S): Add handling of floating point
2805 registers, memory, constants and invalid operands.
2806
d4feded7
DB
28072005-08-31 Daniel Berlin <dberlin@dberlin.org>
2808
2809 * ipa-pure-const.c: Change dump name.
2810
d16093fd
UB
28112005-08-31 Uros Bizjak <uros@kss-loka.si>
2812
2813 PR target/23570
2814 * config/i386/sse.md (*sse_concatv2sf): Change operand 2 constraint
2815 to "reg_or_0_operand".
2816 (sse2_loadld): Change operand 1 constraint to "reg_or_0_operand".
2817
c9eb8097
DJ
28182005-08-31 Dale Johannesen <dalej@apple.com>
2819
2820 * loop-iv.c (iv_number_of_iterations): Fix overflow check for
2821 loops that count down.
2822
be0c514c
RH
28232005-08-31 Richard Henderson <rth@redhat.com>
2824
35210087 2825 PR rtl-opt/23601
be0c514c
RH
2826 * reload1.c (reload): Set MEM_NOTRAP_P in spill slots.
2827 (fixup_eh_region_note): New.
2828 (reload_as_needed): Call it.
2829 (fixup_abnormal_edges): Allow all throwing insns to be deleted;
2830 don't call find_many_sub_basic_blocks; call verify_flow_info.
2831 * function.c (assign_stack_local_1): Set MEM_NOTRAP_P.
2832 (keep_stack_depressed): Likewise.
2833 (assign_stack_temp_for_type): Likewise; use adjust_address_nv.
2834
5d3018ce
RH
28352005-08-31 Richard Henderson <rth@redhat.com>
2836
2837 * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix test for
2838 fp return matching.
2839
dc38a610
FJ
28402005-08-31 Fariborz Jahanian <fjahanian@apple.com>
2841
759915ca
EC
2842 * expr.c (expand_expr_real_1): Compare size of address
2843 mode to target's address mode size in deciding expansion of
dc38a610
FJ
2844 the constant address.
2845
c5250139
RG
28462005-08-31 Richard Guenther <rguenther@suse.de>
2847
2848 PR middle-end/23477
2849 * expr.c (all_zeros_p): New function.
2850 (expand_expr_real_1): Handle the case of an all-zero
2851 non-addressable constructor separately.
2852
ab173928
AS
28532005-08-31 Adrian Straetling <straetling@de.ibm.com>
2854
2855 * builtins.c: (expand_builtin_strcpy, expand_builtin_strcat): Change
2856 arguments, adjust all callers.
2857 (expand_builtin_strcat): Rewrite to call strcpy instead of mempcpy.
2858
fabaaf36
RH
28592005-08-30 Richard Henderson <rth@redhat.com>
2860
2861 PR target/23630
2862 * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Use gen_lowpart
2863 whenever the mode sizes match.
2864
40b0345d
AM
28652005-08-31 Alan Modra <amodra@bigpond.net.au>
2866
2867 * calls.c (load_register_parameters): Fix comment typo.
2868 * expr.c (emit_push_insn): Comment formatting.
2869
c2e493dc
ILT
28702005-08-30 Ian Lance Taylor <ian@airs.com>
2871
2872 * config/i386/x-cygwin (host-cygwin): Change dependency from
2873 hosthooks-def.h to $(HOSTHOOKS_DEF_H).
2874
9fc5fa7b
GK
28752005-08-29 Geoffrey Keating <geoffk@apple.com>
2876
2877 * config/i386/i386.c (ix86_expand_vector_init_one_var): Don't modify
2878 parts of 'vals'.
2879
f471f0fc 28802005-08-29 Andrew Pinski <pinskia@physics.uc.edu>
57247f4b
AP
2881
2882 PR middle-end/23408
2883 * ipa-inline.c (cgraph_decide_inlining_incrementally): Remove the
2884 call to ggc_collect.
2885
f471f0fc 28862005-08-29 Paolo Bonzini <bonzini@gnu.org>
3a6ebcdc
PB
2887
2888 PR bootstrap/21268
2889 * Makefile.in (ALL_CPPFLAGS): Include $(INCLUDES) at the
2890 beginning. Remove $(INCLUDES) from all the rules, if following
2891 $(ALL_CPPFLAGS) or $(BUILD_CPPFLAGS).
2892
f28d3046
JJ
28932005-08-29 Jakub Jelinek <jakub@redhat.com>
2894
2895 PR middle-end/23484
2896 * builtins.c (fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
2897 fold_builtin_strncpy_chk, fold_builtin_snprintf_chk): If len is
2898 not constant, but maxlen is, don't set len to maxlen, rather
2899 set maxlen to len if len is a constant.
2900
37261a5c
ZD
29012005-08-29 Zdenek Dvorak <dvorakz@suse.cz>
2902
2903 PR tree-optimization/23475
2904 * tree-ssa-loop-ivcanon.c (remove_empty_loop): Update frequencies
2905 and counts.
2906
46c5394b
DB
29072005-08-28 Daniel Berlin <dberlin@dberlin.org>
2908
2909 Fix PR middle-end/22455
2910
2911 * fold-const.c (fold_checksum_tree): Adjust for now-largest tree size.
2912 Checksum only the parts of the tree that exist for the tree code.
2913
ea407814
DJ
29142005-08-28 Dale Johannesen <dalej@apple.com>
2915
2916 * config/i386/i386.c (nocona_cost): Increase MOVE_RATIO.
2917
87e71ff4
AP
29182005-08-28 Andrew Pinski <pinskia@physics.uc.edu>
2919
2920 * tree-vrp.c: Remove obsolete comment in front of vrp_initialize.
2921
490272b4
RH
29222005-08-28 Richard Henderson <rth@redhat.com>
2923
2924 * stor-layout.c (finalize_type_size): Revert workaround from 08-26.
2925 * tree.c (make_node_stat): Use BITS_PER_UNIT instead of alignment
2926 of char_type_node.
2927
a6017253
JJ
29282005-08-28 Jakub Jelinek <jakub@redhat.com>
2929
2930 PR ada/23593
2931 * builtins.c (get_memory_rtx): Don't strip nops
2932 in between COMPONENT_REFs.
2933
412f8986
AP
29342005-08-27 Andrew Pinski <pinskia@physics.uc.edu>
2935
2936 PR middle-end/23463
2937 * gimplify.c (gimplify_modify_expr_rhs): Remove check for zero sized
2938 types.
2939 (gimplify_modify_expr): Check for zero sized types and gimplify the
2940 rhs and lhs as statements.
2941
147a8fb1
JDA
29422005-08-27 John David Anglin <dave.anflin@nrc-cnrc.gc.ca>
2943
2944 PR libgcj/23508
2945 * pa/linux-unwind.h (pa32_fallback_frame_state): Use r0 slot in frame
2946 state for return address column of signal frames.
2947
ec53fc93
DE
29482005-08-27 David Edelsohn <edelsohn@gnu.org>
2949
2950 PR target/23539
fabaaf36
RH
2951 * config/rs6000/rs6000.c (expand_block_clear): Use HImode when
2952 bytes >= 2 not bytes == 2.
ec53fc93
DE
2953 (expand_block_move): Same.
2954
f013cadc
RG
29552005-08-27 Richard Guenther <rguenther@suse.de>
2956
2957 PR target/23575
2958 * config/i386/sse.md (sse2_movsd): Add missing closing
2959 braces.
2960
0cd6c85a
PB
29612005-08-27 Paul Brook <paul@codesourcery.com>
2962
2963 * genrecog.c (enum decision_type): Add DT_num_insns.
2964 (struct decision_test): Add u.num_insns.
2965 (add_to_sequence): Add DT_num_insns test.
2966 (maybe_both_true_2, nodes_identical_1): Handle DT_num_insns.
2967 (write_cond, debug_decision_2): Ditto.
2968 (change_state): Assume peep2_next_insn never fails.
2969 Remove "afterward" argument.
2970 (write afterward, write_tree): Update to match.
2971 * recog.c (peep2_current_count): New variable.
2972 (peep2_next_insn): Check it.
2973 (peephole2_optimize): Set peep2_current_count.
2974 * recog.h (peep2_current_count): Declare.
2975
1b0d2d17
JC
29762005-08-26 Josh Conner <jconner@apple.com>
2977
2978 PR middle-end/23584
2979 * ipa-pure-const.c (check_tree): Check for volatile-ness
2980 when considering a dereference.
2981
24b7d7c3
JJ
29822005-08-27 Jakub Jelinek <jakub@redhat.com>
2983
2984 * rtl.h (MEM_IN_STRUCT_P): Fix comment typo.
2985
435bb2a1
JJ
29862005-08-26 Jakub Jelinek <jakub@redhat.com>
2987
2988 PR rtl-optimization/23561
2989 * builtins.c (get_memory_rtx): Add LEN argument. If MEM_EXPR is
2990 a COMPONENT_REF, remove all COMPONENT_REF from MEM_EXPR unless
2991 at most LEN bytes long memory fits into the field.
2992 (expand_builtin_memcpy, expand_builtin_mempcpy, expand_movstr,
2993 expand_builtin_strncpy, expand_builtin_memset, expand_builtin_memcmp,
2994 expand_builtin_strcmp, expand_builtin_strncmp): Adjust callers.
2995
52e772ba
RH
29962005-08-26 Richard Henderson <rth@redhat.com>
2997
2998 PR rtl-opt/23560
2999 * loop.c (biased_biv_may_wrap_p): New.
3000 (maybe_eliminate_biv_1): Use it to suppress non-equality
3001 comparison transformations. Delete disabled code.
3002
8f34bde6
ILT
30032005-08-26 Ian Lance Taylor <ian@airs.com>
3004
3005 * combine.c (make_extraction): Avoid reference outside object.
3006
d6cde480
R
30072005-08-26 J"orn Rennecke <joern.rennecke@st.com>
3008
3009 * stor-layout.c (finalize_type_size): Restore behaviour for
3010 non-aggregate types to the status quo ante of the patch for
3011 pr 23467. Document why it matters.
3012
39627fed
JJ
30132005-08-26 Jakub Jelinek <jakub@redhat.com>
3014
3015 PR c/23506
3016 * c-common.c (c_common_nodes_and_builtins): Increase builtin_types
3017 array by one element, initialize the BT_LAST element with NULL.
3018
297abd0d
DE
30192005-08-26 David Edelsohn <edelsohn@gnu.org>
3020
3021 * config/rs6000/rs6000.md (eq<mode>_compare): Only enable when
3022 optimizing for size.
3023 (plus_eqsi): Same.
3024 (compare_plus_eqsi): Same.
3025 (plus_eqsi_compare): Same.
3026 (neg_eq0<mode>): Same.
3027 (neg_eq<mode>): Same.
3028
3029 * config/rs6000/aix52.h (PROCESSOR_DEFAULT): Change to
3030 PROCESSOR_POWER4.
3031
2ec6cd51
NC
30322005-08-26 Nick Clifton <nickc@redhat.com>
3033
3034 * config/v850/v850.c (ep_memory_operand): Return FALSE if
3035 TARGET_EP is not defined.
3036 * config/v850/c850.h (TARGET_CPU_CPP_BUILTINS): Define __EP__ if
3037 TARGET_EP is enabled.
3038 (OPTIMIZATION_OPTIONS): Do not define MASK_EP when optimizing.
3039 * config/v850/v850.md (save_all_interrupt): Only use the EP
3040 register if TARGET_EP is defined.
3041 (restore_all_interrupt): Likewise.
3042 * config/v850/lib1funcs.asm: Update functions so that the EP
3043 register is only used if __EP__ is defined.
3044
e296c00c
DU
30452005-08-26 David Ung <davidu@mips.com>
3046
3047 * config/mips/mips.c (mips_expand_prologue): Handle case when
3048 generating for MIPS16 and the outgoing argument area is more than
3049 SMALL_OPERAND. Use the frame pointer as temporary to generate the
3050 add instruction.
3051
55d61dba
PW
30522005-08-26 Paul Woegerer <paul.woegerer@nsc.com>
3053
3054 * config/crx/crx.md: Make doloop_end pattern usage controllable
3055 via mloop-nesting=<max-nesting> command line switch. Make sure
3056 the combiner cannot use doloop_end_<mode> in an illegal way.
3057 * config/crx/crx.c: Use regs up to r6 for argument passing.
3058 Refine crx_address_cost (non cst4 displacements are expensive).
3059 * config/crx/crx.opt: Add switch for mloop-nesting=.
3060
742090fc
AS
30612005-08-26 Adrian Straetling <straetling@de.ibm.com>
3062
3063 * config/s390/s390.md: ("movstr", "*movstr"): Add patterns.
3064 (UNSPEC_MVST): New constant.
3065
db21e1d0
AK
30662005-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
3067
3068 * config/s390/predicates.md ("shift_count_operand", "setmem_operand"):
3069 Reject operands containing eliminable registers.
3070 * testsuite/gcc.dg/20050825-1.c: New testcase.
3071
0621d71a
PB
30722005-08-24 Paolo Bonzini <bonzini@gnu.org>
3073 Jan Hubicka <jh@suse.cz>
3074
3075 * regmove.c (reg_is_remote_constant_p): Reorganize to not use log links.
3076
e2889823
PB
30772005-08-24 Paolo Bonzini <bonzini@gnu.org>
3078
3079 PR tree-optimization/23546
3080 * tree-ssa-loop-im.c (for_each_index): Handle INTEGER_CST
3081 and REAL_CST nodes.
3082
6f48c21a
PS
30832005-08-24 Pete Steinmetz <steinmtz@us.ibm.com>
3084
3085 * params.def (PARAM_MIN_SPEC_PROB): New.
3086 * sched-rgn.c (MIN_PROBABILITY): Delete.
3087 (compute_trg_info): Convert to PARAM_VALUE.
3088 * doc/invoke.texi (param): Document min-spec-prob.
3089
1a1e6a9d
FJ
30902005-08-24 Fariborz Jahanian <fjahanian@apple.com>
3091
3092 * config/darwin.h: define __PIC__
3093 * config/rs6000/darwin.h: Add SUBTARGET_OS_CPP_BUILTINS to
3094 TARGET_OS_CPP_BUILTINS macro.
3095
130869aa
PB
30962005-08-24 Paolo Bonzini <bonzini@gnu.org>
3097
3098 * config/rs6000/rs6000.md: Fix thinko in the peephole2 I added
3099 yesterday.
3100
b9a66240
ZD
31012005-08-24 Zdenek Dvorak <dvorakz@suse.cz>
3102
3103 * bb-reorder.c (copy_bb, duplicate_computed_gotos): Add argument
3104 to duplicate_block.
3105 * cfghooks.c (duplicate_block): Added position where to place
3106 new block as argument.
3107 * cfghooks.h (duplicate_block): Declaration changed.
3108 * cfglayout.c (copy_bbs): Add argument after. Pass it to
3109 duplicate_block.
3110 * cfglayout.h (copy_bbs): Declaration changed.
3111 * cfgloop.h (loop_version): Declaration changed.
3112 * cfgloopmanip.c (duplicate_loop_to_header_edge): Pass
3113 position to copy_bbs.
3114 (loop_version): Pass position to duplicate_loop_to_header_edge.
3115 Add place_after argument and position new blocks according to
3116 it.
3117 * modulo-sched.c (sms_schedule): Pass place_after argument
3118 to loop_version.
3119 * tracer.c (tail_duplicate): Pass argument to duplicate_block.
3120 * tree-cfg.c (split_edge_bb_loc): New function.
3121 (tree_split_edge, tree_duplicate_sese_region): Use split_edge_bb_loc
3122 to determine position of new blocks.
3123 * tree-ssa-loop-unswitch.c (tree_unswitch_loop): Pass argument
3124 to loop_version.
3125 * tree-ssa-threadupdate.c (create_block_for_threading): Pass
3126 argument to duplicate_block.
3127 * tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg):
3128 Pass position to copy_bbs.
3129
87de2376
ZD
31302005-08-24 Zdenek Dvorak <dvorakz@suse.cz>
3131
3132 * fold-const.c (ptr_difference_const): Use
3133 cst_and_fits_in_hwi instead of host_integerp.
3134
14a07c92
PB
31352005-08-24 Paolo Bonzini <bonzini@gnu.org>
3136
3137 * config/darwin.c (gen_pic_offset): New.
3138 (machopic_indirect_data_reference, machopic_legitimize_pic_address):
3139 Use it.
3140
d49195a3
ZD
31412005-08-23 Zdenek Dvorak <dvorakz@suse.cz>
3142
3143 PR tree-optimization/23486
3144 * tree-ssa-loop.c (pass_scev_cprop): Add TODO_update_ssa_only_virtuals.
3145
2eab15c9
PE
31462005-08-23 Phil Edwards <phil@codesourcery.com>
3147
3148 * config.gcc (*-*-vxworks*): Update tm_file, add extra_options,
3149 remove use_collect2.
3150 (powerpc-wrs-vxworks): Update, split out *-*-vxworksae target.
3151
3152 * target-def.h (TARGET_HAVE_CTORS_DTORS): Allow target
3153 configuration files to override the default value.
3154
3155 * config/t-vxworks: Remove INSTALL_ASSERT_H. Define STMP_FIXPROTO,
3156 EXTRA_HEADERS, and EXTRA_MULTILIB_PARTS.
3157 * config/vx-common.h: New file, split out from...
3158 * config/vxworks.h: here. Update for VxWorks 6.x and RTP mode.
3159 * config/vxworksae.h: New file, for VxWorks AE.
3160 * config/vxworks.opt: New file.
3161 * config/vxlib.c: Update for VxWorks 6.
3162
3163 * config/rs6000/t-vxworks (MULTILIB_OPTIONS): New list. Adjust
3164 other MULTILIB_* variables appropriately.
3165 (LIB2FUNCS_EXTRA, EXTRA_MULTILIB_PARTS): Correct from t-ppccomm.
3166 * config/rs6000/t-vxworksae: New file, adjust multilibs for AE.
3167 * config/rs6000/vxworks.h: Update for VxWorks 6.
3168 * config/rs6000/vxworksae.h: New file, mostly placeholder for now.
3169
2501b167
AP
31702005-08-23 Andrew Pinski <pinskia@physics.uc.edu>
3171
3172 PR target/20799
3173 * config/darwin.c (machopic_select_section): Remove the hack to
3174 mark "::operator new" and "::operator delete" for coalescing
3175 even though they are not weak.
3176
d82bf747
AM
31772005-08-24 Alan Modra <amodra@bigpond.net.au>
3178
3179 * configure.ac (HAVE_LD_NO_DOT_SYMS): Set for powerpc-linux biarch.
3180 * configure: Regenerate.
3181
4d3c798d
PB
31822005-08-23 Paolo Bonzini <bonzini@gnu.org>
3183
3184 PR middle-end/23517
3185 * fold-const.c (fold_convert): Use VIEW_CONVERT_EXPR to convert
3186 between vectors.
3187 * convert.c (convert_to_integer, convert_to_vector): Likewise.
3188 * tree-vect-generic.c (tree_vec_extract, expand_vector_operations_1):
3189 Likewise.
3190
28d0e143
PB
31912005-08-23 Paolo Bonzini <bonzini@gnu.org>
3192
3193 * config/rs6000/predicates.md (equality_operator): New.
3194 * config/rs6000/rs6000.md: Rewrite as a peephole2 the split for
3195 comparison with a large constant.
3196
6194fd98
MM
31972005-08-23 Mark Mitchell <mark@codesourcery.com>
3198
3199 * hwint.h (HOST_WIDE_INT_PRINT): Use HOST_LONG_LONG_FORMAT.
3200
39d67d5b
R
32012005-08-23 J"orn Rennecke <joern.rennecke@st.com>
3202
a11c004b
R
3203 * sh.c (sh_builtin_saveregs): If the number of to-be-saved fp
3204 registers is even, and we have a hardware double precision fp,
3205 align the buffer.
3206 (sh_gimplify_va_arg_expr): For floating point arguments, consider
3207 size of current argument when checking if argument was passed in
3208 registers.
3209
3210 * sh.c (sh_attr_renesas_p): Handle error_mark_node.
3211
39d67d5b
R
3212 PR middle-end/23467
3213 * stor-layout.c (finalize_type_size): Dont override
3214 existing alignment with a smaller alignment from the mode.
3215
37b8a73b
SP
32162005-08-23 Sebastian Pop <pop@cri.ensmp.fr>
3217
3218 * lambda-code.c (lambda_vector_lexico_pos): Moved...
3219 * lambda.h (lambda_vector_lexico_pos): ... here.
3220 * tree-data-ref.c (build_classic_dist_vector): Return false when
3221 the distance vector is lexicographically negative.
3222
ce8f9416
SP
32232005-08-23 Sebastian Pop <pop@cri.ensmp.fr>
3224
3225 PR tree-optimization/23511
759915ca 3226 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Don't
ce8f9416
SP
3227 handle cases where TYPE_MIN_VALUE or TYPE_MAX_VALUE are NULL_TREE.
3228
73ed17ff
JJ
32292005-08-23 Jakub Jelinek <jakub@redhat.com>
3230
3231 PR tree-optimization/22043
3232 * tree.h (count_type_elements): Add ALLOW_FLEXARR argument.
3233 * expr.c (count_type_elements): Add ALLOW_FLEXARR argument.
3234 If ALLOW_FLEXARR, handle types ending with flexible array member.
3235 Pass false as second argument to recursive count_type_elements calls.
3236 (categorize_ctor_elements_1, mostly_zeros_p): Pass false as second
3237 argument to count_type_elements call.
3238 * tree-sra.c (decide_block_copy): Likewise.
3239 * gimplify.c (gimplify_init_constructor): If num_type_elements < 0
3240 for a constant-sized object, set cleared as well. Pass true as
3241 second argument to count_type_elements call.
3242
18b10a72
AM
32432005-08-23 Alan Modra <amodra@bigpond.net.au>
3244
3245 PR target/21571
3246 * config/rs6000/rs6000.c (rs6000_legitimate_small_data_p): Rename
3247 from legitimate_small_data_p, and make global. Update use.
3248 Remove forward declaration.
3249 * config/rs6000/rs6000-protos.h (rs6000_legitimate_small_data_p):
3250 Declare.
3251 * config/rs6000/rs6000.md (movdf_hardfloat32): Allow small data mems.
3252
d0515b39
DE
32532005-08-23 David Edelsohn <edelsohn@gnu.org>
3254
3255 * config/rs6000/rs6000.md (eq<mode>): Use output operand instead
3256 of scratch intermediates.
3257 (eq<mode>_compare): Same.
3258 (neg_eq0<mode>): New.
3259 (neg_eq<mode>): Convert to define_insn_and_split.
3260
c1fa753e
AM
32612005-08-23 Alan Modra <amodra@bigpond.net.au>
3262
3263 PR target/23070
3264 * config/rs6000/rs6000.c (function_arg): For ABI_V4 calls to
3265 stdarg functions, set/clear the fp marker even when no variable
3266 args are passed.
3267 * config/rs6000/sysv4.opt (mprototype): Describe.
3268
27004606
JJ
32692005-08-22 Jakub Jelinek <jakub@redhat.com>
3270
3271 PR rtl-optimization/23478
3272 * regs.h (reg_info): Add throw_calls_crossed.
3273 (REG_N_THROWING_CALLS_CROSSED): Define.
3274 * flow.c (allocate_reg_life_data): Initialize
3275 REG_N_THROWING_CALLS_CROSSED.
3276 (propagate_one_insn, attempt_auto_inc): Update
3277 REG_N_THROWING_CALLS_CROSSED.
3278 * global.c (global_alloc): Don't allocate pseudos across
3279 calls that may throw.
3280
201ae393
AP
32812005-08-22 Andrew Pinski <pinskia@physics.uc.edu>
3282
3283 PR c/18715
3284 * c-common.c (c_do_switch_warnings): Look for a node where the enum's
3285 value is inbetween the range if we did not find an exact match.
3286
c85ba4fb
AH
32872005-08-22 Aldy Hernandez <aldyh@redhat.com>
3288
3289 * doc/invoke.texi (Option Summary): Add ms1 options.
3290 * doc/extend.texi: Document interrupt handler attribute for ms1.
3291 * doc/md.texi: Document ms1 constraints.
3292 * config.gcc: Add ms1-*-elf.
3293 * config/ms1/ms1.h: New.
3294 * config/ms1/ms1.c: New.
3295 * config/ms1/ms1.md: New.
3296 * config/ms1/ms1-protos.h: New.
3297 * config/ms1/ABI.txt: New.
3298 * config/ms1/crti.asm: New.
3299 * config/ms1/crtn.asm: New.
3300 * config/ms1/lib2extra-funcs.c: New.
3301 * config/ms1/t-ms1: New.
3302 * config/ms1/ms1.opt: New.
3303
70a39602
IR
33042005-08-22 Ira Rosen <irar@il.ibm.com>
3305
3306 * config/rs6000/altivec.md (xorv4sf3): New.
3307 (negv4sf2, neg<mode>2): Likewise.
3308
85199961
L
33092005-08-21 H.J. Lu <hongjiu.lu@intel.com>
3310
3311 PR target/23485
3312 * config/ia64/ia64.md (divsi3): Check divide by zero.
3313 (udivsi3): Likewise.
3314 (divdi3): Likewise.
3315 (udivdi3): Likewise.
3316
1125164c
JJ
33172005-08-21 Jakub Jelinek <jakub@redhat.com>
3318
3319 * simplify-rtx.c (simplify_immed_subreg) <case CONST_DOUBLE>: Only clear
3320 up to elem_bitsize bits, not max_bitsize.
3321
3c0c8f9d
SP
33222005-08-21 Sebastian Pop <pop@cri.ensmp.fr>
3323
3324 PR tree-optimization/23433
85199961
L
3325 * tree-chrec.c (chrec_apply): Translate INTEGER_CST to a
3326 REAL_CST when the type is SCALAR_FLOAT_TYPE_P.
3c0c8f9d 3327
a1596edc
SP
33282005-08-21 Sebastian Pop <pop@cri.ensmp.fr>
3329
3330 PR tree-optimization/23434
85199961
L
3331 * tree-ssa-loop-niter.c (proved_non_wrapping_p): Give up when
3332 the iteration bound is not an INTEGER_CST.
a1596edc 3333
429268fc
DN
33342005-08-21 Dorit Nuzman <dorit@il.ibm.com>
3335
3336 * tree-vect-transform.c (get_initial_def_for_reduction): Set
3337 need_epilog_adjust back to false for MIN/MAX case. Set *scalar_def to
3338 NULL if need_epilog_adjust is false.
3339 (vect_create_epilog_for_reduction): Variable adjust_in_epilog removed.
3340 Case 3 always peels first itration, not just for PLUS case, and no need
3341 to use scalar_initial_def here. Create an epilog adjustment only if
3342 scalar_initial_def is not NULL.
3343
759915ca 3344 (vectorizable_reduction): Remove assert.
429268fc 3345
eea1d14a
L
33462005-08-20 H.J. Lu <hongjiu.lu@intel.com>
3347
3348 PR target/23485
3349 * config/ia64/lib1funcs.asm (__divdi3): Check divide by zero.
3350 (__moddi3): Likewise.
3351 (__udivdi3): Likewise.
3352 (__umoddi3): Likewise.
3353 (__divsi3): Likewise.
3354 (__modsi3): Likewise.
3355 (__udivsi3): Likewise.
3356 (__umodsi3): Likewise.
3357
5e34206b
JJ
33582005-08-20 Jakub Jelinek <jakub@redhat.com>
3359
3360 * tree-pass.h (TDF_GRAPH): Define.
3361 * tree-dump.c (dump_options): Don't set TDF_GRAPH in "all".
3362 * passes.c (finish_optimization_passes): Only call
3363 finish_graph_dump_file if TDF_GRAPH is set.
3364 (execute_one_pass): Only call clean_graph_dump_file if dump_file !=
3365 NULL. Set TDF_GRAPH bit.
3366 (execute_todo): Call print_rtl_graph_with_bb if TDF_GRAPH is set.
3367
2591db65
RE
33682005-08-20 Richard Earnshaw <richard.earnshaw@arm.com>
3369
3370 * arm.h (arm_stack_offsets): Add locals_base field.
3371 * arm.c (arm_get_frame_offsets): Compute it.
3372 (thumb_compute_initial_elimination offset): Make the Thumb frame
3373 pointer point to the base of the local variables.
3374 (thumb_expand_prologue): Update accordingly.
3375 (thumb_expand_epilogue): Likewise.
3376
3377 * arm.md (thumb_movhi_clobber): Make this insn a define_expand. Change
3378 mode of clobbered scratch to DImode. Handle a case that's known to
3379 need this.
3380
fc437ce9
DE
33812005-08-19 David Edelsohn <edelsohn@gnu.org>
3382
3383 * config/rs6000/rs6000.md (gt0<mode>): Delete.
3384 (gt0<mode>_compare): Delete.
3385 (neg_gt0<mode>): Delete.
3386
c414ac1d
EC
33872005-08-19 Eric Christopher <echristo@apple.com>
3388
3389 * optabs.h: Change CTI_ to COI_.
3390 * optabs.c: Ditto.
3391
c8f27794
JW
33922005-08-19 James E Wilson <wilson@specifix.com>
3393
3394 * builtins.c (expand_builtin_return_addr): Set
3395 current_function_accesses_prior_frames when count != 0. Use
3396 frame_pointer_rtx when count == 0.
3397 * function.h (struct function): Add accesses_prior_frames field.
3398 (current_function_accesses_prior_frames): Define.
3399 * reload1.c (init_elim_table): Check
3400 current_function_accesses_prior_frames.
3401 * doc/tm.texi (INITIAL_FRAME_ADDRESS_RTX): Update docs.
3402
e3594cb3
DN
34032005-08-19 Diego Novillo <dnovillo@redhat.com>
3404
3405 * tree-cfgcleanup.c (cleanup_tree_cfg): Fix flowgraph change
3406 indicator. Return true if the flowgraph changed during
3407 cleanup.
3408
52270a3c
DN
34092005-08-19 Diego Novillo <dnovillo@redhat.com>
3410
3411 PR 23476
3412 * tree-cfgcleanup.c (cleanup_control_expr_graph): Fold the
3413 conditional expression before testing its value.
3414
5c1c631e
DN
34152005-08-19 Diego Novillo <dnovillo@redhat.com>
3416
3417 * doc/invoke.texi: Fix documentation for -ftree-dominator-opts.
3418
3d91803a
DP
34192005-08-19 Devang Patel <dpatel@apple.com>
3420
3421 PR tree-optimization/23048
3422 * tree-if-conv.c (if_convertible_bb_p): Supply basic_block as
3423 third parameter. Check whether latch is dominated by exit
3424 block or not.
3425 (if_convertible_loop_p): Supply exit block itself to
3426 if_convertible_bb_p.
c414ac1d 3427
e55ef7f4
RE
34282005-08-19 Richard Earnshaw <richard.earnshaw@arm.com>
3429
3430 PR target/23473
3431 * arm.md (arm_load_pic_register): Change argument to the mask of
c414ac1d 3432 saved registers. Call thumb_find_work_register if we need a
e55ef7f4 3433 scratch register on Thumb.
c414ac1d 3434 (arm_expand_prologue): Pass empty register set to
e55ef7f4
RE
3435 arm_load_pic_register.
3436 (thumb_expand_prologue): Pass live_regs_mask directly to
3437 arm_load_pic_register.
3438 * arm-protos.h (arm_load_pic_register): Update prototype.
3439
d102596b
JR
34402005-08-19 J"orn Rennecke <joern.rennecke@st.com>
3441
3442 * sh.c (find_sole_member): New function.
3443 (sh_gimplify_va_arg_expr): Use it. Allow RECORD_TYPE mode mismatch
3444 if the record's alignment is larger than the size of its only member.
3445
a132dad6
RE
34462005-08-19 Richard Earnshaw <richard.earnshaw@arm.com>
3447
3448 PR target/23436
3449 * arm.c (thumb_legitimize_reload_address): New function.
3450 * arm-protos.h (thumb_legitimize_reload_address): Add prototype.
3451 * arm.h (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Call it.
3452
4221d00a
PW
34532005-08-19 Paul Woegerer <paul.woegerer@nsc.com>
3454
3455 * config/crx/crx.c: Implement crx_decompose_address. Reject
3456 symbolic displacements since CRX register relative adressing
3457 mode can't handle unsigned 32-bit values as displacements.
3458 * config/crx/crx.h: Simplify definitions, remove redundant
3459 parenthesis and obsolete macros.
3460 * config/crx/crx.opt: Add new switch for debugging addresses.
3461 * config/crx/crx-protos.h: Add new declarations for above.
3462
1581a9a1
AP
34632005-08-19 Andrew Pinski <pinskia@physics.uc.edu>
3464
3465 PR middle-end/20624
3466 * gimple-low.c (block_may_fallthru): Handle CLEANUP_POINT_EXPR by
3467 looking past it.
3468
52a6edcc
KG
34692005-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3470
3471 * collect2.c (dup2): Delete.
3472 * configure.ac: Don't check for dup2.
3473
3474 * config.in, configure: Regenerate.
3475
8a2209bf
R
34762005-08-18 J"orn Rennecke <joern.rennecke@st.com>
3477
3478 * sh.c (sh_gimplify_va_arg_expr): Loop to substitute a RECORD_TYPE
3479 record with the type of its only member.
3480
1e24ce83
DE
34812005-08-18 David Edelsohn <edelsohn@gnu.org>
3482
3483 * config/rs6000/rs6000.md (ltu<mode>_compare): Convert to
3484 define_insn_and_split.
3485 (plus_ltu<mode>_compare): Same.
3486 (gtu<mode>_compare): Same.
3487 (plus_gtu<mode>_compare): Same.
3488
90ff949f
DN
34892005-08-18 Dorit Nuzman <dorit@il.ibm.com>
3490
3491 PR tree-optimization/22228
1e24ce83
DE
3492 * tree-ssa-loop (pass_vectorize): Add TODO_verify_loops to
3493 todo_flags_start.
90ff949f
DN
3494 * tree-vect-transform.c (vect_transform_loop): Mark the variables that
3495 are recorded in vect_vnames_to_rename for renaming.
3496 * tree-vectorizer.c (vect_vnames_to_rename): New global bitmap.
3497 (slpeel_update_phi_nodes_for_guard1): Record virtual vars for renaming
3498 in vect_vnames_to_rename.
3499 (vectorize_loops): Allocate and free the vect_vnames_to_rename bitmap.
3500 * tree-vectorizer.h (vect_vnames_to_rename): New extern variable.
3501
f17db6cd
JH
35022005-08-18 Jan Hubicka <jh@suse.cz>
3503
3504 PR c++/22034
3505 * cgraphunit.c (cgraph_varpool_assemble_pending_decls): Emit debug
3506 info only for local statics, not for member variables.
3507
4286d8ce
VR
35082005-08-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3509
3510 * tree-data-ref.c (analyze_siv_subscript_cst_affine): Fix comment typo.
3511
b06df647
VR
35122005-08-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3513
3514 * c-typeck.c (designator_errorneous): Rename to designator_erroneous.
3515
75634129
AP
35162005-08-18 Andrew Pinski <pinskia@physics.uc.edu>
3517
3518 PR middle-end/16045
3519 * builtins.c (fold_builtin): Create a new NOP_EXPR all the time.
3520
9bc2a5cb
JW
35212005-08-17 James E Wilson <wilson@specifix.com>
3522
3523 * c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
3524 array size check.
3525
a2dba291
DE
35262005-08-17 David Edelsohn <edelsohn@gnu.org>
3527
3528 * config/rs6000/rs6000.md (leu<mode>): Convert to mode macro.
3529 (leu<mode>_compare): Same.
3530 (plus_leu<mode>): Same.
3531 (neg_leu<mode>): Same.
3532 (and_neg_leu<mode): Same.
3533 (ltu<mode>_compare): Same.
3534 (plus_ltu<mode>): Same.
3535 (geu<mode>): Same.
3536 (geu<mode>_compare): Same.
3537 (plus_geu<mode>): Same.
3538 (neg_geu<mode>): Same.
3539 (and_neg_geu<mode>): Same.
3540 (plus_gt<mode>): Same.
3541 (gtu<mode>_compare): Same.
3542 (plus_gtu<mode>): Same.
3543
aa29dfeb 35442005-08-17 Erik Christiansen <erik@dd.nec.com.au>
c414ac1d 3545
aa29dfeb
EC
3546 * config/v850/lib1funcs.asm (callt_save_interrupt): Fix comment typos.
3547 Move call_table_data to end. Delete spurious .text.
3548 (callt_save_all_interrupt): Fix comment typo.
3549
90e0c734
JW
35502005-08-17 James E Wilson <wilson@specifix.com>
3551 Kevin Winchester <winchester@amirix.com>
3552
3553 PR target/21684
3554 * config/mcore/mcore.h (SHIFT_COUNT_TRUNCATED): Define to 0.
3555
87bb8864
UB
35562005-08-17 Uros Bizjak <uros@kss-loka.si>
3557
3558 PR target/23268
3559 * config/i386/i386.md ("*fist<mode>2_1"): New pattern.
3560 ("lrint<mode>2"): Change expander to use "*fist<mode>2_1" pattern.
3561
dd0ae678
R
35622005-08-17 J"orn Rennecke <joern.rennecke@st.com>
3563
8a2209bf
R
3564 * sh.c (sh_gimplify_va_arg_expr): Don't substitute a RECORD_TYPE
3565 record with the type of its only member if the modes don't match.
3566
a2dba291 3567 * varasm.c (decode_reg_name): Skip empty additional register names.
dd0ae678 3568
d28cbb07
ZD
35692005-08-16 Zdenek Dvorak <dvorakz@suse.cz>
3570
3571 * tree-ssa-loop-im.c (MAX_LSM_NAME_LENGTH, lsm_tmp_name,
3572 lsm_tmp_name_length): New.
3573 (lsm_tmp_name_add, gen_lsm_tmp_name, get_lsm_tmp_name): New functions.
3574 (schedule_sm): Use get_lsm_tmp_name instead of "lsm_tmp".
3575
39bd07e8
UW
35762005-08-16 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3577 Andreas Krebbel <krebbel1@de.ibm.com>
3578
3579 * config.gcc: Added z9-109 switch.
3580 * config/s390/2084.md ("x_int", "x_agen", "x_lr", "x_la", "x_larl",
3581 "x_load", "x_store", "x_branch", "x_call", "x_mul_hi", "x_mul_sidi",
c414ac1d
EC
3582 "x_div", "x_sem", "x_cs", "x_vs", "x_stm", "x_lm", "x_other",
3583 "x_fsimpdf", "x_fsimpsf", "x_fdivdf", "x_fdivsf", "x_floaddf",
39bd07e8
UW
3584 "x_floadsf", "x_fstore_df", "x_fstoresf", "x_ftoi", "x_itof"): Enable
3585 for "z9_109" cpu attribute.
3586 * config/s390/s390.c (z9_109_cost): New processor cost structure.
3587 (CONST_OK_FOR_Os, CONST_OK_FOR_Op, CONST_OK_FOR_On): New macros.
3588 (s390_handle_arch_option): Added z9-109 switch.
3589 (override_options): Set respective cost function for z9-109.
3590 (s390_const_ok_for_constraint_p): New constraints Os, Op, On.
3591 (legitimate_reload_constant_p): Accept extended immediates.
3592 (print_operand): Three new output modifiers added: k, m and o.
3593 (s390_adjust_priority, s390_issue_rate): Handle Z9_109 like Z990.
3594 (s390_output_mi_thunk): Use extended immediate when possible.
3595 * config/s390/s390.h (processor_flags): Added PF_EXTIMM.
3596 (TARGET_CPU_EXTIMM, TARGET_EXTIMM): New macros.
3597 (CONSTRAINT_LEN): Added length of O constraint.
3598 (CLZ_DEFINED_VALUE_AT_ZERO): Definition added.
3599 * config/s390/s390.md ("cpu"): New value z9_109 added.
c414ac1d 3600 ("*tstdi_extimm", "*tstdi_ccconly_extimm", "*tstsi_extimm",
39bd07e8
UW
3601 "*tstsi_cconly_extimm", "*movdi_64extimm", "*extendhidi2_extimm",
3602 "*extendqidi2_extimm", "*extendhisi2_extimm", "*extendqisi2_extimm",
3603 "*zero_extend<mode>si2_extimm", "*anddi3_extimm", "*iordi3_extimm",
3604 "*xordi3_extimm", "clzdi2", "clztidi2"): New patterns.
3605 ("*tstdi", "*tstsi", "*movdi_64", "*extendhisi2", "*extendqisi2",
3606 "*zero_extend<mode>si2_64", "zero_extendqihi2", "*zero_extendqihi2_64",
3607 "*anddi3", "*iordi3", "*xordi3"): Disable for TARGET_EXTIMM.
3608 ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs", "*cmpsi_ccs", "*cmpdi_ccu",
3609 "*cmpsi_ccu", "*movsi_zarch", "*adddi3_imm_cc", "*adddi3_carry1_cc",
3610 "*adddi3_carry2_cc", "*adddi3_cc", "*adddi3_64", "*addsi3_imm_cc",
3611 "*addsi3_carry1_cc", "*addsi3_carry2_cc", "*addsi3_cc", "addsi3",
3612 "*andsi3_cc", "*andsi3_cconly", "*andsi3_zarch", "*iorsi3_cc",
3613 "*iorsi3_cconly", "*iorsi3_zarch", "*xorsi3_cc", "*xorsi3_cconly",
c414ac1d 3614 "*xorsi3", "*xorhi3", "*xorqi3"): Added instruction using extended
39bd07e8
UW
3615 immediates.
3616 ("extend<mode>di2", "extend<mode>si2", "zero_extend<mode>di2",
3617 "zero_extend<mode>si2"): Allow memory operands and don't manually emit
3618 insns for TARGET_EXTIMM.
3619
33d2e547
AK
36202005-08-17 Andreas Krebbel <krebbel1@de.ibm.com>
3621
3622 * testsuite/gcc.dg/20020926-1.c: Added "-mesa" to dg-options.
3623
e5eb9a52
NC
36242005-08-17 Nick Clifton <nickc@redhat.com>
3625
3626 * config/stormy16/stormy16.c (xstormy16_encode_section_info):
3627 Call default_encode_section_info.
3628
a318e3ac
SB
36292005-08-17 Steven Bosscher <stevenb@suse.de>
3630
3631 PR tree-optimization/21574
3632 * tree-ssa-ccp.c (likely_value): If the right hand side is a
3633 constant, return CONSTANT.
3634 (ccp_lattice_meet): Use operand_equal_p instead of simple_cst_equal.
3635 (ccp_fold, visit_assignment): Likewise.
3636 (evaluate_stmt): Handle UNDEFINED and UNKNOWN_VAL the same way.
3637
00d1b1d6
JM
36382005-08-16 James A. Morrison <phython@gcc.gnu.org>
3639
3640 * c-typeck.c (build_function_call): Call fold_buildN_initializer or
3641 fold_buildN instead of buildN then fold_initializer or fold.
3642 (build_unary_op): Likewise.
3643 (build_binary_op): Likewise.
3644 * fold-const.c (fold_initializer): Remove.
3645 (fold_build1_initializer): New function.
3646 (fold_build2_initializer): New function.
3647 (fold_build3_initializer): New function.
3648 * tree.h (fold_initializer): Remove.
3649 (fold_build1_initializer): New function.
3650 (fold_build2_initializer): New function.
3651 (fold_build3_initializer): New function.
3652
f457cf40
JM
36532005-08-16 James A. Morrison <phython@gcc.gnu.org>
3654
3655 * fold-const.c (optimize_bit_field_compare): Remove extra fold call.
3656 (try_move_mult_to_index): Call fold_build2 instead of build2.
3657 (fold_binary): Don't call fold after calls to try_move_mult_to_index.
3658 * tree-ssa-loop-niter.c (inverse): Call int_const_binop instead of
3659 fold_binary_to_constant.
3660 (infer_loop_bounds_from_undefined): Call fold_build2 instead of
3661 fold (build.
3662 * tree-data-ref.c (tree_fold_divides_p): Use tree_int_cst_equal to
3663 check if A == gcd (A, B). Remove TYPE argument.
3664 (analyze_offset) Use fold_build2 instead of fold (build.
3665 (create_data_ref): Likewise.
3666 (analyze_siv_subscript_cst_affine): Update calls to tree_fold_divides_p.
3667 * tree-ssa-ccp.c (widen_bitfield): Call fold_build2 instead of build2
3668 then fold.
3669
4c617d12
KC
36702005-08-17 Kelley Cook <kcook@gcc.gnu.org>
3671
3672 * config/arm/unaligned-funcs.c,config/i386/crtfastmath.c,
3673 ipa-cp.c,ipa-prop.c,ipa-prop.h: Update FSF address.
3674
d06526b7
AP
36752005-08-16 Andrew Pinski <pinskia@physics.uc.edu>
3676
3677 PR tree-opt/23402
3678 * gimplify.c (zero_sized_type): New function.
3679 (gimplify_modify_expr_rhs): If we have a zero sized type,
3680 replace the statement with an empty statement.
3681
e9e68ae3
L
36822005-08-16 H.J. Lu <hongjiu.lu@intel.com>
3683
3684 * config/i386/crtfastmath.c (set_fast_math): Add "=m" for
3685 fxsave.
3686
e374d5c9
ILT
36872005-08-16 Ian Lance Taylor <ian@airs.com>
3688
3689 * doc/tm.texi (Label Output): Correct typo.
3690
f2dd440f
SB
36912005-08-16 Steven Bosscher <stevenb@suse.de>
3692
3693 PR target/23376
3694 * loop-unroll.c (analyze_insn_to_expand_var): Make sure that
3695 force_operand will work later on using have_insn_for.
3696
196f5a8d
VR
36972005-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3698
3699 * fold-const.c (tree_expr_nonnegative_p): Regroup cases.
3700
cf0efa6a
ILT
37012005-08-16 Ian Lance Taylor <ian@airs.com>
3702
3703 PR c++/23337
3704 * gimplify.c (gimplify_init_ctor_eval): If we see an element of
3705 vector type, don't try to construct it element by element. Add an
3706 assertion that we use a FIELD_DECL when building a COMPONENT_REF.
3707
3a69437a
VR
37082005-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3709
3710 * fold-const.c (fold_ternary): Simplify folding of a CALL_EXPR.
3711
17ccdd2c
GK
37122005-08-16 Geoffrey Keating <geoffk@apple.com>
3713
3714 * doc/invoke.texi (Precompiled Headers): Document some more options
3715 which are known to be safe.
3716
355a9e43
JW
37172005-08-16 James E Wilson <wilson@specifix.com>
3718
3719 PR tree-optimization/21105
3720 * c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
3721 TREE_OVERFLOW check.
3722
ce45ef46
DE
37232005-08-16 David Edelsohn <edelsohn@gnu.org>
3724
3725 * config/rs6000/rs6000.md (ltu<mode>): Convert to mode macro.
3726 (neg_ltu<mode>): Same.
3727 (gtu<mode>): Same.
3728 (neg_gtu<mode>): Same.
3729
543e2cc3
VR
37302005-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3731
3732 * builtins.c (expand_builtin_strcat): Remove superfluous call to fold.
3733 (fold_builtin_isdigit): Use fold_buildN.
3734 (build_function_call_expr): Likewise.
3735 * c-typeck.c (c_finish_loop): Likewise.
3736
28f52a4d 37372005-08-16 J"orn Rennecke <joern.rennecke@st.com>
85199961 3738 Richard Shann <rshann@superh.com>
28f52a4d
R
3739
3740 PR middle-end/20396:
3741 * optabs.c (expand_binop): Take TRULY_NOOP_TRUNCATION into account.
3742
546ad2d9
SP
37432005-08-16 Sebastian Pop <pop@cri.ensmp.fr>
3744
3745 * tree-ssa-loop-niter.c (scev_probably_wraps_p): Reword a comment.
3746
39c39be0
RE
37472005-08-15 Richard Earnshaw <richard.earnshaw@arm.com>
3748
3749 PR target/23355
c414ac1d 3750 * arm.c (thumb_compute_save_reg_mask): Use similar logic to
39c39be0
RE
3751 arm_compure_save_reg0_reg12_mask to determine when the PIC register
3752 must be saved.
3753
f60c951c
JDA
37542005-08-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3755
3756 PR middle-end/23369
3757 * fold-const.c (build_range_check): Disable optimization for function
3758 pointer expressions on targets that require function pointer
3759 canonicalization.
3760
5b5dc475
UW
37612005-08-15 Ulrich Weigand <uweigand@de.ibm.com>
3762
3763 * simplify-rtx.c (simplify_const_relational_operation): When
3764 extracting arguments of a COMPARE, recompute the mode as well.
3765
1595ec20
ILT
37662005-08-15 Ian Lance Taylor <ian@airs.com>
3767
3768 * tree.c (build_string): Mark tree CONSTANT and INVARIANT.
3769
eb5f0c07
DD
37702005-08-15 DJ Delorie <dj@redhat.com>
3771
3772 * config/m32c/mov.md (movqi_op): Immediates can't be moved to
3773 the stack.
3774 (movsi_splittable): Allow, but split, moves to the stack.
3775 * config/m32c/m32c.c (m32c_split_move): Always split moves to the
3776 stack.
3777
06145cb9
KG
37782005-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3779
3780 * aclocal.m4 (gcc_AC_FUNC_PRINTF_PTR): Delete.
3781 * configure.ac: Don't call gcc_AC_FUNC_PRINTF_PTR.
3782 * system.h (HOST_PTR_PRINTF): Don't define, poison it.
c414ac1d 3783
06145cb9
KG
3784 * bitmap.c, c-decl.c, config/i386/i386-interix.h,
3785 config/iq2000/iq2000.c, mips-tfile.c, print-rtl.c, print-tree.c:
3786 Delete HOST_PTR_PRINTF.
3787
3788 * configure, config.in: Regenerate.
3789
b5568f07
DE
37902005-08-15 David Edelsohn <edelsohn@gnu.org>
3791
3792 * config/rs6000/rs6000.md (QHSI): New mode macro.
3793 (wd): Extend mode attr for QImode and HImode
3794 (dbits): New mode attr.
3795 (zero_extend<mode>di2): Convert to mode macro.
3796
a73035ae
SE
37972005-08-15 Steve Ellcey <sje@cup.hp.com>
3798
3799 PR target/21841
3800 * doc/invoke.texi (-mgnu-ld): Update description.
3801 (-mhp-ld): Ditto.
3802
7e0923cd
SP
38032005-08-15 Sebastian Pop <pop@cri.ensmp.fr>
3804
3805 PR 23391
3806 * Makefile.in (tree-chrec.o): Depends on real.h.
3807 * tree-chrec.c: Include real.h.
3808 (chrec_fold_plus_poly_poly, chrec_fold_multiply_poly_poly,
3809 chrec_fold_plus_1): Use build_real for SCALAR_FLOAT_TYPE_P.
3810 * tree-scalar-evolution.c (add_to_evolution_1,
3811 interpret_rhs_modify_expr): Ditto.
3812
852c19aa
SP
38132005-08-15 Sebastian Pop <pop@cri.ensmp.fr>
3814
3815 PR 23386
3816 * tree-data-ref.c (estimate_niter_from_size_of_data): When
3817 step is negative compute the estimation from init downwards to zero.
c414ac1d 3818
b23dce24
JM
38192005-08-14 James A. Morrison <phython@gcc.gnu.org>
3820
3821 * fold-const (fold_binary): Call fold_build2 instead of fold (build.
3822
11598938
UW
38232005-08-14 Ulrich Weigand <uweigand@de.ibm.com>
3824
3825 * config/s390/s390.c (s390_const_ok_for_constraint_p): Add 'P'
3826 constraint.
3827 (legitimate_reload_constant_p): Fix handling of lliXX operands.
3828 Accept double-word constants that can be split.
3829 * config/s390/s390.md ("movti"): Use 'P' constraint.
3830 ("*movdi_31", "*movdf_31"): Likewise.
3831
8971094d
DB
38322005-08-14 Daniel Berlin <dberlin@dberlin.org>
3833
3834 Fix PR tree-optimization/22615
c414ac1d 3835
8971094d 3836 * tree-ssa-structalias.c (solution_set_add): Handle
c414ac1d 3837 first_vi_for_offset returning NULL.
8971094d
DB
3838 (do_da_constraint): Ditto.
3839 (do_sd_constraint): Ditto.
3840 (do_ds_constraint): Ditto
3841 (find_func_aliases): Ditto.
3842 (build_constraint_graph): RHS is allowed be ANYTHING.
3843 (first_vi_for_offset): Return NULL if we couldn't find anything at
3844 the offset.
c414ac1d 3845
c5b2a111
UW
38462005-08-14 Ulrich Weigand <uweigand@de.ibm.com>
3847
3848 * config/s390/s390.c (s390_canonicalize_comparison): Prefer register
3849 over memory as first operand.
3850
adb7b764
L
38512005-08-14 H.J. Lu <hongjiu.lu@intel.com>
3852
3853 PR target/23360
3854 * config/i386/crtfastmath.c (set_fast_math): Check if DAZ is
3855 available for setting it.
3856
1f400bbb
IR
38572005-08-14 Ira Rosen <irar@il.ibm.com>
3858
3859 PR tree-optimization/23320
c414ac1d
EC
3860 * tree-data-ref.c (base_addr_differ_p): Add comment. Check
3861 data-refs' types instead of base object nullness. Add check for
3862 pointer type data-refs before first location comparison. Remove
1f400bbb
IR
3863 assert.
3864
db875b15
AS
38652005-08-14 Andreas Schwab <schwab@suse.de>
3866
3867 * doc/md.texi (Machine Constraints): Fix misplaced @end table.
3868
0aca9021
JW
38692005-08-13 James E Wilson <wilson@specifix.com>
3870
3871 * doc/cpp.texi (__SSP__, __SSP_ALL__): Document.
3872 * doc/invoke.texi (-Wstack-protector, -fstack-protector,
3873 -fstack-protector-all, --param ssp-buffer-size): Document.
3874 (-Wvariadic-macros): Alphabetize.
3875 (-fsched-stalled-insns-dep): Add missing 'f'.
3876
0ffb94cd
JW
3877 * c-cppbuiltin.c (c_cpp_builtins): Add comment for flag_stack_protect
3878 macros.
3879
3256a76e
DE
38802005-08-13 David Edelsohn <edelsohn@gnu.org>
3881
3882 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 'a' for indexed
3883 or indirect address operand.
3884 (EXTRA_ADDRESS_CONSTRAINT): New.
3885 * config/rs6000/rs6000.md (prefetch): Change constraint "p" to "a".
3886
d7770457
SP
38872005-08-13 Sebastian Pop <pop@cri.ensmp.fr>
3888
3889 PR tree-optimization/22236
3890 * tree-cfg.c (print_pred_bbs, print_succ_bbs): Correctly print
3891 successors and predecessors.
3892 * tree-chrec.c (chrec_convert): Before converting, check that
3893 sequences don't wrap.
3894 * tree-data-ref.c (compute_estimated_nb_iterations): Moved ...
3895 (analyze_array): Extern.
3896 (find_data_references_in_loop): Remove call to
3897 compute_estimated_nb_iterations.
3898 * tree-data-ref.h (analyze_array): Declared.
3899 * tree-flow-inline.h (single_ssa_tree_operand, single_ssa_use_operand,
3900 single_ssa_def_operand, zero_ssa_operands): Fix documentation.
3901 * tree-flow.h (scev_probably_wraps_p): Declare with an extra parameter.
c414ac1d 3902 * tree-scalar-evolution.c (instantiate_parameters_1): Factor entry
d7770457
SP
3903 condition.
3904 * tree-ssa-loop-ivcanon.c: Fix documentation.
3905 * tree-ssa-loop-ivopts.c (idx_find_step): Add a fixme note.
3906 * tree-ssa-loop-niter.c (compute_estimated_nb_iterations): ... here.
3907 (infer_loop_bounds_from_undefined): New.
3908 (estimate_numbers_of_iterations_loop): Use
3909 infer_loop_bounds_from_undefined.
3910 (used_in_pointer_arithmetic_p): New.
3911 (scev_probably_wraps_p): Pass an extra parameter. Call
3912 used_in_pointer_arithmetic_p. Check that AT_STMT is not null.
3913 (convert_step): Fix documentation.
3914 * tree-vrp.c (adjust_range_with_scev): Call instantiate_parameters.
3915 Use initial_condition_in_loop_num and evolution_part_in_loop_num
3916 instead of CHREC_LEFT and CHREC_RIGHT. Adjust the call to
3917 scev_probably_wraps_p.
3918
e2df5c1d
UW
39192005-08-13 Ulrich Weigand <uweigand@de.ibm.com>
3920
3921 * config/s390/s390.c (s390_split_branches): Revert 2005-08-12 change.
3922 (s390_register_info): Ignore clobbered_regs information for fixed
3923 registers, and only fixed registers.
3924 (s390_init_frame_layout): Remove redundant call.
3925
7cd5c075
GP
39262005-08-12 Gerald Pfeifer <gerald@pfeifer.com>
3927
c414ac1d 3928 * doc/invoke.texi (C++ Dialect Options): Add dynamic_cast to
7cd5c075
GP
3929 description of -Wold-style-casts.
3930
7b8acc34
AK
39312005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
3932 Jakub Jelinek <jakub@redhat.com>
3933
3934 * config/s390/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
3935 * config/s390/s390-protos.h (s390_get_thread_pointer): Prototype added.
3936 * config/s390/s390.c (print_operand): New output modifier 'G' added.
3937 (get_thread_pointer): Renamed to s390_get_thread_pointer.
3938 * config/s390/s390.md (stack_protect_set, stack_protect_test): If
3939 TARGET_THREAD_SSP_OFFSET is defined, change operands[1] to
3940 (MEM:P (PLUS:P (tp, TARGET_THREAD_SSP_OFFSET))).
3941 (UNSPEC_SP_SET, UNSPEC_SP_TEST): New constants.
3942 ("stack_protect_set", "stack_protect_test"): New expanders.
3943 ("stack_protect_setsi", "stack_protect_setdi", "stack_protect_testsi",
3944 "stack_protect_testdi"): New insn definitions.
3945
4700982d
AK
39462005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
3947
3948 * config/s390/s390.md ("*movdf_31"): Changed constraint from P to K.
3949
3c60bed5
PB
39502005-08-12 Paul Brook <paul@codesourcery.com>
3951
3952 * config/arm/lib1funcs.asm: Error if __ARM_ARCH__ not set.
3953
f83a336d
AK
39542005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
3955
3956 * config/s390/predicates.md (setmem_operand): New predicate.
3957 (shift_count_operand): Accept ANDs with special constants as
3958 operand.
3959 * config/s390/s390.c (print_shift_count_operand): Skip ANDs
3960 with special constants.
3961 * config/s390/s390.md ("setmem_long", "*setmem_long"): Replaced
3962 shift_count_operand with setmem_operand.
3963
c4d50129
AK
39642005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
3965
3966 * config/s390/s390.c (s390_extract_part, s390_single_part):
3967 Type cast added.
3968 (s390_const_ok_for_constraint_p): Added SImode to the N constraint.
3969 (s390_output_mi_thunk): Don't use lg on 31 bit.
3970 * config/s390/s390.md ("*movdi_31", "*movdf_31"): Added lmy and stmy.
3971 ("*llgt_sisi" and splitter): Replaced TARGET_64BIT with TARGET_ZARCH.
3972
b5c67a49
AK
39732005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
3974
3975 * config/s390/s390.c (CONST_OK_FOR_J, CONST_OK_FOR_K): New macros.
3976 (s390_select_ccmode, s390_rtx_costs, legitimate_reload_constant_p,
3977 s390_init_frame_layout, s390_emit_prologue, s390_emit_epilogue,
3978 s390_output_mi_thunk): Replaced uses of CONST_OK_FOR_CONSTRAINT_P
3979 with one of the new macros.
3980
dc4477f5
AK
39812005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
3982
c414ac1d 3983 * config/s390/s390.c (s390_split_branches, s390_init_frame_layout):
dc4477f5
AK
3984 Don't set save_return_addr_p.
3985 (s390_register_info): Make clobbered_regs not depending on
3986 save_return_addr_p.
3987
ec92bd4b
KK
39882005-08-12 Kaz Kojima <kkojima@gcc.gnu.org>
3989
3990 * gcc.c (LINK_SSP_SPEC): Remove space before a trailing }.
3991 (LINK_COMMAND_SPEC): Add space after %(link_ssp).
3992
8c2efff7
JW
39932005-08-11 James E. Wilson <wilson@specifix.com>
3994
3995 * config/ia64/ia64.h (EXTRA_MEMORY_CONSTRAINT): New.
3996
ea93971a
JJ
39972005-08-11 Jakub Jelinek <jakub@redhat.com>
3998
86bd8ebf
JJ
3999 * dwarf2out.c (add_location_or_const_value_attribute): Prefer
4000 locations gathered by var-tracking in single entry loc_list
4001 over loc_descriptor_from_tree.
4002
ea93971a
JJ
4003 * dwarf2out.c (concat_loc_descriptor): Add can_use_fbreg argument,
4004 pass it down to loc_descriptor.
4005 (loc_descriptor): Pass can_use_fbreg to concat_loc_descriptor.
4006 (containing_function_has_frame_base): Move earlier in the file.
4007 (loc_descriptor_from_tree_1): Use containing_function_has_frame_base
4008 instead of always assuming fbreg can't be used.
4009
dec1f3aa
DE
40102005-08-11 David Edelsohn <edelsohn@gnu.org>
4011
4012 * config/rs6000/altivec.md: Change constraint "m" to "Z".
4013 * config/rs6000/predicates.md (indexed_or_indirect_operand):
4014 Accept address wrapped in AND for Altivec.
4015 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
4016 Strip AND wrapping offset address for Altivec.
4017
7fd6694b
RH
40182005-08-11 Richard Henderson <rth@redhat.com>
4019
4020 PR middle-end/23312
4021 * gimplify.c (gimplify_one_sizepos): Check for INTEGER_TYPE
4022 before using TYPE_IS_SIZETYPE.
4023
4ead2a39
RH
40242005-08-11 Richard Henderson <rth@redhat.com>
4025
4026 PR target/22225
4027 * config/alpha/alpha.c (alphaev4_insn_pipe): Add take pipes for
4028 insn types not present on ev4.
4029 (alphaev5_insn_pipe): Similarly.
4030
da8ce8be
RE
40312005-08-11 Richard Earnshaw <richard.earnshaw@arm.com>
4032
4033 PR target/23250
4034 * arm.c (arm_override_options): If the user has selected callee-super-
4035 interworking, then enable normal interworking.
4036
eb2b0cc0
RO
40372005-08-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4038
4039 * config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Undef before
4040 redefinition.
4041
b630e240
WZ
40422005-08-11 Wu Zhou <woodzltc@cn.ibm.com>
4043
4044 * doc/rtl.texi: Fix two typos.
4045
cac32996
RG
40462005-08-11 Richard Guenther <rguenther@suse.de>
4047
4048 PR target/23289
4049 * config/i386/i386.c (ix86_function_ok_for_sibcall): Handle
4050 cases where we call to/from functions returning void.
4051
a4faac50
JM
40522005-08-10 James A. Morrison <phython@gcc.gnu.org>
4053
4054 PR c++/23225
4055 * tree.c (build_pointer_type_for_mode): Robustify.
4056
907f033f
JW
40572005-08-10 James E Wilson <wilson@specifix.com>
4058
4059 * defaults.h, config/alpha/alpha.h, config/ia64/ia64.h
4060 (ASM_OUTPUT_ADDR_VEC_ELT): Delete.
4061
4062 * config/alpha/alpha.c (alpha_arg_partial_bytes): Change "(CUM)." to
4063 "cum->".
4064
bb8df8a6
EC
40652005-08-10 Eric Christopher <echristo@apple.com>
4066
4067 * config/rs6000/rs6000.c (mems_ok_for_quad_peep): Rewrite.
4068 * config/rs6000/rs6000.md (*lfq_power2, *stfq_power2): Use
4069 V2DFmode.
4070
4f8dbd34
AP
40712005-08-10 Andrew Pinski <pinskia@physics.uc.edu>
4072
ce31ea84 4073 PR target/21887
4f8dbd34
AP
4074 * config/darwin.c (machopic_indirect_data_reference): Use a new register
4075 for the high part when generating dynamic-no-pic code.
4076
d75e02d6
L
40772005-08-10 H.J. Lu <hongjiu.lu@intel.com>
4078
4079 * config.gcc (i[34567]86-*-linux*): Add i386/t-crtfm to tm-file.
4080 (x86_64-*-linux*): Likewise.
4081
4082 * config/i386/crtfastmath.c: New file.
4083 * config/i386/t-crtfm: Likewise.
4084
4085 * config/i386/linux.h (ENDFILE_SPEC): New.
4086 * config/i386/linux64.h (ENDFILE_SPEC): Likewise.
4087
4088 * config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add
4089 crtfastmath.o.
4090
61abee65
DN
40912005-08-10 Dorit Nuzman <dorit@il.ibm.com>
4092
4093 * doc/md.texi: (reduc_smin, reduc_umin, reduc_splus, reduc_uplus):
4094 (vec_shl, vec_shr): Document new operations.
4095 * tree.def (VEC_RSHIFT_EXPR, VEC_LSHIFT_EXPR): Fix comment.
4096
11aac14f
DE
40972005-08-10 David Edelsohn <edelsohn@gnu.org>
4098
4099 * config/rs6000/predicates.md (indexed_or_indirect_address): New.
4100 * config/rs6000/rs6000.md (prefetch): Remove operand 0 mode and
4101 change predicate to indexed_or_indirect_address.
4102
9bd05108
RS
41032005-08-10 Richard Sandiford <richard@codesourcery.com>
4104
4105 * config/arm/lib1funcs.asm (__aeabi_uidiv, __aeabi_idiv): New aliases.
4106 * config/arm/libgcc-bpabi.ver (GCC_3.5): Add __aeabi_idiv,
4107 __aeabi_uidiv, __aeabi_uread4, __aeabi_uread8, __aeabi_uwrite4
4108 and __aeabi_uwrite8.
4109 * config/arm/unaligned-funcs.c: New file.
4110 * config/arm/t-bpabi (LIB2FUNCS_EXTRA): Add unaligned-funcs.c.
4111
defb77dc
PB
41122005-08-09 Paolo Bonzini <bonzini@gnu.org>
4113
4114 * bb-reorder.c (pass_duplicate_computed_gotos, pass_partition_blocks):
4115 Add dump.
4116 * cfglayout.c (pass_insn_locators_initialize): Add dump.
4117 * emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes):
4118 Add dump.
4119 * except.c (pass_convert_to_eh_region_ranges): Add dump.
4120 * final.c (pass_shorten_branches): Add dump.
4121 * flow.c (pass_recompute_reg_usage, pass_remove_death_notes): Add dump.
4122 (pass_life): Rename dump.
4123 (rest_of_handle_flow2): Remove initial verify_flow_info.
4124 * function.c (pass_instantiate_virtual_regs): Add dump.
4125 * integrate.c (pass_initial_value_sets): Add dump.
4126 * jump.c (pass_cleanup_barriers, pass_purge_lineno_notes): Add dump.
4127 * loop-init.c (pass_rtl_loop_init, pass_rtl_loop_done): Rename dump.
4128 (pass_rtl_move_loop_invariants, pass_rtl_unswitch, pass_rtl_doloop,
4129 pass_rtl_unroll_and_peel_loops): Rename dump and add gate.
4130 (gate_rtl_move_loop_invariants, gate_rtl_unswitch, gate_rtl_doloop,
4131 gate_rtl_unrool_and_peel_loops): New.
4132 (rtl_move_loop_invariants, rtl_unswitch, rtl_unrool_and_peel_loops,
4133 rtl_doloop): Do not look at flags.
4134 * mode-switching.c (pass_mode_switching): Add dump.
4135 * recog.c (pass_split_all_insns, pass_split_for_shorten_branches,
4136 pass_split_before_regstack): Add dump.
4137 * regmove.c (pass_stack_adjustments): Add dump.
4138 * tree-optimize.c (pass_fixup_cfg): Add dump.
4139
2a6a63c1
KI
41402005-08-10 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
4141
4142 PR 23309
4143 * config/m32r/m32r.c (m32r_reload_lr): Fix off by one error when
4144 deciding which instruction sequence to use.
4145
0ed414a4
DN
41462005-08-09 Dorit Nuzman <dorit@il.ibm.com>
4147
bb8df8a6 4148 * tree-vect-transform.c (vect_create_epilog_for_reduction): Set
0ed414a4
DN
4149 BIT_FIELD_REF_UNSIGNED for newly created BIT_FIELD_REFs.
4150
9bc15050
RG
41512005-08-09 Richard Guenther <rguenther@suse.de>
4152
4153 * c-common.c (builtin_function_2): Remove.
4154 (def_builtin_1): New function.
4155 (c_common_nodes_and_builtins): Use def_builtin_1 to
4156 build builtin functions.
4157
07da68fd
JZ
41582005-08-09 Jie Zhang <jie.zhang@analog.com>
4159
4160 * config/bfin/uclinux.h (NO_IMPLICIT_EXTERN_C): Define.
4161 * config/bfin/elf.h (NO_IMPLICIT_EXTERN_C): Define.
4162 * config/bfin/bfin.c (bfin_return_in_memory): Update to really match
4163 Visual DSP.
4164
2f133f46
JM
41652005-08-09 James A. Morrison <phython@gcc.gnu.org>
4166
4167 * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): Use
4168 fold_binary instead of fold_build2 since we don't care about the
4169 resulting tree.
4170 (loop_niter_by_eval): Likewise.
4171 (compare_trees): Likewise.
4172 (proved_non_wrapping_p): Likewise.
4173
f14e694e
JM
41742005-08-09 James A. Morrison <phython@gcc.gnu.org>
4175
4176 PR c/23161
4177 PR c/23165
4178 * c-typeck.c (c_finish_if_stmt): Look into STATEMENT_LISTs to see
4179 if the if is really empty.
4180
2ef571e2
SB
41812005-08-09 Steven Bosscher <stevenb@suse.de>
4182
4183 PR tree-optimization/23234
4184 * tree-ssa-math-opts.c (place_reciprocal): New enum.
4185 (execute_cse_reciprocals_1): Replace the 'phi' argument with an
4186 argument of the new enum.
4187 (execute_cse_reciprocals): Add reciprocals for function arguments
4188 on the unique successor edge of the entry block. Update other calls
4189 to execute_cse_reciprocals_1.
4190
a9c5ddf9
RH
41912005-08-08 Richard Henderson <rth@redhat.com>
4192
4193 PR 22439
4194 * gimplify.c (gimplify_one_sizepos): Preserve the original type.
4195
22469409
BW
41962005-08-08 Bob Wilson <bob.wilson@acm.org>
4197
4198 * expr.c (write_complex_part): Return after handling MEM.
4199
2d88fcc2
JC
42002005-08-08 Josh Conner <jconner@apple.com>
4201
4202 PR rtl-optimization/23241
4203 * combine.c (simplify_comparison): Fix error in determining
4204 whether to lift a subreg from comparison.
4205
7a4eca66
DE
42062005-08-08 David Edelsohn <edelsohn@gnu.org>
4207
4208 PR target/18506
4209 * config/rs6000/altivec.md (vec_init<mode>): New.
4210 (vec_set<mode>): New.
4211 (vec_extract<mode>): New.
4212 * config/rs6000/rs6000.c (rs6000_expand_vector_init): New.
4213 (rs6000_expand_vector_set): New.
4214 (rs6000_expand_vector_extract): New.
4215 (rs6000_legitimate_offset_address_p): Offset addresses are valid
4216 for Altivec modes before reload.
4217 (altivec_expand_vec_init_builtin): New.
4218 (get_element_number): New.
4219 (altivec_expand_vec_set_builtin): New.
4220 (altivec_expand_vec_ext_builtin): New.
4221 (altivec_expand_builtin): Expand vec_init, vec_set, and vec_ext
4222 builtins.
4223 (altivec_init_builtins): Init vec_init, vec_set, and vec_ext
4224 builtins.
4225 * config/rs6000/rs6000.h (rs6000_builtins): Add
4226 ALTIVEC_BUILTIN_VEC_INIT_<mode>, ALTIVEC_BUILTIN_VEC_SET_<mode>,
4227 ALTIVEC_BUILTIN_VEC_EXT_<mode>.
4228 * config/rs6000/rs6000-protos.h: Declare new functions.
4229
47efdea4
JH
42302005-08-08 Jan Hubicka <jh@suse.cz>
4231
4232 * i386.c (legitimate_pic_address_disp_p): Refuse GOTOFF in 64bit mode.
4233 (legitimate_address_p): Refuse GOT and GOTOFF in 64bit mode.
4234 * i386.md (movdi*): Use pic_32bit_operand.
4235 * predicates.md (pic_32bit_operand): New.
4236
f303a996
NS
42372005-08-08 Nathan Sidwell <nathan@codesourcery.com>
4238
4239 PR c++/21166
4240 * stor-layout.c (finalize_type_size): Undo DECL_PACKED when possible.
4241
a5ad7269
JM
42422005-08-07 James A. Morrison <phython@gcc.gnu.org>
4243
4244 * tree-vrp.c (simplify_div_or_mod_using_range): Use build2.
4245 (test_for_singularity): Use fold_build2.
4246
914a6ee8
JDA
42472005-08-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4248
4249 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Fix loop upper bound.
4250
f18faab7
DS
42512005-08-07 Danny Smith <dannysmith@users.sourceforge.net>
4252
4253 * config/i386/cygming.h (SUBTARGET_ENCODE_SECTION_INFO): Define.
4254 (COMMON_ASM_OP) Define.
4255 * config/i386/i386.c (ix86_in_large_data_p): Add ATTRIBUTE_UNUSED
4256 (ix86_encode_section_info): Likewise.
4257 (TARGET_ENCODE_SECTION_INFO): Conditionally define as
4258 SUBTARGET_ENCODE_SECTION_INFO.
4259
455c08cb
RH
42602005-08-06 Richard Henderson <rth@redhat.com>
4261
4262 PR 21894
4263 * tree-nested.c (convert_local_reference): Save and restore val_only
4264 around component_ref and friends. Clear walk_subtrees by default.
4265
3300bf07
PG
42662005-08-06 Peter O'Gorman <peter@pogma.com>
4267
4268 PR 21366
4269 * gcc.c (process_command): Check the argument to -b has a dash.
4270 * doc/invoke.texi: Update -b and -V docs.
4271
e2ba06d6
JW
42722005-08-06 James E Wilson <wilson@specifix.com>
4273
4274 * config/mips/cross64.h, config/mips/t-cross64: Delete.
4275
3e0a6ca6
MM
42762005-08-06 Michael Matz <matz@suse.de>
4277
4278 * genattrtab.c (write_attr_get, write_attr_case): Use insn_code
4279 member only if only one insn is associated with the value.
4280
2f806f3b
NC
42812005-08-06 Nick Clifton <nickc@redhat.com>
4282
4283 * config/stormy16/stormy16.h (SYMBOL_FLAG_XSTORMY16_BELOW100):
4284 New define.
3e0a6ca6 4285 (ASM_OUTPUT_LABELREF): Delete - it is no longer needed.
2f806f3b
NC
4286 * config/stormy16/stormy16.c (xstormy16_below100_symbol):
4287 Check symbol flags instead of symbol name mangling.
3e0a6ca6 4288 (xstormy16_asm_output_aligned_common): Likewise. Also
2f806f3b
NC
4289 simplify code since the bss100_section cass is the only case
4290 where the below100 code will be triggered.
3e0a6ca6 4291 (xstormy16_encode_section_info): Encode below100 attribute
2f806f3b
NC
4292 using the SYMBOL_FLAG_XSTORMY16_BELOW100 instead of mangling
4293 the name.
3e0a6ca6 4294 (xstormy16_strip_name_encoding): Delete - this function is no
2f806f3b 4295 longer needed.
3e0a6ca6 4296 (TARGET_STRIP_NAME_ENCODING): Undefine.
2f806f3b
NC
4297 * config/stormy16/stormy16-protos.h: Delete prototype for
4298 xstormy16_strip_name_encoding.
4299
a4d05547
KH
43002005-08-06 Kazu Hirata <kazu@codesourcery.com>
4301
4302 * Makefile.in, cfgexpand.c, cfgloop.h, cfgloopmanip.c,
4303 config.gcc, ipa-cp.c, ipa-prop.c, ipa-prop.h, reg-stack.c,
4304 tree-ssa-structalias.c, tree-vrp.c, value-prof.c, vec.h,
4305 config/linux.h, config/alpha/alpha.h, config/alpha/linux.h,
4306 config/alpha/predicates.md, config/arc/arc.h,
4307 config/arm/arm.h, config/arm/ieee754-df.S,
4308 config/arm/ieee754-sf.S, config/bfin/bfin.c,
4309 config/bfin/bfin.h, config/c4x/c4x.h, config/crx/crx.c,
4310 config/fr30/fr30.h, config/frv/frv.h, config/h8300/h8300.h,
4311 config/i386/i386.h, config/ia64/ia64.c, config/ia64/ia64.h,
4312 config/m68hc11/m68hc11.h, config/mips/mips.c,
4313 config/mips/mips.h, config/mips/openbsd.h,
4314 config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.h,
4315 config/pdp11/pdp11.h, config/rs6000/linux-unwind.h,
4316 config/rs6000/rs6000.c, config/rs6000/rs6000.h,
4317 config/s390/s390.c, config/sh/sh.c, config/sh/sh.h,
4318 config/sparc/linux.h, config/sparc/linux64.h,
4319 config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h,
4320 doc/extend.texi, doc/gcov.texi, doc/install.texi,
4321 doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix comment/doc
4322 typos. Follow spelling conventions.
4323
591baeb0
JM
43242005-08-06 Joseph S. Myers <joseph@codesourcery.com>
4325
4326 PR c/23113
4327 * stmt.c (warn_if_unused_value): Check TREE_NO_WARNING at start.
4328 Don't handle NOP_EXPR, CONVERT_EXPR and NON_LVALUE_EXPR
4329 specially. Check for side effects only for COND_EXPR.
4330 * c-typeck.c (c_finish_stmt_expr): Mark statement expression
4331 return with TREE_NO_WARNING.
4332
f7a064b5
RS
43332005-08-06 Richard Sandiford <richard@codesourcery.com>
4334
4335 PR rtl-optimization/23233
4336 * loop.c (combine_movables): Require the modes to be the same.
4337 (move_movables): Remove handling of cases where the replacement
4338 had a different mode to the original.
4339
b17775ab
JM
43402005-08-05 James A. Morrison <phython@gcc.gnu.org>
4341
4342 PR tree-optimization/23128
4343 * tree-vrp.c (vrp_int_const_binop): Check if unsigned addition or
4344 subtraction wrap, and set TREE_OVERFLOW if they do.
4345
bb1ecfe8
RH
43462005-08-05 Richard Henderson <rth@redhat.com>
4347
4348 PR 21728
4349 * tree-cfg.c (remove_bb): Transmute DECL_NONLOCAL labels into
4350 FORCED_LABEL labels.
4351
50aa8e71
R
43522005-08-05 J"orn Rennecke <joern.rennecke@st.com>
4353
4354 PR middle-end/23135
4355 * reload.c (find_reloads_subreg_address): Pass down TYPE
4356 unchanged. Change all callers except find_reloads_toplev.
4357
b01896cc
MM
43582005-08-05 Michael Matz <matz@suse.de>
4359
4360 * genattrtab.c (current_alternative_string): Remove.
4361 (SIMPLIFY_ALTERNATIVE): Ditto.
4362 (attr_alt_bit_p): Ditto.
4363 (alternative_name): Make const char *.
4364 (evaluate_eq_attr): Remove use of above things.
4365 (simplify_test_exp): Ditto.
4366 (simplify_test_exp <EQ_ATTR>): Guard for insn_code < 0 .
4367 (simplify_test_exp <AND>): Correct typo (test 'right' not 'left').
4368
3f94bdec
JW
43692005-08-04 James E Wilson <wilson@specifix.com>
4370
4371 * config/ptx4.h, config/sol2.h, config/arm/freebsd.h,
4372 config/arm/linux-elf.h, config/frv/frv.h, config/i386/freebsd.h,
4373 config/i386/freebsd64.h, config/i386/netware.h, config/i386/sco5.h,
4374 config/ia64/freebsd.h, config/rs6000/sysv4.h, config/sparc/freebsd.h
4375 (LINK_SPEC): Delete useless %{Wl,*:%*} item.
4376
460f84ed
RH
43772005-08-04 Richard Henderson <rth@redhat.com>
4378
4379 PR 21529
4380 * params.def (PARAM_SRA_MAX_STRUCTURE_COUNT): New.
4381 * params.h (SRA_MAX_STRUCTURE_COUNT): New.
4382 * tree-sra.c (decide_block_copy): Use it. Disable element copy
4383 if we'd have to instantiate too many members.
4384
5a910e43
RH
43852005-08-04 Richard Henderson <rth@redhat.com>
4386
4387 PR 21291
4388 * tree-outof-ssa.c (coalesce_asm_operands): New.
4389 (coalesce_ssa_name): Use it. Split out ...
4390 (coalesce_phi_operands, coalesce_result_decls): ... these.
4391
27c37000
PB
43922005-08-04 Paul Brook <paul@codesourcery.com>
4393
4394 * read-rtl.c (read_quoted_string): Break if EOF.
4395
5808968e
AP
43962005-08-04 Andrew Pinski <pinskia@physics.uc.edu>
4397
4398 * tree.h (fold_build1): Change to macro and call fold_build1_stat.
4399 (fold_build2): Likewise.
4400 (fold_build3): Likewise.
4401 (fold_build1_stat): New function prototype.
4402 (fold_build2_stat): Likewise.
4403 (fold_build3_stat): Likewise.
4404 * fold-const.c (fold_build1): Rename to ..
4405 (fold_build1_stat): this. Add MEM_STAT_DECL. Pass the mem stats
4406 through to build1_stat.
4407 (fold_build2): Rename to ..
4408 (fold_build2_stat): this. Add MEM_STAT_DECL. Pass the mem stats
4409 through to build2_stat.
4410 (fold_build3): Rename to ..
4411 (fold_build3_stat): this. Add MEM_STAT_DECL. Pass the mem stats
4412 through to build3_stat.
4413
d70eadf7 44142005-08-04 David Edelsohn <edelsohn@gnu.org>
6d62ac14 4415 Ian Lance Taylor <ian@airs.com>
d70eadf7
DE
4416
4417 * function.c (assign_stack_local_1): Do not correct stack slot
4418 address if allocation size is smaller than mode size.
4419
c4f548b8
DN
44202005-08-04 Diego Novillo <dnovillo@redhat.com>
4421
4422 PR 22037
4423 * tree-cfg.c (replace_uses_by): Call mark_new_vars_to_rename.
4424 (tree_merge_blocks): Propagate anything allowed by
4425 may_propagate_copy.
4426 Clarify documentation.
4427 * passes.c (execute_todo): If cleanup_tree_cfg invalidated the
4428 SSA form, schedule an update if necessary.
4429
2b7c3273
GP
44302005-08-04 Gerald Pfeifer <gerald@pfeifer.com>
4431
4432 * doc/install.texi (Binaries): Remove broken link to
4433 Sinix/Reliant Unix binaries.
4434
b755446c
RH
44352005-08-03 Richard Henderson <rth@redhat.com>
4436
4437 PR 23221
4438 * function.c (stack_protect_epilogue): Export.
4439 * tree.h (stack_protect_epilogue): Declare.
4440 * calls.c (expand_call): Call it.
4441
7904f95f
EC
44422005-08-03 Eric Christopher <echristo@apple.com>
4443
4444 * gcc.c (LINK_SSP_SPEC): Add fstack-protector-all.
4445 * config/darwin.h (LINK_COMMAND_SPEC): Add link_ssp
4446 spec.
4447
d783b2a2
JH
44482005-08-04 Jan Hubicka <jh@suse.cz>
4449
4450 * profile.c (branch_prob): Split edges with goto locus on them
4451 to get proper line counts.
4452 * tree-cfg.c (make_cond_expr_edges): Record user goto locuses, if any.
4453
53366450
PB
44542005-08-03 Paul Brook <paul@codesourcery.com>
4455
4456 * function.c (assign_parms): Round current_function_args_size
4457 to PARM_BOUNDARY, not STACK_BOUNDARY.
4458
e81d37df
GK
44592005-08-03 Geoffrey Keating <geoffk@apple.com>
4460
4461 * config/i386/i386.c (x86_elf_aligned_common)
4462 (x86_output_aligned_bss): Don't try to use symbols that aren't defined.
4463
279072c8
ZD
44642005-08-03 Zdenek Dvorak <dvorakz@suse.cz>
4465
4466 PR tree-optimization/23157
4467 * tree-scalar-evolution.c (scev_const_prop): Unshare trees
4468 before emitting them.
4469
9d2b0e12
VR
44702005-08-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4471
4472 PR tree-optimization/19899
4473 * Makefile.in (tree-scalar-evolution.o): Add real.h.
4474 * tree-scalar-evolution.c: Include real.h.
4475 (add_to_evolution): Build constant -1 of correct type.
4476
178df94f
JH
44772005-08-03 Jan Hubicka <jh@suse.cz>
4478
4479 * cfgloop.h (DLTHE_FLAG_COMPLETTE_PEEL): New flag.
4480 * cfgloopmanip.c (duplicate_loop_to_header_edge): Special case
4481 profile updating for complette unrolling.
4482 * loop-unroll.c (peel_loop_completely): Use it.
4483 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise.
4484 (tree_unroll_loops_completely): Disable code growing unrolling of cold
4485 loops.
4486
4164b2fb
PB
44872005-08-03 Paul Brook <paul@codesourcery.com>
4488
4489 * combine.c (can_change_dest_mode): New function.
4490 (try_combine, simplify_set): Use it.
4491
4e2b3c87
EB
44922005-08-03 Eric Botcazou <ebotcazou@adacore.com>
4493
4494 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Only force
4495 TFmode to BLKmode.
4496
1d7887ca
GP
44972005-08-03 Gerald Pfeifer <gerald@pfeifer.com>
4498
4499 * doc/install.texi (Specific): Adjust link to openavr.org.
4500 (Specific): Remove broken reference to GCC 2.8.1 for OS/2.
4501 (Binaries): Adjust HP-UX Porting Center link.
4502 (Binaries): Adjust Free Software Foundation ordering link.
1d7887ca 4503
c7f59e9c
AP
45042005-08-03 Andrew Pinski <pinskia@physics.uc.edu>
4505
4506 * convert.c (convert_to_integer): Use fold_build1 instead of
4507 build1 when converting an integer to an integer.
4508
65030b76
RH
45092005-08-02 Richard Henderson <rth@redhat.com>
4510
4511 * combine.c (combine_instructions): Don't use reg_equal/equiv
4512 results if the mode doesn't match.
4513
6d1ab63a
MM
45142005-08-02 Mark Mitchell <mark@codesourcery.com>
4515
4516 * config/i386/t-mingw32 (NATIVE_SYSTEM_HEADER_DIR): Set it.
4517 * doc/fragments.texi (NATIVE_SYSTEM_HEADER_DIR): Document it.
4518
6d90db3a
RH
45192005-08-02 Richard Henderson <rth@redhat.com>
4520
4521 PR 23196
7904f95f 4522 * explow.c (memory_address): Remove special-case for
6d90db3a
RH
4523 virtual_stack_vars_rtx and virtual_incoming_args_rtx.
4524
78234a86
DN
45252005-08-02 Diego Novillo <dnovillo@redhat.com>
4526
4527 PR 23164
4528 * tree-cfgcleanup.c (cleanup_tree_cfg): Do not limit the
4529 number of calls to cleanup_tree_cfg_1.
4530
5a006700
MR
45312005-08-02 Martin Reinecke <martin@mpa-garching.mpg.de>
4532
4533 * doc/invoke.texi: document file extensions .F90 and .F95
4534
237504fc
RG
45352005-08-02 Richard Guenther <rguenther@suse.de>
4536
4537 * fold-const.c (tree_expr_nonnegative_p): frexp(x, &e) is
4538 positive if its first argument is positive.
4539
e63c84d8
RG
45402005-08-02 Richard Guenther <rguenther@suse.de>
4541
4542 PR tree-optimization/23177
4543 * tree-ssa-operands.c (get_tmr_operands): Use get_expr_operands
4544 on TMR_TAG.
4545
08303d5b
JM
45462005-08-02 James A. Morrison <phython@gcc.gnu.org>
4547
4548 PR tree-optimization/23129
4549 * tree-vrp.c (extract_range_from_binary_expr): Set value range to
4550 varying for divisions with anti-ranges.
4551
5e5a504e
JH
45522005-08-02 Jan Hubicka <jh@suse.cz>
4553
4554 * tree-ssa-dom.c (thread_across_edge): Remove updating here.
4555 * tree-ssa-threadupdate.c (thread_block): Add it here.
4556
4dbdb061
JW
45572005-08-01 James E Wilson <wilson@specifix.com>
4558
4559 * config/mips/mips.c (mips_encode_section_info, mips_attribute_table,
4560 TARGET_ENCODE_SECTION_INFO, TARGET_ATTRIBUTE_TABLE): New.
4561 * config/mips/mips.h (SYMBOL_FLAG_LONG_CALL, SYMBOL_REF_LONG_CALL_P):
4562 New.
4563 * config/mips/predicates.md (const_call_insn_operand): Add check for
4564 SYMBOL_REF_LONG_CALL_P.
4565 * doc/extend.texi (long_call): Document the new attribute.
4566
9e254451
ILT
45672005-08-01 Ian Lance Taylor <ian@airs.com>
4568 Richard Henderson <rth@redhat.com>
4569
4570 * Makefile.in (RTL_BASE_H): Add real.h.
4571 * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Use structure copy
4572 instead of memcpy.
4573 * emit-rtl.c (const_double_from_real_value): Likewise; use rtx.u.rv
4574 directly.
4575 * rtl.c (rtl_check_failed_code_mode): New.
4576 * rtl.h (struct rtx_def): Add u.rv.
4577 (XCMWINT, XCNMPRV): New.
4578 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Use XCMWINT.
4579 (CONST_DOUBLE_REAL_VALUE): Use XCNMPRV; constify.
4580
5671655e
RH
45812005-08-01 Richard Henderson <rth@redhat.com>
4582
75735872
RH
4583 * dwarf2out.c (mem_loc_descriptor): Use XEXP, not SUBREG_REG,
4584 with auto-inc codes.
4585
5671655e
RH
4586 * config/alpha/predicates.md (and_operand): Test mode of CONST_DOUBLE.
4587
72ce3d4a
JH
45882005-08-01 Jan Hubicka <jh@suse.cz>
4589
4590 * i386-protos.h (asm_preferred_eh_data_format): Declare.
4591 * i386.c: Include dwarf2.h
4592 (asm_preferred_eh_data_format): New.
4593 * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Move offline.
4594
23d28bfe
ILT
45952005-08-01 Ian Lance Taylor <ian@airs.com>
4596
4597 * config/host-linux.c (linux_gt_pch_get_address): Add new name
4598 randomize_va_space for virtual address randomization control.
4599
d6e14e8f
SB
46002005-08-01 Steven Bosscher <stevenb@suse.de>
4601
4602 * common.opt (flag_ipa_cp): Put in right place to maintain
4603 alphabetic sort.
4604
5ded7254
JH
46052005-08-01 Jan Hubicka <jh@suse.cz>
4606
4607 * profile.c (compute_value_histograms): Fix thinko.
4608 * value-prof.c: Include toplev.h
4609 (check_counter): New function.
4610 (tree_divmod_fixed_value_transform, tree_mod_pow2_value_transform,
4611 tree_mod_subtract_transform): Add sanity check.
4612
a8f82ec4
RG
46132005-08-01 Richard Guenther <rguenther@suse.de>
4614
4615 PR tree-optimization/23133
4616 * tree-ssa-math-opts.c (execute_cse_reciprocals): Walk
4617 current functions parameter decls to find defs to cse
4618 reciprocals of.
4619
ac264fef
RG
46202005-08-01 Richard Guenther <rguenther@suse.de>
4621
4622 PR tree-optimization/23109
4623 * tree-ssa-math-opts.c (execute_cse_reciprocals_1):
4624 If trapping math is in effect, use post-dominator information
4625 to check if we'd in any case reach a trapping point before
4626 doing the reciprocal insertion.
4627 (execute_cse_reciprocals): Compute post-dominators, if necessary.
4628 * tree-ssa-loop-im.c (determine_invariantness_stmt): RDIV
4629 expressions are invariant only if trapping math is not in effect.
4630
57fb5341
RL
46312005-08-01 Razya Ladelsky <razya@il.ibm.com>
4632
5a006700
MR
4633 * cgraph.h (update_call_expr, cgraph_copy_node_for_versioning,
4634 cgraph_function_versioning): New declarations.
4635 * cgraphunit.c: Add include to ipa-prop.h.
4636 (update_call_expr, cgraph_copy_node_for_versioning,
4637 cgraph_function_versioning): New functions.
4638 * integrate.c (copy_decl_for_inlining): Remove.
4639 * ipa-prop.h (ipa_replace_map): New struct.
4640 (struct ipa_node): Add ipcp_orig_node, count_scale, new fields.
4641 * ipa-cp.c (ipcp_method_orig_node, ipcp_method_is_cloned,
4642 ipcp_method_set_orig_node, ipcp_cloned_create, ipcp_method_get_scale,
4643 ipcp_method_set_scale, ipcp_method_compute_scale, ipcp_after_propagate,
4644 ipcp_iterate_stage, ipcp_method_scale_print,
4645 ipcp_profile_mt_count_print, ipcp_profile_cs_count_print,
4646 ipcp_profile_edge_print, ipcp_profile_bb_print , ipcp_profile_print,
4647 ipcp_replace_map_create, ipcp_redirect, ipcp_update_callgraph,
4648 ipcp_update_bb_counts, ipcp_update_profiling,
4649 ipcp_update_edges_counts): New functions.
4650 (ipcp_method_cval_init): Remove restriction regarding local methods.
4651 (ipcp_init_stage): Add ipcp_method_compute_scale.
4652 (ipcp_insert_stage): Add versioning.
4653 (ipcp_structures_print): Add ipcp_method_scale_print.
4654 (ipcp_driver): Dump profiling info.
4655 * Makefile.in: Remove integrate.h dependency from tree-inline.o.
4656 Add ipa-prop.h dependency to tree-inline.o and cgraphunit.o.
4657 * tree-inline.c: Remove include to integrate.h, Add include ipa-prop.h.
4658 (struct inline_data): Add versioning_p, ipa_info, new fields.
4659 (remap_decl, mark_local_for_remap_r, setup_one_parameter,
4660 declare_return_variable): Replace calls to copy_decl_for_inlining with
4661 copy_decl_for_dup.
4662 (copy_body_r, copy_bb, copy_cfg_body, copy_tree_r, inlining_p): Add
4663 versioning support.
4664 (copy_decl_for_dup): Rename from copy_decl_for_inlining.
4665 Add argument VERSIONING.
4666 (copy_arguments_for_versioning, copy_static_chain,
4667 function_versionable_p, tree_versionable_function_p,
4668 tree_function_versioning, replace_ref_tree): New functions.
4669 * tree-inline.h: Include varray.h.
4670 (tree_versionable_function_p, tree_function_versioning,
4671 tree copy_decl_for_dup): New declarations.
57fb5341
RL
4672
46732005-08-01 Razya Ladelsky <razya@il.ibm.com>
4674
5a006700
MR
4675 * ipa-cp.c: New file. Contains IPCP specific functionality.
4676 * ipa-prop.h: New file. Contains structures/definitions that can be
4677 used by several interprocedural data flow optimizations (and also IPCP).
4678 * ipa-prop.c: New file.
4679 * Makefile.in: Add ipa-cp.c, ipa-prop.h, ipa-prop.c.
4680 * common.opt: Add ipa-cp flag.
4681 * timevar.def: Add IPCP optimization.
4682 * tree-optimize.c (init_tree_optimization_passes): Schedule
4683 pass_ipa_cp.
4684 * tree-pass.h (pass_ipa_cp): Declare.
57fb5341 4685
569b7f6a
KH
46862005-08-01 Kazu Hirata <kazu@codesourcery.com>
4687
4688 * dwarf2out.c, fold-const.c, ipa-type-escape.c,
4689 loop-invariant.c, predict.c, predict.def, reload1.c, reorg.c,
4690 tree-sra.c, config/arm/arm.c, config/crx/crx.c,
4691 config/i386/i386.c, config/mips/mips.h,
4692 config/rs6000/rs6000.h, config/sh/sh.c,
4693 config/stormy16/stormy16.c: Fix comment typos.
4694
5922c215
JM
46952005-08-01 Joseph S. Myers <joseph@codesourcery.com>
4696
4697 PR c/22311
4698 * c-typeck.c (build_binary_op): Use common_type wrapper on
4699 shortened types.
4700 (common_type): Update comment.
4701
a3f4b7d8
SB
47022005-07-31 Steven Bosscher <stevenb@suse.de>
4703
4704 PR target/23095
4705 * common.opt (flag_gcse_after_reload): Don't initialize to 2.
4706 (flag_rerun_cse_after_loop): Initialize this to 2 instead.
4707 * postreload-gcse.c (hash_scan_set): Do not consider stack regs.
4708
baf7a0d3
JH
47092005-07-31 Jan Hubicka <jh@suse.cz>
4710
4711 * pretty-print.h (pp_widest_integer): New macro.
4712 * tree-pretty-print.c (dump_bb_header): Print BB frequencies and
4713 counts.
4714
7dcbf659
JH
47152005-07-31 Jan Hubicka <jh@suse.cz>
4716
4717 * output.h (enum section_category): Export from varasm.c
4718 (categorize_decl_for_section): Likewise.
4719 * varasm.c (enum section_category): Kill.
4720 (categorize_decl_for_section): Make global.
4721 * i386-protos.h (x86_output_aligned_bss, x86_elf_aligned_common):
4722 Declare.
4723 * i386.c (ix86_section_threshold): New static variable.
4724 (ix86_in_large_data_p, ix86_encode_section_info,
4725 x86_64_elf_unique_section,
4726 x86_64_elf_select_section): New functions.
4727 (TARGET_ENCODE_SECTION_INFO): Define
4728 (override_options): Enable medium model for PIC.
4729 (ix86_expand_prologue): Expand gen_set_got_rex64.
4730 (legitimate_constant_p): Handle new UNSPECs.
4731 (legitimate_pic_address_disp_p): Likewise.
4732 (legitimize_pic_address): Lower MEDIUM model addressing.
4733 * i386.h (PIC_OFFSET_TABLE_REGNUM): Set for medium model PIC.
4734 (enum cmodel): Add MEDIUM_PIC.
4735 (SYMBOL_REF_FAR_ADDR_P): New macro.
4736 (SYMBOL_FLAG_FAR_ADDR): New flag.
4737 * i386.md (movdi): Support medium model.
4738 (set_got_rex64): New pattern.
4739 * i386.opt (mlarge-data-threshold): New flag.
4740 * predicates.md (zext_operand/sext_operand): Deal with medium model.
4741 * x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Use x86_output_aligned_bss.
4742 (ASM_OUTPUT_ALIGNED_COMMON, TARGET_ASM_SELECT_SECTION,
4743 TARGET_ASM_UNIQUE_SECTION): New.
4744
4745 * invoke.texi (-mlarge_data_threshold): Document
4746
0bde02b3
JH
47472005-07-31 Jan Hubicka <jh@suse.cz>
4748
4749 * tree-outof-ssa.c (coalesce_ssa_name): Use coalesce_cost.
4750 (coalesce_vars): Likewise.
4751 * tree-ssa-live.c (coalesce_cost): New.
4752 (build_tree_conflict_graph): Use coalesce_cost.
4753 * tree-ssa-live.h (coalesce_cost): Declare.
4754
a4ccc336
RE
47552005-07-30 Richard Earnshaw <richard.earnshaw@arm.com>
4756
4757 * arm.md (all peepholes for post-increment operations): Delete.
4758 (strqi_preinc, strqi_predec, loadqi_preinc, loadqi_predec)
4759 (loadqisi_preinc, loadqisi_predec, strsi_preinc, strsi_predec)
4760 (loadsi_preinc, loadsi_predec, strqi_shiftpreinc, strqi_shiftpredec)
4761 (loadqi_shiftpreinc, loadqi_shiftpredec, strsi_shiftpreinc)
4762 (strsishift_predec, loadsi_shiftpreinc, loadsi_shiftpredec): Delete.
4763
06581725
JM
47642005-07-30 James A. Morrison <phython@gcc.gnu.org>
4765
4766 * fold-const.c (tree_expr_nonnegative_p): Always return true for
4767 non-integral types.
4768
0cbc4d77 47692005-07-29 Wolfgang Bangerth <bangerth@dealii.org>
d6e14e8f 4770
0cbc4d77
WB
4771 PR target/22582
4772 * doc/invoke.texi: Document -rdynamic.
d6e14e8f 4773
91d975b8
JM
47742005-07-30 Joseph S. Myers <joseph@codesourcery.com>
4775
4776 PR c/23143
4777 * c-parser.c (c_parser_parms_list_declarator): Call
4778 mark_forward_parm_decls.
4779 * c-decl.c (merge_decls): Only check DECL_IN_SYSTEM_HEADER for
4780 decls with visibility structure.
4781
f26b8ec9
PB
47822005-07-30 Paul Brook <paul@codesourcery.com>
4783
4784 * config/arm/arm.c (arm_coproc_mem_operand): Fix inaccurate comment.
4785
a14b88bb
PB
47862005-07-30 Paul Brook <paul@codesourcery.com>
4787
4788 * config/arm/arm-protos.h (arm_canonicalize_comparison): Update
4789 prototype.
4790 * config/arm/arm.c (arm_canonicalize_comparison): Use correct limit
4791 value for mode.
4792 * config/arm/arm.h (CANONICALIZE_COMPARISON): Pass mode argument.
4793
7c47d6e9
JM
47942005-07-29 Joseph S. Myers <joseph@codesourcery.com>
4795
4796 PR c/529
4797 * c-decl.c (warn_if_shadowing): Don't check for PARM_DECL in
4798 nested function declarators.
4799 (pushdecl): Don't call warn_if_shadowing for PARM_DECL.
4800 (grokparms): Call warn_if_shadowing for parameters used within the
4801 parameter list.
4802 (store_parm_decls_newstyle): Call warn_if_shadowing for parameters
4803 not used within the parameter list.
4804 (store_parm_decls_oldstyle): Call warn_if_shadowing for parameters.
4805
3bc751bd
JH
48062005-07-30 Jan Hubicka <jh@suse.cz>
4807
4808 * expr.c (expand_expr_real_1): Do not load mem targets into register.
4809 * i386.c (ix86_fixup_binary_operands): Likewise.
4810 (ix86_expand_unary_operator): Likewise.
4811 (ix86_expand_fp_absneg_operator): Likewise.
4812 * optabs.c (expand_vec_cond_expr): Validate dest.
4813
bc1594c1
JM
48142005-07-29 Joseph S. Myers <joseph@codesourcery.com>
4815
4816 PR c/21720
4817 * real.c (real_from_string): Also set last bit if there is a
4818 nonzero hex digit beyond GCC's internal precision after ".".
4819
3aca4bff
DE
48202005-07-29 David Edelsohn <edelsohn@gnu.org>
4821
4822 * config/rs6000/altivec.md: Convert UNSPEC numerical values to
4823 define_constants. Change duplicate values to unassigned numbers.
4824 Change UNSPEC_SUBS to UNSPEC_VSUBS.
4825 (*altivec_vspltsf): New.
4826 (altivec_vperm_v4sf): Delete.
4827 (altivec_vperm_<mode>): Use mode macro V.
4828 (altivec_vsldoi_<mode>): Convert to mode macro pattern.
4829 (altivec_predicate_v4sf): Delete.
4830 (altivec_predicate_<mode>): Use mode macro V.
4831 (*altivec_lvesfx): New.
4832 (*altivec_stvesfx): New.
4833 (vec_realign_load_v4sf): Delete.
4834 (vec_realign_load_<mode>): Use mode macro V.
4835 * config/rs6000/rs6000.c (generate_set_vrsave): Use
4836 UNSPECV_SET_VRSAVE.
4837
b28250ab
MM
48382005-07-29 Mark Mitchell <mark@codesourcery.com>
4839
4840 PR bootstrap/23131
4841 * configure.ac (SYSTEM_HEADER_DIR): Avoid setting to empty
7904f95f 4842 string.
b28250ab
MM
4843 * configure: Regenerated.
4844
eae50c87
PB
48452005-07-29 Paul Brook <paul@codesourcery.com>
4846
4847 * doc/install.texi: Add link to GFortran binaries wiki page.
4848
79dad081
DU
48492005-07-29 David Ung <davidu@mips.com>
4850
4851 * config/mips/mips.c (mips_cpu_info_table): Add 5kf to the table.
4852 (mips_rtx_cost_data): Add costs for 5kc and 5kf.
4853 * config/mips/mips.h (processor_type): Add PROCESSOR_5KF.
4854 * config/mips/mips.md (cpu): Add 5kf name.
4855 (includes): Includes 5k.md.
4856 * config/mips/5k.md: New DFA pipeline for the 5kc/5kf.
4857 * doc/invoke.texi (MIPS Options): Updated cpu name supported with
7904f95f 4858 -march flag.
79dad081 4859
89e80dd4
DN
48602005-07-29 Diego Novillo <dnovillo@redhat.com>
4861
4862 PR 22550
4863 * tree-cfgcleanup.c (cleanup_tree_cfg_1): Extract from ...
4864 (cleanup_tree_cfg): ... here.
4865 Call cleanup_tree_cfg_1 until there are no more cleanups to
4866 do.
4867
d2f3ffba
JM
48682005-07-29 James A. Morrison <phython@gcc.gnu.org>
4869
4870 * tree-vrp.c (compare_range_with_value): Return true or false
4871 for ~[VAL_1, VAL_2] OP VAL if VAL_1 <= VAL <= VAL_2 for NE_EXPR and
4872 EQ_EXPR respectively.
4873
536fa7b7
KH
48742005-07-29 Kazu Hirata <kazu@codesourcery.com>
4875
4876 * cfg.c, tree-complex.c, config/frv/frv.c, config/i386/i386.c:
4877 Fix comment typos.
4878
6a2cf9dc
DN
48792005-07-29 Diego Novillo <dnovillo@redhat.com>
4880
4881 * tree-ssa-dom.c (struct opt_stats_d): Add field num_iterations.
4882 (tree_ssa_dominator_optimize): Increment it.
4883 (dump_dominator_optimization_stats): Print it.
4884
abf86bf2
RE
48852005-07-29 Richard Earnshaw <richard.earnshaw@arm.com>
4886 Steven Bosscher <stevenb@suse.de>
4887
4888 PR rtl-optimization/23117
4889 * sched-rgn.c (add_branch_dependences): Handle COND_EXEC correctly
4890 when head == tail. Tidy comment.
4891
37cf6116
RH
48922005-07-28 Richard Henderson <rth@redhat.com>
4893
4894 * cse.c (exp_equiv_p): Special case CONST_DOUBLE.
4895 * cselib.c (rtx_equal_for_cselib_p): Likewise.
4896 * jump.c (rtx_renumbered_equal_p): Likewise.
4897 * loop.c (rtx_equal_for_loop_p): Tidy and special case PC, CC0,
4898 CONST_INT and CONST_DOUBLE.
4899 (rtx_equal_for_prefetch_p): Likewise, plus LABEL_REF.
4900 * reload.c (operands_match_p): Special case CONST_INT and
4901 CONST_DOUBLE; check mode earlier.
4902
13b22d3a
JM
49032005-07-29 Joseph S. Myers <joseph@codesourcery.com>
4904
4905 PR c/22240
4906 * c-typeck.c (convert_for_assignment): Do not check
4907 DECL_IN_SYSTEM_HEADER on NULL fundecl.
4908
ca8bdb78
JM
49092005-07-29 Joseph S. Myers <joseph@codesourcery.com>
4910
4911 PR c/22192
4912 * c-typeck.c (composite_type): Prefer constant size arrays to
4913 VLAs.
4914
b608d27a
JM
49152005-07-29 Joseph S. Myers <joseph@codesourcery.com>
4916
4917 PR c/21720
4918 * real.c (real_from_string): Set last bit if there is a nonzero
4919 hex digit beyond GCC's internal precision.
4920
a560c83a
RH
49212005-07-28 Richard Henderson <rth@redhat.com>
4922
4923 PR rtl-opt/22619
4924 * cfgcleanup.c (try_forward_edges): Watch out for end of
4925 insn chain.
4926
66f33c03
JW
49272005-07-28 James E Wilson <wilson@specifixinc.com>
4928
4929 PR c/23106
4930 * doc/invoke.texi (Wstrict-aliasing=2): Fix misleading wording.
4931
c5a4444c
JH
49322005-07-28 Jan Hubicka <jh@suse.cz>
4933
8a76829c
JH
4934 * Makefile.in (rtl-profile.o): Kill all traces of it.
4935 * common.opt (fspeculative-prefetching, ftree-based-profiling): Kill.
4936 * coverage.h (rtl_coverage_counter_ref): Kill.
4937 * opts.c (flag_speculative_prefetching_set): Kill.
4938 (flag_loop_optimize_set): New.
4939 (common_handle_option): Disable loop optimizer when profiling;
4940 do not handle speculative prefetching.
4941 * passes.c (init_optimization_passes): Replace pass_profiling combo
4942 by branch_prob pass.
4943 * profile.c (compute_value_histograms): Update for simplified value
4944 profiles.
4945 (rtl_register_profile_hooks): Kill.
4946 (pass_profiling): Kill.
4947 (rest_of_handle_branch_prob): Do not profile.
4948 * toplev.c (process_options): Remove speculative prefetching.
4949 * toplev.h (flag_tree_based_profiling): Kill.
4950 * tree-profile.c (prepare_instrumented_value,
4951 tree_gen_interval_profiler, tree_gen_pow2_profiler,
4952 tree_gen_one_value_profiler, do_tree_profiling): Update for
4953 simplified datastructures.
4954 * value-prof.c: Add comment that speculative prefetching was dropped;
4955 update rest of file for simplified datastructures.
4956 (NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX,
4957 rtl_divmod_values_to_profile, insn_prefetch_values_to_profile,
4958 find_mem_reference_1, find_mem_reference_2, find_mem_reference,
4959 rtl_values_to_profile, rtl_divmod_fixed_value, rtl_mod_pow2,
4960 rtl_mod_subtract, gen_speculative_prefetch,
4961 rtl_divmod_fixed_value_transform, rtl_mod_pow2_value_transform,
4962 rtl_mod_subtract_transform, speculative_prefetching_transform): Kill.
4963 (gate_handle_value_profile_transformations,
4964 rest_of_handle_value_profile_transformations,
4965 pass_value_profile_transformations): Kill.
4966 * value-prof.h (histogram_value_t): Remove IL based unions.
4967 (rtl_register_value_prof_hooks, rtl_register_profile_hooks,
4968 rtl_profile_hooks): Remove hooks.
4969
4970 * invoke.texi (-ftree-based-profiling, -fspeculative-prefetching): Kill.
4971
c5a4444c
JH
4972 * cgraph.c (cgraph_clone_edge): New UPDATE_ORIGINAL argument.
4973 (cgraph_clone_node): Likewise.
4974 * cgraph.h (cgraph_clone_edge): Update prototype.
4975 (cgraph_clone_node): Likewise.
4976 * ipa-inline.c (cgraph_clone_inlined_nodes): Update call of
4977 cgraph_clone_node.
4978 (lookup_recursive_calls): Consider profile.
4979 (cgraph_decide_recursive_inlining): Fix updating; use new
4980 probability argument; use profile.
4981 * params.def (PARAM_MIN_INLINE_RECURSIVE_PROBABILITY): New.
4982 * tree-inline.c (copy_bb): Update clal of clone_edge.
4983 * tree-optimize.c (tree_rest_of_compilation): UPdate cal of clone_node.
4984
4985 * invoke.texi (min-inline-recursive-probability): Document.
4986
ccf548a7
GP
49872005-07-28 Gerald Pfeifer <gerald@pfeifer.com>
4988
4989 * doc/install.texi (Configuration): Update Valgrind homepage.
4990
2c97f8e4
RH
49912005-07-28 Richard Henderson <rth@redhat.com>
4992
407ab83b 4993 PR middle-end/21362
2c97f8e4
RH
4994 * cfgrtl.c (rtl_merge_blocks): Call maybe_remove_eh_handler on
4995 labels we want to delete.
4996 (cfg_layout_merge_blocks): Likewise.
4997
b188ebb1
RH
49982005-07-28 Richard Henderson <rth@redhat.com>
4999
5000 PR target/17692
d6e14e8f
SB
5001 * config/i386/i386.c (ix86_split_sse_movcc): Emit DELETED note
5002 when expanding to nothing.
b188ebb1 5003
facc20ee
JC
50042005-07-28 Josh Conner <jconner@apple.com>
5005
5006 * ipa-inline.c (update_caller_keys): Fix estimated_growth caching.
5007 (cgraph_decide_inlining_of_small_functions): Likewise.
5008
9de21a23
JC
50092005-07-28 Josh Conner <jconner@apple.com>
5010
5011 * ipa-inline.c (cgraph_edge_badness): Update comments. Invert shift
5012 direction of badness if negative.
5013 (cgraph_default_inline_p): Add reason to parameters, and assign it
5014 a value.
5015 (cgraph_decide_inlining_of_small_functions): New parameter in call
5016 to cgraph_default_inline_p.
5017 (cgraph_decide_inlining_incrementally): Likewise.
5018 * cgraphunit.c (decide_is_function_needed): Likewise.
5019 * cgraph.h (cgraph_default_inline_p): Likewise.
5020
206048bd
VR
50212005-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5022
5023 * builtins.c: Fix comment typo(s).
5024 * genautomata.c: Likewise.
5025 * gimplify.c: Likewise.
5026 * tree-dfa.c: Likewise.
5027 * tree-flow-inline.h: Likewise.
5028 * tree-into-ssa.c: Likewise.
5029 * tree-ssa-alias.c: Likewise.
5030 * tree-ssa-ccp.c: Likewise.
5031 * tree-ssa-copy.c: Likewise.
5032 * tree-ssa-dce.c: Likewise.
5033 * tree-ssa-dom.c: Likewise.
5034 * tree-ssa-operands.c: Likewise.
5035 * tree-tailcall.c: Likewise.
5036 * tree-vectorizer.c: Likewise.
5037 * tree-vrp.c: Likewise.
5038 * tree.c: Likewise.
5039
d579f20b
JL
50402005-07-28 Jeff Law <law@redhat.com>
5041
d6e14e8f
SB
5042 * tree-vrp.c (test_for_singularity): Extracted from ...
5043 (simplify_cond_using_ranges): Attempt to simplify a relational
5044 test to NE_EXPR. Dump information when a COND_EXPR is simplified.
d579f20b 5045
5bb1823d
DN
50462005-07-28 Dorit Nuzman <dorit@il.ibm.com>
5047
5048 PR tree-optimization/22506
5049 * tree-vectorizer.c (update_phi_nodes_for_guard2): Skip loop-closed
5050 phis whose argument is constant.
5051
b92ba6ff
R
50522005-07-28 J"orn Rennecke <joern.rennecke@st.com>
5053
5054 PR rtl-optimization/18992
5055 Back out this patch:
5056 2003-10-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5057 PR optimization/12142
5058 * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
5059 uses of the register in the SET_SRC. Remove unnecessary argument.
5060
5061 Replace it with this:
5062 * cse.c (count_reg_usage): In INSN, JUMP_INSN and CALL_INSN cases,
5063 if flag_non_call_exceptions is set and the insn may trap, pass
5064 pc_rtx as dest for recursion.
5065 In SET_SRC part of SET case, if dest is already set, pass it down
5066 unchanged.
5067
09bac500
JH
50682005-07-28 Jan Hubicka <jh@suse.cz>
5069
5070 * cfg.c (update_bb_profile_for_threading): Use RDIV.
5071 (scale_bbs_frequencies_int): Likewise, assert for possible overflow.
5072 (scale_bbs_frequencies_gcov_type): Be more curefull about overflows and
5073 roundoff errors.
5074 * tree-cfg.c (tree_duplicate_sese_region): Use counts for updating
5075 profile when available.
5076
50772005-07-28 Jan Beulich <jbeulich@novell.com>
a71aef0b
JB
5078
5079 * config/ia64/ia64.c (ia64_load_pair_ok): New.
5080 (ia64_print_operand): Describe and handle 'X'.
5081 (ia64_register_move_cost): Also handle FP_REGS.
5082 (ia64_preferred_reload_class): Likewise.
5083 (ia64_secondary_reload_class): Likewise.
5084 (ia64_dependencies_evaluation_hook): New local variable c. Initialize
5085 it. Also check for ITANIUM_CLASS_FLDP.
5086 * config/ia64/ia64.h (FP_REGNO_P): New.
5087 (HARD_REGNO_MODE_OK): Remove explusion of TImode.
5088 (reg_class): Add FP_REGS.
5089 (REG_CLASS_NAMES): Adjust for it.
5090 (REG_CLASS_CONTENTS): Likewise.
5091 (REGNO_REG_CLASS): Use FP_REGS where appropriate.
5092 (REG_CLASS_FROM_LETTER): Handle 'x'.
5093 (CLASS_MAX_NREGS): Handle FP_REGS.
5094 (MEMORY_MOVE_COST): Likewise.
5095 * config/ia64/ia64.md (itanium_class): Add fldp.
5096 (type): Handle fldp.
5097 (movti_internal): More allowable operand combinations. Use ldfp8 when
5098 splitting unnecessary. Remove predicable attribute. Adjust
5099 itanium_class attribute.
5100 (smuldi3_highpart): Remove outdated comment.
5101 (mulditi3, umulditi3, rotlti3): New expanders.
5102 (addti3, subti3, mulditi3_internal, umulditi3_internal, negti2, rotlti3_internal): New insns.
5103 (absti2): Disabled new insn for future reference.
5104 Respective new splitters.
5105 * config/ia64/itanium1.md (1_fldp, 1b_fldp): New insn reservations.
5106 * config/ia64/itanium2.md (2_fldp, 2b_fldp): Likewise.
5107 * config/ia64/ia64-protos.h (ia64_load_pair_ok): New.
5108
77d1d8e0
JM
51092005-07-25 James A. Morrison <phython@gcc.gnu.org>
5110
5111 PR rtl-optimization/23047
5112 * simplify-rtx.c (simplify_const_relational_operation): Respect
5113 flag_wrapv for comparisons with ABS.
5114
ff08cbee
JM
51152005-07-27 James A. Morrison <phython@gcc.gnu.org>
5116
5117 PR tree-optimization/22493
5118 * tree-vrp.c (extract_range_from_unary_expr): Deal with -fwrapv and
5119 VR_ANTI_RANGEs properly for NEGATE_EXPRs and ABS_EXPRs.
5120
38c28a25
AH
51212005-07-27 Aldy Hernandez <aldyh@redhat.com>
5122
5123 * config/frv/frv.opt (moptimize-membar): New.
5124
5125 * doc/invoke.texi: Document -moptimize-membar and its inverse.
5126
5127 * config/frv/frv.h: Remove machine_function definition.
5128
d6e14e8f
SB
5129 * config/frv/frv.c (struct frv_io): New.
5130 (struct machine_function): Moved from frv.h. Add has_membar_p.
5131 (frv_same_doubleword_p, frv_io_fixed_order_p, frv_io_union)
5132 (frv_extract_membar, frv_io_check_address, frv_io_handle_set)
5133 (frv_io_handle_use_1, frv_io_handle_use, frv_optimize_membar_local)
5134 (frv_optimize_membar_global, frv_optimize_membar): New functions.
5135 (frv_reorg): Call frv_optimize_membar when appropriate.
5136 (bdesc_loads, bdesc_stores): Use the membar code as the icode field.
5137 (frv_expand_builtin): Adjust calls accordingly.
5138 (frv_io_address_cookie): New function.
5139 (frv_expand_load_builtin, frv_expand_store_builtin): Emit a normal
5140 load or store rather than a special insn. Add ccnstant address and
5141 io-type operands to the membar.
38c28a25
AH
5142 (frv_ifcvt_modify_tests): Unsign regno.
5143 (frv_ifcvt_modify_tests): Same.
5144
5145 * config/frv/frv.md: Remove UNSPEC_BUILTIN_{LOAD,STORE}. Change
5146 UNSPEC_OPTIONAL_MEMBAR constant.
5147 (builtin_read_<mode>): Delete.
5148 (builtin_write_<mode>): Delete.
5149 ("optional_membar_<mode>"): Add operand.
5150
5151 * testsuite/gcc.target/frv/all-builtin-read8.c: Delete.
5152 * testsuite/gcc.target/frv/all-builtin-read16.c: Delete.
5153 * testsuite/gcc.target/frv/all-builtin-read32.c: Delete.
5154 * testsuite/gcc.target/frv/all-builtin-read64.c: Delete.
5155 * testsuite/gcc.target/frv/all-builtin-write8.c: Delete.
5156 * testsuite/gcc.target/frv/all-builtin-write16.c: Delete.
5157 * testsuite/gcc.target/frv/all-builtin-write32.c: Delete.
5158 * testsuite/gcc.target/frv/all-builtin-write64.c: Delete.
5159 * testsuite/gcc.target/frv/all-read-write-1.c: New.
5160
47c504ea
KK
51612005-07-28 Kaz Kojima <kkojima@gcc.gnu.org>
5162
5163 * df.c (df_uses_record): Handle SCRATCH.
5164
ef11c839
SB
51652005-07-28 Steven Bosscher <stevenb@suse.de>
5166
5167 PR debug/20161
5168 * passes.c (rest_of_decl_compilation): If decl is a type and
5169 we have encountered errors, don't emit debug information.
5170
1eb68dca 51712005-07-27 Kenneth Zadeck <zadeck@naturalbridge.com>
ef11c839 5172
1eb68dca 5173 * params.def: Fixed comment.
7904f95f 5174
10252a62
BH
51752005-07-27 Bjoern Haase <bjoern.m.haase@web.de>
5176
5177 PR target/19885
5178 * config/avr/avr.c (TARGET_ASM_ALIGNED_SI_OP): Add.
5179 (TARGET_ASM_UNALIGNED_HI_OP): Add.
5180 (TARGET_ASM_UNALIGNED_SI_OP): Add.
5181
e4598783
SB
51822005-07-27 Steven Bosscher <stevenb@suse.de>
5183
5184 PR c++/22003
5185 * varasm.c (assemble_start_function): Don't do anything that may
5186 require a CFG if the current function is a thunk.
5187
a9fdd472
GK
51882005-07-25 Geoffrey Keating <geoffk@apple.com>
5189
5190 * doc/install.texi (Prerequisites): Mention that perl is needed
5191 to do export control in libstdc++ targetting Darwin.
5192
2bd1e239
SB
51932005-07-27 Steven Bosscher <stevenb@suse.de>
5194
5195 PR rtl-optimization/17808
5196 * sched-deps.c (sched_get_condition): Enable #if 0'ed code.
5197 (sched_insns_conditions_mutex_p): Split out from...
5198 (add_dependence): ...here. But don't call it from here.
5199 (add_dependence_list): Check sched_insns_conditions_mutex_p
5200 before calling add_dependence.
5201 (add_dependence_list_and_free): Likewise.
5202 (fixup_sched_groups): Likewise.
5203 (sched_analyze_1): Likewise.
5204 (sched_analyze_2): Likewise (and replace a "0" with REG_DEP_TRUE).
5205 (sched_analyze): Likewise.
5206 (sched_analyze_insn): Likewise.
5207 * sched-ebb.c (add_deps_for_risky_insns): Likewise.
5208 * sched-rgn.c (add_branch_dependences): Likewise. Also, add
5209 dependencies on all COND_EXEC insns to jumps ending basic blocks
5210 when doing intrablock scheduling.
5211 * sched-int.h (sched_insns_conditions_mutex_p): Add prototype.
5212
880031e1
JL
52132005-07-27 Jeff Law <law@redhat.com>
5214
5215 * tree-vrp.c (vrp_meet): Intersect the equivalency sets when
5216 meeting a VR_ANTI_RANGE with a VR_RANGE. When intersecting
5217 equivalency sets, correctly handle the case were vr0 has an
5218 equivalency set, but vr1 does not.
5219
b940ce0e
DN
52202005-07-27 Dorit Nuzman <dorit@il.ibm.com>
5221
5222 PR tree-optimization/23073
7904f95f 5223 * tree-vect-analyze.c (vect_analyze_data_refs_alignment): Call
b940ce0e
DN
5224 vect_print_dump_info before fprintf.
5225
26c40640
ZD
52262005-07-27 Zdenek Dvorak <dvorakz@suse.cz>
5227
5228 PR tree-optimize/22348
5229 * tree-ssa-loop-niter.c (number_of_iterations_cond):
5230 Fold the partial computation.
5231
3ac01fde
ZD
52322005-07-27 Zdenek Dvorak <dvorakz@suse.cz>
5233
5234 PR tree-optimization/22325
5235 * tree-flow.h (compute_phi_arg_on_exit, force_expr_to_var_cost):
5236 Declare.
5237 * tree-scalar-evolution.c (scev_const_prop): Add generic final
5238 value replacement.
5239 * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Split from ...
5240 (force_var_cost): ... this function.
5241 (compute_phi_arg_on_exit): Export.
5242
77fcaf4b
ZD
52432005-07-27 Zdenek Dvorak <dvorakz@suse.cz>
5244
5245 PR tree-optimization/20773
5246 * tree-ssa-loop-ch.c (copy_loop_headers): Select the correct latch
5247 edge.
5248
c11b0231
RG
52492005-07-27 Richard Guenther <rguenther@suse.de>
5250
5251 * tree-ssa-structalias.c (push_fields_onto_fieldstack):
5252 Avoid pushing again if current struct contains only
5253 fields we decomposed.
5254
57a73709
JH
52552005-07-27 Jan Hubicka <jh@suse.cz>
5256
093c2329
JH
5257 PR tree-optimization/22574
5258 * cgraph.c (cgraph_function_body_availability): Unanalyzed bodies are
5259 not available.
5260
23504559
JH
5261 * tree-tailcall.c (decrease_profile): New function.
5262 (eliminate_tail_call): Use it.
5263
57a73709
JH
5264 * cgraphunit.c (cgraph_function_and_variable_visibility): Set
5265 visibility flags correctly in whole program mode.
5266
b5395c33
SE
52672005-07-26 Steve Ellcey <sje@cup.hp.com>
5268
5269 PR rtl-optimization/22472
5270 * config/pa/pa.h (HARD_REGNO_RENAME_OK): Define.
5271
86979811
SB
52722005-07-26 Steven Bosscher <stevenb@suse.de>
5273
5274 PR tree-optimization/22504
5275 * tree-complex.c (expand_complex_addition): Use 'code' instead
5276 of MINUS_EXPR for (VARYING, ONLY_IMAG) and (ONLY_IMAG, VARYING).
5277
faf9ab98
AH
52782005-07-26 Aldy Hernandez <aldyh@redhat.com>
5279
5280 * config.gcc (cpu_type): Add frv case.
5281 (with_cpu): Add frv400-*-*linux* and frv550-*-*linux* cases.
5282 (supported_defaults): Add fr550 case.
5283
31521cd4
DN
52842005-07-26 Diego Novillo <dnovillo@redhat.com>
5285
5286 PR 22591
5287 * tree-ssa-alias.c (may_alias_p): Remove shortcut that tests
5288 whether a pointer of type T * may point to objects of type T *.
5289
45499411
DD
52902005-07-26 DJ Delorie <dj@redhat.com>
5291
5292 * configure: Regenerate.
5293
576a4795
DJ
52942005-07-26 Dale Johannesen <dalej@apple.com>
5295
5296 * postreload-gcse.c (alloc_mem): Start CUID numbering at 1.
5297
526635cb
MM
52982005-07-26 Mark Mitchell <mark@codesourcery.com>
5299
5300 * doc/install.texi (--with-build-sysroot): Fix grammatical error.
5301 Clarify use of "build" in name.
5302
c14ff86e
AH
53032005-07-26 Aldy Hernandez <aldyh@redhat.com>
5304
5305 * doc/extend.texi (Raw read/write Functions): New section.
5306 * testsuite/gcc.target/frv/all-builtin-read8.c: New.
5307 * testsuite/gcc.target/frv/all-builtin-read16.c: New.
5308 * testsuite/gcc.target/frv/all-builtin-read32.c: New.
5309 * testsuite/gcc.target/frv/all-builtin-read64.c: New.
5310 * testsuite/gcc.target/frv/all-builtin-write8.c: New.
5311 * testsuite/gcc.target/frv/all-builtin-write16.c: New.
5312 * testsuite/gcc.target/frv/all-builtin-write32.c: New.
5313 * testsuite/gcc.target/frv/all-builtin-write64.c: New.
5314 * config/frv/frv.c: Add bdesc_loads global.
5315 Add bdesc_stores global.
5316 (frv_init_builtins): Add support for __builtin_{read/write}*.
5317 (frv_volatile_memref): New.
5318 (frv_expand_load_builtin): New.
5319 (frv_expand_store_builtin): New.
5320 * config/frv/frv.h (frv_builtins): Add FRV_BUILTIN_SCAN,
5321 FRV_BUILTIN_READ8, FRV_BUILTIN_READ16, FRV_BUILTIN_READ32,
5322 FRV_BUILTIN_READ64, FRV_BUILTIN_WRITE8, FRV_BUILTIN_WRITE16,
5323 FRV_BUILTIN_WRITE32, FRV_BUILTIN_WRITE64.
5324 * config/frv/frv.md (unspecs): Add UNSPEC_BUILTIN_LOAD,
5325 UNSPEC_BUILTIN_STORE, UNSPEC_OPTIONAL_MEMBAR.
5326 (builtin_read_<mode>): New.
5327 (builtin_write_<mode>): New.
5328 (builtin_write64): New.
5329 (optional_membar_<mode>): New.
5330
db487452
R
53312005-07-26 J"orn Rennecke <joern.rennecke@st.com>
5332
5333 * emit-rtl.c (gen_lowpart_common): Compare size of MODE in bits
5334 (rather than units) against HOST_BITS_PER_WIDE_INT.
5335
783455db
KH
53362005-07-26 Kazu Hirata <kazu@codesourcery.com>
5337
5338 * ipa-pure-const.c, ipa-reference.c, ipa-reference.h,
5339 ipa-type-escape.c, ipa-type-escape.h, ipa-utils.c,
5340 ipa-utils.h, treestruct.def, config/crx/crx-protos.h,
5341 config/crx/crx.c, config/crx/crx.h, config/crx/crx.md: Update
5342 FSF address.
5343
a4174ebf
KH
5344 * calls.c, fold-const.c, ipa-reference.c, ipa-type-escape.c,
5345 tree-ssa-reassoc.c, tree-ssa-structalias.c, vec.h,
5346 config/crx/crx.c, config/m32c/m32c.c, config/m32c/m32c.h: Fix
5347 comment typos.
5348 * doc/c-tree.texi, doc/tree-ssa.texi: Fix typos.
5349
46c0a59d
RG
53502005-07-26 Richard Guenther <rguenther@suse.de>
5351
5352 PR tree-optimization/22486
5353 * fold-const.c (fold_unary): Fold away useless component
5354 references of the form (T *)&T.x, if the address
5355 doesn't change.
5356
3e2844cb
JW
53572005-07-25 James E Wilson <wilson@specifixinc.com>
5358
5359 * dwarf2out.c (add_call_src_coords_attributes): New.
5360 (gen_inlined_subroutine_die): Call it.
5361 (maybe_emit_file, init_file_table): Add comments.
5362 (prune_unused_types_walk_attribs): Pass DW_AT_call_file through
5363 maybe_emit_file.
5364 * tree-inline.c (remap_block): Copy BLOCK_SOURCE_LOCATION.
5365 (expand_call_inline): Set BLOCK_SOURCE_LOCATION.
5366 * tree.h (BLOCK_SOURCE_LOCATION): New.
5367 (struct tree_block): New field locus.
5368
9275de65
AS
53692005-07-26 Andreas Schwab <schwab@suse.de>
5370
5371 PR rtl-optimization/23043
5372 * postreload-gcse.c (eliminate_partially_redundant_load): Fix typo
5373 when allocating a struct unoccr.
5374
5306ec31
RH
53752005-07-25 Richard Henderson <rth@redhat.com>
5376
5377 PR 22626
5378 * tree-complex.c (gate_no_optimization): True if errors.
5379 * Makefile.in (tree-complex.o): Update dependencies.
5380
bfa653b3
AH
53812005-07-25 Aldy Hernandez <aldyh@redhat.com>
5382
5383 * config/frv/predicates.md (integer_register_operand): Use
5384 GPR_AP_OR_PSEUDO_P.
5385
43e364dd
AP
53862005-07-25 Andrew Pinski <pinskia@physics.uc.edu>
5387
5388 PR tree-opt/22484
5389 * tree-ssa-ccp.c (fold_stmt_inplace): Strip useless type conversions
5390 after fold.
5391 * tree-ssa-propagate.c (set_rhs): Reject invalid conditional operands.
5392
c72f711f
AP
53932005-07-25 Andrew Pinski <pinskia@physics.uc.edu>
5394
5395 * tree-ssa-reassoc.c (reassociate_expr): Allow scaler floating point
5396 types when flag_unsafe_math_optimizations is true.
5397
160633c6
MM
53982005-07-25 Mark Mitchell <mark@codesourcery.com>
5399
5400 * gcc.c (option_map): Add --sysroot.
5401 (process_command): Handle --sysroot.
5402 (display_help): Document it.
5403 * doc/cppopts.tex (-isysroot): Document.
5404 * doc/invoke.texi (--sysroot): Document.
5405 * doc/install.texi (--with-build-sysroot): Document.
5406
5407 * Makefile.in (inhibit_libc): New variable.
5408 (INHIBIT_LIBC_CFLAGS): Likewise.
5409 (LIBGCC2_CFLAGS): Include
5410 $(INHIBIT_LIBC_CFLAGS).
5411 (CRTSTUFF_CFLAGS): Include $(INHIBIT_LIBC_CFLAGS).
5412 ($(T)crtbegin.o): Do not use @inhibit_libc@.
5413 ($(T)crtend.o): Likewise.
5414 ($(T)crtbeginS.o): Do not use @inhibit_libc@.
5415 ($(T)crtendS.o): Likewise.
5416 ($(T)crtbeginT.o): Do not use @inhibit_libc@.
5417 ($(T)crtendT.o): Likewise.
5418 (stmp-fixinc): Do not complain about missing headers if
5419 inhibit_libc.
5420 * configure.ac (inhibit_libc): Set it to true/false.
5421 (--with-build-sysroot): New option. Use it to set
7904f95f 5422 SYSTEM_HEADER_DIR.
160633c6
MM
5423 * configure: Regenerated.
5424
1490f93a
MH
54252005-07-25 Manfred Hollstein <mh@suse.com>
5426
5427 * calls.c (store_one_arg): Fix unsigned comparison warning.
5428
76e20664
SB
54292005-07-25 Serge Belyshev <belyshev@depni.sinp.msu.ru>
5430
5431 PR other/22337
5432 * ggc-zone.c (ggc_alloc_zone_stat): Do not use CHUNK_OVERHEAD.
5433 (ggc_print_statistics): Initialize variable before use.
5434
5c97e2de
RG
54352005-07-25 Richard Guenther <rguenther@suse.de>
5436
5437 * tree-dfa.c (mark_new_vars_to_rename): Protect against
5438 calling with a PHI_NODE argument.
5439
5440 * tree-flow-inline.h (overlap_subvar): Protect against
5441 possible overflow.
5442
7fefc172
PB
54432005-07-25 Paolo Bonzini <bonzini@gnu.org>
5444
5445 * aclocal.m4 (gcc_AC_CHECK_TOOL): Add /bin to default directory.
5446 * configure: Regenerate.
5447
86a07404
IR
54482005-07-25 Ira Rosen <irar@il.ibm.com>
5449
5450 * expr.c (highest_pow2_factor): Make extern.
5451 * tree-data-ref.c (ptr_decl_may_alias_p): New function.
5452 (ptr_ptr_may_alias_p, may_alias_p, record_ptr_differ_p,
5453 record_array_differ_p, array_ptr_differ_p): Likewise.
5454 (base_object_differ_p): Rename (from array_base_name_differ_p). Support
5455 additional cases. Call the above functions.
5456 (base_addr_differ_p): Moved from tree-vect-analyze.c. Call
5457 base_object_differ_p when there are two base objects. Otherwise, compare
5458 base address and offset. Call may_alias_p.
5459 (dump_data_reference): Use a correct field name.
5460 (analyze_array): Make static. Initialize new data-ref fields.
5461 (analyze_indirect_ref): New function.
7904f95f
EC
5462 (init_data_ref): Initialize new data-ref fields.
5463 (strip_conversion): Moved from tree-vect-analyze.c.
7fefc172
PB
5464 (analyze_offset_expr, get_ptr_offset, address_analysis,
5465 object_analysis): Likewise.
86a07404 5466 (analyze_offset): New function.
86979811 5467 (create_data_ref): Likewise.
86a07404
IR
5468 (initialize_data_dependence_relation): Call base_addr_differ_p. Compare
5469 dimensions for ARRAY_REFs only.
5470 (build_classic_dist_vector): Make static.
5471 (access_functions_are_affine_or_constant_p): Call macro to get the
5472 address of access functions.
5473 (compute_all_dependences): Add new parameter
7904f95f 5474 compute_self_and_read_read_dependences. Compute self and read-read
86a07404
IR
5475 dependences if it is true.
5476 (find_data_references_in_loop): Call create_data_ref. Initialize new
5477 data-ref fields.
5478 (compute_data_dependences_for_loop): Add new parameter
5479 compute_self_and_read_read_dependences. Remove parameter nb_loops,
7fefc172
PB
5480 compute nb_loops. Call compute_all_dependences,
5481 build_classic_dist_vector and build_classic_dir_vector with correct
5482 parameters.
5483 (analyze_all_data_dependences): Call compute_data_dependences_for_loop
5484 with correct parameters. Compare dimensions for ARRAY_REFs only.
86a07404
IR
5485 (free_data_refs): Call macro to free access functions.
5486 * tree-data-ref.h (struct first_location_in_loop): New structure. Move
5487 fields from stmt_vinfo.
5488 (struct base_object_info): New structure.
7904f95f 5489 (struct data_reference): Move fields to base_object_info. Add fields
86a07404 5490 first_location and object_info for above structures. Move fields from
7fefc172
PB
5491 stmt_info: memtag, ptr_info, subvars, misalignment. Add new field
5492 aligned_to. Add macros to access the new fields.
86a07404
IR
5493 Update functions declarations.
5494 * tree-flow.h (is_aliased_with): Declare.
5495 * tree-loop-linear.c (linear_transform_loops): Call
5496 compute_data_dependences_for_loop with correct parameters.
5497 * tree-ssa-alias.c (is_aliased_with): New function.
86979811 5498 * tree-vect-analyze.c (vect_get_ptr_offset): Remove.
86a07404
IR
5499 (vect_analyze_offset_expr, vect_base_addr_differ_p): Likewise.
5500 (vect_analyze_data_ref_dependence): Get ddr. Remove call to
5501 vect_base_addr_differ_p, compute_subscript_distance and
5502 build_classic_dist_vector. Add printings. Check absolute value of
5503 distance.
7fefc172
PB
5504 (vect_analyze_data_ref_dependences): Go through ddrs instead of
5505 data-refs.
86a07404
IR
5506 (vect_compute_data_ref_alignment): Get the fields of data-ref instead of
5507 stmt. Check aligned_to. Check if the base is aligned. Remove conversion
5508 to bytes. Add printing.
7fefc172
PB
5509 (vect_compute_data_refs_alignment): Go through loads and stores in one
5510 loop.
86a07404
IR
5511 (vect_enhance_data_refs_alignment, vect_analyze_data_refs_alignment,
5512 vect_analyze_data_ref_access): Likewise.
5513 (vect_analyze_pointer_ref_access): Remove.
5514 (vect_address_analysis, vect_object_analysis): Likewise.
5515 (vect_analyze_data_refs): Call compute_data_dependences_for_loop to find
5516 and analyze data-refs in the loop.
7fefc172
PB
5517 * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Get the
5518 fields of data-ref instead of stmt. Add init to the offset from the
5519 base.
86a07404
IR
5520 (vect_create_data_ref_ptr): Get the fields of data-ref instead of stmt.
5521 (vect_update_init_of_dr): Likewise.
5522 (vect_update_inits_of_drs): Go through loads and stores in one loop.
7fefc172
PB
5523 * tree-vectorizer.c (new_stmt_vec_info): Remove initialization of
5524 removed fields.
86a07404
IR
5525 (new_loop_vec_info): Initialize new fields.
5526 (destroy_loop_vec_info): Free new fields.
5527 (vect_strip_conversion): Remove.
5528 * tree-vectorizer.h (enum verbosity_levels): Add new verbosity level.
5529 (struct _loop_vec_info): Unify data_ref_writes and data_ref_reads into
7904f95f 5530 datarefs. Add new field ddrs.
86a07404
IR
5531 Add macros for the new fields access.
5532 (struct _stmt_vec_info): Remove: base_address, initial_offset, step,
5533 base_aligned_p, misalignment, memtag, ptr_info and subvars.
5534 Remove their macros.
5535 * tree.h (highest_pow2_factor): Declare.
5536
0dc42b03
JJ
55372005-07-25 Jakub Jelinek <jakub@redhat.com>
5538
5539 * calls.c (store_one_arg): Check for sibling call MEM arguments
5540 from already clobbered incoming argument area.
5541
104f8784
KG
55422005-07-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5543
5544 * c-common.c (check_missing_format_attribute): New.
5545 * c-common.h (check_missing_format_attribute): Likewise.
5546 * c-typeck.c (convert_for_assignment): Use it.
5547
1b8452d0
AS
55482005-07-24 Andreas Schwab <schwab@suse.de>
5549
5550 * config/m68k/m68k.md ("extendqidi2"): When source is an address
5551 register use a word move. Correct operand of ext.w in 68000 code.
5552
2b402955
MM
55532005-07-23 Mark Mitchell <mark@codesourcery.com>
5554
5555 * dwarf2out.c (gen_variable_die): Treat un-emitted COMDAT
5556 variables as declarations, rather than definitions.
5557
c8af1197
IR
55582005-07-24 Ira Rosen <irar@il.ibm.com>
5559
86979811
SB
5560 PR tree-optimization/22526
5561 * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Match the type
5562 of the zero node.
c8af1197 5563
1b135aa5
FXC
55642005-07-24 Francois-Xavier Coudert <coudert@clipper.ens.fr>
5565
5566 * builtins.def: Add DEF_EXT_C99RES_BUILTIN to define builtins
5567 that C99 reserve for future use. Use it to define clog10,
5568 clog10f and clog10l.
5569
ac0f3f39
KG
55702005-07-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5571
5572 * Makefile.in (STRICT2_WARN): Add -Wmissing-format-attribute.
5573 * configure.ac: Check for -Wmissing-format-attribute.
7904f95f 5574
ac0f3f39
KG
5575 * configure: Regenerate.
5576
db753fa1
RH
55772005-07-23 Richard Henderson <rth@redhat.com>
5578
5579 PR tree-optimization/22623
5580 * tree-complex.c (set_component_ssa_name): Use replace_ssa_name_symbol.
5581
28f155be
GB
55822005-07-23 Giovanni Bajo <giovannibajo@libero.it>
5583
5584 PR target/22577
5585 * config/pa/pa.c (reloc_needed): Updated for VECs inside CONSTRUCTOR.
5586
db857e7d
KG
55872005-07-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5588
5589 * Makefile.in (C_TREE_H): Update dependencies.
5590 * c-tree.h: Include toplev.h.
5591 * diagnostic.h (diagnostic_set_info): Add format attribute.
5592 * rtl-error.c (diagnostic_for_asm): Likewise.
5593
118ea793
CF
55942005-07-23 Chao-ying Fu <fu@mips.com>
5595
5596 * config/mips/mips-dsp.md: New file.
5597 * config/mips/mips-modes.def (V4QI, V2HI, CCDSP): New modes.
5598 * config/mips/mips.c (mips_function_type): Add types for DSP builtin
5599 functions.
5600 (mips_builtin_type): Add MIPS_BUILTIN_DIRECT_NO_TARGET and
5601 MIPS_BUILTIN_BPOSGE32.
5602 (mips_expand_builtin_direct): Add one parameter to indicate that
5603 builtin functions need to return a value.
5604 (mips_expand_builtin_bposge): New for expanding "bposge" builtin
5605 functions.
5606 (mips_regno_to_class): Add classes for 12 new DSP registers.
5607 (mips_subword): Change to check four HI registers.
5608 (mips_output_move): Output move to and from 6 new DSP accumulators.
5609 (override_options): Make sure -mdsp and -mips16 are not used together.
5610 Map 'A' to DSP_ACC_REGS and 'a' to ACC_REGS. Enable DSP accumulators
5611 for machine modes.
5612 (mips_conditional_register_usage): Disable 6 new DSP accumulators
5613 when !TARGET_DSP.
5614 (print_operand): Add 'q' for printing DSP accumulators.
5615 (mips_cannot_change_mode_class): Check ACC_REGS.
5616 (mips_secondary_reload_class): Check ACC_REGS.
5617 (mips_vector_mode_supported_p): Enable V2HI and V4QI when TARGET_DSP.
5618 (mips_register_move_cost): Check ACC_REGS.
5619 (CODE_FOR_mips_addq_ph, CODE_FOR_mips_addu_qb, CODE_FOR_mips_subq_ph)
5620 (CODE_FOR_mips_subu_qb): New code-aliasing macros.
5621 (DIRECT_NO_TARGET_BUILTIN, BPOSGE_BUILTIN): New macros.
5622 (dsp_bdesc): New array.
5623 (bdesc_arrays): Add DSP builtin function table.
5624 (mips_prepare_builtin_arg): Check predicate again after
5625 copy_to_mode_reg.
5626 (mips_expand_builtin): Add one more parameter to
5627 mips_expand_builtin_direct. Expand MIPS_BUILTIN_DIRECT_NO_TARGET and
5628 MIPS_BUILTIN_BPOSGE32.
5629 (mips_init_builtins): Initialize new function types.
5630 (mips_expand_builtin_direct): Check if builtin functions need to
5631 return a value and pass operands properly.
5632 (mips_expand_builtin_bposge): New function.
5633 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips_dsp.
5634 (ASM_SPEC): Map -mdsp to -mdsp in GAS.
5635 (FIRST_PSEUDO_REGISTER): Increase to 188.
5636 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS):
5637 Update for 12 new DSP registers.
5638 (DSP_ACC_REG_FIRST, DSP_ACC_REG_LAST, DSP_ACC_REG_NUM, AC1HI_REGNUM)
5639 (AC1LO_REGNUM, AC2HI_REGNUM, AC2LO_REGNUM, AC3HI_REGNUM, AC3LO_REGNUM):
5640 (DSP_ACC_REG_P, ACC_REG_P, ACC_HI_REG_P): New macros.
5641 (reg_class): Add DSP_ACC_REGS and ACC_REGS.
5642 (REG_CLASS_NAMES): Add names for DSP_ACC_REGS and ACC_REGS.
5643 (REG_CLASS_CONTENTS): Update for DSP_ACC_REGS, ACC_REGS and ALL_REGS.
5644 (REG_ALLOC_ORDER): Update for 12 new DSP registers.
5645 (mips_char_to_class): Add 'A' for DSP_ACC_REGS and 'a' for ACC_REGS.
5646 (UIMM6_OPERAND, IMM10_OPERAND): New macros.
5647 (EXTRA_CONSTRAINT_Y): Add YA and YB extra constraints.
5648 (REGISTER_NAMES): Add names for 12 new DSP registers.
5649 * config/mips/mips.md: Include mips-dsp.md.
5650 (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ, UNSPEC_SUBQ_S, UNSPEC_ADDSC)
5651 (UNSPEC_ADDWC, UNSPEC_MODSUB, UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S)
5652 (UNSPEC_PRECRQ_QB_PH, UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W)
5653 (UNSPEC_PRECRQU_S_QB_PH, UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR)
5654 (UNSPEC_PRECEQU_PH_QBL, UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA)
5655 (UNSPEC_PRECEQU_PH_QBRA, UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR)
5656 (UNSPEC_PRECEU_PH_QBLA, UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL)
5657 (UNSPEC_SHLL_S, UNSPEC_SHRL_QB, UNSPEC_SHRA_PH, UNSPEC_SHRA_R)
5658 (UNSPEC_MULEU_S_PH_QBL, UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH)
5659 (UNSPEC_MULEQ_S_W_PHL, UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL)
5660 (UNSPEC_DPAU_H_QBR, UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR)
5661 (UNSPEC_DPAQ_S_W_PH, UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH)
5662 (UNSPEC_DPAQ_SA_L_W, UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL)
5663 (UNSPEC_MAQ_S_W_PHR, UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR)
5664 (UNSPEC_BITREV, UNSPEC_INSV, UNSPEC_REPL_QB, UNSPEC_REPL_PH)
5665 (UNSPEC_CMP_EQ, UNSPEC_CMP_LT, UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB)
5666 (UNSPEC_CMPGU_LT_QB, UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH)
5667 (UNSPEC_EXTR_W, UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H)
5668 (UNSPEC_EXTP, UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
5669 (UNSPEC_RDDSP): New constants.
5670 (*movdi_32bit): Change 'x' to 'a' for ACC_REGS.
5671 (*movsi_internal): Change 'x' to 'a' for ACC_REGS. Add an
5672 A<-d alternative.
5673 * config/mips/mips.opt (-mdsp): New option.
5674 * config/mips/predicates.md (const_uimm6_operand, const_imm10_operand)
5675 (reg_imm10_operand): New predicates.
5676 * doc/extend.texi (MIPS DSP Built-in Functions): New section.
5677 * doc/invoke.texi (-mdsp): Document new option.
5678
d2fcbf6f
DD
56792005-07-22 DJ Delorie <dj@redhat.com>
5680
5681 * c-objc-common.c (c_cannot_inline_tree_fn): Add warning control
5682 to warning calls.
5683 * tree-inline.c (inlinable_function_p): Likewise.
5684
9881e3e5
MM
56852005-07-22 Mark Mitchell <mark@codesourcery.com>
5686
5687 PR debug/21828
5688 * toplev.c (check_global_declarations): Do not mark undefined
5689 variables as DECL_IGNORED_P.
5690 * varasm.c (first_global_object_name): GTY it.
5691 (weak_global_object_name): Likewise.
5692 (notice_global_symbol): Use ggc_strdup, not xstrdup, when creating
5693 a string to go into {weak,first}_global_object_name.
5694
1a8d0d41
DD
56952005-07-22 DJ Delorie <dj@redhat.com>
5696
5697 * c-format.c (check_function_format): Change warning control
5698 option from OPT_Wattribute to OPT_Wmissing_format_attribute.
5699
17c7e33e
DN
57002005-07-22 Diego Novillo <dnovillo@redhat.com>
5701
5702 * tree-ssa-alias.c (count_ptr_derefs): Do not consider
5703 &PTR->FLD a dereference of PTR.
5704 * tree-ssa-structalias.c (update_alias_info): Consider &PTR->FLD
5705 a potential dereference of PTR.
5706
45002e59
R
57072005-07-22 J"orn Rennecke <joern.rennecke@st.com>
5708
191e1ff2
R
5709 PR rtl-optimization/20370
5710 * ifcvt.c (dead_or_predicable): Before calling propagate_block,
5711 call allocate_reg_info if necessary.
5712
475a3eef
R
5713 PR rtl-optimization/21848
5714 * calls.c (emit_library_call_value_1): For const functions, add
5715 USEs of the stack slots to CALL_INSN_FUNCTION_USAGE.
5716
29c1846b
R
5717 PR rtl-optimization/22445
5718 * cselib.c (target.h): Include.
5719 (rtx_equal_for_cselib_p): Allow commutative matches.
5720 (cselib_hash_rtx): Don't use MODE for CONST_INT hashing.
5721 Remove MODE parameter. Changed all callers.
5722
45002e59
R
5723 PR rtl-optimization/22258
5724 * combine.c (likely_spilled_retval_1, likely_spilled_retval_p):
5725 New functions.
5726 (try_combine): Use likely_spilled_retval_p.
5727
db869733
PW
57282005-07-22 Paul Woegerer <paul.woegerer@nsc.com>
5729
5730 * config.gcc: Add crx-elf support.
5731
5732 * doc/contrib.texi: Mention crx.
5733 * doc/extend.texi: Document crx extensions.
5734 * doc/install.texi: Document crx install.
5735 * doc/invoke.texi: Document crx options.
5736 * doc/md.texi: Document crx constraints.
5737
5738 * config/crx/crx-protos.h: New file.
5739 * config/crx/crx.c: New file.
5740 * config/crx/crx.h: New file.
5741 * config/crx/crx.md: New file.
5742 * config/crx/crx.opt: New file.
5743 * config/crx/t-crx: New file.
7904f95f 5744
32cafd73
MH
57452005-07-22 Manfred Hollstein <mh@suse.com>
5746
5747 * tree-ssa-structalias.c (merge_graph_nodes): Fix uninitialised
5748 warnings.
5749 (int_add_graph_edge): Likewise.
5750 (collapse_nodes): Likewise.
5751 (process_unification_queue): Likewise.
5752
ee184c4d 57532005-07-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
86979811 5754 Laurent GUERBY <laurent@guerby.net>
ee184c4d 5755
86979811 5756 PR tree-optimization/22336
7904f95f 5757 * function.c (record_block_change): Check for
86979811 5758 cfun->ib_boundaries_block.
7904f95f 5759
b49ceb45
JM
57602005-07-21 James A. Morrison <phython@gcc.gnu.org>
5761
5762 * fold-const.c (fold_unary): Don't strip signed nops from ABS_EXPRs.
5763 (tree_expr_nonnegative_p): Return try for TYPE_UNSIGNED.
5764
30c54de9
DD
57652005-07-21 DJ Delorie <dj@redhat.com>
5766
5767 * toplev.c (warn_deprecated_use): Add warning control to warning
5768 call.
c303630a
DD
5769 * c-typeck.c (parser_build_binary_op): Likewise.
5770 (c_finish_if_stmt): Likewise.
30480ec4
DD
5771 * c-common.c (check_function_sentinel): Likewise.
5772 (check_nonnull_arg): Likewise.
30c54de9 5773
95a8c155
RH
57742005-07-21 Richard Henderson <rth@redhat.com>
5775
5776 PR tree-opt/22504
5777 * tree-complex.c (complex_ssa_name_components): New.
5778 (cvc_lookup): Allow entry not found.
5779 (create_components): Remove.
5780 (create_one_component_var, get_component_var): New.
5781 (get_component_ssa_name, set_component_ssa_name): New.
5782 (extract_component): Use get_component_ssa_name.
5783 (update_complex_components): Use set_component_ssa_name.
5784 (update_complex_components_on_edge): Likewise.
5785 (update_phi_components): Create new PHI nodes directly, instead
5786 of adding insns to edges.
5787 (tree_lower_complex): Allocate and free complex_variable_components
5788 and complex_ssa_name_components here.
5789
c05a0766 57902005-07-20 Daniel Berlin <dberlin@dberlin.org>
7904f95f 5791
c05a0766
DB
5792 * alias.c (nonoverlapping_component_refs_p): Use TYPE_MAIN_VARIANT,
5793 revert to returning false.
5794
de343c8d
UB
57952005-07-21 Uros Bizjak <uros@kss-loka.si>
5796
86979811
SB
5797 PR target/21149
5798 * config/i386/i386.md (sse_movhlps): Fix vec_select values.
de343c8d 5799
5acc26ef
UB
58002005-07-21 Uros Bizjak <uros@kss-loka.si>
5801
5802 PR target/22576
5803 * config/i386/i386.md (cmpxf): Change operand constraints
5804 to "nonmemory_operand".
5805
61cb44fe
AP
58062005-07-21 Andrew Pinski <pinskia@physics.uc.edu>
5807
5808 * config/i386/i386.md (trap): Use "".word/t0x0b0f" instead of ud2.
5809
e2fe73f6
AP
58102005-07-21 Andrew Pinski <pinskia@physics.uc.edu>
5811
5812 PR middle-end/21180
5813 * fold-const.c (fold_build1): Add checksum for the operands.
7904f95f 5814 (fold_build2): Likewise.
e2fe73f6
AP
5815 (fold_build3): Likewise.
5816
9d24eb54
AP
58172005-07-21 Andrew Pinski <pinskia@physics.uc.edu>
5818
5819 PR middle-end/19055
5820 * fold-const.c (fold_binary): Transform "(X | Y) ^ X" to "Y & ~ X".
5821
b2e0afa0
PB
58222005-07-21 Paolo Bonzini <bonzini@gnu.org>
5823
5824 * common.opt (-fforward-propagate): Committed by mistake,
5825 removed.
5826
2e48874f
VR
58272005-07-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5828
5829 * reg-stack.c: Fix comment typo(s).
5830 * tree-ssa-operands.c: Likewise.
5831 * tree-vectorizer: Likewise.
5832
889d8465
NC
58332005-07-21 Nick Clifton <nickc@redhat.com>
5834
5835 * config/sh/symbian.c: Replace C++ style line comments with C
5836 style line comments.
86979811 5837 (symbian_add_attribute): Do not use a ? operator on the LHS of
889d8465 5838 an assignment.
86979811 5839 (sh_symbian_handle_dll_attribute): Change the type of the
889d8465
NC
5840 method vector to "VEC(tree,gc)*" and use vector accessor
5841 macros to walk over the elements.
86979811
SB
5842 (symbian_export_vtable_and_rtti_p): Likewise.
5843 (symbian_class_needs_attribute_p): Likewise.
889d8465 5844
2fab365e
PB
58452005-07-21 Paolo Bonzini <bonzini@gnu.org>
5846
5847 PR target/22085
5848 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Do not
5849 initialize targetm.resolve_overloaded_builtin here.
5850 (altivec_expand_overloaded_builtin): Make it non-static.
5851 * config/rs6000/rs6000-protos.h
5852 (altivec_expand_overloaded_builtin): New prototype.
5853 * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Initialize
5854 targetm.resolve_overloaded_builtin here.
5855 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Likewise.
5856
f9cc1a70 58572005-07-21 Paolo Bonzini <bonzini@gnu.org>
86979811 5858 Zdenek Dvorak <dvorakz@suse.cz>
f9cc1a70
PB
5859
5860 PR tree-optimization/19210
5861 * common.opt (Wunsafe-loop-optimizations, funsafe-loop-optimizations):
5862 New.
5863 * Makefile.in (tree-ssa-loop-niter.o): Depend intl.o.
5864 * loop-iv.c (get_simple_loop_desc): If -funsafe-loop-optimizations,
5865 rely on unproven assumptions.
5866 * predict.c (predict_loops): Adjust call to number_of_iterations_exit.
5867 * tree-flow.h (number_of_iterations_exit): Add final parameter.
5868 * tree-scalar-evolution.c (number_of_iterations_in_loop): Adjust call
5869 to number_of_iterations_exit.
5870 * tree-ssa-loop-ivcanon.c (empty_loop_p): Likewise.
5871 * tree-ssa-loop-ivopts.c (niter_for_exit): Likewise.
5872 * tree-ssa-loop-niter.c (find_loop_niter,
5873 estimate_numbers_of_iterations_loop): Likewise.
5874 (number_of_iterations_exit): Honor the new options.
5875 * doc/invoke.texi (Wunsafe-loop-optimizations,
5876 funsafe-loop-optimizations): Document them.
5877
cb83c2ec
RS
58782005-07-21 Richard Sandiford <richard@codesourcery.com>
5879
5880 PR rtl-optimization/22167
5881 * gcse.c (hoist_code): Fix hoist_exprs[] check.
5882
5e5cbbfb
AN
58832005-07-20 Adam Nemet <anemet@lnxw.com>
5884
5885 * config/rs6000/lynx.h: Mark __do_global_ctors_aux and
5886 __do_global_dtors_aux longcall.
5887
c2acaf06
KH
58882005-07-20 Kazu Hirata <kazu@cs.umass.edu>
5889
5890 * gensupport.c (old_preds): Don't reference PREDICATE_CODES.
5891 (old_special_pred_table): Don't reference
5892 SPECIAL_MODE_PREDICATES.
5893 * system.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Poison.
5894 * config/arc/arc.h: Don't mention PREDICATE_CODES.
5895 * config/sh/predicates.h: Don't mention
5896 SPECIAL_MODE_PREDICATES.
5897 * doc/tm.texi (PREDICATE_CODES, SPECIAL_MODE_PREDICATES):
5898 Remove.
5899
38b2d076
DD
59002005-07-20 DJ Delorie <dj@redhat.com>
5901
5902 * config.gcc: Add m32c-elf support.
5903
5904 * doc/contrib.texi: Mention m32c.
5905 * doc/extend.texi: Document m32c extensions.
5906 * doc/install.texi: Mention m32c.
5907 * doc/invoke.texi: Document m32c options.
5908 * doc/md.texi: Document m32c constraints.
5909
5910 * config/m32c/addsub.md: New file.
5911 * config/m32c/bitops.md: New file.
5912 * config/m32c/cond.md: New file.
5913 * config/m32c/jump.md: New file.
5914 * config/m32c/m32c-lib1.S: New file.
5915 * config/m32c/m32c-lib2.c: New file.
5916 * config/m32c/m32c-modes.def: New file.
5917 * config/m32c/m32c-pragma.c: New file.
5918 * config/m32c/m32c-protos.h: New file.
5919 * config/m32c/m32c.abi: New file.
5920 * config/m32c/m32c.c: New file.
5921 * config/m32c/m32c.h: New file.
5922 * config/m32c/m32c.md: New file.
5923 * config/m32c/m32c.opt: New file.
5924 * config/m32c/minmax.md: New file.
5925 * config/m32c/mov.md: New file.
5926 * config/m32c/muldiv.md: New file.
5927 * config/m32c/predicates.md: New file.
5928 * config/m32c/prologue.md: New file.
5929 * config/m32c/shift.md: New file.
5930 * config/m32c/t-m32c: New file.
5931
50b69666
KK
59322005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
5933
5934 * config/sh/sh.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New constants.
5935 (stack_protect_set, stack_protect_test): New expanders.
86979811 5936 (stack_protect_set_si, stack_protect_set_si_media,
50b69666 5937 stack_protect_set_di_media, stack_protect_test_si,
86979811 5938 stack_protect_test_si_media, stack_protect_test_di_media):
50b69666
KK
5939 New insns.
5940
71b50543
AP
59412005-07-20 Andrew Pinski <pinskia@physics.uc.edu>
5942
5943 * c-typeck.c (output_init_element): Don't copy the INTEGER_CST.
5944
4db8040c
JM
59452005-07-20 James A. Morrison <phython@gcc.gnu.org>
5946
5947 * tree.h (tree_expr_nonzero_p): Export.
5948 * fold-const.c (tree_expr_nonzero_p): Likewise.
5949 Return true for CALL_EXPRs that are alloca calls.
5950 (fold_binary): Use omit_one_operand when checking EQ_EXPRs or NE_EXPRs
5951 against zero.
5952 * tree-flow.h (expr_computes_nonzero): Remove.
5953 * tree-vrp.c (expr_computes_nonzero): Remove.
86979811 5954 (vrp_expr_computes_nonzero): Use tree_expr_nonzero_p.
4db8040c
JM
5955 (extract_range_from_unary_expr): Likewise.
5956 * tree-ssa-dom.c (record_equivalences_from_stmt): Use
5957 tree_expr_nonzero_p.
5958
6d459e2b
BS
59592005-07-20 Bernd Schmidt <bernd.schmidt@analog.com>
5960
09350e36
BS
5961 * config/bfin/bfin-protos.h (legitimize_pic_address): Don't declare.
5962 * config/bfin/bfin.c (legitimize_pic_address): Now static. Take
5963 extra arg "picreg" and use it instead of pic_offset_table_rtx.
5964 All callers changed.
5965 (frame_related_constant_load): New arg "related" which controls
5966 setting of RTX_FRAME_RELATED_P. All callers changed.
5967 (bfin_load_pic_reg): New function, broken out of bfin_expand_prologue.
5968 (bfin_expand_prologue): Add stack limit checking.
5969 * config/bfin/bfin.md (trapifcc): New pattern.
5970
05905337
BS
5971 * config/bfin/bfin.c: Include "langhooks.h".
5972 (def_builtin): Go through lang_hooks to call builtin_function.
5973
6d459e2b
BS
5974 * config/bfin/bfin-protos.h (bfin_longcall_p): Declare.
5975 * config/bfin/predicates.md (symbol_ref_operand): New.
5976 (call_insn_operand): Delete. All callers changed to use
5977 register_no_elim_operand.
5978 * config/bfin/bfin.c (init_cumulative_args): Initialize the new
5979 call_cookie field.
5980 (function_arg): Use it to generate the call's operand 2.
5981 (bfin_longcall_p): New function.
5982 (bfin_expand_call): Extra arg "cookie". All callers and declaration
5983 changed. Emit extra USE in the pattern. Use bfin_longcall_p to
5984 determine if the address needs to be in a REG.
5985 (bfin_handle_longcall_attribute): New function.
5986 (bfin_attribute_table): Add "longcall" and "shortcall".
5987 * config/bfin/bfin.h (CALL_NORMAL, CALL_LONG, CALL_SHORT): New macros.
5988 (CUMULATIVE_ARGS): New member call_cookie.
5989 (PREDICATE_CODES): Add symbol_ref_operand.
5990 * config/bfin/bfin.md (call, call_value, sibcall, sibcall_value): Add
5991 extra USE to the pattern.
5992 (call_symbol, sibcall_symbol, call_value_symbol, sibcall_value_symbol):
5993 New patterns, split off call_insn, sibcall_insn, call_value_insn and
5994 sibcall_value_insn; now the new patterns handle direct calls and the
5995 old ones indirect calls.
5996 * doc/extend.texi: Mention Blackfin in longcall/shortcall docs.
5997
67135ef4
ZD
59982005-07-20 Zdenek Dvorak <dvorakz@suse.cz>
5999
6000 * doc/trouble.texi: Update section on handling of empty loops.
6001
fdda361d
KH
60022005-07-20 Kazu Hirata <kazu@codesourcery.com>
6003
6004 * config.gcc: Remove support for sparc-*-openbsd*,
6005 i860-*-sysv4*, ip2k-*-elf, ns32k-*-netbsdelf*,
6006 ns32k-*-netbsd*.
6007 * config.host: Remove support for i860-*-sysv4* as a host.
6008 * config/i860/*, config/ip2k/*, config/ns32k/*,
6009 config/sparc/openbsd.h, config/sparc/t-openbsd: Remove.
6010 * doc/install.texi, doc/invoke.texi, doc/md.texi: Don't
6011 mention obsolete ports.
6012
96a2347e
KK
60132005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
6014
6015 * config/sh/sh.c (regno_reg_class): Add GENERAL_REGS for
6016 soft frame pointer.
6017 (sh_expand_prologue): Use hard_frame_pointer_rtx instead
6018 of frame_pointer_rtx.
6019 (sh_expand_epilogue): Likewise.
6020 (sh_set_return_address): Likewise.
6021 (initial_elimination_offset): Use HARD_FRAME_POINTER_REGNUM
6022 instead of FRAME_POINTER_REGNUM if needed. Add elimination
6023 offsets from FRAME_POINTER_REGNUM.
6024 * config/sh/sh.h (SH_REGISTER_NAMES_INITIALIZER): Add sfp.
6025 (sh_register_names): Add initializer for sfp.
6026 (GENERAL_OR_AP_REGISTER_P): Permit FRAME_POINTER_REGNUM.
6027 (VALID_REGISTER_P): Likewise.
6028 (FIRST_PSEUDO_REGISTER): Update.
6029 (DWARF_FRAME_REGISTERS): Define.
6030 (FIXED_REGISTERS, CALL_USED_REGISTERS): Add sfp.
6031 (HARD_FRAME_POINTER_REGNUM): Define.
6032 (FRAME_POINTER_REGNUM): Redefine.
6033 (ELIMINABLE_REGS): Never eliminate to FRAME_POINTER_REGNUM,
6034 but HARD_FRAME_POINTER_REGNUM instead. Add eliminations
6035 from FRAME_POINTER_REGNUM.
6036 (CAN_ELIMINATE): Use HARD_FRAME_POINTER_REGNUM instead of
6037 FRAME_POINTER_REGNUM.
6038 (REG_CLASS_CONTENTS): Add sfp.
6039 (REG_ALLOC_ORDER): Likewise.
6040 (FRAME_GROWS_DOWNWARD): Set to 1. Update comment.
6041 (GO_IF_LEGITIMATE_ADDRESS): Use hard_frame_pointer_rtx instead
6042 of frame_pointer_rtx.
6043 (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
6044
1ade5842
JM
60452005-07-19 James A. Morrison <phython@gcc.gnu.org>
6046
6047 * fold-const.c (tree_expr_nonnegative_p): Only return true for
6048 ABS_EXPR when flag_wrapv is false because of INT_MIN.
6049 (tree_expr_nonzero_p): Always call tree_expr_nonzero_p on the argument
6050 of an ABS_EXPR.
6051 (fold_unary): Always fold ABS_EXPR<ABS_EXPR<x>> into
6052 ABS_EXPR<x>.
6053
4038c495
GB
60542005-07-20 Giovanni Bajo <giovannibajo@libero.it>
6055
6056 Make CONSTRUCTOR use VEC to store initializers.
6057 * c-common.c (complete_array_type): Update to cope with VEC in
6058 CONSTRUCTOR_ELTS.
6059 * c-pretty-print.c (pp_c_initializer_list): Use pp_c_constructor_elts.
6060 (pp_c_constructor_elts): New function.
6061 * c-pretty-print.h (pp_c_constructor_elts): Declare.
6062 * c-typeck.c (build_function_call, build_c_cast, digest_init,
6063 struct constructor_stack, struct initializer_stack,
6064 constructor_elements, push_init_level, pop_init_level,
6065 add_pending_init, find_init_member, output_init_element): Update to
6066 cope with VEC in CONSTRUCTOR_ELTS.
6067 * coverage.c (build_fn_info_value, build_ctr_info_value,
6068 build_gcov_info): Likewise.
6069 * expr.c (categorize_ctor_elements_1, store_constructor,
6070 expand_expr_real_1): Likewise.
6071 * fold-const.c (fold_ternary): Likewise.
6072 * gimplify.c (gimplify_init_ctor_preeval, zero_sized_field_decl,
6073 gimplify_init_constructor, gimplify_expr): Likewise.
6074 * tree-dump.c (dequeue_and_dump): Likewise.
6075 * tree-inline.c (copy_tree_r): Add code to duplicate a CONSTRUCTOR
6076 node.
6077 * tree-pretty-print.c (dump_generic_node): Update to cope with VEC in
6078 CONSTRUCTOR_ELTS.
6079 * tree-sra.c (generate_element_init_1): Likewise.
6080 * tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise.
6081 * tree-ssa-operands.c (get_expr_operands): Likewise.
6082 * tree-vect-generic.c (expand_vector_piecewise): Likewise.
6083 * tree-vect-transform.c (vect_get_vec_def_for_operand):
6084 (get_initial_def_for_reduction): Likewise.
6085 * tree-vn.c (set_value_handle, get_value_handle): CONSTURCTOR uses
6086 value handle in annotations.
6087 * tree.c (tree_node_kind, tree_code_size, make_node_stat,
6088 tree_node_structure): Add support for constr_kind.
6089 (build_vector_from_ctor, build_constructor_single,
6090 build_constructor_from_list): New functions.
6091 (build_constructor): Update to take a VEC instead of a TREE_LIST.
6092 (simple_cst_equal, iterative_hash_expr, initializer_zerop, walk_tree):
6093 Update to cope with VEC in CONSTRUCTOR_ELTS.
6094 * tree.def (CONSTRUCTOR): Make it a tcc_exceptional node.
6095 * tree.h (FOR_EACH_CONSTRUCTOR_VALUE, FOR_EACH_CONSTRUCTOR_ELT,
6096 CONSTRUCTOR_APPEND_ELT): New macros.
6097 (struct constructor_elt, struct tree_constructor): New data types.
6098 (union tree_node): Add tree_constructor field.
6099 * treestruct.def: Define TS_CONSTRUCTOR.
6100 * varasm.c (const_hash_1, compare_constant, copy_constant,
6101 compute_reloc_for_constant, output_addressed_constants,
6102 initializer_constant_valid_p, output_constant,
6103 array_size_for_constructor, output_constructor): Update to cope with
6104 VEC in CONSTRUCTOR_ELTS.
6105 * vec.h (VEC_empty, VEC_copy): New macros.
6106
f37d7c60
DP
61072005-07-19 Devang Patel <dpatel@apple.com>
6108
6109 * dbxout.c (dbxout_type): Check Objective-C++ lang.
7904f95f 6110
af62f6f9
RH
61112005-07-19 Richard Henderson <rth@redhat.com>
6112
6113 PR tree-opt/22278
6114 * gimplify.c (gimplify_expr): Use main variant type for the temp
6115 destination for a discarded volatile read.
6116 * tree-ssa.c (tree_ssa_useless_type_conversion_1): Don't elide
6117 casts between non-void types that change volatility.
6118
b9b8dde3
DD
61192005-07-15 DJ Delorie <dj@redhat.com>
6120
6121 * toplev.h: Add comment about the first parameter for warning().
6122 * errors.h: Likewise.
6123
6124 * c.opt (Wpragmas): New.
6125 * doc/invoke.texi: Document it.
7904f95f 6126
b9b8dde3
DD
6127 * function.c (do_warn_unused_parameter): Add warning control to
6128 warning call.
6129 * c-decl.c (warn_if_shadowing): Likewise.
6130 * c-lex.c (cb_def_pragma): Likewise.
6131 * c-pragma.c (GCC_BAD, GCC_BAD2): Likewise.
6132 (pop_alignment): Likewise.
6133 (handle_pragma_pack): Likewise.
6134 (apply_pragma_weak): Likewise.
6135 (handle_pragma_weak): Likewise.
6136 (handle_pragma_redefine_extname): Likewise.
6137 (add_to_renaming_pragma_list): Likewise.
6138 (handle_pragma_extern_prefix): Likewise.
6139 (maybe_apply_renaming_pragma): Likewise.
6140 (handle_pragma_visibility): Likewise.
7904f95f 6141
b9b8dde3
DD
6142 * config/c4x/c4x-c.c (BAD): Likewise.
6143 (c4x_parse_pragma): Likewise.
6144 * config/ia64/ia64-c.c (ia64_hpux_handle_builtin_pragma): Likewise.
6145 * config/rs6000/rs6000-c.c (SYNTAX_ERROR): Likewise.
6146 (rs6000_pragma_longcall): Likewise.
6147 * config/v850/v850-c.c (pop_data_area): Likewise.
6148 (ghs_pragma_section): Likewise.
6149 (ghs_pragma_section): Likewise.
6150 (ghs_pragma_interrupt): Likewise.
6151 (ghs_pragma_starttda): Likewise.
6152 (ghs_pragma_startsda): Likewise.
6153 (ghs_pragma_startzda): Likewise.
6154 (ghs_pragma_endtda): Likewise.
6155 (ghs_pragma_endsda): Likewise.
6156 (ghs_pragma_endzda): Likewise.
6157
6a9a79a8
DB
61582005-07-19 Danny Berlin <dberlin@dberlin.org>
6159 Kenneth Zadeck <zadeck@naturalbridge.com>
6160
6161 * Makefile.in: Removed tree-promote-statics.c
6162 * tree-promote-statics.c: Removed.
6163 * common.opt: Removed flag-promote-statics.
6164 * opts.c: Ditto.
7904f95f 6165 * passes.c: Removed tree-promote-statics pass.
6a9a79a8
DB
6166 * tree-pass.h: Ditto.
6167 * timevar.def: Removed TV_PROMOTE_STATICS.
6168
6169
0219cf3d
GP
61702005-07-19 Gerald Pfeifer <gerald@pfeifer.com>
6171
6172 * config.gcc: Add support for *-*-freebsd7, *-*-freebsd8,
6173 and *-*-freebsd9.
6174 * config/freebsd-spec.h (FBSD_TARGET_OS_CPP_BUILTINS): Ditto.
7904f95f 6175
7876a414
KG
61762005-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6177
6178 PR c/22476
6179 * c-common.c (check_function_arguments): Call
6180 'check_function_format' if either -Wformat or
6181 -Wmissing-format-attribute are specified.
6182 * c-format.c (check_function_format): Check -Wformat before
6183 calling 'check_format_info'.
6184 * c-opts.c (c_common_post_options): Don't warn for
6185 -Wmissing-format-attribute without -Wformat.
6186 * c-typeck.c (convert_for_assignment): Detect additional cases for
6187 -Wmissing-format-attribute.
6188 * doc/invoke.texi (-Wmissing-format-attribute): Document new
6189 behavior.
6190
98ea7437
RG
61912005-07-19 Richard Guenther <rguenther@suse.de>
6192
6193 * config/i386/i386.md (lrint<mode>2): Use temporary
6194 instead of clobbering non-existent memory.
6195
89a0b917
NC
61962005-07-19 Nick Clifton <nickc@redhat.com>
6197
6198 * config/avr/avr.c (legitimate_address_p): Fix debugging print
6199 statement to avoid displaying ASCII control characters.
6200
dfea6c85
BE
62012005-07-19 Ben Elliston <bje@au.ibm.com>
6202
6203 * bt-load.c (link_btr_uses): Fix uninitialised warnings.
6204 * cfganal.c (find_edge_index): Ditto.
6205 * combine.c (combine_instructions): Ditto.
6206 * ddg.c (create_scc): Ditto.
6207 (find_successors): Ditto.
6208 (find_predecessors): Ditto.
6209 (find_nodes_on_paths): Ditto.
6210 (longest_simple_path): Ditto.
6211 * flow.c (update_life_info): Ditto.
6212 (count_or_remove_death_notes): Ditto.
6213 (clear_log_links): Ditto.
6214 * modulo-sched.c (generate_reg_moves): Ditto.
6215 (find_max_asap): Ditto.
6216 (find_max_hv_min_mob): Ditto.
6217 (find_max_dv_min_mob): Ditto.
6218 * sbitmap.c (sbitmap_first_set_bit): Ditto.
6219 * sched-rgn.c (extract_edgelst): Ditto.
6220 * tree-into-ssa.c (prepare_names_to_update): Ditto.
6221 (dump_update_ssa): Ditto.
6222 (ssa_names_to_replace) Ditto.
6223 (switch_virtuals_to_full_rewrite): Ditto.
6224 (update_ssa): Ditto.
6225 * tree-vect-transform.c (vect_create_epilog_for_reduction): Ditto.
6226
b9d33488
DB
62272005-07-18 Daniel Berlin <dberlin@dberlin.org>
6228
6229 Fix PR tree-optimization/22483
7904f95f 6230
b9d33488
DB
6231 * tree-complex.c (create_components): Use
6232 safe_referenced_var_iterator and FOR_EACH_REFERENCED_VAR_SAFE.
6233 * tree-flow-inline.h (fill_referenced_var_vec): New function.
6234 * tree-flow.h (safe_referenced_var_iterator): New structure.
6235 (FOR_EACH_REFERENCED_VAR_SAFE): New macro.
6236 * tree-ssa-alias.c (setup_pointers_and_addressables): Use
6237 safe_referenced_var iterator.
6238 (add_type_alias): Ditto.
6239
9fa26457
SB
62402005-07-19 Steven Bosscher <stevenb@suse.de>
6241
6242 * loop-init.c (rest_of_handle_loop2): Remove.
6243 (rtl_loop_init, rtl_loop_done, rtl_move_loop_invariants,
6244 rtl_unswitch, rtl_unroll_and_peel_loops, rtl_doloop): New functions.
6245 (pass_rtl_loop_init, pass_rtl_loop_done,
6246 pass_rtl_move_loop_invariants, pass_rtl_unswitch,
6247 pass_rtl_unroll_and_peel_loops, pass_rtl_doloop): New passes.
6248 * tree-ssa-loop.c (pass_loop, pass_loop_init, pass_loop_done,
6249 pass_unswitch): Rename to pass_tree_loop, pass_tree_loop_init,
6250 pass_tree_loop_done, and pass_tree_unswitch.
6251 (gate_loop): Rename to gate_tree_loop.
6252 * passes.c (init_optimization_passes): Update for renamed tree
6253 loop passes. Add the new loop2 passes as subpasses of loop2.
6254 * tree-pass.h: Add extern declarations for the new loop2 subpasses.
6255 Update for the renamed tree loop passes.
6256
7825308e
ILT
62572005-07-18 Ian Lance Taylor <ian@airs.com>
6258
6259 PR middle-end/22057
6260 * tree-cfgcleanup.c (cleanup_tree_cfg): Only remove forwarder
6261 blocks when optimizing.
6262
2928d0f8
SE
62632005-07-18 Steve Ellcey <sje@cup.hp.com>
6264
6265 * common.opt (frename-registers): Initialize to 2.
6266 (fweb): Ditto.
6267 (fgcse-after-reload): Ditto.
6268 * toplev.c (AUTODETECT_FLAG_VAR_TRACKING): Rename to AUTODETECT_VALUE.
6269 (process_options): Only change flag_web, flag_rename_registers,
6270 and flag_rerun_cse_after_loop if not explicitly set by user.
6271
28356f52
JB
62722005-07-18 Jan Beulich <jbeulich@novell.com>
6273
6274 * config/i386/i386.c (ix86_expand_branch, ix86_expand_setcc,
6275 ix86_expand_carry_flag_compare, ix86_expand_int_movcc): Handle TImode
6276 in 64-bit mode the same as DImode in 32-bit mode.
6277 (ix86_expand_ashl_const, ix86_split_ashl, ix86_split_ashr,
6278 ix86_split_lshr): Likewise. Rename to no longer refer to a specific
7904f95f 6279 mode. Add new mode parameter.
28356f52
JB
6280 * config/i386/i386.h (CONST_OK_FOR_LETTER_P): Describe and handle 'O'.
6281 * config/i386/i386.md (cmpti, addti3, subti3, negti2, ashlti3, ashrti3,
6282 x86_64_shift_adj): New expanders.
6283 (*addti3_1, *subti3_1, *negti2_1, ashlti3_1, *ashlti3_2, ashrti3_1,
6284 *ashrti3_2, lshrti3_1, *lshrti3_2, x86_64_shld, x86_64_shrd): New
6285 insns.
6286 Respective new splitters. Use renamed shift splitter helpers in 32-bit
6287 DImode shift splitters.
6288 * config/i386/i386-protos.h (ix86_split_ashl, ix86_split_ashr,
6289 ix86_split_lshr): Renamed from ix86_split_[al]sh[rl]di. Added new
6290 mode parameter.
6291
422edd6f
JB
62922005-07-18 Jan Beulich <jbeulich@novell.com>
6293
6294 * i386.md (movdi_extzv_1): New.
6295 (zero_extendhidi2): Combine alternatives and never force use of
6296 REX64 prefix.
6297 (zero_extendqidi2): Likewise. Don't restrict input selection.
6298
c625053b
DB
62992005-07-17 Daniel Berlin <dberlin@dberlin.org>
6300
6301 Fix PR tree-optimization/22531
6302 * tree-ssa-pre.c (do_eustores): Make sure LHS is a decl for the
6303 moment.
6304
3b1355f3
DB
63052005-07-17 Daniel Berlin <dberlin@dberlin.org>
6306
6307 * tree-promote-statics.c (pass_promote_statics): Change dump file
6308 name.
6309
63102005-07-17 Daniel Berlin <dberlin@dberlin.org>
45159bf6
DB
6311
6312 * tree-optimize.c (init_tree_optimization_passes): Add
6313 pass_eliminate_useless_stores pass.
6314 * tree-pass.h (pass_eliminate_useless_stores): New pass structure.
6315 * tree-ssa-pre.c (is_copy_stmt): New function.
6316 (follow_copies_till_vuse): Ditto.
6317 (do_eustores): Ditto.
7904f95f
EC
6318 (gate_eustores): Ditto.
6319
7544a87f
RH
63202005-07-16 Richard Henderson <rth@redhat.com>
6321
6322 * gcc.c (MFWRAP_SPEC): Don't wrap pthread_join or pthread_exit.
6323
bf0d50f1
KZ
63242005-07-16 Danny Berlin <dberlin@dberlin.org>
6325 Kenneth Zadeck <zadeck@naturalbridge.com>
6326
6327 * Makefile.in: Added rules for ipa-pure-const.c, ipa-reference.c,
6328 ipa-reference.h, ipa-utils.c, ipa-utils.h, ipa-type-escape.c,
6329 ipa-type-escape.h, tree-promote-statics.c
6330 * ipa-pure-const.c, ipa-reference.c, ipa-reference.h, ipa-utils.c,
7904f95f 6331 ipa-utils.h, ipa-type-escape.c, ipa-type-escape.h,
bf0d50f1
KZ
6332 tree-promote-statics.c: new files.
6333 * alias.c: (nonlocal_mentioned_p_1, nonlocal_mentioned_p,
6334 nonlocal_referenced_p_1, nonlocal_referenced_p, nonlocal_set_p_1,
6335 int nonlocal_set_p, mark_constant_function): Deleted.
7904f95f 6336 (rest_of_handle_cfg): Removed call to mark_constant_function.
86979811 6337 (nonoverlapping_component_refs_p): Added calls to support
7904f95f 6338 type based aliasing.
86979811 6339 * tree-ssa-alias.c (may_alias_p,
bf0d50f1
KZ
6340 compute_flow_insensitive_aliasing): Ditto.
6341 * calls.c (flags_from_decl_or_type): Removed reference to
7904f95f 6342 cgraph_rtl_info.
86979811 6343 * c-typeck.c (convert_arguments): Make builtins tolerant of having
bf0d50f1
KZ
6344 too many arguments. This is necessary for Spec 2000.
6345 * cgraph.h (const_function, pure_function): Removed.
7904f95f 6346 * common.opt: Added "fipa-pure-const", "fipa-reference",
bf0d50f1
KZ
6347 "fipa-type-escape", and "ftree-promote-static".
6348 * opts.c: Ditto.
7904f95f 6349 * passes.c: Added ipa and tree-promote-statics passes.
bf0d50f1
KZ
6350 * timevar.def: Added TV_IPA_PURE_CONST, TV_IPA_REFERENCE,
6351 TV_IPA_TYPE_ESCAPE, and TV_PROMOTE_STATICS.
bf0d50f1 6352 * tree-dfa.c (referenced_var_lookup_if_exists): New function.
7904f95f 6353 * tree-flow.h: Added exposed sra calls and addition of
bf0d50f1
KZ
6354 reference_vars_info field for FUNCTION_DECLS.
6355 * tree-pass.h: Added passes.
6356 * tree-sra.c: (sra_init_cache): New function.
6357 (sra_insert_before, sra_insert_after) Made public.
6358 (type_can_be_decomposed_p): Renamed from type_can_be_decomposed_p
6359 and made public.
6360 * tree-ssa-alias.c (dump_alias_stats): Added stats for type based
6361 aliasing. (may_alias_p): Added code to use type escape analysis to
6362 improve alias sets.
6363 * tree-ssa-operands.c (add_call_clobber_ops): Added parameter and
6364 code to prune clobbers of static variables based on information
6365 produced in ipa-reference pass. Changed call clobbering so that
6366 statics are not marked as clobbered if the call does not clobber
6367 them.
6368
b6e0bdbd
DB
63692005-07-16 Daniel Berlin <dberlin@dberlin.org>
6370
6371 * tree-ssa-structalias.c (need_to_solve): Need to check for preds,
6372 too.
6373
ff8f80f2 63742005-07-16 Eric Botcazou <ebotcazou@libertysurf.fr>
2c00bd42
EB
6375
6376 * doc/install.texi (*-*-solaris2*): Document recommended version
6377 of GNU binutils and mention GNU linker problem on Solaris 10.
6378
0b359b01
JM
63792005-07-16 Joseph S. Myers <joseph@codesourcery.com>
6380
6381 PR c/22421
6382 * c-decl.c (c_build_bitfield_integer_type): New function.
6383 (finish_struct): Call it.
6384 * c-pretty-print.c (pp_c_type_specifier): Handle bit-field types.
6385
8fcef540
KG
63862005-07-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6387
6388 * c-typeck.c (digest_init): Call 'convert_for_assignment'
6389 before returning.
6390
84fc24e8
JH
63912005-07-16 Jan Hubicka <jh@suse.cz>
6392
6393 * cfg.c (update_bb_profile_for_threading): Fix profile updating.
6394 (scale_bbs_frequencies_int): Watch roundoff errors.
6395 * predict.c (return_prediction): Initialize return_stmt.
6396
3258272f
JH
63972005-07-16 Jan Hubicka <jh@suse.cz>
6398
6399 * profile.c (rest_of_handle_branch_prob): Fix handling of estimation
6400 after RTL profiling.
6401
01c0a9fa
AP
64022005-07-11 Andrew Pinski <pinskia@physics.uc.edu>
6403
6404 PR middle-end/22398
6405 * fold-const.c (build_range_check): Convert high/low to etype
6406 if we are only comparing against exp.
6407
27811bfe
DB
64082005-07-13 Daniel Berlin <dberlin@dberlin.org>
6409
6410 Fix PR tree-optimization/22376
6411 * tree-ssa-structalias.c (build_constraint_graph): We really meant
6412 special var here.
6413 (need_to_solve): New function.
6414 (compute_points_to_sets): Use it.
7904f95f 6415
2b151cb2
JH
64162005-07-15 Jan Hubicka <jh@suse.cz>
6417
6418 * cfg.c (update_bb_profile_for_threading): More diagnostic.
6419 * tree-ssa-threadupdate.c (redirect_edges): Update profile of dup_block.
6420
0691d1d4
RG
64212005-07-15 Richard Guenther <rguenther@suse.de>
6422
6423 * c-common.c (handle_flatten_attribute): New function.
6424 Add flatten function attribute.
6425 * doc/extend.texi: Document flatten function attribute.
6426 * Makefile.in (ipa-inline.o): Depend on hashtab.h.
6427 * ipa-inline.c (cgraph_find_cycles, cgraph_flatten_node):
6428 New functions.
6429 (cgraph_decide_inlining): Handle functions with flatten
6430 attribute.
6431
9f0076e5
DE
64322005-07-14 David Edelsohn <edelsohn@gnu.org>
6433
6434 * config/rs6000/rs6000.md (UNSPEC_SYNC, UNSPEC_LWSYNC,
6435 UNSPEC_ISYNC, UNSPEC_SYNC_OP, UNSPEC_ATOMIC, UNSPEC_CMPXCHG,
6436 UNSPEC_XCHG, UNSPEC_AND): New.
6437 (UNSPECV_ATOMIC, UNSPECV_SYNC, UNSPECV_SYNC_OP, UNSPECV_CMPXCHG,
6438 UNSPECV_LWSYNC, UNSPECV_ISYNC): Delete.
6439 * config/rs6000/sync.md (FETCHOP): New code macro.
6440 (fetchop_name, fetchop_pred, fetchopsi_constr, fetchopdi_constr):
6441 New code attrs.
6442 (memory_barrier, sync_internal): Use unspec instead of unspec_volatile.
6443 (sync_compare_and_swap<mode>): Same.
6444 (sync_lock_test_and_set<mode>): Same.
6445 (sync_<fetchop><mode>, sync_nand<mode>): Only use rs6000_emit_sync
6446 for QImode and HImode, and not PPC405.
6447 (sync_old_<fetchop><mode>, sync_old_nand<mode>): Same.
6448 (sync_new_<fetchop><mode>, sync_new_nand<mode>): Same.
6449 (sync_<fetchop>{si,di}_internal): New.
6450 (sync_nand{si,di}_internal): New.
6451 (sync_old_<fetchop>{si,di}_internal): New.
6452 (sync_old_nand{si,di}_internal): New
6453 (sync_new_<fetchop>{si,di}_internal): New.
6454 (sync_new_nand{si,di}_internal): New.
6455 (atomic_and{si,di}): New.
6456 (sync_new_nand{si,di}_internal): New.
6457 (atomic_and{si,di}): New.
6458 (sync_add<mode>_internal): Delete.
6459 (sync_addshort_internal): Use unspec instead of unspec_volatile.
6460 (sync_sub<mode>_internal): Delte.
6461 (sync_subshort_internal): New.
6462 (sync_andsi_internal): Use unspec instead of unspec_volatile.
6463 (sync_anddi_internal): Delete.
6464 (sync_boolsi_internal): Use unspec instead of unspec_volatile.
6465 (sync_booldi_internal): Delete.
6466 (sync_boolc<mode>_internal): Delete.
6467 (sync_boolcshort_internal): Use unspec instead of unspec_volatile.
6468 (sync_boolc<mode>_internal2): Delete.
6469 (sync_boolcc<mode>_internal): Delete.
6470 (isync, lwsync): Use unspec instead of unspec_volatile.
6471 * config/rs6000/rs6000.c (rs6000_emit_sync): Implement MINUS.
6472 Revert UNSPEC_VOLATILE.
6473 (rs6000_split_atomic_op): New.
6474 * config/rs6000/rs6000-protos.h (rs6000_split_atomic_op): Declare.
6475
06277571
EC
64762005-07-14 Eric Christopher <echristo@redhat.com>
6477
6478 * config/mips/mips.c (mips_canonicalize_comparison): Cast
6479 argument of trunc_int_for_mode to unsigned HOST_WIDE_INT.
6480
b838c72b
EC
64812005-07-14 Eric Christopher <echristo@redhat.com>
6482
6483 * config/s390/t-tpf (SHLIB_MAPFILES): Remove.
6484
3c341936
SB
64852005-07-14 Steven Bosscher <stevenb@suse.de>
6486
6487 PR tree-optimization/22230
6488 * tree-vrp.c (extract_range_from_binary_expr): Fix logics thinko in
6489 the computation of the four cross productions for "range op range".
6490
704b6cb5 64912005-07-14 Alexandre Oliva <aoliva@redhat.com>
86979811 6492 Ulrich Weigand <uweigand@de.ibm.com>
704b6cb5
AO
6493
6494 PR target/20126
6495 * loop.c (loop_givs_rescan): Do not ICE if unable to reduce an IV
6496 in some insn.
6497
a771c4b3
UW
64982005-07-14 Ulrich Weigand <uweigand@de.ibm.com>
6499
6500 * config/s390/s390.h (TARGET_TPF_PROFILING): Add default definition.
6501
6f3113ed
SE
65022005-07-14 Steve Ellcey <sje@cup.hp.com>
6503
6504 * config/ia64/ia64.c (ia64_output_dwarf_dtprel): Support ILP32 mode.
6505
cb1119b7
RG
65062005-07-14 Richard Guenther <rguenther@suse.de>
6507
6508 PR middle-end/22347
6509 * config/i386/i386-protos.h (ix86_function_value): Change
6510 prototype to match new target hook.
6511 * config/i386/i386.c (ix86_value_regno): Change prototype
6512 to take extra type argument.
6513 (TARGET_FUNCTION_VALUE): Define.
6514 (ix86_function_ok_for_sibcall): Pass extra argument to
6515 ix86_value_regno, check return slot rtx for exact match.
6516 (ix86_function_value): Take extra parameter. Dispatch to
6517 ix86_value_regno with fndecl/fntype as provided.
6518 (ix86_value_regno): Handle extra type argument.
6519 * config/i386/i386.h (FUNCTION_VALUE): No longer define.
6520
6521 * testsuite/gcc.target/i386/sseregparm-3.c: New testcase.
6522 * testsuite/gcc.target/i386/sseregparm-4.c: New testcase.
6523 * testsuite/gcc.target/i386/sseregparm-5.c: New testcase.
6524 * testsuite/gcc.target/i386/sseregparm-6.c: New testcase.
6525 * testsuite/gcc.target/i386/sseregparm-7.c: New testcase.
6526
1d636cc6
RG
65272005-07-14 Richard Guenther <rguenther@suse.de>
6528
6529 * Makefile.in (explow.o, reg-stack.o): Depend on target.h.
6530 * calls.c (expand_call): Pass fntype to hard_function_value.
6531 (emit_library_call_value_1): Likewise.
6532 * explow.c: Include target.h.
6533 (hard_function_value): Take extra argument, the fntype.
6534 Use new target hook for function_value.
6535 * expr.h (hard_function_value): Change prototype.
6536 * function.c (aggregate_value_p): Pass 0 as fntype to
6537 hard_function_value.
6538 (assign_parms): Use new target hook for function_value.
6539 Pass 0 as fntype to hard_function_value.
6540 (expand_function_end): Likewise.
6541 * reg-stack.c: Include target.h.
6542 (stack_result): Use new target hook for function_value.
6543 * target-def.h: New target hook function_value.
6544 * target.h: Likewise.
6545 * targhooks.c (default_function_value): New function.
6546 * targhooks.h (default_function_value): Declare.
6547
09d8cc0e
ILT
65482005-07-13 Ian Lance Taylor <ian@airs.com>
6549
6550 * config/mips/mips.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
6551
df1f6f31
JH
65522005-07-14 Jan Hubicka <jh@suse.cz>
6553
6554 * tree-dfa.c (dump_variable): Use default_def function.
6555 * tree-ssa-alias.c (dump_points_to_info): Likewise.
6556 * tree-ssa.c (verify_use): Likewise.
6557 * tree-ssanames.c (release_ssa_name): Likewise.
6558 * tree-tailcall.c (eliminate_tail_call): Likewise.
6559 (tree_optimize_tail_calls_1): Likewise.
6560 * tree-vrp.c (get_value_range): Likewise.
6561
9ef0b1bd
BE
65622005-07-14 Ben Elliston <bje@au.ibm.com>
6563
6564 * gcc.c (main): Compare language[0] with '*' when iterating over
6565 the infiles.
6566
85333688 65672005-07-13 Adrian Strae½tling <straetling@de.ibm.com>
69950452
AS
6568
6569 * config/s390/s390.c: (s390_cc_modes_compatible): Move before
6570 "s390_emit_compare". Add handling of CCZ1mode.
6571 (s390_canonicalize_comparison): Simplify cascaded EQ, NE.
6572 (390_emit_compare): Use "s390_cc_modes_compatible" for mode
6573 checking.
6574 (s390_branch_condition_mask): Add CCZ1mode handling.
6575 * config/s390/s390.md: ("seq", "*seq"): New pattern.
6576 ("sync_compare_and_swap_cc<mode>", "*sync_compare_and_swap_cc<mode>"):
6577 Use CCZ1mode instead of CCZmode.
6578 * config/s390/s390-modes.def: Add CCZ1mode. Comment new mode.
6579
85333688 65802006-07-13 Adrian Strae½tling <straetling@de.ibm.com>
ccbdc0d4
AS
6581
6582 * config/s390/s390.md: ("cmpstrsi", "*cmpstr<mode>"): New
6583 pattern.
6584 ("strlen<mode>", "*strlen<mode>"): Use hard reg 0 in SImode.
6585
ecd48505
EC
65862005-07-13 Eric Christopher <echristo@redhat.com>
6587
6588 * config/mips/mips.c (mips_canonicalize_comparison): New.
6589 (mips_emit_int_relational): Use.
6590
a8ba31f2
EC
65912005-07-13 Eric Christopher <echristo@redhat.com>
6592
86979811
SB
6593 * config.gcc (s390x-ibm-tpf*): Add extra_options. Remove
6594 static extra parts.
6595 * config/s390/s390.md: Include tpf.md. Move tpf specific
6596 patterns...
6597 * config/s390/tpf.md: To here.
6598 * config/s390/s390.opt: Move tpf specific options...
6599 * config/s390/tpf.opt: to here. Add mmain option.
6600 * config/s390/tpf-unwind.h: Remove unnecessary defines.
6601 * config/s390/tpf.h: Rewrite.
a8ba31f2 6602
709a840a
L
66032005-07-13 H.J. Lu <hongjiu.lu@intel.com>
6604
6605 * doc/tm.texi: Remove @xref{Cross-profiling}.
6606
59f7a202
JL
66072005-07-13 Jeff Law <law@redhat.com>
6608
6609 * fold-const.c (fold_binary): When comparing two simple ADDR_EXPR
6610 expressions, test their _DECL operands for pointer equality rather
6611 than using operand_equal_p.
6612
4969c0d8
L
66132005-07-13 H.J. Lu <hongjiu.lu@intel.com>
6614
6615 * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Renamed to ...
6616 (TARGET_POSIX_IO): This.
6617 * config/darwin.h: Likewise.
6618 * config/freebsd.h: Likewise.
6619 * config/linux.h: Likewise.
6620 * config/lynx.h: Likewise.
6621 * config/netbsd.h: Likewise.
6622 * config/rs6000/linux64.h: Likewise.
6623 * config/rs6000/linux.h: Likewise.
6624 * config/s390/tpf.h: Likewise.
6625 * config/sh/embed-elf.h: Likewise.
6626 * config/sparc/linux64.h: Likewise.
6627 * config/sparc/linux.h: Likewise.
6628 * config/svr4.h: Likewise.
6629 * gcov-io.h: Likewise.
6630
6631 * doc/tm.texi: Updated.
6632
6633 * libgcov.c (create_file_directory): Defined only if
6634 TARGET_POSIX_IO is defined.
6635 (gcov_exit): Call create_file_directory only if TARGET_POSIX_IO
6636 is defined.
6637
98b6d477
JH
66382005-07-13 Jan Hubicka <jh@suse.cz>
6639
6640 * tree-ssa-operands.c (get_expr_operands): Fix typo in previous patch.
6641
bbcbc3e0
DE
66422005-07-13 David Edelsohn <edelsohn@gnu.org>
6643
6644 * tree-ssa-dom.c (lookup_avail_expr): Do not pass member in freed
6645 structure as argument.
6646
3cb005cf
PB
66472005-07-13 Paolo Bonzini <bonzini@gnu.org>
6648
6649 PR tree-optimization/21921
6650 * tree-iterator.c (tsi_link_before): Support the case when
6651 tsi_end_p (tsi) == true.
6652
2c5f025d
ZD
66532005-07-12 Zdenek Dvorak <dvorakz@suse.cz>
6654
6655 PR tree-optimization/22442
6656 * tree-chrec.c (chrec_fold_multiply_poly_poly): Associate chrecs
6657 correctly.
6658
7869fe47
ZD
66592005-07-12 Zdenek Dvorak <dvorakz@suse.cz>
6660
6661 PR rtl-optimization/20376
6662 * toplev.c (process_options): Enable -fweb and -frename-registers when
6663 unrolling.
6664 * doc/invoke.texi: Update the information about when -fweb and
6665 -frename-registers are enabled.
6666
fe83f543
AP
66672005-07-12 Andrew Pinski <pinskia@physics.uc.edu>
6668
6669 PR tree-opt/21840
6670 * tree-ssa-pre.c (eliminate): Convert the sprime to the correct type
6671 if *rhs_p is not a SSA_NAME.
6672
13c2c08b 66732005-07-12 Daniel Berlin <dberlin@dberlin.org>
7904f95f
EC
6674
6675 Fix PR tree-optimization/22422
13c2c08b
DB
6676 * tree-ssa-structalias.c (struct variable_info): Add flag for
6677 special vars.
6678 (get_varinfo): Now a static function.
6679 (new_varinfo): init has_union and is_special_var to false.
6680 (solution_set_add): Check has_union.
6681 (do_da_constraint): Move temporary variable so it gets reset
6682 properly.
6683 Also check for special variable.
6684 (do_ds_constraint): Ditto.
6685 (do_sd_constraint): Ditto.
6686 (do_structure_copy): Check for special variable.
6687 (find_func_aliases): Ditto.
7904f95f 6688 (init_base_vars): Set special vars properly.
13c2c08b 6689
7fac66d4
JH
66902005-07-13 Jan Hubicka <jh@suse.cz>
6691
3b9ade75
JH
6692 * cfgexpand.c (expand_one_stack_var): Do not expand variables when we
6693 do unit-at-a-time.
6694
7fac66d4
JH
6695 * tree-ssa-operands.c (parse_ssa_operands): Fix formatting.
6696 (get_expr_operands): Fix thinko wrt flags and subvars.
6697
6698 PR tree-optimize/22379
6699 * tree-inline.c (expand_call_inline): Do not output sorry in early
6700 inlining.
6701
a2af5043
DJ
67022005-07-12 Dale Johannesen <dalej@apple.com>
6703
6704 * config/rs6000.c (rs6000_rtx_cost): Move FLOAT_EXTEND.
6705
298f1d10
AP
67062005-07-12 Andrew Pinski <pinskia@physics.uc.edu>
6707
6708 PR bootstrap/21704
6709 * host-linux.h: Include limits.h.
6710
e4541b7a
DJ
67112005-07-12 Dale Johannesen <dalej@apple.com>
6712
6713 * expr.c (compress_float_constant): Add cost check.
6714 * config/rs6000.c (rs6000_rtx_cost): Adjust FLOAT_EXTEND cost.
6715
67162005-07-12 Dale Johannesen <dalej@apple.com>
6717
6718 * gcc.target/i386/compress-float-sse.c: New.
6719 * gcc.target/i386/compress-float-sse-pic.c: New.
6720 * gcc.target/i386/compress-float-387.c: New.
6721 * gcc.target/i386/compress-float-387-pic.c: New.
6722 * gcc.dg/compress-float-ppc.c: New.
6723 * gcc.dg/compress-float-ppc-pic.c: New.
6724
a8ba31f2
EC
67252005-07-12 Eric Christopher <echristo@redhat.com>
6726
6727 * config.gcc (s390x-ibm-tpf*): Add extra_options. Remove
6728 static extra parts.
6729 * config/s390/s390.md: Include tpf.md. Move tpf specific
6730 patterns...
6731 * config/s390/tpf.md: To here.
6732 * config/s390/s390.opt: Move tpf specific options...
6733 * config/s390/tpf.opt: to here. Add mmain option.
6734 * config/s390/tpf-unwind.h: Remove unnecessary defines.
6735 * config/s390/tpf.h: Rewrite.
6736
817a8255
EC
67372005-07-12 Eric Christopher <echristo@redhat.com>
6738
6739 * gcc.c (struct infile): Update comment for language.
6740 (main): Rewrite input file resetting code.
6741
019b02f1
AP
67422005-07-12 Andrew Pinski <pinskia@physics.uc.edu>
6743
6744 PR tree-opt/22335
6745 * tree-ssa-dom.c (eliminate_redundant_computations): Reject the prop if
6746 requiring a cast in a non RHS of modify_expr. Add a cast when required.
6747 (lookup_avail_expr): Use constant_boolean_node instead
6748 of boolean_false_node/boolean_true_node.
6749
cac50d94
BE
67502005-07-12 Ben Elliston <bje@au.ibm.com>
6751
6752 * tree-cfg.c (dump_cfg_stats): Add a new fmt_str_2 format string
6753 and use it when printing num_edges.
6754
161c21b6
BS
67552005-07-12 Bernd Schmidt <bernd.schmidt@analog.com>
6756
6757 * doc/extend.texi (Blackfin Built-in Functions): New section.
6758 * doc/invoke.texi (mcsync-anomaly, mno-csync-anomaly): Fix the
6759 @opindex.
6760
40c1d5f8
AS
67612005-07-12 Adrian Straetling <straetling@de.ibm.com>
6762
6763 * builtins.c: (expand_builtin_memcmp, expand_builtin_strncmp):
6764 s/cmpstrsi/cmpstrnsi
6765 (expand_builtin_strcmp): Rewrite to support both 'cmpstrsi' and
6766 'cmpstrnsi'.
6767 * optabs.c: (prepare_cmp_insn): Add availability of 'cmpstrn'.
6768 (init_optabs): Initialize cmpstrn_optab.
6769 * optabs.h: (enum insn_code cmpstrn_optab): Declare.
6770 * genopinit.c: (optabs[]): Add 'cmpstrn' to initialisation.
6771 * expr.c: (enum insn_code cmpstrn_optab): Declare.
6772 * config/i386/i386.md: s/cmpstr/cmpstrn
6773 * config/c4x/c4x.md: s/cmpstr/cmpstrn
6774 * doc/md.texi: Update documentation.
6775
d6e9821f
RH
67762005-07-11 Richard Henderson <rth@redhat.com>
6777
6778 * config/alpha/alpha.c (alpha_gimplify_va_arg_1): Use
6779 build_va_arg_indirect_ref.
6780 (alpha_gimplify_va_arg): Likewise.
6781 * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
6782 * config/i860/i860.c (i860_gimplify_va_arg_expr): Likewise.
6783 * config/mips/mips.c (mips_gimplify_va_arg_expr): Likewise.
6784 * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
6785 * config/sh/sh.c (sh_gimplify_va_arg_expr): Likewise.
6786 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_arg):
6787 Likewise.
6788 * config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Likewise.
6789
b7eae7b8
ZD
67902005-07-12 Zdenek Dvorak <dvorakz@suse.cz>
6791
6792 * tree-flow.h (remove_empty_loops, single_dom_exit): Declare.
6793 * passes.c (init_optimization_passes): Add pass_empty_loop.
6794 * tree-pass.h (pass_empty_loop): Declare.
6795 * tree-ssa-loop-ivcanon.c (empty_loop_p, remove_empty_loop,
6796 try_remove_empty_loop, remove_empty_loops): New functions.
6797 * tree-ssa-loop-ivopts.c (single_dom_exit): Export.
6798 * tree-ssa-loop.c (tree_ssa_empty_loop, pass_empty_loop): New.
6799
70028b61
PB
68002005-07-12 Peter Barada <peter@the-baradas.com>
6801
6802 PR middle-end/16719
6803 PR middle-end/18421
6804 * config/m68k/m68k.h (HARD_REGNO_MODE_OK): Disallow bytes
6805 in address registers.
6806 * config/m68k/m68k.c (hard_regno_mode_ok): Likewise.
6807 * config/m68k/m68k.md: Replace 's' with 'i' in 4th
6808 alternative of addsi3_5200.
6809
8564e10e
ILT
68102005-07-11 Ian Lance Taylor <ian@airs.com>
6811
6812 * config/mips/mips.md (ffs<mode>2): Remove.
6813
2f6bd539
ILT
68142005-07-11 Ian Lance Taylor <ian@airs.com>
6815
6816 * doc/tree-ssa.texi (Cleanups): Improve description of
6817 TRY_FINALLY_EXPR.
6818 (GIMPLE Exception Handling): Clarify TRY_CATCH_EXPR cases.
6819
046a69e0 68202005-07-11 Daniel Berlin <dberlin@dberlin.org>
7904f95f 6821
046a69e0
DB
6822 * print-tree.c (print_node): Use DECL_ARGUMENT_FLD.
6823 * tree.h (DECL_ARGUMENT_FLD): New macro.
6824
68252005-07-11 Daniel Berlin <dberlin@dberlin.org>
7904f95f 6826
046a69e0
DB
6827 Fix PR tree-optimization/22404
6828
6829 * tree-ssa-structalias.c (create_variable_info_for): Use
6830 correct offset.
6831
3fb192d2
BS
68322005-07-11 Bernd Schmidt <bernd.schmidt@analog.com>
6833
7ddcf3d2
BS
6834 * config/bfin/bfin.md (cmpsi, compare_eq, compare_ne, compare_lt,
6835 compare_le, compare_leu, compare_ltu): Use reg_or_const_int_operand
6836 for second comparison operand.
6837 * config/bfin/predicates.md (reg_or_const_int_operand): New.
6838
3fb192d2
BS
6839 * config/bfin/bfin.md (define_attr "type"): Add "sync".
6840 (define_insn_reservation "alu"): Likewise.
6841 (csync, ssync): Now of type sync.
6842 * config/bfin/bfin.h (TARGET_DEFAULT): Defaults to
6843 -mcsync-anomaly -mspecld-anomaly.
6844 * config/bfin/bfin.opt (mcsync): Remove.
6845 (mcsync-anomaly, mspecld-anomaly): Add.
6846 * config/bfin/bfin.c: Include "insn-codes.h".
6847 (bfin_reorg): Extend to handle the CSYNC anomaly as well.
6848 (TARGET_DEFAULT_TARGET_FLAGS): New.
6849 * doc/invoke.texi: Document -mcsync-anomaly, -mspecld-anomaly.
6850
2dd2d53e
SB
68512005-07-11 Steven Bosscher <stevenb@suse.de>
6852
6853 * basic-block.h: Give the BB flags enum a name, bb_flags.
6854 Add new flags BB_FORWARDER_BLOCK, and BB_NONTHREADABLE_BLOCK.
6855 * cfgcleanup.c (enum bb_flags): Remove here.
6856 (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG): Remove.
6857 (notice_new_block): Set/test bb->flags instead of aux via BB_FLAGS.
6858 (update_forwarder_flag): Likewise.
6859 (thread_jump): Likewise.
6860 (try_forward_edges): Likewise.
6861 (try_optimize_cfg): Likewise. Clear bb->flags before updating the
6862 forwarder flags. Don't clear bb->aux for all basic blocks. Only
6863 reset the BB_FORWARDER_BLOCK and BB_NONTHREADABLE_BLOCK flags.
6864
1f97667f
RG
68652005-07-11 Richard Guenther <rguenther@suse.de>
6866
6867 * config/i386/i386.opt: New target option -msseregparm.
6868 * config/i386/i386.c (override_options): Error out for
6869 -msseregparm but no SSE support.
6870 (ix86_function_sseregparm): Check for global sseregparm.
6871 * doc/invoke.texi: Document -msseregparm.
6872
4dda0c66
KI
68732005-07-11 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
6874
6875 * config.gcc (m32r-*-linux*): Use the default extra_parts.
6876 (m32rle-*-linux*): Ditto.
6877
15362b89
JJ
68782005-07-11 Jakub Jelinek <jakub@redhat.com>
6879
6880 * cfgexpand.c (stack_protect_classify_type): Use TYPE_SIZE_UNIT (type)
6881 instead of TYPE_MAX_VALUE (TYPE_DOMAIN (type)) to get array size in
6882 bytes.
6883
b1b0d9ac
JDA
68842005-07-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6885
6886 PR middle-end/22239
6887 PR target/20126
6888 * loop.c (loop_givs_rescan): Use expand_simple_binop instead of
6889 gen_rtx_MINUS to handle non-replaceable (plus ((x) (const)).
6890
b5efa470
DB
68912005-07-07 Daniel Berlin <dberlin@dberlin.org>
6892
6893 * tree-ssa-structalias.c (struct variable_info): Heapify complex.
6894 (varmap): Heapify varmap.
6895 (constraints): Heapify constraints.
6896 (struct constraint_graph): Heapify succs and preds.
6897 (constraint_vec_find): Update for heapification.
6898 (constraint_set_union): Ditto.
6899 (insert_into_complex): Ditto.
6900 (constraint_edge_vec_find): Ditto.
6901 (erase_graph_self_edge): Ditto.
6902 (add_graph_edge): Ditto.
6903 (get_graph_weights): Ditto.
6904 (merge_graph_nodes): Ditto.
6905 (build_constraint_graph): Ditto.
6906 (topo_visit): Ditto.
6907 (solve_graph): Ditto.
6908 (create_variable_info_for): Ditto.
6909 (init_base_vars): Ditto.
6910 (delete_points_to_sets): Free graph, varmap, and complex constraints.
6911 (condese_varmap_nodes): Free complex vector.
6912 (clear_edges_for_node): Clear succs and preds vector.
6913
0bfac35f
DB
69142005-07-10 Daniel Berlin <dberlin@dberlin.org>
6915
6916 * tree-ssa-structalias.c (update_alias_info): Change counting of
6917 references to not include vdefs.
7904f95f 6918
46c73d9a
DB
69192005-07-10 Daniel Berlin <dberlin@dberlin.org>
6920
6921 * tree-ssa-alias.c (free_used_part_map): Add missing free.
6922 (up_insert): Ditto.
6923
bd7d5043
JDA
69242005-07-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6925
6926 * pa.c (pa_commutative_p): Make PLUS commutative when
6927 TARGET_NO_SPACE_REGS is true.
6928
e8ca4159
DN
69292005-07-09 Diego Novillo <dnovillo@redhat.com>
6930
6931 * Makefile.in (tree-ssa-alias.o): Depend on tree-ssa-structalias.h
6932 * tree-cfg.c (CHECK_OP): Only test for is_gimple_val.
6933 * tree-dfa.c (dump_subvars_for): New.
6934 (debug_subvars_for): New.
6935 (dump_variable): Show subvariables if VAR has them.
6936 * tree-flow-inline.h (get_subvar_at): New.
6937 (overlap_subvar): Change offset and size to unsigned HOST_WIDE_INT.
6938 * tree-flow.h (struct ptr_info_def): Remove field pt_malloc.
6939 Update all users.
6940 (struct subvar): Change fields offset and size to unsigned
6941 HOST_WIDE_INT.
6942 (dump_subvars_for): Declare.
6943 (debug_subvars_for): Declare.
6944 (get_subvar_at): Declare.
6945 (okay_component_ref_for_subvars): Change 2nd and 3rd argument
6946 to unsigned HOST_WIDE_INT *.
6947 (overlap_subvar): Likewise.
6948 * tree-gimple.c (is_gimple_reg): Always return false for
6949 SFTs and memory tags.
6950 * tree-pass.h (pass_build_pta, pass_del_pta): Remove.
6951 Update all callers.
6952 * tree-ssa-alias.c: Include tree-ssa-structalias.h.
6953 (compute_may_aliases): Call compute_points_to_sets.
6954 (collect_points_to_info_for): Remove.
6955 (compute_points_to_and_addr_escape): Remove.
6956 (delete_alias_info): Call delete_points_to_sets.
6957 (compute_flow_sensitive_aliasing): If the call to
6958 find_what_p_points_to returns false, call set_pt_anything.
6959 (add_may_alias): Set TREE_ADDRESSABLE when adding a new alias.
6960 (set_pt_anything): Clear pi->pt_vars.
6961 (set_pt_malloc): Remove.
6962 (merge_pointed_to_info): Remove.
6963 (add_pointed_to_expr): Remove.
6964 (add_pointed_to_var): Remove.
6965 (collect_points_to_info_r): Remove.
6966 (is_escape_site): Make extern.
6967 (create_sft): New.
6968 (create_overlap_variables_for): Call it.
6969 * tree-ssa-copy.c (merge_alias_info): Never merge
6970 flow-sensitive alias information.
6971 * tree-ssa-operands.c (get_expr_operands): Adjust variables
6972 offset and size to be unsigned HOST_WIDE_INT.
6973 (add_to_addressable_set): Rename from note_addressable.
6974 Set TREE_ADDRESSABLE as the variables are added to the set.
6975 Update all users.
6976 (add_stmt_operand): Do not try to micro-optimize unmodifiable
6977 operands into VUSEs when adding V_MAY_DEFs for members in an
6978 alias set.
6979 * tree-ssa-operands.h (add_to_addressable_set): Declare.
6980 * tree-ssa-structalias.c: Include tree-ssa-structalias.h last.
6981 (struct variable_info): Add bitfield is_heap_var.
6982 (var_anyoffset, anyoffset_tree, anyoffset_id): Declare.
6983 (new_var_info): Initialize is_heap_var.
6984 (get_constraint_for): Add HEAP variables to the symbol table.
6985 Mark them with is_heap_var.
6986 (update_alias_info): New. Taken mostly from the old
6987 compute_points_to_and_addr_escape.
6988 (handle_ptr_arith): New.
6989 (find_func_aliases): Call update_alias_info.
6990 Call handle_ptr_info for tcc_binary expressions.
6991 Call mark_stmt_modified.
6992 (create_variable_info_for): If DECL has subvars, do not create
6993 variables for its subvars. Always add all the fields.
6994 (set_uids_in_ptset): If the solution includes ANYOFFSET and
6995 SFTs, then add all the SFTs of the structure.
6996 If VI->DECL is an aggregate with subvariables, add the SFT at
6997 VI->OFFSET.
6998 (find_what_p_points_to): If VI is an artificial variable,
6999 translate to bitfields in SSA_NAME_PTR_INFO.
7000 If the solution is empty, set pi->pt_vars to NULL
7001 (init_base_vars): Create ANYOFFSET.
7002 (compute_points_to_sets): Rename from create_alias_vars.
7003 Make extern.
7004 (pass_build_pta): Remove.
7005 (delete_points_to_sets): Rename from delete_alias_vars.
7006 (pass_del_pta): Remove.
7007 * tree-ssa-structalias.h (struct alias_info): Move from
7008 tree-ssa-alias.h.
7009 (NUM_REFERENCES, NUM_REFERENCES_CLEAR, NUM_REFERENCES_INC,
7010 NUM_REFERENCES_SET): Likewise.
7011 (compute_points_to_sets, delete_points_to_sets): Declare.
7012
38f31687
RH
70132005-07-09 Richard Henderson <rth@redhat.com>
7014
7015 * config/alpha/alpha.c (emit_insxl, alpha_expand_compare_and_swap_12,
7016 alpha_split_compare_and_swap_12, alpha_expand_lock_test_and_set_12,
7017 alpha_split_lock_test_and_set_12): New functions.
7018 * config/alpha/alpha-protos.h: Update.
7019 * config/alpha/alpha.md (UNSPEC_MB, UNSPEC_ATOMIC,
7020 UNSPEC_CMPXCHG, UNSPEC_XCHG): Rename from UNSPECV_FOO.
7021 * config/alpha/sync.md (I12MODE): New.
7022 (memory_barrier, mb_internal): Use unspec instead of unspec_volatile.
7023 (sync_<fetchop_name><I48MODE>): Likewise.
7024 (sync_nand<I48MODE>): Likewise.
7025 (sync_old_<fetchop_name><I48MODE>): Likewise.
7026 (sync_new_<fetchop_name><I48MODE>): Likewise.
7027 (sync_old_nand<I48MODE>, sync_new_nand<I48MODE>): Likewise.
7028 (sync_compare_and_swap<I48MODE>): Likewise.
7029 (sync_lock_test_and_set<I48MODE>): Likewise.
7030 (sync_compare_and_swap<I12MODE>): New.
7031 (sync_compare_and_swap<I12MODE>_1): New.
7032 (sync_lock_test_and_set<I12MODE>): New.
7033 (sync_lock_test_and_set<I12MODE>_1): New.
7034
563cb6be
DN
70352005-07-09 Diego Novillo <dnovillo@redhat.com>
7036
7037 PR 21356
7038 PR 22332
38f31687 7039 * passes.c (execute_todo): Cleanup the CFG before updating SSA.
563cb6be 7040
4a8ce6ce
JJ
70412005-07-09 Jakub Jelinek <jakub@redhat.com>
7042
7043 * config/i386/i386.c (output_set_got): Don't omit OFFSET FLAT:
7044 in Intel syntax add %reg, OFFSET FLAT:_GLOBAL_OFFSET_TABLE_+(.-.Lx).
7045
4fd84e8c
RS
70462005-07-09 Richard SAndiford <richard@codesourcery.com>
7047
7048 PR target/21656
7049 * config/mips/elf.h (NO_IMPLICIT_EXTERN_C): Define.
7050
d54c47e1
DE
70512005-07-08 David Edelsohn <edelsohn@gnu.org>
7052
7053 * config/rs6000/sync.md (load_locked_<mode>): Use Z for
7054 memory_operand constraint.
7055 (store_conditional_<mode>): Same.
7056 (sync_compare_and_swap<mode>): Same.
7057 (sync_lock_test_and_set<mode>): Same.
7058
c00fc5cf
HPN
70592005-07-08 Hans-Peter Nilsson <hp@axis.com>
7060
7061 Rewrite PIC support to more closely model actual instructions.
7062 * config/cris/cris-protos.h (cris_gotless_symbol, cris_got_symbol)
7063 (cris_symbol): Remove prototypes for removed functions.
7064 (cris_pic_symbol_type_of, cris_valid_pic_const)
7065 (cris_expand_pic_call_address): Prototypes for new functions.
7066 * config/cris/cris/cris.c (cris_pic_sympart_only): Remove unused
7067 variable.
7068 (cris_print_operand) <case 'v', 'P'>: Remove cases for unused
7069 modifiers.
7070 <case ':'>: Add case for new punctuation character.
7071 <case 'd'>: Temporarily set flag_pic = 2 instead of incorrectly
7072 emitting (extra) PIC modifier.
7073 <case UNSPEC>: Do not assert for PLT.
7074 (cris_initial_frame_pointer_offset, cris_simple_epilogue)
7075 (cris_expand_prologue, cris_expand_epilogue): Check
7076 for pic_offset_table_rtx usage instead of taking
7077 current_function_uses_pic_offset_table as the final word.
7078 (cris_rtx_costs, cris_address_cost, cris_side_effect_mode_ok):
7079 Remove flag_pic difference.
7080 (cris_valid_pic_const, cris_pic_symbol_type_of): New functions,
7081 the moral equivalents of...
7082 (cris_symbol, cris_gotless_symbol, cris_got_symbol): Remove
7083 functions.
7084 (cris_legitimate_pic_operand): Just call cris_valid_pic_const.
7085 (cris_handle_option): Mark ARG as unused.
7086 (cris_expand_pic_call_address): New worker function for "call",
7087 "call_value".
7088 (cris_asm_output_symbol_ref, cris_asm_output_label_ref): Do not
7089 output PIC constructs here.
7090 (cris_output_addr_const_extra): Changes for emitting PIC modifiers
7091 as symbol-specific modifers, not whole or part of operands.
7092 * config/cris/cris/cris.h (EXTRA_CONSTRAINT): Remove 'U' case.
7093 (EXTRA_CONSTRAINT_S): Changed semantics: allow only CONST-wrapped
7094 constants and flag_pic.
7095 (CONSTANT_INDEX_P): Adjust for new functions.
7096 (enum cris_pic_symbol_type): New helper type.
7097 (PRINT_OPERAND_PUNCT_VALID_P): Add ':'.
7098 * config/cris/cris/cris.md (CRIS_UNSPEC_GOTREL)
7099 (CRIS_UNSPEC_GOTREAD, CRIS_UNSPEC_PLTGOTREAD): New
7100 define_constants.
7101 ("movsi"): Emit actual instructions for GOT and relative access.
7102 ("*movsi_got_load"): New pattern to set up the register holding
7103 the GOT pointer.
7104 ("*movsi_internal"): Operand 1 is not a plain general_operand.
7105 Adjust FIXME for 'S'.
7106 <output for 'S' alternative>: Sanity-check UNSPEC types for PIC.
7107 Use "movs" for -fpic cases.
7108 ("addsi3"): Add alternative for 'S'; use adds.w when possible.
7109 ("uminsi3","*expanded_call_value"): Remove 'S' alternative.
7110 ("call", "call_value"): Just call cris_expand_pic_call_address for
7111 PIC addresses.
7112 ("*expanded_call_no_gotplt", "*expanded_call_value_no_gotplt"):
7113 Remove special pattern.
7114 ("*expanded_call_side", "*expanded_call_value_side"): New
7115 patterns.
7116 (gotplt-to-plt, gotplt-to-plt-side-call)
7117 (gotplt-to-plt-side-call-value, gotplt-to-plt-side): New
7118 peephole2:s.
7119 * config/cris/cris/predicates.md
7120 ("cris_general_operand_or_gotless_symbol"): Remove unused
7121 predicate.
7122 ("cris_general_operand_or_symbol"): Adjust for new functions.
7123
68ece23d
AP
71242005-07-08 Andrew Pinski <pinskia@physics.uc.edu>
7125
7126 * config/darwin.h (TARGET_C99_FUNCTIONS): Define to 1.
7127
820cc88f
DB
71282005-07-08 Daniel Berlin <dberlin@dberlin.org>
7129
7130 * Makefile.in (TREE_H): Add treestruct.def.
7131 (c-decl.o): Add pointer-set.h
7132 * c-decl.c (diagnose_mismatched_decls): Don't attempt to look at
7133 visibility on regular DECL's.
7134 (merge_decls): Fix the copying of decl nodes of various types for
7135 the new structures. Don't update RTL, section name, weak status,
7904f95f 7136 etc, on DECL's without RTL.
820cc88f
DB
7137 (grokdeclarator): DECL_ARG_TYPE_AS_WRITTEN is gone.
7138 Don't check volatile on non-variable types.
7139 (store_parm_decls_oldstyle): Use pointer_set instead of DECL_WEAK
7140 to check whether we have seen arguments.
7141 * c-objc-common.c (c_tree_printer): Reverse order of tests so that
7904f95f 7142 flag is checked before field (flag is common, field is not).
820cc88f
DB
7143 * dwarf2out.c (decl_ultimate_origin): Only DECL's with
7144 TS_DECL_COMMON could have an origin.
7145 (add_location_or_const_value_attribute): Don't check section name
7146 on non-var/function decls.
7147 (dwarf2out_var_location): Reverse order of tests.
7148 * emit-rtl.c (set_reg_attrs_for_parm): DECL_CHECK is dead, replace
7149 with DECL_WRTL_CHECK.
7150 * expmed.c (make_tree): rtl is now in decl_with_rtl.
7151 * fold-const.c (fold_binary): Don't check weakness on
7152 non-var/function decls.
7153 (tree_expr_nonzero_p): Ditto.
7154 (fold_checksum_tree): Use tree_decl_extra as sizeof
7155 buffer.
7156 * ggc-page.c (extra_order_size_table): Add sizes for
7157 tree_decl_non_common, tree_parm_decl, tree_var_decl, and
7158 tree_field_decl.
7159 * gimplify.c (gimplify_bind_expr): Only set
7160 DECL_SEEN_IN_BIND_EXPR_P on VAR_DECL.
7161 * integrate.c (copy_decl_for_inlining): Don't set RTL on decl's
7162 without RTL.
7163 * langhooks-def.h (LANG_HOOK_INIT_TS): New.
7164 * langhooks.h (init_ts). New langhook.
7165 * passes.c (rest_of_decl_compilation): Reverse order of tests.
7166 * print-tree.c (print_node): Update to only print fields that
7167 exist in the structures the passed decl has.
7168 * toplev.c (wrapup_global_declarations): Don't reset
7169 DECL_DEFER_OUTPUT on DECL's that don't contain it.
7170 * tree-browser.c (browse_tree): DECL_ARG_TYPE_AS_WRITTEN removed.
7171 * tree-inline.c (remap_decl): Ditto.
7172 * tree-outof-ssa.c (create_temp): Reverse order of tests.
7173 * tree-pretty-print.c (print_declaration): Don't print
7174 DECL_REGISTER on things that don't contain it.
7175 * tree-vrp.c (expr_computes_nonzero): Don't check weakness on
7176 non-var/function decls.
7177 * tree.c (tree_contains_struct): New structure.
7178 (init_priority_for_decl): New hashtable.
7179 (tree_int_map): New structure.
7180 (tree_int_map_eq): New function.
7181 (tree_int_map_marked_p): Ditto.
7182 (tree_int_map_hash): Ditto.
7183 (tree_map): Move to tree.h.
7184 (tree_map_eq): Externalize.
7185 (tree_map_hash): Ditto.
7186 (tree_map_marked_p): Ditto.
7187 (init_ttree): Set up tree_contains_struct and call langhook.
7188 (decl_assembler_name): Use DECL_NON_COMMON_CHECK..
7189 (tree_code_size): Update for new structures.
7190 (tree_node_structure): Update for new structures.
7191 (make_node_stat): Don't try to set DECL_IN_SYSTEM_HEADER on decls
7192 without the field.
7193 (copy_node_stat): Copy init priority.
7194 (build_decl_stat): Ditto for visibility.
7195 (ts_enum_names): New.
7196 (tree_contains_struct_check_failed): New function.
7197 (decl_init_priority_lookup): Ditto.
7198 (decl_init_priority_insert): Ditto.
7199 * treestruct.def: New file.
7200 * tree.h (CODE_CONTAINS_STRUCT): New macro.
7201 (CONTAINS_STRUCT_CHECK): Ditto.
7202 (tree_contains_struct_check_failed): New prototype.
7203 (DECL_CHECK): Removed.
7204 (DECL_MINIMAL_CHECK): New.
7205 (DECL_COMMON_CHECK): Ditto.
7206 (DECL_WRTL_CHECK): Ditto.
7207 (DECL_NON_COMMON_CHECK): Ditto.
7208 (DECL_WITH_VIS_CHECK): Ditto.
7209 (VAR_OR_FUNCTION_DECL_P): Ditto
7210 (struct tree_decl_minimal): New structure.
7211 (struct tree_decl_common): Ditto.
7212 (struct tree_decl_with_rtl): Ditto.
7213 (struct tree_decl_with_vis): Ditto.
7214 (struct tree_decl_non_common): Ditto.
7215 (struct tree_field_decl): Ditto.
7216 (struct tree_parm_decl): Ditto.
7217 (struct tree_var_decl): Ditto.
7218 (struct tree_function_decl): Ditto.
7219 (struct tree_const_decl): Ditto.
7220 (struct tree_result_decl): Ditto.
7221 (union tree_node): Add new structures.
7222 * var-tracking.c (track_expr_p): Reverse order of tests.
7904f95f 7223
820cc88f
DB
7224 * doc/c-tree.texi: Add documentation on DECL node internal structure.
7225
c249f608
KH
72262005-07-08 Kazu Hirata <kazu@codesourcery.com>
7227
7228 * cfgexpand.c (tree_expand_cfg): Don't use FINALIZE_PIC.
7229 * system.h: Poison FINALIZE_PIC.
7230 * doc/tm.texi (FINALIZE_PIC): Remove.
7231
52b27f98
AP
72322005-07-08 Andrew Pinski <pinskia@physics.uc.edu>
7233
7234 PR tree-opt/22329
7235 * tree-ssa-propagate.c (fold_predicate_in): Convert the value
7236 to the correct type if we have a MODIFY_EXPR.
7237
ea9a5df4
KH
72382005-07-08 Kazu Hirata <kazu@codesourcery.com>
7239
7240 PR tree-optimization/22360
7241 * tree.c (upper_bound_in_type): Fix calculations for casting
7242 to a non-wider signed type and casting a signed value to a
7243 wider unsigned type.
7244 (lower_bound_in_type): Fix calculations for casting to a
7245 non-wider signed type.
7246
1ff54bfb
KH
7247 PR tree-optimization/20139
7248 * tree-cfg.c (remove_bb): Check in_ssa_p before calling
7249 release_defs.
7250 * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Call
7251 fold_cond_expr_cond.
7252 * tree-ssanames.c (release_defs): Assert in_ssa_p.
7253 * tree.c (upper_bound_in_type, lower_bound_in_type): Rewrite.
7254
d5c77941
AP
72552005-07-08 Andrew Pinski <pinskia@physics.uc.edu>
7256
7257 PR tree-opt/22356
7258 * tree-complex.c (expand_complex_libcall): Produce
7259 REALPART_EXPR/IMAGPART_EXPR with the correct type.
7260
08a3c5cd
KZ
72612005-07-08 Kenneth Zadeck <zadeck@naturalbridge.com>
7262
7263 * bitmap.c (bitmap_and, bitmap_and_into, bitmap_and_compl,
7264 bitmap_and_compl_into, bitmap_xor, bitmap_xor_into): Removed "a !=
7265 b" assert and inserted fastpath code for this case.
7266 (bitmap_ior): Removed "a != b" assert.
7267
29f9d52d
KI
72682005-07-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
7269
7270 * config/m32r/linux.h (STARTFILE_SPEC): Support PIE.
7271 (ENDFILE_SPEC): Likewise.
7272 * config/m32r/m32r.h (ASM_SPEC): Likewise.
7273
6a7b00ad
KI
7274 * config/m32r/m32r.c (m32r_output_function_epilogue): Care for
7275 a large stack frame at epilogue.
7276
ce82daed
DB
72772005-07-08 David Billinghurst <David.Billinghurst@riotinto.com>
7278
7279 * final.c: Include sdbout.h when required.
7280
ed5b9f96
GK
72812005-07-07 Geoffrey Keating <geoffk@apple.com>
7282
7283 * config.gcc (*-*-darwin*): Only one target-specific header file
7284 for generic darwin.
7285 (powerpc-*-darwin*): Add version-specific header files.
7286 * configure.in (gcc_AC_CHECK_DECLS): Add strverscmp.
7287 * config.in: Regenerate.
7288 * configure: Regenerate.
7289 * gcc.c: Include xregex.h.
7290 (version_compare_spec_function): New.
7291 (spec_function): Add version-compare.
7292 (replace_outfile_spec_function): Reformat comment.
7293 (compare_version_strings): New.
7294 * config/darwin-c.c (version_as_macro): New.
7295 (builtin_define): New.
7296 (darwin_cpp_builtins): New.
7297 * config/darwin-protos.h (darwin_cpp_builtins): New.
7298 * config/darwin.h (CPP_SPEC): Don't define APPLE_CC here.
7299 (LIB_SPEC): Make unconditional, update comment.
7300 (TARGET_C99_FUNCTIONS): Define.
7301 * config/darwin.opt: Sort.
7302 (mmacosx-version-min=): New.
7303 * config/darwin7.h: Delete.
7304 * config/darwin8.h: Delete.
7305 * config/i386/darwin.h (): Call darwin_cpp_builtins.
7306 * config/rs6000/darwin.h (): Call darwin_cpp_builtins.
7307 (TARGET_C99_FUNCTIONS): Define.
7308 * config/rs6000/darwin7.h: New.
7309 * config/rs6000/darwin8.h: New.
7310 * doc/invoke.texi (Darwin Options): Add -mmacosx-version-min=
7311 (-mmacosx-version-min): Document.
7312
5f7d2979
ILT
73132005-07-07 Ian Lance Taylor <ian@airs.com>
7314
7315 * config/mips/mips.md (abs<mode>2) [GPR]: Remove.
7316
94bb1a2d
JDA
73172005-07-07 John David Anglin <dave.anglin@nrc-crc.gc.ca>
7318
7319 PR middle-end/22239
7320 * loop.c (loop_givs_rescan): Check that v->new_reg is a REG.
7321
1a59548b
KR
73222005-07-07 Khem Raj <kraj@mvista.com>
7323
7324 * config/arm/arm.c (thumb_output_function_prologue): Calculate offset
7325 in bytes, not words.
7326
5a29b385
PB
73272005-07-07 Paul Brook <paul@codesourcery.com>
7328
7329 * config/arm/arm.c (arm_pad_arg_upward): Compare return value of
7330 DEFAULT_FUNCTION_ARG_PADDING to upward.
7331
c7e777b5
RH
73322005-07-07 Richard Henderson <rth@redhat.com>
7333
7334 * function.c (locate_and_pad_parm): Record parameter alignment in
7335 stack_alignment_needed.
7336
b52110d4
DE
73372005-07-07 David Edelsohn <edelsohn@gnu.org>
7338
7339 * config/rs6000/rs6000.md (UNSPEC_SYNC, UNSPEC_SYNC_OP,
7340 UNSPEC_SYNC_SWAP, UNSPEC_LWSYNC, UNSPEC_ISYNC): Delete.
7341 (UNSPECV_LL, UNSPECV_SC, UNSPECV_ATOMIC, UNSPECV_SYNC,
7342 UNSPECV_SYNC_OP, UNSPECV_CMPXCHG, UNSPECV_LWSYNC, UNSPECV_ISYNC): New.
7343 (define_attr "type"): Add isync, sync, load_l, store_c.
7344 * config/rs6000/sync.md (memory_barrier): Change to define_expand.
7345 Create scratch volatile MEM.
7346 (sync_internal): New. POWER mnemonic is dcs, not ics. Attribute
7347 sync.
7348 (load_locked_<mode>): New.
7349 (store_conditional_<mode>): New.
7350 (sync_compare_and_swap<mode>): Replace with splitter.
7351 (sync_lock_test_and_set<mode>): Replace with splitter.
7352 (sync_<fetchop><mode>): Change to unspec_volatile UNSPECV_SYNC_OP
7353 and UNSPECV_ISYNC.
7354 (isync): Change to unspec_volatile UNSPECV_ISYNC. POWER mnemonic
7355 is ics. Attribute isync.
7356 (lwsync): Change to unspec_volatile UNSPECV_LWSYNC. Attribute
7357 lwsync.
7358 * config/rs6000/rs6000.c (rs6000_emit_sync): Use UNSPEC_VOLATILE
7359 and UNSPECV_SYNC_OP.
7360 (emit_unlikely_jump): New.
7361 (emit_load_locked): New.
7362 (emit_store_conditional): New.
7363 (rs6000_split_compare_and_swap): New.
7364 (rs6000_split_lock_test_and_set): New.
7365 (is_dispatch_slot_restricted): Return 4 for TYPE_LOAD_L,
7366 TYPE_STORE_C, TYPE_ISYNC, TYPE_SYNC.
7367 * config/rs6000/rs6000-protos.h (rs6000_split_compare_and_swap,
7368 rs6000_split_lock_test_and_set): Declare.
7369 * config/rs6000/{40x.md,440.md,603.md,6xx.md,7450.md,7xx.md,8540.md,
7370 mpc.md,power4.md,power5.md,rios1.md,rios2.md,rs64.md): Add load_l,
7371 store_c, isync, sync.
7372
2f035a33
KC
73732005-07-07 Kelley Cook <kcook@gcc.gnu.org>
7374
7375 * Makefile.in (echo_quoted_to_gtyp): New template for outputing
7376 filenames to gtyp-gen.h.
7377 (s-typ-gen): Use it in place of for loops.
7378
8ddf681a
R
73792005-07-07 J"orn Rennecke <joern.rennecke@st.com>
7380
7381 * hooks.c (hook_bool_rtx_int_false): New function.
7382 * hooks.h (hook_bool_rtx_int_false): Declare.
7383 * target-def.h (TARGET_COMMUTATIVE_P): Define.
7384 (TARGET_INITIALIZER): Add TARGET_COMMUTATIVE_P.
7385 * target.h (struct gcc_target): Add commutative_p member.
7386 * targhooks.c (hook_bool_rtx_commutative_p): New function.
7387 * targhooks.h (hook_bool_rtx_commutative_p): Declare.
7388 * pa.c (TARGET_COMMUTATIVE_P): Redefine.
7389 (pa_commutative_p): New function.
7390 * jump.c (target.h): Include.
7391 (rtx_renumbered_equal_p): Use targetm.commutative_p.
7392 * doc/tm.texi: Document TARGET_COMMUTATIVE_P.
7393
6d057022
AS
73942005-07-07 Adrian Straetling <straetling@de.ibm.com>
7395
7396 * config/s390/s390-protos.h (s390_expand_clrmem): Delete.
7397 (s390_expand_setmem): New.
7904f95f 7398 * config/s390/s390.c: Likewise.
6d057022
AS
7399 (print_shift_count_operand): Truncate to 12 bits instead of 6.
7400 Adapt comments.
7401 * config/s390/s390.md: ("setmem<mode>"): Accept character as
7402 general_operand. Call new function "s390_expand_setmem".
7403 ("clrmem_long", "*clrmem_long"): Rewrite to ...
7404 ("setmem_long", "*setmem_long"): ... this.
7405
8daf098e 74062005-07-07 Adrian Straetling <straetling@de.ibm.com>
7904f95f 7407
8daf098e
AS
7408 * config/s390/s390.c: (optimization_options): Enable
7409 TARGET_MVCLE at -Os.
7410 * doc/invoke.texi: Document changes in default behaviour.
7411 * config/s390/s390.opt: ("mvcle"): Fix typo: is "mmvcle".
7412
9ed92901
AS
74132005-07-07 Adrian Straetling <straetling@de.ibm.com>
7414
7415 * expr.c: (set_storage_via_setmem): Convert opchar to mode
7416 defined by back-end.
7417
41f12ed0
JJ
74182005-07-07 Jakub Jelinek <jakub@redhat.com>
7419
7420 * config/sparc/sparc.md (stack_protect_testsi): Put clobbers after
7421 all sets in the pattern.
7422 * config/rs6000/rs6000.md (stack_protect_testsi,
7423 stack_protect_testdi): Likewise.
7424
1a557723
JL
74252005-07-06 Jeff Law <law@redhat.com>
7426
7427 * tree-vrp.c (simplify_using_ranges): Kill.
7428 (vrp_finalize): Remove call to simplify_using_ranges.
7429 (simplify_stmt_using_ranges): New function extracted from
7430 simplify_using_ranges.
7431 (simplify_div_or_mod_using_ranges): Likewise.
7432 (simplify_abs_using_ranges): Likewise.
7433 (simplify_cond_using_ranges): New function.
7434 * tree-flow.h (simplify_stmt_using_ranges): Prototype.
7435 * tree-ssa-propagate.c (substitute_and_fold): Call
7436 simplify_stmt_using_ranges if we have range information.
7437
1ad159f9
JW
74382005-07-06 James E. Wilson <wilson@specifixinc.com>
7439
ae4d3291
JW
7440 * config/ia64/ia64.c (ia64_reorg): Check optimize before
7441 ia64_flag_schedule_isns2.
7442
7443 * config/ia64/ia64.c (ia64_expand_movxf_movrf): Don't word swap when
7444 reading/writing general registers.
7445 (ia64_function_arg): Revert 2005-06-18 change.
1ad159f9 7446
06ae7eb1
JDA
74472005-07-06 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
7448
7449 * pa.c (legitimize_pic_address): Use gcc_assert instead of abort.
7450 (legitimize_tls_address): Use gcc_unreachable instead of abort.
7451
0b59e81e
KK
74522005-07-06 Kaz Kojima <kkojima@gcc.gnu.org>
7453
7454 * function.c (expand_function_end): Revert part of 2005-06-27
7455 patch. Do sjlj_emit_function_exit_after after return_label.
7456
ef0087a7
KH
74572005-07-06 Kazu Hirata <kazu@codesourcery.com>
7458
7459 * doc/install.texi (--disable-libssp): New.
7460
1d8eeb63
FJ
74612005-07-06 Fariborz Jahanian <fjahanian@apple.com>
7462
86979811 7463 * doc/invoke.texi: Update -fforce-mem documentation.
7904f95f 7464 * dojump.c (compare_from_rtx,do_compare_rtx_and_jump): Remove
86979811
SB
7465 code for -fforce-mem.
7466 * expmed.c: (store_bit_field,store_fixed_bit_field,
7467 extract_bit_field): Ditto.
7468 * expr.c: (convert_move): Ditto.
7469 * optabs.c: (expand_binop,expand_twoval_unop,expand_twoval_binop,
7470 expand_unop,emit_unop_insn,prepare_cmp_insn,emit_conditional_move,
7471 emit_conditional_add,expand_float,expand_fix): Ditto.
7472 * opts.c: (decode_options): Remove setting of flag_force_mem flag.
7473 (common_handle_option): Issue warning when -fforce-mem specified.
1d8eeb63 7474
c42adccb
PB
74752005-07-06 Paul Brook <paul@codesourcery.com>
7476
7477 * aclocal.m4: Work around a bug in AC_PATH_PROGS when its last
7478 argument is empty.
7479 * configure: Regenerate.
7480
4b7d2f07
R
74812005-07-06 J"orn Rennecke <joern.rennecke@st.com>
7482
7483 * sh.c (final_prescan_insn): Undo bogus change from 2005-05-09.
7484
4e422b8b
DB
74852005-07-06 Daniel Berlin <dberlin@dberlin.org>
7486
7487 Fix PR tree-optimization/22319
7488 Fix PR tree-optimization/22140
7489 Fix PR tree-optimization/22310
7490
7491 * tree-ssa-structalias.c (do_structure_copy): Give up earlier on
7492 variable sized types.
7493 Use correct type for intermediate structure on *a = *b structure
7494 copies.
7904f95f 7495
5b667039
JJ
74962005-07-06 Jakub Jelinek <jakub@redhat.com>
7497
7498 * config/rs6000/rs6000.h (RS6000_VARARGS_AREA, RS6000_VARARGS_SIZE):
7499 Remove.
7500 (STARTING_FRAME_OFFSET): Don't add RS6000_VARARGS_AREA.
7501 (machine_function): Move typedef to...
7502 * config/rs6000/rs6000.c (machine_function): ... here. Add
7503 varargs_save_offset field.
7504 (rs6000_stack_t): Remove varargs_size field.
7505 (setup_incoming_varargs): Allocate varargs save area using
7506 assign_stack_local, try to make it as small as possible.
7507 Save offset from virtual_stack_vars_rtx to the save area
7508 in cfun->machine->varargs_save_offset. Use UNITS_PER_FP_WORD
7509 instead of magic 8 when fp word byte size is used.
7510 (rs6000_va_start): Use cfun->machine->varargs_save_offset
7511 instead of -RS6000_VARARGS_SIZE.
7512 (rs6000_stack_info, debug_stack_info,
7513 rs6000_initial_elimination_offset): Remove all traces of
7514 varargs_size.
7515 * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Remove.
7516 * config/rs6000/darwin.h (STARTING_FRAME_OFFSET): Don't add
7517 RS6000_VARARGS_AREA.
7518
c456a94a
ZD
75192005-07-06 Zdenek Dvorak <dvorakz@suse.cz>
7520
7521 PR tree-optimization/21963
7522 * tree-ssa-loop-ivopts.c (get_computation_aff): Use
7523 constant_multiple_of in the same way get_computation_cost_at does.
7524
8ec11fe9
JJ
75252005-07-06 Jakub Jelinek <jakub@redhat.com>
7526
7527 * config/sparc/sparc.h (sparc_compare_emitted): New extern.
7528 * config/sparc/sparc.c (sparc_compare_emitted): New variable.
7529 (gen_compare_reg): If sparc_compare_emitted is set, clear it
7530 and return its previous value.
7531 (emit_v9_brxx_insn): Assert sparc_compare_emitted is NULL.
7532 * config/sparc/sparc.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New
7533 constants.
7534 (stack_protect_set, stack_protect_test): New expanders.
7535 (stack_protect_setsi, stack_protect_setdi, stack_protect_testsi,
7536 stack_protect_testdi): New insns.
7537 * config/sparc/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
7538 * config/sparc/linux64.h (TARGET_THREAD_SSP_OFFSET): Define.
7539
9da4058c
JL
75402005-07-06 Jeff Law <law@redhat.com>
7541
7542 * tree-ssa-dce.c (cfg_altered): New global.
7543 (tree_dce_init): Initialize cfg_altered.
7544 (remove_dead_stmt): If we remove an edge in the CFG, then set
7545 CFG_ALTERED.
7546 (perform_tree_ssa_dce): If we altered the CFG, then invalidate
7547 the dominators.
7548
1538fc3c
KH
75492005-07-06 Kazu Hirata <kazu@codesourcery.com>
7550
7551 * Makefile.in (stamp-collect-ld): Use
7552 $(ORIGINAL_LD_FOR_TARGET) instead of $<. Don't remove
7553 ./collect-ld if it already exists.
7554 (stamp-nm): Use $(ORIGINAL_NM_FOR_TARGET) instead of $<.
7555 Don't remove ./nm if it already exists.
7556
00518cb1
DP
75572005-07-05 Devang Patel <dpatel@apple.com>
7558
7559 * tree-vectorizer.h (struct _loop_vec_info): Remove loop_line_number.
7560 (LOOP_VINFO_LOC, LOOP_LOC): Remove.
7561 * tree-vectorizer.c (vect_loop_location): New.
7562 (vect_print_dump_info): Use vect_loop_location.
7563 (new_loop_vec_info): Do not set LOOP_VINFO_LOC.
7564 (vectorize_loops): Set vect_loop_location.
7904f95f 7565 * tree-vect-analyze.c (vect_analyze_offset_expr,
00518cb1
DP
7566 vect_determin_vectorization_factor, vect_analyze_operations,
7567 vect_analyze_scalar_cycles, vect_analyze_data_ref_dependence,
7568 vect_analyze_data_ref_dependences, vect_compute_data_ref_alignment,
7569 vect_analyze_data_refs_alignment, vect_analyze_data_ref_access,
7570 vect_analyze_data_ref_accesses, vect_analyze_pointer_ref_access,
7571 vect_object_analysis, vect_analyze_data_refs, vect_mark_relevant,
7572 vect_stmt_relevant_p, vect_mark_stmts_to_be_vectorized,
7573 vect_can_advance_ivs_p, vect_get_loop_niters, vect_analyze_loop_form,
7574 vect_analyze_loop): Adjust vect_print_dump_info API.
7575 * tree-vect-transform.c (vect_create_addr_base_for_vector_ref,
7576 vect_create_data_ref_ptr, vect_init_vector, vect_get_vec_def_for_operand,
7904f95f
EC
7577 vect_finish_stmt_generation, vectorizable_assignment,
7578 vectorizable_operation, vectorizable_store, vectorizable_load,
00518cb1
DP
7579 vectorizable_live_operation, vectorizable_condition, vect_transform_stmt,
7580 vect_update_ivs_after_vectorizer, vect_do_peeling_for_loop_bound,
7581 vect_gen_ninters_for_prolog_loop, vect_do_peeling_for_alignment,
7582 vect_transform_loop): Same.
7583 * tree-vectorizer.c (get_vectype_for_scalar_type, vect_is_simple_use,
7584 vect_is_simple_reduction, vect_is_simple_iv_evolution, vectorize_loops):
7585 Same.
7586
51076f96
RC
75872005-07-05 Randolph Chung <tausq@debian.org>
7588
7589 * configure.ac (hppa*-*-linux*: Check for a TLS capable gas.
7590 * configure: Regenerate.
7591 * config/pa/pa-protos.h (tls_symbolic_operand): Declare.
7592 (pa_tls_referenced_p): Declare.
7593 * config/pa/pa.c (legitimize_pic_address): Reject TLS operands.
7594 (gen_tls_tga, gen_tls_get_addr, hppa_tls_call): New.
7595 (legitimize_tls_address): New.
7596 (hppa_legitimize_address): Handle TLS addresses.
7597 (pa_tls_symbol_ref_1, pa_tls_referenced_p): New.
7598 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
7599 (emit_move_sequence): Handle TLS addresses.
7904f95f 7600 (pa_encode_section_info): Call default handler to handle common
51076f96
RC
7601 sections.
7602 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): New.
7603 (CONSTANT_ADDRESS_P): Reject TLS operands.
7604 (TARGET_HAVE_TLS) [HAVE_AS_TLS]: Define.
7605 * config/pa/pa.md (UNSPEC_TP, UNSPEC_TLSGD, UNSPEC_TLSLDM)
7606 (UNSPEC_TLSLDO, UNSPEC_TLSLDBASE, UNSPEC_TLSIE)
7904f95f 7607 (UNSPEC_TLSLE): Define new constants.
51076f96
RC
7608 (tgd_load, tld_load, tld_offset_load, tp_load, tie_load, tle_load): New.
7609 * config/pa/predicates.md (symbolic_operand): Reject TLS operands.
7610 (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand)
7611 (tie_symbolic_operand, tle_symbolic_operand): New
7612
f04f1d2c
KC
76132005-07-06 Kelley Cook <kcook@gcc.gnu.org>
7614
7615 * aclocal.m4: Update macros for autoconf 2.59 style.
7616 * configure.ac: Likewise.
7617
2a04824b
JDA
76182005-07-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7619
7620 * pa.c (function_value): Handle small aggregates on 32-bit targets.
7621 (function_arg): Pass small aggregates in general registers on 32-bit
7622 targets.
7623 * som.h (MEMBER_TYPE_FORCES_BLK): Delete define.
7624
83522e18
AP
76252005-07-05 Andrew Pinski <pinskia@physics.uc.edu>
7626
7627 * Makefile.in (final.o): Fix dependencies.
7628
73f397d4
JM
76292005-07-05 Joseph S. Myers <joseph@codesourcery.com>
7630
7631 PR c/22013
7632 PR c/22098
7633 * langhooks.h (struct lang_hooks): Add expr_to_decl.
7634 * langhooks.c (lhd_expr_to_decl): New.
7635 * langhooks-def.h (lhd_expr_to_decl, LANG_HOOKS_EXPR_TO_DECL):
7636 New.
7637 (LANG_HOOKS_INITIALIZER): Update.
7638 * tree.c (recompute_tree_invarant_for_addr_expr): Call
7639 expr_to_decl langhook.
7640 * c-tree.h (c_expr_to_decl): Declare.
7641 * c-typeck.c (c_expr_to_decl): New.
7642 (build_unary_op): Do not handle ADDR_EXPR of COMPOUND_LITERAL_EXPR
7643 specially.
7644 * c-objc-common.h (LANG_HOOKS_EXPR_TO_DECL): Define.
7645
692a7aa3
JM
76462005-07-05 Joseph S. Myers <joseph@codesourcery.com>
7647
7648 PR c/22308
7649 * c-decl.c (finish_struct): Also copy C_TYPE_FIELDS_READONLY,
7650 C_TYPE_FIELDS_VOLATILE and C_TYPE_VARIABLE_SIZE to type variants.
7651
ef330312
PB
76522005-07-05 Paolo Bonzini <bonzini@gnu.org>
7653
7654 * Makefile.in: Adjust dependencies.
7655 * tree-pass.h: Add new passes and passes formerly in tree-optimize.c.
7656 * basic-block.h (duplicate_computed_gotos): Remove, it is now static.
7657 * alias.c (rest_of_handle_cfg, pass_cfg): New.
7658 * bb-reorder.c (duplicate_computed_gotos): Make it static.
7659 * cfgexpand.c (tree_expand_cfg): Add code formerly at the beginning of
7660 rest_of_compilation.
7661
7662 * bb-reorder.c (gate_duplicate_computed_gotos,
7663 pass_duplicate_computed_gotos, gate_handle_reorder_blocks,
7664 rest_of_handle_reorder_blocks, pass_reorder_blocks,
7665 gate_handle_partition_blocks, rest_of_handle_partition_blocks,
7666 pass_partition_blocks): New.
7667 * bt-load.c (gate_handle_branch_target_load_optimize,
7668 rest_of_handle_branch_target_load_optimize,
7669 pass_branch_target_load_optimize): New.
7670 * cfgcleanup.c (rest_of_handle_jump, pass_jump, rest_of_handle_jump2,
7671 pass_jump2): New.
7672 * cfglayout.c (pass_insn_locators_initialize): New.
7673 * cfgrtl.c (pass_free_cfg): New.
7674 * combine.c (gate_handle_combine, rest_of_handle_combine,
7675 pass_combine): New.
7676 * cse.c (gate_handle_cse, rest_of_handle_cse, pass_cse,
7677 gate_handle_cse2, rest_of_handle_cse2, pass_cse2): New.
7678 * emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes): New.
7679 * except.c (pass_set_nothrow_function_flags,
7680 pass_convert_to_eh_region_ranges, gate_handle_eh, rest_of_handle_eh,
7681 pass_rtl_eh): New.
7682 * final.c (pass_compute_alignments, rest_of_handle_final, pass_final,
7683 rest_of_handle_shorten_branches, pass_shorten_branches,
7684 rest_of_clean_state, pass_clean_state): New.
7685 * flow.c (pass_recompute_reg_usage, gate_remove_death_notes,
7686 rest_of_handle_remove_death_notes, pass_remove_death_notes,
7687 rest_of_handle_life, pass_life, rest_of_handle_flow2,
7688 pass_flow2): New.
7689 * function.c (pass_instantiate_virtual_regs, pass_init_function,
7690 rest_of_handle_check_leaf_regs, pass_leaf_regs): New.
7691 * gcse.c (gate_handle_jump_bypass, rest_of_handle_jump_bypass,
7692 pass_jump_bypass, gate_handle_gcse, rest_of_handle_gcse,
7693 pass_gcse): New.
7694 * global.c (rest_of_handle_global_alloc, pass_global_alloc): New.
7695 * ifcvt.c (gate_handle_if_conversion, rest_of_handle_if_conversion,
7696 pass_rtl_ifcvt, gate_handle_if_after_combine,
7697 rest_of_handle_if_after_combine, pass_if_after_combine,
7698 gate_handle_if_after_reload, rest_of_handle_if_after_reload,
7699 pass_if_after_reload): New.
7700 * integrate.c (pass_initial_value_sets): New.
7701 * jump.c (pass_cleanup_barriers, purge_line_number_notes,
7702 pass_purge_lineno_notes): New.
7703 * mode-switching.c (rest_of_handle_mode_switching,
7704 pass_mode_switching): New.
7705 * local-alloc.c (rest_of_handle_local_alloc, pass_local_alloc): New.
7706 * loop-init.c (gate_handle_loop2, rest_of_handle_loop2,
7707 pass_loop2): New.
7708 * loop.c (gate_handle_loop_optimize, rest_of_handle_loop_optimize,
7709 pass_loop_optimize): New.
7710 * modulo-sched.c (gate_handle_sms, rest_of_handle_sms,
7711 pass_sms): New.
7712 * postreload-gcse.c (gate_handle_gcse2, rest_of_handle_gcse2,
7713 pass_gcse2): New.
7714 * postreload.c (gate_handle_postreload, rest_of_handle_postreload,
7715 pass_postreload_cse): New.
7716 * profile.c (gate_handle_profiling, pass_profiling,
7717 rest_of_handle_branch_prob, pass_branch_prob): New.
7904f95f 7718 * recog.c (pass pass_split_for_shorten_branches, gate_do_final_split,
ef330312
PB
7719 pass_split_before_regstack, gate_handle_split_before_regstack,
7720 gate_handle_peephole2, rest_of_handle_peephole2, pass_peephole2,
7721 rest_of_handle_split_all_insns, pass_split_all_insns): New.
7722 * reg-stack.c (gate_handle_stack_regs, rest_of_handle_stack_regs,
7723 pass_stack_regs): New.
7724 * regmove.c (gate_handle_regmove, rest_of_handle_regmove, pass_regmove,
7725 gate_handle_stack_adjustments, rest_of_handle_stack_adjustments,
7726 pass_stack_adjustments): New.
7727 * regrename.c (gate_handle_regrename, rest_of_handle_regrename,
7728 pass_regrename): New.
7729 * reorg.c (gate_handle_delay_slots, rest_of_handle_delay_slots,
7730 pass_delay_slots, gate_handle_machine_reorg,
7731 rest_of_handle_machine_reorg, pass_machine_reorg): New.
7732 * rtl.h (extern void purge_line_number_notes): New.
7733 * sched-rgn.c (gate_handle_sched, rest_of_handle_sched,
7734 gate_handle_sched2, rest_of_handle_sched2, pass_sched,
7735 pass_sched2): New.
7736 * tracer.c (gate_handle_tracer, rest_of_handle_tracer,
7737 pass_tracer): New.
7738 * value-prof.c (gate_handle_value_profile_transformations,
7739 rest_of_handle_value_profile_transformations,
7740 pass_value_profile_transformations): New.
7741 * var-tracking.c (gate_handle_var_tracking,
7742 pass_variable_tracking): New.
7743 * web.c (gate_handle_web, rest_of_handle_web, pass_web): New.
7744
7745 * passes.c (open_dump_file, close_dump_file, rest_of_handle_final,
7746 rest_of_handle_delay_slots, rest_of_handle_stack_regs,
7747 rest_of_handle_variable_tracking, rest_of_handle_machine_reorg,
7748 rest_of_handle_old_regalloc, rest_of_handle_regrename,
7749 rest_of_handle_reorder_blocks, rest_of_handle_partition_blocks,
7750 rest_of_handle_sms, rest_of_handle_sched, rest_of_handle_sched2,
7751 rest_of_handle_gcse2, rest_of_handle_regmove,
7752 rest_of_handle_tracer, rest_of_handle_if_conversion,
7753 rest_of_handle_if_after_combine, rest_of_handle_if_after_reload,
7754 rest_of_handle_web, rest_of_handle_branch_prob,
7755 rest_of_handle_value_profile_transformations, rest_of_handle_cfg,
7756 rest_of_handle_jump_bypass, rest_of_handle_combine,
7757 rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
7758 rest_of_handle_gcse, rest_of_handle_loop_optimize,
7759 rest_of_handle_loop2, rest_of_handle_branch_target_load_optimize,
7760 rest_of_handle_mode_switching, rest_of_handle_jump,
7761 rest_of_handle_eh, rest_of_handle_stack_adjustments,
7762 rest_of_handle_flow2, rest_of_handle_jump2,
7763 rest_of_handle_peephole2, rest_of_handle_postreload,
7764 rest_of_handle_shorten_branches, rest_of_clean_state,
7765 rest_of_compilation): Remove.
7766
7767 * cgraphunit.c (ipa_passes): Moved from tree-optimize.c.
7768 * passes.c (dump_flags, in_gimple_form, all_passes,
7769 all_ipa_passes, all_lowering_passes, register_one_dump_file,
7770 register_dump_files, next_pass_1, last_verified, execute_todo,
7771 execute_one_pass, execute_pass_list, execute_ipa_pass_list): Moved
7772 from tree-optimize.c.
7773 (init_optimization_passes): Moved from tree-optimize.c,
7774 adding the RTL optimizations.
7775 * tree-dump.h (dump_info_p, dump_flag): Moved from tree.h.
7776 * tree-optimize.c (dump_flags, in_gimple_form, all_passes,
7777 all_ipa_passes, all_lowering_passes, register_one_dump_file,
7778 register_dump_files, next_pass_1, last_verified, execute_todo,
7779 execute_one_pass, execute_pass_list, execute_ipa_pass_list,
7780 init_tree_optimization_passes, ipa_passes): Delete.
7781 * tree-pass.h (enum tree_dump_index): Moved from tree.h, removing
7782 the RTL dumps.
7783 (TDF_*, get_dump_file_name, dump_enabled_p, dump_initialized_p,
7784 dump_begin, dump_end, dump_node, dump_switch_p, dump_flag_name): Moved
7785 from tree.h.
7786 (ipa_passes): Remove.
7787 (all_passes, all_ipa_passes, all_lowering_passes): Now extern.
7788 * tree.h (enum tree_dump_index, TDF_*, get_dump_file_name,
7789 dump_enabled_p, dump_initialized_p, dump_begin, dump_end, dump_node,
7790 dump_switch_p, dump_flag_name): Moved to tree-pass.h.
7791 (dump_info_p, dump_flag): Moved to tree-dump.h.
7904f95f 7792
ef330312
PB
7793 * Makefile.in: Adjust dependencies for tree-pretty-print.c,
7794 cgraph.c, opts.c.
7795 * passes.c (finish_optimization_passes): Use dump_begin
7796 and dump_end, TDI_end.
7797 (gate_rest_of_compilation): New.
7798 (pass_rest_of_compilation): Use it.
7799 (gate_postreload, pass_postreload): New.
7800 * toplev.c (general_init): Rename init_tree_optimization_passes.
7801 * toplev.h (init_tree_optimization_passes): Rename to
7802 init_optimizations_passes.
7803 * tree-dump.c (dump_flag): Make static.
7804 (dump_files): Remove RTL dumps.
7805 * tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
7806 pass_cleanup_cfg, pass_free_cfg_annotations,
7807 pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
7808 pass_init_datastructures, pass_fixup_cfg): Make non-static.
7809 * tree-pretty-print.c: Include tree-pass.h.
7810 * cgraph.c: Include tree-dump.h.
7904f95f 7811
47bcb538
DB
78122005-07-04 Daniel Berlin <dberlin@dberlin.org>
7813
7814 * tree-ssa-structalias.c (get_constraint_exp_from_ssa_var):
7815 Only fall back to saying it points to readonly memory if
7816 we can't do better.
7817
cdc9bfe6
KI
78182005-07-05 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
7819
7820 * config/m32r/m32r-protos.h: Remove m32r_finalize_pic.
7821 * config/m32r/m32r.c (m32r_compute_frame_size,
7822 m32r_expand_prologue): Take current_function_profile into
7823 account whenever we reference
7824 current_function_uses_pic_offset_table.
7825 (m32r_finalize_pic): Remove.
7826 * config/m32r/m32r.h (FINALIZE_PIC): Likewise.
7827
96f52752 78282005-07-05 Kazu Hirata <kazu@codesourcery.com>
e21ba931
KH
7829
7830 * Makefile.in (stamp-as): Use $(ORIGINAL_AS_FOR_TARGET)
7831 instead of $<. Don't remove ./as if it already exists.
7832
47971fa7
JDA
78332005-07-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7834
7835 PR target/21723
7836 * pa.md: Remove fcpy alternative from movhi and movqi patterns.
7837 * pa32-regs.h (HARD_REGNO_NREGS): Return two floating point registers
7838 for complex modes when generating code for PA 1.0.
7839 (VALID_FP_MODE_P): New macro.
7840 (HARD_REGNO_MODE_OK): Use VALID_FP_MODE_P. Use non-overlapping register
7841 sets for all general and floating point modes. Align wide floating
7842 point modes to even register boundaries to comply with architectural
7843 requirements.
7844 (CLASS_MAX_NREGS): Update to align with change to HARD_REGNO_NREGS.
7845 * pa64-regs.h (HARD_REGNO_NREGS): Update comment and formatting.
7846 (VALID_FP_MODE_P): New macro.
7847 (HARD_REGNO_MODE_OK): Use VALID_FP_MODE_P. Use non-overlapping register
7848 sets for all general and floating point modes. Align wide floating
7849 point modes to even register boundaries to comply with architectural
7850 requirements.
7851
f94ac7b6
DN
78522005-07-04 Diego Novillo <dnovillo@redhat.com>
7853
7854 * tree-dump.c (dump_files): Initialize dump number for .cgraph
7855 to 0.
7856
4e89ef6b
DN
78572005-07-04 Diego Novillo <dnovillo@redhat.com>
7858
7859 * tree-ssa-structalias.c: Don't include expr.h.
7860
00b847e3
DN
78612005-07-04 Diego Novillo <dnovillo@redhat.com>
7862
7863 * tree-iterator.h (TSI_NEW_STMT, TSI_SAME_STMT): Fix
7864 comments.
7865
2238c11d
DB
78662005-07-04 Daniel Berlin <dberlin@dberlin.org>
7867
7868 Fix PR tree-optimization/22279
7904f95f 7869
2238c11d
DB
7870 * tree-ssa-structalias.c (offset_overlaps_with_access): Use
7871 correct operator.
7904f95f 7872
9fd0c419
R
78732005-07-04 J"orn Rennecke <joern.rennecke@st.com>
7874
7875 * sh.c (output_ieee_ccmpeq): Replace "\\;" with "\n\t".
7876
ab532386
JM
78772005-07-03 Joseph S. Myers <joseph@codesourcery.com>
7878
7879 * bb-reorder.c, c-pch.c, c-pragma.c, c.opt, cfghooks.c, cfgloop.c,
7880 cfgrtl.c, cgraphunit.c, config/c4x/c4x.c, config/cris/cris.c,
7881 config/frv/frv.c, config/host-darwin.c, config/iq2000/iq2000.c,
7882 config/lynx.h, config/m68k/m68k.c, config/pa/pa.c, config/sh/sh.h,
7883 config/stormy16/stormy16.c, config/v850/v850.c,
7884 config/vax/netbsd-elf.h, coverage.c, dwarf2out.c, emit-rtl.c,
7885 except.c, gcc.c, tree-cfg.c, tree-eh.c, tree-ssa.c, xcoffout.c:
7886 Avoid "." or "\n" at end of diagnostics and capital letters at
7887 start of diagnostics.
7888 * combine.c, cse.c: Don't translate dump file output.
7889 * toplev.c (print_version): Only translate output if going to
7890 stderr.
7891
619519c8
KH
78922005-07-03 Kazu Hirata <kazu@codesourcery.com>
7893
7894 * c-decl.c, tree-object-size.c, tree-vectorizer.c,
7895 config/arm/unwind-arm.c, config/arm/unwind-arm.h: Fix comment
7896 typos.
7897
419df6a2
JDA
78982005-07-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7899
7900 * pa.c (fix_range): Fix typo in comment.
7901
184afc23
KH
79022005-07-03 Kazu Hirata <kazu@codesourcery.com>
7903
7904 * tree-vrp.c (extract_range_from_assert): Replace
7905 fold (build (...)) with fold_build2.
7906
0ce0154c
KG
79072005-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7908
7909 * c-format.c (gcc_gfc_format_type, gcc_gfc_flag_pairs,
7910 gcc_gfc_char_table, init_dynamic_gfc_info): New.
7911 (format_types_orig, handle_format_attribute): Add support for
7912 format "gcc_gfc".
7913
4c5bc6f8
GDR
79142005-07-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
7915
7916 * varasm.c (assemble_variable): Fix format specifier thinko.
7917
7adaa46c
IR
79182005-07-03 Ira Rosen <irar@il.ibm.com>
7919
7920 PR tree-optimization/22029 (and 22135)
7921 * tree-pretty-print.c (dump_generic_node): Check that the node is not
7922 a phi node before calling dump_vops.
7923
1966af04
GDR
79242005-07-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
7925
7926 * tree-dump.h (dump_string_field): Declare.
7927 * tree-dump.c: Use it instead of dump_string.
7928 (dump_string_field): Make non-static.
7929
384a8760
KK
79302005-07-03 Kaz Kojima <kkojima@gcc.gnu.org>
7931
7932 * config/sh/sh.c (sh_output_mi_thunk): Initialize and clean
7933 up the minimal CFG stuff always when optimize > 0. Call
7934 split_all_insns_noflow in PIC case if needed.
7935
7f3b2bda 79362005-07-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
86979811 7937 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
7f3b2bda
GDR
7938
7939 PR c++/18279
7940 * c-decl.c (c_write_global_declarations): Dump contents of
7941 external scope to.
7942 * tree-dump.c (dequeue_and_dump): Dump abstract origin of a decl.
7943 <TRY_FINALLY_EXPR>, <RETURN_EXPR>, <CASE_LABEL_EXPR>, <LABEL_EXPR>,
7944 <GOTO_EXPR>, <SWITCH_EXPR>: Add.
7945 (dump_enabled_p): Return TRUE if PHASE is TDI_all and any dump
7946 is enabled.
7904f95f 7947
ea40ba9c
JM
79482005-07-03 Joseph S. Myers <joseph@codesourcery.com>
7949
7950 * c-common.h (GCC_DIAG_STYLE): Define.
7951 * c-tree.h (GCC_DIAG_STYLE): Do not define. Change minimum GCC
7952 version for format checking to 4.1.
7953 * c-format.c: Include toplev.h after c-common.h.
7954 (enum format_type): Add gcc_tdiag_format_type.
7955 (gcc_tdiag_length_specs, gcc_tdiag_flag_pairs,
7956 gcc_tdiag_flag_specs, gcc_tdiag_char_table): New.
7957 (format_types_orig): Add gcc_tdiag.
7958 (init_dynamic_diag_info): Support gcc_tdiag formats.
7959 (handle_format_attribute): Likewise.
7960 * toplev.h (NO_FRONT_END_DIAG, ATTRIBUTE_GCC_FE_DIAG): Remove.
7961 (GCC_DIAG_STYLE): Default to __gcc_tdiag__. Change minimum GCC
7962 version for format checking to 4.1.
7963 (warning0, warning, error, pedwarn, sorry): Use
7964 ATTRIBUTE_GCC_DIAG.
7965 * config/rs6000/rs6000.c (altivec_expand_builtin), varasm.c
7966 (finish_aliases_1): Do not use %qE.
7967 * config/arm/arm.c, config/i386/i386.c, config/mmix/mmix.c,
7968 config/pdp11/pdp11.c, stor-layout.c, tree-eh.c, tree-ssa.c:
7969 Correct format bugs.
7970 * config/v850/v850-protos.h (v850_output_aligned_bss): Change size
7971 parameter to unsigned HOST_WIDE_INT.
7972 * config/v850/v850.c (v850_output_aligned_bss): Likewise.
7973
7a31c801
DE
79742005-07-02 David Edelsohn <edelsohn@gnu.org>
7975
7976 PR middle-end/21742
7977 * expr.c (write_complex_part): Use adjust_address for MEM.
7978 (read_complex_part): Same.
7979
5f013fd0
DB
79802005-07-02 Daniel Berlin <dberlin@dberlin.org>
7981
7982 Fix PR tree-optimization/22280
7983
7984 * tree-sra.c (generate_element_init): Remove useless loop.
7985
6cb718e4
RH
79862005-07-02 Richard Henderson <rth@redhat.com>
7987
5b667039
JJ
7988 * config/alpha/alpha.c (alpha_legitimize_address): Check for
7989 TLS_MODEL_NONE.
7990 (alpha_stdarg_optimize_hook): Use DECL_UID with va_list_vars.
6cb718e4 7991
70a9e64b
AP
79922005-07-02 Andrew Pinski <pinskia@physics.uc.edu>
7993
7994 PR middle-end/14490
7995 * fold-const.c (fold_binary): Handle the return value of
7996 fold_to_nonsharp_ineq_using_bound if we get back the same operand back.
7997 Implement "X +- C1 CMP C2" folding to "X CMP C2 -+ C1".
7998
2d0dab7f
JL
79992005-07-02 Jeff Law <law@redhat.com>
8000
8001 * tree-ssa-dom.c (find_equivalent_equality_comparison): Do not
8002 a eliminate type conversion which feeds an equality comparison
8003 if the original type or either operand in the comparison is a
8004 function pointer.
8005
c85ce869
JM
80062005-07-02 Joseph S. Myers <joseph@codesourcery.com>
8007
8008 * c.opt, common.opt, config/bfin/bfin.opt, config/pa/pa.opt,
8009 config/rs6000/rs6000.opt, params.def: Remove "." from end of help
8010 texts.
8011 * config/avr/avr.c: Do not use '`' as left quote.
8012 * config/rs6000/rs6000.c, config/s390/s390.c, opts.c, tree.c:
8013 Remove "." from end of diagnostics. Make diagnostics start with
8014 lowercase letter.
8015
dee15844 80162005-07-02 Zack Weinberg <zack@codesourcery.com>
86979811 8017 Joseph S. Myers <joseph@codesourcery.com>
dee15844
JM
8018
8019 * toplev.c (default_tree_printer): Handle setting location with
8020 '+' flag.
8021 * c-objc.common.c (c_tree_printer): Likewise.
8022 * c-format.c (gcc_diag_flag_specs): Add '+'.
8023 (gcc_cdiag_char_table): Allow '+' flag for tree formats.
8024 (format_types_orig): Allow '+' flag for gcc_diag and gcc_cdiag
8025 formats.
8026 * c-common.c, c-decl.c, c-objc-common.c, c-pragma.c,
8027 config/arm/pe.c, config/i386/winnt.c, config/ia64/ia64.c,
8028 config/mcore/mcore.c, config/sh/symbian.c, config/sol2.c,
8029 config/v850/v850.c, function.c, stor-layout.c, toplev.c,
8030 tree-inline.c, tree-optimize.c, tree.c, varasm.c: Use '+' flag
8031 instead of %J or %H. Use 'q' flag for quoting. Avoid '.' at end
8032 of diagnostics. Use %q+D not %s for a decl. Do not pass excess
8033 format arguments where %J is used without %D.
8034
77008252
JJ
80352005-07-02 Jakub Jelinek <jakub@redhat.com>
8036
8037 * gcc.c (LINK_SSP_SPEC): Define.
8038 (link_ssp_spec): New variable.
8039 (LINK_COMMAND_SPEC): Add %(link_ssp).
8040 (static_specs): Add link_ssp_spec.
8041 * configure.ac (TARGET_LIBC_PROVIDES_SSP): New test.
8042 * configure: Rebuilt.
8043 * config.in: Rebuilt.
8044
8045 * config/rs6000/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
8046 * config/rs6000/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
8047 * config/i386/linux.h (TARGET_THREAD_SSP_OFFSET): Likewise.
8048 * config/i386/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
8049 * config/rs6000/rs6000.md (stack_protect_set, stack_protect_test):
8050 If TARGET_THREAD_SSP_OFFSET is defined, use -0x7010(13) resp.
8051 -0x7008(2) instead of reading __stack_chk_guard variable.
8052 * config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): Change
8053 number.
8054 (UNSPEC_SP_TLS_SET, UNSPEC_SP_TLS_TEST): New constants.
8055 (stack_protect_set, stack_protect_test): Use *_tls* patterns
8056 if TARGET_THREAD_SSP_OFFSET is defined.
8057 (stack_tls_protect_set_si, stack_tls_protect_set_di,
8058 stack_tls_protect_test_si, stack_tls_protect_test_di): New insns.
8059
8060 Revert:
8061 2005-06-27 Richard Henderson <rth@redhat.com>
8062 * libgcc-std.ver (GCC_4.1.0): New.
8063 * libgcc.h (__stack_chk_guard): Declare.
8064 (__stack_chk_fail, __stack_chk_fail_local): Declare.
8065 * libgcc2.c (L_stack_chk, L_stack_chk_local): New.
8066 * mklibgcc.in (lib2funcs): Add them.
8067
606c33f1
RH
80682005-07-01 Richard Henderson <rth@redhat.com>
8069
8070 * config/i386/linux-unwind.h (x86_64_fallback_frame_state): Cast to
8071 void * before struct sigcontext *.
8072 (x86_fallback_frame_state): Likewise.
8073
60d436c9
JW
80742005-07-01 James E. Wilson <wilson@specifixinc.com>
8075
8076 * doc/invoke.texi (-funit-at-a-time): Correct grammar in second bullet.
8077
7898840f
AP
80782005-07-01 Andrew Pinski <pinskia@physics.uc.edu>
8079
8080 PR tree-opt/22269
8081 * tree-ssa-reassoc.c (should_transpose): Fix which operand
8082 we check for SSA_NAME for.
8083
064be445 80842005-07-01 Daniel Berlin <dberlin@dberlin.org>
dd68d988
DB
8085
8086 Fix PR tree-optimization/22071
064be445 8087
dd68d988
DB
8088 * tree-ssa-structalias.c (offset_overlaps_with_access): New
8089 function.
8090 (get_constraint_for_component_ref): Use it.
8091
c50367a2
AP
80922005-07-01 Andrew Pinski <pinskia@physics.uc.edu>
8093
8094 PR other/22264
8095 * diagnostic.c (diagnostic_report_current_module): Use pp_newline to
8096 print out the last new line.
8097
f9968e3e
HPN
80982005-07-01 Hans-Peter Nilsson <hp@axis.se>
8099
8100 * config/cris/cris.md (CRIS_CC0_REGNUM): New constant.
8101 Swap numbers for CRIS_AP_REGNUM and CRIS_MOF_REGNUM.
8102 * config/cris/cris.c (cris_conditional_register_usage): Adjust
8103 reg_names[CRIS_CC0_REGNUM] for early CRIS versions.
8104 (cris_print_operand) <case REG>: Handle CRIS_CC0_REGNUM.
8105 (cris_md_asm_clobbers): Clobber CRIS_CC0_REGNUM for all asms.
8106 * config/cris/cris.h (CRIS_CANONICAL_CC0_REGNUM): New macro.
8107 (enum reg_class): New member CC0_REGS.
8108 (REG_CLASS_FROM_LETTER): Add 'c' for CC0_REGS.
8109 (FIRST_PSEUDO_REGISTER, CALL_USED_REGISTERS, REG_ALLOC_ORDER)
8110 (HARD_REGNO_MODE_OK, MODES_TIEABLE_P, REG_CLASS_NAMES)
8111 (CRIS_SPECIAL_REGS_CONTENTS, REG_CLASS_CONTENTS, REGNO_REG_CLASS)
8112 (PREFERRED_RELOAD_CLASS, REGISTER_NAMES, DBX_REGISTER_NUMBER):
8113 Adjust for register now described.
8114
4f856a3e
JJ
81152005-07-01 Jakub Jelinek <jakub@redhat.com>
8116
8117 PR target/22262
8118 * config/i386/i386.md (stack_protect_test_si,
8119 stack_protect_test_di): Add earlyclobber for scratch 3.
8120 * config/rs6000/rs6000.md (stack_protect_testsi,
8121 stack_protect_testdi): Add earlyclobber for scratch 3,
8122 remove earlyclobber from scratch 4.
8123
064be445 8124Older entries for 2005 can be found in ChangeLog-2005.
This page took 1.081901 seconds and 5 git commands to generate.