]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
tree-pass.h, [...]: Revert last change.
[gcc.git] / gcc / ChangeLog
CommitLineData
b1e8be10
RH
12005-09-17 Richard Henderson <rth@redhat.com>
2
3 * tree-pass.h, tree-flow.h, tree-ssa-dce.c: Revert last change.
4 * tree-ssa-loop.c (pass_vect_dce): Remove.
5 * passes.c (init_optimization_passes): Add pass_dce as a sub-pass
6 of pass_vectorize.
7
8fe07c42
RH
82005-09-17 Richard Henderson <rth@redhat.com>
9
10 * tree-pass.h (pass_vect_dce): Declare.
11 * passes.c (init_optimization_passes): Add it.
12 * tree-flow.h (tree_ssa_dce): Declare.
13 * tree-ssa-dce.c (tree_ssa_dce): Export.
14 * tree-ssa-loop.c (tree_vectorize): Move current_loops check ...
15 (gate_tree_vectorize): ... here.
16 (pass_vect_dce): New.
17
0856ee98
JH
182005-09-17 Jan Hubicka <jh@suse.cz>
19
20 * except.c (struct eh_status): Turn region_array into vec.
21 (expand_resx_expr, collect_eh_region_array, remove_unreachable_regions,
22 convert_from_eh_region_ranges, find_exception_handler_labels,
23 current_function_has_exception_handlers, assign_filter_values,
24 build_post_landing_pads, dw2_build_landing_pads,
25 sjlj_find_directly_reachable_regions, sjlj_mark_call_sites,
26 sjlj_emit_dispatch_table, remove_eh_handler, for_each_eh_region,
27 foreach_reachable_handler, can_throw_internal_1,
28 convert_to_eh_region_ranges, verify_eh_tree): Update uses of
29 region_array.
30 (duplicate_eh_region_1): Update region_array.
31 (duplicate_eh_regions): Resize region_array and avoid recomputing.
32
53c4ca47
DE
332005-09-17 David Edelsohn <edelsohn@gnu.org>
34
35 PR middle-end/22067
36 * expmed.c (expand_mult): Substitute simple register for op0 when
37 computing max_cost.
38
652b0932
RH
392005-09-17 Richard Henderson <rth@redhat.com>
40
41 * expr.c (emit_move_via_integer): Add force argument, pass it on
42 to emit_move_change_mode. Update callers.
43 (emit_move_complex): Pass true to new force argument.
44 * function.c (expand_function_end): Move expand_eh_return call
45 earlier. Merge sub-word complex values into a pseudo before
46 copying to the return hard register.
47
69fcfd68
EB
482005-09-17 Eric Botcazou <ebotcazou@adacore.com>
49
50 * varasm.c (output_constant): Do not abort on VIEW_CONVERT_EXPRs
51 between different sizes.
52
6a4e4778
PB
532005-09-16 Paolo Bonzini <bonzini@gnu.org>
54
55 PR 23903
56
57 * passes.c (init_optimization_passes): Register dump files for
58 IPA passes first.
59
bcf8c1cc
AK
602005-09-16 Andreas Krebbel <krebbel1@de.ibm.com>
61
62 * config/s390/s390-protos.h (s390_overlap_p): Prototype added.
63 * config/s390/s390.c (s390_overlap_p): New function.
64 * config/s390/s390.md ("*mvc" peephole2, "*nc" peephole2, "*oc"
65 peephole2, "*xc" peephole2): Added overlap check to the peephole2
66 condition.
67
f7acf1c2
RG
682005-09-16 Richard Guenther <rguenther@suse.de>
69
70 * ipa-pure-const.c (static_execute): Free auxiliar information.
71 * ipa-type-escape.c (discover_unique_type): Free temporary key.
72 * tree-vrp.c (remove_range_assertions): Free blocks_visited sbitmap.
73
f5ea2dca
DD
742005-09-15 DJ Delorie <dj@redhat.com>
75
76 * config/m32c/m32c-lib1.S (__m32c_eh_return): Fix typo.
77
9026e8d4
PB
782005-09-15 Paolo Bonzini <bonzini@gnu.org>
79
80 * optabs.c (expand_binop): Use swap_commutative_operands_with_target
81 to order operands.
82 (swap_commutative_operands_with_target): New.
83
14b33c04
DB
842005-09-15 Daniel Berlin <dberlin@dberlin.org>
85
86 * tree-data-ref.c (analyze_array_indexes): Add estimate_only
87 parameter.
88 Update callers.
89 (estimate_iters_using_array): New function.
90 * tree-data-ref.h (estimate_iters_using_array): Prototype
91 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
92 Use estimate_iters_using_array instead of analyze_array.
93
d430cbe7
EB
942005-09-15 Eric Botcazou <ebotcazou@adacore.com>
95
96 * tree-nested.c (get_frame_type): Mark the "non-local frame structure"
97 as addressable.
98
fca59ed2
MM
992005-09-15 Michael Matz <matz@suse.de>
100
101 * tree-vrp.c (vrp_int_const_binop <MINUS_EXPR>): Handle 0 - -INF.
102
fd312e90
DB
1032005-09-14 Daniel Berlin <dberlin@dberlin.org>
104
105 PR tree-optimization/23835
106 * tree-ssa-alias.c (sort_pointers_by_pt_vars): New function.
107 (create_name_tags): Rewrite to be not O(num_ssa_names^2).
108
47b71abb
RH
1092005-09-14 Richard Henderson <rth@redhat.com>
110
111 * config/ia64/vect.md (addv2sf3, subv2sf3): Rewrite as expand.
112 (addv2sf3_1, addv2sf3_2, subv2sf3_1, subv2sf3_2): New.
113
5139c66b
AP
1142005-09-14 Andrew Pinski <pinskia@physics.uc.edu>
115
116 * config/i386/i386.c (contains_128bit_aligned_vector_p): Add break
117 in the ARRAY_TYPE case.
118
7ad00e13
EB
1192005-09-14 Eric Botcazou <ebotcazou@adacore.com>
120
121 * tree.c (substitute_in_expr, case 4): New case, for ARRAY_REF.
122
b2d16a23
UB
1232005-09-14 Uros Bizjak <uros@kss-loka.si>
124
125 PR middle-end/22480
126 * tree-vect-transform.c (vectorizable_operation): Return false for
127 scalar shift operations and for vector shift operations with
128 non-invariant shift arguments. Use scalar tree operand op1 as
129 a shift operand when vector shift insn pattern uses scalar shift
130 operand.
131 * Makefile.in (tree-vect-transform.o): Depend on recog.h.
132
816fa80a
OH
1332005-09-14 Olivier Hainque <hainque@adacore.com>
134
135 * gimplify.c (gimplify_init_ctor_eval): Don't discard a zero-sized
136 value if it has side-effects.
137
c9692532
DE
1382005-09-14 David Edelsohn <edelsohn@gnu.org>
139
140 PR target/22068
141 * config/rs6000/rs6000.md (muldi3): Add mulli alternative.
142
00754468
AM
1432005-09-14 Alan Modra <amodra@bigpond.net.au>
144
145 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Treat function name
146 passed as NAME as if it were label at start of function code.
147
18943792
KK
1482005-09-13 Kaz Kojima <kkojima@gcc.gnu.org>
149
150 * config/sh/sh.md (*movv4sf_i): Add general register cases to
151 the constraints.
152
af8e8908
AP
1532005-09-13 Andrew Pinski <pinskia@physics.uc.edu>
154
155 * config/rs6000/darwin.md (movdf_low_si): Mark the outgoing r constraint
156 as early clobber. Rewrite so the PIC register is not implicitly used.
157
282c3fdc
VR
1582005-09-13 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
159
160 * tree.c (annotate_with_file_line): Compare line numbers before
161 file names.
162
79e72538
UB
1632005-09-13 Uros Bizjak <uros@kss-loka.si>
164
165 PR target/23816
166 * config/i386/sse.md (*ieee_sminv4sf3, *ieee_smaxv4sf3)
167 (*ieee_sminv2df3, *ieee_smaxv2df3): New insn patterns.
168
1984d2e8
ILT
1692005-09-13 Ian Lance Taylor <ian@airs.com>
170
171 * loop-doloop.c (doloop_modify): Use GEN_INT to pass an rtx rather
172 than a HOST_WIDEST_INT to gen_doloop_begin.
173
5681f1ab
DN
1742005-09-13 Diego Novillo <dnovillo@redhat.com>
175
176 * tree-dfa.c (dump_variable): Guard against NULL annotations.
177
d7f0e25c
ZD
1782005-09-13 Zdenek Dvorak <dvorakz@suse.cz>
179
180 PR tree-optimize/23817
181 * tree-cfg.c (tree_merge_blocks): Preserve loop closed ssa.
182
2eef28ec
AM
1832005-09-13 Alan Modra <amodra@bigpond.net.au>
184
185 PR target/23774
186 * config/rs6000/rs6000.md (restore_stack_block): Write the backchain
187 word before changing the stack pointer. Use gen_frame_mem for MEMs.
188 Use UNSPEC_TIE to prevent insn scheduling reordering the insns.
189 (restore_stack_nonlocal): Likewise.
190 (save_stack_nonlocal): Use template to emit insns, and gen_frame_mem.
191
d63d5d0c
ILT
1922005-09-12 Ian Lance Taylor <ian@airs.com>
193
194 PR g++/7874
195 * c.opt (ffriend-injection): New C++ option.
196 * doc/invoke.texi (Option Summary): Mention -ffriend-injection.
197 (C++ Dialect Options): Document -ffriend-injection.
198
d840283a
JC
1992005-09-12 Josh Conner <jconner@apple.com>
200
201 PR middle-end/23237
202 * ipa-reference.c (static_execute): Don't mark variables in
203 named sections TREE_READONLY.
204
309ebcd0
AM
2052005-09-12 Alan Modra <amodra@bigpond.net.au>
206
207 * config/rs6000/rs6000.c (get_next_active_insn): Simplify test for
208 stack_tie.
209
8d099498
AP
2102005-09-12 Andrew Pinski <pinskia@physics.uc.edu>
211
212 * tree-ssa-dse.c (dse_optimize_stmt): Fix up all of V_MAY_DEF and
213 V_MUST_DEF instead of just the first_use_p.
214 Don't mark the virtual variables for renaming on the statement which
215 is being removed.
216 (pass_dse): Remove TODO_update_ssa.
217
cd41bae5
R
2182005-09-12 J"orn Rennecke <joern.rennecke@st.com>
219
f439f9a5
R
220 PR middle-end/23290
221 * stor-layout.c (compute_record_mode): For records with a single
222 field, actually check the field's mode size against the type size.
223
cd41bae5
R
224 * sh.h (HARD_REGNO_MODE_OK): Allow V4SFmode in general purpose
225 registers for TARGET_SHMEDIA.
226 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Rename
227 GENERAL_FP_REGS to GENERAL_DF_REGS. Add GENERAL_FP_REGS as union
228 of GENERAL_REGS and FP_REGS.
229
b99791d1
BS
2302005-09-12 Bernd Schmidt <bernd.schmidt@analog.com>
231
309ebcd0 232 * config/bfin/bfin.c (legimitize_pic_address): Use gen_const_mem.
b99791d1 233
f489aff8
AM
2342005-09-12 Alan Modra <amodra@bigpond.net.au>
235
236 * config/rs6000/rs6000.c (get_next_active_insn): Rewrite using
237 CALL_P, JUMP_P and NONJUMP_INSN_P, so that barriers and labels
238 are omitted. Exclude stack_tie insn too.
239
8308679f
DE
2402005-09-11 David Edelsohn <edelsohn@gnu.org>
241
242 PR rtl-optimization/23098
243 * config/rs6000/predicates.md (easy_fp_constant): SFmode constant
244 0.0f is easy.
245 * config/rs6000/rs6000.md (movdf splitter): Use
246 const_double_operand predicate for TARGET_POWERPC64.
247 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Expand
248 SYMBOL_REF method to ABI_V4.
249
250 * config/rs6000/altivec.md (build_vector_mask_for_load): Use
251 replace_equiv_address.
252 * config/rs6000/rs6000.c (rs6000_emit_eh_reg_restore): Mark MEM as
253 rs6000_sr_alias_set and MEM_NOTRAP.
254 (rs6000_aix_emit_builtin_unwind_init): Use gen_frame_mem().
255
4c223d6a
EB
2562005-09-11 Eric Botcazou <ebotcazou@adacore.com>
257
258 * tree.c (contains_placeholder_p) <tcc_expression>: Properly
259 handle CALL_EXPR again.
260
2347f5c9
RE
2612005-09-11 Richard Earnshaw <richard.earnshaw@arm.com>
262
263 * arm/predicates.md (alignable_memory_operand): Delete.
264
4e0e2698
RH
2652005-09-10 Richard Henderson <rth@redhat.com>
266
267 PR debug/23806
268 * dbxout.c (dbxout_expand_expr): New.
269 (dbxout_symbol): Use it.
270
31fa16b6
RE
2712005-09-10 Richard Earnshaw <richard.earnshaw@arm.com>
272
273 * arm.c (arm_gen_rotated_half_load): Delete.
274 (vfp_emit_fstmx, arm_set_return_address): Use gen_frame_mem.
275 (emit_multi_reg_push, emit_sfm, arm_expand_prologue)
276 (thumb_set_return_address): Likewise.
277 (thumb_load_double_from_address): Use adjust_address.
278 * arm.md (splits calling arm_gen_rotated_half_load): Delete.
279 (extendhsisi2_mem, movhi_bytes): Use change_address.
280 (movhi): Use widen_memory_access.
281 (reload_out_df): Use replace_equiv_address.
282 * arm-protos.h (arm_gen_rotated_half_load): Delete prototype.
283
9bfa80fb
RH
2842005-09-09 Richard Henderson <rth@redhat.com>
285
286 PR debug/20998
287 * dbxout.c: Include expr.h.
288 (dbxout_global_decl): Don't suppress for DECL_RTL unset.
289 (dbxout_symbol): Handle DECL_VALUE_EXPR.
290 * Makefile.in (dbxout.o): Add EXPR_H.
291
2360a4c1
ZD
2922005-09-09 Zdenek Dvorak <dvorakz@suse.cz>
293
294 PR tree-optimization/23509
295 * tree-cfg.c (replace_uses_by): Use replace_exp.
296 * tree-ssa-loop-ivopts.c (get_ref_tag): Assert that dereferenced
297 pointers have name_mem_tag or type_mem_tag set.
298
7ce7896c
SP
2992005-09-09 Sebastian Pop <pop@cri.ensmp.fr>
300
301 * tree-chrec.c (evolution_function_is_invariant_rec_p): Use
302 CHREC_LEFT and CHREC_RIGHT for accessing chrec components instead
303 of wrongly accessing operands.
304
18aed06a
SP
3052005-09-09 Sebastian Pop <pop@cri.ensmp.fr>
306
307 * Makefile.in (tree-chrec.o): Depends on SCEV_H.
308 * tree-chrec.c: Include tree-scalar-evolution.h.
309 (chrec_convert): Instantiate the base and step before calling
310 scev_probably_wraps_p that would fail on parametric evolutions.
311 Collect all the fails into a single section failed_to_convert,
312 print a diagnostic, and return chrec_dont_know instead of calling
313 fold_convert.
314 * tree-scalar-evolution.c (loop_closed_phi_def): New.
315 (instantiate_parameters_1): Avoid instantiation of loop closed ssa
316 phi nodes.
317 (scev_const_prop): Don't replace the definition of a loop closed ssa
318 phi node by itself, or by another loop closed ssa phi node.
319 * tree-ssa-loop-niter.c (scev_probably_wraps_p, convert_step): Check
320 that base and step are defined.
321
3dac16bd
RG
3222005-09-09 Richard Guenther <rguenther@suse.de>
323
324 PR c++/23624
325 * fold-const.c (fold_ternary): Check truth_value_p before
326 calling invert_truthvalue.
327
dcfae47c
NC
3282005-09-09 Nick Clifton <nickc@redhat.com>
329
330 * Makefile.in (LIBGCC_DEPS): Add libgcc2.h.
331 * libgcc2.c (__clz_tab[], __popcount_tab[]): Set the fixed
332 dimension of these arrays.
333 * libgcc2.h (__clz_tab[], __popcount_tab[]): Add exports of
334 these arrays.
335 * longlong.h: Only provide a prototype for the __clz_tab[] array
336 if this header has not been included from libgcc2.h.
337 * config/stormy16/stormy16-lib2.c: Include libgcc2.h rather than
338 defining own types.
339 Provide prototypes for exported functions.
340 Use the __clz_tab[] and __popcount_tab[] arrays provided by
341 libgcc2.c.
342
d047a201
JC
3432005-09-08 Josh Conner <jconner@apple.com>
344
70e9e3d6 345 PR c++/21135
d047a201
JC
346 PR c++/23180
347 * expr.c (expand_expr_addr_expr_1): Don't invoke
348 expand_simple_binop for EXPAND_INITIALIZER.
349
db5f8b93
RH
3502005-09-08 Richard Henderson <rth@redhat.com>
351
352 PR debug/23190
353 * toplev.c (wrapup_global_declaration_1): Split out ...
354 (wrapup_global_declaration_2): ... from ...
355 (wrapup_global_declarations): ... here. Return bool.
356 (check_global_declaration_1): Split out ...
357 (check_global_declarations): from here.
358 (emit_debug_global_declarations): New.
359 * toplev.h (wrapup_global_declaration_1, wrapup_global_declaration_2,
360 check_global_declaration_1, emit_debug_global_declarations): Declare.
361 * c-decl.c (c_write_global_declarations_1): Don't create a vector
362 of decls. Call wrapup_global_declaration_1,
363 wrapup_global_declaration_2, check_global_declaration_1 directly.
364 (c_write_global_declarations_2): New.
365 (ext_block): New.
366 (c_write_global_declarations): Call c_write_global_declarations_2.
367 * langhooks.c (write_global_declarations): Call
368 emit_debug_global_declarations.
369
370 * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Don't
371 remove decls that have DECL_RTL_SET_P.
372 * passes.c (rest_of_decl_compilation): Invoke
373 cgraph_varpool_finalize_decl for all but functions.
374
5c9186ce
EB
3752005-09-08 Eric Botcazou <ebotcazou@libertysurf.fr>
376
377 * tree-vrp.c (extract_range_from_unary_expr): Do not set the range for
378 the result of a conversion if the new min and max cannot be compared.
379
dcc9eb26
AK
3802005-09-08 Andreas Krebbel <krebbel1@de.ibm.com>
381
382 * config/s390/s390.c (s390_sr_alias_set): Variable removed.
383 (override_options): Setting s390_sr_alias_set removed.
384 (save_fpr, save_gprs): Set alias set to vararg or frame.
385 (restore_fpr, restore_gprs, s390_emit_prologue): Replace
386 s390_sr_alias_set with get_frame_alias_set ().
387 (s390_gimplify_va_arg): Replace s390_sr_alias_set with
388 get_varargs_alias_set ().
389
8f078c08
AP
3902005-09-08 Andrew Pinski <pinskia@physics.uc.edu>
391
392 PR objc/20574
393 PR objc/19324
394 * c-parser.c (c_parser_objc_method_definition): If the next
395 token is not "{", error out and don't start the function.
396
0c924d5c
AP
3972005-09-08 Andrew Pinski <pinskia@physics.uc.edu>
398
399 * tree-vrp.c (extract_range_from_expr): Move the check for non
400 nullness after the check for gimple invariant.
401
9f36bc49
RK
4022005-09-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
403
404 * tree.c (host_integerp, tree_low_cst): Correct function comment.
405
085fd657
KI
4062005-09-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
407
408 PR target/23747
409 * config/m32r.md (movmemsi_internal): Canonicalize order of
410 operands in PLUS component of template.
411
b735f45d
AK
4122005-09-07 Andreas Krebbel <krebbel1@de.ibm.com>
413
414 * reload1.c (fixup_eh_region_note): Remove assertion.
415 (fixup_abnormal_edges): Reverted removal of call to
416 find_many_sub_basic_blocks made on 2005-08-31.
417
30e6f306
RH
4182005-09-07 Richard Henderson <rth@redhat.com>
419
8fe07c42
RH
420 * function.c (ARG_POINTER_CFA_OFFSET): Move ...
421 * defaults.h (ARG_POINTER_CFA_OFFSET): ... here.
30e6f306 422 (INCOMING_FRAME_SP_OFFSET): Move from dwarf2out.c.
8fe07c42
RH
423 * dwarf2out.c (struct cfa_loc): Change reg to unsigned int,
424 rearrange for better packing.
30e6f306 425 (INCOMING_FRAME_SP_OFFSET): Move to defaults.h.
8fe07c42
RH
426 (lookup_cfa_1): Remove inline marker.
427 (cfa_equal_p): Split out of ...
428 (def_cfa_1): ... here. Use INVALID_REGNUM.
429 (build_cfa_loc): Handle !cfa->indirect.
430 (frame_pointer_cfa_offset): New.
431 (dbx_reg_number): Assert register elimination performed; do
432 leaf register remapping.
433 (reg_loc_descriptor): Avoid calling dbx_reg_number when unused.
434 (eliminate_reg_to_offset): New.
435 (based_loc_descr): Remove can_use_fbreg argument. Use fbreg only
436 for verifiably local stack frame addresses; re-base to CFA.
437 (mem_loc_descriptor): Remove can_use_fbreg argument.
438 (concat_loc_descriptor, loc_descriptor): Likewise.
439 (containing_function_has_frame_base): Remove.
440 (rtl_for_decl_location): Don't do register elimination or
441 leaf register remapping here.
442 (secname_for_decl): Split out from ..
443 (add_location_or_const_value_attribute): ... here.
444 (convert_cfa_to_loc_list): New.
445 (compute_frame_pointer_to_cfa_displacement): New.
446 (gen_subprogram_die): Use them.
447 * tree.h (frame_base_decl): Remove.
448 * var-tracking.c (frame_base_decl, frame_stack_adjust): Remove.
449 (prologue_stack_adjust): Remove.
450 (vt_stack_adjustments): Use INCOMING_FRAME_SP_OFFSET.
451 (adjust_stack_reference): Re-base memories to arg_pointer_rtx.
452 (set_frame_base_location): Remove.
453 (compute_bb_dataflow, emit_notes_in_bb): Don't call it.
454 (dump_attrs_list, dump_dataflow_set): Use string concatenation.
455 (vt_add_function_parameters): Don't eliminate_regs.
456 (vt_initialize): Don't create frame_base_decl.
30e6f306 457
ff8f80f2
EB
4582005-09-07 Eric Botcazou <ebotcazou@libertysurf.fr>
459
460 * doc/install.texi (*-*-solaris2*): Clarify wording on the recommended
461 version of GNU binutils for 4.x and later.
462
6f02b1db
MM
4632005-09-06 Mark Mitchell <mark@codesourcery.com>
464
465 * ggc-page.c (ggc_push_context): Remove.
466 (ggc_pop_context): Likewise.
467 * ggc.h (ggc_push_context): Remove.
468 (ggc_pop_context): Likewise.
469
3273516f
SV
4702005-09-06 Saurabh Verma <saurabh.verma@codito.com>
471
472 PR target/8973
473 * config/arc/arc.c (arc_output_function_epilogue): Update flags while
474 returning from an interrupt handler.
475
006fa7d4
SV
4762005-09-06 Saurabh Verma <saurabh.verma@codito.com>
477
478 PR target/8972
479 * config/arc/arc.c (output_shift): Add check for loop count when
480 optimizing.
481
800dd123
SB
4822005-09-06 Steven Bosscher <stevenb@suse.de>
483
484 * tree-ssa-phiopt.c (conditional_replacement): Construct proper SSA
485 form manually.
486 (abs_replacement): Likewise.
487 (pass_phiopt): Remove TODO_update_ssa.
488
73109af7
JJ
4892005-09-06 Jakub Jelinek <jakub@redhat.com>
490
0c9b182b
JJ
491 PR c/23075
492 * c-typeck.c (c_finish_return): Set TREE_NO_WARNING on RETURN_EXPR
493 if "return with no value, in function returning non-void" warning
494 has been issued.
800dd123 495 * tree-cfg.c (execute_warn_function_return): Don't look at
0c9b182b
JJ
496 RETURN_EXPRs with TREE_NO_WARNING set.
497
73109af7
JJ
498 PR target/22362
499 * config/i386/i386.c (ix86_function_regparm): Make sure automatic regparm
500 for internal functions doesn't use registers used by global registers
501 variables. Use fewer register parameters if there are global register
502 variables.
503
60a23e2e 5042005-09-06 Olivier Hainque <hainque@adacore.com>
800dd123 505 Eric Botcazou <ebotcazou@adacore.com>
60a23e2e
OH
506
507 PR middle-end/14997
508 * expr.c (expand_expr_real) <normal_inner_ref>: Force op0 to mem
509 when we would be extracting outside its bit span (bitpos+bitsize
510 larger than its mode), possible with some VIEW_CONVERT_EXPRs from
511 Ada unchecked conversions.
512
dda243de
SB
5132005-09-06 Steven Bosscher <stevenb@suse.de>
514
515 * tree-ssa-pre.c (try_look_through_load): New function.
516 (compute_avail): Use it to try to look through loads for some
517 more useful expressions.
518
f5d1572a
SV
5192005-09-06 Saurabh Verma <saurabh.verma@codito.com>
520
521 * simplify-rtx.c (simplify_binary_operation_1): Correct the
522 condition for detecting cases like (a&a) and (a^a).
523
c12cc930
KB
5242005-09-06 Keith Besaw <kbesaw@us.ibm.com>
525
526 * common.opt: Add option ftree-vect-loop-version.
527 * params.def: Add --param vect-max-version-checks.
528 * doc/invoke.texi: Document ftree-vect-loop-version and
529 --param vect-max-version-checks.
530 * tree-vectorizer.h (_loop_vec_info): Add ptr_mask and
531 may_misalign_stmts and defines for accessors.
532 * tree-vectorizer.c : (new_loop_vec_info): VEC_alloc for
533 LOOP_VINFO_MAY_MISALIGN_STMTS.
534 (destroy_loop_vec_info): VEC_free for
535 LOOP_VINFO_MAY_MISALIGN_STMTS.
536 * tree-vect-analyze.c (vect_compute_data_ref_alignment):
537 Update documentation.
538 (vect_update_misalignment_for_peel): New.
539 (vect_enhance_data_refs_alignment): Update to choose loop
540 peeling or loop versioning if appropriate for the (potentially)
541 unaligned data references in the loop.
542 (vect_analyze_data_refs_alignment): Remove call to
543 vect_enhance_data_refs_alignment so the checks can be done
544 earlier.
545 (vect_analyze_loop): Add call to vect_enhance_data_refs_alignment
546 and move up call to vect_analyze_data_refs_alignment.
547 * tree-vect-transform.c (vect_create_cond_for_align_checks): New.
548 (vect_transform_loop): Add call to loop_version.
549
1c653a41
JJ
5502005-09-06 Jakub Jelinek <jakub@redhat.com>
551
552 PR rtl-optimization/23098
553 * cse.c (fold_rtx_mem): Call delegitimize_address target hook.
554 * simplify-rtx.c (constant_pool_reference_p): New function.
555 * rtl.h (constant_pool_reference_p): New prototype.
556 * config/i386/i386.md (pushf split, mov[sdx]f split): Use
557 constant_pool_reference_p in condition and
558 avoid_constant_pool_reference in preparation statements.
559
70a640af
AK
5602005-09-06 Andreas Krebbel <krebbel1@de.ibm.com>
561
562 * gcse.c (try_replace_reg): Disallow REG_EQUAL notes for
563 STRICT_LOW_PART SETs.
564
fc781ee0
AM
5652005-09-06 Alan Modra <amodra@bigpond.net.au>
566
567 PR middle-end/21460
568 * except.c (sjlj_emit_function_enter): Find the function begin
569 note even when it's not in first basic block.
570
67da1534
KC
5712005-09-06 Kelley Cook <kcook@gcc.gnu.org>
572
573 * acinclude.m4: Renamed from aclocal.m4. Delete AM_LANGINFO_CODESET,
574 AM_PROG_CC_C_O, and AM_AUX_DIR_EXPAND.
575 * aclocal.m4: Regenerate.
576
dc019eb8
DD
5772005-09-05 DJ Delorie <dj@redhat.com>
578
579 * config/m32c/m32c.h (TRAMPOLINE_ALIGNMENT): Correct misspelling
580 of macro.
581
57b51d4d
KH
5822005-09-06 Kazu Hirata <kazu@codesourcery.com>
583
584 * gimplify.c, ipa-prop.h, varasm.c, config/vxlib.c,
585 config/vxworks.h, config/crx/crx.c, config/ms1/ms1.c,
586 config/ms1/ms1.md, config/rs6000/rs6000.c: Fix comment typos.
587 Follow spelling conventions.
588 * doc/invoke.texi: Follow spelling conventions.
589
bf877a76
R
5902005-09-05 J"orn Rennecke <joern.rennecke@st.com>
591
592 * rtl.h (gen_frame_mem, gen_tmp_stack_mem): Declare.
593 * emit-rtl.c (gen_frame_mem, gen_tmp_stack_mem): New functions.
594 * builtins.c (expand_builtin_return_addr): Use gen_frame_mem.
595
57d38024
R
5962005-09-05 J"orn Rennecke <joern.rennecke@st.com>
597
598 PR target/23683
599 * sh.c (sh_reorg, emit_load_ptr): Use gen_const_mem.
600 (output_stack_adjust): Use gen_tmp_stack_mem.
601 (sh_expand_prologue, sh_expand_epilogue): Use gen_frame_mem.
602 (sh_set_return_address, sh_allocate_initial_value): Likewise.
603 (sh_get_pr_initial_val): Likewise.
604 (sh_builtin_saveregs): Use gen_frame_mem and change_address.
605 (sh_initialize_trampoline): Likewise. Also use adjust_address.
606 * sh.md (divsi_inv_m0): Use gen_const_mem.
607 (push_fpscr, pop_fpscr, load_ra): Use gen_frame_mem.
608 (movdf_i4+1): Use gen_tmp_stack_mem.
609 (reload_outdf+3, reload_outdf+4, fpu_switch+1): Use change_address.
610 (fpu_switch+2): Likewise.
611 (movv4sf_i, movv16sf_i): Use adjust_address.
612 (symGOT_load): Set MEM_NOTRAP_P bit.
613
1c9ef36d
JDA
6142005-09-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
615
616 PR target/23721
617 * pa.c (emit_move_sequence): Fix typo in last change.
618
7a6b7528
JJ
6192005-09-03 Jakub Jelinek <jakub@redhat.com>
620
621 PR rtl-optimization/23454
622 * reorg.c (relax_delay_slots): Only call invert_jump if any_condjump_p
623 is true.
624
7c95bbfb
RH
6252005-09-03 Richard Henderson <rth@redhat.com>
626 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
627
628 PR middle-end/23671
800dd123 629 * pa.c (emit_move_sequence): Use replace_equiv_address instead of
7c95bbfb
RH
630 gen_rtx_MEM.
631
b107d743
NP
6322005-09-02 Nicolas Pitre <nico@cam.org>
633
634 * config/arm/arm.c (arm_legitimize_address): Limit the value passed
635 to bit_count to 32 bits.
636
a38578e1
MM
6372005-08-31 Mark Mitchell <mark@codesourcery.com>
638
639 PR c++/23167
640 * gimplify.c (gimplify_expr): Handle TREE_ADDRESSABLE types when
641 generating synthetic loads from volatile lvalues.
642
ebf178cd
NC
643005-09-02 Nick Clifton <nickc@redhat.com>
644
645 * config/stormy16/stormy16-lib2.c (__popcounthi2, __parityhi2,
646 __ctzhi2, __clzhi2): New functions.
647
9bf777ee
AP
6482005-09-02 Andrew Pinski <pinskia@physics.uc.edu>
649
650 PR middle-end/23547
651 * tree-nested.c (struct var_map_elt): Mark with GTY.
652 (struct nesting_info): Mark with GTY. Mark var_map's param is struct
653 var_map_elt.
654 (lookup_field_for_decl): Allocate new element in GC memory.
655 (lookup_tramp_for_decl): Likewise.
656 (convert_nl_goto_reference): Likewise
657 (create_nesting_tree): Allocate info in GC memory. Likewise for
658 info->var_map.
659 (free_nesting_tree): Free with ggc_free instead of free.
660 (root): New static variable.
661 (lower_nested_functions): Remove root as local variable. And zero out
662 root at the end of the function.
663
f805670f
R
6642005-09-02 J"orn Rennecke <joern.rennecke@st.com>
665
666 PR rtl-optimization/20365
667 * simplify-rtx.c (simplify_plus_minus_op_data): Change type of neg
668 to short. New member ix.
669 (simplify_plus_minus_op_data_cmp): Break ties using ix member.
670 (simplify_plus_minus): Initialize ix members before calling qsort.
671
b8c4f9a4
ZD
6722005-09-02 Zdenek Dvorak <dvorakz@suse.cz>
673
674 PR tree-optimization/23626
675 * tree-cfg.c (replace_uses_by): Clean up eh info.
676
73eb8cb6
DD
6772005-09-01 DJ Delorie <dj@redhat.com>
678
679 * config/m32c/m32c.c (m32c_valid_pointer_mode): Remove stray debug
680 fprintf.
681
13e2e16e
DE
6822005-09-01 David Edelsohn <edelsohn@gnu.org>
683
684 * config/rs6000/rs6000.c (setup_incoming_varargs): Set MEM_NOTRAP_P.
685 (rs6000_split_multireg_move): Use replace_equiv_address instead of
686 gen_rtx_MEM.
687
52d09157
CR
6882005-09-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
689
690 * c-decl.c (diagnose_mismatched_decls): With -Wredundant-decls,
691 do not issue warning for a variable definition following
692 a declaration.
693
277fc67e
RH
6942005-09-01 Richard Henderson <rth@redhat.com>
695
696 PR 23668
697 * config/i386/i386.c (ix86_expand_vector_init_one_var): Restore
698 conversion to CONST_VECTOR.
699
e3947b34
RH
7002005-09-01 Richard Henderson <rth@redhat.com>
701
702 PR 23676
703 * reload1.c (reload_as_needed): Check !CALL_P before calling
704 fixup_eh_region_note.
705 * rtlanal.c (may_trap_p): SUBREG by itself cannot trap.
706
056061d8
DD
7072005-09-01 DJ Delorie <dj@redhat.com>
708
709 * varasm.c (output_constant): Let the target resolve
710 conversions of addresses to non-default pointer sizes.
711
86805759
NP
7122005-09-01 Nicolas Pitre <nico@cam.org>
713
714 * config/arm/arm.c (arm_legitimize_address): Split absolute addresses
715 to alow matching ARM pre-indexed addressing mode.
716 (arm_override_options): Remove now irrelevant comment.
717
d442d7d9
PE
7182005-09-01 Phil Edwards <phil@codesourcery.com>
719
720 * config.gcc (i*86-wrs-vxworks): Update. Split out vxworksae target.
721 * config/i386/t-vxworks: Update multilibs for VxWorks 6 and RTP mode.
722 * config/i386/vxworks.h: Likewise.
723 * config/i386/t-vxworksae: New file, for VxWorks AE.
724 * config/i386/vxworksae.h: Likewise.
725
ab02cc4e
SP
7262005-09-01 Sebastian Pop <pop@cri.ensmp.fr>
727
728 PR tree-optimization/23410
729 * tree-ssa-loop-niter.c (scev_probably_wraps_p): Check that the
730 sequence is not wrapping during the first step.
731
ac156e91
JJ
7322005-09-01 Jakub Jelinek <jakub@redhat.com>
733
734 PR debug/7241
735 * dwarf2out.c (base_type_die): Compare char_type_node with
736 TYPE_MAIN_VARIANT (type), not type.
737
355866de
RG
7382005-09-01 Richard Guenther <rguenther@suse.de>
739
740 PR tree-optimization/15366
741 * common.opt: Add -finline-functions-called-once.
742 Put -fearly-inlining in alphabetically ordered place.
743 * doc/invoke.texi: Document new option.
744 * ipa-inline.c (cgraph_decide_inlining): Honour
745 flag_inline_functions_called_once.
746
95c37cdb
JJ
7472005-09-01 Jakub Jelinek <jakub@redhat.com>
748
749 PR rtl-optimization/23478
750 * local-alloc.c (struct qty): Add n_throwing_calls_crossed field.
751 (alloc_qty): Initialize it.
752 (update_equiv_regs): Clear REG_N_THROWING_CALLS_CROSSED.
753 (combine_regs): Combine also n_throwing_calls_crossed fields.
754 (find_free_reg): Don't attempt to caller-save pseudos crossing
755 calls that might throw.
756 * global.c (struct allocno): Add throwing_calls_crossed field.
757 (global_alloc): Revert 2005-08-22 change. Initialize
758 throwing_calls_crossed.
759 (find_reg): Don't attempt to caller-save pseudos crossing calls that
760 might throw.
761
1990cd79
AM
7622005-09-01 Alan Modra <amodra@bigpond.net.au>
763
764 PR target/23649
765 * config/rs6000/predicates.md (mask_operand): Only handle rlwinm masks.
766 (mask64_operand): Reinstate code prior to 2005-06-11 change.
767 (mask64_2_operand): Reinstate code prior to 2004-11-11 change.
768 (and64_2_operand): Tweak to use predicate.
769 (and_operand): Adjust for mask_operand changes.
770 * config/rs6000/rs6000.c (num_insns_constant): Revert 2005-06-11.
771 (print_operand): Likewise.
772 (rs6000_rtx_costs): Pass mode to mask_operand and use mask64_operand.
773 (mask64_1or2_operand): Delete.
774 * rs6000/rs6000-protos.h (mask64_1or2_operand): Delete.
775 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT <S>): Revert 2005-06-11.
776 (EXTRA_CONSTRAINT <T>): Pass operand mode to predicate.
777 (EXTRA_CONSTRAINT <t>): Disallow mask64_operand matches.
778 * config/rs6000/rs6000.md (andsi3_internal3 split): Revert 2005-06-11.
779 (rotldi3_internal4): Likewise.
780 (rotldi3_internal5, rotldi3_internal5 split): Likewise.
781 (rotldi3_internal6, rotldi3_internal6 split): Likewise.
782 (ashldi3_internal7): Likewise.
783 (ashldi3_internal8, ashldi3_internal8 split): Likewise.
784 (ashldi3_internal, ashldi3_internal9 split): Likewise.
785 (anddi3 split): Don't match mask64_operand.
786 (anddi3_internal2): Add rlwinm. Modify 't' splitter predicate.
787 (anddi3_internal3): Add rlwinm. Use and64_2_operand in non-cr0
788 splitter and match TARGET_64BIT not TARGET_POWERPC64. Modify
789 't' splitter predicate.
790 (movdi_internal64 + 2): Revert 2005-06-11 change.
791
e9555b13
DD
7922005-08-31 DJ Delorie <dj@redhat.com>
793
794 * config/m32c/m32c.c (m32c_valid_pointer_mode): New.
795 (m32c_asm_integer): Add support for 32 bit pointers.
796
8476af98
RH
7972005-08-31 Richard Henderson <rth@redhat.com>
798
799 * emit-rtl.c (set_mem_attributes_minus_bitpos): Look through
800 component-like references for setting MEM_NOTRAP_P.
801
802 * config/i386/i386.c (ix86_setup_incoming_varargs): Set MEM_NOTRAP_P.
803 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Likewise.
804
0fd662ee
RH
8052005-08-31 Richard Henderson <rth@redhat.com>
806
807 * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Force subregs
808 into a pseudo before applying gen_lowpart.
809
960ac6e1
GK
8102005-08-31 Geoffrey Keating <geoffk@apple.com>
811
812 * doc/install.texi (Specific): Update cctools version required
813 for full functionality.
814 * config/darwin.h (LINK_SPEC): Pass -mmacosx-version-min to the
815 linkers as -macosx_version_min.
816
4802062c
R
8172005-08-31 J"orn Rennecke <joern.rennecke@st.com>
818
819 PR target/21255
820 * sh.c (print_operand, %R and %S): Add handling of floating point
821 registers, memory, constants and invalid operands.
822
d4feded7
DB
8232005-08-31 Daniel Berlin <dberlin@dberlin.org>
824
825 * ipa-pure-const.c: Change dump name.
826
d16093fd
UB
8272005-08-31 Uros Bizjak <uros@kss-loka.si>
828
829 PR target/23570
830 * config/i386/sse.md (*sse_concatv2sf): Change operand 2 constraint
831 to "reg_or_0_operand".
832 (sse2_loadld): Change operand 1 constraint to "reg_or_0_operand".
833
c9eb8097
DJ
8342005-08-31 Dale Johannesen <dalej@apple.com>
835
836 * loop-iv.c (iv_number_of_iterations): Fix overflow check for
837 loops that count down.
838
be0c514c
RH
8392005-08-31 Richard Henderson <rth@redhat.com>
840
35210087 841 PR rtl-opt/23601
be0c514c
RH
842 * reload1.c (reload): Set MEM_NOTRAP_P in spill slots.
843 (fixup_eh_region_note): New.
844 (reload_as_needed): Call it.
845 (fixup_abnormal_edges): Allow all throwing insns to be deleted;
846 don't call find_many_sub_basic_blocks; call verify_flow_info.
847 * function.c (assign_stack_local_1): Set MEM_NOTRAP_P.
848 (keep_stack_depressed): Likewise.
849 (assign_stack_temp_for_type): Likewise; use adjust_address_nv.
850
5d3018ce
RH
8512005-08-31 Richard Henderson <rth@redhat.com>
852
853 * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix test for
854 fp return matching.
855
dc38a610
FJ
8562005-08-31 Fariborz Jahanian <fjahanian@apple.com>
857
858 * expr.c (expand_expr_real_1): Compare size of address
859 mode to target's address mode size in deciding expansion of
860 the constant address.
861
c5250139
RG
8622005-08-31 Richard Guenther <rguenther@suse.de>
863
864 PR middle-end/23477
865 * expr.c (all_zeros_p): New function.
866 (expand_expr_real_1): Handle the case of an all-zero
867 non-addressable constructor separately.
868
ab173928
AS
8692005-08-31 Adrian Straetling <straetling@de.ibm.com>
870
871 * builtins.c: (expand_builtin_strcpy, expand_builtin_strcat): Change
872 arguments, adjust all callers.
873 (expand_builtin_strcat): Rewrite to call strcpy instead of mempcpy.
874
fabaaf36
RH
8752005-08-30 Richard Henderson <rth@redhat.com>
876
877 PR target/23630
878 * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Use gen_lowpart
879 whenever the mode sizes match.
880
40b0345d
AM
8812005-08-31 Alan Modra <amodra@bigpond.net.au>
882
883 * calls.c (load_register_parameters): Fix comment typo.
884 * expr.c (emit_push_insn): Comment formatting.
885
c2e493dc
ILT
8862005-08-30 Ian Lance Taylor <ian@airs.com>
887
888 * config/i386/x-cygwin (host-cygwin): Change dependency from
889 hosthooks-def.h to $(HOSTHOOKS_DEF_H).
890
9fc5fa7b
GK
8912005-08-29 Geoffrey Keating <geoffk@apple.com>
892
893 * config/i386/i386.c (ix86_expand_vector_init_one_var): Don't modify
894 parts of 'vals'.
895
f471f0fc 8962005-08-29 Andrew Pinski <pinskia@physics.uc.edu>
57247f4b
AP
897
898 PR middle-end/23408
899 * ipa-inline.c (cgraph_decide_inlining_incrementally): Remove the
900 call to ggc_collect.
901
f471f0fc 9022005-08-29 Paolo Bonzini <bonzini@gnu.org>
3a6ebcdc
PB
903
904 PR bootstrap/21268
905 * Makefile.in (ALL_CPPFLAGS): Include $(INCLUDES) at the
906 beginning. Remove $(INCLUDES) from all the rules, if following
907 $(ALL_CPPFLAGS) or $(BUILD_CPPFLAGS).
908
f28d3046
JJ
9092005-08-29 Jakub Jelinek <jakub@redhat.com>
910
911 PR middle-end/23484
912 * builtins.c (fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
913 fold_builtin_strncpy_chk, fold_builtin_snprintf_chk): If len is
914 not constant, but maxlen is, don't set len to maxlen, rather
915 set maxlen to len if len is a constant.
916
37261a5c
ZD
9172005-08-29 Zdenek Dvorak <dvorakz@suse.cz>
918
919 PR tree-optimization/23475
920 * tree-ssa-loop-ivcanon.c (remove_empty_loop): Update frequencies
921 and counts.
922
46c5394b
DB
9232005-08-28 Daniel Berlin <dberlin@dberlin.org>
924
925 Fix PR middle-end/22455
926
927 * fold-const.c (fold_checksum_tree): Adjust for now-largest tree size.
928 Checksum only the parts of the tree that exist for the tree code.
929
ea407814
DJ
9302005-08-28 Dale Johannesen <dalej@apple.com>
931
932 * config/i386/i386.c (nocona_cost): Increase MOVE_RATIO.
933
87e71ff4
AP
9342005-08-28 Andrew Pinski <pinskia@physics.uc.edu>
935
936 * tree-vrp.c: Remove obsolete comment in front of vrp_initialize.
937
490272b4
RH
9382005-08-28 Richard Henderson <rth@redhat.com>
939
940 * stor-layout.c (finalize_type_size): Revert workaround from 08-26.
941 * tree.c (make_node_stat): Use BITS_PER_UNIT instead of alignment
942 of char_type_node.
943
a6017253
JJ
9442005-08-28 Jakub Jelinek <jakub@redhat.com>
945
946 PR ada/23593
947 * builtins.c (get_memory_rtx): Don't strip nops
948 in between COMPONENT_REFs.
949
412f8986
AP
9502005-08-27 Andrew Pinski <pinskia@physics.uc.edu>
951
952 PR middle-end/23463
953 * gimplify.c (gimplify_modify_expr_rhs): Remove check for zero sized
954 types.
955 (gimplify_modify_expr): Check for zero sized types and gimplify the
956 rhs and lhs as statements.
957
147a8fb1
JDA
9582005-08-27 John David Anglin <dave.anflin@nrc-cnrc.gc.ca>
959
960 PR libgcj/23508
961 * pa/linux-unwind.h (pa32_fallback_frame_state): Use r0 slot in frame
962 state for return address column of signal frames.
963
ec53fc93
DE
9642005-08-27 David Edelsohn <edelsohn@gnu.org>
965
966 PR target/23539
fabaaf36
RH
967 * config/rs6000/rs6000.c (expand_block_clear): Use HImode when
968 bytes >= 2 not bytes == 2.
ec53fc93
DE
969 (expand_block_move): Same.
970
f013cadc
RG
9712005-08-27 Richard Guenther <rguenther@suse.de>
972
973 PR target/23575
974 * config/i386/sse.md (sse2_movsd): Add missing closing
975 braces.
976
0cd6c85a
PB
9772005-08-27 Paul Brook <paul@codesourcery.com>
978
979 * genrecog.c (enum decision_type): Add DT_num_insns.
980 (struct decision_test): Add u.num_insns.
981 (add_to_sequence): Add DT_num_insns test.
982 (maybe_both_true_2, nodes_identical_1): Handle DT_num_insns.
983 (write_cond, debug_decision_2): Ditto.
984 (change_state): Assume peep2_next_insn never fails.
985 Remove "afterward" argument.
986 (write afterward, write_tree): Update to match.
987 * recog.c (peep2_current_count): New variable.
988 (peep2_next_insn): Check it.
989 (peephole2_optimize): Set peep2_current_count.
990 * recog.h (peep2_current_count): Declare.
991
1b0d2d17
JC
9922005-08-26 Josh Conner <jconner@apple.com>
993
994 PR middle-end/23584
995 * ipa-pure-const.c (check_tree): Check for volatile-ness
996 when considering a dereference.
997
24b7d7c3
JJ
9982005-08-27 Jakub Jelinek <jakub@redhat.com>
999
1000 * rtl.h (MEM_IN_STRUCT_P): Fix comment typo.
1001
435bb2a1
JJ
10022005-08-26 Jakub Jelinek <jakub@redhat.com>
1003
1004 PR rtl-optimization/23561
1005 * builtins.c (get_memory_rtx): Add LEN argument. If MEM_EXPR is
1006 a COMPONENT_REF, remove all COMPONENT_REF from MEM_EXPR unless
1007 at most LEN bytes long memory fits into the field.
1008 (expand_builtin_memcpy, expand_builtin_mempcpy, expand_movstr,
1009 expand_builtin_strncpy, expand_builtin_memset, expand_builtin_memcmp,
1010 expand_builtin_strcmp, expand_builtin_strncmp): Adjust callers.
1011
52e772ba
RH
10122005-08-26 Richard Henderson <rth@redhat.com>
1013
1014 PR rtl-opt/23560
1015 * loop.c (biased_biv_may_wrap_p): New.
1016 (maybe_eliminate_biv_1): Use it to suppress non-equality
1017 comparison transformations. Delete disabled code.
1018
8f34bde6
ILT
10192005-08-26 Ian Lance Taylor <ian@airs.com>
1020
1021 * combine.c (make_extraction): Avoid reference outside object.
1022
d6cde480
R
10232005-08-26 J"orn Rennecke <joern.rennecke@st.com>
1024
1025 * stor-layout.c (finalize_type_size): Restore behaviour for
1026 non-aggregate types to the status quo ante of the patch for
1027 pr 23467. Document why it matters.
1028
39627fed
JJ
10292005-08-26 Jakub Jelinek <jakub@redhat.com>
1030
1031 PR c/23506
1032 * c-common.c (c_common_nodes_and_builtins): Increase builtin_types
1033 array by one element, initialize the BT_LAST element with NULL.
1034
297abd0d
DE
10352005-08-26 David Edelsohn <edelsohn@gnu.org>
1036
1037 * config/rs6000/rs6000.md (eq<mode>_compare): Only enable when
1038 optimizing for size.
1039 (plus_eqsi): Same.
1040 (compare_plus_eqsi): Same.
1041 (plus_eqsi_compare): Same.
1042 (neg_eq0<mode>): Same.
1043 (neg_eq<mode>): Same.
1044
1045 * config/rs6000/aix52.h (PROCESSOR_DEFAULT): Change to
1046 PROCESSOR_POWER4.
1047
2ec6cd51
NC
10482005-08-26 Nick Clifton <nickc@redhat.com>
1049
1050 * config/v850/v850.c (ep_memory_operand): Return FALSE if
1051 TARGET_EP is not defined.
1052 * config/v850/c850.h (TARGET_CPU_CPP_BUILTINS): Define __EP__ if
1053 TARGET_EP is enabled.
1054 (OPTIMIZATION_OPTIONS): Do not define MASK_EP when optimizing.
1055 * config/v850/v850.md (save_all_interrupt): Only use the EP
1056 register if TARGET_EP is defined.
1057 (restore_all_interrupt): Likewise.
1058 * config/v850/lib1funcs.asm: Update functions so that the EP
1059 register is only used if __EP__ is defined.
1060
e296c00c
DU
10612005-08-26 David Ung <davidu@mips.com>
1062
1063 * config/mips/mips.c (mips_expand_prologue): Handle case when
1064 generating for MIPS16 and the outgoing argument area is more than
1065 SMALL_OPERAND. Use the frame pointer as temporary to generate the
1066 add instruction.
1067
55d61dba
PW
10682005-08-26 Paul Woegerer <paul.woegerer@nsc.com>
1069
1070 * config/crx/crx.md: Make doloop_end pattern usage controllable
1071 via mloop-nesting=<max-nesting> command line switch. Make sure
1072 the combiner cannot use doloop_end_<mode> in an illegal way.
1073 * config/crx/crx.c: Use regs up to r6 for argument passing.
1074 Refine crx_address_cost (non cst4 displacements are expensive).
1075 * config/crx/crx.opt: Add switch for mloop-nesting=.
1076
742090fc
AS
10772005-08-26 Adrian Straetling <straetling@de.ibm.com>
1078
1079 * config/s390/s390.md: ("movstr", "*movstr"): Add patterns.
1080 (UNSPEC_MVST): New constant.
1081
db21e1d0
AK
10822005-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
1083
1084 * config/s390/predicates.md ("shift_count_operand", "setmem_operand"):
1085 Reject operands containing eliminable registers.
1086 * testsuite/gcc.dg/20050825-1.c: New testcase.
1087
0621d71a
PB
10882005-08-24 Paolo Bonzini <bonzini@gnu.org>
1089 Jan Hubicka <jh@suse.cz>
1090
1091 * regmove.c (reg_is_remote_constant_p): Reorganize to not use log links.
1092
e2889823
PB
10932005-08-24 Paolo Bonzini <bonzini@gnu.org>
1094
1095 PR tree-optimization/23546
1096 * tree-ssa-loop-im.c (for_each_index): Handle INTEGER_CST
1097 and REAL_CST nodes.
1098
6f48c21a
PS
10992005-08-24 Pete Steinmetz <steinmtz@us.ibm.com>
1100
1101 * params.def (PARAM_MIN_SPEC_PROB): New.
1102 * sched-rgn.c (MIN_PROBABILITY): Delete.
1103 (compute_trg_info): Convert to PARAM_VALUE.
1104 * doc/invoke.texi (param): Document min-spec-prob.
1105
1a1e6a9d
FJ
11062005-08-24 Fariborz Jahanian <fjahanian@apple.com>
1107
1108 * config/darwin.h: define __PIC__
1109 * config/rs6000/darwin.h: Add SUBTARGET_OS_CPP_BUILTINS to
1110 TARGET_OS_CPP_BUILTINS macro.
1111
130869aa
PB
11122005-08-24 Paolo Bonzini <bonzini@gnu.org>
1113
1114 * config/rs6000/rs6000.md: Fix thinko in the peephole2 I added
1115 yesterday.
1116
b9a66240
ZD
11172005-08-24 Zdenek Dvorak <dvorakz@suse.cz>
1118
1119 * bb-reorder.c (copy_bb, duplicate_computed_gotos): Add argument
1120 to duplicate_block.
1121 * cfghooks.c (duplicate_block): Added position where to place
1122 new block as argument.
1123 * cfghooks.h (duplicate_block): Declaration changed.
1124 * cfglayout.c (copy_bbs): Add argument after. Pass it to
1125 duplicate_block.
1126 * cfglayout.h (copy_bbs): Declaration changed.
1127 * cfgloop.h (loop_version): Declaration changed.
1128 * cfgloopmanip.c (duplicate_loop_to_header_edge): Pass
1129 position to copy_bbs.
1130 (loop_version): Pass position to duplicate_loop_to_header_edge.
1131 Add place_after argument and position new blocks according to
1132 it.
1133 * modulo-sched.c (sms_schedule): Pass place_after argument
1134 to loop_version.
1135 * tracer.c (tail_duplicate): Pass argument to duplicate_block.
1136 * tree-cfg.c (split_edge_bb_loc): New function.
1137 (tree_split_edge, tree_duplicate_sese_region): Use split_edge_bb_loc
1138 to determine position of new blocks.
1139 * tree-ssa-loop-unswitch.c (tree_unswitch_loop): Pass argument
1140 to loop_version.
1141 * tree-ssa-threadupdate.c (create_block_for_threading): Pass
1142 argument to duplicate_block.
1143 * tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg):
1144 Pass position to copy_bbs.
1145
87de2376
ZD
11462005-08-24 Zdenek Dvorak <dvorakz@suse.cz>
1147
1148 * fold-const.c (ptr_difference_const): Use
1149 cst_and_fits_in_hwi instead of host_integerp.
1150
14a07c92
PB
11512005-08-24 Paolo Bonzini <bonzini@gnu.org>
1152
1153 * config/darwin.c (gen_pic_offset): New.
1154 (machopic_indirect_data_reference, machopic_legitimize_pic_address):
1155 Use it.
1156
d49195a3
ZD
11572005-08-23 Zdenek Dvorak <dvorakz@suse.cz>
1158
1159 PR tree-optimization/23486
1160 * tree-ssa-loop.c (pass_scev_cprop): Add TODO_update_ssa_only_virtuals.
1161
2eab15c9
PE
11622005-08-23 Phil Edwards <phil@codesourcery.com>
1163
1164 * config.gcc (*-*-vxworks*): Update tm_file, add extra_options,
1165 remove use_collect2.
1166 (powerpc-wrs-vxworks): Update, split out *-*-vxworksae target.
1167
1168 * target-def.h (TARGET_HAVE_CTORS_DTORS): Allow target
1169 configuration files to override the default value.
1170
1171 * config/t-vxworks: Remove INSTALL_ASSERT_H. Define STMP_FIXPROTO,
1172 EXTRA_HEADERS, and EXTRA_MULTILIB_PARTS.
1173 * config/vx-common.h: New file, split out from...
1174 * config/vxworks.h: here. Update for VxWorks 6.x and RTP mode.
1175 * config/vxworksae.h: New file, for VxWorks AE.
1176 * config/vxworks.opt: New file.
1177 * config/vxlib.c: Update for VxWorks 6.
1178
1179 * config/rs6000/t-vxworks (MULTILIB_OPTIONS): New list. Adjust
1180 other MULTILIB_* variables appropriately.
1181 (LIB2FUNCS_EXTRA, EXTRA_MULTILIB_PARTS): Correct from t-ppccomm.
1182 * config/rs6000/t-vxworksae: New file, adjust multilibs for AE.
1183 * config/rs6000/vxworks.h: Update for VxWorks 6.
1184 * config/rs6000/vxworksae.h: New file, mostly placeholder for now.
1185
2501b167
AP
11862005-08-23 Andrew Pinski <pinskia@physics.uc.edu>
1187
1188 PR target/20799
1189 * config/darwin.c (machopic_select_section): Remove the hack to
1190 mark "::operator new" and "::operator delete" for coalescing
1191 even though they are not weak.
1192
d82bf747
AM
11932005-08-24 Alan Modra <amodra@bigpond.net.au>
1194
1195 * configure.ac (HAVE_LD_NO_DOT_SYMS): Set for powerpc-linux biarch.
1196 * configure: Regenerate.
1197
4d3c798d
PB
11982005-08-23 Paolo Bonzini <bonzini@gnu.org>
1199
1200 PR middle-end/23517
1201 * fold-const.c (fold_convert): Use VIEW_CONVERT_EXPR to convert
1202 between vectors.
1203 * convert.c (convert_to_integer, convert_to_vector): Likewise.
1204 * tree-vect-generic.c (tree_vec_extract, expand_vector_operations_1):
1205 Likewise.
1206
28d0e143
PB
12072005-08-23 Paolo Bonzini <bonzini@gnu.org>
1208
1209 * config/rs6000/predicates.md (equality_operator): New.
1210 * config/rs6000/rs6000.md: Rewrite as a peephole2 the split for
1211 comparison with a large constant.
1212
6194fd98
MM
12132005-08-23 Mark Mitchell <mark@codesourcery.com>
1214
1215 * hwint.h (HOST_WIDE_INT_PRINT): Use HOST_LONG_LONG_FORMAT.
1216
39d67d5b
R
12172005-08-23 J"orn Rennecke <joern.rennecke@st.com>
1218
a11c004b
R
1219 * sh.c (sh_builtin_saveregs): If the number of to-be-saved fp
1220 registers is even, and we have a hardware double precision fp,
1221 align the buffer.
1222 (sh_gimplify_va_arg_expr): For floating point arguments, consider
1223 size of current argument when checking if argument was passed in
1224 registers.
1225
1226 * sh.c (sh_attr_renesas_p): Handle error_mark_node.
1227
39d67d5b
R
1228 PR middle-end/23467
1229 * stor-layout.c (finalize_type_size): Dont override
1230 existing alignment with a smaller alignment from the mode.
1231
37b8a73b
SP
12322005-08-23 Sebastian Pop <pop@cri.ensmp.fr>
1233
1234 * lambda-code.c (lambda_vector_lexico_pos): Moved...
1235 * lambda.h (lambda_vector_lexico_pos): ... here.
1236 * tree-data-ref.c (build_classic_dist_vector): Return false when
1237 the distance vector is lexicographically negative.
1238
ce8f9416
SP
12392005-08-23 Sebastian Pop <pop@cri.ensmp.fr>
1240
1241 PR tree-optimization/23511
1242 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Don't
1243 handle cases where TYPE_MIN_VALUE or TYPE_MAX_VALUE are NULL_TREE.
1244
73ed17ff
JJ
12452005-08-23 Jakub Jelinek <jakub@redhat.com>
1246
1247 PR tree-optimization/22043
1248 * tree.h (count_type_elements): Add ALLOW_FLEXARR argument.
1249 * expr.c (count_type_elements): Add ALLOW_FLEXARR argument.
1250 If ALLOW_FLEXARR, handle types ending with flexible array member.
1251 Pass false as second argument to recursive count_type_elements calls.
1252 (categorize_ctor_elements_1, mostly_zeros_p): Pass false as second
1253 argument to count_type_elements call.
1254 * tree-sra.c (decide_block_copy): Likewise.
1255 * gimplify.c (gimplify_init_constructor): If num_type_elements < 0
1256 for a constant-sized object, set cleared as well. Pass true as
1257 second argument to count_type_elements call.
1258
18b10a72
AM
12592005-08-23 Alan Modra <amodra@bigpond.net.au>
1260
1261 PR target/21571
1262 * config/rs6000/rs6000.c (rs6000_legitimate_small_data_p): Rename
1263 from legitimate_small_data_p, and make global. Update use.
1264 Remove forward declaration.
1265 * config/rs6000/rs6000-protos.h (rs6000_legitimate_small_data_p):
1266 Declare.
1267 * config/rs6000/rs6000.md (movdf_hardfloat32): Allow small data mems.
1268
d0515b39
DE
12692005-08-23 David Edelsohn <edelsohn@gnu.org>
1270
1271 * config/rs6000/rs6000.md (eq<mode>): Use output operand instead
1272 of scratch intermediates.
1273 (eq<mode>_compare): Same.
1274 (neg_eq0<mode>): New.
1275 (neg_eq<mode>): Convert to define_insn_and_split.
1276
c1fa753e
AM
12772005-08-23 Alan Modra <amodra@bigpond.net.au>
1278
1279 PR target/23070
1280 * config/rs6000/rs6000.c (function_arg): For ABI_V4 calls to
1281 stdarg functions, set/clear the fp marker even when no variable
1282 args are passed.
1283 * config/rs6000/sysv4.opt (mprototype): Describe.
1284
27004606
JJ
12852005-08-22 Jakub Jelinek <jakub@redhat.com>
1286
1287 PR rtl-optimization/23478
1288 * regs.h (reg_info): Add throw_calls_crossed.
1289 (REG_N_THROWING_CALLS_CROSSED): Define.
1290 * flow.c (allocate_reg_life_data): Initialize
1291 REG_N_THROWING_CALLS_CROSSED.
1292 (propagate_one_insn, attempt_auto_inc): Update
1293 REG_N_THROWING_CALLS_CROSSED.
1294 * global.c (global_alloc): Don't allocate pseudos across
1295 calls that may throw.
1296
201ae393
AP
12972005-08-22 Andrew Pinski <pinskia@physics.uc.edu>
1298
1299 PR c/18715
1300 * c-common.c (c_do_switch_warnings): Look for a node where the enum's
1301 value is inbetween the range if we did not find an exact match.
1302
c85ba4fb
AH
13032005-08-22 Aldy Hernandez <aldyh@redhat.com>
1304
1305 * doc/invoke.texi (Option Summary): Add ms1 options.
1306 * doc/extend.texi: Document interrupt handler attribute for ms1.
1307 * doc/md.texi: Document ms1 constraints.
1308 * config.gcc: Add ms1-*-elf.
1309 * config/ms1/ms1.h: New.
1310 * config/ms1/ms1.c: New.
1311 * config/ms1/ms1.md: New.
1312 * config/ms1/ms1-protos.h: New.
1313 * config/ms1/ABI.txt: New.
1314 * config/ms1/crti.asm: New.
1315 * config/ms1/crtn.asm: New.
1316 * config/ms1/lib2extra-funcs.c: New.
1317 * config/ms1/t-ms1: New.
1318 * config/ms1/ms1.opt: New.
1319
70a39602
IR
13202005-08-22 Ira Rosen <irar@il.ibm.com>
1321
1322 * config/rs6000/altivec.md (xorv4sf3): New.
1323 (negv4sf2, neg<mode>2): Likewise.
1324
85199961
L
13252005-08-21 H.J. Lu <hongjiu.lu@intel.com>
1326
1327 PR target/23485
1328 * config/ia64/ia64.md (divsi3): Check divide by zero.
1329 (udivsi3): Likewise.
1330 (divdi3): Likewise.
1331 (udivdi3): Likewise.
1332
1125164c
JJ
13332005-08-21 Jakub Jelinek <jakub@redhat.com>
1334
1335 * simplify-rtx.c (simplify_immed_subreg) <case CONST_DOUBLE>: Only clear
1336 up to elem_bitsize bits, not max_bitsize.
1337
3c0c8f9d
SP
13382005-08-21 Sebastian Pop <pop@cri.ensmp.fr>
1339
1340 PR tree-optimization/23433
85199961
L
1341 * tree-chrec.c (chrec_apply): Translate INTEGER_CST to a
1342 REAL_CST when the type is SCALAR_FLOAT_TYPE_P.
3c0c8f9d 1343
a1596edc
SP
13442005-08-21 Sebastian Pop <pop@cri.ensmp.fr>
1345
1346 PR tree-optimization/23434
85199961
L
1347 * tree-ssa-loop-niter.c (proved_non_wrapping_p): Give up when
1348 the iteration bound is not an INTEGER_CST.
a1596edc 1349
429268fc
DN
13502005-08-21 Dorit Nuzman <dorit@il.ibm.com>
1351
1352 * tree-vect-transform.c (get_initial_def_for_reduction): Set
1353 need_epilog_adjust back to false for MIN/MAX case. Set *scalar_def to
1354 NULL if need_epilog_adjust is false.
1355 (vect_create_epilog_for_reduction): Variable adjust_in_epilog removed.
1356 Case 3 always peels first itration, not just for PLUS case, and no need
1357 to use scalar_initial_def here. Create an epilog adjustment only if
1358 scalar_initial_def is not NULL.
1359
1360 (vectorizable_reduction): Remove assert.
1361
eea1d14a
L
13622005-08-20 H.J. Lu <hongjiu.lu@intel.com>
1363
1364 PR target/23485
1365 * config/ia64/lib1funcs.asm (__divdi3): Check divide by zero.
1366 (__moddi3): Likewise.
1367 (__udivdi3): Likewise.
1368 (__umoddi3): Likewise.
1369 (__divsi3): Likewise.
1370 (__modsi3): Likewise.
1371 (__udivsi3): Likewise.
1372 (__umodsi3): Likewise.
1373
5e34206b
JJ
13742005-08-20 Jakub Jelinek <jakub@redhat.com>
1375
1376 * tree-pass.h (TDF_GRAPH): Define.
1377 * tree-dump.c (dump_options): Don't set TDF_GRAPH in "all".
1378 * passes.c (finish_optimization_passes): Only call
1379 finish_graph_dump_file if TDF_GRAPH is set.
1380 (execute_one_pass): Only call clean_graph_dump_file if dump_file !=
1381 NULL. Set TDF_GRAPH bit.
1382 (execute_todo): Call print_rtl_graph_with_bb if TDF_GRAPH is set.
1383
2591db65
RE
13842005-08-20 Richard Earnshaw <richard.earnshaw@arm.com>
1385
1386 * arm.h (arm_stack_offsets): Add locals_base field.
1387 * arm.c (arm_get_frame_offsets): Compute it.
1388 (thumb_compute_initial_elimination offset): Make the Thumb frame
1389 pointer point to the base of the local variables.
1390 (thumb_expand_prologue): Update accordingly.
1391 (thumb_expand_epilogue): Likewise.
1392
1393 * arm.md (thumb_movhi_clobber): Make this insn a define_expand. Change
1394 mode of clobbered scratch to DImode. Handle a case that's known to
1395 need this.
1396
fc437ce9
DE
13972005-08-19 David Edelsohn <edelsohn@gnu.org>
1398
1399 * config/rs6000/rs6000.md (gt0<mode>): Delete.
1400 (gt0<mode>_compare): Delete.
1401 (neg_gt0<mode>): Delete.
1402
c414ac1d
EC
14032005-08-19 Eric Christopher <echristo@apple.com>
1404
1405 * optabs.h: Change CTI_ to COI_.
1406 * optabs.c: Ditto.
1407
c8f27794
JW
14082005-08-19 James E Wilson <wilson@specifix.com>
1409
1410 * builtins.c (expand_builtin_return_addr): Set
1411 current_function_accesses_prior_frames when count != 0. Use
1412 frame_pointer_rtx when count == 0.
1413 * function.h (struct function): Add accesses_prior_frames field.
1414 (current_function_accesses_prior_frames): Define.
1415 * reload1.c (init_elim_table): Check
1416 current_function_accesses_prior_frames.
1417 * doc/tm.texi (INITIAL_FRAME_ADDRESS_RTX): Update docs.
1418
e3594cb3
DN
14192005-08-19 Diego Novillo <dnovillo@redhat.com>
1420
1421 * tree-cfgcleanup.c (cleanup_tree_cfg): Fix flowgraph change
1422 indicator. Return true if the flowgraph changed during
1423 cleanup.
1424
52270a3c
DN
14252005-08-19 Diego Novillo <dnovillo@redhat.com>
1426
1427 PR 23476
1428 * tree-cfgcleanup.c (cleanup_control_expr_graph): Fold the
1429 conditional expression before testing its value.
1430
5c1c631e
DN
14312005-08-19 Diego Novillo <dnovillo@redhat.com>
1432
1433 * doc/invoke.texi: Fix documentation for -ftree-dominator-opts.
1434
3d91803a
DP
14352005-08-19 Devang Patel <dpatel@apple.com>
1436
1437 PR tree-optimization/23048
1438 * tree-if-conv.c (if_convertible_bb_p): Supply basic_block as
1439 third parameter. Check whether latch is dominated by exit
1440 block or not.
1441 (if_convertible_loop_p): Supply exit block itself to
1442 if_convertible_bb_p.
c414ac1d 1443
e55ef7f4
RE
14442005-08-19 Richard Earnshaw <richard.earnshaw@arm.com>
1445
1446 PR target/23473
1447 * arm.md (arm_load_pic_register): Change argument to the mask of
c414ac1d 1448 saved registers. Call thumb_find_work_register if we need a
e55ef7f4 1449 scratch register on Thumb.
c414ac1d 1450 (arm_expand_prologue): Pass empty register set to
e55ef7f4
RE
1451 arm_load_pic_register.
1452 (thumb_expand_prologue): Pass live_regs_mask directly to
1453 arm_load_pic_register.
1454 * arm-protos.h (arm_load_pic_register): Update prototype.
1455
d102596b
JR
14562005-08-19 J"orn Rennecke <joern.rennecke@st.com>
1457
1458 * sh.c (find_sole_member): New function.
1459 (sh_gimplify_va_arg_expr): Use it. Allow RECORD_TYPE mode mismatch
1460 if the record's alignment is larger than the size of its only member.
1461
a132dad6
RE
14622005-08-19 Richard Earnshaw <richard.earnshaw@arm.com>
1463
1464 PR target/23436
1465 * arm.c (thumb_legitimize_reload_address): New function.
1466 * arm-protos.h (thumb_legitimize_reload_address): Add prototype.
1467 * arm.h (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Call it.
1468
4221d00a
PW
14692005-08-19 Paul Woegerer <paul.woegerer@nsc.com>
1470
1471 * config/crx/crx.c: Implement crx_decompose_address. Reject
1472 symbolic displacements since CRX register relative adressing
1473 mode can't handle unsigned 32-bit values as displacements.
1474 * config/crx/crx.h: Simplify definitions, remove redundant
1475 parenthesis and obsolete macros.
1476 * config/crx/crx.opt: Add new switch for debugging addresses.
1477 * config/crx/crx-protos.h: Add new declarations for above.
1478
1581a9a1
AP
14792005-08-19 Andrew Pinski <pinskia@physics.uc.edu>
1480
1481 PR middle-end/20624
1482 * gimple-low.c (block_may_fallthru): Handle CLEANUP_POINT_EXPR by
1483 looking past it.
1484
52a6edcc
KG
14852005-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1486
1487 * collect2.c (dup2): Delete.
1488 * configure.ac: Don't check for dup2.
1489
1490 * config.in, configure: Regenerate.
1491
8a2209bf
R
14922005-08-18 J"orn Rennecke <joern.rennecke@st.com>
1493
1494 * sh.c (sh_gimplify_va_arg_expr): Loop to substitute a RECORD_TYPE
1495 record with the type of its only member.
1496
1e24ce83
DE
14972005-08-18 David Edelsohn <edelsohn@gnu.org>
1498
1499 * config/rs6000/rs6000.md (ltu<mode>_compare): Convert to
1500 define_insn_and_split.
1501 (plus_ltu<mode>_compare): Same.
1502 (gtu<mode>_compare): Same.
1503 (plus_gtu<mode>_compare): Same.
1504
90ff949f
DN
15052005-08-18 Dorit Nuzman <dorit@il.ibm.com>
1506
1507 PR tree-optimization/22228
1e24ce83
DE
1508 * tree-ssa-loop (pass_vectorize): Add TODO_verify_loops to
1509 todo_flags_start.
90ff949f
DN
1510 * tree-vect-transform.c (vect_transform_loop): Mark the variables that
1511 are recorded in vect_vnames_to_rename for renaming.
1512 * tree-vectorizer.c (vect_vnames_to_rename): New global bitmap.
1513 (slpeel_update_phi_nodes_for_guard1): Record virtual vars for renaming
1514 in vect_vnames_to_rename.
1515 (vectorize_loops): Allocate and free the vect_vnames_to_rename bitmap.
1516 * tree-vectorizer.h (vect_vnames_to_rename): New extern variable.
1517
f17db6cd
JH
15182005-08-18 Jan Hubicka <jh@suse.cz>
1519
1520 PR c++/22034
1521 * cgraphunit.c (cgraph_varpool_assemble_pending_decls): Emit debug
1522 info only for local statics, not for member variables.
1523
4286d8ce
VR
15242005-08-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1525
1526 * tree-data-ref.c (analyze_siv_subscript_cst_affine): Fix comment typo.
1527
b06df647
VR
15282005-08-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1529
1530 * c-typeck.c (designator_errorneous): Rename to designator_erroneous.
1531
75634129
AP
15322005-08-18 Andrew Pinski <pinskia@physics.uc.edu>
1533
1534 PR middle-end/16045
1535 * builtins.c (fold_builtin): Create a new NOP_EXPR all the time.
1536
9bc2a5cb
JW
15372005-08-17 James E Wilson <wilson@specifix.com>
1538
1539 * c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
1540 array size check.
1541
a2dba291
DE
15422005-08-17 David Edelsohn <edelsohn@gnu.org>
1543
1544 * config/rs6000/rs6000.md (leu<mode>): Convert to mode macro.
1545 (leu<mode>_compare): Same.
1546 (plus_leu<mode>): Same.
1547 (neg_leu<mode>): Same.
1548 (and_neg_leu<mode): Same.
1549 (ltu<mode>_compare): Same.
1550 (plus_ltu<mode>): Same.
1551 (geu<mode>): Same.
1552 (geu<mode>_compare): Same.
1553 (plus_geu<mode>): Same.
1554 (neg_geu<mode>): Same.
1555 (and_neg_geu<mode>): Same.
1556 (plus_gt<mode>): Same.
1557 (gtu<mode>_compare): Same.
1558 (plus_gtu<mode>): Same.
1559
aa29dfeb 15602005-08-17 Erik Christiansen <erik@dd.nec.com.au>
c414ac1d 1561
aa29dfeb
EC
1562 * config/v850/lib1funcs.asm (callt_save_interrupt): Fix comment typos.
1563 Move call_table_data to end. Delete spurious .text.
1564 (callt_save_all_interrupt): Fix comment typo.
1565
90e0c734
JW
15662005-08-17 James E Wilson <wilson@specifix.com>
1567 Kevin Winchester <winchester@amirix.com>
1568
1569 PR target/21684
1570 * config/mcore/mcore.h (SHIFT_COUNT_TRUNCATED): Define to 0.
1571
87bb8864
UB
15722005-08-17 Uros Bizjak <uros@kss-loka.si>
1573
1574 PR target/23268
1575 * config/i386/i386.md ("*fist<mode>2_1"): New pattern.
1576 ("lrint<mode>2"): Change expander to use "*fist<mode>2_1" pattern.
1577
dd0ae678
R
15782005-08-17 J"orn Rennecke <joern.rennecke@st.com>
1579
8a2209bf
R
1580 * sh.c (sh_gimplify_va_arg_expr): Don't substitute a RECORD_TYPE
1581 record with the type of its only member if the modes don't match.
1582
a2dba291 1583 * varasm.c (decode_reg_name): Skip empty additional register names.
dd0ae678 1584
d28cbb07
ZD
15852005-08-16 Zdenek Dvorak <dvorakz@suse.cz>
1586
1587 * tree-ssa-loop-im.c (MAX_LSM_NAME_LENGTH, lsm_tmp_name,
1588 lsm_tmp_name_length): New.
1589 (lsm_tmp_name_add, gen_lsm_tmp_name, get_lsm_tmp_name): New functions.
1590 (schedule_sm): Use get_lsm_tmp_name instead of "lsm_tmp".
1591
39bd07e8
UW
15922005-08-16 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1593 Andreas Krebbel <krebbel1@de.ibm.com>
1594
1595 * config.gcc: Added z9-109 switch.
1596 * config/s390/2084.md ("x_int", "x_agen", "x_lr", "x_la", "x_larl",
1597 "x_load", "x_store", "x_branch", "x_call", "x_mul_hi", "x_mul_sidi",
c414ac1d
EC
1598 "x_div", "x_sem", "x_cs", "x_vs", "x_stm", "x_lm", "x_other",
1599 "x_fsimpdf", "x_fsimpsf", "x_fdivdf", "x_fdivsf", "x_floaddf",
39bd07e8
UW
1600 "x_floadsf", "x_fstore_df", "x_fstoresf", "x_ftoi", "x_itof"): Enable
1601 for "z9_109" cpu attribute.
1602 * config/s390/s390.c (z9_109_cost): New processor cost structure.
1603 (CONST_OK_FOR_Os, CONST_OK_FOR_Op, CONST_OK_FOR_On): New macros.
1604 (s390_handle_arch_option): Added z9-109 switch.
1605 (override_options): Set respective cost function for z9-109.
1606 (s390_const_ok_for_constraint_p): New constraints Os, Op, On.
1607 (legitimate_reload_constant_p): Accept extended immediates.
1608 (print_operand): Three new output modifiers added: k, m and o.
1609 (s390_adjust_priority, s390_issue_rate): Handle Z9_109 like Z990.
1610 (s390_output_mi_thunk): Use extended immediate when possible.
1611 * config/s390/s390.h (processor_flags): Added PF_EXTIMM.
1612 (TARGET_CPU_EXTIMM, TARGET_EXTIMM): New macros.
1613 (CONSTRAINT_LEN): Added length of O constraint.
1614 (CLZ_DEFINED_VALUE_AT_ZERO): Definition added.
1615 * config/s390/s390.md ("cpu"): New value z9_109 added.
c414ac1d 1616 ("*tstdi_extimm", "*tstdi_ccconly_extimm", "*tstsi_extimm",
39bd07e8
UW
1617 "*tstsi_cconly_extimm", "*movdi_64extimm", "*extendhidi2_extimm",
1618 "*extendqidi2_extimm", "*extendhisi2_extimm", "*extendqisi2_extimm",
1619 "*zero_extend<mode>si2_extimm", "*anddi3_extimm", "*iordi3_extimm",
1620 "*xordi3_extimm", "clzdi2", "clztidi2"): New patterns.
1621 ("*tstdi", "*tstsi", "*movdi_64", "*extendhisi2", "*extendqisi2",
1622 "*zero_extend<mode>si2_64", "zero_extendqihi2", "*zero_extendqihi2_64",
1623 "*anddi3", "*iordi3", "*xordi3"): Disable for TARGET_EXTIMM.
1624 ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs", "*cmpsi_ccs", "*cmpdi_ccu",
1625 "*cmpsi_ccu", "*movsi_zarch", "*adddi3_imm_cc", "*adddi3_carry1_cc",
1626 "*adddi3_carry2_cc", "*adddi3_cc", "*adddi3_64", "*addsi3_imm_cc",
1627 "*addsi3_carry1_cc", "*addsi3_carry2_cc", "*addsi3_cc", "addsi3",
1628 "*andsi3_cc", "*andsi3_cconly", "*andsi3_zarch", "*iorsi3_cc",
1629 "*iorsi3_cconly", "*iorsi3_zarch", "*xorsi3_cc", "*xorsi3_cconly",
c414ac1d 1630 "*xorsi3", "*xorhi3", "*xorqi3"): Added instruction using extended
39bd07e8
UW
1631 immediates.
1632 ("extend<mode>di2", "extend<mode>si2", "zero_extend<mode>di2",
1633 "zero_extend<mode>si2"): Allow memory operands and don't manually emit
1634 insns for TARGET_EXTIMM.
1635
33d2e547
AK
16362005-08-17 Andreas Krebbel <krebbel1@de.ibm.com>
1637
1638 * testsuite/gcc.dg/20020926-1.c: Added "-mesa" to dg-options.
1639
e5eb9a52
NC
16402005-08-17 Nick Clifton <nickc@redhat.com>
1641
1642 * config/stormy16/stormy16.c (xstormy16_encode_section_info):
1643 Call default_encode_section_info.
1644
a318e3ac
SB
16452005-08-17 Steven Bosscher <stevenb@suse.de>
1646
1647 PR tree-optimization/21574
1648 * tree-ssa-ccp.c (likely_value): If the right hand side is a
1649 constant, return CONSTANT.
1650 (ccp_lattice_meet): Use operand_equal_p instead of simple_cst_equal.
1651 (ccp_fold, visit_assignment): Likewise.
1652 (evaluate_stmt): Handle UNDEFINED and UNKNOWN_VAL the same way.
1653
00d1b1d6
JM
16542005-08-16 James A. Morrison <phython@gcc.gnu.org>
1655
1656 * c-typeck.c (build_function_call): Call fold_buildN_initializer or
1657 fold_buildN instead of buildN then fold_initializer or fold.
1658 (build_unary_op): Likewise.
1659 (build_binary_op): Likewise.
1660 * fold-const.c (fold_initializer): Remove.
1661 (fold_build1_initializer): New function.
1662 (fold_build2_initializer): New function.
1663 (fold_build3_initializer): New function.
1664 * tree.h (fold_initializer): Remove.
1665 (fold_build1_initializer): New function.
1666 (fold_build2_initializer): New function.
1667 (fold_build3_initializer): New function.
1668
f457cf40
JM
16692005-08-16 James A. Morrison <phython@gcc.gnu.org>
1670
1671 * fold-const.c (optimize_bit_field_compare): Remove extra fold call.
1672 (try_move_mult_to_index): Call fold_build2 instead of build2.
1673 (fold_binary): Don't call fold after calls to try_move_mult_to_index.
1674 * tree-ssa-loop-niter.c (inverse): Call int_const_binop instead of
1675 fold_binary_to_constant.
1676 (infer_loop_bounds_from_undefined): Call fold_build2 instead of
1677 fold (build.
1678 * tree-data-ref.c (tree_fold_divides_p): Use tree_int_cst_equal to
1679 check if A == gcd (A, B). Remove TYPE argument.
1680 (analyze_offset) Use fold_build2 instead of fold (build.
1681 (create_data_ref): Likewise.
1682 (analyze_siv_subscript_cst_affine): Update calls to tree_fold_divides_p.
1683 * tree-ssa-ccp.c (widen_bitfield): Call fold_build2 instead of build2
1684 then fold.
1685
4c617d12
KC
16862005-08-17 Kelley Cook <kcook@gcc.gnu.org>
1687
1688 * config/arm/unaligned-funcs.c,config/i386/crtfastmath.c,
1689 ipa-cp.c,ipa-prop.c,ipa-prop.h: Update FSF address.
1690
d06526b7
AP
16912005-08-16 Andrew Pinski <pinskia@physics.uc.edu>
1692
1693 PR tree-opt/23402
1694 * gimplify.c (zero_sized_type): New function.
1695 (gimplify_modify_expr_rhs): If we have a zero sized type,
1696 replace the statement with an empty statement.
1697
e9e68ae3
L
16982005-08-16 H.J. Lu <hongjiu.lu@intel.com>
1699
1700 * config/i386/crtfastmath.c (set_fast_math): Add "=m" for
1701 fxsave.
1702
e374d5c9
ILT
17032005-08-16 Ian Lance Taylor <ian@airs.com>
1704
1705 * doc/tm.texi (Label Output): Correct typo.
1706
f2dd440f
SB
17072005-08-16 Steven Bosscher <stevenb@suse.de>
1708
1709 PR target/23376
1710 * loop-unroll.c (analyze_insn_to_expand_var): Make sure that
1711 force_operand will work later on using have_insn_for.
1712
196f5a8d
VR
17132005-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1714
1715 * fold-const.c (tree_expr_nonnegative_p): Regroup cases.
1716
cf0efa6a
ILT
17172005-08-16 Ian Lance Taylor <ian@airs.com>
1718
1719 PR c++/23337
1720 * gimplify.c (gimplify_init_ctor_eval): If we see an element of
1721 vector type, don't try to construct it element by element. Add an
1722 assertion that we use a FIELD_DECL when building a COMPONENT_REF.
1723
3a69437a
VR
17242005-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1725
1726 * fold-const.c (fold_ternary): Simplify folding of a CALL_EXPR.
1727
17ccdd2c
GK
17282005-08-16 Geoffrey Keating <geoffk@apple.com>
1729
1730 * doc/invoke.texi (Precompiled Headers): Document some more options
1731 which are known to be safe.
1732
355a9e43
JW
17332005-08-16 James E Wilson <wilson@specifix.com>
1734
1735 PR tree-optimization/21105
1736 * c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
1737 TREE_OVERFLOW check.
1738
ce45ef46
DE
17392005-08-16 David Edelsohn <edelsohn@gnu.org>
1740
1741 * config/rs6000/rs6000.md (ltu<mode>): Convert to mode macro.
1742 (neg_ltu<mode>): Same.
1743 (gtu<mode>): Same.
1744 (neg_gtu<mode>): Same.
1745
543e2cc3
VR
17462005-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1747
1748 * builtins.c (expand_builtin_strcat): Remove superfluous call to fold.
1749 (fold_builtin_isdigit): Use fold_buildN.
1750 (build_function_call_expr): Likewise.
1751 * c-typeck.c (c_finish_loop): Likewise.
1752
28f52a4d 17532005-08-16 J"orn Rennecke <joern.rennecke@st.com>
85199961 1754 Richard Shann <rshann@superh.com>
28f52a4d
R
1755
1756 PR middle-end/20396:
1757 * optabs.c (expand_binop): Take TRULY_NOOP_TRUNCATION into account.
1758
546ad2d9
SP
17592005-08-16 Sebastian Pop <pop@cri.ensmp.fr>
1760
1761 * tree-ssa-loop-niter.c (scev_probably_wraps_p): Reword a comment.
1762
39c39be0
RE
17632005-08-15 Richard Earnshaw <richard.earnshaw@arm.com>
1764
1765 PR target/23355
c414ac1d 1766 * arm.c (thumb_compute_save_reg_mask): Use similar logic to
39c39be0
RE
1767 arm_compure_save_reg0_reg12_mask to determine when the PIC register
1768 must be saved.
1769
f60c951c
JDA
17702005-08-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1771
1772 PR middle-end/23369
1773 * fold-const.c (build_range_check): Disable optimization for function
1774 pointer expressions on targets that require function pointer
1775 canonicalization.
1776
5b5dc475
UW
17772005-08-15 Ulrich Weigand <uweigand@de.ibm.com>
1778
1779 * simplify-rtx.c (simplify_const_relational_operation): When
1780 extracting arguments of a COMPARE, recompute the mode as well.
1781
1595ec20
ILT
17822005-08-15 Ian Lance Taylor <ian@airs.com>
1783
1784 * tree.c (build_string): Mark tree CONSTANT and INVARIANT.
1785
eb5f0c07
DD
17862005-08-15 DJ Delorie <dj@redhat.com>
1787
1788 * config/m32c/mov.md (movqi_op): Immediates can't be moved to
1789 the stack.
1790 (movsi_splittable): Allow, but split, moves to the stack.
1791 * config/m32c/m32c.c (m32c_split_move): Always split moves to the
1792 stack.
1793
06145cb9
KG
17942005-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1795
1796 * aclocal.m4 (gcc_AC_FUNC_PRINTF_PTR): Delete.
1797 * configure.ac: Don't call gcc_AC_FUNC_PRINTF_PTR.
1798 * system.h (HOST_PTR_PRINTF): Don't define, poison it.
c414ac1d 1799
06145cb9
KG
1800 * bitmap.c, c-decl.c, config/i386/i386-interix.h,
1801 config/iq2000/iq2000.c, mips-tfile.c, print-rtl.c, print-tree.c:
1802 Delete HOST_PTR_PRINTF.
1803
1804 * configure, config.in: Regenerate.
1805
b5568f07
DE
18062005-08-15 David Edelsohn <edelsohn@gnu.org>
1807
1808 * config/rs6000/rs6000.md (QHSI): New mode macro.
1809 (wd): Extend mode attr for QImode and HImode
1810 (dbits): New mode attr.
1811 (zero_extend<mode>di2): Convert to mode macro.
1812
a73035ae
SE
18132005-08-15 Steve Ellcey <sje@cup.hp.com>
1814
1815 PR target/21841
1816 * doc/invoke.texi (-mgnu-ld): Update description.
1817 (-mhp-ld): Ditto.
1818
7e0923cd
SP
18192005-08-15 Sebastian Pop <pop@cri.ensmp.fr>
1820
1821 PR 23391
1822 * Makefile.in (tree-chrec.o): Depends on real.h.
1823 * tree-chrec.c: Include real.h.
1824 (chrec_fold_plus_poly_poly, chrec_fold_multiply_poly_poly,
1825 chrec_fold_plus_1): Use build_real for SCALAR_FLOAT_TYPE_P.
1826 * tree-scalar-evolution.c (add_to_evolution_1,
1827 interpret_rhs_modify_expr): Ditto.
1828
852c19aa
SP
18292005-08-15 Sebastian Pop <pop@cri.ensmp.fr>
1830
1831 PR 23386
1832 * tree-data-ref.c (estimate_niter_from_size_of_data): When
1833 step is negative compute the estimation from init downwards to zero.
c414ac1d 1834
b23dce24
JM
18352005-08-14 James A. Morrison <phython@gcc.gnu.org>
1836
1837 * fold-const (fold_binary): Call fold_build2 instead of fold (build.
1838
11598938
UW
18392005-08-14 Ulrich Weigand <uweigand@de.ibm.com>
1840
1841 * config/s390/s390.c (s390_const_ok_for_constraint_p): Add 'P'
1842 constraint.
1843 (legitimate_reload_constant_p): Fix handling of lliXX operands.
1844 Accept double-word constants that can be split.
1845 * config/s390/s390.md ("movti"): Use 'P' constraint.
1846 ("*movdi_31", "*movdf_31"): Likewise.
1847
8971094d
DB
18482005-08-14 Daniel Berlin <dberlin@dberlin.org>
1849
1850 Fix PR tree-optimization/22615
c414ac1d 1851
8971094d 1852 * tree-ssa-structalias.c (solution_set_add): Handle
c414ac1d 1853 first_vi_for_offset returning NULL.
8971094d
DB
1854 (do_da_constraint): Ditto.
1855 (do_sd_constraint): Ditto.
1856 (do_ds_constraint): Ditto
1857 (find_func_aliases): Ditto.
1858 (build_constraint_graph): RHS is allowed be ANYTHING.
1859 (first_vi_for_offset): Return NULL if we couldn't find anything at
1860 the offset.
c414ac1d 1861
c5b2a111
UW
18622005-08-14 Ulrich Weigand <uweigand@de.ibm.com>
1863
1864 * config/s390/s390.c (s390_canonicalize_comparison): Prefer register
1865 over memory as first operand.
1866
adb7b764
L
18672005-08-14 H.J. Lu <hongjiu.lu@intel.com>
1868
1869 PR target/23360
1870 * config/i386/crtfastmath.c (set_fast_math): Check if DAZ is
1871 available for setting it.
1872
1f400bbb
IR
18732005-08-14 Ira Rosen <irar@il.ibm.com>
1874
1875 PR tree-optimization/23320
c414ac1d
EC
1876 * tree-data-ref.c (base_addr_differ_p): Add comment. Check
1877 data-refs' types instead of base object nullness. Add check for
1878 pointer type data-refs before first location comparison. Remove
1f400bbb
IR
1879 assert.
1880
db875b15
AS
18812005-08-14 Andreas Schwab <schwab@suse.de>
1882
1883 * doc/md.texi (Machine Constraints): Fix misplaced @end table.
1884
0aca9021
JW
18852005-08-13 James E Wilson <wilson@specifix.com>
1886
1887 * doc/cpp.texi (__SSP__, __SSP_ALL__): Document.
1888 * doc/invoke.texi (-Wstack-protector, -fstack-protector,
1889 -fstack-protector-all, --param ssp-buffer-size): Document.
1890 (-Wvariadic-macros): Alphabetize.
1891 (-fsched-stalled-insns-dep): Add missing 'f'.
1892
0ffb94cd
JW
1893 * c-cppbuiltin.c (c_cpp_builtins): Add comment for flag_stack_protect
1894 macros.
1895
3256a76e
DE
18962005-08-13 David Edelsohn <edelsohn@gnu.org>
1897
1898 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 'a' for indexed
1899 or indirect address operand.
1900 (EXTRA_ADDRESS_CONSTRAINT): New.
1901 * config/rs6000/rs6000.md (prefetch): Change constraint "p" to "a".
1902
d7770457
SP
19032005-08-13 Sebastian Pop <pop@cri.ensmp.fr>
1904
1905 PR tree-optimization/22236
1906 * tree-cfg.c (print_pred_bbs, print_succ_bbs): Correctly print
1907 successors and predecessors.
1908 * tree-chrec.c (chrec_convert): Before converting, check that
1909 sequences don't wrap.
1910 * tree-data-ref.c (compute_estimated_nb_iterations): Moved ...
1911 (analyze_array): Extern.
1912 (find_data_references_in_loop): Remove call to
1913 compute_estimated_nb_iterations.
1914 * tree-data-ref.h (analyze_array): Declared.
1915 * tree-flow-inline.h (single_ssa_tree_operand, single_ssa_use_operand,
1916 single_ssa_def_operand, zero_ssa_operands): Fix documentation.
1917 * tree-flow.h (scev_probably_wraps_p): Declare with an extra parameter.
c414ac1d 1918 * tree-scalar-evolution.c (instantiate_parameters_1): Factor entry
d7770457
SP
1919 condition.
1920 * tree-ssa-loop-ivcanon.c: Fix documentation.
1921 * tree-ssa-loop-ivopts.c (idx_find_step): Add a fixme note.
1922 * tree-ssa-loop-niter.c (compute_estimated_nb_iterations): ... here.
1923 (infer_loop_bounds_from_undefined): New.
1924 (estimate_numbers_of_iterations_loop): Use
1925 infer_loop_bounds_from_undefined.
1926 (used_in_pointer_arithmetic_p): New.
1927 (scev_probably_wraps_p): Pass an extra parameter. Call
1928 used_in_pointer_arithmetic_p. Check that AT_STMT is not null.
1929 (convert_step): Fix documentation.
1930 * tree-vrp.c (adjust_range_with_scev): Call instantiate_parameters.
1931 Use initial_condition_in_loop_num and evolution_part_in_loop_num
1932 instead of CHREC_LEFT and CHREC_RIGHT. Adjust the call to
1933 scev_probably_wraps_p.
1934
e2df5c1d
UW
19352005-08-13 Ulrich Weigand <uweigand@de.ibm.com>
1936
1937 * config/s390/s390.c (s390_split_branches): Revert 2005-08-12 change.
1938 (s390_register_info): Ignore clobbered_regs information for fixed
1939 registers, and only fixed registers.
1940 (s390_init_frame_layout): Remove redundant call.
1941
7cd5c075
GP
19422005-08-12 Gerald Pfeifer <gerald@pfeifer.com>
1943
c414ac1d 1944 * doc/invoke.texi (C++ Dialect Options): Add dynamic_cast to
7cd5c075
GP
1945 description of -Wold-style-casts.
1946
7b8acc34
AK
19472005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
1948 Jakub Jelinek <jakub@redhat.com>
1949
1950 * config/s390/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
1951 * config/s390/s390-protos.h (s390_get_thread_pointer): Prototype added.
1952 * config/s390/s390.c (print_operand): New output modifier 'G' added.
1953 (get_thread_pointer): Renamed to s390_get_thread_pointer.
1954 * config/s390/s390.md (stack_protect_set, stack_protect_test): If
1955 TARGET_THREAD_SSP_OFFSET is defined, change operands[1] to
1956 (MEM:P (PLUS:P (tp, TARGET_THREAD_SSP_OFFSET))).
1957 (UNSPEC_SP_SET, UNSPEC_SP_TEST): New constants.
1958 ("stack_protect_set", "stack_protect_test"): New expanders.
1959 ("stack_protect_setsi", "stack_protect_setdi", "stack_protect_testsi",
1960 "stack_protect_testdi"): New insn definitions.
1961
4700982d
AK
19622005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
1963
1964 * config/s390/s390.md ("*movdf_31"): Changed constraint from P to K.
1965
3c60bed5
PB
19662005-08-12 Paul Brook <paul@codesourcery.com>
1967
1968 * config/arm/lib1funcs.asm: Error if __ARM_ARCH__ not set.
1969
f83a336d
AK
19702005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
1971
1972 * config/s390/predicates.md (setmem_operand): New predicate.
1973 (shift_count_operand): Accept ANDs with special constants as
1974 operand.
1975 * config/s390/s390.c (print_shift_count_operand): Skip ANDs
1976 with special constants.
1977 * config/s390/s390.md ("setmem_long", "*setmem_long"): Replaced
1978 shift_count_operand with setmem_operand.
1979
c4d50129
AK
19802005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
1981
1982 * config/s390/s390.c (s390_extract_part, s390_single_part):
1983 Type cast added.
1984 (s390_const_ok_for_constraint_p): Added SImode to the N constraint.
1985 (s390_output_mi_thunk): Don't use lg on 31 bit.
1986 * config/s390/s390.md ("*movdi_31", "*movdf_31"): Added lmy and stmy.
1987 ("*llgt_sisi" and splitter): Replaced TARGET_64BIT with TARGET_ZARCH.
1988
b5c67a49
AK
19892005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
1990
1991 * config/s390/s390.c (CONST_OK_FOR_J, CONST_OK_FOR_K): New macros.
1992 (s390_select_ccmode, s390_rtx_costs, legitimate_reload_constant_p,
1993 s390_init_frame_layout, s390_emit_prologue, s390_emit_epilogue,
1994 s390_output_mi_thunk): Replaced uses of CONST_OK_FOR_CONSTRAINT_P
1995 with one of the new macros.
1996
dc4477f5
AK
19972005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
1998
c414ac1d 1999 * config/s390/s390.c (s390_split_branches, s390_init_frame_layout):
dc4477f5
AK
2000 Don't set save_return_addr_p.
2001 (s390_register_info): Make clobbered_regs not depending on
2002 save_return_addr_p.
2003
ec92bd4b
KK
20042005-08-12 Kaz Kojima <kkojima@gcc.gnu.org>
2005
2006 * gcc.c (LINK_SSP_SPEC): Remove space before a trailing }.
2007 (LINK_COMMAND_SPEC): Add space after %(link_ssp).
2008
8c2efff7
JW
20092005-08-11 James E. Wilson <wilson@specifix.com>
2010
2011 * config/ia64/ia64.h (EXTRA_MEMORY_CONSTRAINT): New.
2012
ea93971a
JJ
20132005-08-11 Jakub Jelinek <jakub@redhat.com>
2014
86bd8ebf
JJ
2015 * dwarf2out.c (add_location_or_const_value_attribute): Prefer
2016 locations gathered by var-tracking in single entry loc_list
2017 over loc_descriptor_from_tree.
2018
ea93971a
JJ
2019 * dwarf2out.c (concat_loc_descriptor): Add can_use_fbreg argument,
2020 pass it down to loc_descriptor.
2021 (loc_descriptor): Pass can_use_fbreg to concat_loc_descriptor.
2022 (containing_function_has_frame_base): Move earlier in the file.
2023 (loc_descriptor_from_tree_1): Use containing_function_has_frame_base
2024 instead of always assuming fbreg can't be used.
2025
dec1f3aa
DE
20262005-08-11 David Edelsohn <edelsohn@gnu.org>
2027
2028 * config/rs6000/altivec.md: Change constraint "m" to "Z".
2029 * config/rs6000/predicates.md (indexed_or_indirect_operand):
2030 Accept address wrapped in AND for Altivec.
2031 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
2032 Strip AND wrapping offset address for Altivec.
2033
7fd6694b
RH
20342005-08-11 Richard Henderson <rth@redhat.com>
2035
2036 PR middle-end/23312
2037 * gimplify.c (gimplify_one_sizepos): Check for INTEGER_TYPE
2038 before using TYPE_IS_SIZETYPE.
2039
4ead2a39
RH
20402005-08-11 Richard Henderson <rth@redhat.com>
2041
2042 PR target/22225
2043 * config/alpha/alpha.c (alphaev4_insn_pipe): Add take pipes for
2044 insn types not present on ev4.
2045 (alphaev5_insn_pipe): Similarly.
2046
da8ce8be
RE
20472005-08-11 Richard Earnshaw <richard.earnshaw@arm.com>
2048
2049 PR target/23250
2050 * arm.c (arm_override_options): If the user has selected callee-super-
2051 interworking, then enable normal interworking.
2052
eb2b0cc0
RO
20532005-08-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2054
2055 * config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Undef before
2056 redefinition.
2057
b630e240
WZ
20582005-08-11 Wu Zhou <woodzltc@cn.ibm.com>
2059
2060 * doc/rtl.texi: Fix two typos.
2061
cac32996
RG
20622005-08-11 Richard Guenther <rguenther@suse.de>
2063
2064 PR target/23289
2065 * config/i386/i386.c (ix86_function_ok_for_sibcall): Handle
2066 cases where we call to/from functions returning void.
2067
a4faac50
JM
20682005-08-10 James A. Morrison <phython@gcc.gnu.org>
2069
2070 PR c++/23225
2071 * tree.c (build_pointer_type_for_mode): Robustify.
2072
907f033f
JW
20732005-08-10 James E Wilson <wilson@specifix.com>
2074
2075 * defaults.h, config/alpha/alpha.h, config/ia64/ia64.h
2076 (ASM_OUTPUT_ADDR_VEC_ELT): Delete.
2077
2078 * config/alpha/alpha.c (alpha_arg_partial_bytes): Change "(CUM)." to
2079 "cum->".
2080
bb8df8a6
EC
20812005-08-10 Eric Christopher <echristo@apple.com>
2082
2083 * config/rs6000/rs6000.c (mems_ok_for_quad_peep): Rewrite.
2084 * config/rs6000/rs6000.md (*lfq_power2, *stfq_power2): Use
2085 V2DFmode.
2086
4f8dbd34
AP
20872005-08-10 Andrew Pinski <pinskia@physics.uc.edu>
2088
ce31ea84 2089 PR target/21887
4f8dbd34
AP
2090 * config/darwin.c (machopic_indirect_data_reference): Use a new register
2091 for the high part when generating dynamic-no-pic code.
2092
d75e02d6
L
20932005-08-10 H.J. Lu <hongjiu.lu@intel.com>
2094
2095 * config.gcc (i[34567]86-*-linux*): Add i386/t-crtfm to tm-file.
2096 (x86_64-*-linux*): Likewise.
2097
2098 * config/i386/crtfastmath.c: New file.
2099 * config/i386/t-crtfm: Likewise.
2100
2101 * config/i386/linux.h (ENDFILE_SPEC): New.
2102 * config/i386/linux64.h (ENDFILE_SPEC): Likewise.
2103
2104 * config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add
2105 crtfastmath.o.
2106
61abee65
DN
21072005-08-10 Dorit Nuzman <dorit@il.ibm.com>
2108
2109 * doc/md.texi: (reduc_smin, reduc_umin, reduc_splus, reduc_uplus):
2110 (vec_shl, vec_shr): Document new operations.
2111 * tree.def (VEC_RSHIFT_EXPR, VEC_LSHIFT_EXPR): Fix comment.
2112
11aac14f
DE
21132005-08-10 David Edelsohn <edelsohn@gnu.org>
2114
2115 * config/rs6000/predicates.md (indexed_or_indirect_address): New.
2116 * config/rs6000/rs6000.md (prefetch): Remove operand 0 mode and
2117 change predicate to indexed_or_indirect_address.
2118
9bd05108
RS
21192005-08-10 Richard Sandiford <richard@codesourcery.com>
2120
2121 * config/arm/lib1funcs.asm (__aeabi_uidiv, __aeabi_idiv): New aliases.
2122 * config/arm/libgcc-bpabi.ver (GCC_3.5): Add __aeabi_idiv,
2123 __aeabi_uidiv, __aeabi_uread4, __aeabi_uread8, __aeabi_uwrite4
2124 and __aeabi_uwrite8.
2125 * config/arm/unaligned-funcs.c: New file.
2126 * config/arm/t-bpabi (LIB2FUNCS_EXTRA): Add unaligned-funcs.c.
2127
defb77dc
PB
21282005-08-09 Paolo Bonzini <bonzini@gnu.org>
2129
2130 * bb-reorder.c (pass_duplicate_computed_gotos, pass_partition_blocks):
2131 Add dump.
2132 * cfglayout.c (pass_insn_locators_initialize): Add dump.
2133 * emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes):
2134 Add dump.
2135 * except.c (pass_convert_to_eh_region_ranges): Add dump.
2136 * final.c (pass_shorten_branches): Add dump.
2137 * flow.c (pass_recompute_reg_usage, pass_remove_death_notes): Add dump.
2138 (pass_life): Rename dump.
2139 (rest_of_handle_flow2): Remove initial verify_flow_info.
2140 * function.c (pass_instantiate_virtual_regs): Add dump.
2141 * integrate.c (pass_initial_value_sets): Add dump.
2142 * jump.c (pass_cleanup_barriers, pass_purge_lineno_notes): Add dump.
2143 * loop-init.c (pass_rtl_loop_init, pass_rtl_loop_done): Rename dump.
2144 (pass_rtl_move_loop_invariants, pass_rtl_unswitch, pass_rtl_doloop,
2145 pass_rtl_unroll_and_peel_loops): Rename dump and add gate.
2146 (gate_rtl_move_loop_invariants, gate_rtl_unswitch, gate_rtl_doloop,
2147 gate_rtl_unrool_and_peel_loops): New.
2148 (rtl_move_loop_invariants, rtl_unswitch, rtl_unrool_and_peel_loops,
2149 rtl_doloop): Do not look at flags.
2150 * mode-switching.c (pass_mode_switching): Add dump.
2151 * recog.c (pass_split_all_insns, pass_split_for_shorten_branches,
2152 pass_split_before_regstack): Add dump.
2153 * regmove.c (pass_stack_adjustments): Add dump.
2154 * tree-optimize.c (pass_fixup_cfg): Add dump.
2155
2a6a63c1
KI
21562005-08-10 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2157
2158 PR 23309
2159 * config/m32r/m32r.c (m32r_reload_lr): Fix off by one error when
2160 deciding which instruction sequence to use.
2161
0ed414a4
DN
21622005-08-09 Dorit Nuzman <dorit@il.ibm.com>
2163
bb8df8a6 2164 * tree-vect-transform.c (vect_create_epilog_for_reduction): Set
0ed414a4
DN
2165 BIT_FIELD_REF_UNSIGNED for newly created BIT_FIELD_REFs.
2166
9bc15050
RG
21672005-08-09 Richard Guenther <rguenther@suse.de>
2168
2169 * c-common.c (builtin_function_2): Remove.
2170 (def_builtin_1): New function.
2171 (c_common_nodes_and_builtins): Use def_builtin_1 to
2172 build builtin functions.
2173
07da68fd
JZ
21742005-08-09 Jie Zhang <jie.zhang@analog.com>
2175
2176 * config/bfin/uclinux.h (NO_IMPLICIT_EXTERN_C): Define.
2177 * config/bfin/elf.h (NO_IMPLICIT_EXTERN_C): Define.
2178 * config/bfin/bfin.c (bfin_return_in_memory): Update to really match
2179 Visual DSP.
2180
2f133f46
JM
21812005-08-09 James A. Morrison <phython@gcc.gnu.org>
2182
2183 * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): Use
2184 fold_binary instead of fold_build2 since we don't care about the
2185 resulting tree.
2186 (loop_niter_by_eval): Likewise.
2187 (compare_trees): Likewise.
2188 (proved_non_wrapping_p): Likewise.
2189
f14e694e
JM
21902005-08-09 James A. Morrison <phython@gcc.gnu.org>
2191
2192 PR c/23161
2193 PR c/23165
2194 * c-typeck.c (c_finish_if_stmt): Look into STATEMENT_LISTs to see
2195 if the if is really empty.
2196
2ef571e2
SB
21972005-08-09 Steven Bosscher <stevenb@suse.de>
2198
2199 PR tree-optimization/23234
2200 * tree-ssa-math-opts.c (place_reciprocal): New enum.
2201 (execute_cse_reciprocals_1): Replace the 'phi' argument with an
2202 argument of the new enum.
2203 (execute_cse_reciprocals): Add reciprocals for function arguments
2204 on the unique successor edge of the entry block. Update other calls
2205 to execute_cse_reciprocals_1.
2206
a9c5ddf9
RH
22072005-08-08 Richard Henderson <rth@redhat.com>
2208
2209 PR 22439
2210 * gimplify.c (gimplify_one_sizepos): Preserve the original type.
2211
22469409
BW
22122005-08-08 Bob Wilson <bob.wilson@acm.org>
2213
2214 * expr.c (write_complex_part): Return after handling MEM.
2215
2d88fcc2
JC
22162005-08-08 Josh Conner <jconner@apple.com>
2217
2218 PR rtl-optimization/23241
2219 * combine.c (simplify_comparison): Fix error in determining
2220 whether to lift a subreg from comparison.
2221
7a4eca66
DE
22222005-08-08 David Edelsohn <edelsohn@gnu.org>
2223
2224 PR target/18506
2225 * config/rs6000/altivec.md (vec_init<mode>): New.
2226 (vec_set<mode>): New.
2227 (vec_extract<mode>): New.
2228 * config/rs6000/rs6000.c (rs6000_expand_vector_init): New.
2229 (rs6000_expand_vector_set): New.
2230 (rs6000_expand_vector_extract): New.
2231 (rs6000_legitimate_offset_address_p): Offset addresses are valid
2232 for Altivec modes before reload.
2233 (altivec_expand_vec_init_builtin): New.
2234 (get_element_number): New.
2235 (altivec_expand_vec_set_builtin): New.
2236 (altivec_expand_vec_ext_builtin): New.
2237 (altivec_expand_builtin): Expand vec_init, vec_set, and vec_ext
2238 builtins.
2239 (altivec_init_builtins): Init vec_init, vec_set, and vec_ext
2240 builtins.
2241 * config/rs6000/rs6000.h (rs6000_builtins): Add
2242 ALTIVEC_BUILTIN_VEC_INIT_<mode>, ALTIVEC_BUILTIN_VEC_SET_<mode>,
2243 ALTIVEC_BUILTIN_VEC_EXT_<mode>.
2244 * config/rs6000/rs6000-protos.h: Declare new functions.
2245
47efdea4
JH
22462005-08-08 Jan Hubicka <jh@suse.cz>
2247
2248 * i386.c (legitimate_pic_address_disp_p): Refuse GOTOFF in 64bit mode.
2249 (legitimate_address_p): Refuse GOT and GOTOFF in 64bit mode.
2250 * i386.md (movdi*): Use pic_32bit_operand.
2251 * predicates.md (pic_32bit_operand): New.
2252
f303a996
NS
22532005-08-08 Nathan Sidwell <nathan@codesourcery.com>
2254
2255 PR c++/21166
2256 * stor-layout.c (finalize_type_size): Undo DECL_PACKED when possible.
2257
a5ad7269
JM
22582005-08-07 James A. Morrison <phython@gcc.gnu.org>
2259
2260 * tree-vrp.c (simplify_div_or_mod_using_range): Use build2.
2261 (test_for_singularity): Use fold_build2.
2262
914a6ee8
JDA
22632005-08-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2264
2265 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Fix loop upper bound.
2266
f18faab7
DS
22672005-08-07 Danny Smith <dannysmith@users.sourceforge.net>
2268
2269 * config/i386/cygming.h (SUBTARGET_ENCODE_SECTION_INFO): Define.
2270 (COMMON_ASM_OP) Define.
2271 * config/i386/i386.c (ix86_in_large_data_p): Add ATTRIBUTE_UNUSED
2272 (ix86_encode_section_info): Likewise.
2273 (TARGET_ENCODE_SECTION_INFO): Conditionally define as
2274 SUBTARGET_ENCODE_SECTION_INFO.
2275
455c08cb
RH
22762005-08-06 Richard Henderson <rth@redhat.com>
2277
2278 PR 21894
2279 * tree-nested.c (convert_local_reference): Save and restore val_only
2280 around component_ref and friends. Clear walk_subtrees by default.
2281
3300bf07
PG
22822005-08-06 Peter O'Gorman <peter@pogma.com>
2283
2284 PR 21366
2285 * gcc.c (process_command): Check the argument to -b has a dash.
2286 * doc/invoke.texi: Update -b and -V docs.
2287
e2ba06d6
JW
22882005-08-06 James E Wilson <wilson@specifix.com>
2289
2290 * config/mips/cross64.h, config/mips/t-cross64: Delete.
2291
3e0a6ca6
MM
22922005-08-06 Michael Matz <matz@suse.de>
2293
2294 * genattrtab.c (write_attr_get, write_attr_case): Use insn_code
2295 member only if only one insn is associated with the value.
2296
2f806f3b
NC
22972005-08-06 Nick Clifton <nickc@redhat.com>
2298
2299 * config/stormy16/stormy16.h (SYMBOL_FLAG_XSTORMY16_BELOW100):
2300 New define.
3e0a6ca6 2301 (ASM_OUTPUT_LABELREF): Delete - it is no longer needed.
2f806f3b
NC
2302 * config/stormy16/stormy16.c (xstormy16_below100_symbol):
2303 Check symbol flags instead of symbol name mangling.
3e0a6ca6 2304 (xstormy16_asm_output_aligned_common): Likewise. Also
2f806f3b
NC
2305 simplify code since the bss100_section cass is the only case
2306 where the below100 code will be triggered.
3e0a6ca6 2307 (xstormy16_encode_section_info): Encode below100 attribute
2f806f3b
NC
2308 using the SYMBOL_FLAG_XSTORMY16_BELOW100 instead of mangling
2309 the name.
3e0a6ca6 2310 (xstormy16_strip_name_encoding): Delete - this function is no
2f806f3b 2311 longer needed.
3e0a6ca6 2312 (TARGET_STRIP_NAME_ENCODING): Undefine.
2f806f3b
NC
2313 * config/stormy16/stormy16-protos.h: Delete prototype for
2314 xstormy16_strip_name_encoding.
2315
a4d05547
KH
23162005-08-06 Kazu Hirata <kazu@codesourcery.com>
2317
2318 * Makefile.in, cfgexpand.c, cfgloop.h, cfgloopmanip.c,
2319 config.gcc, ipa-cp.c, ipa-prop.c, ipa-prop.h, reg-stack.c,
2320 tree-ssa-structalias.c, tree-vrp.c, value-prof.c, vec.h,
2321 config/linux.h, config/alpha/alpha.h, config/alpha/linux.h,
2322 config/alpha/predicates.md, config/arc/arc.h,
2323 config/arm/arm.h, config/arm/ieee754-df.S,
2324 config/arm/ieee754-sf.S, config/bfin/bfin.c,
2325 config/bfin/bfin.h, config/c4x/c4x.h, config/crx/crx.c,
2326 config/fr30/fr30.h, config/frv/frv.h, config/h8300/h8300.h,
2327 config/i386/i386.h, config/ia64/ia64.c, config/ia64/ia64.h,
2328 config/m68hc11/m68hc11.h, config/mips/mips.c,
2329 config/mips/mips.h, config/mips/openbsd.h,
2330 config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.h,
2331 config/pdp11/pdp11.h, config/rs6000/linux-unwind.h,
2332 config/rs6000/rs6000.c, config/rs6000/rs6000.h,
2333 config/s390/s390.c, config/sh/sh.c, config/sh/sh.h,
2334 config/sparc/linux.h, config/sparc/linux64.h,
2335 config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h,
2336 doc/extend.texi, doc/gcov.texi, doc/install.texi,
2337 doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix comment/doc
2338 typos. Follow spelling conventions.
2339
591baeb0
JM
23402005-08-06 Joseph S. Myers <joseph@codesourcery.com>
2341
2342 PR c/23113
2343 * stmt.c (warn_if_unused_value): Check TREE_NO_WARNING at start.
2344 Don't handle NOP_EXPR, CONVERT_EXPR and NON_LVALUE_EXPR
2345 specially. Check for side effects only for COND_EXPR.
2346 * c-typeck.c (c_finish_stmt_expr): Mark statement expression
2347 return with TREE_NO_WARNING.
2348
f7a064b5
RS
23492005-08-06 Richard Sandiford <richard@codesourcery.com>
2350
2351 PR rtl-optimization/23233
2352 * loop.c (combine_movables): Require the modes to be the same.
2353 (move_movables): Remove handling of cases where the replacement
2354 had a different mode to the original.
2355
b17775ab
JM
23562005-08-05 James A. Morrison <phython@gcc.gnu.org>
2357
2358 PR tree-optimization/23128
2359 * tree-vrp.c (vrp_int_const_binop): Check if unsigned addition or
2360 subtraction wrap, and set TREE_OVERFLOW if they do.
2361
bb1ecfe8
RH
23622005-08-05 Richard Henderson <rth@redhat.com>
2363
2364 PR 21728
2365 * tree-cfg.c (remove_bb): Transmute DECL_NONLOCAL labels into
2366 FORCED_LABEL labels.
2367
50aa8e71
R
23682005-08-05 J"orn Rennecke <joern.rennecke@st.com>
2369
2370 PR middle-end/23135
2371 * reload.c (find_reloads_subreg_address): Pass down TYPE
2372 unchanged. Change all callers except find_reloads_toplev.
2373
b01896cc
MM
23742005-08-05 Michael Matz <matz@suse.de>
2375
2376 * genattrtab.c (current_alternative_string): Remove.
2377 (SIMPLIFY_ALTERNATIVE): Ditto.
2378 (attr_alt_bit_p): Ditto.
2379 (alternative_name): Make const char *.
2380 (evaluate_eq_attr): Remove use of above things.
2381 (simplify_test_exp): Ditto.
2382 (simplify_test_exp <EQ_ATTR>): Guard for insn_code < 0 .
2383 (simplify_test_exp <AND>): Correct typo (test 'right' not 'left').
2384
3f94bdec
JW
23852005-08-04 James E Wilson <wilson@specifix.com>
2386
2387 * config/ptx4.h, config/sol2.h, config/arm/freebsd.h,
2388 config/arm/linux-elf.h, config/frv/frv.h, config/i386/freebsd.h,
2389 config/i386/freebsd64.h, config/i386/netware.h, config/i386/sco5.h,
2390 config/ia64/freebsd.h, config/rs6000/sysv4.h, config/sparc/freebsd.h
2391 (LINK_SPEC): Delete useless %{Wl,*:%*} item.
2392
460f84ed
RH
23932005-08-04 Richard Henderson <rth@redhat.com>
2394
2395 PR 21529
2396 * params.def (PARAM_SRA_MAX_STRUCTURE_COUNT): New.
2397 * params.h (SRA_MAX_STRUCTURE_COUNT): New.
2398 * tree-sra.c (decide_block_copy): Use it. Disable element copy
2399 if we'd have to instantiate too many members.
2400
5a910e43
RH
24012005-08-04 Richard Henderson <rth@redhat.com>
2402
2403 PR 21291
2404 * tree-outof-ssa.c (coalesce_asm_operands): New.
2405 (coalesce_ssa_name): Use it. Split out ...
2406 (coalesce_phi_operands, coalesce_result_decls): ... these.
2407
27c37000
PB
24082005-08-04 Paul Brook <paul@codesourcery.com>
2409
2410 * read-rtl.c (read_quoted_string): Break if EOF.
2411
5808968e
AP
24122005-08-04 Andrew Pinski <pinskia@physics.uc.edu>
2413
2414 * tree.h (fold_build1): Change to macro and call fold_build1_stat.
2415 (fold_build2): Likewise.
2416 (fold_build3): Likewise.
2417 (fold_build1_stat): New function prototype.
2418 (fold_build2_stat): Likewise.
2419 (fold_build3_stat): Likewise.
2420 * fold-const.c (fold_build1): Rename to ..
2421 (fold_build1_stat): this. Add MEM_STAT_DECL. Pass the mem stats
2422 through to build1_stat.
2423 (fold_build2): Rename to ..
2424 (fold_build2_stat): this. Add MEM_STAT_DECL. Pass the mem stats
2425 through to build2_stat.
2426 (fold_build3): Rename to ..
2427 (fold_build3_stat): this. Add MEM_STAT_DECL. Pass the mem stats
2428 through to build3_stat.
2429
d70eadf7 24302005-08-04 David Edelsohn <edelsohn@gnu.org>
6d62ac14 2431 Ian Lance Taylor <ian@airs.com>
d70eadf7
DE
2432
2433 * function.c (assign_stack_local_1): Do not correct stack slot
2434 address if allocation size is smaller than mode size.
2435
c4f548b8
DN
24362005-08-04 Diego Novillo <dnovillo@redhat.com>
2437
2438 PR 22037
2439 * tree-cfg.c (replace_uses_by): Call mark_new_vars_to_rename.
2440 (tree_merge_blocks): Propagate anything allowed by
2441 may_propagate_copy.
2442 Clarify documentation.
2443 * passes.c (execute_todo): If cleanup_tree_cfg invalidated the
2444 SSA form, schedule an update if necessary.
2445
2b7c3273
GP
24462005-08-04 Gerald Pfeifer <gerald@pfeifer.com>
2447
2448 * doc/install.texi (Binaries): Remove broken link to
2449 Sinix/Reliant Unix binaries.
2450
b755446c
RH
24512005-08-03 Richard Henderson <rth@redhat.com>
2452
2453 PR 23221
2454 * function.c (stack_protect_epilogue): Export.
2455 * tree.h (stack_protect_epilogue): Declare.
2456 * calls.c (expand_call): Call it.
2457
7904f95f
EC
24582005-08-03 Eric Christopher <echristo@apple.com>
2459
2460 * gcc.c (LINK_SSP_SPEC): Add fstack-protector-all.
2461 * config/darwin.h (LINK_COMMAND_SPEC): Add link_ssp
2462 spec.
2463
d783b2a2
JH
24642005-08-04 Jan Hubicka <jh@suse.cz>
2465
2466 * profile.c (branch_prob): Split edges with goto locus on them
2467 to get proper line counts.
2468 * tree-cfg.c (make_cond_expr_edges): Record user goto locuses, if any.
2469
53366450
PB
24702005-08-03 Paul Brook <paul@codesourcery.com>
2471
2472 * function.c (assign_parms): Round current_function_args_size
2473 to PARM_BOUNDARY, not STACK_BOUNDARY.
2474
e81d37df
GK
24752005-08-03 Geoffrey Keating <geoffk@apple.com>
2476
2477 * config/i386/i386.c (x86_elf_aligned_common)
2478 (x86_output_aligned_bss): Don't try to use symbols that aren't defined.
2479
279072c8
ZD
24802005-08-03 Zdenek Dvorak <dvorakz@suse.cz>
2481
2482 PR tree-optimization/23157
2483 * tree-scalar-evolution.c (scev_const_prop): Unshare trees
2484 before emitting them.
2485
9d2b0e12
VR
24862005-08-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2487
2488 PR tree-optimization/19899
2489 * Makefile.in (tree-scalar-evolution.o): Add real.h.
2490 * tree-scalar-evolution.c: Include real.h.
2491 (add_to_evolution): Build constant -1 of correct type.
2492
178df94f
JH
24932005-08-03 Jan Hubicka <jh@suse.cz>
2494
2495 * cfgloop.h (DLTHE_FLAG_COMPLETTE_PEEL): New flag.
2496 * cfgloopmanip.c (duplicate_loop_to_header_edge): Special case
2497 profile updating for complette unrolling.
2498 * loop-unroll.c (peel_loop_completely): Use it.
2499 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise.
2500 (tree_unroll_loops_completely): Disable code growing unrolling of cold
2501 loops.
2502
4164b2fb
PB
25032005-08-03 Paul Brook <paul@codesourcery.com>
2504
2505 * combine.c (can_change_dest_mode): New function.
2506 (try_combine, simplify_set): Use it.
2507
4e2b3c87
EB
25082005-08-03 Eric Botcazou <ebotcazou@adacore.com>
2509
2510 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Only force
2511 TFmode to BLKmode.
2512
1d7887ca
GP
25132005-08-03 Gerald Pfeifer <gerald@pfeifer.com>
2514
2515 * doc/install.texi (Specific): Adjust link to openavr.org.
2516 (Specific): Remove broken reference to GCC 2.8.1 for OS/2.
2517 (Binaries): Adjust HP-UX Porting Center link.
2518 (Binaries): Adjust Free Software Foundation ordering link.
1d7887ca 2519
c7f59e9c
AP
25202005-08-03 Andrew Pinski <pinskia@physics.uc.edu>
2521
2522 * convert.c (convert_to_integer): Use fold_build1 instead of
2523 build1 when converting an integer to an integer.
2524
65030b76
RH
25252005-08-02 Richard Henderson <rth@redhat.com>
2526
2527 * combine.c (combine_instructions): Don't use reg_equal/equiv
2528 results if the mode doesn't match.
2529
6d1ab63a
MM
25302005-08-02 Mark Mitchell <mark@codesourcery.com>
2531
2532 * config/i386/t-mingw32 (NATIVE_SYSTEM_HEADER_DIR): Set it.
2533 * doc/fragments.texi (NATIVE_SYSTEM_HEADER_DIR): Document it.
2534
6d90db3a
RH
25352005-08-02 Richard Henderson <rth@redhat.com>
2536
2537 PR 23196
7904f95f 2538 * explow.c (memory_address): Remove special-case for
6d90db3a
RH
2539 virtual_stack_vars_rtx and virtual_incoming_args_rtx.
2540
78234a86
DN
25412005-08-02 Diego Novillo <dnovillo@redhat.com>
2542
2543 PR 23164
2544 * tree-cfgcleanup.c (cleanup_tree_cfg): Do not limit the
2545 number of calls to cleanup_tree_cfg_1.
2546
5a006700
MR
25472005-08-02 Martin Reinecke <martin@mpa-garching.mpg.de>
2548
2549 * doc/invoke.texi: document file extensions .F90 and .F95
2550
237504fc
RG
25512005-08-02 Richard Guenther <rguenther@suse.de>
2552
2553 * fold-const.c (tree_expr_nonnegative_p): frexp(x, &e) is
2554 positive if its first argument is positive.
2555
e63c84d8
RG
25562005-08-02 Richard Guenther <rguenther@suse.de>
2557
2558 PR tree-optimization/23177
2559 * tree-ssa-operands.c (get_tmr_operands): Use get_expr_operands
2560 on TMR_TAG.
2561
08303d5b
JM
25622005-08-02 James A. Morrison <phython@gcc.gnu.org>
2563
2564 PR tree-optimization/23129
2565 * tree-vrp.c (extract_range_from_binary_expr): Set value range to
2566 varying for divisions with anti-ranges.
2567
5e5a504e
JH
25682005-08-02 Jan Hubicka <jh@suse.cz>
2569
2570 * tree-ssa-dom.c (thread_across_edge): Remove updating here.
2571 * tree-ssa-threadupdate.c (thread_block): Add it here.
2572
4dbdb061
JW
25732005-08-01 James E Wilson <wilson@specifix.com>
2574
2575 * config/mips/mips.c (mips_encode_section_info, mips_attribute_table,
2576 TARGET_ENCODE_SECTION_INFO, TARGET_ATTRIBUTE_TABLE): New.
2577 * config/mips/mips.h (SYMBOL_FLAG_LONG_CALL, SYMBOL_REF_LONG_CALL_P):
2578 New.
2579 * config/mips/predicates.md (const_call_insn_operand): Add check for
2580 SYMBOL_REF_LONG_CALL_P.
2581 * doc/extend.texi (long_call): Document the new attribute.
2582
9e254451
ILT
25832005-08-01 Ian Lance Taylor <ian@airs.com>
2584 Richard Henderson <rth@redhat.com>
2585
2586 * Makefile.in (RTL_BASE_H): Add real.h.
2587 * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Use structure copy
2588 instead of memcpy.
2589 * emit-rtl.c (const_double_from_real_value): Likewise; use rtx.u.rv
2590 directly.
2591 * rtl.c (rtl_check_failed_code_mode): New.
2592 * rtl.h (struct rtx_def): Add u.rv.
2593 (XCMWINT, XCNMPRV): New.
2594 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Use XCMWINT.
2595 (CONST_DOUBLE_REAL_VALUE): Use XCNMPRV; constify.
2596
5671655e
RH
25972005-08-01 Richard Henderson <rth@redhat.com>
2598
75735872
RH
2599 * dwarf2out.c (mem_loc_descriptor): Use XEXP, not SUBREG_REG,
2600 with auto-inc codes.
2601
5671655e
RH
2602 * config/alpha/predicates.md (and_operand): Test mode of CONST_DOUBLE.
2603
72ce3d4a
JH
26042005-08-01 Jan Hubicka <jh@suse.cz>
2605
2606 * i386-protos.h (asm_preferred_eh_data_format): Declare.
2607 * i386.c: Include dwarf2.h
2608 (asm_preferred_eh_data_format): New.
2609 * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Move offline.
2610
23d28bfe
ILT
26112005-08-01 Ian Lance Taylor <ian@airs.com>
2612
2613 * config/host-linux.c (linux_gt_pch_get_address): Add new name
2614 randomize_va_space for virtual address randomization control.
2615
d6e14e8f
SB
26162005-08-01 Steven Bosscher <stevenb@suse.de>
2617
2618 * common.opt (flag_ipa_cp): Put in right place to maintain
2619 alphabetic sort.
2620
5ded7254
JH
26212005-08-01 Jan Hubicka <jh@suse.cz>
2622
2623 * profile.c (compute_value_histograms): Fix thinko.
2624 * value-prof.c: Include toplev.h
2625 (check_counter): New function.
2626 (tree_divmod_fixed_value_transform, tree_mod_pow2_value_transform,
2627 tree_mod_subtract_transform): Add sanity check.
2628
a8f82ec4
RG
26292005-08-01 Richard Guenther <rguenther@suse.de>
2630
2631 PR tree-optimization/23133
2632 * tree-ssa-math-opts.c (execute_cse_reciprocals): Walk
2633 current functions parameter decls to find defs to cse
2634 reciprocals of.
2635
ac264fef
RG
26362005-08-01 Richard Guenther <rguenther@suse.de>
2637
2638 PR tree-optimization/23109
2639 * tree-ssa-math-opts.c (execute_cse_reciprocals_1):
2640 If trapping math is in effect, use post-dominator information
2641 to check if we'd in any case reach a trapping point before
2642 doing the reciprocal insertion.
2643 (execute_cse_reciprocals): Compute post-dominators, if necessary.
2644 * tree-ssa-loop-im.c (determine_invariantness_stmt): RDIV
2645 expressions are invariant only if trapping math is not in effect.
2646
57fb5341
RL
26472005-08-01 Razya Ladelsky <razya@il.ibm.com>
2648
5a006700
MR
2649 * cgraph.h (update_call_expr, cgraph_copy_node_for_versioning,
2650 cgraph_function_versioning): New declarations.
2651 * cgraphunit.c: Add include to ipa-prop.h.
2652 (update_call_expr, cgraph_copy_node_for_versioning,
2653 cgraph_function_versioning): New functions.
2654 * integrate.c (copy_decl_for_inlining): Remove.
2655 * ipa-prop.h (ipa_replace_map): New struct.
2656 (struct ipa_node): Add ipcp_orig_node, count_scale, new fields.
2657 * ipa-cp.c (ipcp_method_orig_node, ipcp_method_is_cloned,
2658 ipcp_method_set_orig_node, ipcp_cloned_create, ipcp_method_get_scale,
2659 ipcp_method_set_scale, ipcp_method_compute_scale, ipcp_after_propagate,
2660 ipcp_iterate_stage, ipcp_method_scale_print,
2661 ipcp_profile_mt_count_print, ipcp_profile_cs_count_print,
2662 ipcp_profile_edge_print, ipcp_profile_bb_print , ipcp_profile_print,
2663 ipcp_replace_map_create, ipcp_redirect, ipcp_update_callgraph,
2664 ipcp_update_bb_counts, ipcp_update_profiling,
2665 ipcp_update_edges_counts): New functions.
2666 (ipcp_method_cval_init): Remove restriction regarding local methods.
2667 (ipcp_init_stage): Add ipcp_method_compute_scale.
2668 (ipcp_insert_stage): Add versioning.
2669 (ipcp_structures_print): Add ipcp_method_scale_print.
2670 (ipcp_driver): Dump profiling info.
2671 * Makefile.in: Remove integrate.h dependency from tree-inline.o.
2672 Add ipa-prop.h dependency to tree-inline.o and cgraphunit.o.
2673 * tree-inline.c: Remove include to integrate.h, Add include ipa-prop.h.
2674 (struct inline_data): Add versioning_p, ipa_info, new fields.
2675 (remap_decl, mark_local_for_remap_r, setup_one_parameter,
2676 declare_return_variable): Replace calls to copy_decl_for_inlining with
2677 copy_decl_for_dup.
2678 (copy_body_r, copy_bb, copy_cfg_body, copy_tree_r, inlining_p): Add
2679 versioning support.
2680 (copy_decl_for_dup): Rename from copy_decl_for_inlining.
2681 Add argument VERSIONING.
2682 (copy_arguments_for_versioning, copy_static_chain,
2683 function_versionable_p, tree_versionable_function_p,
2684 tree_function_versioning, replace_ref_tree): New functions.
2685 * tree-inline.h: Include varray.h.
2686 (tree_versionable_function_p, tree_function_versioning,
2687 tree copy_decl_for_dup): New declarations.
57fb5341
RL
2688
26892005-08-01 Razya Ladelsky <razya@il.ibm.com>
2690
5a006700
MR
2691 * ipa-cp.c: New file. Contains IPCP specific functionality.
2692 * ipa-prop.h: New file. Contains structures/definitions that can be
2693 used by several interprocedural data flow optimizations (and also IPCP).
2694 * ipa-prop.c: New file.
2695 * Makefile.in: Add ipa-cp.c, ipa-prop.h, ipa-prop.c.
2696 * common.opt: Add ipa-cp flag.
2697 * timevar.def: Add IPCP optimization.
2698 * tree-optimize.c (init_tree_optimization_passes): Schedule
2699 pass_ipa_cp.
2700 * tree-pass.h (pass_ipa_cp): Declare.
57fb5341 2701
569b7f6a
KH
27022005-08-01 Kazu Hirata <kazu@codesourcery.com>
2703
2704 * dwarf2out.c, fold-const.c, ipa-type-escape.c,
2705 loop-invariant.c, predict.c, predict.def, reload1.c, reorg.c,
2706 tree-sra.c, config/arm/arm.c, config/crx/crx.c,
2707 config/i386/i386.c, config/mips/mips.h,
2708 config/rs6000/rs6000.h, config/sh/sh.c,
2709 config/stormy16/stormy16.c: Fix comment typos.
2710
5922c215
JM
27112005-08-01 Joseph S. Myers <joseph@codesourcery.com>
2712
2713 PR c/22311
2714 * c-typeck.c (build_binary_op): Use common_type wrapper on
2715 shortened types.
2716 (common_type): Update comment.
2717
a3f4b7d8
SB
27182005-07-31 Steven Bosscher <stevenb@suse.de>
2719
2720 PR target/23095
2721 * common.opt (flag_gcse_after_reload): Don't initialize to 2.
2722 (flag_rerun_cse_after_loop): Initialize this to 2 instead.
2723 * postreload-gcse.c (hash_scan_set): Do not consider stack regs.
2724
baf7a0d3
JH
27252005-07-31 Jan Hubicka <jh@suse.cz>
2726
2727 * pretty-print.h (pp_widest_integer): New macro.
2728 * tree-pretty-print.c (dump_bb_header): Print BB frequencies and
2729 counts.
2730
7dcbf659
JH
27312005-07-31 Jan Hubicka <jh@suse.cz>
2732
2733 * output.h (enum section_category): Export from varasm.c
2734 (categorize_decl_for_section): Likewise.
2735 * varasm.c (enum section_category): Kill.
2736 (categorize_decl_for_section): Make global.
2737 * i386-protos.h (x86_output_aligned_bss, x86_elf_aligned_common):
2738 Declare.
2739 * i386.c (ix86_section_threshold): New static variable.
2740 (ix86_in_large_data_p, ix86_encode_section_info,
2741 x86_64_elf_unique_section,
2742 x86_64_elf_select_section): New functions.
2743 (TARGET_ENCODE_SECTION_INFO): Define
2744 (override_options): Enable medium model for PIC.
2745 (ix86_expand_prologue): Expand gen_set_got_rex64.
2746 (legitimate_constant_p): Handle new UNSPECs.
2747 (legitimate_pic_address_disp_p): Likewise.
2748 (legitimize_pic_address): Lower MEDIUM model addressing.
2749 * i386.h (PIC_OFFSET_TABLE_REGNUM): Set for medium model PIC.
2750 (enum cmodel): Add MEDIUM_PIC.
2751 (SYMBOL_REF_FAR_ADDR_P): New macro.
2752 (SYMBOL_FLAG_FAR_ADDR): New flag.
2753 * i386.md (movdi): Support medium model.
2754 (set_got_rex64): New pattern.
2755 * i386.opt (mlarge-data-threshold): New flag.
2756 * predicates.md (zext_operand/sext_operand): Deal with medium model.
2757 * x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Use x86_output_aligned_bss.
2758 (ASM_OUTPUT_ALIGNED_COMMON, TARGET_ASM_SELECT_SECTION,
2759 TARGET_ASM_UNIQUE_SECTION): New.
2760
2761 * invoke.texi (-mlarge_data_threshold): Document
2762
0bde02b3
JH
27632005-07-31 Jan Hubicka <jh@suse.cz>
2764
2765 * tree-outof-ssa.c (coalesce_ssa_name): Use coalesce_cost.
2766 (coalesce_vars): Likewise.
2767 * tree-ssa-live.c (coalesce_cost): New.
2768 (build_tree_conflict_graph): Use coalesce_cost.
2769 * tree-ssa-live.h (coalesce_cost): Declare.
2770
a4ccc336
RE
27712005-07-30 Richard Earnshaw <richard.earnshaw@arm.com>
2772
2773 * arm.md (all peepholes for post-increment operations): Delete.
2774 (strqi_preinc, strqi_predec, loadqi_preinc, loadqi_predec)
2775 (loadqisi_preinc, loadqisi_predec, strsi_preinc, strsi_predec)
2776 (loadsi_preinc, loadsi_predec, strqi_shiftpreinc, strqi_shiftpredec)
2777 (loadqi_shiftpreinc, loadqi_shiftpredec, strsi_shiftpreinc)
2778 (strsishift_predec, loadsi_shiftpreinc, loadsi_shiftpredec): Delete.
2779
06581725
JM
27802005-07-30 James A. Morrison <phython@gcc.gnu.org>
2781
2782 * fold-const.c (tree_expr_nonnegative_p): Always return true for
2783 non-integral types.
2784
0cbc4d77 27852005-07-29 Wolfgang Bangerth <bangerth@dealii.org>
d6e14e8f 2786
0cbc4d77
WB
2787 PR target/22582
2788 * doc/invoke.texi: Document -rdynamic.
d6e14e8f 2789
91d975b8
JM
27902005-07-30 Joseph S. Myers <joseph@codesourcery.com>
2791
2792 PR c/23143
2793 * c-parser.c (c_parser_parms_list_declarator): Call
2794 mark_forward_parm_decls.
2795 * c-decl.c (merge_decls): Only check DECL_IN_SYSTEM_HEADER for
2796 decls with visibility structure.
2797
f26b8ec9
PB
27982005-07-30 Paul Brook <paul@codesourcery.com>
2799
2800 * config/arm/arm.c (arm_coproc_mem_operand): Fix inaccurate comment.
2801
a14b88bb
PB
28022005-07-30 Paul Brook <paul@codesourcery.com>
2803
2804 * config/arm/arm-protos.h (arm_canonicalize_comparison): Update
2805 prototype.
2806 * config/arm/arm.c (arm_canonicalize_comparison): Use correct limit
2807 value for mode.
2808 * config/arm/arm.h (CANONICALIZE_COMPARISON): Pass mode argument.
2809
7c47d6e9
JM
28102005-07-29 Joseph S. Myers <joseph@codesourcery.com>
2811
2812 PR c/529
2813 * c-decl.c (warn_if_shadowing): Don't check for PARM_DECL in
2814 nested function declarators.
2815 (pushdecl): Don't call warn_if_shadowing for PARM_DECL.
2816 (grokparms): Call warn_if_shadowing for parameters used within the
2817 parameter list.
2818 (store_parm_decls_newstyle): Call warn_if_shadowing for parameters
2819 not used within the parameter list.
2820 (store_parm_decls_oldstyle): Call warn_if_shadowing for parameters.
2821
3bc751bd
JH
28222005-07-30 Jan Hubicka <jh@suse.cz>
2823
2824 * expr.c (expand_expr_real_1): Do not load mem targets into register.
2825 * i386.c (ix86_fixup_binary_operands): Likewise.
2826 (ix86_expand_unary_operator): Likewise.
2827 (ix86_expand_fp_absneg_operator): Likewise.
2828 * optabs.c (expand_vec_cond_expr): Validate dest.
2829
bc1594c1
JM
28302005-07-29 Joseph S. Myers <joseph@codesourcery.com>
2831
2832 PR c/21720
2833 * real.c (real_from_string): Also set last bit if there is a
2834 nonzero hex digit beyond GCC's internal precision after ".".
2835
3aca4bff
DE
28362005-07-29 David Edelsohn <edelsohn@gnu.org>
2837
2838 * config/rs6000/altivec.md: Convert UNSPEC numerical values to
2839 define_constants. Change duplicate values to unassigned numbers.
2840 Change UNSPEC_SUBS to UNSPEC_VSUBS.
2841 (*altivec_vspltsf): New.
2842 (altivec_vperm_v4sf): Delete.
2843 (altivec_vperm_<mode>): Use mode macro V.
2844 (altivec_vsldoi_<mode>): Convert to mode macro pattern.
2845 (altivec_predicate_v4sf): Delete.
2846 (altivec_predicate_<mode>): Use mode macro V.
2847 (*altivec_lvesfx): New.
2848 (*altivec_stvesfx): New.
2849 (vec_realign_load_v4sf): Delete.
2850 (vec_realign_load_<mode>): Use mode macro V.
2851 * config/rs6000/rs6000.c (generate_set_vrsave): Use
2852 UNSPECV_SET_VRSAVE.
2853
b28250ab
MM
28542005-07-29 Mark Mitchell <mark@codesourcery.com>
2855
2856 PR bootstrap/23131
2857 * configure.ac (SYSTEM_HEADER_DIR): Avoid setting to empty
7904f95f 2858 string.
b28250ab
MM
2859 * configure: Regenerated.
2860
eae50c87
PB
28612005-07-29 Paul Brook <paul@codesourcery.com>
2862
2863 * doc/install.texi: Add link to GFortran binaries wiki page.
2864
79dad081
DU
28652005-07-29 David Ung <davidu@mips.com>
2866
2867 * config/mips/mips.c (mips_cpu_info_table): Add 5kf to the table.
2868 (mips_rtx_cost_data): Add costs for 5kc and 5kf.
2869 * config/mips/mips.h (processor_type): Add PROCESSOR_5KF.
2870 * config/mips/mips.md (cpu): Add 5kf name.
2871 (includes): Includes 5k.md.
2872 * config/mips/5k.md: New DFA pipeline for the 5kc/5kf.
2873 * doc/invoke.texi (MIPS Options): Updated cpu name supported with
7904f95f 2874 -march flag.
79dad081 2875
89e80dd4
DN
28762005-07-29 Diego Novillo <dnovillo@redhat.com>
2877
2878 PR 22550
2879 * tree-cfgcleanup.c (cleanup_tree_cfg_1): Extract from ...
2880 (cleanup_tree_cfg): ... here.
2881 Call cleanup_tree_cfg_1 until there are no more cleanups to
2882 do.
2883
d2f3ffba
JM
28842005-07-29 James A. Morrison <phython@gcc.gnu.org>
2885
2886 * tree-vrp.c (compare_range_with_value): Return true or false
2887 for ~[VAL_1, VAL_2] OP VAL if VAL_1 <= VAL <= VAL_2 for NE_EXPR and
2888 EQ_EXPR respectively.
2889
536fa7b7
KH
28902005-07-29 Kazu Hirata <kazu@codesourcery.com>
2891
2892 * cfg.c, tree-complex.c, config/frv/frv.c, config/i386/i386.c:
2893 Fix comment typos.
2894
6a2cf9dc
DN
28952005-07-29 Diego Novillo <dnovillo@redhat.com>
2896
2897 * tree-ssa-dom.c (struct opt_stats_d): Add field num_iterations.
2898 (tree_ssa_dominator_optimize): Increment it.
2899 (dump_dominator_optimization_stats): Print it.
2900
abf86bf2
RE
29012005-07-29 Richard Earnshaw <richard.earnshaw@arm.com>
2902 Steven Bosscher <stevenb@suse.de>
2903
2904 PR rtl-optimization/23117
2905 * sched-rgn.c (add_branch_dependences): Handle COND_EXEC correctly
2906 when head == tail. Tidy comment.
2907
37cf6116
RH
29082005-07-28 Richard Henderson <rth@redhat.com>
2909
2910 * cse.c (exp_equiv_p): Special case CONST_DOUBLE.
2911 * cselib.c (rtx_equal_for_cselib_p): Likewise.
2912 * jump.c (rtx_renumbered_equal_p): Likewise.
2913 * loop.c (rtx_equal_for_loop_p): Tidy and special case PC, CC0,
2914 CONST_INT and CONST_DOUBLE.
2915 (rtx_equal_for_prefetch_p): Likewise, plus LABEL_REF.
2916 * reload.c (operands_match_p): Special case CONST_INT and
2917 CONST_DOUBLE; check mode earlier.
2918
13b22d3a
JM
29192005-07-29 Joseph S. Myers <joseph@codesourcery.com>
2920
2921 PR c/22240
2922 * c-typeck.c (convert_for_assignment): Do not check
2923 DECL_IN_SYSTEM_HEADER on NULL fundecl.
2924
ca8bdb78
JM
29252005-07-29 Joseph S. Myers <joseph@codesourcery.com>
2926
2927 PR c/22192
2928 * c-typeck.c (composite_type): Prefer constant size arrays to
2929 VLAs.
2930
b608d27a
JM
29312005-07-29 Joseph S. Myers <joseph@codesourcery.com>
2932
2933 PR c/21720
2934 * real.c (real_from_string): Set last bit if there is a nonzero
2935 hex digit beyond GCC's internal precision.
2936
a560c83a
RH
29372005-07-28 Richard Henderson <rth@redhat.com>
2938
2939 PR rtl-opt/22619
2940 * cfgcleanup.c (try_forward_edges): Watch out for end of
2941 insn chain.
2942
66f33c03
JW
29432005-07-28 James E Wilson <wilson@specifixinc.com>
2944
2945 PR c/23106
2946 * doc/invoke.texi (Wstrict-aliasing=2): Fix misleading wording.
2947
c5a4444c
JH
29482005-07-28 Jan Hubicka <jh@suse.cz>
2949
8a76829c
JH
2950 * Makefile.in (rtl-profile.o): Kill all traces of it.
2951 * common.opt (fspeculative-prefetching, ftree-based-profiling): Kill.
2952 * coverage.h (rtl_coverage_counter_ref): Kill.
2953 * opts.c (flag_speculative_prefetching_set): Kill.
2954 (flag_loop_optimize_set): New.
2955 (common_handle_option): Disable loop optimizer when profiling;
2956 do not handle speculative prefetching.
2957 * passes.c (init_optimization_passes): Replace pass_profiling combo
2958 by branch_prob pass.
2959 * profile.c (compute_value_histograms): Update for simplified value
2960 profiles.
2961 (rtl_register_profile_hooks): Kill.
2962 (pass_profiling): Kill.
2963 (rest_of_handle_branch_prob): Do not profile.
2964 * toplev.c (process_options): Remove speculative prefetching.
2965 * toplev.h (flag_tree_based_profiling): Kill.
2966 * tree-profile.c (prepare_instrumented_value,
2967 tree_gen_interval_profiler, tree_gen_pow2_profiler,
2968 tree_gen_one_value_profiler, do_tree_profiling): Update for
2969 simplified datastructures.
2970 * value-prof.c: Add comment that speculative prefetching was dropped;
2971 update rest of file for simplified datastructures.
2972 (NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX,
2973 rtl_divmod_values_to_profile, insn_prefetch_values_to_profile,
2974 find_mem_reference_1, find_mem_reference_2, find_mem_reference,
2975 rtl_values_to_profile, rtl_divmod_fixed_value, rtl_mod_pow2,
2976 rtl_mod_subtract, gen_speculative_prefetch,
2977 rtl_divmod_fixed_value_transform, rtl_mod_pow2_value_transform,
2978 rtl_mod_subtract_transform, speculative_prefetching_transform): Kill.
2979 (gate_handle_value_profile_transformations,
2980 rest_of_handle_value_profile_transformations,
2981 pass_value_profile_transformations): Kill.
2982 * value-prof.h (histogram_value_t): Remove IL based unions.
2983 (rtl_register_value_prof_hooks, rtl_register_profile_hooks,
2984 rtl_profile_hooks): Remove hooks.
2985
2986 * invoke.texi (-ftree-based-profiling, -fspeculative-prefetching): Kill.
2987
c5a4444c
JH
2988 * cgraph.c (cgraph_clone_edge): New UPDATE_ORIGINAL argument.
2989 (cgraph_clone_node): Likewise.
2990 * cgraph.h (cgraph_clone_edge): Update prototype.
2991 (cgraph_clone_node): Likewise.
2992 * ipa-inline.c (cgraph_clone_inlined_nodes): Update call of
2993 cgraph_clone_node.
2994 (lookup_recursive_calls): Consider profile.
2995 (cgraph_decide_recursive_inlining): Fix updating; use new
2996 probability argument; use profile.
2997 * params.def (PARAM_MIN_INLINE_RECURSIVE_PROBABILITY): New.
2998 * tree-inline.c (copy_bb): Update clal of clone_edge.
2999 * tree-optimize.c (tree_rest_of_compilation): UPdate cal of clone_node.
3000
3001 * invoke.texi (min-inline-recursive-probability): Document.
3002
ccf548a7
GP
30032005-07-28 Gerald Pfeifer <gerald@pfeifer.com>
3004
3005 * doc/install.texi (Configuration): Update Valgrind homepage.
3006
2c97f8e4
RH
30072005-07-28 Richard Henderson <rth@redhat.com>
3008
407ab83b 3009 PR middle-end/21362
2c97f8e4
RH
3010 * cfgrtl.c (rtl_merge_blocks): Call maybe_remove_eh_handler on
3011 labels we want to delete.
3012 (cfg_layout_merge_blocks): Likewise.
3013
b188ebb1
RH
30142005-07-28 Richard Henderson <rth@redhat.com>
3015
3016 PR target/17692
d6e14e8f
SB
3017 * config/i386/i386.c (ix86_split_sse_movcc): Emit DELETED note
3018 when expanding to nothing.
b188ebb1 3019
facc20ee
JC
30202005-07-28 Josh Conner <jconner@apple.com>
3021
3022 * ipa-inline.c (update_caller_keys): Fix estimated_growth caching.
3023 (cgraph_decide_inlining_of_small_functions): Likewise.
3024
9de21a23
JC
30252005-07-28 Josh Conner <jconner@apple.com>
3026
3027 * ipa-inline.c (cgraph_edge_badness): Update comments. Invert shift
3028 direction of badness if negative.
3029 (cgraph_default_inline_p): Add reason to parameters, and assign it
3030 a value.
3031 (cgraph_decide_inlining_of_small_functions): New parameter in call
3032 to cgraph_default_inline_p.
3033 (cgraph_decide_inlining_incrementally): Likewise.
3034 * cgraphunit.c (decide_is_function_needed): Likewise.
3035 * cgraph.h (cgraph_default_inline_p): Likewise.
3036
206048bd
VR
30372005-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3038
3039 * builtins.c: Fix comment typo(s).
3040 * genautomata.c: Likewise.
3041 * gimplify.c: Likewise.
3042 * tree-dfa.c: Likewise.
3043 * tree-flow-inline.h: Likewise.
3044 * tree-into-ssa.c: Likewise.
3045 * tree-ssa-alias.c: Likewise.
3046 * tree-ssa-ccp.c: Likewise.
3047 * tree-ssa-copy.c: Likewise.
3048 * tree-ssa-dce.c: Likewise.
3049 * tree-ssa-dom.c: Likewise.
3050 * tree-ssa-operands.c: Likewise.
3051 * tree-tailcall.c: Likewise.
3052 * tree-vectorizer.c: Likewise.
3053 * tree-vrp.c: Likewise.
3054 * tree.c: Likewise.
3055
d579f20b
JL
30562005-07-28 Jeff Law <law@redhat.com>
3057
d6e14e8f
SB
3058 * tree-vrp.c (test_for_singularity): Extracted from ...
3059 (simplify_cond_using_ranges): Attempt to simplify a relational
3060 test to NE_EXPR. Dump information when a COND_EXPR is simplified.
d579f20b 3061
5bb1823d
DN
30622005-07-28 Dorit Nuzman <dorit@il.ibm.com>
3063
3064 PR tree-optimization/22506
3065 * tree-vectorizer.c (update_phi_nodes_for_guard2): Skip loop-closed
3066 phis whose argument is constant.
3067
b92ba6ff
R
30682005-07-28 J"orn Rennecke <joern.rennecke@st.com>
3069
3070 PR rtl-optimization/18992
3071 Back out this patch:
3072 2003-10-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3073 PR optimization/12142
3074 * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
3075 uses of the register in the SET_SRC. Remove unnecessary argument.
3076
3077 Replace it with this:
3078 * cse.c (count_reg_usage): In INSN, JUMP_INSN and CALL_INSN cases,
3079 if flag_non_call_exceptions is set and the insn may trap, pass
3080 pc_rtx as dest for recursion.
3081 In SET_SRC part of SET case, if dest is already set, pass it down
3082 unchanged.
3083
09bac500
JH
30842005-07-28 Jan Hubicka <jh@suse.cz>
3085
3086 * cfg.c (update_bb_profile_for_threading): Use RDIV.
3087 (scale_bbs_frequencies_int): Likewise, assert for possible overflow.
3088 (scale_bbs_frequencies_gcov_type): Be more curefull about overflows and
3089 roundoff errors.
3090 * tree-cfg.c (tree_duplicate_sese_region): Use counts for updating
3091 profile when available.
3092
30932005-07-28 Jan Beulich <jbeulich@novell.com>
a71aef0b
JB
3094
3095 * config/ia64/ia64.c (ia64_load_pair_ok): New.
3096 (ia64_print_operand): Describe and handle 'X'.
3097 (ia64_register_move_cost): Also handle FP_REGS.
3098 (ia64_preferred_reload_class): Likewise.
3099 (ia64_secondary_reload_class): Likewise.
3100 (ia64_dependencies_evaluation_hook): New local variable c. Initialize
3101 it. Also check for ITANIUM_CLASS_FLDP.
3102 * config/ia64/ia64.h (FP_REGNO_P): New.
3103 (HARD_REGNO_MODE_OK): Remove explusion of TImode.
3104 (reg_class): Add FP_REGS.
3105 (REG_CLASS_NAMES): Adjust for it.
3106 (REG_CLASS_CONTENTS): Likewise.
3107 (REGNO_REG_CLASS): Use FP_REGS where appropriate.
3108 (REG_CLASS_FROM_LETTER): Handle 'x'.
3109 (CLASS_MAX_NREGS): Handle FP_REGS.
3110 (MEMORY_MOVE_COST): Likewise.
3111 * config/ia64/ia64.md (itanium_class): Add fldp.
3112 (type): Handle fldp.
3113 (movti_internal): More allowable operand combinations. Use ldfp8 when
3114 splitting unnecessary. Remove predicable attribute. Adjust
3115 itanium_class attribute.
3116 (smuldi3_highpart): Remove outdated comment.
3117 (mulditi3, umulditi3, rotlti3): New expanders.
3118 (addti3, subti3, mulditi3_internal, umulditi3_internal, negti2, rotlti3_internal): New insns.
3119 (absti2): Disabled new insn for future reference.
3120 Respective new splitters.
3121 * config/ia64/itanium1.md (1_fldp, 1b_fldp): New insn reservations.
3122 * config/ia64/itanium2.md (2_fldp, 2b_fldp): Likewise.
3123 * config/ia64/ia64-protos.h (ia64_load_pair_ok): New.
3124
77d1d8e0
JM
31252005-07-25 James A. Morrison <phython@gcc.gnu.org>
3126
3127 PR rtl-optimization/23047
3128 * simplify-rtx.c (simplify_const_relational_operation): Respect
3129 flag_wrapv for comparisons with ABS.
3130
ff08cbee
JM
31312005-07-27 James A. Morrison <phython@gcc.gnu.org>
3132
3133 PR tree-optimization/22493
3134 * tree-vrp.c (extract_range_from_unary_expr): Deal with -fwrapv and
3135 VR_ANTI_RANGEs properly for NEGATE_EXPRs and ABS_EXPRs.
3136
38c28a25
AH
31372005-07-27 Aldy Hernandez <aldyh@redhat.com>
3138
3139 * config/frv/frv.opt (moptimize-membar): New.
3140
3141 * doc/invoke.texi: Document -moptimize-membar and its inverse.
3142
3143 * config/frv/frv.h: Remove machine_function definition.
3144
d6e14e8f
SB
3145 * config/frv/frv.c (struct frv_io): New.
3146 (struct machine_function): Moved from frv.h. Add has_membar_p.
3147 (frv_same_doubleword_p, frv_io_fixed_order_p, frv_io_union)
3148 (frv_extract_membar, frv_io_check_address, frv_io_handle_set)
3149 (frv_io_handle_use_1, frv_io_handle_use, frv_optimize_membar_local)
3150 (frv_optimize_membar_global, frv_optimize_membar): New functions.
3151 (frv_reorg): Call frv_optimize_membar when appropriate.
3152 (bdesc_loads, bdesc_stores): Use the membar code as the icode field.
3153 (frv_expand_builtin): Adjust calls accordingly.
3154 (frv_io_address_cookie): New function.
3155 (frv_expand_load_builtin, frv_expand_store_builtin): Emit a normal
3156 load or store rather than a special insn. Add ccnstant address and
3157 io-type operands to the membar.
38c28a25
AH
3158 (frv_ifcvt_modify_tests): Unsign regno.
3159 (frv_ifcvt_modify_tests): Same.
3160
3161 * config/frv/frv.md: Remove UNSPEC_BUILTIN_{LOAD,STORE}. Change
3162 UNSPEC_OPTIONAL_MEMBAR constant.
3163 (builtin_read_<mode>): Delete.
3164 (builtin_write_<mode>): Delete.
3165 ("optional_membar_<mode>"): Add operand.
3166
3167 * testsuite/gcc.target/frv/all-builtin-read8.c: Delete.
3168 * testsuite/gcc.target/frv/all-builtin-read16.c: Delete.
3169 * testsuite/gcc.target/frv/all-builtin-read32.c: Delete.
3170 * testsuite/gcc.target/frv/all-builtin-read64.c: Delete.
3171 * testsuite/gcc.target/frv/all-builtin-write8.c: Delete.
3172 * testsuite/gcc.target/frv/all-builtin-write16.c: Delete.
3173 * testsuite/gcc.target/frv/all-builtin-write32.c: Delete.
3174 * testsuite/gcc.target/frv/all-builtin-write64.c: Delete.
3175 * testsuite/gcc.target/frv/all-read-write-1.c: New.
3176
47c504ea
KK
31772005-07-28 Kaz Kojima <kkojima@gcc.gnu.org>
3178
3179 * df.c (df_uses_record): Handle SCRATCH.
3180
ef11c839
SB
31812005-07-28 Steven Bosscher <stevenb@suse.de>
3182
3183 PR debug/20161
3184 * passes.c (rest_of_decl_compilation): If decl is a type and
3185 we have encountered errors, don't emit debug information.
3186
1eb68dca 31872005-07-27 Kenneth Zadeck <zadeck@naturalbridge.com>
ef11c839 3188
1eb68dca 3189 * params.def: Fixed comment.
7904f95f 3190
10252a62
BH
31912005-07-27 Bjoern Haase <bjoern.m.haase@web.de>
3192
3193 PR target/19885
3194 * config/avr/avr.c (TARGET_ASM_ALIGNED_SI_OP): Add.
3195 (TARGET_ASM_UNALIGNED_HI_OP): Add.
3196 (TARGET_ASM_UNALIGNED_SI_OP): Add.
3197
e4598783
SB
31982005-07-27 Steven Bosscher <stevenb@suse.de>
3199
3200 PR c++/22003
3201 * varasm.c (assemble_start_function): Don't do anything that may
3202 require a CFG if the current function is a thunk.
3203
a9fdd472
GK
32042005-07-25 Geoffrey Keating <geoffk@apple.com>
3205
3206 * doc/install.texi (Prerequisites): Mention that perl is needed
3207 to do export control in libstdc++ targetting Darwin.
3208
2bd1e239
SB
32092005-07-27 Steven Bosscher <stevenb@suse.de>
3210
3211 PR rtl-optimization/17808
3212 * sched-deps.c (sched_get_condition): Enable #if 0'ed code.
3213 (sched_insns_conditions_mutex_p): Split out from...
3214 (add_dependence): ...here. But don't call it from here.
3215 (add_dependence_list): Check sched_insns_conditions_mutex_p
3216 before calling add_dependence.
3217 (add_dependence_list_and_free): Likewise.
3218 (fixup_sched_groups): Likewise.
3219 (sched_analyze_1): Likewise.
3220 (sched_analyze_2): Likewise (and replace a "0" with REG_DEP_TRUE).
3221 (sched_analyze): Likewise.
3222 (sched_analyze_insn): Likewise.
3223 * sched-ebb.c (add_deps_for_risky_insns): Likewise.
3224 * sched-rgn.c (add_branch_dependences): Likewise. Also, add
3225 dependencies on all COND_EXEC insns to jumps ending basic blocks
3226 when doing intrablock scheduling.
3227 * sched-int.h (sched_insns_conditions_mutex_p): Add prototype.
3228
880031e1
JL
32292005-07-27 Jeff Law <law@redhat.com>
3230
3231 * tree-vrp.c (vrp_meet): Intersect the equivalency sets when
3232 meeting a VR_ANTI_RANGE with a VR_RANGE. When intersecting
3233 equivalency sets, correctly handle the case were vr0 has an
3234 equivalency set, but vr1 does not.
3235
b940ce0e
DN
32362005-07-27 Dorit Nuzman <dorit@il.ibm.com>
3237
3238 PR tree-optimization/23073
7904f95f 3239 * tree-vect-analyze.c (vect_analyze_data_refs_alignment): Call
b940ce0e
DN
3240 vect_print_dump_info before fprintf.
3241
26c40640
ZD
32422005-07-27 Zdenek Dvorak <dvorakz@suse.cz>
3243
3244 PR tree-optimize/22348
3245 * tree-ssa-loop-niter.c (number_of_iterations_cond):
3246 Fold the partial computation.
3247
3ac01fde
ZD
32482005-07-27 Zdenek Dvorak <dvorakz@suse.cz>
3249
3250 PR tree-optimization/22325
3251 * tree-flow.h (compute_phi_arg_on_exit, force_expr_to_var_cost):
3252 Declare.
3253 * tree-scalar-evolution.c (scev_const_prop): Add generic final
3254 value replacement.
3255 * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Split from ...
3256 (force_var_cost): ... this function.
3257 (compute_phi_arg_on_exit): Export.
3258
77fcaf4b
ZD
32592005-07-27 Zdenek Dvorak <dvorakz@suse.cz>
3260
3261 PR tree-optimization/20773
3262 * tree-ssa-loop-ch.c (copy_loop_headers): Select the correct latch
3263 edge.
3264
c11b0231
RG
32652005-07-27 Richard Guenther <rguenther@suse.de>
3266
3267 * tree-ssa-structalias.c (push_fields_onto_fieldstack):
3268 Avoid pushing again if current struct contains only
3269 fields we decomposed.
3270
57a73709
JH
32712005-07-27 Jan Hubicka <jh@suse.cz>
3272
093c2329
JH
3273 PR tree-optimization/22574
3274 * cgraph.c (cgraph_function_body_availability): Unanalyzed bodies are
3275 not available.
3276
23504559
JH
3277 * tree-tailcall.c (decrease_profile): New function.
3278 (eliminate_tail_call): Use it.
3279
57a73709
JH
3280 * cgraphunit.c (cgraph_function_and_variable_visibility): Set
3281 visibility flags correctly in whole program mode.
3282
b5395c33
SE
32832005-07-26 Steve Ellcey <sje@cup.hp.com>
3284
3285 PR rtl-optimization/22472
3286 * config/pa/pa.h (HARD_REGNO_RENAME_OK): Define.
3287
86979811
SB
32882005-07-26 Steven Bosscher <stevenb@suse.de>
3289
3290 PR tree-optimization/22504
3291 * tree-complex.c (expand_complex_addition): Use 'code' instead
3292 of MINUS_EXPR for (VARYING, ONLY_IMAG) and (ONLY_IMAG, VARYING).
3293
faf9ab98
AH
32942005-07-26 Aldy Hernandez <aldyh@redhat.com>
3295
3296 * config.gcc (cpu_type): Add frv case.
3297 (with_cpu): Add frv400-*-*linux* and frv550-*-*linux* cases.
3298 (supported_defaults): Add fr550 case.
3299
31521cd4
DN
33002005-07-26 Diego Novillo <dnovillo@redhat.com>
3301
3302 PR 22591
3303 * tree-ssa-alias.c (may_alias_p): Remove shortcut that tests
3304 whether a pointer of type T * may point to objects of type T *.
3305
45499411
DD
33062005-07-26 DJ Delorie <dj@redhat.com>
3307
3308 * configure: Regenerate.
3309
576a4795
DJ
33102005-07-26 Dale Johannesen <dalej@apple.com>
3311
3312 * postreload-gcse.c (alloc_mem): Start CUID numbering at 1.
3313
526635cb
MM
33142005-07-26 Mark Mitchell <mark@codesourcery.com>
3315
3316 * doc/install.texi (--with-build-sysroot): Fix grammatical error.
3317 Clarify use of "build" in name.
3318
c14ff86e
AH
33192005-07-26 Aldy Hernandez <aldyh@redhat.com>
3320
3321 * doc/extend.texi (Raw read/write Functions): New section.
3322 * testsuite/gcc.target/frv/all-builtin-read8.c: New.
3323 * testsuite/gcc.target/frv/all-builtin-read16.c: New.
3324 * testsuite/gcc.target/frv/all-builtin-read32.c: New.
3325 * testsuite/gcc.target/frv/all-builtin-read64.c: New.
3326 * testsuite/gcc.target/frv/all-builtin-write8.c: New.
3327 * testsuite/gcc.target/frv/all-builtin-write16.c: New.
3328 * testsuite/gcc.target/frv/all-builtin-write32.c: New.
3329 * testsuite/gcc.target/frv/all-builtin-write64.c: New.
3330 * config/frv/frv.c: Add bdesc_loads global.
3331 Add bdesc_stores global.
3332 (frv_init_builtins): Add support for __builtin_{read/write}*.
3333 (frv_volatile_memref): New.
3334 (frv_expand_load_builtin): New.
3335 (frv_expand_store_builtin): New.
3336 * config/frv/frv.h (frv_builtins): Add FRV_BUILTIN_SCAN,
3337 FRV_BUILTIN_READ8, FRV_BUILTIN_READ16, FRV_BUILTIN_READ32,
3338 FRV_BUILTIN_READ64, FRV_BUILTIN_WRITE8, FRV_BUILTIN_WRITE16,
3339 FRV_BUILTIN_WRITE32, FRV_BUILTIN_WRITE64.
3340 * config/frv/frv.md (unspecs): Add UNSPEC_BUILTIN_LOAD,
3341 UNSPEC_BUILTIN_STORE, UNSPEC_OPTIONAL_MEMBAR.
3342 (builtin_read_<mode>): New.
3343 (builtin_write_<mode>): New.
3344 (builtin_write64): New.
3345 (optional_membar_<mode>): New.
3346
db487452
R
33472005-07-26 J"orn Rennecke <joern.rennecke@st.com>
3348
3349 * emit-rtl.c (gen_lowpart_common): Compare size of MODE in bits
3350 (rather than units) against HOST_BITS_PER_WIDE_INT.
3351
783455db
KH
33522005-07-26 Kazu Hirata <kazu@codesourcery.com>
3353
3354 * ipa-pure-const.c, ipa-reference.c, ipa-reference.h,
3355 ipa-type-escape.c, ipa-type-escape.h, ipa-utils.c,
3356 ipa-utils.h, treestruct.def, config/crx/crx-protos.h,
3357 config/crx/crx.c, config/crx/crx.h, config/crx/crx.md: Update
3358 FSF address.
3359
a4174ebf
KH
3360 * calls.c, fold-const.c, ipa-reference.c, ipa-type-escape.c,
3361 tree-ssa-reassoc.c, tree-ssa-structalias.c, vec.h,
3362 config/crx/crx.c, config/m32c/m32c.c, config/m32c/m32c.h: Fix
3363 comment typos.
3364 * doc/c-tree.texi, doc/tree-ssa.texi: Fix typos.
3365
46c0a59d
RG
33662005-07-26 Richard Guenther <rguenther@suse.de>
3367
3368 PR tree-optimization/22486
3369 * fold-const.c (fold_unary): Fold away useless component
3370 references of the form (T *)&T.x, if the address
3371 doesn't change.
3372
3e2844cb
JW
33732005-07-25 James E Wilson <wilson@specifixinc.com>
3374
3375 * dwarf2out.c (add_call_src_coords_attributes): New.
3376 (gen_inlined_subroutine_die): Call it.
3377 (maybe_emit_file, init_file_table): Add comments.
3378 (prune_unused_types_walk_attribs): Pass DW_AT_call_file through
3379 maybe_emit_file.
3380 * tree-inline.c (remap_block): Copy BLOCK_SOURCE_LOCATION.
3381 (expand_call_inline): Set BLOCK_SOURCE_LOCATION.
3382 * tree.h (BLOCK_SOURCE_LOCATION): New.
3383 (struct tree_block): New field locus.
3384
9275de65
AS
33852005-07-26 Andreas Schwab <schwab@suse.de>
3386
3387 PR rtl-optimization/23043
3388 * postreload-gcse.c (eliminate_partially_redundant_load): Fix typo
3389 when allocating a struct unoccr.
3390
5306ec31
RH
33912005-07-25 Richard Henderson <rth@redhat.com>
3392
3393 PR 22626
3394 * tree-complex.c (gate_no_optimization): True if errors.
3395 * Makefile.in (tree-complex.o): Update dependencies.
3396
bfa653b3
AH
33972005-07-25 Aldy Hernandez <aldyh@redhat.com>
3398
3399 * config/frv/predicates.md (integer_register_operand): Use
3400 GPR_AP_OR_PSEUDO_P.
3401
43e364dd
AP
34022005-07-25 Andrew Pinski <pinskia@physics.uc.edu>
3403
3404 PR tree-opt/22484
3405 * tree-ssa-ccp.c (fold_stmt_inplace): Strip useless type conversions
3406 after fold.
3407 * tree-ssa-propagate.c (set_rhs): Reject invalid conditional operands.
3408
c72f711f
AP
34092005-07-25 Andrew Pinski <pinskia@physics.uc.edu>
3410
3411 * tree-ssa-reassoc.c (reassociate_expr): Allow scaler floating point
3412 types when flag_unsafe_math_optimizations is true.
3413
160633c6
MM
34142005-07-25 Mark Mitchell <mark@codesourcery.com>
3415
3416 * gcc.c (option_map): Add --sysroot.
3417 (process_command): Handle --sysroot.
3418 (display_help): Document it.
3419 * doc/cppopts.tex (-isysroot): Document.
3420 * doc/invoke.texi (--sysroot): Document.
3421 * doc/install.texi (--with-build-sysroot): Document.
3422
3423 * Makefile.in (inhibit_libc): New variable.
3424 (INHIBIT_LIBC_CFLAGS): Likewise.
3425 (LIBGCC2_CFLAGS): Include
3426 $(INHIBIT_LIBC_CFLAGS).
3427 (CRTSTUFF_CFLAGS): Include $(INHIBIT_LIBC_CFLAGS).
3428 ($(T)crtbegin.o): Do not use @inhibit_libc@.
3429 ($(T)crtend.o): Likewise.
3430 ($(T)crtbeginS.o): Do not use @inhibit_libc@.
3431 ($(T)crtendS.o): Likewise.
3432 ($(T)crtbeginT.o): Do not use @inhibit_libc@.
3433 ($(T)crtendT.o): Likewise.
3434 (stmp-fixinc): Do not complain about missing headers if
3435 inhibit_libc.
3436 * configure.ac (inhibit_libc): Set it to true/false.
3437 (--with-build-sysroot): New option. Use it to set
7904f95f 3438 SYSTEM_HEADER_DIR.
160633c6
MM
3439 * configure: Regenerated.
3440
1490f93a
MH
34412005-07-25 Manfred Hollstein <mh@suse.com>
3442
3443 * calls.c (store_one_arg): Fix unsigned comparison warning.
3444
76e20664
SB
34452005-07-25 Serge Belyshev <belyshev@depni.sinp.msu.ru>
3446
3447 PR other/22337
3448 * ggc-zone.c (ggc_alloc_zone_stat): Do not use CHUNK_OVERHEAD.
3449 (ggc_print_statistics): Initialize variable before use.
3450
5c97e2de
RG
34512005-07-25 Richard Guenther <rguenther@suse.de>
3452
3453 * tree-dfa.c (mark_new_vars_to_rename): Protect against
3454 calling with a PHI_NODE argument.
3455
3456 * tree-flow-inline.h (overlap_subvar): Protect against
3457 possible overflow.
3458
7fefc172
PB
34592005-07-25 Paolo Bonzini <bonzini@gnu.org>
3460
3461 * aclocal.m4 (gcc_AC_CHECK_TOOL): Add /bin to default directory.
3462 * configure: Regenerate.
3463
86a07404
IR
34642005-07-25 Ira Rosen <irar@il.ibm.com>
3465
3466 * expr.c (highest_pow2_factor): Make extern.
3467 * tree-data-ref.c (ptr_decl_may_alias_p): New function.
3468 (ptr_ptr_may_alias_p, may_alias_p, record_ptr_differ_p,
3469 record_array_differ_p, array_ptr_differ_p): Likewise.
3470 (base_object_differ_p): Rename (from array_base_name_differ_p). Support
3471 additional cases. Call the above functions.
3472 (base_addr_differ_p): Moved from tree-vect-analyze.c. Call
3473 base_object_differ_p when there are two base objects. Otherwise, compare
3474 base address and offset. Call may_alias_p.
3475 (dump_data_reference): Use a correct field name.
3476 (analyze_array): Make static. Initialize new data-ref fields.
3477 (analyze_indirect_ref): New function.
7904f95f
EC
3478 (init_data_ref): Initialize new data-ref fields.
3479 (strip_conversion): Moved from tree-vect-analyze.c.
7fefc172
PB
3480 (analyze_offset_expr, get_ptr_offset, address_analysis,
3481 object_analysis): Likewise.
86a07404 3482 (analyze_offset): New function.
86979811 3483 (create_data_ref): Likewise.
86a07404
IR
3484 (initialize_data_dependence_relation): Call base_addr_differ_p. Compare
3485 dimensions for ARRAY_REFs only.
3486 (build_classic_dist_vector): Make static.
3487 (access_functions_are_affine_or_constant_p): Call macro to get the
3488 address of access functions.
3489 (compute_all_dependences): Add new parameter
7904f95f 3490 compute_self_and_read_read_dependences. Compute self and read-read
86a07404
IR
3491 dependences if it is true.
3492 (find_data_references_in_loop): Call create_data_ref. Initialize new
3493 data-ref fields.
3494 (compute_data_dependences_for_loop): Add new parameter
3495 compute_self_and_read_read_dependences. Remove parameter nb_loops,
7fefc172
PB
3496 compute nb_loops. Call compute_all_dependences,
3497 build_classic_dist_vector and build_classic_dir_vector with correct
3498 parameters.
3499 (analyze_all_data_dependences): Call compute_data_dependences_for_loop
3500 with correct parameters. Compare dimensions for ARRAY_REFs only.
86a07404
IR
3501 (free_data_refs): Call macro to free access functions.
3502 * tree-data-ref.h (struct first_location_in_loop): New structure. Move
3503 fields from stmt_vinfo.
3504 (struct base_object_info): New structure.
7904f95f 3505 (struct data_reference): Move fields to base_object_info. Add fields
86a07404 3506 first_location and object_info for above structures. Move fields from
7fefc172
PB
3507 stmt_info: memtag, ptr_info, subvars, misalignment. Add new field
3508 aligned_to. Add macros to access the new fields.
86a07404
IR
3509 Update functions declarations.
3510 * tree-flow.h (is_aliased_with): Declare.
3511 * tree-loop-linear.c (linear_transform_loops): Call
3512 compute_data_dependences_for_loop with correct parameters.
3513 * tree-ssa-alias.c (is_aliased_with): New function.
86979811 3514 * tree-vect-analyze.c (vect_get_ptr_offset): Remove.
86a07404
IR
3515 (vect_analyze_offset_expr, vect_base_addr_differ_p): Likewise.
3516 (vect_analyze_data_ref_dependence): Get ddr. Remove call to
3517 vect_base_addr_differ_p, compute_subscript_distance and
3518 build_classic_dist_vector. Add printings. Check absolute value of
3519 distance.
7fefc172
PB
3520 (vect_analyze_data_ref_dependences): Go through ddrs instead of
3521 data-refs.
86a07404
IR
3522 (vect_compute_data_ref_alignment): Get the fields of data-ref instead of
3523 stmt. Check aligned_to. Check if the base is aligned. Remove conversion
3524 to bytes. Add printing.
7fefc172
PB
3525 (vect_compute_data_refs_alignment): Go through loads and stores in one
3526 loop.
86a07404
IR
3527 (vect_enhance_data_refs_alignment, vect_analyze_data_refs_alignment,
3528 vect_analyze_data_ref_access): Likewise.
3529 (vect_analyze_pointer_ref_access): Remove.
3530 (vect_address_analysis, vect_object_analysis): Likewise.
3531 (vect_analyze_data_refs): Call compute_data_dependences_for_loop to find
3532 and analyze data-refs in the loop.
7fefc172
PB
3533 * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Get the
3534 fields of data-ref instead of stmt. Add init to the offset from the
3535 base.
86a07404
IR
3536 (vect_create_data_ref_ptr): Get the fields of data-ref instead of stmt.
3537 (vect_update_init_of_dr): Likewise.
3538 (vect_update_inits_of_drs): Go through loads and stores in one loop.
7fefc172
PB
3539 * tree-vectorizer.c (new_stmt_vec_info): Remove initialization of
3540 removed fields.
86a07404
IR
3541 (new_loop_vec_info): Initialize new fields.
3542 (destroy_loop_vec_info): Free new fields.
3543 (vect_strip_conversion): Remove.
3544 * tree-vectorizer.h (enum verbosity_levels): Add new verbosity level.
3545 (struct _loop_vec_info): Unify data_ref_writes and data_ref_reads into
7904f95f 3546 datarefs. Add new field ddrs.
86a07404
IR
3547 Add macros for the new fields access.
3548 (struct _stmt_vec_info): Remove: base_address, initial_offset, step,
3549 base_aligned_p, misalignment, memtag, ptr_info and subvars.
3550 Remove their macros.
3551 * tree.h (highest_pow2_factor): Declare.
3552
0dc42b03
JJ
35532005-07-25 Jakub Jelinek <jakub@redhat.com>
3554
3555 * calls.c (store_one_arg): Check for sibling call MEM arguments
3556 from already clobbered incoming argument area.
3557
104f8784
KG
35582005-07-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3559
3560 * c-common.c (check_missing_format_attribute): New.
3561 * c-common.h (check_missing_format_attribute): Likewise.
3562 * c-typeck.c (convert_for_assignment): Use it.
3563
1b8452d0
AS
35642005-07-24 Andreas Schwab <schwab@suse.de>
3565
3566 * config/m68k/m68k.md ("extendqidi2"): When source is an address
3567 register use a word move. Correct operand of ext.w in 68000 code.
3568
2b402955
MM
35692005-07-23 Mark Mitchell <mark@codesourcery.com>
3570
3571 * dwarf2out.c (gen_variable_die): Treat un-emitted COMDAT
3572 variables as declarations, rather than definitions.
3573
c8af1197
IR
35742005-07-24 Ira Rosen <irar@il.ibm.com>
3575
86979811
SB
3576 PR tree-optimization/22526
3577 * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Match the type
3578 of the zero node.
c8af1197 3579
1b135aa5
FXC
35802005-07-24 Francois-Xavier Coudert <coudert@clipper.ens.fr>
3581
3582 * builtins.def: Add DEF_EXT_C99RES_BUILTIN to define builtins
3583 that C99 reserve for future use. Use it to define clog10,
3584 clog10f and clog10l.
3585
ac0f3f39
KG
35862005-07-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3587
3588 * Makefile.in (STRICT2_WARN): Add -Wmissing-format-attribute.
3589 * configure.ac: Check for -Wmissing-format-attribute.
7904f95f 3590
ac0f3f39
KG
3591 * configure: Regenerate.
3592
db753fa1
RH
35932005-07-23 Richard Henderson <rth@redhat.com>
3594
3595 PR tree-optimization/22623
3596 * tree-complex.c (set_component_ssa_name): Use replace_ssa_name_symbol.
3597
28f155be
GB
35982005-07-23 Giovanni Bajo <giovannibajo@libero.it>
3599
3600 PR target/22577
3601 * config/pa/pa.c (reloc_needed): Updated for VECs inside CONSTRUCTOR.
3602
db857e7d
KG
36032005-07-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3604
3605 * Makefile.in (C_TREE_H): Update dependencies.
3606 * c-tree.h: Include toplev.h.
3607 * diagnostic.h (diagnostic_set_info): Add format attribute.
3608 * rtl-error.c (diagnostic_for_asm): Likewise.
3609
118ea793
CF
36102005-07-23 Chao-ying Fu <fu@mips.com>
3611
3612 * config/mips/mips-dsp.md: New file.
3613 * config/mips/mips-modes.def (V4QI, V2HI, CCDSP): New modes.
3614 * config/mips/mips.c (mips_function_type): Add types for DSP builtin
3615 functions.
3616 (mips_builtin_type): Add MIPS_BUILTIN_DIRECT_NO_TARGET and
3617 MIPS_BUILTIN_BPOSGE32.
3618 (mips_expand_builtin_direct): Add one parameter to indicate that
3619 builtin functions need to return a value.
3620 (mips_expand_builtin_bposge): New for expanding "bposge" builtin
3621 functions.
3622 (mips_regno_to_class): Add classes for 12 new DSP registers.
3623 (mips_subword): Change to check four HI registers.
3624 (mips_output_move): Output move to and from 6 new DSP accumulators.
3625 (override_options): Make sure -mdsp and -mips16 are not used together.
3626 Map 'A' to DSP_ACC_REGS and 'a' to ACC_REGS. Enable DSP accumulators
3627 for machine modes.
3628 (mips_conditional_register_usage): Disable 6 new DSP accumulators
3629 when !TARGET_DSP.
3630 (print_operand): Add 'q' for printing DSP accumulators.
3631 (mips_cannot_change_mode_class): Check ACC_REGS.
3632 (mips_secondary_reload_class): Check ACC_REGS.
3633 (mips_vector_mode_supported_p): Enable V2HI and V4QI when TARGET_DSP.
3634 (mips_register_move_cost): Check ACC_REGS.
3635 (CODE_FOR_mips_addq_ph, CODE_FOR_mips_addu_qb, CODE_FOR_mips_subq_ph)
3636 (CODE_FOR_mips_subu_qb): New code-aliasing macros.
3637 (DIRECT_NO_TARGET_BUILTIN, BPOSGE_BUILTIN): New macros.
3638 (dsp_bdesc): New array.
3639 (bdesc_arrays): Add DSP builtin function table.
3640 (mips_prepare_builtin_arg): Check predicate again after
3641 copy_to_mode_reg.
3642 (mips_expand_builtin): Add one more parameter to
3643 mips_expand_builtin_direct. Expand MIPS_BUILTIN_DIRECT_NO_TARGET and
3644 MIPS_BUILTIN_BPOSGE32.
3645 (mips_init_builtins): Initialize new function types.
3646 (mips_expand_builtin_direct): Check if builtin functions need to
3647 return a value and pass operands properly.
3648 (mips_expand_builtin_bposge): New function.
3649 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips_dsp.
3650 (ASM_SPEC): Map -mdsp to -mdsp in GAS.
3651 (FIRST_PSEUDO_REGISTER): Increase to 188.
3652 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS):
3653 Update for 12 new DSP registers.
3654 (DSP_ACC_REG_FIRST, DSP_ACC_REG_LAST, DSP_ACC_REG_NUM, AC1HI_REGNUM)
3655 (AC1LO_REGNUM, AC2HI_REGNUM, AC2LO_REGNUM, AC3HI_REGNUM, AC3LO_REGNUM):
3656 (DSP_ACC_REG_P, ACC_REG_P, ACC_HI_REG_P): New macros.
3657 (reg_class): Add DSP_ACC_REGS and ACC_REGS.
3658 (REG_CLASS_NAMES): Add names for DSP_ACC_REGS and ACC_REGS.
3659 (REG_CLASS_CONTENTS): Update for DSP_ACC_REGS, ACC_REGS and ALL_REGS.
3660 (REG_ALLOC_ORDER): Update for 12 new DSP registers.
3661 (mips_char_to_class): Add 'A' for DSP_ACC_REGS and 'a' for ACC_REGS.
3662 (UIMM6_OPERAND, IMM10_OPERAND): New macros.
3663 (EXTRA_CONSTRAINT_Y): Add YA and YB extra constraints.
3664 (REGISTER_NAMES): Add names for 12 new DSP registers.
3665 * config/mips/mips.md: Include mips-dsp.md.
3666 (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ, UNSPEC_SUBQ_S, UNSPEC_ADDSC)
3667 (UNSPEC_ADDWC, UNSPEC_MODSUB, UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S)
3668 (UNSPEC_PRECRQ_QB_PH, UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W)
3669 (UNSPEC_PRECRQU_S_QB_PH, UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR)
3670 (UNSPEC_PRECEQU_PH_QBL, UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA)
3671 (UNSPEC_PRECEQU_PH_QBRA, UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR)
3672 (UNSPEC_PRECEU_PH_QBLA, UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL)
3673 (UNSPEC_SHLL_S, UNSPEC_SHRL_QB, UNSPEC_SHRA_PH, UNSPEC_SHRA_R)
3674 (UNSPEC_MULEU_S_PH_QBL, UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH)
3675 (UNSPEC_MULEQ_S_W_PHL, UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL)
3676 (UNSPEC_DPAU_H_QBR, UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR)
3677 (UNSPEC_DPAQ_S_W_PH, UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH)
3678 (UNSPEC_DPAQ_SA_L_W, UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL)
3679 (UNSPEC_MAQ_S_W_PHR, UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR)
3680 (UNSPEC_BITREV, UNSPEC_INSV, UNSPEC_REPL_QB, UNSPEC_REPL_PH)
3681 (UNSPEC_CMP_EQ, UNSPEC_CMP_LT, UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB)
3682 (UNSPEC_CMPGU_LT_QB, UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH)
3683 (UNSPEC_EXTR_W, UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H)
3684 (UNSPEC_EXTP, UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
3685 (UNSPEC_RDDSP): New constants.
3686 (*movdi_32bit): Change 'x' to 'a' for ACC_REGS.
3687 (*movsi_internal): Change 'x' to 'a' for ACC_REGS. Add an
3688 A<-d alternative.
3689 * config/mips/mips.opt (-mdsp): New option.
3690 * config/mips/predicates.md (const_uimm6_operand, const_imm10_operand)
3691 (reg_imm10_operand): New predicates.
3692 * doc/extend.texi (MIPS DSP Built-in Functions): New section.
3693 * doc/invoke.texi (-mdsp): Document new option.
3694
d2fcbf6f
DD
36952005-07-22 DJ Delorie <dj@redhat.com>
3696
3697 * c-objc-common.c (c_cannot_inline_tree_fn): Add warning control
3698 to warning calls.
3699 * tree-inline.c (inlinable_function_p): Likewise.
3700
9881e3e5
MM
37012005-07-22 Mark Mitchell <mark@codesourcery.com>
3702
3703 PR debug/21828
3704 * toplev.c (check_global_declarations): Do not mark undefined
3705 variables as DECL_IGNORED_P.
3706 * varasm.c (first_global_object_name): GTY it.
3707 (weak_global_object_name): Likewise.
3708 (notice_global_symbol): Use ggc_strdup, not xstrdup, when creating
3709 a string to go into {weak,first}_global_object_name.
3710
1a8d0d41
DD
37112005-07-22 DJ Delorie <dj@redhat.com>
3712
3713 * c-format.c (check_function_format): Change warning control
3714 option from OPT_Wattribute to OPT_Wmissing_format_attribute.
3715
17c7e33e
DN
37162005-07-22 Diego Novillo <dnovillo@redhat.com>
3717
3718 * tree-ssa-alias.c (count_ptr_derefs): Do not consider
3719 &PTR->FLD a dereference of PTR.
3720 * tree-ssa-structalias.c (update_alias_info): Consider &PTR->FLD
3721 a potential dereference of PTR.
3722
45002e59
R
37232005-07-22 J"orn Rennecke <joern.rennecke@st.com>
3724
191e1ff2
R
3725 PR rtl-optimization/20370
3726 * ifcvt.c (dead_or_predicable): Before calling propagate_block,
3727 call allocate_reg_info if necessary.
3728
475a3eef
R
3729 PR rtl-optimization/21848
3730 * calls.c (emit_library_call_value_1): For const functions, add
3731 USEs of the stack slots to CALL_INSN_FUNCTION_USAGE.
3732
29c1846b
R
3733 PR rtl-optimization/22445
3734 * cselib.c (target.h): Include.
3735 (rtx_equal_for_cselib_p): Allow commutative matches.
3736 (cselib_hash_rtx): Don't use MODE for CONST_INT hashing.
3737 Remove MODE parameter. Changed all callers.
3738
45002e59
R
3739 PR rtl-optimization/22258
3740 * combine.c (likely_spilled_retval_1, likely_spilled_retval_p):
3741 New functions.
3742 (try_combine): Use likely_spilled_retval_p.
3743
db869733
PW
37442005-07-22 Paul Woegerer <paul.woegerer@nsc.com>
3745
3746 * config.gcc: Add crx-elf support.
3747
3748 * doc/contrib.texi: Mention crx.
3749 * doc/extend.texi: Document crx extensions.
3750 * doc/install.texi: Document crx install.
3751 * doc/invoke.texi: Document crx options.
3752 * doc/md.texi: Document crx constraints.
3753
3754 * config/crx/crx-protos.h: New file.
3755 * config/crx/crx.c: New file.
3756 * config/crx/crx.h: New file.
3757 * config/crx/crx.md: New file.
3758 * config/crx/crx.opt: New file.
3759 * config/crx/t-crx: New file.
7904f95f 3760
32cafd73
MH
37612005-07-22 Manfred Hollstein <mh@suse.com>
3762
3763 * tree-ssa-structalias.c (merge_graph_nodes): Fix uninitialised
3764 warnings.
3765 (int_add_graph_edge): Likewise.
3766 (collapse_nodes): Likewise.
3767 (process_unification_queue): Likewise.
3768
ee184c4d 37692005-07-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
86979811 3770 Laurent GUERBY <laurent@guerby.net>
ee184c4d 3771
86979811 3772 PR tree-optimization/22336
7904f95f 3773 * function.c (record_block_change): Check for
86979811 3774 cfun->ib_boundaries_block.
7904f95f 3775
b49ceb45
JM
37762005-07-21 James A. Morrison <phython@gcc.gnu.org>
3777
3778 * fold-const.c (fold_unary): Don't strip signed nops from ABS_EXPRs.
3779 (tree_expr_nonnegative_p): Return try for TYPE_UNSIGNED.
3780
30c54de9
DD
37812005-07-21 DJ Delorie <dj@redhat.com>
3782
3783 * toplev.c (warn_deprecated_use): Add warning control to warning
3784 call.
c303630a
DD
3785 * c-typeck.c (parser_build_binary_op): Likewise.
3786 (c_finish_if_stmt): Likewise.
30480ec4
DD
3787 * c-common.c (check_function_sentinel): Likewise.
3788 (check_nonnull_arg): Likewise.
30c54de9 3789
95a8c155
RH
37902005-07-21 Richard Henderson <rth@redhat.com>
3791
3792 PR tree-opt/22504
3793 * tree-complex.c (complex_ssa_name_components): New.
3794 (cvc_lookup): Allow entry not found.
3795 (create_components): Remove.
3796 (create_one_component_var, get_component_var): New.
3797 (get_component_ssa_name, set_component_ssa_name): New.
3798 (extract_component): Use get_component_ssa_name.
3799 (update_complex_components): Use set_component_ssa_name.
3800 (update_complex_components_on_edge): Likewise.
3801 (update_phi_components): Create new PHI nodes directly, instead
3802 of adding insns to edges.
3803 (tree_lower_complex): Allocate and free complex_variable_components
3804 and complex_ssa_name_components here.
3805
c05a0766 38062005-07-20 Daniel Berlin <dberlin@dberlin.org>
7904f95f 3807
c05a0766
DB
3808 * alias.c (nonoverlapping_component_refs_p): Use TYPE_MAIN_VARIANT,
3809 revert to returning false.
3810
de343c8d
UB
38112005-07-21 Uros Bizjak <uros@kss-loka.si>
3812
86979811
SB
3813 PR target/21149
3814 * config/i386/i386.md (sse_movhlps): Fix vec_select values.
de343c8d 3815
5acc26ef
UB
38162005-07-21 Uros Bizjak <uros@kss-loka.si>
3817
3818 PR target/22576
3819 * config/i386/i386.md (cmpxf): Change operand constraints
3820 to "nonmemory_operand".
3821
61cb44fe
AP
38222005-07-21 Andrew Pinski <pinskia@physics.uc.edu>
3823
3824 * config/i386/i386.md (trap): Use "".word/t0x0b0f" instead of ud2.
3825
e2fe73f6
AP
38262005-07-21 Andrew Pinski <pinskia@physics.uc.edu>
3827
3828 PR middle-end/21180
3829 * fold-const.c (fold_build1): Add checksum for the operands.
7904f95f 3830 (fold_build2): Likewise.
e2fe73f6
AP
3831 (fold_build3): Likewise.
3832
9d24eb54
AP
38332005-07-21 Andrew Pinski <pinskia@physics.uc.edu>
3834
3835 PR middle-end/19055
3836 * fold-const.c (fold_binary): Transform "(X | Y) ^ X" to "Y & ~ X".
3837
b2e0afa0
PB
38382005-07-21 Paolo Bonzini <bonzini@gnu.org>
3839
3840 * common.opt (-fforward-propagate): Committed by mistake,
3841 removed.
3842
2e48874f
VR
38432005-07-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3844
3845 * reg-stack.c: Fix comment typo(s).
3846 * tree-ssa-operands.c: Likewise.
3847 * tree-vectorizer: Likewise.
3848
889d8465
NC
38492005-07-21 Nick Clifton <nickc@redhat.com>
3850
3851 * config/sh/symbian.c: Replace C++ style line comments with C
3852 style line comments.
86979811 3853 (symbian_add_attribute): Do not use a ? operator on the LHS of
889d8465 3854 an assignment.
86979811 3855 (sh_symbian_handle_dll_attribute): Change the type of the
889d8465
NC
3856 method vector to "VEC(tree,gc)*" and use vector accessor
3857 macros to walk over the elements.
86979811
SB
3858 (symbian_export_vtable_and_rtti_p): Likewise.
3859 (symbian_class_needs_attribute_p): Likewise.
889d8465 3860
2fab365e
PB
38612005-07-21 Paolo Bonzini <bonzini@gnu.org>
3862
3863 PR target/22085
3864 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Do not
3865 initialize targetm.resolve_overloaded_builtin here.
3866 (altivec_expand_overloaded_builtin): Make it non-static.
3867 * config/rs6000/rs6000-protos.h
3868 (altivec_expand_overloaded_builtin): New prototype.
3869 * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Initialize
3870 targetm.resolve_overloaded_builtin here.
3871 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Likewise.
3872
f9cc1a70 38732005-07-21 Paolo Bonzini <bonzini@gnu.org>
86979811 3874 Zdenek Dvorak <dvorakz@suse.cz>
f9cc1a70
PB
3875
3876 PR tree-optimization/19210
3877 * common.opt (Wunsafe-loop-optimizations, funsafe-loop-optimizations):
3878 New.
3879 * Makefile.in (tree-ssa-loop-niter.o): Depend intl.o.
3880 * loop-iv.c (get_simple_loop_desc): If -funsafe-loop-optimizations,
3881 rely on unproven assumptions.
3882 * predict.c (predict_loops): Adjust call to number_of_iterations_exit.
3883 * tree-flow.h (number_of_iterations_exit): Add final parameter.
3884 * tree-scalar-evolution.c (number_of_iterations_in_loop): Adjust call
3885 to number_of_iterations_exit.
3886 * tree-ssa-loop-ivcanon.c (empty_loop_p): Likewise.
3887 * tree-ssa-loop-ivopts.c (niter_for_exit): Likewise.
3888 * tree-ssa-loop-niter.c (find_loop_niter,
3889 estimate_numbers_of_iterations_loop): Likewise.
3890 (number_of_iterations_exit): Honor the new options.
3891 * doc/invoke.texi (Wunsafe-loop-optimizations,
3892 funsafe-loop-optimizations): Document them.
3893
cb83c2ec
RS
38942005-07-21 Richard Sandiford <richard@codesourcery.com>
3895
3896 PR rtl-optimization/22167
3897 * gcse.c (hoist_code): Fix hoist_exprs[] check.
3898
5e5cbbfb
AN
38992005-07-20 Adam Nemet <anemet@lnxw.com>
3900
3901 * config/rs6000/lynx.h: Mark __do_global_ctors_aux and
3902 __do_global_dtors_aux longcall.
3903
c2acaf06
KH
39042005-07-20 Kazu Hirata <kazu@cs.umass.edu>
3905
3906 * gensupport.c (old_preds): Don't reference PREDICATE_CODES.
3907 (old_special_pred_table): Don't reference
3908 SPECIAL_MODE_PREDICATES.
3909 * system.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Poison.
3910 * config/arc/arc.h: Don't mention PREDICATE_CODES.
3911 * config/sh/predicates.h: Don't mention
3912 SPECIAL_MODE_PREDICATES.
3913 * doc/tm.texi (PREDICATE_CODES, SPECIAL_MODE_PREDICATES):
3914 Remove.
3915
38b2d076
DD
39162005-07-20 DJ Delorie <dj@redhat.com>
3917
3918 * config.gcc: Add m32c-elf support.
3919
3920 * doc/contrib.texi: Mention m32c.
3921 * doc/extend.texi: Document m32c extensions.
3922 * doc/install.texi: Mention m32c.
3923 * doc/invoke.texi: Document m32c options.
3924 * doc/md.texi: Document m32c constraints.
3925
3926 * config/m32c/addsub.md: New file.
3927 * config/m32c/bitops.md: New file.
3928 * config/m32c/cond.md: New file.
3929 * config/m32c/jump.md: New file.
3930 * config/m32c/m32c-lib1.S: New file.
3931 * config/m32c/m32c-lib2.c: New file.
3932 * config/m32c/m32c-modes.def: New file.
3933 * config/m32c/m32c-pragma.c: New file.
3934 * config/m32c/m32c-protos.h: New file.
3935 * config/m32c/m32c.abi: New file.
3936 * config/m32c/m32c.c: New file.
3937 * config/m32c/m32c.h: New file.
3938 * config/m32c/m32c.md: New file.
3939 * config/m32c/m32c.opt: New file.
3940 * config/m32c/minmax.md: New file.
3941 * config/m32c/mov.md: New file.
3942 * config/m32c/muldiv.md: New file.
3943 * config/m32c/predicates.md: New file.
3944 * config/m32c/prologue.md: New file.
3945 * config/m32c/shift.md: New file.
3946 * config/m32c/t-m32c: New file.
3947
50b69666
KK
39482005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
3949
3950 * config/sh/sh.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New constants.
3951 (stack_protect_set, stack_protect_test): New expanders.
86979811 3952 (stack_protect_set_si, stack_protect_set_si_media,
50b69666 3953 stack_protect_set_di_media, stack_protect_test_si,
86979811 3954 stack_protect_test_si_media, stack_protect_test_di_media):
50b69666
KK
3955 New insns.
3956
71b50543
AP
39572005-07-20 Andrew Pinski <pinskia@physics.uc.edu>
3958
3959 * c-typeck.c (output_init_element): Don't copy the INTEGER_CST.
3960
4db8040c
JM
39612005-07-20 James A. Morrison <phython@gcc.gnu.org>
3962
3963 * tree.h (tree_expr_nonzero_p): Export.
3964 * fold-const.c (tree_expr_nonzero_p): Likewise.
3965 Return true for CALL_EXPRs that are alloca calls.
3966 (fold_binary): Use omit_one_operand when checking EQ_EXPRs or NE_EXPRs
3967 against zero.
3968 * tree-flow.h (expr_computes_nonzero): Remove.
3969 * tree-vrp.c (expr_computes_nonzero): Remove.
86979811 3970 (vrp_expr_computes_nonzero): Use tree_expr_nonzero_p.
4db8040c
JM
3971 (extract_range_from_unary_expr): Likewise.
3972 * tree-ssa-dom.c (record_equivalences_from_stmt): Use
3973 tree_expr_nonzero_p.
3974
6d459e2b
BS
39752005-07-20 Bernd Schmidt <bernd.schmidt@analog.com>
3976
09350e36
BS
3977 * config/bfin/bfin-protos.h (legitimize_pic_address): Don't declare.
3978 * config/bfin/bfin.c (legitimize_pic_address): Now static. Take
3979 extra arg "picreg" and use it instead of pic_offset_table_rtx.
3980 All callers changed.
3981 (frame_related_constant_load): New arg "related" which controls
3982 setting of RTX_FRAME_RELATED_P. All callers changed.
3983 (bfin_load_pic_reg): New function, broken out of bfin_expand_prologue.
3984 (bfin_expand_prologue): Add stack limit checking.
3985 * config/bfin/bfin.md (trapifcc): New pattern.
3986
05905337
BS
3987 * config/bfin/bfin.c: Include "langhooks.h".
3988 (def_builtin): Go through lang_hooks to call builtin_function.
3989
6d459e2b
BS
3990 * config/bfin/bfin-protos.h (bfin_longcall_p): Declare.
3991 * config/bfin/predicates.md (symbol_ref_operand): New.
3992 (call_insn_operand): Delete. All callers changed to use
3993 register_no_elim_operand.
3994 * config/bfin/bfin.c (init_cumulative_args): Initialize the new
3995 call_cookie field.
3996 (function_arg): Use it to generate the call's operand 2.
3997 (bfin_longcall_p): New function.
3998 (bfin_expand_call): Extra arg "cookie". All callers and declaration
3999 changed. Emit extra USE in the pattern. Use bfin_longcall_p to
4000 determine if the address needs to be in a REG.
4001 (bfin_handle_longcall_attribute): New function.
4002 (bfin_attribute_table): Add "longcall" and "shortcall".
4003 * config/bfin/bfin.h (CALL_NORMAL, CALL_LONG, CALL_SHORT): New macros.
4004 (CUMULATIVE_ARGS): New member call_cookie.
4005 (PREDICATE_CODES): Add symbol_ref_operand.
4006 * config/bfin/bfin.md (call, call_value, sibcall, sibcall_value): Add
4007 extra USE to the pattern.
4008 (call_symbol, sibcall_symbol, call_value_symbol, sibcall_value_symbol):
4009 New patterns, split off call_insn, sibcall_insn, call_value_insn and
4010 sibcall_value_insn; now the new patterns handle direct calls and the
4011 old ones indirect calls.
4012 * doc/extend.texi: Mention Blackfin in longcall/shortcall docs.
4013
67135ef4
ZD
40142005-07-20 Zdenek Dvorak <dvorakz@suse.cz>
4015
4016 * doc/trouble.texi: Update section on handling of empty loops.
4017
fdda361d
KH
40182005-07-20 Kazu Hirata <kazu@codesourcery.com>
4019
4020 * config.gcc: Remove support for sparc-*-openbsd*,
4021 i860-*-sysv4*, ip2k-*-elf, ns32k-*-netbsdelf*,
4022 ns32k-*-netbsd*.
4023 * config.host: Remove support for i860-*-sysv4* as a host.
4024 * config/i860/*, config/ip2k/*, config/ns32k/*,
4025 config/sparc/openbsd.h, config/sparc/t-openbsd: Remove.
4026 * doc/install.texi, doc/invoke.texi, doc/md.texi: Don't
4027 mention obsolete ports.
4028
96a2347e
KK
40292005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
4030
4031 * config/sh/sh.c (regno_reg_class): Add GENERAL_REGS for
4032 soft frame pointer.
4033 (sh_expand_prologue): Use hard_frame_pointer_rtx instead
4034 of frame_pointer_rtx.
4035 (sh_expand_epilogue): Likewise.
4036 (sh_set_return_address): Likewise.
4037 (initial_elimination_offset): Use HARD_FRAME_POINTER_REGNUM
4038 instead of FRAME_POINTER_REGNUM if needed. Add elimination
4039 offsets from FRAME_POINTER_REGNUM.
4040 * config/sh/sh.h (SH_REGISTER_NAMES_INITIALIZER): Add sfp.
4041 (sh_register_names): Add initializer for sfp.
4042 (GENERAL_OR_AP_REGISTER_P): Permit FRAME_POINTER_REGNUM.
4043 (VALID_REGISTER_P): Likewise.
4044 (FIRST_PSEUDO_REGISTER): Update.
4045 (DWARF_FRAME_REGISTERS): Define.
4046 (FIXED_REGISTERS, CALL_USED_REGISTERS): Add sfp.
4047 (HARD_FRAME_POINTER_REGNUM): Define.
4048 (FRAME_POINTER_REGNUM): Redefine.
4049 (ELIMINABLE_REGS): Never eliminate to FRAME_POINTER_REGNUM,
4050 but HARD_FRAME_POINTER_REGNUM instead. Add eliminations
4051 from FRAME_POINTER_REGNUM.
4052 (CAN_ELIMINATE): Use HARD_FRAME_POINTER_REGNUM instead of
4053 FRAME_POINTER_REGNUM.
4054 (REG_CLASS_CONTENTS): Add sfp.
4055 (REG_ALLOC_ORDER): Likewise.
4056 (FRAME_GROWS_DOWNWARD): Set to 1. Update comment.
4057 (GO_IF_LEGITIMATE_ADDRESS): Use hard_frame_pointer_rtx instead
4058 of frame_pointer_rtx.
4059 (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
4060
1ade5842
JM
40612005-07-19 James A. Morrison <phython@gcc.gnu.org>
4062
4063 * fold-const.c (tree_expr_nonnegative_p): Only return true for
4064 ABS_EXPR when flag_wrapv is false because of INT_MIN.
4065 (tree_expr_nonzero_p): Always call tree_expr_nonzero_p on the argument
4066 of an ABS_EXPR.
4067 (fold_unary): Always fold ABS_EXPR<ABS_EXPR<x>> into
4068 ABS_EXPR<x>.
4069
4038c495
GB
40702005-07-20 Giovanni Bajo <giovannibajo@libero.it>
4071
4072 Make CONSTRUCTOR use VEC to store initializers.
4073 * c-common.c (complete_array_type): Update to cope with VEC in
4074 CONSTRUCTOR_ELTS.
4075 * c-pretty-print.c (pp_c_initializer_list): Use pp_c_constructor_elts.
4076 (pp_c_constructor_elts): New function.
4077 * c-pretty-print.h (pp_c_constructor_elts): Declare.
4078 * c-typeck.c (build_function_call, build_c_cast, digest_init,
4079 struct constructor_stack, struct initializer_stack,
4080 constructor_elements, push_init_level, pop_init_level,
4081 add_pending_init, find_init_member, output_init_element): Update to
4082 cope with VEC in CONSTRUCTOR_ELTS.
4083 * coverage.c (build_fn_info_value, build_ctr_info_value,
4084 build_gcov_info): Likewise.
4085 * expr.c (categorize_ctor_elements_1, store_constructor,
4086 expand_expr_real_1): Likewise.
4087 * fold-const.c (fold_ternary): Likewise.
4088 * gimplify.c (gimplify_init_ctor_preeval, zero_sized_field_decl,
4089 gimplify_init_constructor, gimplify_expr): Likewise.
4090 * tree-dump.c (dequeue_and_dump): Likewise.
4091 * tree-inline.c (copy_tree_r): Add code to duplicate a CONSTRUCTOR
4092 node.
4093 * tree-pretty-print.c (dump_generic_node): Update to cope with VEC in
4094 CONSTRUCTOR_ELTS.
4095 * tree-sra.c (generate_element_init_1): Likewise.
4096 * tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise.
4097 * tree-ssa-operands.c (get_expr_operands): Likewise.
4098 * tree-vect-generic.c (expand_vector_piecewise): Likewise.
4099 * tree-vect-transform.c (vect_get_vec_def_for_operand):
4100 (get_initial_def_for_reduction): Likewise.
4101 * tree-vn.c (set_value_handle, get_value_handle): CONSTURCTOR uses
4102 value handle in annotations.
4103 * tree.c (tree_node_kind, tree_code_size, make_node_stat,
4104 tree_node_structure): Add support for constr_kind.
4105 (build_vector_from_ctor, build_constructor_single,
4106 build_constructor_from_list): New functions.
4107 (build_constructor): Update to take a VEC instead of a TREE_LIST.
4108 (simple_cst_equal, iterative_hash_expr, initializer_zerop, walk_tree):
4109 Update to cope with VEC in CONSTRUCTOR_ELTS.
4110 * tree.def (CONSTRUCTOR): Make it a tcc_exceptional node.
4111 * tree.h (FOR_EACH_CONSTRUCTOR_VALUE, FOR_EACH_CONSTRUCTOR_ELT,
4112 CONSTRUCTOR_APPEND_ELT): New macros.
4113 (struct constructor_elt, struct tree_constructor): New data types.
4114 (union tree_node): Add tree_constructor field.
4115 * treestruct.def: Define TS_CONSTRUCTOR.
4116 * varasm.c (const_hash_1, compare_constant, copy_constant,
4117 compute_reloc_for_constant, output_addressed_constants,
4118 initializer_constant_valid_p, output_constant,
4119 array_size_for_constructor, output_constructor): Update to cope with
4120 VEC in CONSTRUCTOR_ELTS.
4121 * vec.h (VEC_empty, VEC_copy): New macros.
4122
f37d7c60
DP
41232005-07-19 Devang Patel <dpatel@apple.com>
4124
4125 * dbxout.c (dbxout_type): Check Objective-C++ lang.
7904f95f 4126
af62f6f9
RH
41272005-07-19 Richard Henderson <rth@redhat.com>
4128
4129 PR tree-opt/22278
4130 * gimplify.c (gimplify_expr): Use main variant type for the temp
4131 destination for a discarded volatile read.
4132 * tree-ssa.c (tree_ssa_useless_type_conversion_1): Don't elide
4133 casts between non-void types that change volatility.
4134
b9b8dde3
DD
41352005-07-15 DJ Delorie <dj@redhat.com>
4136
4137 * toplev.h: Add comment about the first parameter for warning().
4138 * errors.h: Likewise.
4139
4140 * c.opt (Wpragmas): New.
4141 * doc/invoke.texi: Document it.
7904f95f 4142
b9b8dde3
DD
4143 * function.c (do_warn_unused_parameter): Add warning control to
4144 warning call.
4145 * c-decl.c (warn_if_shadowing): Likewise.
4146 * c-lex.c (cb_def_pragma): Likewise.
4147 * c-pragma.c (GCC_BAD, GCC_BAD2): Likewise.
4148 (pop_alignment): Likewise.
4149 (handle_pragma_pack): Likewise.
4150 (apply_pragma_weak): Likewise.
4151 (handle_pragma_weak): Likewise.
4152 (handle_pragma_redefine_extname): Likewise.
4153 (add_to_renaming_pragma_list): Likewise.
4154 (handle_pragma_extern_prefix): Likewise.
4155 (maybe_apply_renaming_pragma): Likewise.
4156 (handle_pragma_visibility): Likewise.
7904f95f 4157
b9b8dde3
DD
4158 * config/c4x/c4x-c.c (BAD): Likewise.
4159 (c4x_parse_pragma): Likewise.
4160 * config/ia64/ia64-c.c (ia64_hpux_handle_builtin_pragma): Likewise.
4161 * config/rs6000/rs6000-c.c (SYNTAX_ERROR): Likewise.
4162 (rs6000_pragma_longcall): Likewise.
4163 * config/v850/v850-c.c (pop_data_area): Likewise.
4164 (ghs_pragma_section): Likewise.
4165 (ghs_pragma_section): Likewise.
4166 (ghs_pragma_interrupt): Likewise.
4167 (ghs_pragma_starttda): Likewise.
4168 (ghs_pragma_startsda): Likewise.
4169 (ghs_pragma_startzda): Likewise.
4170 (ghs_pragma_endtda): Likewise.
4171 (ghs_pragma_endsda): Likewise.
4172 (ghs_pragma_endzda): Likewise.
4173
6a9a79a8
DB
41742005-07-19 Danny Berlin <dberlin@dberlin.org>
4175 Kenneth Zadeck <zadeck@naturalbridge.com>
4176
4177 * Makefile.in: Removed tree-promote-statics.c
4178 * tree-promote-statics.c: Removed.
4179 * common.opt: Removed flag-promote-statics.
4180 * opts.c: Ditto.
7904f95f 4181 * passes.c: Removed tree-promote-statics pass.
6a9a79a8
DB
4182 * tree-pass.h: Ditto.
4183 * timevar.def: Removed TV_PROMOTE_STATICS.
4184
4185
0219cf3d
GP
41862005-07-19 Gerald Pfeifer <gerald@pfeifer.com>
4187
4188 * config.gcc: Add support for *-*-freebsd7, *-*-freebsd8,
4189 and *-*-freebsd9.
4190 * config/freebsd-spec.h (FBSD_TARGET_OS_CPP_BUILTINS): Ditto.
7904f95f 4191
7876a414
KG
41922005-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4193
4194 PR c/22476
4195 * c-common.c (check_function_arguments): Call
4196 'check_function_format' if either -Wformat or
4197 -Wmissing-format-attribute are specified.
4198 * c-format.c (check_function_format): Check -Wformat before
4199 calling 'check_format_info'.
4200 * c-opts.c (c_common_post_options): Don't warn for
4201 -Wmissing-format-attribute without -Wformat.
4202 * c-typeck.c (convert_for_assignment): Detect additional cases for
4203 -Wmissing-format-attribute.
4204 * doc/invoke.texi (-Wmissing-format-attribute): Document new
4205 behavior.
4206
98ea7437
RG
42072005-07-19 Richard Guenther <rguenther@suse.de>
4208
4209 * config/i386/i386.md (lrint<mode>2): Use temporary
4210 instead of clobbering non-existent memory.
4211
89a0b917
NC
42122005-07-19 Nick Clifton <nickc@redhat.com>
4213
4214 * config/avr/avr.c (legitimate_address_p): Fix debugging print
4215 statement to avoid displaying ASCII control characters.
4216
dfea6c85
BE
42172005-07-19 Ben Elliston <bje@au.ibm.com>
4218
4219 * bt-load.c (link_btr_uses): Fix uninitialised warnings.
4220 * cfganal.c (find_edge_index): Ditto.
4221 * combine.c (combine_instructions): Ditto.
4222 * ddg.c (create_scc): Ditto.
4223 (find_successors): Ditto.
4224 (find_predecessors): Ditto.
4225 (find_nodes_on_paths): Ditto.
4226 (longest_simple_path): Ditto.
4227 * flow.c (update_life_info): Ditto.
4228 (count_or_remove_death_notes): Ditto.
4229 (clear_log_links): Ditto.
4230 * modulo-sched.c (generate_reg_moves): Ditto.
4231 (find_max_asap): Ditto.
4232 (find_max_hv_min_mob): Ditto.
4233 (find_max_dv_min_mob): Ditto.
4234 * sbitmap.c (sbitmap_first_set_bit): Ditto.
4235 * sched-rgn.c (extract_edgelst): Ditto.
4236 * tree-into-ssa.c (prepare_names_to_update): Ditto.
4237 (dump_update_ssa): Ditto.
4238 (ssa_names_to_replace) Ditto.
4239 (switch_virtuals_to_full_rewrite): Ditto.
4240 (update_ssa): Ditto.
4241 * tree-vect-transform.c (vect_create_epilog_for_reduction): Ditto.
4242
b9d33488
DB
42432005-07-18 Daniel Berlin <dberlin@dberlin.org>
4244
4245 Fix PR tree-optimization/22483
7904f95f 4246
b9d33488
DB
4247 * tree-complex.c (create_components): Use
4248 safe_referenced_var_iterator and FOR_EACH_REFERENCED_VAR_SAFE.
4249 * tree-flow-inline.h (fill_referenced_var_vec): New function.
4250 * tree-flow.h (safe_referenced_var_iterator): New structure.
4251 (FOR_EACH_REFERENCED_VAR_SAFE): New macro.
4252 * tree-ssa-alias.c (setup_pointers_and_addressables): Use
4253 safe_referenced_var iterator.
4254 (add_type_alias): Ditto.
4255
9fa26457
SB
42562005-07-19 Steven Bosscher <stevenb@suse.de>
4257
4258 * loop-init.c (rest_of_handle_loop2): Remove.
4259 (rtl_loop_init, rtl_loop_done, rtl_move_loop_invariants,
4260 rtl_unswitch, rtl_unroll_and_peel_loops, rtl_doloop): New functions.
4261 (pass_rtl_loop_init, pass_rtl_loop_done,
4262 pass_rtl_move_loop_invariants, pass_rtl_unswitch,
4263 pass_rtl_unroll_and_peel_loops, pass_rtl_doloop): New passes.
4264 * tree-ssa-loop.c (pass_loop, pass_loop_init, pass_loop_done,
4265 pass_unswitch): Rename to pass_tree_loop, pass_tree_loop_init,
4266 pass_tree_loop_done, and pass_tree_unswitch.
4267 (gate_loop): Rename to gate_tree_loop.
4268 * passes.c (init_optimization_passes): Update for renamed tree
4269 loop passes. Add the new loop2 passes as subpasses of loop2.
4270 * tree-pass.h: Add extern declarations for the new loop2 subpasses.
4271 Update for the renamed tree loop passes.
4272
7825308e
ILT
42732005-07-18 Ian Lance Taylor <ian@airs.com>
4274
4275 PR middle-end/22057
4276 * tree-cfgcleanup.c (cleanup_tree_cfg): Only remove forwarder
4277 blocks when optimizing.
4278
2928d0f8
SE
42792005-07-18 Steve Ellcey <sje@cup.hp.com>
4280
4281 * common.opt (frename-registers): Initialize to 2.
4282 (fweb): Ditto.
4283 (fgcse-after-reload): Ditto.
4284 * toplev.c (AUTODETECT_FLAG_VAR_TRACKING): Rename to AUTODETECT_VALUE.
4285 (process_options): Only change flag_web, flag_rename_registers,
4286 and flag_rerun_cse_after_loop if not explicitly set by user.
4287
28356f52
JB
42882005-07-18 Jan Beulich <jbeulich@novell.com>
4289
4290 * config/i386/i386.c (ix86_expand_branch, ix86_expand_setcc,
4291 ix86_expand_carry_flag_compare, ix86_expand_int_movcc): Handle TImode
4292 in 64-bit mode the same as DImode in 32-bit mode.
4293 (ix86_expand_ashl_const, ix86_split_ashl, ix86_split_ashr,
4294 ix86_split_lshr): Likewise. Rename to no longer refer to a specific
7904f95f 4295 mode. Add new mode parameter.
28356f52
JB
4296 * config/i386/i386.h (CONST_OK_FOR_LETTER_P): Describe and handle 'O'.
4297 * config/i386/i386.md (cmpti, addti3, subti3, negti2, ashlti3, ashrti3,
4298 x86_64_shift_adj): New expanders.
4299 (*addti3_1, *subti3_1, *negti2_1, ashlti3_1, *ashlti3_2, ashrti3_1,
4300 *ashrti3_2, lshrti3_1, *lshrti3_2, x86_64_shld, x86_64_shrd): New
4301 insns.
4302 Respective new splitters. Use renamed shift splitter helpers in 32-bit
4303 DImode shift splitters.
4304 * config/i386/i386-protos.h (ix86_split_ashl, ix86_split_ashr,
4305 ix86_split_lshr): Renamed from ix86_split_[al]sh[rl]di. Added new
4306 mode parameter.
4307
422edd6f
JB
43082005-07-18 Jan Beulich <jbeulich@novell.com>
4309
4310 * i386.md (movdi_extzv_1): New.
4311 (zero_extendhidi2): Combine alternatives and never force use of
4312 REX64 prefix.
4313 (zero_extendqidi2): Likewise. Don't restrict input selection.
4314
c625053b
DB
43152005-07-17 Daniel Berlin <dberlin@dberlin.org>
4316
4317 Fix PR tree-optimization/22531
4318 * tree-ssa-pre.c (do_eustores): Make sure LHS is a decl for the
4319 moment.
4320
3b1355f3
DB
43212005-07-17 Daniel Berlin <dberlin@dberlin.org>
4322
4323 * tree-promote-statics.c (pass_promote_statics): Change dump file
4324 name.
4325
43262005-07-17 Daniel Berlin <dberlin@dberlin.org>
45159bf6
DB
4327
4328 * tree-optimize.c (init_tree_optimization_passes): Add
4329 pass_eliminate_useless_stores pass.
4330 * tree-pass.h (pass_eliminate_useless_stores): New pass structure.
4331 * tree-ssa-pre.c (is_copy_stmt): New function.
4332 (follow_copies_till_vuse): Ditto.
4333 (do_eustores): Ditto.
7904f95f
EC
4334 (gate_eustores): Ditto.
4335
7544a87f
RH
43362005-07-16 Richard Henderson <rth@redhat.com>
4337
4338 * gcc.c (MFWRAP_SPEC): Don't wrap pthread_join or pthread_exit.
4339
bf0d50f1
KZ
43402005-07-16 Danny Berlin <dberlin@dberlin.org>
4341 Kenneth Zadeck <zadeck@naturalbridge.com>
4342
4343 * Makefile.in: Added rules for ipa-pure-const.c, ipa-reference.c,
4344 ipa-reference.h, ipa-utils.c, ipa-utils.h, ipa-type-escape.c,
4345 ipa-type-escape.h, tree-promote-statics.c
4346 * ipa-pure-const.c, ipa-reference.c, ipa-reference.h, ipa-utils.c,
7904f95f 4347 ipa-utils.h, ipa-type-escape.c, ipa-type-escape.h,
bf0d50f1
KZ
4348 tree-promote-statics.c: new files.
4349 * alias.c: (nonlocal_mentioned_p_1, nonlocal_mentioned_p,
4350 nonlocal_referenced_p_1, nonlocal_referenced_p, nonlocal_set_p_1,
4351 int nonlocal_set_p, mark_constant_function): Deleted.
7904f95f 4352 (rest_of_handle_cfg): Removed call to mark_constant_function.
86979811 4353 (nonoverlapping_component_refs_p): Added calls to support
7904f95f 4354 type based aliasing.
86979811 4355 * tree-ssa-alias.c (may_alias_p,
bf0d50f1
KZ
4356 compute_flow_insensitive_aliasing): Ditto.
4357 * calls.c (flags_from_decl_or_type): Removed reference to
7904f95f 4358 cgraph_rtl_info.
86979811 4359 * c-typeck.c (convert_arguments): Make builtins tolerant of having
bf0d50f1
KZ
4360 too many arguments. This is necessary for Spec 2000.
4361 * cgraph.h (const_function, pure_function): Removed.
7904f95f 4362 * common.opt: Added "fipa-pure-const", "fipa-reference",
bf0d50f1
KZ
4363 "fipa-type-escape", and "ftree-promote-static".
4364 * opts.c: Ditto.
7904f95f 4365 * passes.c: Added ipa and tree-promote-statics passes.
bf0d50f1
KZ
4366 * timevar.def: Added TV_IPA_PURE_CONST, TV_IPA_REFERENCE,
4367 TV_IPA_TYPE_ESCAPE, and TV_PROMOTE_STATICS.
bf0d50f1 4368 * tree-dfa.c (referenced_var_lookup_if_exists): New function.
7904f95f 4369 * tree-flow.h: Added exposed sra calls and addition of
bf0d50f1
KZ
4370 reference_vars_info field for FUNCTION_DECLS.
4371 * tree-pass.h: Added passes.
4372 * tree-sra.c: (sra_init_cache): New function.
4373 (sra_insert_before, sra_insert_after) Made public.
4374 (type_can_be_decomposed_p): Renamed from type_can_be_decomposed_p
4375 and made public.
4376 * tree-ssa-alias.c (dump_alias_stats): Added stats for type based
4377 aliasing. (may_alias_p): Added code to use type escape analysis to
4378 improve alias sets.
4379 * tree-ssa-operands.c (add_call_clobber_ops): Added parameter and
4380 code to prune clobbers of static variables based on information
4381 produced in ipa-reference pass. Changed call clobbering so that
4382 statics are not marked as clobbered if the call does not clobber
4383 them.
4384
b6e0bdbd
DB
43852005-07-16 Daniel Berlin <dberlin@dberlin.org>
4386
4387 * tree-ssa-structalias.c (need_to_solve): Need to check for preds,
4388 too.
4389
ff8f80f2 43902005-07-16 Eric Botcazou <ebotcazou@libertysurf.fr>
2c00bd42
EB
4391
4392 * doc/install.texi (*-*-solaris2*): Document recommended version
4393 of GNU binutils and mention GNU linker problem on Solaris 10.
4394
0b359b01
JM
43952005-07-16 Joseph S. Myers <joseph@codesourcery.com>
4396
4397 PR c/22421
4398 * c-decl.c (c_build_bitfield_integer_type): New function.
4399 (finish_struct): Call it.
4400 * c-pretty-print.c (pp_c_type_specifier): Handle bit-field types.
4401
8fcef540
KG
44022005-07-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4403
4404 * c-typeck.c (digest_init): Call 'convert_for_assignment'
4405 before returning.
4406
84fc24e8
JH
44072005-07-16 Jan Hubicka <jh@suse.cz>
4408
4409 * cfg.c (update_bb_profile_for_threading): Fix profile updating.
4410 (scale_bbs_frequencies_int): Watch roundoff errors.
4411 * predict.c (return_prediction): Initialize return_stmt.
4412
3258272f
JH
44132005-07-16 Jan Hubicka <jh@suse.cz>
4414
4415 * profile.c (rest_of_handle_branch_prob): Fix handling of estimation
4416 after RTL profiling.
4417
01c0a9fa
AP
44182005-07-11 Andrew Pinski <pinskia@physics.uc.edu>
4419
4420 PR middle-end/22398
4421 * fold-const.c (build_range_check): Convert high/low to etype
4422 if we are only comparing against exp.
4423
27811bfe
DB
44242005-07-13 Daniel Berlin <dberlin@dberlin.org>
4425
4426 Fix PR tree-optimization/22376
4427 * tree-ssa-structalias.c (build_constraint_graph): We really meant
4428 special var here.
4429 (need_to_solve): New function.
4430 (compute_points_to_sets): Use it.
7904f95f 4431
2b151cb2
JH
44322005-07-15 Jan Hubicka <jh@suse.cz>
4433
4434 * cfg.c (update_bb_profile_for_threading): More diagnostic.
4435 * tree-ssa-threadupdate.c (redirect_edges): Update profile of dup_block.
4436
0691d1d4
RG
44372005-07-15 Richard Guenther <rguenther@suse.de>
4438
4439 * c-common.c (handle_flatten_attribute): New function.
4440 Add flatten function attribute.
4441 * doc/extend.texi: Document flatten function attribute.
4442 * Makefile.in (ipa-inline.o): Depend on hashtab.h.
4443 * ipa-inline.c (cgraph_find_cycles, cgraph_flatten_node):
4444 New functions.
4445 (cgraph_decide_inlining): Handle functions with flatten
4446 attribute.
4447
9f0076e5
DE
44482005-07-14 David Edelsohn <edelsohn@gnu.org>
4449
4450 * config/rs6000/rs6000.md (UNSPEC_SYNC, UNSPEC_LWSYNC,
4451 UNSPEC_ISYNC, UNSPEC_SYNC_OP, UNSPEC_ATOMIC, UNSPEC_CMPXCHG,
4452 UNSPEC_XCHG, UNSPEC_AND): New.
4453 (UNSPECV_ATOMIC, UNSPECV_SYNC, UNSPECV_SYNC_OP, UNSPECV_CMPXCHG,
4454 UNSPECV_LWSYNC, UNSPECV_ISYNC): Delete.
4455 * config/rs6000/sync.md (FETCHOP): New code macro.
4456 (fetchop_name, fetchop_pred, fetchopsi_constr, fetchopdi_constr):
4457 New code attrs.
4458 (memory_barrier, sync_internal): Use unspec instead of unspec_volatile.
4459 (sync_compare_and_swap<mode>): Same.
4460 (sync_lock_test_and_set<mode>): Same.
4461 (sync_<fetchop><mode>, sync_nand<mode>): Only use rs6000_emit_sync
4462 for QImode and HImode, and not PPC405.
4463 (sync_old_<fetchop><mode>, sync_old_nand<mode>): Same.
4464 (sync_new_<fetchop><mode>, sync_new_nand<mode>): Same.
4465 (sync_<fetchop>{si,di}_internal): New.
4466 (sync_nand{si,di}_internal): New.
4467 (sync_old_<fetchop>{si,di}_internal): New.
4468 (sync_old_nand{si,di}_internal): New
4469 (sync_new_<fetchop>{si,di}_internal): New.
4470 (sync_new_nand{si,di}_internal): New.
4471 (atomic_and{si,di}): New.
4472 (sync_new_nand{si,di}_internal): New.
4473 (atomic_and{si,di}): New.
4474 (sync_add<mode>_internal): Delete.
4475 (sync_addshort_internal): Use unspec instead of unspec_volatile.
4476 (sync_sub<mode>_internal): Delte.
4477 (sync_subshort_internal): New.
4478 (sync_andsi_internal): Use unspec instead of unspec_volatile.
4479 (sync_anddi_internal): Delete.
4480 (sync_boolsi_internal): Use unspec instead of unspec_volatile.
4481 (sync_booldi_internal): Delete.
4482 (sync_boolc<mode>_internal): Delete.
4483 (sync_boolcshort_internal): Use unspec instead of unspec_volatile.
4484 (sync_boolc<mode>_internal2): Delete.
4485 (sync_boolcc<mode>_internal): Delete.
4486 (isync, lwsync): Use unspec instead of unspec_volatile.
4487 * config/rs6000/rs6000.c (rs6000_emit_sync): Implement MINUS.
4488 Revert UNSPEC_VOLATILE.
4489 (rs6000_split_atomic_op): New.
4490 * config/rs6000/rs6000-protos.h (rs6000_split_atomic_op): Declare.
4491
06277571
EC
44922005-07-14 Eric Christopher <echristo@redhat.com>
4493
4494 * config/mips/mips.c (mips_canonicalize_comparison): Cast
4495 argument of trunc_int_for_mode to unsigned HOST_WIDE_INT.
4496
b838c72b
EC
44972005-07-14 Eric Christopher <echristo@redhat.com>
4498
4499 * config/s390/t-tpf (SHLIB_MAPFILES): Remove.
4500
3c341936
SB
45012005-07-14 Steven Bosscher <stevenb@suse.de>
4502
4503 PR tree-optimization/22230
4504 * tree-vrp.c (extract_range_from_binary_expr): Fix logics thinko in
4505 the computation of the four cross productions for "range op range".
4506
704b6cb5 45072005-07-14 Alexandre Oliva <aoliva@redhat.com>
86979811 4508 Ulrich Weigand <uweigand@de.ibm.com>
704b6cb5
AO
4509
4510 PR target/20126
4511 * loop.c (loop_givs_rescan): Do not ICE if unable to reduce an IV
4512 in some insn.
4513
a771c4b3
UW
45142005-07-14 Ulrich Weigand <uweigand@de.ibm.com>
4515
4516 * config/s390/s390.h (TARGET_TPF_PROFILING): Add default definition.
4517
6f3113ed
SE
45182005-07-14 Steve Ellcey <sje@cup.hp.com>
4519
4520 * config/ia64/ia64.c (ia64_output_dwarf_dtprel): Support ILP32 mode.
4521
cb1119b7
RG
45222005-07-14 Richard Guenther <rguenther@suse.de>
4523
4524 PR middle-end/22347
4525 * config/i386/i386-protos.h (ix86_function_value): Change
4526 prototype to match new target hook.
4527 * config/i386/i386.c (ix86_value_regno): Change prototype
4528 to take extra type argument.
4529 (TARGET_FUNCTION_VALUE): Define.
4530 (ix86_function_ok_for_sibcall): Pass extra argument to
4531 ix86_value_regno, check return slot rtx for exact match.
4532 (ix86_function_value): Take extra parameter. Dispatch to
4533 ix86_value_regno with fndecl/fntype as provided.
4534 (ix86_value_regno): Handle extra type argument.
4535 * config/i386/i386.h (FUNCTION_VALUE): No longer define.
4536
4537 * testsuite/gcc.target/i386/sseregparm-3.c: New testcase.
4538 * testsuite/gcc.target/i386/sseregparm-4.c: New testcase.
4539 * testsuite/gcc.target/i386/sseregparm-5.c: New testcase.
4540 * testsuite/gcc.target/i386/sseregparm-6.c: New testcase.
4541 * testsuite/gcc.target/i386/sseregparm-7.c: New testcase.
4542
1d636cc6
RG
45432005-07-14 Richard Guenther <rguenther@suse.de>
4544
4545 * Makefile.in (explow.o, reg-stack.o): Depend on target.h.
4546 * calls.c (expand_call): Pass fntype to hard_function_value.
4547 (emit_library_call_value_1): Likewise.
4548 * explow.c: Include target.h.
4549 (hard_function_value): Take extra argument, the fntype.
4550 Use new target hook for function_value.
4551 * expr.h (hard_function_value): Change prototype.
4552 * function.c (aggregate_value_p): Pass 0 as fntype to
4553 hard_function_value.
4554 (assign_parms): Use new target hook for function_value.
4555 Pass 0 as fntype to hard_function_value.
4556 (expand_function_end): Likewise.
4557 * reg-stack.c: Include target.h.
4558 (stack_result): Use new target hook for function_value.
4559 * target-def.h: New target hook function_value.
4560 * target.h: Likewise.
4561 * targhooks.c (default_function_value): New function.
4562 * targhooks.h (default_function_value): Declare.
4563
09d8cc0e
ILT
45642005-07-13 Ian Lance Taylor <ian@airs.com>
4565
4566 * config/mips/mips.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
4567
df1f6f31
JH
45682005-07-14 Jan Hubicka <jh@suse.cz>
4569
4570 * tree-dfa.c (dump_variable): Use default_def function.
4571 * tree-ssa-alias.c (dump_points_to_info): Likewise.
4572 * tree-ssa.c (verify_use): Likewise.
4573 * tree-ssanames.c (release_ssa_name): Likewise.
4574 * tree-tailcall.c (eliminate_tail_call): Likewise.
4575 (tree_optimize_tail_calls_1): Likewise.
4576 * tree-vrp.c (get_value_range): Likewise.
4577
9ef0b1bd
BE
45782005-07-14 Ben Elliston <bje@au.ibm.com>
4579
4580 * gcc.c (main): Compare language[0] with '*' when iterating over
4581 the infiles.
4582
69950452
AS
4583