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