]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
re PR target/19010 (sse and mmx parameter passing broken)
[gcc.git] / gcc / ChangeLog
CommitLineData
dcbca208
RH
12004-12-15 Richard Henderson <rth@redhat.com>
2
3 PR target/19010
4 * config/i386/i386.c (ix86_must_pass_in_stack): Don't return true
5 for TImode vectors.
6 (gen_reg_or_parallel): New.
7 (function_arg): Use it.
8 (ix86_hard_regno_mode_ok): Test SSE1 and SSE2 separately,
9 MMX and 3DNOW separately.
10 (ix86_rtx_costs): Simplify FLOAT_EXTEND case.
11 (ix86_vector_mode_supported_p): Test SSE1 and SSE2 separately.
12 * config/i386/i386.h (VALID_SSE2_REG_MODE): Move SSE2 cases from ...
13 (VALID_SSE_REG_MODE): ... here.
14
4586c557
DE
152004-12-15 David Edelsohn <edelsohn@gnu.org>
16
17 * xcoffout.c (xcoffout_declare_function): Change strncpy to memcpy.
18
06d5588c
ILT
192004-12-15 Ian Lance Taylor <ian@wasabisystems.com>
20
21 * config/arm/arm.c (arm_xscale_rtx_costs): Increase cost of
22 COMPARE of MULT.
23 * config/arm/arm.md (mulsi3_compare0): Don't check
24 arm_arch_xscale.
25 (mulsi_compare0_scratch, mulsi3_addsi_compare0): Likewise.
26 (mulsi3addsi_compare0_scratch): Likewise.
27
9593d79a
EB
282004-12-15 Eric Botcazou <ebotcazou@libertysurf.fr>
29
30 PR other/18665
31 * libgcc-std.ver (GCC_3.4.4): Inherit from GCC_3.4.2.
32 Export __absvti2, __addvti3, __mulvti3, __negvti2 and __subvti3.
33 * libgcc2.c (__addvsi3): Rename to __addvSI3.
34 New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
35 (__addvdi3): Rename to __addvDI3.
36 (__subvsi3): Rename to __subvSI3. Use word type for the result.
37 New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
38 (__subvdi3): Rename to __subvDI3.
39 (_mulvsi3): Rename to _mulvSI3.
40 New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
41 (_mulvdi3): Rename to _mulvDI3.
42 (__negvsi2): Rename to __negvSI2.
43 New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
44 (__negvdi2): Rename to __negvDI2.
45 (__absvsi2): Rename to __absvSI2.
46 New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
47 (__absvdi2): Rename to __absvDI2.
48 * libgcc2.h (64-bit targets): Define COMPAT_SIMODE_TRAPPING_ARITHMETIC.
49 (__absvSI2, __addvSI3, __subvSI3, __mulvSI3, __negvSI2, __absvDI2,
50 __addvDI3, __subvDI3, __mulvDI3, __negvDI2): Define to the appropriate
51 symbol and declare.
52 (__absvsi2, __addvsi3, __subvsi3, __mulvsi3, __negvsi2): Declare if
53 COMPAT_SIMODE_TRAPPING_ARITHMETIC.
54
25941194
KI
552004-12-15 Kazuhiro Inaoka <inaoka.kazuhiro@reneasas.com>
56
57 * config/m32r/m32r.h (PREFERRED_DEBUGGING_TYPE):
58 Use DWARF2_DEBUG.
59
c331bf08
KI
60 * config/m32r.c (m32r_legitimize_pic_address): Changed
61 to support GOTOFF relocation.
62 * config/m32r.md (UNSPEC_GOTOFF): New.
63 (gotoff_load_addr): New.
64
eef5d0d1
RS
652004-12-15 Richard Sandiford <rsandifo@redhat.com>
66
67 * config/mips/mips.c (mips_arg_info): Use FUNCTION_ARG_BOUNDARY to
68 decide whether an argument is double-word aligned.
69
0022b96a
RH
702004-12-15 Richard Henderson <rth@redhat.com>
71
72 * config/i386/i386.md: Fix missing modes on cmove splitters.
73
92f51df7
JB
742004-12-15 Jan Beulich <jbeulich@novell.com>
75
76 * mklibgcc.in (libgcc2_c_dep): Add dependency on libgcc2.h.
77
da8947b0
UB
782004-12-15 Uros Bizjak <uros@kss-loka.si>
79
80 * config/i386/i386.md (floathisf2, *floathisf2_1, floatsisf2,
81 *floatsisf2_i387, *floatsisf2_sse, floatdisf2,
82 *floatdisf2_i387_only, *floatdisf2_i387, *floatdisf2_sse,
83 floathidf2, *floathidf2_1, *floatsidf2_i387, *floatsidf2_sse,
84 floatdidf2, *floatdidf2_i387_only, *floatdidf2_i387,
85 *floatdidf2_sse, floatunssisf2, floatunsdisf2, floatunsdidf2):
86 Unify enable constraint with respect to TARGET_80387, TARGET_SSE,
87 TARGET_SSE2, TARGET_64BIT, TARGET_SSE_MATH and TARGET_MIX_SSE_I387.
88 (*float?i?f_i387): Rename to *float?i?f2_mixed.
89 (*float?i?f2_1): Rename to *float?i?f2_i387.
90 (*float?i?f2_i387_only): Rename to *float?i?f2_i387.
91 (float?ixf2): Penalize integer register operand.
92
e41f3691
JDA
932004-12-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
94
95 PR c++/17242
96 * configure.ac: Add GAS check for HP-UX .nsubspa comdat.
97 * configure, config.in: Rebuilt.
98 * config/pa/pa-hpux10.h (SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY): Delete
99 defines.
100 * config/pa/pa.c (pa_select_section): Allow uninitialized variables in
101 one-only (comdat) subspaces.
102 * config/pa/som.h (SUPPORTS_SOM_COMDAT): New define.
103 (SUPPORTS_ONE_ONLY): True if SUPPORTS_WEAK or SUPPORTS_SOM_COMDAT are
104 true.
105 (MAKE_DECL_ONE_ONLY): Place uninitialized variables in common.
106
6bd26f0b
ILT
1072004-12-14 Ian Lance Taylor <ian@wasabisystems.com>
108
109 * combine.c (combine_validate_cost): Consider cost of
110 undobuf.other_insn rather than always allowing the recombination
111 if it is set.
112
b3e30ec0
JDA
1132004-12-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
114
115 * pa-host.c (MAP_FAILED): Define if not defined.
116 (pa_gt_pch_use_address): Handle short reads.
117
7cacf53e
RH
1182004-12-14 Richard Henderson <rth@redhat.com>
119
120 PR target/17990
121 * config/i386/i386.c (x86_use_bt): New.
122 (ix86_expand_unary_operator): Use MEM_P.
123 (ix86_expand_fp_absneg_operator): New.
124 * config/i386/i386.h (x86_use_bt): Declare.
125 (TARGET_USE_BT): New.
126 * config/i386/i386-protos.h: Update.
127 * config/i386/i386.md (negsf2): Use ix86_expand_fp_absneg_operator.
128 (negdf2, negxf2, abssf2, absdf2, absxf2): Likewise.
129 (negsf2_memory, negsf2_ifs, negsf2_if, negdf2_memory, negdf2_ifs,
130 negdf2_ifs_rex64, negdf2_if, negdf2_if_rex64, negxf2_if,
131 abssf2_memory, abssf2_ifs, abssf2_if, absdf2_memory, absdf2_ifs,
132 absdf2_ifs_rex64, absdf2_if, absxf2_if): Remove.
133 (absnegsf2_mixed, absnegsf2_sse, absnegsf2_i387, absnegdf2_mixed,
134 absnegdf2_sse, absnegdf2_i387, absnegxf2_i387): New. Merge all
135 neg and abs splitters. Handle DFmode in general regs in 64-bit mode.
136 (negextendsfdf2, absextendsfdf2): Disable for non-mixed sse math.
137 (btsq, btrq, btcq): New. Add peepholes as well.
138 (movv4sf_internal splitter): Postpone til after reload.
139 (movv2di_internal splitter): Likewise.
140 * config/i386/predicates.md (const_0_to_63_operand): New.
141 (absneg_operator): New.
142
6af713e4
JDA
1432004-12-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
144
145 * pa.h (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P):
146 Check register number and that reg_renumber is nonzero before using it.
147
28b43def
SE
1482004-12-14 Steve Ellcey <sje@cup.hp.com>
149
150 * doc/invoke.texi (IA-64 options): Add existing options that
151 weren't already listed.
152
ff1c708e
JL
1532004-12-14 Jeff Law <law@redhat.com>
154
155 * tree-outof-ssa.c (coalesce_abnormal_edges): Pass the correct target
156 partition to conflict_graph_merge_regs.
157
f90ac3f0
UP
1582004-12-14 Uttam Pawar <uttamp@us.ibm.com>
159 Janis Johnson <janis187@us.ibm.com>
160
161 * rs6000.c (rs6000_handle_altivec_attribute_tree): Report errors
162 for vector types with invalid component types.
163
2a1a3cd5
JJ
1642004-12-14 Jakub Jelinek <jakub@redhat.com>
165
29bfcb6d
JJ
166 PR middle-end/18951
167 * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2,
168 expand_builtin_mathfn_3): Avoid using arguments passed to
169 save_expr after that call.
170
2a1a3cd5
JJ
171 * fold-const.c (fold_single_bit_test): If flag_syntax_only, pretend
172 LOAD_EXTEND_OP is not defined.
173 (fold): Likewise. If flag_syntax_only, don't depend on BITS_PER_WORD.
174
e9de7779
TS
1752004-12-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
176
177 * tree.def, doc/c-tree.texi: Correctly document restrictions on the
178 shift width.
179
0cc1b879
KH
1802004-12-14 Kazu Hirata <kazu@cs.umass.edu>
181
182 * expr.h (expand_modifier): Define EXPAND_STACK_PARM as 1.
183
3a42aebe
RE
1842004-12-14 Richard Earnshaw <rearnsha@arm.com>
185
186 PR target/18973
187 arm-cores.def (arm926ej-s, arm1026ej-s, arm1136j-s, arm1136-jfs)
188 (arm1176jz-s, arm1176jzf-s, mpcorenovfp, mpcore): Add load-scheduling
189 property to flags.
190
370d199d
DN
1912004-12-14 Diego Novillo <dnovillo@redhat.com>
192
193 * tree-gimple.c (get_base_address): Update documentation.
194
b3f332c6
RH
1952004-12-13 Richard Henderson <rth@redhat.com>
196
197 PR middle-end/17930
7cacf53e
RH
198 * passes.c (rest_of_clean_state): Fix computation of
199 preferred_incoming_stack_boundary.
b3f332c6 200
648cdd5e
WB
2012004-12-13 Wolfgang Bangerth <bangerth@dealii.org>
202
203 * reload.h: Remove struct needs and its only use.
204
5ac20c1a
RS
2052004-12-13 Roger Sayle <roger@eyesopen.com>
206
207 PR rtl-optimization/18928
208 * simplify_rtx.c (plus_minus_operand_p): New function to encode
209 the test for suitable operands for calls to simplify_plus_minus.
210 Only allow (CONST (PLUS x y)) if both x and y are CONSTANT_P.
211 (simplify_binary_operation): Use plus_minus_operand_p.
212
04482133
AO
2132004-12-13 Alexandre Oliva <aoliva@redhat.com>
214
215 PR tree-opt/16951
216 * tree-inline.c (setup_one_parameter): Don't directly map a
217 parameter to the address of another variable of the same
218 function.
219
b4418614
SB
2202004-13-12 Steven Bosscher <stevenb@suse.de>
221
222 * basic-block.h (PROP_POSTRELOAD): Do not include PROP_AUTOINC, we
223 can never create autoinc insns after reload.
224
fe872835 2252004-12-13 Jeff Law <law@redhat.com>
b4418614 226 Kazu Hirata <kazu@cs.umass.edu>
fe872835
JL
227
228 * tree-ssa-dom.c (thread_across_edge): Do not thread jumps if a
229 PHI argument is set from a PHI_RESULT in the same block and the
230 PHI argument is not the same as the PHI result.
231
143b6bc3
DE
2322004-12-13 David Edelsohn <edelsohn@gnu.org>
233
234 * xcoffout.c (xcoffout_declare_function): Always strip storage
235 class encoding.
236
9940eedb
AP
2372004-12-13 Andrew Pinski <pinskia@physics.uc.edu>
238
239 PR target/18964
b286769e 240 * config/darwin.c (darwin_assemble_visibility): Fix minor diagnostic
9940eedb
AP
241 problem, adding a space at the end of the string before concatenation.
242
029fc60b
KH
2432004-12-13 Kazu Hirata <kazu@cs.umass.edu>
244
245 * c-common.c (fname_as_string): Free namep if we are returning
246 cstr.text.
247
3bed147c
KH
248 * tree-ssa-dom.c (record_edge_info): Fix memory leak.
249
18faa5da
AP
2502004-12-13 Andrew Pinski <pinskia@physics.uc.edu>
251
252 * tree-cfg.c (remove_useless_stmts_cond): Call fold on COND_EXPR_COND.
253
073b8140
KH
2542004-12-13 Kazu Hirata <kazu@cs.umass.edu>
255
256 * tree-ssa-dom.c (record_equivalences_from_phis): Speed up by
257 doing a pointer comparison.
258
6e38fea3
KH
259 * tree-ssa-dom.c (record_equivalences_from_phis): Add a
260 comment.
261
adb35797
KH
262 * defaults.h, stmt.c, tree-cfg.c, tree-ssa-dce.c: Fix comment
263 typos.
264
e145f6a3
KI
2652004-12-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
266
267 * config/m32r/t-linux (SHLIB_MAPFILES): Add libgcc-glibc.ver to
268 the list rather than replacing the existing value.
269
57d52c81
RH
2702004-12-13 Richard Henderson <rth@redhat.com>
271
272 * cfg.c (dump_flow_info): Don't dump pseudo info after reload.
273
9a9286af
RH
2742004-12-13 Richard Henderson <rth@redhat.com>
275
276 * Makefile.in (insn-preds.o): Depend on REGS_H.
277 * genpreds.c (write_insn_preds_c): Include regs.h.
278 * config/i386/predicates.md (index_register_operand): Use
279 REG_OK_FOR_INDEX_STRICT_P and REG_OK_FOR_INDEX_NONSTRICT_P.
280
281 * config/i386/i386.h (REG_CLASS_FROM_LETTER): Add 'l'.
282 * config/i386/i386.md (lea_general_1, lea_general_1_zext,
283 lea_general_2, lea_general_2_zext, lea_general_3, lea_general_3_zext,
284 adddi_1_rex64, addsi_1, addsi_1_zext, addhi_1_lea, addqi_1_lea,
285 ashldi3_1_rex64, ashlsi3_1, ashlsi3_1_zext, ashlhi3_1_lea,
286 ashlqi3_1_lea): Use 'l' for index register operand.
287 (ashldi3_1_rex64 splitter): Use index_register_operand.
288 (ashlsi3_1 splitter): Be more careful with modes.
289
e50e6b88
DS
2902004-12-13 Danny Smith <dannysmith@users.sourceforge.net>
291
eb536e6b 292 PR target/18459
e50e6b88
DS
293 * defaults.h (TARGET_USE_JCR_SECTION): New macro.
294 * doc/tm.texi (TARGET_USE_JCR_SECTION): Document it.
295 * config/i386/cygming.h (TARGET_USE_JCR_SECTION): Override
296 default.
297
4049b376
UB
2982004-12-13 Uros Bizjak <uros@kss-loka.si>
299
300 PR target/14941
301 PR target/18503
302 * config/i386/i386.md (sse_movss, sse2_movsd, sse2_movhpd):
303 Fix wrong vec_merge selector bitmask.
304
5ad85f7d
RH
3052004-12-12 Richard Henderson <rth@redhat.com>
306
307 PR rtl-opt/17186
308 * reg-stack.c (move_nan_for_stack_reg): New.
309 (subst_stack_regs_pat): Use it.
310 (move_for_stack_reg): Handle source register not live with a nan.
311
56d76b69
RH
3122004-12-12 Richard Henderson <rth@redhat.com>
313
314 * config/i386/i386.c (ix86_gimplify_va_arg): Fix type mismatch
315 errors across operations.
316
d9f235fc
DJ
3172004-12-12 Di-an Jan <dianj@freeshell.org>
318
319 * doc/passes.texi (Pass Manager): Correct list of source files.
320
074e6d01
RH
3212004-12-12 Richard Henderson <rth@redhat.com>
322
323 * expr.c (emit_move_change_mode): New.
324 (emit_move_via_alt_mode): Use it.
325
b8c26d70
NN
3262004-12-12 Nathanael Nerode <neroden@gcc.gnu.org>
327 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
328
329 PR middle-end/17564
330 * dojump.c (do_compare_and_jump): Only canonicalize function pointers
331 in a comparison if both sides are function pointers.
332
25da5dc7
RH
3332004-12-12 Richard Henderson <rth@redhat.com>
334
335 PR target/18932
336 * config/i386/i386.md (all splits and peepholes): Use flags_reg_operand
337 and compare_operator to propagate the input CC mode to the output.
338 * config/i386/predicates.md (compare_operator): New.
339
a5f712ff
AP
3402004-12-12 Andrew Pinski <pinskia@physics.uc.edu>
341
342 PR tree-opt/18040
343 * expr.c (get_inner_reference): Remove NON_LVALUE_EXPR, NOP_EXPR,
344 CONVERT_EXPR cases.
345 (handled_component_p): Likewise.
346
3d5eef4c
KH
3472004-12-12 Kazu Hirata <kazu@cs.umass.edu>
348
349 * reg-stack.c (convert_regs_2): Free stack.
350
ebb4ec77
KH
351 * tree-ssa-dom.c (thread_across_edge, dom_opt_finalize_block): Fix
352 comment typos.
20d18cdb 353
3d5eef4c 3542004-12-12 Daniel Berlin <dberlin@dberlin.org>
d16464bb
DB
355
356 * tree-ssa-loop-ch.c (copy_loop_headers): Loop can be null.
357 * tree-ssa-loop-im.c (determine_lsm): tree_root may not have a real
358 inner loop.
359
8a40280d
DN
3602004-12-12 Diego Novillo <dnovillo@redhat.com>
361
362 * tree-gimple.c (get_base_address): Update documentation.
363
c431e499
KH
3642004-12-12 Kazu Hirata <kazu@cs.umass.edu>
365
366 * lcm.c (optimize_mode_switching): Free ptr even when mode_set
367 is NULL_RTX.
368
3692004-12-12 Roger Sayle <roger@eyesopen.com>
00fc055e
RS
370
371 * reg-stack.c (change_stack): Avoid placing the new top-of-stack in
372 its correct location during popping if we need to permute the stack
373 afterwards. Attempt to preserve the original stack ordering.
374
def6dcd7
KH
3752004-12-12 Kazu Hirata <kazu@cs.umass.edu>
376
377 * lcm.c (optimize_mode_switching): Free insert and delete in
378 the "for" loop.
379
343f6bbf
DE
3802004-12-11 David Edelsohn <edelsohn@gnu.org>
381 Ulrich Weigand <uweigand@de.ibm.com>
382
383 PR target/18641
384 * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Reload all
385 constants into all register classes intersecting with FLOAT_REGS
386 via memory.
387 * config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): Same.
388 * config/rs6000/rs6000.md (movdi_internal32): Ignore FPRs when
389 choosing register preferences.
390 (movdi_internal64): Same.
391
3bb18f49
KH
3922004-12-11 Kazu Hirata <kazu@cs.umass.edu>
393
394 * tree-into-ssa.c (rewrite_ssa_into_ssa): Free SSA_NAME_AUX
395 before we release an SSA_NAME.
396
ec7e2228
RS
3972004-12-11 Roger Sayle <roger@eyesopen.com>
398
399 PR middle-end/18921
400 * fold-const.c (fold_unwidened_comparison): Use omit_one_operand
401 instead of constant_boolean_node as arg0 may have side-effects.
402
b990f4bc
JDA
4032004-12-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
404
405 * pa-host.c (pa_gt_pch_use_address): Use lseek and read to copy PCH
406 file to anonymous private map.
407
3e5bcef3
RS
4082004-12-10 Roger Sayle <roger@eyesopen.com>
409
410 PR target/18002
411 PR middle-end/18424
412 * dojump.c (do_jump): When attempting to reverse the effects of
413 fold_single_bit_test, we need to STRIP_NOPS and narrowing type
414 conversions, and handle BIT_XOR_EXPR that's used to invert the
415 sense of the single bit test.
416
3dede806
DP
4172004-12-10 Devang Patel <dpatel@apple.com>
418
419 PR 18732
420 * gcc.c (main): Do not break out of loop when error is reported while
421 processing one source file.
422
7d5f9cc6
DN
4232004-12-10 Diego Novillo <dnovillo@redhat.com>
424
425 * tree-into-ssa.c (REWRITE_THIS_STMT): Define.
426 (mark_def_sites): Clear REWRITE_THIS_STMT for statements that
427 don't need any operands rewritten.
428 (rewrite_stmt): Ignore statements that don't need to be
429 rewritten.
430 (rewrite_operand): Validate that an existing SSA_NAME is
431 identical to the current reaching definition of the operand.
432
4332004-12-10 Diego Novillo <dnovillo@redhat.com>
434
435 * tree-dfa.c (mark_call_clobbered_vars_to_rename): New function.
436 * tree-vectorizer.c (vectorizable_load): Call it.
437 * tree-flow.h (mark_call_clobbered_vars_to_rename): Declare.
438 * tree-sra.c (mark_all_v_defs): Also mark VUSEs for renaming.
439
da0e2953
KH
4402004-12-10 Kazu Hirata <kazu@cs.umass.edu>
441
442 * regmove.c (combine_stack_adjustments_for_block): Free
443 memlist if it hasn't been freed.
444
22a0b85f
ZL
4452004-12-10 Ziemowit Laski <zlaski@apple.com>
446
447 * c-typeck.c (lookup_field): Check if a TYPE_LANG_SPECIFIC
448 pointer field is set before dereferencing it.
449
ef0b4f28
AP
4502004-12-10 Andrew Pinski <pinskia@physics.uc.edu>
451
452 PR middle-end/18903
453 * tree-cfg.c (remove_bb): Put the moved label at the beginning
454 of the basic block.
455
01c49ce8
KH
4562004-12-10 Kazu Hirata <kazu@cs.umass.edu>
457
458 * tree-data-ref.c (free_data_refs): Free each data_reference
459 object.
460
26673217
KH
461 * tree-ssa-dom.c (thread_across_edge): Speed up by avoiding a
462 call to is_gimple_min_invariant if we know the result.
463
01c49ce8 4642004-12-10 Jeff Law <law@redhat.com>
f914cec2
JL
465
466 * tree-ssa-alias.c (setup_pointers_and_addressables): Remove
467 redundant test of v_ann->mem_tag_kind.
468
469 * tree-ssa-operands.c (get_indirect_ref_operands): Remove
470 redundant conditional clearing opf_kill_def.
471
036ff63f
RS
4722004-12-10 Richard Sandiford <rsandifo@redhat.com>
473
474 * config/frv/frv-modes.def: Fix comment typos.
475 (CC_NZ): Define new mode.
476 * config/frv/frv-protos.h (frv_select_cc_mode): Declare.
477 (condexec_intop_cmp_operator): Delete.
478 * config/frv/frv.c (comparison_string): New function.
479 (frv_print_operand): Use it to handle 'c' and 'C'.
480 (relational_operator): Redefine in terms of integer_relational_operator
481 and float_relational_operator.
482 (signed_relational_operator, unsigned_relational_operator): Delete.
483 (integer_relational_operator): New predicate, combining the above.
484 Check the mode of the first operand but leave frv.md to check the rest.
485 (float_relational_operator): Just check the mode of the first operand
486 and leave frv.md to check the rest.
487 (intop_compare_operator): Assume the result is compared with zero
488 in mode CC_NZmode. Allow PLUS and MINUS. Leave frv.md to check
489 the operand predicates.
490 (condexec_intop_cmp_operator): Delete.
491 (frv_ifcvt_modify_tests, frv_ifcvt_modify_multiple_tests)
492 (frv_hard_regno_mode_ok): Handle CC_NZmode.
493 (frv_select_cc_mode): New function.
494 * config/frv/frv.h (SELECT_CC_MODE): Use frv_select_cc_mode.
495 (REVERSIBLE_CC_MODE): Include CC_NZmode.
496 (PREDICATE_CODES): Replace entries for signed_relational_operand and
497 unsigned_relational_operator with one for integer_relational_operator.
498 Delete entry for condexec_intop_cmp_operator.
499 * config/frv/frv.md (movcc_nz, *internal_movcc_nz, reload_incc_nz)
500 (reload_outcc_nz, *cmpsi_cc_nz, *cond_exec_cmpsi_cc_nz): New patterns.
501 (*combo_intop_compare2, *combo_intop_compare4): Delete.
502 (*combo_intop_compare1): Change mode to CC_NZ.
503 (*combo_intop_compare2): Likewise. Renamed from *combo_intop_compare3.
504 (branch_{un,}signed_true, branch_{un,}signed_false)
505 (*scc_{un,}signed, *scc_neg1_{un,}signed, *ck_{un,}signed)
506 (*movqicc_internal1_{un,}signed, *movqicc_internal2_{un,}signed)
507 (*movhicc_internal1_{un,}signed, *movhicc_internal2_{un,}signed)
508 (*movsicc_internal1_{un,}signed, *movsicc_internal2_{un,}signed)
509 (*movsfcc_has_fprs_{un,}signed, *movsfcc_no_fprs_{un,}signed)
510 (*return_{unsigned_,}true, *return_{unsigned_,}false): Merge these
511 pattern pairs. Use integer_relational_operator. Remove mode from
512 icc_operand.
513
2742a1ed
MD
5142004-12-10 Mark Dettinger <dettinge@de.ibm.com>
515
516 * config/s390/s390.c (struct processor_costs): New fields ml,
517 sqdbr, sqebr.
518 (s390_rtx_costs): Added the missing handling of multiply & add,
519 square root, and umulsidi.
520
417c735c
KH
5212004-12-10 Kazu Hirata <kazu@cs.umass.edu>
522
523 * expmed.c (synth_mult): Initialize new_limit.latency before
524 making a recursive call.
525
5542b23d
NC
5262004-12-10 Nick Clifton <nickc@redhat.com>
527
528 * config/mn10300/mn10300.c (legitimate_address_p): Reject address
529 whose index is itself the sum of two other parts.
530
72b4c734
AM
5312004-12-10 Alan Modra <amodra@bigpond.net.au>
532
533 * config/t-slibgcc-sld (SHLIB_LINK): Correct symlink.
534
fdf97ad1
UB
5352004-12-10 Uros Bizjak <uros@kss-loka.si>
536
72b4c734 537 * config/i386/i386.md (*cmpfp_sf): Change type attribute to "multi".
fdf97ad1 538
d1838621
RH
5392004-12-09 Richard Henderson <rth@redhat.com>
540
541 PR c/18282
542 * attribs.c (decl_attributes): Use relayout_decl.
543 * c-common.c (handle_mode_attribute): Copy all relevant type
544 parameters from the new underlying integral type.
545
88b3da50
RH
5462004-12-09 Richard Henderson <rth@redhat.com>
547
548 * c-common.c (shorten_compare): Don't special-case min/maxval
549 for C enumerations.
550
4f1da2e9
RS
5512004-12-09 Richard Sandiford <rsandifo@redhat.com>
552
553 * simplify-rtx.c (simplify_subreg): In the CONCAT case, check whether
554 the request subreg is entirely contained in the requested component.
555 (simplify_gen_subreg): Return null for CONCATs that are rejected
556 by simplify_subreg.
557 * expmed.c (store_bit_field): Create a temporary when changing the
558 value to an integer mode.
559
36cea870
DE
5602004-12-09 David Edelsohn <edelsohn@gnu.org>
561
562 * real.c (ibm_extended): Correct comment.
563
dc4d6ffa
SS
5642004-12-09 Stan Shebs <shebs@apple.com>
565
566 * config/rs6000/darwin-asm.h: New file, 32/64-bit assembly macros
567 formerly in darwin-tramp.asm.
568 * config/rs6000/darwin-tramp.asm: Include darwin-asm.h.
569 * config/rs6000/darwin-fpsave.asm: Use 32/64-bit macros.
570 * config/rs6000/t-darwin: Add dependencies.
571
88d60956
RH
5722004-12-09 Richard Henderson <rth@redhat.com>
573
574 PR target/17025
575 * config/i386/i386.md (testqi_1_maybe_si, andqi_2_maybe_si): New.
576 (test_qi_1, andqi_2): Do not promote to simode.
577
25a2fe85
AP
5782004-12-09 Andrew Pinski <pinskia@physics.uc.edu>
579
580 PR tree-opt/18904
581 * tree-chrec.c (chrec_convert): Use fold_convert
582 instead of convert.
583
8748c00f
MR
5842004-12-09 Matt Rice <ratmice@yahoo.com>
585
586 PR preprocessor/18102
587 * c-incpath.c (remove_duplicates): Check for construct
588 equality.
589
d16b59fa
DN
5902004-12-09 Dorit Naishlos <dorit@il.ibm.com>
591
592 * genopinit.c (vec_realign_store_optab): Initialization removed.
593 * optabs.c (optab_for_tree_code): REALIGN_STORE_EXPR case removed.
594 * optabs.h (optab_index): OTI_vec_realign_store Removed.
595 (vec_realign_store_optab): Removed.
596 * target-def.h (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Removed.
597 * target.h (builtin_mask_for_store): Removed.
598 * tree.def (REALIGN_STORE_EXPR): Removed.
599 * config/rs6000/rs6000.c (rs6000_builtin_mask_for_store): Removed.
600 (altivec_builtin_mask_for_store): Removed.
601 (altivec_init_builtins): Removed initialization of
602 altivec_builtin_mask_for_store.
603
604 * doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.
605 (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): New.
606
61fcaeec
NS
6072004-12-09 Nathan Sidwell <nathan@codesourcery.com>
608
08f2586c
NS
609 * tree.def (SET_TYPE): Remove.
610 (CONSTRUCTOR): Update description.
611 * builtins.c (type_to_class) Remove SET_TYPE case.
612 * dbxout.c (dbxout_type): Likewise.
613 * dwarf2out.c (is_base_type): Likewise.
614 (gen_set_type_die): Remove.
615 (gen_type_die): Remove SET_TYPE case.
616 * expr.c (count_type_elements): Likewise.
617 (mostly_zeroes_p): Likewise.
618 (store_constructor): Likewise.
619 * print_tree.c (print_node): Likewise.
620 * stor-layout.c (layout_type): Likewise.
621 * tree-browser.c (browse_tree): Likewise.
622 * tree-inline.c (remap_type): Likewise.
623 * tree-pretty-print.c (dump_generic_node): Likewise.
624 * tree.c (type_contains_plaeholder_1, type_hash_eq,
625 variably_modified_type_p, initializer_zerop): Likewise.
626 * tree.h (SET_OR_ARRAY_CHECK): Remove.
627 (AGGREGATE_TYPE_P): Remove SET_TYPE check.
628 (TYPE_DOMAIN): Use ARRAY_TYPE_CHECK.
629 * typeclass.h (enum type_class): Remove set_type_class.
630 * varasm.c (const_hash_1): Remove SET_TYPE case.
631 (compare_constant, copy_constant, output_constant): Likewise.
632 * config/i386/i386.c (classify_argument): Likewise.
633 * config/ia64/ia64.c (hfa_element_mode): Likewise.
634 * config/sparc/sparc.c (sparc_type_code): Likewise.
635
61fcaeec
NS
636 PR c++/16681
637 * tree-inline.c (estimate_num_insns_1): Add RANGE_EXPR case.
638
42fabf21
RH
6392004-12-08 Richard Henderson <rth@redhat.com>
640
641 * config/i386/i386.md: Use FLAGS_REG everywhere.
642
dec20d74
EC
6432004-12-08 Eric Christopher <echristo@redhat.com>
644
645 * config/mips/mips.c (mips_scalar_mode_supported_p): Rewrite
646 to avoid call to default function.
647
857e7259
ZW
6482004-12-08 Zack Weinberg <zack@codesourcery.com>
649
650 PR 17982
651 * varasm.c (pending_assemble_externals): New static.
652 (assemble_external_real): Meat of assemble_external split out
653 to this new function.
654 (process_pending_assemble_externals): New function.
655 (assemble_external): Use gcc_assert. If flag_unit_at_a_time
656 is true and the basic test passes, merely cons the decl onto
657 the pending list to be handled later.
658 * tree.h: Declare process_pending_assemble_externals.
659 * cgraphunit.c (cgraph_optimize): Call it.
660
661 * config/h8300/h8300.h: Do not define ASM_OUTPUT_EXTERNAL.
662
b057216d
KH
6632004-12-08 Kazu Hirata <kazu@cs.umass.edu>
664
665 * cfgloopmanip.c (create_preheader): Speed up by "unrolling"
666 and simplifying FOR_EACH_EDGE.
667
75d0ac8d
RS
6682004-12-08 Richard Sandiford <rsandifo@redhat.com>
669
670 * config/frv/frv.c (frv_sort_insn_group): Always initialize
671 packet_group->nop.
672
e6aef969
NS
6732004-12-08 Nathan Sidwell <nathan@codesourcery.com>
674
0710ccff
NS
675 PR c++/18672
676 * gimplify.c (canonicalize_addr_expr): Cope with array of
677 incomplete type.
678 (gimplify_conversion): Remove redundant checks.
679
e6aef969
NS
680 * doc/trouble.texi (Non-bugs): Clarify empty loop removal.
681
89b17498
UB
6822004-12-08 Uros Bizjak <uros@kss-loka.si>
683
684 * config/i386/i386.c (output_387_binary_op,
685 ix86_prepare_fp_compare_args): Fix is_sse condition.
686
7c82106f
UB
6872004-12-07 Uros Bizjak <uros@kss-loka.si>
688
689 * config/i386/i386-protos.h (ix86_split_fp_branch): New rtx
690 argument.
691
692 * config/i386/i386.c (output_fp_compare): Fix is_sse condition.
693 Use EFLAGS_P only when fcomi insn should be used. Fix handling
694 of eflags_p variable. Change alt table accordingly. For non-fcomi
695 compare insn always use trailing fnstsw insn. Fix intmode
696 calculation for ficom insn.
697 (ix86_split_fp_branch): Add "rtx pushed" as new parameter. Call
698 ix86_free_from_memory when "pushed" is specified.
699 (ix86_expand_branch): Change call to ix86_split_fp_branch.
700
701 * config/i386/i386.md (*cmpfp_0_sf, *cmpfp_0_df, *cmpfp_0_xf):
702 Change eflags_p parameter in call to output_fp_compare.
703 (*cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf): Remove.
704 (*cmpfp_2_sf_1, *cmpfp_2_df_1, *cmpfp_2_xf_1): Rename to
705 *cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf. Change eflags_p
706 parameter in call to output_fp_compare.
707 (*cmpfp_2_u): Remove.
708 (*cmpfp_2_u_1): Rename to *cmpfp_2_u. Change eflags_p parameter
709 in call to output_fp_compare.
710 (*ficom_1): Remove insn definition and corresponding define_split.
711 (*cmpfp_si): New insn definition.
712 (*fp_jcc_8): New insn definition. Add new splitters for
713 "memory_operand" and "register_operand".
714 (define_split): Add new parameter in call to ix86_split_fp_branch.
715
716 config/i386/predicates.md (float_operator): New predicate.
717
ac1b13f4
KH
7182004-12-08 Kazu Hirata <kazu@cs.umass.edu>
719
720 * c-common.c (verify_tree): Don't check code length if we know
721 we are handling tcc_unary.
722 * print_tree.c (print_node): Remove code to handle RTL
723 appearing as a part of a tree node.
724 * tree-gimple.c (recalculate_side_effects): Rename fro as len.
725 * tree.c (build1_stat): Don't check TREE_CODE_LENGTH.
726 (PROCESS_ARG): Don't refer to fro.
727 (build2_stat, build3_stat, build4_stat): Don't compute fro.
728
58b42e19
RS
7292004-12-07 Roger Sayle <roger@eyesopen.com>
730
731 PR middle-end/18293
732 * expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Move definition earlier.
733 (expand_mult): Special case powers of two to avoid synth_mult.
734 * loop.c (product_cheap_p): Handle case where expand_mult does
735 require/generate any instructions (i.e. multiplication by zero).
736
b16bcb17
RH
7372004-12-07 Richard Henderson <rth@redhat.com>
738
739 * tree-pretty-print.c (dump_array_domain): Split out from
740 dump_generic_node; fix off-by-one error on zero-based array bounds.
741 (dump_generic_node): Use it.
742 (print_declaration): Likewise.
743
74515a0a
RG
7442004-12-08 Richard Guenther <richard.guenther@uni-tuebingen.de>
745
746 * doc/invoke.texi: Adjust default values for
747 large-function-growth and inline-unit-growth to match
748 params.def. Clarify used algorithm.
749
1b79dc38
DM
7502004-12-07 David Mosberger <davidm@hpl.hp.com>
751
857e7259
ZW
752 PR target/18443
753 * config/ia64/ia64.c (ia64_assemble_integer): Add support for
754 emitting unaligned pointer-sized integers.
1b79dc38 755
02fbae83
SB
7562004-12-07 Steven Bosscher <stevenb@suse.de>
757
758 PR c/18867
759 * c-typeck.c (c_start_case): Set orig_type to error_mark_node
760 when the type of the controlling expression is not a valid type.
761
665fcad8
SB
7622004-12-07 Steven Bosscher <stevenb@suse.de>
763
764 PR tree-optimization/17340
765 * tree-ssa-pre.c (compute_antic): Fix comment.
766 (compute_avail): Do not recurse, instead do a DFS using a stack
767 and a loop.
768 (execute_pre): Adjust.
769
c7baa145
ZL
7702004-12-07 Ziemowit Laski <zlaski@apple.com>
771
772 * c-tree.h (struct lang_type): Rename 'objc_protocols' field
773 to 'objc_info'.
774
c08f800e
EC
7752004-12-07 Eric Christopher <echristo@redhat.com>
776
777 PR target/16317
778 * config/netbsd.h (NO_IMPLICIT_EXTERN_C): Define.
779
20c076a8
EC
7802004-12-07 Eric Christopher <echristo@redhat.com>
781
782 * config/mips/mips-protos.h (mips_valid_pointer_mode): Move
783 prototype...
784 * config/mips/mips.c: ... here. Make static.
785
a122d1f1
EC
7862004-12-07 Eric Christopher <echristo@redhat.com>
787
788 PR target/18442
789 * config/mips/mips.c (mips_vector_mode_supported_p): New function.
790 (TARGET_SCALAR_MODE_SUPPORTED_P): Define to above.
791
54e4aedb
KH
7922004-12-07 Kazu Hirata <kazu@cs.umass.edu>
793
794 * c-common.c, expr.c, fold-const.c, print-tree.c,
795 tree-gimple.c, tree-inline.c, tree-pretty-print.c,
796 tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c: Replace uses of
797 first_rtl_op with TREE_CODE_LENGTH.
798 * tree.c (first_rtl_op): Remove.
799 Replace uses of first_rtl_op with TREE_CODE_LENGTH.
800 * tree.h: Remove the prototype for first_rtl_op.
801
354e49c1
DE
8022004-12-07 David Edelsohn <edelsohn@gnu.org>
803
804 * config/rs6000/t-aix43, config/rs6000/t-aix52 (SHLIB_LINK):
805 Revert 2004-12-01 change.
806
66237a39
ZL
8072004-12-06 Ziemowit Laski <zlaski@apple.com>
808
809 * c-tree.h (struct lang_type): Add 'objc_protocols' field.
810
e11ab33b
DD
8112004-12-06 DJ Delorie <dj@redhat.com>
812
813 * reload.c (find_valid_class): Fix logic to test inner mode as well.
814 (push_reload): Pass inner mode.
815
e09ec166
EC
8162004-12-06 Eric Christopher <echristo@redhat.com>
817
818 * doc/tm.texi (TARGET_VALID_POINTER_MODE): Document.
819
9f91e6cc
AH
8202004-12-06 Aldy Hernandez <aldyh@redhat.com>
821
822 * config/rs6000/sysv4.h: Define RELOCATABLE_NEEDS_FIXUP to 1.
823
63bb59a3
ZD
8242004-12-06 Zdenek Dvorak <dvorakz@suse.cz>
825 Kazu Hirata <kazu@cs.umass.edu>
826
827 PR tree-optimization/18601
828 * tree-cfg.c (thread_jumps, thread_jumps_from_bb): Removed.
829 (tree_forwarder_block_p): Do not consider blocks that are its own
830 successors forwarders.
831 (cleanup_forwarder_blocks, remove_forwarder_block): New functions.
832 (cleanup_tree_cfg): Use cleanup_forwarder_blocks instead of
833 thread_jumps.
834 * tree-flow.h (bb_ann_d): Remove forwardable.
835
c4cfdac0
KH
8362004-12-06 Kazu Hirata <kazu@cs.umass.edu>
837
838 * expr.c (expand_expr_real_1): Remove an "if" whose condition
839 is always false.
840
b086a2ea
RS
8412004-12-06 Roger Sayle <roger@eyesopen.com>
842
843 * c-gimplify.c (gimplify_c_loop): Improve initial implementations
844 for loops whose conditions are known at compile-time.
845 * gimplify.c (append_to_statement_list_1): Remove side_effects
846 parameter, this function should never be called if its false.
847 (append_to_statement_list): Only call append_to_statement_list_1
848 if t is non-NULL tree with side-effects.
849 (append_to_statement_list_force): Likewise, if t is not NULL.
850
ff8b369a
R
8512004-12-06 J"orn Rennecke <joern.rennecke@st.com>
852
853 * bt-load.c (btr_def_s): New member own_end;
854 (add_btr_to_live_range): Add second parameter. Changed caller.
855 (clear_btr_from_live_range): Clear btrs_live_at_end bit
856 for the register its definition basic block if own_end is set.
857 (augment_live_range): Also take btrs_live_at_end into account.
858 (combine_btr_defs): Don't bother with
859 other_def->other_btr_uses_after_use if it pertains to a different
860 register.
e09ec166 861 (move_btr_def): Set def->other_btr_uses_before_def after
ff8b369a 862 calling combine_btr_defs."
e09ec166 863
ff8b369a
R
864 * bt-load.c (augment_live_range): New argument full_range.
865 Changed all callers.
866
867 * bt-load.c (move_tr_def): Set other_tr_uses_before_def
868 taking new btr assignment into account.
869
b07f8ee2
DB
8702004-12-05 Daniel Berlin <dberlin@dberlin.org>
871
872 * tree-ssa-alias.c (create_global_var): Use void_type_node,
873 not size_type_node.
874
ba8081eb
KH
8752004-12-05 Kazu Hirata <kazu@cs.umass.edu>
876
877 * expr.c (expand_expr_real_1): Abort on COND_EXPR of
878 VOID_TYPE.
879
cbb16d8e
RH
8802004-12-05 Richard Henderson <rth@redhat.com>
881
882 PR target/18841
883 * config/alpha/alpha.md (UNSPECV_SETJMPR_ER): New.
884 (builtin_setjmp_receiver_er_sl_1): Use it.
885 (builtin_setjmp_receiver_er_1): Likewise.
886 (builtin_setjmp_receiver_er, exception_receiver_er): Remove.
887 (builtin_setjmp_receiver): Don't split for explicit relocs until
888 after reload.
889 (exception_receiver): Likewise.
890
82f4593a
AP
8912004-12-05 Andrew Pinski <pinskia@physics.uc.edu>
892
893 * mklibgcc.in (vis_hide): Add the prototype for the test.
894
28af952a
RS
8952004-12-05 Roger Sayle <roger@eyesopen.com>
896
897 * c-typeck.c (c_finish_loop): Improve initial implementations
898 for loops whose conditions are known at compile-time.
899
118f3b19
KH
9002004-12-05 Kazu Hirata <kazu@cs.umass.edu>
901
902 * builtins.c: Fix comment typos.
903
bf842f62
JDA
9042004-12-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
905
91373fe8
JDA
906 PR middle-end/18730
907 * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): When
908 the first/last insn is a sequence, return the first/last insn of the
909 sequence.
910
bf842f62
JDA
911 PR bootstrap/18804
912 * mklibgcc.in (vis_hide): Use implementation instead of declaration
913 for test function.
914
34642493
RH
9152004-12-04 Richard Henderson <rth@redhat.com>
916
917 * config/alpha/alpha.c (alpha_expand_unaligned_load): Don't forget to
918 use ofs in BWX two byte special case.
919 (alpha_expand_unaligned_store): Likewise.
920
b732f36f
KH
9212004-12-04 Kazu Hirata <kazu@cs.umass.edu>
922
923 * gcse.c (gcse_main): Add a comment.
924
82618d44
AP
9252004-12-04 Andrew Pinski <pinskia@physics.uc.edu>
926
927 PR middle-end/17909
928 * builtins.c (fold_builtin_next_arg): Export and return true
929 when there is a warning or an error.
930 (expand_builtin_va_start): When fold_builtin_next_arg returns true,
931 return const0_rtx.
932 (expand_builtin): Likewise.
933 * gimplify.c (gimplify_call_expr): Error out if there is not
934 enough arguments to va_start. Call fold_builtin_next_arg also
935 on the second argument.
936 * tree.h (fold_builtin_next_arg): Prototype.
937
d12c5a4c
AM
9382004-12-04 Alan Modra <amodra@bigpond.net.au>
939
940 * mklibgcc.in: Build shared libgcc and shared libunwind in gcc/.
941 Don't subst shlib_dir for SHLIB_LINK, SHLIBUNWIND_LINK,
942 SHLIB_INSTALL, and SHLIBUNWIND_INSTALL.
943 * config/i386/t-nwld (SHLIB_NAME): Use shlib_base_name in place of
944 shlib_dir and shlib_so_name.
945 * config/mips/t-slibgcc-irix (SHLIB_NAME): Likewise.
946 * config/t-libunwind-elf (SHLIB_NAME): Likewise.
947 * config/t-slibgcc-darwin (SHLIB_NAME): Likewise.
948 * config/t-slibgcc-elf-ver (SHLIB_NAME): Likewise.
949 * config/t-slibgcc-sld (SHLIB_NAME): Likewise.
950 (SHLIB_LINK): Don't use shlib_dir when creating symlink.
951
73f8783a
RS
9522004-12-03 Roger Sayle <roger@eyesopen.com>
953
954 * doc/tm.texi (TARGET_DELEGITIMIZE_ADDRESS): Document target hook.
955
2039d7aa
RH
9562004-12-03 Richard Henderson <rth@redhat.com>
957
d12c5a4c 958 * alias.c (component_uses_parent_alias_set): Rename from
2039d7aa
RH
959 can_address_p. Return bool. Reverse the sense of the result.
960 Reinstate the check for alias set zero.
961 (get_alias_set): Update to match.
962 * alias.h (component_uses_parent_alias_set): Likewise.
963 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
964 * expr.c (expand_assignment): Likewise.
965 * expr.h: Remove commented out prototypes that were moved to alias.h.
966
d3da4d14
RH
9672004-12-03 Richard Henderson <rth@redhat.com>
968
969 * doc/tm.texi (TARGET_BUILD_BUILTIN_VA_LIST): New.
970 (TARGET_CANNOT_FORCE_CONST_MEM): New.
971
668707f7
AM
9722004-12-04 Alan Modra <amodra@bigpond.net.au>
973
974 PR middle end/18718
975 * sched-rgn.c (schedule_region): Don't assume REG_SAVE_NOTEs are
976 in pairs.
977 * sched-ebb.c (schedule_ebb): Likewise.
978
e69d6ca7
AS
9792004-12-03 Andreas Schwab <schwab@suse.de>
980
981 * Makefile.in (HOSTHOOKS_DEF_H): Define.
982 (ggc-common.o): Depend on $(HOSTHOOKS_DEF_H).
983 (host-default.o): Likewise.
984
76f56a4d
EC
9852004-12-03 Eric Christopher <echristo@redhat.com>
986
987 * config/stormy16/stormy16.md (pushqi, popqi, pushhi,
988 pophi): Add number of arguments to name so that the
989 pattern is recognized as a named pattern.
990
5edea4c6
JJ
9912004-12-03 Janis Johnson <janis187@us.ibm.com>
992
993 * doc/extend.texi (AltiVec Builtins): Fix info about signedness.
994
9c7956fd
AT
9952004-12-03 Andreas Tobler <a.tobler@schweiz.ch>
996
997 * config/rs6000/rs6000.c (rs6000_override_options): Protect
998 darwin_one_byte_bool with #if.
999
d6c2b67d
PB
10002004-12-03 Paolo Bonzini <bonzini@gnu.org>
1001
1002 * doc/tm.texi (Misc): Document TARGET_FOLD_BUILTIN.
1003
aaf67a14
L
10042004-12-03 H.J. Lu <hongjiu.lu@intel.com>
1005
1006 * mklibgcc.in: Put back the default set of EXTRA_MULTILIB_PART.
1007
4982adbe
RS
10082004-12-03 Richard Sandiford <rsandifo@redhat.com>
1009
1010 * configure.ac: Move TL_AC_GCC_VERSION into initialization section.
1011 Set libstdcxx_incdir directly.
1012 * configure: Regenerate.
1013
a18428f3
KH
10142004-12-03 Kazu Hirata <kazu@cs.umass.edu>
1015
1016 * tree-ssa-dom.c (record_equivalences_from_phis): Remove an
1017 "if" whose condition is always true.
1018
2085a21f
KH
1019 * cfgrtl.c (rtl_verify_flow_info_1): Use JUMP_P instead of
1020 INSN_P.
1021
7bd3a493
SS
10222004-12-02 Stan Shebs <shebs@apple.com>
1023
1024 * config/rs6000/rs6000.c (rs6000_override_options): Make 64-bit
1025 Darwin default to one-byte bools.
1026
6e4b5aaf
RH
10272004-12-02 Richard Henderson <rth@redhat.com>
1028
1170a5e1 1029 PR 18774
6e4b5aaf
RH
1030 * simplify-rtx.c (simplify_immed_subreg): Fail complex modes.
1031
92083932
BE
10322004-12-03 Ben Elliston <bje@au.ibm.com>
1033
1034 * doc/cfg.texi (Edges): Update. Document the edge_iterator data
1035 type and its methods.
1036
ddf4e03f
RH
10372004-12-02 Richard Henderson <rth@redhat.com>
1038
1039 * expr.c (write_complex_part): Use simplify_gen_subreg when the
1040 submode is at least as large as a word.
1041 (read_complex_part): Likewise.
1042
0cb4334e
L
10432004-12-02 H.J. Lu <hongjiu.lu@intel.com>
1044
1045 PR bootstrap/18532
1046 * mklibgcc.in: Build one set of EXTRA_MULTILIB_PARTS for
1047 multilib at a time. Don't build the default set. Don't add
1048 EXTRA_MULTILIB_PARTS to shared libunwind nor libgcc. Remove
1049 filter for shared libunwind and libgcc.
1050
14c473b9
RS
10512004-12-02 Roger Sayle <roger@eyesopen.com>
1052
1053 PR target/18759
1054 * config/i386/i386.c (override_options): If -fomit-frame-pointer has
1055 already been specified, ignore the -momit-leaf-frame-pointer option.
1056
02676215
L
10572004-12-02 H.J. Lu <hongjiu.lu@intel.com>
1058
1059 * varasm.c (make_decl_rtl): Add the missing `;'.
1060
e5410ba7
AP
10612004-12-02 Andrew Pinski <pinskia@physics.uc.edu>
1062
1063 * tree.c (is_attribute_p): Split out to ..
1064 (is_attribute_with_length_p): Here. Use IDENTIFIER_LENGTH instead
1065 of strlen and compare the string lengths before calling strcmp.
1066 (lookup_attribute): Call is_attribute_with_length_p instead of
1067 is_attribute_p.
1068
910fbc16
DP
10692004-12-02 Devang Patel <dpatel@apple.com>
1070
1071 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -gfull and -gused.
1072 * config/rs6000/darwin.h (CC1_SPEC): Do not handle -gfull and -gused.
1073 * config/i386/darwin.h (CC1_SPEC): Same.
76f56a4d 1074
6b132673
RH
10752004-12-02 Richard Henderson <rth@redhat.com>
1076
1077 * optabs.c (lowpart_subreg_maybe_copy): New.
1078 (expand_unop, expand_abs_nojump): Use it.
1079
dea1c1c5
R
10802004-12-02 J"orn Rennecke <joern.rennecke@st.com>
1081
1082 * sh.md (extv, extzv): Add pattern predicate.
1083
5dd8841a
KH
10842004-12-02 Kazu Hirata <kazu@cs.umass.edu>
1085
1086 * tree-cfg.c (phi_alternatives_equal): Check that PHI_ARG_DEF
1087 is not null.
1088
d134295f
KH
1089 * tree-cfg.c (phi_alternatives_equal): Check that PHI_ARG_DEF
1090 is not null.
1091
29cc8719
KH
1092 * tree-cfg.c (thread_jumps): Reduce the size of WORKLIST.
1093
b28fb6a1
JL
10942004-12-02 Jeff Law <law@redhat.com>
1095
1096 * tree-eh.c: Revert yesterday's change.
1097
30513cf6
AP
10982004-12-02 Andrew Pinski <pinskia@physics.uc.edu>
1099
1100 * varasm.c (decode_reg_name): Revert change to check for zero
1101 length strings.
1102 (make_decl_rtl): Make sure that we call decode_reg_name only
1103 when needed.
1104
bfe5acd6
DN
11052004-12-02 Dorit Naishlos <dorit@il.ibm.com>
1106
1107 PR tree-opt/18716
1108 * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Properly set
1109 then and else labels.
1110
1afffb00
AS
11112004-12-02 Andreas Schwab <schwab@suse.de>
1112
1113 * Makefile.in (WERROR_FLAGS): Renamed from WERROR.
1114 (STRICT2_WARN): Use $(WERROR_FLAGS) instead of $(WERROR).
1115 (STAGE2_FLAGS_TO_PASS): Likewise.
1116
1117 * config/i386/x-mingw32: Set WERROR_FLAGS instead of WERROR.
1118
afabd8e6
RS
11192004-12-02 Richard Sandiford <rsandifo@redhat.com>
1120
1121 * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version. Remove
1122 now-redundant AC_SUBSTs.
1123 * aclocal.m4: Include ../config/gcc-version.m4.
1124 * configure: Regenerate.
1125
f4f4921e
AM
11262004-12-02 Alan Modra <amodra@bigpond.net.au>
1127
1128 * config/rs6000/rs6000.c (rs6000_assemble_integer): Put back the
1129 #ifdef RELOCATABLE_NEEDS_FIXUP.
1130
6a46f71d
RS
11312004-12-01 Roger Sayle <roger@eyesopen.com>
1132
1133 PR target/9908
1134 * config/i386/i386.md (*call_value_1, *sibcall_value_1): Correct
1135 Intel assembler syntax by using %A1 instead of %*%1.
1136
0becc986
RH
11372004-12-01 Richard Henderson <rth@redhat.com>
1138
1139 * expr.c (expand_assignment): Handle CONCAT both as a final
1140 destination and as a middle point.
1141
ca3a791a
JL
11422004-12-01 Jeff Law <law@redhat.com>
1143
d12c5a4c
AM
1144 * tree-eh.c (save_eptr, save_filt): Now file scoped statics.
1145 (honor_protect_cleanup_actions): Only create save_eptr and
1146 save_filt if they do not already exist.
1147 (lower_eh_constructs): Wipe all knowledge of save_eptr and
1148 save_filt before returning.
ca3a791a 1149
8930ce20
KH
11502004-12-02 Kazu Hirata <kazu@cs.umass.edu>
1151
1152 * tree-phinodes.c (remove_phi_arg_num): Fix a comment.
1153
84dcde01
AM
11542004-12-02 Alan Modra <amodra@bigpond.net.au>
1155
1156 PR target/16952
1157 * config/rs6000/rs6000.c (rs6000_assemble_integer): Replace
1158 #ifdef RELOCATABLE_NEEDS_FIXUP with if.
1159 * config/rs6000/linux.h (RELOCATABLE_NEEDS_FIXUP): Define in terms
1160 of target_flags_explicit.
1161 * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Ditto for biarch
1162 case. Define as 0 for non-biarch.
1163
5b3f9cab
ZW
11642004-12-01 Zack Weinberg <zack@codesourcery.com>
1165
1166 * config/rs6000/t-aix43, config/rs6000/t-aix52 (SHLIB_LINK):
1167 Change temporary file tag from a prefix to an infix.
1168
87a72581
AS
11692004-12-02 Andreas Schwab <schwab@suse.de>
1170
1171 * gcc.c (struct option_map): Add entry for "--pass-exit-codes".
1172
a912a223
AP
11732004-12-01 Andrew Pinski <pinskia@physics.uc.edu>
1174
1175 PR tree-opt/18763
1176 PR tree-opt/18746
1177 * tree-ssa-alias.c (init_alias_info): Get statement operands for all
1178 the statements if aliases_computed_p is true.
1179
9098b4e6
MM
11802004-12-01 Mark Mitchell <mark@codesourcery.com>
1181
1182 * Makefile.in (WERROR): New variable.
1183 (STRICT2_WARN): Use it.
1184 (STAGE2_FLAGS_TO_PASS): Likewise.
1185 * config/i386/x-mingw32 (WERROR): Add -Wno-format.
1186
9f25f0ad
RH
11872004-12-01 Richard Henderson <rth@redhat.com>
1188
1189 * expr.c (get_inner_reference): Fix thinko in REAL/IMAGPART_EXPR
1190 offsetting.
1191
986583fd
DN
11922004-12-01 Diego Novillo <dnovillo@redhat.com>
1193
1194 PR tree-optimization/18291
1195 * tree-ssa-copy.c (merge_alias_info): Fix merging of
1196 flow-sensitive alias information. If the new pointer has no
1197 name tag, copy it from the original pointer. Otherwise, make
1198 sure that the pointed-to sets have a common intersection.
1199
d7cf6dd6
RH
12002004-12-01 Richard Henderson <rth@redhat.com>
1201
1466e387
RH
1202 PR rtl-opt/15289
1203 * emit-rtl.c (gen_complex_constant_part): Remove.
1204 (gen_realpart, gen_imagpart): Remove.
1205 * rtl.h (gen_realpart, gen_imagpart): Remove.
1206 * expmed.c (extract_bit_field): Remove CONCAT hack catering to
1207 gen_realpart/gen_imagpart.
1208 * expr.c (write_complex_part, read_complex_part): New.
1209 (emit_move_via_alt_mode, emit_move_via_integer, emit_move_resolve_push,
5b3f9cab 1210 emit_move_complex_push, emit_move_complex, emit_move_ccmode,
1466e387
RH
1211 emit_move_multi_word): Split out from ...
1212 (emit_move_insn_1): ... here.
1213 (expand_expr_real_1) <COMPLEX_EXPR>: Use write_complex_part.
1214 <REALPART_EXPR, IMAGPART_EXPR>: Use read_complex_part.
1215 * function.c (assign_parm_setup_reg): Hard-code transformations
1216 instead of using gen_realpart/gen_imagpart.
1217
5b3f9cab 1218 * expr.c (optimize_bitfield_assignment_op): Split out from ...
8c1cfd5a
RH
1219 (expand_assignment): ... here. Use handled_component_p to gate
1220 get_inner_reference code. Simplify MEM handling. Special case
1221 CONCAT destinations.
1222
d7cf6dd6
RH
1223 * expmed.c (store_bit_field): Use simplify_gen_subreg instead
1224 of gen_rtx_SUBREG directly.
1225
e56d7409
DE
12262004-12-01 David Edelsohn <edelsohn@gnu.org>
1227 Nathan Sidwell <nathan@codesourcery.com>
1228
1229 PR target/17107
1230 * config/rs6000/rs6000.md (sge): Enable for non-TARGET_POWER.
1231 (sgt): Same.
1232 (sle): Same.
1233 (slt): Same.
1234
e06c0feb
NS
12352004-12-01 Nathan Sidwell <nathan@codesourcery.com>
1236
1237 PR middle-end/18667
1238 * params.c (set_param_value): Add range check.
1239 * params.def: Add min and max values. Reformat long strings.
1240 * params.h (struct param_info): Add min and max fields.
1241 (enum compiler_param): Adjust DEFPARAM.
1242 * toplev.c (lang_independent_params): Likewise.
1243
eab97e44
AM
12442004-12-01 Alan Modra <amodra@bigpond.net.au>
1245
1246 PR target/12817
1247 * config/rs6000/rs6000.c (rs6000_emit_prologue): Use r0 for vrsave.
1248
683e2617
JM
12492004-12-01 Joseph S. Myers <joseph@codesourcery.com>
1250
1251 * doc/standards.texi: Update for C99 TC2.
1252
874437bc
JL
12532004-11-30 Jeff Law <law@redhat.com>
1254
1255 * sbitmap.c (sbitmap_any_common_bits): New function.
1256 * sbitmap.h (sbitmap_any_common_bits): Prototype.
1257 * modulo-sched.c (sms_schedule_by_order): Use sbitmap_any_common_bits
1258 No longer allocate/free "psp", "pss" sbitmaps.
1259 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Similarly for
1260 the "res" sbitmap.
1261 (group_aliases): Similarly.
1262
c21accc5
NS
12632004-11-30 Nathan Sidwell <nathan@codesourcery.com>
1264
1265 * tree-vectorizer.c (vect_analyze_data_refs): Reformat and avoid
1266 uninitialized variable.
1267
62f4e23f
EC
12682004-11-30 Eric Christopher <echristo@redhat.com>
1269
1270 * fold-const.c (fold_widened_comparison): Make sure that we're
1271 passing an INTEGER_TYPE to int_fits_type_p.
1272 (fold): Clean up comment.
1273
80ded125
ZW
12742004-11-30 Zack Weinberg <zack@codesourcery.com>
1275
1276 * mklibgcc.in: Correct calculation of libgcc_s_soname and
1277 libunwind_soname. Use $out, not $outS, in commands for
1278 no-shared-library case. Move EXTRA_MULTILIB_PARTS rules above
1279 library build rules, make $libunwind_so and $libgcc_s_so
1280 depend on them in the normal fashion, and filter those objects
1281 out of @shlib_objs@.
1282
98705d7d
JJ
12832004-11-30 Janis Johnson <janis187@us.ibm.com>
1284
1285 * config/rs6000/altivec.h (vec_step_help): Support const vector types.
1286
209e170c
AP
12872004-11-30 Andrew Pinski <pinskia@physics.uc.edu>
1288
1289 PR tree-opt/18298
1290 * tree-optimize.c (init_tree_optimization_passes): Add a may_alias
1291 pass right after fold builtins.
1292
00bda920 12932004-11-30 Andreas Krebbel <krebbel1@de.ibm.com>
80ded125 1294
00bda920
AK
1295 * config/s390/s390-modes.def: Added cc modes documentation.
1296 * config/s390/s390.c: (s390_tm_ccmode, s390_select_ccmode,
1297 s390_expand_addcc): Added cc mode comments.
1298 * config/s390/s390.md: Removed old cc mode documentation.
1299
017e0eb9
MD
13002004-11-30 Mark Dettinger <dettinge@de.ibm.com>
1301
1302 * config/s390/s390.c (struct processor_costs): New data type.
1303 (s390_cost, z900_cost, z990_cost): New global variables.
1304 (override_options): Initialize s390_cost.
1305 (s390_rtx_costs): Reimplement.
1306
e9284566
DB
13072004-11-29 Daniel Berlin <dberlin@dberlin.org>
1308
1309 Fix PR tree-optimization/18673
80ded125 1310
e9284566
DB
1311 * tree-ssa-pre.c: Remove splay-tree.h include.
1312 (bitmap_value_replace_in_set): Fix to add if it does not exist.
1313 (find_or_generate_expression): Remove now-wrong condition.
1314 (create_expression_by_pieces): Fix condition and comment reason
80ded125 1315 for it.
e9284566
DB
1316 (insert_aux): Fix condition and comment reasons for it.
1317 Factor insertion code from here.
1318 (insert_into_preds_of_block): To here. Fix conditions in factored
1319 function and comment reasons for them.
1320
f2b60e40
IR
13212004-11-30 Ira Rosen <irar@il.ibm.com>
1322
1323 PR tree-opt/18607
1324 * tree-vectorizer.c (vect_analyze_data_refs): Use temporary
80ded125 1325 variable for data_reference when looking for memtag.
f2b60e40 1326
1b3c8f46
JJ
13272004-11-30 Jakub Jelinek <jakub@redhat.com>
1328
1329 * c-opts.c (check_deps_environment_vars): If spec != NULL, set
1330 deps_seen.
1331
37ea4e67
DN
13322004-11-30 Dorit Naishlos <dorit@il.ibm.com>
1333
1334 * tree-vectorizer.c (vect_gen_niters_for_prolog_loop): Use
1335 tree_low_cst instead of TREE_INT_CST_LOW.
1336
d75bf0ca
DN
13372004-11-30 Dorit Naishlos <dorit@il.ibm.com>
1338
f093059e 1339 PR target/18173
d75bf0ca
DN
1340 * tree-vectorizer.c (vect_can_force_dr_alignment_p): Return false for
1341 decls that are assembled before vectorization takes place.
80ded125 1342 (vect_compute_data_ref_alignment): Set DECL_USER_ALIGN to 1.
d75bf0ca 1343
9b09c842
UW
13442004-11-30 Ulrich Weigand <uweigand@de.ibm.com>
1345
1346 * passes.c (rest_of_handle_old_regalloc): Delete unreachable blocks
1347 if local_alloc modified jumps.
1348
0050e862
AM
13492004-11-30 Alan Modra <amodra@bigpond.net.au>
1350
1351 * varasm.c (default_encode_section_info): Don't set SYMBOL_FLAG_SMALL
1352 on TLS symbols.
1353 * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Remove TLS
1354 check.
1355
7370bebd
ZW
13562004-11-30 Zack Weinberg <zack@codesourcery.com>
1357
1358 * gthr-gnat.c, gthr-gnat.h, gthr.h, libgcc2.h, unwind-dw2-fde.h
1359 * unwind.h: Surround all visibility pragmas with #ifndef HIDE_EXPORTS.
1360
1361 * mklibgcc.in: Drastic restructure for comprehensibility.
1362 Remove the old hidden-directive hack.
1363 Eliminate support for .txt files in LIB2ADD etc (never used).
1364 Eliminate support for assembly source files in LIB2ADDEH* and
1365 LIBUNWIND (also never used).
1366 Build up dependency lists for libraries incrementally.
1367 If we have SHLIB_LINK, compile each file twice, once for the
1368 static and once for the shared library; also probe for
1369 -fvisibility=hidden in the generated libgcc.mk. If found,
1370 pass that and -DHIDE_EXPORTS to the compilation of every C
1371 source file going into the static library. If found, generate
1372 hidden-directive lists for every assembly source file going
1373 into the static library, but incorporate them with -include
1374 instead of ld -r.
1375 Write comments into generated libgcc.mk to facilitate debugging.
1376 * Makefile.in: Pass ASM_HIDDEN_OP to mklibgcc.
1377 * config/t-slibgcc-darwin: Define ASM_HIDDEN_OP.
1378
1379 * config/darwin.h (REAL_LIBGCC_SPEC): Put -lgcc back in
1380 -Zdynamiclib case.
1381
afe84921
RH
13822004-11-29 Richard Henderson <rth@redhat.com>
1383
1384 * expr.c (get_inner_reference): Handle REAL/IMAGPART_EXPR.
1385 (handled_component_p): Likewise.
1386 * alias.c (can_address_p): Reformat and simplify. Handle
1387 REAL/IMAGPART_EXPR. Do not disable addressability based on
1388 alias set zero.
1389 * fold-const.c (build_fold_addr_expr_with_type): Remove duplicate
1390 check for REAL/IMAGPART_EXPR.
1391 * gimplify.c (gimplify_compound_lval): Likewise.
1392 * tree-cfg.c (verify_expr): Likewise.
1393 * tree-gimple.c (is_gimple_addressable, get_base_address): Likewise.
1394 * tree-nested.c (build_addr, convert_nonlocal_reference): Likewise.
1395 (convert_local_reference): Likewise.
1396 * tree-ssa-loop-ivopts.c (prepare_decl_rtl): Likewise.
1397
f2978871
AM
13982004-11-30 Alan Modra <amodra@bigpond.net.au>
1399
1400 * expr.c (emit_group_load_1): Don't die on const_int orig_src.
1401
c621016b
JDA
14022004-11-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1403
1404 PR pch/14940
1405 * config/pa/pa-host.c, config/pa/x-hpux, config/pa/x-linux: New files.
1406 * config.host (hppa*-*-hpux*, hppa*-*-linux): Define out_host_hook_obj
1407 and host_xmake_file using new host configuration files.
1408
0cc5dec1
RS
14092004-11-29 Roger Sayle <roger@eyesopen.com>
1410
1411 * reg-stack.c (change_stack): Improve algorithm used to pop regs
1412 off the stack to maximize ffreep usage and reduce fxch count.
1413
1ac0ac8b
JM
14142004-11-30 James A. Morrison <phython@gcc.gnu.org>
1415
1416 PR middle-end/18596
1417 * c-decl.c (grokdeclarator): Reset DECL_INTIAL to error_mark_node
1418 on errors.
1419
7acda552
RK
14202004-11-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1421
1422 * expr.c (expand_expr_real_1, case NOP_EXPR): Properly handle
1423 REDUCE_BIT_FIELD by applying it to result, not input, of conversion.
1424
2a983309
BE
14252004-11-30 Ben Elliston <bje@au.ibm.com>
1426
1427 * Makefile.in (REGS_H): Depend on $(BASIC_BLOCK_H).
1428
e8233ac2
AP
14292004-11-29 Andrew Pinski <pinskia@physics.uc.edu>
1430
1431 PR c/18479
1432 * c-common.c (handle_visibility_attribute): When the type decl
1433 is really a identifier node, warn about being ignored and return.
1434
bac8beb4
RH
14352004-11-29 Richard Henderson <rth@redhat.com>
1436
1437 * tree-cfg.c (tree_node_can_be_shared): Fix typo'd error_mark_node.
1438
6be85b25
SB
14392004-11-29 Steven Bosscher <stevenb@suse.de>
1440
1441 * cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge):
1442 Remove CASE_DROPS_THROUGH checks, it is never defined.
1443 * cfglyout.c (fixup_reorder_chain): Likewise.
1444 * cfgrtl.c (rtl_verify_flow_info): Likewise.
1445 * stmt.c (expand_case): Likewise.
1446 * cfgbuild.c (make_edges): Likewise. Also remove force_fallthru,
1447 it is now always 0.
1448 * system.h (CASE_DROPS_THROUGH): Poison.
1449 * doc/md.texi (casesi): Remove documentation of CASE_DROPS_THROUGH.
1450 * doc/tm.texi (casesi): Remove documentation of CASE_DROPS_THROUGH.
1451
1452 * config/v850/v850.h: Remove commented out CASE_DROPS_THROUGH.
1453
5e23162d
AP
14542004-11-29 Andrew Pinski <pinskia@physics.uc.edu>
1455
1456 PR middle-end/18725
1457 * tree-cfg.c (tree_node_can_be_shared): Error_mark_node can be
1458 shared always.
1459
d21d51d0
DN
14602004-11-29 Diego Novillo <dnovillo@redhat.com>
1461
b7034e06 1462 PR tree-optimization/18712
d21d51d0
DN
1463 * tree-into-ssa.c (insert_phi_nodes_for): Pass argument
1464 WORK_STACK by reference.
1465 Call VEC_safe_push instead of VEC_quick_push.
1466 Update all users.
1467
86f029aa
JM
14682004-11-29 Daniel Jacobowitz <dan@codesourcery.com>
1469
1470 PR c/7544
1471 * Makefile.in (c-lang.o): Update dependencies.
1472 * c-lang.c: Include "c-pragma.h".
1473 (finish_file): Call maybe_apply_pending_pragma_weaks.
1474 * c-pragma.c (maybe_apply_pending_pragma_weaks): New function.
1475 * c-pragma.h (maybe_apply_pending_pragma_weaks): New prototype.
1476
b0c2dee9
RH
14772004-11-29 Richard Henderson <rth@redhat.com>
1478
1479 PR target/17224
1480 * config/ia64/predicates.md (sdata_symbolic_operand): Deny offsets
1481 outside the referenced object.
1482
62112e35
KH
14832004-11-29 Kazu Hirata <kazu@cs.umass.edu>
1484
1485 * tree-if-conv.c (replace_phi_with_cond_modify_expr): Use
1486 EDGE_PRED instead of PHI_ARG_EDGE.
1487 * tree-ssa-live.c: Likewise.
1488 * tree-ssa-loop-manip.c: Likewise.
1489 * tree-ssa.c: Likewise.
1490
03101c6f
KH
1491 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Speed up by
1492 simplifying edge manipulation.
1493
afb7cf18
KH
1494 * cfgrtl.c (rtl_tidy_fallthru_edge): Speed up by using
1495 EDGE_COUNT.
1496
4edbbd3f
KH
1497 * tree-cfg.c (tree_redirect_edge_and_branch): Call find_edge
1498 only when needed.
1499
dda88f6f
KH
1500 * cfg.c (flow_obstack): Remove.
1501 (flow_firstobj): Likewise.
1502 (init_flow): Remove all uses of flow_obstack.
1503
e13971e0
AM
15042004-11-29 Alan Modra <amodra@bigpond.net.au>
1505
1506 * varasm.c (default_elf_select_section_1): Only pass DECL_P decl
1507 to named_section.
1508
d41ca8e6
NS
15092004-11-29 Nathan Sidwell <nathan@codesourcery.com>
1510
1511 * opts.c (decode_options): Do not set max-inline-insns-rtl.
1512 (common_handle_option): Likewise.
1513 * params.def (PARAM_MAX_INLINE_INSNS_RTL): Remove.
1514 * params.h (MAX_INLINE_INSNS_RTL): Remove.
1515 * doc/invoke.texi (max-inline-insns-rtl): Remove.
1516
6654de69
AM
15172004-11-29 Alan Modra <amodra@bigpond.net.au>
1518
1519 PR target/9571
1520 * varasm.c (default_elf_select_section_1): Pass decl to named_section.
1521
15222004-11-28 Andrew Pinski <pinskia@physics.uc.edu>
6db081f1
AP
1523
1524 PR middle-end/18164
1525 * gimplify.c (gimplify_asm_expr): If the length of an output operand
1526 is zero, do not process it, just let it go through.
1527
47023d1a 15282004-11-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6654de69 1529 Diego Novillo <dnovillo@redhat.com>
47023d1a
RK
1530
1531 PR/18662, also backported from tree-cleanup-branch.
1532 * tree-ssa-ccp.c (substitute_and_fold): If replaced anything,
1533 always call maybe_clean_eh_stmt and modify_stmt.
1534
97f8d136
RK
15352004-11-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1536
9390c347
RK
1537 PR/18664
1538 * tree-ssa-operands.c (build_ssa_operands, case MODIFY_EXPR):
1539 Ignore a VIEW_CONVERT_EXPR on LHS when deciding if must or may def.
1540 * tree-ssa-ccp.c (visit_assignment): If LHS is a VIEW_CONVERT_EXPR,
1541 add an inverse VIEW_CONVERT_EXPR to const_val.
1542
1543 PR/18657
ab1a8620
RK
1544 * tree-nested.c (check_for_nested_with_variably_modified): New.
1545 (create_nesting_tree): Call it.
1546
406eab99
RK
1547 * tree-ssa-alias.c (compute_points_to_and_addr_escapes): Remove
1548 special code for assigning to non-pointer.
1549 (is_escape_site): If RHS is a conversion between pointer and integer
1550 types, this is an escape site.
1551
b16aa8a5
RK
1552 * gcse.c (insert_store): Error if try to insert store on abnormal edge.
1553 (store_motion): Don't move store if any edge we'd want to move it
1554 to is abnormal.
1555
45d8710e
RK
1556 * expr.c (expand_expr_real_1, case ARRAY_REF): Properly fold with
1557 non-zero lower bound.
1558
97f8d136
RK
1559 * expr.c (categorize_ctor_elements_1, case STRING_CST): New case.
1560
a2163d83
MK
15612004-11-28 Matt Kraai <kraai@alumni.cmu.edu>
1562
1563 PR diagnostic/17594
1564 * opts.c (find_opt): Require that the input match a switch exactly
1565 or that the switch take a joined option to be interpreted as a
1566 match for another language.
1567
09e293df
AP
15682004-11-28 Andrew Pinski <pinskia@physics.uc.edu>
1569
1570 * timevar.def (TV_TREE_REDPHI): New timevar.
1571 * tree-ssa.c (pass_redundant_phi): Use TV_TREE_REDPHI for the tv id.
1572
ba9a70a7
NN
15732004-11-28 Nathanael Nerode <neroden@gcc.gnu.org>
1574
1575 PR preprocessor/17651
1576 * c-opts.c (sanitize_cpp_opts): Make flag_no_output imply
1577 flag_no_line_commands.
1578 * c-ppoutput.c (pp_file_change): Remove now-redundant check of
1579 flag_no_output.
1580
97e45d9e
TR
15812004-11-28 Theodore A. Roth <troth@openavr.org>
1582
1583 * config/avr/avr.c (avr_handle_fndecl_attribute): Generate a
1584 warning if the function name does not begin with "__vector" and the
1585 function has either the 'signal' or 'interrupt' attribute.
1586
35920225
TR
15872004-11-28 Theodore A. Roth <troth@openavr.org>
1588
1589 * config/avr/avr.c (avr_mcu_types): Add entries for atmega48,
1590 atmega88, atmega168, attiny13, attiny2313, at90can128, atmega165,
1591 atmega325, atmega3250, atmega645 and atmega6450.
1592 * config/avr/avr.h (LINK_SPEC): Ditto.
1593 (LIB_SPEC): Ditto.
1594 (LIBGCC_SPEC): Ditto.
1595 (CRT_BINUTILS_SPECS): Ditto.
1596 * config/avr/t-avr (MULTILIB_MATCHES): Ditto.
1597
28303828
NN
15982004-11-28 Nathanael Nerode <neroden@gcc.gnu.org>
1599
1600 PR preprocessor/17610
1601 * testsuite/gcc.dg/cpp/empty-include.c: New testcase.
1602
856e49c2
JL
16032004-11-28 Jeff Law <law@redhat.com>
1604
1605 * tree-ssa-alias.c (count_calls_and_maybe_create_global_var): New.
1606 (pass_maybe_create_global_var): New.
1607 * tree-pass.h (pass_maybe_create_global_var): Declare.
1608 * tree-optimize.c (init_tree_optimization_passes): Link in
1609 pass_maybe_create_global_var.
1610
27b892b4
RK
16112004-11-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1612
1613 * tree-inline.c (inline_forbidden_p_1, case RECORD_TYPE): Add comment.
1614
fbee7563
UW
16152004-11-28 Ulrich Weigand <uweigand@de.ibm.com>
1616
1617 PR rtl-optimization/18420
1618 * simplify-rtx.c (simplify_gen_subreg): Revert 2004-10-28 change.
1619
6e1037da 16202004-11-28 Steven Bosscher <stevenb@suse.de>
05dde071
SB
1621 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1622
1623 * config/vax/vax.h (CASE_DROPS_THROUGH): Don't define.
1624 * config/vax/vax.md (casesi): Emit a test-and-branch to make sure
1625 that the case is in range, to make sure the casesi insn is always
1626 in range and never falls through.
1627 (casesi1): Add comment to explain why casesi never falls through.
1628 Remove the unnamed special case casesi pattern.
1629
69ffa7aa
HPN
16302004-11-28 Hans-Peter Nilsson <hp@bitrange.com>
1631
1632 PR target/18331
1633 * config/mmix/mmix.md ("*movdicc_real_reversible"): Rename from
1634 "*movdicc_real". Only match reversible comparisons.
1635 ("*movdicc_real_nonreversible"): New pattern, split from
1636 "*movdicc_real". Match only nonreversible comparisons. Exclude
1637 reversed alternatives.
1638 ("*movdfcc_real_reversible", "*movdfcc_real_nonreversible"):
1639 Similar.
1640
7905f799
RH
16412004-11-27 Richard Henderson <rth@redhat.com>
1642
1643 * config/ia64/ia64.md: Move all define_predicate's ...
1644 * config/ia64/predicates.md: ... here. New file.
1645
8af4d362
PB
16462004-11-27 Per Bothner <per@bothner.com>
1647
1648 PR bootstrap/18142
1649 Re-applied following, with two modifications: add a URL for the
1650 fixed cctools; only exit if $build = $target.
1651
1652 2004-10-18 Kelley Cook <kcook@gcc.gnu.org>
1653 * configure.ac (powerpc-*-darwin*): Require assembler to support
1654 .machine directive.
1655 * configure: Regenerate.
1656
22e54023
DE
16572004-11-28 David Edelsohn <edelsohn@gnu.org>
1658
1659 PR target/16800
1660 * config/rs6000/rs6000.c (rs6000_rtx_costs): Improve accuracy of
1661 EQ, GTU, and LTU costs. Add costs for GT, LT, and UNORDERED.
1662 Distinguish between SImode and DImode CONST_INT.
1663
7482ad25
AF
16642004-11-28 Andreas Fischer <a_fisch@gmx.de>
1665 Alan Modra <amodra@bigpond.net.au>
1666
1667 PR target/16343
1668 * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Disallow
1669 functions, strings and thread-local vars.
1670
f57fe068
AM
16712004-11-28 Alan Modra <amodra@bigpond.net.au>
1672
1673 * config/rs6000/rs6000.h (WORLD_SAVE_P): Define.
1674 * config/rs6000/darwin.h (WORLD_SAVE_P): Define.
1675 * config/rs6000/rs6000.c (compute_save_world_info): Use WORLD_SAVE_P
1676 to allow non-darwin ABIs to optimize away code.
1677 (rs6000_emit_prologue, rs6000_emit_epilogue): Likewise.
1678
cdef8bc6
KH
16792004-11-27 Kazu Hirata <kazu@cs.umass.edu>
1680
1681 * tree.c (operand_equal_for_phi_arg_p): New.
1682 * tree.h: Add a prototype for operand_equal_for_phi_arg_p.
1683 * tree-cfg.c, tree-ssa-dom.c, tree-ssa-phiopt.c, tree-ssa.c:
1684 Replace operand_equal_p with operand_for_phi_arg_p
1685 appropriately.
1686
51027369
KH
1687 * bb-reorder.c (find_traces_1_round): Speed up by using
1688 EDGE_COUNT instead of FOR_EACH_EDGE.
1689
51dd24d7 1690 * fold-const.c, config/i386/linux64.h: Fix comment typos.
38318b73 1691
31f16dff
JDA
16922004-11-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1693
1694 PR pch/14940
1695 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Revert 2004-11-22 change.
1696
2fd13506
KH
16972004-11-27 Kazu Hirata <kazu@cs.umass.edu>
1698
1699 * config/i386/linux.h: Fix a comment typo.
1700 * doc/extend.texi: Fix a typo.
1701
086aa12e
JL
17022004-11-27 Jeff Law <law@redhat.com>
1703
1704 * tree-cfg.c (cleanup_tree_cfg): Also return true if blocks
1705 are merged.
1706
02a854f9
JJ
17072004-11-27 Jakub Jelinek <jakub@redhat.com>
1708
1709 * config/i386/linux64.h (REG_NAME): Define.
1710
47d42ce2
JJ
17112004-11-27 Jakub Jelinek <jakub@redhat.com>
1712
1713 * fold-const.c (extract_muldiv_1) <case ABS_EXPR>: If ctype is
1714 unsigned and type signed, build ABS_EXPR with signed_type (ctype)
1715 and only afterwards convert to ctype.
1716
e64ca6c4
RS
17172004-11-27 Richard Sandiford <rsandifo@redhat.com>
1718
1719 * config/mips/mips-protos.h (function_arg_boundary): Declare.
1720 * config/mips/mips.h (PARM_BOUNDARY): Simplify definition.
1721 (STACK_BOUNDARY, MIPS_STACK_ALIGN): Likewise.
1722 (FUNCTION_ARG_BOUNDARY): Use new function_arg_boundary function.
1723 * config/mips/mips.c (function_arg_boundary): New function.
1724 Impose a maximum alignment of STACK_BOUNDARY.
1725
b78b8bd8
JJ
17262004-11-27 Jakub Jelinek <jakub@redhat.com>
1727
1728 PR rtl-optimization/17825
1729 * combine.c (subst): Ignore STRICT_LOW_PART no matter if REG_P (new)
1730 or not.
1731
3eb4e360
AM
17322004-11-27 Alan Modra <amodra@bigpond.net.au>
1733
1734 PR target/12769
1735 * config/rs6000/rs6000.c (init_cumulative_args): Set call_cookie
1736 from rs6000_default_long_calls for libcalls.
1737
360e3535
RK
17382004-11-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1739
1740 * expmed.c (extract_bit_field): When extracting from non-integer mode,
1741 force a SUBREG into a register because we may be taking a further
1742 SUBREG of it.
1743
85136eb4
DJ
17442004-11-27 Di-an Jan <dianj@freeshell.org>
1745
1746 * doc/contrib.texi (Tim Josling): Remove nesting quotation marks.
1747
44379973
RM
17482004-11-26 Robert Millan <robertmh@gnu.org>
1749
1750 Changes for k*bsd-gnu support.
1751 * config/i386/linux.h: Define REG_NAME to allow overriding of
1752 register names in sc structure.
1753 * config/i386/linux-unwind.h: Refer to sc->REG_NAME(reg) instead
1754 of sc->reg.
1755 * config.gcc: Detect x86_64-k*bsd-gnu systems.
1756
b5c3569b
JL
17572004-11-26 Jeff Law <law@redhat.com>
1758
1759 * tree-ssa.c (verify_flow_sensitive_alias_info): Don't
1760 retrieve annotations or pointer info before it's necessary.
1761 Reorder tests for early continue of the loop. Manually CSE
1762 SSA_NAME_VAR.
1763
e54c7471
EB
17642004-11-26 Eric Botcazou <ebotcazou@libertysurf.fr>
1765
1766 * target.h (struct gcc_target): New field 'dwarf_handle_frame_unspec'.
1767 * target_def.h (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define to 0.
1768 (TARGET_INITIALIZER): Add TARGET_DWARF_HANDLE_FRAME_UNSPEC.
1769 * dwarf2out.c (dwarf2out_frame_debug_expr): Allow REG->REG move
1770 to a fixed reg if the source is the Return Address register.
1771 Implement new Rule 15.
1772 * doc/tm.texi (Frame Layout): Document TARGET_DWARF_HANDLE_FRAME_UNSPEC.
1773 * config/sparc/sparc.c (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define to
1774 sparc_dwarf_handle_frame_unspec.
1775 (gen_save_register_window): New function.
1776 (emit_stack_pointer_increment): Rename into gen_stack_pointer_inc.
1777 (emit_stack_pointer_decrement): Rename into gen_stack_pointer_dec.
1778 (expand_prologue): Adjust calls to emit_stack_pointer_{in,de}crement.
1779 Set RTX_FRAME_RELATED_P on the appropriate insns and members of insns.
1780 (sparc_asm_function_prologue): Do not emit call frame debugging info.
1781 (emit_and_preserve): Adjust calls to emit_stack_pointer_{in,de}crement.
1782 (sparc_expand_epilogue): Likewise.
1783 (sparc_dwarf_handle_frame_unspec): New function.
1784 * config/sparc/sparc.md (save_register_window): Remove.
1785 (save_register_windowdi): Rewrite modelled on the callframe debug info.
1786 (save_register_windowsi): Likewise.
1787
077094ac
AO
17882004-11-26 Alexandre Oliva <aoliva@redhat.com>
1789
1790 * config/frv/frv-protos.h: Guard ifcvt functions declarations with
1791 BB_HEAD, not BLOCK_HEAD.
1792
9a228f09
AO
17932004-11-26 Alexandre Oliva <aoliva@redhat.com>
1794
1795 * config/frv/frv.c (frv_ifcvt_modify_insn): Don't leave alone
1796 scratch insns that set a register live at the join point.
1797
6668f6a7
KH
17982004-11-26 Kazu Hirata <kazu@cs.umass.edu>
1799
1800 * cse.c, tree-ssa-operands.c: Fix comment typos.
1801
7510740d
KH
1802 * tree-cfg.c (tree_split_edge): Speed up by using find_edge.
1803
c5145ceb
JM
18042004-11-26 James A. Morrison <phython@gcc.gnu.org>
1805
1806 PR target/18510
1807 * doc/extend.texi (SPARC VIS Built-in Functions): New section.
1808
6a66a8a7
KH
18092004-11-26 Kazu Hirata <kazu@cs.umass.edu>
1810
1811 * cfgrtl.c (try_redirect_by_replacing_jump): Speed up the
1812 check that tests if all edges go to the same destination.
1813
3aeee1b4
KH
1814 * bitmap.c (bitmap_find_bit): Speed up by traversing from
1815 head->first if that seems profitable.
1816
87c11134
JL
18172004-11-25 Jeff Law <law@redhat.com>
1818
1819 * timevar.def (TV_TREE_LOOP_INIT, TV_TREE_LOOP_FINI): New timevars.
1820 * tree-ssa-loop.c (pass_loop_init): Use TV_TREE_LOOP_INIT.
1821 (pass_loop_done): Use TV_TREE_LOOP_FINI.
1822
994cf173
AM
18232004-11-26 Alan Modra <amodra@bigpond.net.au>
1824
1825 PR rtl-optimization/16356
1826 * config/rs6000/rs6000.md (floatdisf2_internal2): Rewrite with
1827 separate output register and one less jump. Enable for powerpc64.
1828 (floatdisf2): Adjust for above.
1829
9dad6498
BW
18302004-11-25 Bob Wilson <bob.wilson@acm.org>
1831
1832 * config/xtensa/xtensa.h (STARTFILE_SPEC): Add crt0.
1833 (GCC_DRIVER_HOST_INITIALIZATION): Define.
1834
5f0be3d0
AP
18352004-11-25 Andrew Pinski <pinskia@physics.uc.edu>
1836
1837 PR middle-end/17957
1838 * tree-complex.c (vector_inner_type): New variable moved from
1839 build_word_mode_vector_type.
1840 (vector_last_type): Likewise.
1841 (vector_last_nunits): Likewise.
1842 (build_word_mode_vector_type): Use the new variables.
1843 * Makefile.in (tree-complex.o): Add gt-tree-complex.h $(GGC_H).
1844 (GTFILES): Add tree-complex.c.
1845 (gt-tree-complex.h): New rule, add it to the rest of the gt-* rules.
1846
c0b57a5a
BW
18472004-11-25 Bob Wilson <bob.wilson@acm.org>
1848
1849 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define
1850 __XTENSA_WINDOWED_ABI__.
1851
e0c0490b
RH
18522004-11-25 Richard Henderson <rth@redhat.com>
1853
1854 * dwarf2out.c (dwarf2out_stack_adjust): Add after_p argument. Save
1855 args_size adjustments for calls even with cfa as stack pointer.
1856 Search calls for stack adjustments after the insn is issued.
1857 (dwarf2out_frame_debug): Add after_p argument; pass it on.
1858 * dwarf2out.h (dwarf2out_frame_debug): Update to match.
1859 * final.c (final_start_function, final_scan_insn): Likewise.
1860
18612004-11-25 Richard Henderson <rth@redhat.com>
58767f00
RH
1862
1863 PR c++/6764
994cf173
AM
1864 * reload1.c (set_initial_eh_label_offset): New.
1865 (set_initial_label_offsets): Use it.
58767f00 1866
c9ffaa8d
KK
18672004-11-25 Kaz Kojima <kkojima@gcc.gnu.org>
1868
1869 * config/sh/sh.c (sh_output_mi_thunk): Initialize bitmap obstacks
1870 before calling life_analysis and release them after.
1871
fbafc26f
KH
18722004-11-25 Kazu Hirata <kazu@cs.umass.edu>
1873
1874 * tree-ssa-forwprop.c (substitute_single_use_vars): Remove
1875 duplicate code.
1876
03c8e7dd
AP
18772004-11-25 Andrew Pinski <pinskia@physics.uc.edu>
1878
1879 * bitmap.h (BITMAP_XMALLOC): Use BITMAP_ALLOC and not
1880 BITMAP_OBSTACK_ALLOC.
1881 (BITMAP_XFREE): Use BITMAP_FREE and not BITMAP_OBSTACK_FREE.
1882
b7ca416f
AP
18832004-11-25 Andrew Pinski <pinskia@physics.uc.edu>
1884
1885 parts of PR rtl-opt/18463, rtl-opt/17647
1886 * cse.c (canon_for_address): New function.
1887 (find_best_addr): Call canon_for_address before getting the
1888 address's cost when checking if we should take that address.
1889
d2e398df
KH
18902004-11-25 Kazu Hirata <kazu@cs.umass.edu>
1891
1892 * tree-phinodes.c (add_phi_arg): Take "tree" instead of
1893 "tree *" as the first argument.
1894 * tree-flow.h: Update the prototype of add_phi_arg.
1895 * lambda-code.c, tree-cfg.c, tree-into-ssa.c,
1896 tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa-pre.c,
1897 tree-ssa-threadupdate.c, tree-ssa.c, tree-tailcall.c,
1898 tree-vectorizer.c: Update all call sites of add_phi_arg.
1899
9f8e7478
NS
19002004-11-25 Nathan Sidwell <nathan@codesourcery.com>
1901
1902 * bitmap.c (bitmap_malloc_alloc, bitmap_malloc_free): Remove.
1903 * bitmap.h (bitmap_malloc_alloc, bitmap_malloc_free): Remove.
1904 (BITMAP_XMALLOC): Forward to BITMAP_OBSTACK_ALLOC.
1905 (BITMAP_XFREE): Forward to BITMAP_OBSTACK_FREE.
1906
e288e2f5
AM
19072004-11-25 Andrew MacLeod <amacleod@redhat.com>
1908
1909 PR tree-optimization/18587
1910 * tree-flow-inline.h (mark_call_clobbered, mark_non_addressable): Flag
1911 call clobbered caches as invalid.
994cf173 1912 * tree-ssa-operands.c (ssa_call_clobbered_cache_valid): New. Flag
e288e2f5 1913 indicating whether the call clobbered operand cache is valid.
9f8e7478
NS
1914 (ssa_ro_call_cache_valid): New. Flag indicating whether the
1915 pure/const call operand cache is valid.
994cf173 1916 (clobbered_v_may_defs, clobbered_vuses, ro_call_vuses): New. Cached
e288e2f5 1917 list of operands for cached call virtual operands.
994cf173 1918 (clobbered_aliased_loads, clobbered_aliased_stores,
9f8e7478
NS
1919 ro_call_aliased_load): New. flags caching whether alias bits are
1920 to be set in call stmt's.
e288e2f5 1921 (fini_ssa_operands): Remove call operand caches if present.
9f8e7478
NS
1922 (get_expr_operands, get_asm_expr_operands,
1923 get_indirect_ref_operands): Pass stmt annotation to add_stmt_operand.
e288e2f5
AM
1924 (get_call_expr_operands): Add call clobbered variables first.
1925 (add_stmt_operand): Take stmt annotation rather than stmt as a param.
1926 (add_call_clobber_ops, add_call_read_ops): Use the call operand cache
1927 if it is valid, otherise fill the cache.
1928 * tree-ssa-operands.h (ssa_clobbered_cache_valid): Declare extern.
9f8e7478
NS
1929 * tree-flow.h (struct var_ann_d): Add in_vuse_list and
1930 in_v_may_def_list bits.
1931 * tree-ssa-operands.c (cleanup_v_may_defs): New. Clear the
1932 in_list bits for the v_may_def elements and empty the operand
1933 build array
1934 (finalize_ssa_vuses): Use cleanup_v_may_defs and remove redundant
1935 VUSES by checking the in_v_may_def_list bit.
994cf173 1936 (append_v_may_def, append_vuse): Use the in_list bit rather than
e288e2f5
AM
1937 scanning the array for duplicates.
1938
227a39fa
UW
19392004-11-25 Ulrich Weigand <uweigand@de.ibm.com>
1940
1941 * config/s390/s390.c (s390_short_displacement): UNSPEC_GOTNTPOFF
1942 displacements are not short.
1943
6aea2f6d
UW
19442004-11-25 Ulrich Weigand <uweigand@de.ibm.com>
1945
1946 * config/s390/s390.c (legitimize_pic_address): Use s390_load_address
1947 to load addresses.
1948
5ae9ba3e
MM
19492004-11-25 Mark Mitchell <mark@codesourcery.com>
1950
1951 PR c++/18001
1952 * c-common.h (lvalue_use): Move here from c-ctypeck.c.
1953 (lvalue_or_else): Declare.
1954 * c-common.c (lvalue_or_else): Move here from c-typeck.c.
1955 * c-typeck.c (lvalue_use): Remove.
1956 (lvalue_or_else): Remove.
1957
1958 PR c++/18556
1959 * toplev.c (check_global_declarations): Set DECL_IGNORED_P on
1960 unemitted variables with static storage duration.
1961
6ade0959
GP
19622004-11-25 Gerald Pfeifer <gerald@pfeifer.com>
1963
1964 * tree-cfg.c (tree_verify_flow_info): Do not terminate error()
1965 message with \n.
1966
aba5fb01
NS
19672004-11-25 Nathan Sidwell <nathan@codesourcery.com>
1968
1969 * config/rs6000/altivec.md (VIshort): New mode macro.
1970 (altivec_vaddubs, altivec_vadduhs, altivec_vadduws): Replace
1971 with ...
1972 (altivec_vaddu<VI_char>s): ... this.
1973 (altivec_vaddsbs, altivec_vaddshs, altivec_vaddsws): Replace
1974 with ...
1975 (altivec_vadds<VI_char>s): ... this.
1976 (altivec_vsububs, altivec_vsubuhs, altivec_vsubuws): Replace
1977 with ...
1978 (altivec_vsubu<VI_char>s): ... this.
1979 (altivec_vsubsbs, altivec_vsubshs, altivec_vsubsws): Replace
1980 with ...
1981 (altivec_vsubs<VI_char>s): ... this.
1982 (altivec_vavgub, altivec_vavguh, altivec_vavguw): Replace
1983 with ...
1984 (altivec_vavgu<VI_char>): ... this.
1985 (altivec_vavgsb, altivec_vavgsh, altivec_vavgsw): Replace
1986 with ...
1987 (altivec_vavgs<VI_char>): ... this.
1988 (altivec_vmsumubm, altivec_vmsumuhm): Replace with ...
1989 (altivec_vmsumu<VI_char>m): ... this.
1990 (altivec_vmsummbm, altivec_vmsummhm): Replace
1991 with ...
1992 (altivec_vmsumm<VI_char>m): ... this.
1993 (altivec_vandc): Remove.
1994 (*andc<mode>3): Renamed to ...
1995 (andc<mode>3): ... here. Swap operand 1 and 2 numbering.
1996 (altivec_vrlb, altivec_vrlh, altivec_vrlw): Replace
1997 with ...
1998 (altivec_vrl<VI_char>): ... this.
1999 (altivec_vslb, altivec_vslh, altivec_vslw): Replace
2000 with ...
2001 (altivec_vsl<VI_char>): ... this.
2002 (altivec_vsrb, altivec_vsrh, altivec_vsrw): Replace
2003 with ...
2004 (altivec_vsr<VI_char>): ... this.
2005 (altivec_vsrab, altivec_vsrah, altivec_vsraw): Replace
2006 with ...
2007 (altivec_vsra<VI_char>): ... this.
2008 (altivec_vsum4sbs, altivec_vsum4shs): Replace with ...
2009 (altivec_vsum4s<VI_char>s): ... this.
2010 (altivec_vperm_4si, altivec_vperm_8hi, altivec_vperm_16qi): Replace
2011 with ...
2012 (altivec_vperm_<mode>): ... this.
2013 (altivec_vsel_4sf): Rename to ...
2014 (altivec_vsel_v4sf): ... here.
2015 (altivec_vsel_4si, altivec_vsel_8hi, altivec_vsel_16qi): Replace
2016 with ...
2017 (altivec_vsel_<mode>): ... this.
2018 (altivec_vsldoi_4si, altivec_vsldoi_8hi,
2019 altivec_vsldoi_16qi): Rename to ...
2020 (altivec_vsldoi_v4si, altivec_vsldoi_v8hi,
2021 altivec_vsldoi_v16qi): ... here.
2022 (altivec_vsldoi_4sf): Rename to ...
2023 (altivec_vsldoi_v4sf): ... here.
2024 (altivec_predicate_v4si, altivec_predicate_v8hi,
2025 altivec_predicate_v16qi): Replace with ...
2026 (altivec_predicate_<mode>): ... this.
2027 (altivec_lvebx, altivec_lvehx, altivec_lvewx): Replace
2028 with ...
2029 (altivec_lve<VI_char>x): ... this.
2030 (altivec_stvebx, altivec_stvehx, altivec_stvewx): Replace
2031 with ...
2032 (altivec_stve<VI_char>x): ... this.
2033 (absv16qi2, absv8hi2, absv4si2): Replace
2034 with ...
2035 (abs<mode>2): ... this.
2036 (altivec_abss_v16qi, altivec_abss_v8hi, altivec_abss_v4si): Replace
2037 with ...
2038 (altivec_abss_<mode>): ... this.
2039 (vec_realign_load_v16qi, vec_realign_load_v8hi,
2040 vec_realign_load_v4si): Replace with ...
2041 (vec_realign_load_<mode>): ... this.
2042 * config/rs6000/rs6000.c (bdesc_3arg, bdesc_2arg): Update tweaked
2043 insn names.
2044 (rs6000_expand_ternop_builtin): Likewise.
2045
b1df6376
AH
20462004-11-25 Andrew Haley <aph@redhat.com>
2047
2048 * gcc.c (process_command): Don't supply -v to linker.
2049
597cdf4f
JM
20502004-11-25 Joseph S. Myers <joseph@codesourcery.com>
2051
2052 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Use %qs
2053 instead of `%s' in diagnostic.
2054
04389919
NS
20552004-11-25 Nathan Sidwell <nathan@codesourcery.com>
2056
cc175e7c
NS
2057 * basic-block.h (OBSTACK_ALLOC_REG_SET): Adjust.
2058 (FREE_REG_SET): Adjust.
2059 * bitmap.c (bitmap_obstack_free): Cope with NULL bitmap.
2060 * bitmap.h (BITMAP_OBSTACK_ALLOC): Rename to ...
2061 (BITMAP_ALLOC): ... here.
2062 (BITMAP_OBSTACK_FREE): Rename to ...
2063 (BITMAP_FREE): Don't check for NULL bitmap here.
2064 * tree-ssa-pre.c (value_insert_into_set_bitmap,
2065 bitmap_set_new): Use new names.
2066
d0397fd9
NS
2067 * bt-load.c (migrate_btr_defs): Remove unneeded NULL check.
2068 * df.c (df_free): Likewise.
2069 * ra-build.c (ra_build_free, ra_build_free_all): Likewise.
2070 * tree-ssa-loop-ivopts.c (set_use_iv_cost): Likewise.
2071
04389919
NS
2072 * basic-block.h (OBSTACK_ALLOC_REG_SET): Rename to ...
2073 (ALLOC_REG_SET): ... here.
2074 (FREE_REG_SET): Adjust.
2075 (XMALLOC_REG_SET, XFREE_REG_SET): Remove.
2076 * bb-reorder.c (fix_crossing_conditional_branches): Adjust.
2077 * cfglayout.c (cfg_layout_duplicate_bb): Adjust.
2078 * cfgrtl.c (rtl_split_block, rtl_split_edge,
2079 safe_insert_insn_on_edge, cfg_layout_split_edge): Adjust.
2080 * flow.c (update_life_info, calculate_global_regs_live,
2081 allocate_bb_life_data, init_propagate_block_info): Adjust.
2082 * global.c (build_insn_chain): Adjust.
2083 * ifcvt.c (dead_or_predicable): Adjust.
2084 * loop-iv.c (simplify_using_initial_values): Adjust.
2085 * recog.c (peephole2_optimize): Adjust.
2086 * sched-deps.c (init_deps_global): Adjust.
2087
91ff9507
RC
20882004-11-25 Ralf Corsepius <ralf.corsepius@rtems.org>
2089
2090 * config.gcc (avr-*-rtems*): Fix typo.
2091
f04e1b1b
R
20922004-11-25 J"orn Rennecke <joern.rennecke@st.com>
2093
2094 * sh.c (sh_output_mi_thunk): Do not call regset_release_memory.
2095
0bab1c88
JL
20962004-11-24 Jeff Law <law@redhat.com>
2097
2098 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Reduce
2099 the number of queries to random elements in the ai->written_vars
2100 bitmap.
2101
ec0641f6
RS
21022004-11-24 Roger Sayle <roger@eyesopen.com>
2103
2104 * config/i386/i386.c (override_options): Disable x87 fancy math
2105 intrinsics if -mfpmath= doesn't include 387 (default on x86_64).
2106
2102b2fe
RS
21072004-11-24 Roger Sayle <roger@eyesopen.com>
2108
2109 * configure.ac: Tweak test for HAVE_DECL_LDGETNAME to avoid a
2110 system header conflict on AIX 5.2.
2111 * configure: Regenerate.
2112
be6be258
KH
21132004-11-24 Kazu Hirata <kazu@cs.umass.edu>
2114
2115 * tree-outof-ssa.c (coalesce_abnormal_edges): Use e->dest_idx
2116 instead of calling phi_arg_from_edge.
2117
92faa2d1
KH
2118 * tree-phinodes.c (remove_phi_args): Replace phi_arg_from_edge
2119 with e->dest_idx.
2120
a312d1f1
BE
21212004-11-24 Ben Elliston <bje@au.ibm.com>
2122
2123 * config/i386/i386.h (ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
2124 * config/i386/i386.c (i386_dwarf_output_addr_const): Likewise.
2125 * config/i386/i386-protos.h (i386_dwarf_output_addr_const):
2126 Likewise.
994cf173 2127
bb04998a
RK
21282004-11-24 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2129
d4d3aad9
RK
2130 * tree-sra.c (sra_walk_modify_expr): Handle RHS first, then LHS.
2131
bb04998a
RK
2132 * tree-inline.c (copy_body_r): Explicitly copy a constant if the
2133 type will be remapped.
2134
39afeb1a
SB
21352004-11-24 Steven Bosscher <stevenb@suse.de>
2136
2137 * c-opts.c (c_common_post_options): Don't clear
2138 flag_inline_functions.
2139 * dojump.c (clear_pending_stack_adjust): Remove check on
2140 flag_inline_functions, it's always true.
2141 * config/alpha/alpha.md (movdi_er_maybe_g): Remove splitter
2142 that can never trigger.
2143 * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Don't look at
2144 flag_inline_trees, now that flag_inline_functions is never
2145 cleared.
2146 * config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Don't set
2147 flag_inline_functions at optimization levels greater than
2148 or equal to 3. This is already done by default.
2149
41f683ef
KH
21502004-11-24 Kazu Hirata <kazu@cs.umass.edu>
2151
2152 * tree-outof-ssa.c (eliminate_build): Use g->e->dest_idx
2153 instead to find the PHI argument. Do not take I as an
2154 argument.
2155 (eliminate_phi): Adjust the call to eliminate_build. Do not
2156 take I as an argument.
2157 (rewrite_trees): Adjust the call to eliminate_phi.
2158
bef5d8b6
RS
21592004-11-24 Richard Sandiford <rsandifo@redhat.com>
2160
2161 * optabs.h (force_expand_binop): Declare.
2162 * optabs.c (force_expand_binop): Export.
2163 * stmt.c (shift_return_value): Delete.
2164 (expand_return): Don't call it.
2165 * expr.h (shift_return_value): Declare.
2166 * calls.c (shift_returned_value): Delete in favor of...
2167 (shift_return_value): ...this new function. Leave the caller to check
2168 for non-BLKmode values passed in the msb of a register. Take said mode
2169 and a shift direction as argument. Operate on the hard function value,
2170 not a pseudo.
2171 (expand_call): Adjust accordingly.
2172 * function.c (expand_function_start): If a non-BLKmode return value
2173 is padded at the last significant end of the return register, use the
2174 return value's natural mode for the DECL_RESULT, not the mode of the
2175 padded register.
2176 (expand_function_end): Shift the same sort of return values left by
2177 the appropriate amount.
2178
f5523e6d
MA
21792004-11-24 Matt Austern <austern@apple.com>
2180
2181 * recog.c (recog_memoized_1): Remove.
2182 * recog.h (recog_memoized_1): Remove declaration.
2183 (recog_memoized): Change from macro to inline function.
994cf173 2184
479ec1d1
DP
21852004-11-24 Devang Patel <dpatel@apple.com>
2186
2187 PR/18555
2188 * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add isysroot.
2189 * config/darwin-c.c (darwin_register_frameworks): Use sysroot.
2190
b0896d72
DP
21912004-11-24 Devang Patel <dpatel@apple.com>
2192
2193 * gcc.c (process_command): Supply -v to linker.
994cf173 2194
bada2eb8
DE
21952004-11-24 David Edelsohn <edelsohn@gnu.org>
2196 Paolo Bonzini <bonzini@gnu.org>
2197
2198 * config/rs6000/rs6000.c (rs6000_return_in_memory): Allow Altivec
2199 vector modes without ALTIVEC_ABI. Use GCC vector instead of
2200 synthetic vector.
2201 (rs6000_pass_by_reference): Split conditional into pieces. Use
2202 GCC vector instead of synthetic vector.
2203
4033a1f2
AH
22042004-11-24 Aldy Hernandez <aldyh@redhat.com>
2205
2206 * tree.c (recompute_tree_invarant_for_addr_expr): The address of a
2207 thread-local variable is invariant.
2208
624b15fa
RK
22092004-11-24 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2210
39123624
RK
2211 * tree-pretty-print.c (dump_generic_node, case POINTER_TYPE):
2212 Handle TYPE_REF_CAN_ALIAS_ALL.
2213 (print_declaration): Print array dimensions like dump_generic_node.
2214
624b15fa
RK
2215 * fold-const.c (operand_equal_p): Remove kludge allowing ARG0 and
2216 ARG1 to be null; instead define OP_SAME and OP_SAME_NULL and use them.
2217
47c321d4
NS
22182004-11-24 Nathan Sidwell <nathan@codesourcery.com>
2219
2220 * bitmap.c (INLINE): Do not define.
2221 (bitmap_elem_to_freelist, bitmap_element_free,
2222 bitmap_element_allocate, bitmap_clear, bitmap_element_zerop,
2223 bitmap_element_link, bitmap_find_bit): Use inline keyword/macro.
2224
9c4eeb5d 22252004-11-24 Kazu Hirata <kazu@cs.umass.edu>
358804e7
KH
2226
2227 * tree-ssa-dom.c (cprop_into_successor_phis): Remove code to
2228 find the index of a PHI argument. Use e->dest_idx instead.
2229 Replace hint with index.
2230
0492baf2
KH
2231 * tree-ssa-dom.c (cprop_into_successor_phis): Replace index
2232 with indx.
2233
3eebae0b
DN
22342004-11-24 Diego Novillo <dnovillo@redhat.com>
2235
2236 * tree-ssa-alias.c (merge_pointed_to_info): Fix comment
2237 regarding PT_MALLOC.
2238
4f514514
JM
22392004-11-24 Joseph Myers <joseph@codesourcery.com>
2240
2241 * config/i386/i386.c (optimization_options): Use
2242 SUBTARGET_OPTIMIZATION_OPTIONS.
2243 * config/i386/sol2-10.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define.
2244 (TARGET_SUBTARGET_DEFAULT): Don't include
2245 MASK_OMIT_LEAF_FRAME_POINTER.
2246
81e4cf35
MM
22472004-11-24 Mark Mitchell <mark@codesourcery.com>
2248
994cf173 2249 * config/i386/sol2.h (X86_FILE_START_VERSION_DIRECTIVE):
81e4cf35
MM
2250 Define to false.
2251
298a4bf2
JM
22522004-11-24 Joseph Myers <joseph@codesourcery.com>
2253
2254 * config/i386/t-sol2-10 (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES):
2255 Use amd64 instead of 64.
2256
1a35e62d 22572004-11-24 Mark Mitchell <mark@codesourcery.com>
6be85b25 2258 Joseph Myers <joseph@codesourcery.com>
1a35e62d
MM
2259
2260 * crtstuff.c (IN_LIBGCC2): Define it.
2261 (EH_FRAME_SECTION_CONST): Check EH_TABLES_CAN_BE_READ_ONLY
2262 instead of HAVE_LD_RO_RW_SECTION_MIXING.
2263 * defaults.h (EH_TABLES_CAN_BE_READ_ONLY): New macro.
2264 * dwarf2out.c (named_section_eh_frame_section): Check
2265 EH_TABLES_CAN_BE_READ_ONLY.
2266 * except.c (default_exception_section): Likewise.
2267 * config/i386/sol2.h (EH_TABLES_CAN_BE_READ_ONLY): Define.
2268 * doc/tm.texi (EH_TABLES_CAN_BE_READ_ONLY): Document.
2269
9323afae
KH
22702004-11-24 Kazu Hirata <kazu@cs.umass.edu>
2271
2272 * tree-ssa-pre.c (phi_translate): Use find_edge to find the
2273 index of a PHI argument.
ac57c407
KH
2274
2275 * tree-ssa-loop-manip.c (lv_adjust_loop_header_phi): Use
2276 find_edge to find the index of a PHI argument.
9323afae 2277
16df8078
SB
22782004-11-24 Steven Bosscher <stevenb@suse.de>
2279
994cf173 2280 * expr.c (expand_expr_real_1): Remove cases for EXIT_BLOCK_EXPR
16df8078
SB
2281 and LABELED_BLOCK_EXPR.
2282 * gimplify.c (gimplify_labeled_block_expr): Remove.
2283 (gimplify_exit_block_expr): Remove.
2284 (gimplify_expr): Don't call them.
2285 * tree-inline.c (copy_body_r): Don't handle EXIT_BLOCK_EXPR
2286 and LABELED_BLOCK_EXPR.
2287 (estimate_num_insns_1): Likewise.
2288 (walk_tree): Likewise.
2289 * tree-pretty-print.c (dump_generic_node): Don't handle
2290 EXIT_BLOCK_EXPR and LABELED_BLOCK_EXPR.
2291 * tree.def (EXIT_BLOCK_EXPR): Moved to java-tree.def.
2292 (LABELED_BLOCK_EXPR): Likewise.
2293 * tree.h (LABELED_BLOCK_LABEL): Moved to java-tree.h.
2294 (LABELED_BLOCK_BODY): Likewise.
2295 (EXIT_BLOCK_LABELED_BLOCK): Likewise.
2296 (EXIT_BLOCK_RETURN): Removed.
2297
f39e46ba
SB
22982004-11-24 Steven Bosscher <stevenb@suse.de>
2299
2300 * cfgrtl.c (rtl_delete_block): Fix comment.
2301 * emit-rtl.c (remove_unnecessary_notes): Die if we see BLOCK_BEG
2302 or BLOCK_END insn notes.
2303 * jump.c (squeeze_notes): Likewise.
2304 * haifa-sched.c (reemit_notes): Don't "re-emit" EH_REGION_BEG and
2305 EH_REGION_END notes, we never have them to begin with.
2306 * sched-deps.c (sched_analyze_insn): When updating loop notes,
2307 verify that we have indeed only recorded loop notes.
2308 (sched_analyze): Die if we see EH_REGION_BEG or EH_REGION_END notes.
2309 Only record loop notes.
2310
2311 * cfgexpand.c (tree_expand_cfg): Fix comment.
2312
2313 * passes.c (rest_of_compilation): Don't do a second call to
2314 convert_from_eh_region_ranges from here, it's already called
2315 from cfgexpand.c.
2316 * except.c (resolve_fixup_regions): Remove.
2317 (remove_fixup_regions): Remove.
2318 (convert_from_eh_region_ranges_1): Remove.
2319 (convert_from_eh_region_ranges): Remove the case where EH is
2320 not already lowered at the tree level. We always lower there.
2321
d70b8c3a
PB
23222004-11-24 Paolo Bonzini <bonzini@gnu.org>
2323
2324 PR c++/16882
d70b8c3a
PB
2325 * tree.c (make_vector_type): Move qualifiers to the vector type,
2326 use the inner type's main variant and build a main variant for
2327 the vector type if necessary.
2328 (type_hash_eq): Check a vector type's TYPE_VECTOR_SUBPARTS.
2329
033797e2
EB
23302004-11-24 Eric Botcazou <ebotcazou@libertysurf.fr>
2331
2332 * target.h (late_rtl_prologue_epilogue): Remove.
2333 * target-def.h (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Remove.
2334 * system.h: Poison TARGET_LATE_RTL_PROLOGUE_EPILOGUE.
2335 * passes.c (rest_of_handle_prologue_epilogue): Remove and move
2336 remaining bits to...
2337 (rest_of_handle_flow2): ...here.
2338 (rest_of_compilation): Remove call to rest_of_handle_prologue_epilogue.
2339 * doc/tm.texi (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Remove.
2340
be6601c3
MM
23412004-11-23 Mark Mitchell <mark@codesourcery.com>
2342
2343 * hwint.h (HOST_LONG_LONG_FORMAT): New macro. Use it throughout.
2344 * config/i386/xm-mingw32.h (HOST_LONG_LONG_FORMAT): Define.
2345 * doc/hostconfig.texi (HOST_LONG_LONG_FORMAT): Document.
2346
554707bd
DJ
23472004-11-24 Daniel Jacobowitz <dan@codesourcery.com>
2348
2349 * config/i386/i386.c (override_options): Move
2350 SUBTARGET_OVERRIDE_OPTIONS before defaulting
2351 flag_omit_frame_pointer.
2352
beb72684
RH
23532004-11-23 Richard Henderson <rth@redhat.com>
2354
2355 * rtl.h (validate_subreg): Declare.
2356 * emit-rtl.c (validate_subreg): New.
2357 (gen_rtx_SUBREG): Use it.
2358 * simplify-rtx.c (simplify_subreg): Likewise.
2359 (simplify_gen_subreg): Likewise. Remove duplicate asserts.
2360 * expr.c (emit_move_insn_1): Tidy complex move code. Use memory
2361 fallback whenever gen_realpart/gen_imagpart would not be able to
2362 create SUBREGs.
2363
562fc702
RH
23642004-11-23 Richard Henderson <rth@redhat.com>
2365
2366 * expmed.c (extract_bit_field): Use simplify_gen_subreg instead of
2367 hard-coding avoiding calls to gen_rtx_SUBREG. Split complex return
2368 modes to CONCAT.
2369
ceb7eb8f
DN
23702004-11-23 Diego Novillo <dnovillo@redhat.com>
2371
870faaf6 2372 PR tree-optimization/18618
ceb7eb8f
DN
2373 * tree-into-ssa.c (DEF_VEC_MALLOC_P(basic_block)): Declare.
2374 (insert_phi_nodes_for): Change third argument to VEC(basic_block).
2375 * tree-ssa-dom.c (avail_exprs_stack): Change type to VEC(tree_on_heap).
2376 Update all users.
2377 (stmts_to_rescan): Likewise.
2378 (const_and_copies_stack): Likewise.
2379 (nonzero_vars_stack): Likewise.
2380 (vrp_variables_stack): Likewise.
2381
794693c0
RH
23822004-11-23 Richard Henderson <rth@redhat.com>
2383
2384 * cse.c (record_jump_cond_subreg): New.
2385 (record_jump_cond): Use it instead of gen_lowpart.
2386
b5b3e36a 23872004-11-23 Daniel Jacobowitz <dan@codesourcery.com>
16df8078 2388 Joseph Myers <joseph@codesourcery.com>
b5b3e36a
DJ
2389
2390 * config/sol2-c.c (solaris_register_pragmas): Use
2391 c_register_pragma_with_expansion.
2392 * config/sol2.h (HANDLE_PRAGMA_PACK_WITH_EXPANSION): Define.
2393 * c-pragma.c (c_register_pragma): Update call to
2394 cpp_register_pragma.
2395 (c_register_pragma_with_expansion): New function.
2396 (init_pragma): Honor HANDLE_PRAGMA_PACK_WITH_EXPANSION.
2397 * c-pragma.h (c_register_pragma_with_expansion): New prototype.
2398 * doc/extend.texi (Solaris Pragmas): Mention macro expansion for
2399 #pragma align.
2400 * doc/tm.texi (c_register_pragma_with_expansion,
2401 HANDLE_PRAGMA_PACK_WITH_EXPANSION): Document.
2402
7a32a925
RH
24032004-11-23 Richard Henderson <rth@redhat.com>
2404
2405 * combine.c (gen_lowpart_for_combine): Factor out mode of x as well
2406 as mode sizes into local temporaries. Unify failure path.
2407
6f9e3578
RH
24082004-11-23 Richard Henderson <rth@redhat.com>
2409
2410 * emit-rtl.c, rtl.h (subreg_hard_regno): Remove.
2411 * caller-save.c (mark_set_regs): Use subreg_regno instead.
2412 * final.c (alter_subreg): Likewise.
2413 * local-alloc.c (reg_is_born): Likewise.
2414
4488a8b8
RH
24152004-11-23 Richard Henderson <rth@redhat.com>
2416
2417 * simplify-rtx.c (simplify_subreg): Use subreg_regno_offset directly
2418 instead of using a SUBREG temporary.
2419
91d9ede4
KH
24202004-11-23 Kazu Hirata <kazu@cs.umass.edu>
2421
2422 * tree-cfg.c (tree_forwarder_block_p): Speed up by reordering
2423 two checks.
2424
6e14af16
ZW
24252004-11-23 Zack Weinberg <zack@codesourcery.com>
2426
2427 * function.h (struct function): Remove calls_longjmp.
2428 (current_function_calls_longjmp): Delete.
2429 * tree.h (ECF_LONGJMP): Delete.
2430 (ECF_SIBCALL, ECF_PURE, ECF_SP_DEPRESSED, ECF_ALWAYS_RETURN)
2431 (ECF_LIBCALL_BLOCK): Everybody slide down one.
2432 (ECF_CONST, ECF_NORETURN, ECF_SIBCALL): Clarify comments.
2433 * builtins.c (expand_builtin_longjmp): Don't set
2434 current_function_calls_longjmp.
2435 * calls.c (special_function_p): Mark longjmp and siglongjmp
2436 with ECF_NORETURN, not ECF_LONGJMP.
2437 (emit_call_1, expand_call, emit_library_call_value_1):
2438 Don't check for ECF_LONGJMP.
2439 * tree-cfg.c (make_exit_edges, is_ctrl_altering_stmt)
2440 (need_fake_edge_p): Likewise.
2441
2442 * config/avr/avr.h, config/ip2k/ip2k.h: Don't define NON_SAVING_SETJMP.
2443 * system.h: Poison NON_SAVING_SETJMP.
2444 * function.c (use_register_for_decl)
2445 * gcse.c (compute_hash_table_work, compute_store_table)
2446 * postreload-gcse.c (record_opr_changes)
2447 * reload.c (find_equiv_reg)
2448 * reload1.c (reload)
2449 * config/i386/i386.c (ix86_can_use_return_insn_p):
2450 Remove code conditional on NON_SAVING_SETJMP.
2451 * doc/tm.texi: Delete documentation of NON_SAVING_SETJMP.
2452
2453 * config/i386/sysv3.h: Delete file.
2454 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Delete.
2455
e9c00ceb
DN
24562004-11-23 Dorit Naishlos <dorit@il.ibm.com>
2457
2458 * tree-vectorizer.c (vect_analyze_operations): Don't vectorize if
2459 the vectorization factor is greater than the iteration count.
2460 (vect_gen_niters_for_prolog_loop): No need to calculate min if the
2461 iteration count is known.
2462
2463 (vect_build_symbol_bound): Removed. Its functionality moved to
2464 vect_generate_tmps_on_preheader.
2465 (vect_generate_tmps_on_preheader): Moved content of
2466 vect_build_symbol_bound here instead of calling it. Changed some
2467 variables names.
2468
2469 (vect_build_loop_niters): We don't expect a new_bb to be generated -
2470 use gcc_assert.
2471 (vect_gen_niters_for_prolog_loop): Likewise.
2472 (vect_gen_niters_for_prolog_loo): Likewise.
2473
2474 (slpeel_make_loop_iterate_ntimes): Use buildN instead of build.
2475 (slpeel_add_loop_guard): Likewise.
2476 (slpeel_tree_peel_loop_to_edge): Likewise.
2477 (vect_do_peeling_for_alignment): Likewise.
2478
2479 (vect_get_first_index): Missing space.
2480
bad82153
UW
24812004-11-23 Ulrich Weigand <uweigand@de.ibm.com>
2482
2483 * config/s390/s390.md ("*iordi3"): Mark commutative.
2484 ("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
2485
6b66c718
KH
24862004-11-23 Kazu Hirata <kazu@cs.umass.edu>
2487
2488 * tree-phinode.c (resize_phi_node): Abort when LEN is strictly
2489 greater than PHI_ARG_CAPACITY.
2490 (reserve_phi_args_for_new_edge): Initialize the new PHI
2491 argument to NULL_TREE. Increment PHI_NUM_ARGS.
2492 (add_phi_arg): Add a PHI argument to the slot given by
2493 E->dest_idx.
2494 (remove_phi_arg_num): Do not write to PHI_ARG_EDGE.
2495 * tree-flow-inline (phi_arg_from_edge): Return E->dest_idx.
2496 * tree-ssa.c (ssa_redirect_edge): Check for a missing PHI
2497 argument by looking at PHI_ARG_DEF.
2498 (verify_phi_args): Check for a missing PHI argument. Remove
2499 the check for duplicate PHI arguments.
2500 * tree.h (PHI_ARG_EDGE): Redefine in terms of EDGE_PRED.
2501 (phi_arg_d): Remove e.
2502
07b43a87
KH
2503 * tree-cfg.c (tree_try_redirect_by_replacing_jump): Speed up
2504 by restricting to the case with two outgoing edges.
2505
b3d31392
AK
25062004-11-23 Andreas Krebbel <krebbel1@de.ibm.com>
2507
2508 * config/s390/s390.c (s390_backchain_string): Removed.
2509 (s390_return_addr_rtx, s390_back_chain_rtx, s390_frame_info)
2510 (s390_emit_prologue, s390_va_start, s390_gimplify_va_arg):
2511 Changed users of TARGET_BACKCHAIN, TARGET_NO_BACKCHAIN and
2512 TARGET_KERNEL_BACKCHAIN to reflect the new options.
2513 * config/s390/s390.h (MASK_BACKCHAIN, MASK_PACKED_STACK): New macros.
2514 (TARGET_KERNEL_BACKCHAIN): Removed.
2515 (TARGET_BACKCHAIN): Former triple state option change to a target flag.
2516 (TARGET_PACKED_STACK): New macro.
2517 (TARGET_SWITCHES): New switches added.
2518 (TARGET_OPTIONS): "backchain", "no-backchain" and "kernel-backchain"
2519 removed.
2520 (DYNAMIC_CHAIN_ADDRESS): Use TARGET_PACKED_STACK.
2521 * config/s390/s390.md ("allocate_stack", "restore_stack_block")
6e14af16 2522 ("save_stack_nonlocal", "restore_stack_nonlocal"): Modified to reflect
b3d31392
AK
2523 the change in target switch semantics.
2524 * config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Removed.
2525 (TARGET_DEFAULT): MASK_BACKCHAIN added.
2526 * doc/invoke.texi: Added documentation for the new/changed options.
2527
27b28c6d
UB
25282004-11-23 Uros Bizjak <uros@kss-loka.si>
2529
6e14af16
ZW
2530 PR rtl-optimization/18614
2531 * simplify-rtx.c (simplify_binary_operation): Do not
2532 simplify inner elements of constant arguments of
2533 VEC_CONCAT insn.
27b28c6d 2534
6d861604
EB
25352004-11-23 Eric Botcazou <ebotcazou@libertysurf.fr>
2536
2537 * gthr-solaris.h (__gthread_recursive_mutex_init_function): Use
2538 0 instead of NULL.
2539
405f403a
KH
25402004-11-23 Kazu Hirata <kazu@cs.umass.edu>
2541
2542 * tree-phinode.c (make_phi_node): Use a new variable,
2543 capacity, to receive the return value of ideal_phi_node_len.
2544
7ed5d5b2
EB
25452004-11-23 Eric Botcazou <ebotcazou@libertysurf.fr>
2546
2547 * gthr-solaris.h (__gthread_recursive_mutex_t): New type.
2548 (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Define to
2549 __gthread_recursive_mutex_init_function.
2550 (__gthread_key_create): Properly cast -1.
2551 (__gthread_recursive_mutex_init_function): New function.
2552 (__gthread_recursive_mutex_lock): Rewrite.
2553 (__gthread_recursive_mutex_trylock): Likewise.
2554 (__gthread_recursive_mutex_unlock): Likewise.
2555
491982a0
RC
25562004-11-23 Ralf Corsepius <ralf.corsepius@rtems.org>
2557
2558 * config/c4x/t-rtems: New.
2559 * config.gcc: Reflect having added c4x/t-rtems.
2560
e088c552
DN
25612004-11-23 Dorit Naishlos <dorit@il.ibm.com>
2562
2563 PR tree-opt/18403
2564 PR tree-opt/18505
2565 * tree-vectorizer.c (vect_create_data_ref_ptr): Use
2566 lang_hooks.types.type_for_size instead of integer_type_node for the
2567 type of ptr_update.
6e14af16 2568
402fbd4d
RC
25692004-11-23 Ralf Corsepius <ralf.corsepius@rtems.org>
2570
2571 * config.gcc (h8300-*-rtems*): Use h8300/t-rtems.
2572
70d64189
RC
25732004-11-23 Ralf Corsepius <ralf.corsepius@rtems.org>
2574
2575 * config/arm/t-rtems: New.
2576 * config.gcc: Reflect having added arm/t-rtems.
2577
a100ac1e
KH
25782004-11-23 Kazu Hirata <kazu@cs.umass.edu>
2579
2580 * tree-cfg.c (tree_execute_on_growing_pred): New.
2581 (tree_cfg_hooks): Add tree_execute_on_growing_pred.
2582 * tree-flow.h: Add a prototype for
2583 reserve_phi_args_for_new_edge.
2584 * tree-phinodes.c (reserve_phi_args_for_new_edge): New.
2585 (add_phi_arg): Don't resize a PHI array.
2586
63933fc3
RC
25872004-11-23 Ralf Corsepius <ralf.corsepius@rtems.org>
2588
2589 * config.gcc: Add avr-*-rtems*.
2590 * config/avr/t-rtems: New.
2591 * config/avr/rtems.h: New.
2592
0aed4efb
DB
25932004-11-22 Daniel Berlin <dberlin@dberlin.org>
2594
2595 * df.c (dataflow_set_a_op_b): Remove reslt parameter, since it's
2596 always the same as op1. Use bitmap_ior_into and bitmap_and_into.
2597 Add comment to function.
2598
0bb360df
JDA
25992004-11-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2600
557b8e72
JDA
2601 PR pch/14940
2602 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __hppa__.
2603
0bb360df
JDA
2604 PR rtl-optimization/14838
2605 * emit-rtl.c (get_first_nonnote_insn): Don't assume first insn is a
2606 note.
2607 (get_last_nonnote_insn): Don't assume last insn is a note.
2608
b52d5eaa
RS
26092004-11-22 Roger Sayle <roger@eyesopen.com>
2610
2611 * fold-const.c (nondestructive_fold_binary_to_constant): Rename
2612 to fold_binary_to_constant.
2613 (nondestructive_fold_unary_to_constant): Likewise, rename to
2614 fold_unary_to_constant.
2615 (fold_relational_hi_lo): Update call to fold_binary_to_constant.
2616 * tree.h (nondestructive_fold_binary_to_constant): Update prototype.
2617 (nondestructive_fold_unary_to_constant): Likewise.
2618 * tree-ssa-ccp.c (ccp_fold): Update calls to fold_unary_to_constant
2619 and fold_binary_to_constant.
2620 * tree-ssa-loop-niter.c (EXEC_BINARY, EXEC_UNARY): Delete macros.
2621 (inverse, number_of_iterations_cond): Replace uses of EXEC_BINARY
2622 and EXEC_UNARY with calls to fold_*nary_to_constant.
2623 * tree-ssa-loop-ivopts.c (EXEC_BINARY, EXEC_UNARY): Delete macros.
2624 (idx_find_step): Replace uses of EXEC_BINARY with calls to
2625 fold_binary_to_constant.
2626
986ce408
NC
26272004-11-22 Nick Clifton <nickc@redhat.com>
2628
2629 * sbitmap.c (sbitmap_union_of_preds): Remove redundant
2630 initialisation of 'e'.
2631
ba2baa55
RS
26322004-11-22 Roger Sayle <roger@eyesopen.com>
2633
2634 * config/i386/i386.h (TARGET_USE_FANCY_MATH_387): New macro.
2635 * config/i386/i386.c (override_options): Set MASK_NO_FANCY_MATH_387
2636 automatically for targets without TARGET_80387.
2637 * config/i386/i386.md (sqrtsf2, sqrtsf2_1, sqrtsf2_i387, sqrtdf2,
2638 sqrtdf2_1, sqrtdf2_i387, *sqrtextendsfdf2, sqrtxf2,
2639 *sqrtextenddfxf2, *sqrtextendsfxf2, fpremxf4, fmodsf3, fmoddf3,
2640 fmodxf3, fprem1xf4, dremsf3, dremdf3, dremxf3, *sindf2, *sinsf2,
2641 *sinextendsfdf2, *sinxf2, *cosdf2, *cossf2, *cosextendsfdf2,
2642 *cosxf2, sincosdf3, sincossf3, *sincosextendsfdf3, sincosxf3,
2643 *tandf3_1, tandf2, *tansf3_1, tansf2, *tanxf3_1, tanxf2,
2644 atan2df3_1, atan2df3, atandf2, atan2sf3_1, atan2sf3, atansf2,
2645 atan2xf3_1, atan2xf3, atanxf2, asindf2, asinsf2, asinxf2,
2646 acosdf2, acossf2, acosxf2, fyl2x_xf3, logsf2, logdf2, logxf2,
2647 log10sf2, log10df2, log10xf2, log2sf2, log2df2, log2xf2,
2648 fyl2xp1_xf3, log1psf2, log1pdf2, log1pxf2, *fxtractxf3, logbsf2,
2649 logbdf2, logbxf2, ilogbsi2, *f2xm1xf2, *fscalexf4, expsf2,
2650 expdf2, expxf2, exp10sf2, exp10df2, exp10xf2, exp2sf2, exp2df2,
2651 exp2xf2, expm1df2, expm1sf2, expm1xf2, frndintxf2, rintdf2,
6e14af16 2652 rintsf2, rintxf2, frndintxf2_floor, floordf2, floorsf2,
ba2baa55
RS
2653 floorxf2, frndintxf2_ceil, ceildf2, ceilsf2, ceilxf2,
2654 frndintxf2_trunc, btruncdf2, btruncsf2, btruncxf2,
2655 frndintxf2_mask_pm, nearbyintdf2, nearbyintsf2, nearbyintxf2):
2656 Simplify conditionals using TARGET_USE_FANCY_MATH_387.
2657
5a25e0c5
DJ
26582004-11-22 Dale Johannesen <dalej@apple.com>
2659
2660 * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Conditionalize
2661 properly and comment.
2662
16f59241
JM
26632004-11-22 James A. Morrison <phython@gcc.gnu.org
2664
2665 * config/sparc/sparc.c: Include insn-codes.h and langhooks.h.
2666 (sparc_init_builtins): New function.
2667 (sparc_init_vis_builtins): Create builtin functions for VIS
2668 instructions.
2669 (sparc_expand_builtin): Expand builtin functions for VIS instructions.
2670 (TARGET_INIT_BUILTINS): Define to sparc_init_builtins.
2671 (TARGET_EXPAND_BUILTIN): Define to sparc_expand_builtin.
2672 (def_builtin): New macro for creating builtin functions.
2673 (P): New mode macro for pointer types.
2674 (UNSPEC_FPACK16, UNSPEC_FPACK32, UNSPEC_FPACKFIX, UNSPEC_FEXPAND,
2675 UNSPEC_FPMERGE, UNSPEC_MUL16AL, UNSPEC_MUL8UL, UNSPEC_MULDUL,
2676 UNSPEC_ALIGNDATA, UNSPEC_ALIGNADDR, UNSPEC_PDIST): New constants.
2677 (fpack16_vis, fpackfix_vis, fpack32_vis, fexpand_vis, fpmerge_vis,
2678 fmul8x16_vis, fmul8x16au_vis, fmul8x16al_vis, fmul8sux16_vis,
2679 fmul8ulx16_vis, fmuld8sux16_vis, fmuld8ulx16_vis, pdist_vis,
2680 faligndata<V64:mode>_vis, alignaddr<P:mode>_vis): New patterns.
2681
eedfcb09
DP
26822004-11-22 Devang Patel <dpatel@apple.com>
2683
2684 * tree-if-conv.c (clean_predicate_lists): Clean all basic blocks.
6e14af16 2685
eedfcb09 26862004-11-22 Devang Patel <dpatel@apple.com>
e0ddb4bd
DP
2687
2688 * tree-if-conv.c (if_convertable_phi_p): Rename to ...
2689 (if_convertible_phi_p): ... new name.
2690 (if_convertable_modify_expr_p): Rename to ...
2691 (if_convertible_modify_expr_p): ... new name.
2692 (if_convertable_stmt_p): Rename to ...
2693 (if_convertible_stmt_p): ... new name.
2694 (if_convertable_bb_p): Rename to ...
2695 (if_convertible_bb_p): ... new name.
2696 (if_convertable_loop_p): Rename to ...
2697 (if_convertible_loop_p): ... new name.
6e14af16 2698
18167442
EB
26992004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
2700
2701 PR target/18444
2702 * configure.ac (threading): Accept 'posix95'.
2703 * configure: Regenerate.
2704 * config.gcc (i[34567]86-*-solaris2*): On Solaris up to 2.6,
2705 include sol26.h and default to posix95 threads if have_pthread_h.
2706 (sparc-*-solaris2*): Likewise.
2707 * gthr.h: Include gthr-posix95.h if _PTHREADS95 is defined.
2708 * gthr-posix95.h: New file.
2709 * config/sol26.h: New file.
2710 * doc/install.texi (--enable-threads): Document 'posix95'.
2711
515a1791
BE
27122004-11-23 Ben Elliston <bje@au.ibm.com>
2713
2714 * pointer-set.h (pointer_set_contains): Remove.
2715 * pointer-set.c (pointer_set_contains): Likewise.
2716
5628fde1
DJ
27172004-11-22 Dale Johannesen <dalej@apple.com>
2718
2719 * calls.c (expand_call): Do not call preserve_temp_slots.
2720
b31997c0
KH
27212004-11-22 Kazu Hirata <kazu@cs.umass.edu>
2722
2723 * tree-flow.h: Remove the prototype for remove_phi_arg.
2724 Add a prototype for remove_phi_args.
2725 * tree-phinodes.c (remove_phi_arg): Remove.
2726 (remove_phi_args): New.
2727 * tree-ssa.c (ssa_remove_edge): Call remove_phi_args instead
2728 of remove_phi_arg.
2729
d9d4706f
KH
2730 * cfg.c (unchecked_make_edge): Call execute_on_growing_pred
2731 after making an edge.
2732 (remove_edge): Call execute_on_shrinking_pred before removing
2733 an edge.
2734 (redirect_edge_succ): Call execute_on_growing_pred and
2735 execute_on_shrinking_pred.
2736 * cfghooks.c (execute_on_growing_pred): New.
2737 (execute_on_shrinking_pred): Likewise.
2738 * cfghooks.h (cfg_hooks): Add execute_on_growing_pred and
2739 execute_on_shrinking_pred.
2740 Add prototypes for execute_on_growing_pred and
2741 execute_on_shrinking_pred.
2742 * cfgrtl.c (rtl_cfg_hooks): Add NULL hooks to
2743 execute_on_growing_pred and execute_on_shrinking_pred.
2744 (cfg_layout_rtl_cfg_hook): Likewise.
2745 * tree-cfg.c (tree_cfg_hooks): Likewise.
2746
e51546f8
KH
2747 * tree-cfg.c (tree_execute_on_shrinking_pred): New.
2748 (tree_cfg_hooks): Use it.
2749 * tree-ssa.c (ssa_remove_edge): Don't call remove_phi_args.
2750 (ssa_redirect_edge): Don't call remove_phi_arg_num.
2751
61ea20f5
KH
2752 * tree-phinodes.c (remove_phi_arg_num): Make it static.
2753 * tree-flow.h: Remove the corresponding prototype.
2754
d0d2cc21
KH
2755 * tree-ssa.c (ssa_remove_edge): Remove.
2756 * tree-flow.h: Remove the corresponding prototype.
2757 * tree-cfg.c: Replace ssa_remove_edge with remove_edge.
2758 * basic-block.h: Likewise.
2759 * tree-if-conv.c: Likewise.
2760 * tree-ssa-threadupdate.c: Likewise.
2761
d7889929
BE
27622004-11-23 Ben Elliston <bje@au.ibm.com>
2763
2764 * doc/cfg.texi (Maintaining the CFG): Use @ftable instead of
2765 @table to list the BSI methods. Use individual @findex directives
2766 instead of one with a comma-separated list of index entries.
2767
1d481ba8
ZD
27682004-11-22 Zdenek Dvorak <dvorakz@suse.cz>
2769
2770 PR tree-optimization/18529
2771 * fold-const.c (fold_to_nonsharp_ineq_using_bound): New function.
2772 (simple_operand_p): Use STRIP_NOPS. Consider SSA names simple.
2773 (fold): Call fold_to_nonsharp_ineq_using_bound.
2774 * tree-ssa-loop-niter.c (simplify_replace_tree): New function.
2775 (number_of_iterations_cond): Fold the expressions before futher
2776 processing.
2777 (tree_simplify_using_condition): Handle case when cond or expr is
2778 an EQ_EXPR specially.
2779
46b483a7
DB
27802004-11-22 Daniel Berlin <dberlin@dberlin.org>
2781
6e14af16 2782 * tree-ssa.c (verify_ssa): SSA_OP_ALL_USES should be
46b483a7
DB
2783 SSA_OP_ALL_USES | SSA_OP_ALL_KILLS for verification purposes.
2784
ad630bef
DE
27852004-11-22 David Edelsohn <edelsohn@gnu.org>
2786 Fariborz Jahanian <fjahanian@apple.com>
2787
2788 * config/rs6000/rs6000.c (rs6000_return_in_memory): Test
2789 TARGET_ALTIVEC_ABI.
2790 (function_arg_boundary): Align 8 to 16 byte vectors like SPE.
2791 Align 16 byte and larger vectors like Altivec.
2792 (function_arg_advance): Pass any 16 byte vector like Altivec vector.
2793 (function_arg): Same.
2794 (rs6000_pass_by_references): Test TARGET_ALTIVEC_ABI.
2795
478e2092
AP
27962004-11-22 Andrew Pinski <pinskia@physics.uc.edu>
2797
2798 PR tree-opt/18572
2799 * tree-sra.c (scalarize_init): Unshare the rhs before gimplifying
2800 it.
2801
65c844e2
RH
28022004-11-22 Richard Henderson <rth@redhat.com>
2803
2804 * function.c (assign_parm_setup_block): Revert 11-13 change to
2805 forcably re-mode a (possibly BLKmode) hard register.
2806
167a1354
EB
28072004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
2808
2809 * config/sparc/sparc.c (mem_min_alignment): Check MEM_ALIGN.
2810
4e596a09
DE
28112004-11-22 David Edelsohn <edelsohn@gnu.org>
2812
2813 * config/rs6000/power4.md: Remove delay between dispatch and issue
2814 associated with dispatch group slots 3 and 4.
2815 * config/rs6000/power5.md: Same.
2816
9ff3d2de
JL
28172004-11-21 Jeff Law <law@redhat.com>
2818
2819 * cfg.c (cached_make_edge): Use find_edge rather than an inlined
2820 variant.
2821 * cfgbuild.c (make_edges): Likewise.
2822 * cfghooks.c (can_duplicate_block_p): Likewise.
2823 * cfgloop.c (loop_latch_edge): Likewise.
2824 * cfgloopmanip.c (force_single_succ_latches): Likewise.
2825 * cfgrtl.c (rtl_flow_call_edges_add): Likewise.
2826 * predict.c (predict_loops, propagate_freq): Likewise.
2827 * tracer.c (tail_duplicate): Likewise.
2828 * tree-cfg.c (disband_implicit_edges): Likewise.
2829 (tree_forwarder_block_p, tree_flow_call_edges_add): Likewise.
2830
18b0f6cc
NC
28312004-11-22 Nick Clifton <nickc@redhat.com>
2832
2833 * sbitmap.c (sbitmap_union_of_preds): Remove redundant
2834 initialisation of 'e'.
2835
90710901
KH
28362004-11-22 Kazu Hirata <kazu@cs.umass.edu>
2837
2838 PR rtl-optimization/18599
2839 * regrename.c (copyprop_hardreg_forward): Speed up by putting
2840 BB_VISITED flags on basic blocks as we process them.
2841
f96bc213
NS
28422004-11-22 Nathan Sidwell <nathan@codesourcery.com>
2843
aba5fb01 2844 PR target/18531
f96bc213
NS
2845 * config/rs6000/altivec.md (VI_char): New mode attribute.
2846 (addv16qi3, addv8hi3, addv4ai3): Replace with ...
2847 (add<mode>3): ... this.
2848 (subv16qi3, subv8hi3, subv4ai3): Replace with ...
2849 (sub<mode>3): ... this.
2850 (smaxv16qi3, smaxv8hi3, smaxv4ai3): Replace with ...
2851 (smax<mode>3): ... this.
2852 (sminv16qi3, sminv8hi3, sminv4ai3): Replace with ...
2853 (smin<mode>3): ... this.
2854 (umaxv16qi3, umaxv8hi3, umaxv4ai3): Replace with ...
2855 (umax<mode>3): ... this.
2856 (uminv16qi3, uminv8hi3, uminv4ai3): Replace with ...
2857 (umin<mode>3): ... this.
2858 (andv16qi3, andv8hi3, andv4ai3): Replace with ...
2859 (and<mode>3): ... this.
2860 (iorv16qi3, iorv8hi3, iorv4ai3): Replace with ...
2861 (ior<mode>3): ... this.
2862 (xorv16qi3, xorv8hi3, xorv4ai3): Replace with ...
2863 (xor<mode>3): ... this.
2864 (andv16qi3, andv8hi3, andv4ai3): Replace with ...
2865 (and<mode>3): ... this.
2866 (iorv16qi3, iorv8hi3, iorv4ai3): Replace with ...
2867 (ior<mode>3): ... this.
2868 (altivec_vnor): Replace with ...
2869 (altivec_nor<mode>): ... this.
2870 (one_cmplv16qi2, one_cmplv8hi2, one_complv4ai2): Replace with ...
2871 (one_cmpl<mode>2): ... this.
2872 (altivec_vandc): New expander.
2873 (*andc<mode>3): New insn.
2874 * config/rs6000/rs6000.c (bdesc_2arg): Adjust for new insn names.
2875
618bb89c
DN
28762004-11-22 Dorit Naishlos <dorit@il.ibm.com>
2877
2878 PR tree-opt/18536
2879 * tree-vectorizer.c (make_loop_iterate_ntimes): Use type of niters when
2880 creating iv instead of integer_type.
2881 (vect_build_loop_niters): Remove redundant code.
2882 (vect_transform_loop_bound): Removed (duplicates functionality of
2883 make_loop_iterate_ntimes.
2884 (vect_gen_niters_for_prolog_loop): Add documentation. Call
2885 lang_hooks.types.type_for_size to create a type of the required size.
2886 Use that type instead of integer_type. Remove redundant code.
2887 (vect_update_niters_after_peeling): Use type of niters instead of
2888 integer_type.
2889 (vect_transform_loop): Unify handling of known and unknown loop bound
6e14af16 2890 cases. Call make_loop_iterate_ntimes instead of
618bb89c
DN
2891 vect_transform_loop_bound.
2892
b6a4e963
AP
28932004-11-22 Andrew Pinski <pinskia@physics.uc.edu>
2894
2895 PR target/18217
2896 * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Move darwin-fallback.c to
2897 (LIB2ADDEH): Here.
2898
2fa2d802
DN
28992004-11-22 Dorit Naishlos <dorit@il.ibm.com>
2900
2901 PR tree-opt/18544
2902 * tree-vectorizer.c (vect_analyze_data_refs): Fail if memtag not found.
2903
b94d4fe0
KI
29042004-11-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2905
2906 * config.gcc: Use t-slibgcc-elf to build libgcc_s.so on
6e14af16 2907 m32r*linux.
b94d4fe0
KI
2908 * config/m32r/t-linux (SHLIB_MAPFILES): Override to use
2909 m32r/libgcc-glibc.ver.
2910 * config/m32r/libgcc-glibc.ver: Add New file.
2911
7932a3db
NS
29122004-11-22 Nathan Sidwell <nathan@codesourcery.com>
2913
2914 * bitmap.h (struct bitmap_obstack): New obstack type.
2915 (struct bitmap_head_def): Replace using_obstack with obstack
2916 pointer.
2917 (bitmap_default_obstack): New.
2918 (bitmap_initialize): Make inline, does not do allocation.
2919 (bitmap_release_memory): Remove.
2920 (bitmap_obstack_initialize, bitmap_obstack_release): Declare.
2921 (bitmap_obstack_alloc, bitmap_malloc_alloc, bitmap_gc_alloc,
2922 bitmap_obstack_free, bitmap_malloc_free): Declare.
2923 (BITMAP_OBSTACK_ALLOC, BITMAP_GGC_ALLOC, BITMAP_XMALLOC): Adjust.
2924 (BITMAP_FREE): Replace with ...
2925 (BITMAP_OBSTACK_FREE): ... this.
2926 (BITMAP_XFREE): Adjust.
2927 (BITMAP_INIT_ONCE): Remove.
2928 * bitmap.c (bitmap_obstack, bitmap_obstack_init, bitmap_free: Remove.
2929 (bitmap_default_obstack): New.
2930 (bitmap_elem_to_freelist): Adjust.
2931 (bitmap_element_allocate): Adjust. Break initialization into ...
2932 (bitmap_obstack_initialize): ... here.
2933 (bitmap_release_memory): Replace with ...
2934 (bitmap_obstack_release): ... this.
2935 (bitmap_obstack_alloc, bitmap_malloc_alloc, bitmap_gc_alloc,
2936 bitmap_obstack_free, bitmap_malloc_free): New.
2937 (bitmap_ior_and_compl, bitmap_ior_and_compl_into): Use
2938 bitmap_initialize.
2939 (bitmap_initialize): Move to bitmap.h.
2940 * gengtype.c (open_base_files): Add obstack.h to ifiles.
2941 * Makefile.in (BASIC_BLOCK_H, REGS_H): Add obstack.h.
2942 * basic-block.h (INIT_REG_SET): Allocate from reg_obstack.
2943 (INITIALIZE_REG_SET): Remove.
2944 (FREE_REG_SET): Use BITMAP_OBSTACK_FREE.
2945 (INIT_ONCE_REG_SET, MAX_REGNO_REG_SET): Remove.
2946 (flow_obstack): Do not declare.
2947 (reg_obstack): Declare.
2948 * regs.h: Include obstack.h.
2949 * tree-optimize.c (tree_rest_of_compilation): Initialize and
2950 release bitmap obstack here.
2951 * bb-reorder.c: #include regs, not basic-block.
2952 (fix_crossing_conditional_branches): Allocate regsets from
2953 reg_obstack.
2954 * bt-load.c: Do not inlude bitmap.h, sbitmap.h, basic-block.h or
2955 obstack.h.
2956 * caller-save.c: Include regs.h earlier.
2957 * cfg.c: Do not include basic-block.h or obstack.h.
2958 (reg_obstack): Define.
2959 * cfganal.c: Include obstack.h
2960 * cfgcleanyp.c: Do not include basic-block.h. Include regs.h
2961 earlier.
2962 * cfglayout.c: Do not include obstack.h.
2963 (flow_obstack): Remove declaration.
2964 (cfg_layout_duplicate_bb): Use reg_obstack.
2965 * cfgloop.c, cfgloopanal.c, cfgloopmanip.c: Include obstack.h.
2966 * cfgrtl.c (rtl_split_block): Use reg_obstack.
2967 (force_nonfallthru_and_redirect, rtl_split_edge): Likewise.
2968 (safe_insert_insn_on_edge): Use OBSTACK_ALLOC_REG_SET, adjust.
2969 (cfg_layout_split_edge): Use reg_obstack.
2970 * cse.c: Include regs.h earlier.
2971 * ddg.c: Do not include basic-block.h.
2972 * dominance.c: Inlude obstack.h.
2973 * flow.c (update_life_info): Use OBSTACK_ALLOC_REG_SET, adjust.
2974 (calculate_global_regs_live): Likewise.
2975 (allocate_bb_life_data): Use reg_obstack.
2976 (init_propagate_block_info): Use OBSTACK_ALLOC_REGSET.
2977 * global.c: Do not include basic-block.h.
2978 (build_insn_chain): Use OBSTACK_ALLOC_REG_SET, adjust.
2979 * graph.c: Include obstack.h.
2980 * haifa-sched.c: Do not include basic-block.h.
2981 * ifcvt.c: Use OBSTACK_ALLOC_REG_SET, adjust.
2982 * local-alloc.c: Do not include basic-block.h.
2983 * loop-init.c, loop-invariant.c: Include obstack.h.
2984 * loop-iv.c: Likewise.
2985 (simplify_using_initial_values): Use OBSTACK_ALLOC_REG_SET,
2986 adjust.
2987 * loop-unroll.c, loop-unswitch.c: Inlude obstack.h.
2988 * modulo-sched.c: Do not include basic-block.h.
2989 * passes.c (rest_of_handle_final): Do not call
2990 regset_release_memory.
2991 * ra-debug.c: Include regs.h earlier. Do not include
2992 basic-block.h.
2993 * recog.c (peephole2_optimize): Use OBSTACK_ALLOC_REG_SET, adjust.
2994 * regclass.c (init_reg_sets): Do not call INIT_ONCE_REG_SET.
2995 (allocate_reg_info): Do not call MAX_REGNO_REG_SET.
2996 (regset_release_memory): Remove.
2997 * resource.c: Do not include basic-block.h.
2998 * rtlanal.c: Do not include basic-block.h.
2999 * sbitmap.c: Include obstack.h.
3000 * sched-deps.c: Do not include basic-block.h.
3001 (reg_pending_sets_head, reg_pending_clobbers_head,
3002 reg_pending_uses_head): Remove.
3003 (init_deps_global): Use OBSTACK_ALLOC_REG_SET.
3004 * sched-ebb.c: Do not include basic-block.h.
3005 * sched-rgn.c: Likewise.
3006 * tree-if-conv.c (get_loop_body_in_if_conv_order): Use
3007 BITMAP_XFREE.
3008 * tree-outof-ssa.c (perform_edge_inserts): Use BITMAP_XFREE.
3009 * tree-sra.c (decide_instantiations): Adjust bitmap
3010 initialization.
3011 * tree-ssa-dce.c: Include obstack.h.
3012 * tree-ssa-pre.c (grand_bitmap_obstack): Make a bitmap_obstack.
3013 (value_insert_into_set_bitmap): Remove useless bitmap_clear.
3014 (bitmap_set_new): Likewise.
3015 (init_pre): Initialize bitmap obstack.
3016 (fini_pre): Release bitmap obstack.
3017 * tree-ssanames.c (ssa_names_to_rewrite): Make static.
3018 (marked_for_rewrite_p): ssa_names_to_rewrite is never NULL.
3019 (mark_for_rewrite, unmark_for_rewrite): Likewise.
3020 (marked_ssa_names): Likewise.
3021 (init_ssanames): Use BITMAP_XMALLOC.
3022 (fini_ssanames): Use BITMAP_XFREE.
3023 * web.c: Include obstack.h
3024
6cb70db4
NC
30252004-11-22 Nick Clifton <nickc@redhat.com>
3026
3027 * sbitmap.c (sbitmap_union_of_preds): Set 'e' to the next edge
3028 predecessor in the first for-loop.
3029
8ff40a74
SS
30302004-11-21 Stan Shebs <shebs@apple.com>
3031
8968965d
SS
3032 * config/rs6000/rs6000.c: (rs6000_darwin64_function_arg): Add
3033 UNION_TYPE case.
3034 (function_arg): Move darwin test up, sniff mode first for
3035 efficiency, test for union type.
8ff40a74 3036
31492595
DJ
30372004-11-21 Dale Johannesen <dalej@apple.com>
3038
3039 * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Define.
3040
609d9bed
JL
30412004-11-21 Jeff Law <law@redhat.com>
3042
3043 * tree-ssa.c (verify_use): Fix comment.
3044 (verify_phi_args): Check that the number of incoming edges matches
3045 the number of PHI arguments. Check that each PHI argument is
3046 either an SSA_NAME or an invariant. Coalesce tests for PHIs for
3047 dead or duplicated edges. Clear e->aux earlier and avoid separate
3048 loop to clear e->aux and test for missed edges.
3049 (verify_ssa): Remove first walk over statements. Move checking
3050 of PHI args into verify_phi_args. Move checking of statements
3051 with aliased stores and V_MAY_DEFS into the remaining loop over
3052 the statements. Register defs by walking through the formal
3053 SSA_NAME table.
3054
6da285d2
RS
30552004-11-21 Roger Sayle <roger@eyesopen.com>
3056
3057 PR middle-end/18520
3058 * dojump.c (compare_from_rtx): Clarify mode argument in function
3059 description. Correct order of mode/cmp_mode arguments in call to
3060 simplify_relational_operation. Check "tem" for COMPARISON_P.
3061
e8578da6
PB
30622004-11-21 Paolo Bonzini <bonzini@gnu.org>
3063 David Edelsohn <edelsohn@gnu.org>
b693336b
PB
3064
3065 PR target/17836
3066 * config/rs6000/rs6000.c (rs6000_return_in_memory): Return
3067 synthetic vectors in memory.
3068 (function_arg_boundary): Align large synthetic vectors.
3069 (rs6000_pass_by_reference): Pass synthetic vectors in memory.
3070
db02564e
JL
30712004-11-21 Jeff Law <law@redhat.com>
3072
763ea904
JL
3073 * cfg.c (update_bb_profile_for_threading): Do not rescale the
3074 successor probabilities if they are not going to change. Pull
3075 division out of loop if we do need to rescale successor probabilities.
3076
db02564e
JL
3077 * tree-ssa-threadupdate.c (redirection_data_hash): Use the
3078 index of the destination block for the hash value rather than
3079 hashing a pointer.
3080
a4ab7973
JM
30812004-11-20 Joseph S. Myers <joseph@codesourcery.com>
3082
3083 * c-typeck.c (build_array_ref): Don't check for index == 0. Make
3084 checks for neither argument being an array or pointer (swapping
3085 the arguments if necessary), the array argument being a pointer to
3086 or array of functions and for -Wchar-subscripts warnings upfront.
3087
40806b8b
JL
30882004-11-20 Jeff Law <law@redhat.com>
3089
3090 * regrename.c (copyprop_hardreg_forward): Only search for a
3091 previously processed block if the current block only has one
3092 predecessor.
3093
e7a531ae
KH
30942004-11-20 Kazu Hirata <kazu@cs.umass.edu>
3095
3096 * tree-ssa-threadupdate.c, tree-vectorizer.c: Fix comment
3097 typos.
3098 * config/arm/arm.c: Follow spelling conventions.
3099
2075b05d
RE
31002004-11-20 Richard Earnshaw <rearnsha@arm.com>
3101
3102 * arm.c (arm_override_options): Use arm_ld_sched rather than testing
3103 a bit in tune_flags.
3104 (const_double_needs_minipool): Likewise. Split most of the code out
3105 into ...
3106 (arm_const_double_inline_cost): ... new function here.
3107 * arm-protos.h (arm_const_double_inline_cost): Add prototype.
3108 * arm.h (EXTRA_CONSTRAINT_STR_ARM): Add D[abc] constraints for double-
3109 word constants of length 2, 3 and 4 insns respectively.
3110 (CONSTRAINT_LEN): The 'D' prefix is a 2-letter constraint.
3111 * arm.md (arm_movdi, movdf_soft_insn): Add alternatives for D[abc]
3112 constraints. Set insn lenghts accordingly.
3113
6a73fe75
AP
31142004-11-19 Jeff Law <law@redhat.com>
3115
3116 * tree-ssa-threadupdate.c: Replace REDIRECTION_DATA varray with
3117 a hash table. Extensive modifications throughout to support
3118 that change.
3119 (struct el): New.
3120 (struct local_info): New.
3121 (struct redirection_data): Add new INCOMING_EDGES and DO_NOT_DUPLICATE
3122 fields.
3123 (redirection_data): Now a hashtable.
3124 (redirection_data_hash, redirection_data_eq): New.
3125 (lookup_redirection_data, create_duplicates): New.
3126 (create_edge_and_update_destionation_phis): New.
3127 (fixup_template_block, redirect_edges): New.
3128 (thread_block): Use hash table traversals instead of loops over
3129 varray entries or incoming edge vectors.
3130
73553871
KH
31312004-11-19 Kazu Hirata <kazu@cs.umass.edu>
3132
3133 * basic-block.h (edge_def): Add dest_idx.
3134 * cfg.c (unchecked_make_edge): Initialize dest_idx.
3135 (remove_edge): Simplify the disconnection of an edge from its
3136 destination.
3137 (redirect_edge_succ): Likewise.
3138 * cfghooks.c (verify_flow_info): Check the consistency of
3139 dest_idx for each edge.
3140
449ecb09
AH
31412004-11-19 Aldy Hernandez <aldyh@redhat.com>
3142
6e14af16
ZW
3143 * simplify-rtx.c (simplify_ternary_operation): Use
3144 gen_int_mode.
449ecb09 3145
4f7db7f7
KH
31462004-11-19 Kazu Hirata <kazu@cs.umass.edu>
3147
3148 * tree-cfg.c (reinstall_phi_args): New.
3149 (tree_split_edge): Use it after redirecting an edge. Don't
3150 modify PHI_ARG_EDGE.
3151
1d8a9009
AT
31522004-11-19 Andreas Tobler <a.tobler@schweiz.ch>
3153
3154 * tree-vectorizer.c (slpeel_verify_cfg_after_peeling): Define only
3155 if checking is enabled.
3156
72c4e4db
JM
31572004-11-19 Joseph S. Myers <joseph@codesourcery.com>
3158
3159 * c-decl.c (push_scope): Remove "\n" from end of diagnostic for
3160 too many nested scopes.
3161
63dfe6ff
DN
31622004-11-19 Dorit Naishlos <dorit@il.ibm.com>
3163
3164 PR tree-opt/18181
3165 * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Peeling scheme
3166 changed to suppoer uses-after-loop and to void creating flow paths
3167 that shouldn't exist.
3168 (slpeel_update_phi_nodes_for_guard): Takes additional two arguments.
3169 Modified to fit the new peeling scheme. Avoid quadratic behavior.
3170 (slpeel_add_loop_guard): Takes additional argument.
3171 (slpeel_verify_cfg_after_peeling): New function.
3172 (vect_update_ivs_after_vectorizer): Takes additional argument. Updated
3173 documentation. Use 'exit-bb' instead of creating 'new-bb'.
3174 (rename_variables_in_bb): Don't update phis for BBs out of loop, to fit
3175 the new peeling scheme.
3176 (copy_phi_nodes): Function removed. Its functionality moved to
3177 update_phis_for_duplicate_loop.
3178 (slpeel_update_phis_for_duplicate_loop): Functionality of copy_phi_nodes
3179 moved here. Added documentation. Modified to fit the new peeling scheme.
3180 (slpeel_make_loop_iterate_ntimes): Setting loop->single_exit not not
3181 needed - done in slpeel_tree_peel_loop_to_edge.
3182 (slpeel_tree_duplicate_loop_to_edge_cfg): Debug printouts compacted.
3183 (vect_do_peeling_for_loop_bound): Add documentation. Call
3184 slpeel_verify_cfg_after_peeling. Call vect_update_ivs_after_vectorizer
3185 with additional argument.
3186 (vect_do_peeling_for_alignment): Call slpeel_verify_cfg_after_peeling.
3187
3188 (vect_finish_stmt_generation): Avoid 80 column oveflow.
3189
335d3d54
DN
31902004-11-19 Dorit Naishlos <dorit@il.ibm.com>
3191
3192 * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Last two
3193 arguments removed.
3194 (slpeel_tree_peel_loop_to_edge): Call slpeel_make_loop_iterate_ntimes
3195 without last two arguments. Update single_exit of loops.
3196 (vect_update_niters_after_peeling): Removed. Its functionality was
6e14af16 3197 moved to vect_do_peeling_for_alignment.
335d3d54
DN
3198 (vect_do_peeling_for_loop_bound): New name for function previously
3199 called vect_transform_for_unknown_loop_bound.
3200 (vect_transform_loop_bound): Call slpeel_make_loop_iterate_ntimes
3201 instead of code that duplicates the same functionality.
6e14af16 3202 (vect_do_peeling_for_alignment): Functionality of
335d3d54
DN
3203 vect_update_niters_after_peeling moved here.
3204 (vect_transform_loop): Unify call to vect_do_peeling_for_loop_bound -
3205 previously named vect_transform_for_unknown_loop_bound - for both known
3206 and unknown loop bound cases.
3207
d6901754
DN
32082004-11-19 Dorit Naishlos <dorit@il.ibm.com>
3209
3210 * tree-vectorizer.c (slpeel_can_duplicate_loop_p): New name for function
3211 previously called verify_loop_for_duplication. All conditions compacted
3212 into one compound condition. Removed debug dumps.
3213 (vect_analyze_loop_with_symbolic_num_of_iters): Removed. Some of the
3214 functionality moved to vect_can_advance_ivs_p, and some to
3215 vect_analyze_loop_form.
3216 (vect_can_advance_ivs_p): New function. Contains functionality that was
3217 taken out of vect_analyze_loop_with_symbolic_num_of_iters.
3218 (slpeel_tree_peel_loop_to_edge): Call slpeel_can_duplicate_loop_p.
3219 (vect_analyze_operations): Call vect_can_advance_ivs_p and
3220 slpeel_can_duplicate_loop_p.
3221 (vect_get_loop_niters): Added documentation.
3222 (vect_analyze_loop_form): Check the loop entry always - not only in case
3223 of unknown loop bound. Create preheader and exit bb if necessary. Apply
3224 a check that used to take place in
3225 vect_analyze_loop_with_symbolic_num_of_iters.
3226 (vectorize_loops): Call verify_loop_closed_ssa under ENABLE_CHECKING.
3227 Remove redundant call to rewrite_into_loop_closed_ssa.
3228 (vect_compute_data_refs_alignment): Removed obsolete comment.
3229
f88a8cfa
DN
32302004-11-19 Dorit Naishlos <dorit@il.ibm.com>
3231
3232 * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): New name for
3233 function previously called tree_duplicate_loop_to_edge.
3234 (slpeel_tree_duplicate_loop_to_edge_cfg): New name for function
3235 previously called tree_duplicate_loop_to_edge_cfg.
3236 (slpeel_update_phis_for_duplicate_loop): Prefix 'slpeel' added to
3237 function name.
3238 (slpeel_update_phi_nodes_for_guard): Likewise.
3239 (slpeel_make_loop_iterate_ntimes): Likewise.
3240 (slpeel_add_loop_guard): Likewise.
3241 (allocate_new_names, free_new_names): Function declaration moved to top
3242 of file.
3243 (rename_use_op, rename_def_op): Likewise.
3244 (rename_variables_in_bb, rename_variables_in_loop): Likewise.
3245 (vect_generate_tmps_on_preheader): Function declaration moved.
3246 (vect_transform_for_unknown_loop_bound): Added missing function
3247 declaration.
3248
3a2e4b46
AP
32492004-11-19 Andrew Pinski <pinskia@physics.uc.edu>
3250
3251 PR tree-opt/18507
33976614
AP
3252 * tree-flow.h (tree_on_heap): Typedef because there is already a VEC(tree).
3253 Define a VEC(tree_on_heap) for head.
3254 (register_new_def): Change second argument to be a VEC(tree_on_heap).
3255 * tree-ssa-dom.c (block_defs_stack): Change to be a VEC(tree_on_heap).
3a2e4b46 3256 (tree_ssa_dominator_optimize): Initialize block_defs_stack with
33976614 3257 the VEC(tree_on_heap) function. Also free it before returning.
3a2e4b46
AP
3258 (dom_opt_initialize_block): Use VEC_safe_push instead of VARRAY_PUSH_TREE
3259 for block_defs_stack.
3260 (restore_currdefs_to_original_value): Use VEC_length instead of
3261 VARRAY_ACTIVE_SIZE. VEC_pop instead of VARRAY_TOP_TREE/VARRAY_POP.
3262 (dom_opt_finalize_block): Use VEC_safe_push instead of VARRAY_PUSH_TREE
3263 for block_defs_stack.
33976614 3264 * tree-into-ssa.c (block_defs_stack): Change to be a VEC(tree_on_heap).
3a2e4b46
AP
3265 (rewrite_initialize_block): Use VEC_safe_push instead of VARRAY_PUSH_TREE
3266 for block_defs_stack.
3267 (ssa_register_new_def): Likewise.
3268 (ssa_rewrite_initialize_block): Likewise.
3269 (rewrite_finalize_block): Use VEC_length instead of
3270 VARRAY_ACTIVE_SIZE. VEC_pop instead of VARRAY_TOP_TREE/VARRAY_POP.
3271 (ssa_rewrite_finalize_block): Likewise.
33976614 3272 (register_new_def): Change second argument to be a VEC(tree_on_heap).
3a2e4b46
AP
3273 Use VEC_safe_push instead of VARRAY_PUSH_TREE.
3274 (rewrite_blocks): Initialize block_defs_stack with
33976614 3275 the VEC(tree_on_heap) function. Also free it before returning.
3a2e4b46
AP
3276 (rewrite_ssa_into_ssa): Likewise.
3277
32782004-11-19 Fariborz Jahanian <fjahanian@apple.com>
0e1ad529
FJ
3279
3280 * config/darwin.c (machopic_data_defined_p): return 1 for
3281 MACHOPIC_DEFINED_FUNCTION.
3282
075523c6
JL
32832004-11-19 Jeff Law <law@redhat.com>
3284
3285 * tree-ssa.c (verify_ssa): Remove redundant checking of PHI
3286 arguments.
3287
d31f3604
PB
32882004-11-19 Paul Brook <paul@codesourcery.com>
3289
3290 PR target/17735
3291 * varasm.c (default_assemble_integer): Allow pointer-sized values.
3292 Expand comment.
3293
f99652b5
NC
32942004-11-19 Nick Clifton <nickc@redhat.com>
3295
3296 * config/stormy16/stormy16.c (combine_bnp): Add code to handle
3297 zero_extension and lshiftrt insns.
3298 Replace uses of XEXP(...) with either SET_DEST() or SET_SRC()
3299 where appropriate.
3300 * config/stormy16.stormy16.md (bclrx3, bsetx3): New patterns
3301 to handle bp and bn insn patterns with a zero_extend rtx
3302 inside them.
3303
e648d85a
ILT
33042004-11-19 Ian Lance Taylor <ian@wasabisystems.com>
3305
3306 * config/arm/arm.md (generic_sched): Make const.
3307
d78db459
KH
33082004-11-19 Kazu Hirata <kazu@cs.umass.edu>
3309
3310 * emit-rtl.c (classify_insn): Make it static.
3311 * rtl.h: Remove the corresponding prototype.
3312
0bdb5458
KH
3313 * integrate.c (has_func_hard_reg_initial_val,
3314 get_func_hard_reg_initial_val): Make them static.
3315 * integrate.h: Remove the corresponding prototypes.
3316
c8f4fe99
BE
33172004-11-19 Ben Elliston <bje@au.ibm.com>
3318
3319 * dwarf2asm.h (dw2_asm_output_pcel): Stub out with #if 0.
3320 (dw2_asm_output_delta_sleb128): Likewise.
3321 * dwarf2asm.c (dw2_asm_output_pcrel): Likewise.
3322 (dw2_asm_output_delta_sleb128): Likewise.
3323
4244df06
AN
33242004-11-19 Adam Nemet <anemet@lnxw.com>
3325
3326 * tree-ssa-alias.c: Fix comment.
3327
1dee9d0d
KH
33282004-11-19 Kazu Hirata <kazu@cs.umass.edu>
3329
3330 * tree-outof-ssa.c: Fix a comment typo.
3331
7d6d381a
BE
33322004-11-19 Ben Elliston <bje@au.ibm.com>
3333
3334 * predict.h (predict_insn): Remove extern declaration.
3335 * predict.c (predict_insn): Make static.
3336
4eeca74f
AM
33372004-11-19 Alan Modra <amodra@bigpond.net.au>
3338
3339 * config/rs6000/rs6000.c (function_arg): Don't return BLKmode regs.
3340
b9e8bfda
NP
33412004-11-18 Nicolas Pitre <nico@cam.org>
3342
3343 * config/arm/arm.c (const_double_needs_minipool): New function to
3344 determine if a CONST_DOUBLE should be pushed to the minipool.
3345 (note_invalid_constants): Use it.
3346
94b112fb
PB
33472004-11-18 Paul Brook <paul@codesourcery.com>
3348
3349 * config/arm/arm.c (target_float_switch): New variable..
3350 (arm_override_options): Use TARGET_DEFAULT_FLOAT_ABI and
3351 target_float_switch.
3352 * config/arm/arm.h (target_float_switch): Declare.
3353 (ARM_FLAG_SOFT_FLOAT): Remove.
3354 (TARGET_SWITCHES): Remove hard-float and soft-float.
3355 (TARGET_OPTIONS): Add hard-float and soft-float.
3356 (TARGET_DEFAULT_FLOAT_ABI): Define.
3357 * config/arm/coff.h (TARGET_DEFAULT_FLOAT_ABI): Define
3358 (TARGET_DEFAULT): Don't use ARM_FLAG_SOFT_FLOAT.
3359 * config/arm/elf.h: Don't use ARM_FLAG_SOFT_FLOAT.
3360 * config/arm/netbsd-elf.h: Ditto.
3361 * config/arm/netbsd.h: Ditto.
3362 * config/arm/pe.h: Ditto.
3363 * config/arm/unknown-elf.h: Ditto.
3364 * config/arm/wince-pe.h: Ditto.
3365 * config/arm/linux-elf.h (TARGET_DEFAULT_FLOAT_ABI): Define.
3366 * config/arm/semi.h (TARGET_DEFAULT_FLOAT_ABI): Define.
3367 * config/arm/semiaof.h (TARGET_DEFAULT_FLOAT_ABI): Define.
3368
81466555
NS
33692004-11-18 Nathan Sidwell <nathan@codesourcery.com>
3370
3371 * config/rs6000/altivec.md (VI, VF, V): New mode macros.
3372 (altivec_lvx_4si, altivec_lvx_8hi, altivec_lvx_16qi,
3373 altivec_lvx_4sf): Rename and replace with ...
3374 (altivec_lvx_<mode>): ... mode macro version.
3375 (altivec_stvx_4si, altivec_stvx_8hi, altivec_stvx_16qi,
6e14af16 3376 altivec_stvx_4sf): Rename and replace with ...
81466555
NS
3377 (altivec_stvx_<mode>): ... mode macro version.
3378 (movv4si, movv8hi, movv16qi, movv4sf}): Replace with ...
3379 (mov<mode>): ... mode macro version.
3380 (*movv4si_internal, *movv8hi_internal1, *movv16qi_internal1,
3381 *movv4sf_internal1): Replace with ...
3382 (*mov<mode>_internal): ... mode macro version.
3383 (get_vrsave_internal, *set_vrsave_internal, *save_world,
3384 *restore_world): Unquote output statements.
3385 * config/rs6000/rs6000.c (altivec_expand_ld_builtin,
3386 altivec_expand_st_builtin): Adjust insn names.
3387
18f63bfa
AH
33882004-11-18 Aldy Hernandez <aldyh@redhat.com>
3389
3390 * config/rs6000/rs6000.c (rs6000_complex_function_value): Revert
3391 previous change.
3392 (rs6000_override_options): Likewise.
3393 (spe_build_register_parallel): Handle complex doubles on e500v2.
3394 (rs6000_spe_function_arg): Likewise.
3395 (function_arg): Likewise.
3396 (rs6000_function_value): Likewise.
3397 (rs6000_libcall_value): Likewise.
3398
9ef8069a
AP
33992004-11-18 Andrew Pinski <pinskia@physics.uc.edu>
3400
3401 * ifcvt.c (find_if_block): Move the check for the number of edges
3402 above the loops checking for complex edges.
3403 Remove the counting of edges as we use EDGE_COUNT now.
3404
3afb0820
NC
34052004-11-18 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.comn>
3406
3407 * config/m32r/linux.h (TARGET_ASM_FILE_END): Set
3408 TARGET_ASM_FILE_END to file_end_indicate_exec_stack.3
3409
731edaed
AS
34102004-11-18 Andreas Schwab <schwab@suse.de>
3411
3412 * config/i386/i386.md (define_peephole2): Revert last change.
3413
9975bd32
KI
34142004-11-18 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.comn>
3415
3416 * config/m32r/linux.h (TARGET_ASM_FILE_END): Set
3417 TARGET_ASM_FILE_END to file_end_indicate_exec_stack.
3418
0777d852
DN
34192004-11-18 Diego Novillo <dnovillo@redhat.com>
3420
3421 * tree-ssa-propagate.c (ssa_prop_init): Use FOR_ALL_BB instead
3422 of FOR_EACH_BB.
3423
5cd37749
JG
34242004-11-18 Jon Grimm <jgrimm2@us.ibm.com>
3425
3426 * Makefile.in (macro_list): Depend on s-macro_list.
3427 (s-macro_list): New target.
3428
b8610a53
NS
34292004-11-18 Nathan Sidwell <nathan@codesourcery.com>
3430
3431 PR target/17107
3432 * fold-const.c (RANGE_TEST_NON_SHORT_CIRCUIT): Rename to ...
3433 (LOGICAL_OP_NON_SHORT_CIRCUIT): ... here.
3434 (fold_range_test): Adjust.
3435 (fold_truthop): Use it.
3436 * config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Rename to ...
3437 (LOGICAL_OP_NON_SHORT_CIRCUIT): ... here.
3438
d7518354
UB
34392004-11-18 Uros Bizjak <uros@kss-loka.si>
3440
6e14af16
ZW
3441 * configure/i386/i386.md (*fix_trunch_1): Add "&& 1" to
3442 insn split constraint.
3443 (define_peephole2): Remove unneeded "&& 1" from peephole2
3444 constraints.
d7518354 3445
a28281a7
BE
34462004-11-18 Ben Elliston <bje@au.ibm.com>
3447
3448 * doc/cfg.texi (Maintaining the CFG): Remove duplicated @item
3449 element for bsi_prev; use @findex instead.
3450
2715d4a3
BE
34512004-11-18 Ben Elliston <bje@au.ibm.com>
3452
3453 * opts.h (add_input_filename): Remove extern declaration.
3454 * opts.c (add_input_filename): Make static.
3455
7915fbaa
MM
34562004-11-17 Mark Mitchell <mark@codesourcery.com>
3457
3458 * config/i386/i386.c (i386_solaris_elf_named_section): Mark with
3459 ATTRIBUTE_UNUSED.
6e14af16 3460
cf249358
ZW
34612004-11-17 Zack Weinberg <zack@codesourcery.com>
3462
3463 * defaults.h, config/darwin.h: Don't define TARGET_SUPPORTS_HIDDEN.
3464 * system.h: Poison it.
3465 * doc/tm.texi: Delete its documentation.
3466
a8e68029 34672004-11-18 Daniel Jacobowitz <dan@codesourcery.com>
cf249358 3468 Mark Mitchell <mark@codesourcery.com>
a8e68029
DJ
3469
3470 * config/i386/sol2-10.h, config/i386/t-sol2-10: New files.
3471 * config/i386/i386.c (i386_solaris_elf_named_section): New
3472 function.
3473 * config.gcc (i[34567]86-*-solaris2*): Handle Solaris 2.10.
3474 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Handle
3475 64-bit.
3476 (ASM_QUAD): Don't undefine for biarch targets.
3477 * config/i386/t-sol2: Introduce multilib support.
3478
e1990f69
BE
34792004-11-18 Ben Elliston <bje@au.ibm.com>
3480
3481 * cgraphunit.c: Replace "it's" with "its" and fix a typo.
3482
e2209b03
BE
34832004-11-18 Ben Elliston <bje@au.ibm.com>
3484
3485 * cgraph.h: Replace "it's" with "its" throughout.
3486
2b45d482
BE
34872004-11-18 Ben Elliston <bje@au.ibm.com>
3488
3489 * doc/rtl.texi (Flags): Grammar fix.
3490
7b13ee6b
KH
34912004-11-17 Kazu Hirata <kazu@cs.umass.edu>
3492
3493 * expmed.c (alg_code): Add alg_unknown.
3494 (alg_hash_entry): New.
3495 (NUM_ALG_HASH_ENTRIES): Likewise.
3496 (alg_hash): Likewise.
3497 (synth_mult): Cache the result into alg_hash.
3498
816ea94e
ZW
34992004-11-17 Zack Weinberg <zack@codesourcery.com>
3500
3501 * config/rs6000/t-darwin: Augment SHLIB_MAPFILES with
3502 config/rs6000/libgcc-ppc64.ver.
3503
26cae194
KH
35042004-11-17 Kazu Hirata <kazu@cs.umass.edu>
3505
3506 * cfgrtl.c (rtl_verify_flow_info): Don't use INSN_P when
3507 checking if an unconditional return is followed by a barrier.
3508
a4480681
KH
3509 * jump.c (condjump_p): Remove unreachable code.
3510
ac141aea
KH
3511 * basic-block.h, c-common.h, df.h, expr.h, output.h, rtl.h,
3512 tree-chrec.h, tree-flow.h, tree-scalar-evolution.h,
3513 tree-ssa-live.h, tree.h: Remove unused prototypes.
3514
d6be0d7f
JL
35152004-11-17 Jeff Law <law@redhat.com>
3516
3517 * tree-cfg.c (edge_to_cases): Renamed from edge_to_case_leader.
3518 (edge_to_cases_elt): Renamed from edge_to_case_leader.
3519 (edge_to_cases_hash): Renamed from edge_to_case_leader_hash.
3520 (edge_to_cases_eq): Renamed from edge_to_case_leader_eq.
3521 (edge_to_cases_cleanup, recording_case_labels_p): New functions.
3522 (get_cases_for_edge): New function.
3523 (start_recording_case_labels, end_recording_case_labels): Similarly.
3524 (record_switch_edge): Don't muck with the CASE_LABEL. Instead
3525 chain equivalent CASE_LABEL_EXPRs together.
3526 (get_case_leader_for_edge, get_case_leader_for_edge_hash): Kill.
3527 (make_switch_expr_edges): Do not record edge/cases here.
3528 (cleanup_tree_cfg): Record cases around the call to thread_jumps.
3529 (split_critical_edges): Record cases around the edge splitting code.
3530 (cleanup_dead_labels): Use CASE_LABEL again.
3531 (tree_redirect_edge_and_branch): If we have a mapping from edge
3532 to cases, use it to handle redirections. Else do it the slow way.
3533 * tree.h (CASE_LEADER_OR_LABEL): Kill.
3534 (CASE_LABEL): Revert to just looking at the tree's second operand.
3535 * tree.c (get_case_label): Kill.
3536
730bddf2
DN
35372004-11-17 Diego Novillo <dnovillo@redhat.com>
3538
3539 PR tree-optimization/18307
3540 * tree-ssa-alias.c (merge_pointed_to_info): ICE if 'dest' and
3541 'orig' are the same node.
3542 (collect_points_to_info_r): Do not call merge_pointed_to_info
3543 when the PHI argument is identical to the LHS.
3544
39850c0b
SB
35452004-11-17 Steven Bosscher <stevenb@suse.de>
3546
2b45d482 3547 * tree-ssa-propagate.c (cfg_blocks_add): Assert we're not trying
39850c0b
SB
3548 to insert the exit or entry block.
3549 (ssa_prop_init): Use add_control_edge to seed the algorithm.
3550
7c834753
ZW
35512004-11-16 Zack Weinberg <zack@codesourcery.com>
3552
3553 * mkmap-flat.awk, mkmap-symver.awk: If the last version
3554 assigned to a symbol was '%exclude', do not emit it anywhere.
3555 If leading_underscore is true, prefix all symbols from the
3556 version scripts with a leading underscore before comparing
3557 them with nm output or emitting them. Remove support for dot
3558 symbols.
3559 * config/t-slibgcc-darwin (SHLIB_LINK): Use mkmap-flat.awk.
3560 (SHLIB_MAPFILES): Use libgcc-std.ver.
3561 (SHLIB_MKMAP_OPTS): Enable leading-underscore mode.
3562 (SHLIB_LINK): Add -Wl,-exported_symbols_list,$(SHLIB_MAP).
3563 * config/sh/t-linux: Use the normal libgcc-std.ver, plus
3564 libgcc-excl.ver and libgcc-glibc.ver.
3565
3566 * config/sh/libgcc-excl.ver: New file.
3567 * config/sh/libgcc-std.ver, libgcc-darwin.ver: Delete.
3568
13cf6837
DB
35692004-11-16 Daniel Berlin <dberlin@dberlin.org>
3570
3571 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Swap
3572 the test when the edge has the opposite meaning, not when
3573 the first argument is invariant.
3574
354ed18f
AH
35752004-11-16 Aldy Hernandez <aldyh@redhat.com>
3576
7c834753
ZW
3577 * config/rs6000/rs6000.c (rs6000_override_options): Split e500v2
3578 doubles.
3579 (rs6000_complex_function_value): Handle e500 v2 variant.
354ed18f 3580
88a40e67
DB
35812004-11-16 Daniel Berlin <dberlin@dberlin.org>
3582
3583 Fix PR tree-optimization/18519
7c834753 3584
88a40e67
DB
3585 * tree-optimize (execute_todo): Add case for TODO_cleanup_cfg.
3586 * tree-pass.h: Add TODO_cleanup_cfg.
3587 * tree-ssa-ccp.c (pass_ccp): Use TODO_cleanup_cfg.
3588 (ccp_finalize): Remove call to cleanup_cfg.
3589 * tree-ssa-dce.c (pass_dce): Use TODO_cleanup_cfg and TODO_dump_func.
3590 (pass_cd_dce): Ditto.
7c834753 3591 (perform_tree_ssa_dce): Remove call to cleanup_cfg,
88a40e67
DB
3592 dump_function_to_file.
3593 * tree-ssa-loop-ch.c (copy_loop_headers): Remove call
3594 to cleanup_cfg.
3595 (pass_ch): Add TODO_cleanup_cfg.
3596 * tree-ssa-loop.c (tree_ssa_loop_done): Remove call to
3597 cleanup_cfg.
3598 (pass_loop_done): Add TODO_cleanup_cfg.
3599 * tree-ssa-phiopt.c (pass_phiopt): Ditto.
7c834753
ZW
3600 (tree_ssa_phiopt): Remove call to cleanup_cfg.
3601
8a45d448
DP
36022004-11-16 Devang Patel <dpatel@apple.com>
3603
3604 * optabs.c (vector_compare_rtx): Fix COMPARISON_CLASS_P use.
7c834753 3605
a37739c1
KH
36062004-11-16 Kazu Hirata <kazu@cs.umass.edu>
3607
3608 * expmed.c, ra-colorize.c: Fix comment typos.
3609
5b4ef0b1
KH
3610 * doc/tm.texi: Fix typos.
3611
d3f2f8ae 36122004-11-16 Daniel Jacobowitz <dan@codesourcery.com>
7c834753 3613 Mark Mitchell <mark@codesourcery.com>
d3f2f8ae
DJ
3614
3615 PR target/6123
3616 * config/sol2.h (TARGET_OS_CPP_BUILTINS): Define __PIC__ and
3617 __pic__ if PIC.
3618
d281a1f1
UW
36192004-11-16 Ulrich Weigand <uweigand@de.ibm.com>
3620
3621 * regmove.c (regmove_optimize): Use lowpart_subreg instead of
3622 gen_rtx_SUBREG with incorrect offset to compute SRC_SUBREG.
3623
57e42286
DP
36242004-11-16 Devang Patel <dpatel@apple.com>
3625
3626 * tree-if-conv.c (clean_predicate_lists): Update gcc_assert check.
7c834753 3627
66083422
EC
36282004-11-16 Eric Christopher <echristo@redhat.com>
3629
3630 * config/mips/mips.c: Use rtl _P predicates.
3631 * config/mips/mips.h: Ditto.
3632 * config/mips/mips.md: Ditto.
3633
96e1fc28
FJ
36342004-11-16 Fariborz Jahanian <fjahanian@apple.com>
3635
3636 * config/rs6000/altivec.md (altivec_vandc): Canonicalize
3637 the pattern.
3638
a628ab6d
AK
36392004-11-16 Andreas Krebbel <krebbel1@de.ibm.com>
3640
3641 * config/s390/s390.c (s390_cc_modes_compatible): New function.
3642 (TARGET_CC_MODES_COMPATIBLE): Target macro defined.
3643
b92c3264
KK
36442004-11-16 Kaz Kojima <kkojima@gcc.gnu.org>
3645
3646 PR target/18447
3647 * config/sh/sh.c (prepare_move_operands): Emit blockage insns
3648 before and after the insns for getting GOT address in non-PIC
3649 TLS_MODEL_INITIAL_EXEC tls sequence when the first scheduling
3650 is enabled.
3651
fc188d37
AK
36522004-11-16 Andreas Krebbel <krebbel1@de.ibm.com>
3653
3654 * gcc/cse.c (struct change_cc_mode_args): New structure.
3655 (cse_change_cc_mode_insn): New function.
3656 (cse_change_cc_mode): Use validate_change to perfom changes.
66083422 3657 (cse_change_cc_mode_insns, cse_condition_code_reg):
fc188d37
AK
3658 Call cse_change_cc_mode_insn.
3659
d39289db
SB
36602004-11-16 Steven Bosscher <stevenb@suse.de>
3661
3662 * stack.h: Remove.
3663
03e00d30
SB
36642004-11-16 Steven Bosscher <stevenb@suse.de>
3665
3666 * config/i386/i386.c (x86_schedule): Fix typo, m_K6 intead of m_K8.
3667
e61ec2dd
DJ
36682004-11-15 Dale Johannesen <dalej@apple.com>
3669
3670 * tree-flow.h (add_referenced_temp_var): Remove name from prototype.
3671
b00843d2
DJ
36722004-11-15 Dale Johannesen <dalej@apple.com>
3673
3674 * profile.c (compute_branch_probabilities): Prevent
3675 crash with EH in RTL-based profiling.
3676
a6234684
KH
36772004-11-16 Kazu Hirata <kazu@cs.umass.edu>
3678
3679 * tree-cfg.c (verify_expr): Replace TREE_OPERAND with
3680 COND_EXPR_COND.
3681 * tree-if-conv.c (tree_if_convert_cond_expr): Likewise.
3682 * tree-ssa-dom.c (thread_across_edge): Likewise.
3683 * tree-vectorizer.c (vect_transform_loop_bound): Replace
3684 TREE_OPERAND with COND_EXPR_COND, COND_EXPR_THEN, or
3685 COND_EXPR_ELSE.
3686
8e731e4e
KH
3687 * tree-cfg.c (bsi_commit_edge_inserts): Remove an argument.
3688 (tree_flow_call_edges_add): Update the call to
3689 bsi_commit_edge_inserts.
3690 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
3691 * profile.c (branch_prob): Likewise.
3692 * tree-mudflap.c (mf_decl_cache_locals): Likewise.
3693 * tree-sra.c (scalarize_function): Likewise.
3694 * tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
3695 * tree-ssa-pre.c (fini_pre): Likewise.
3696 * tree-flow.h: Update the prototype for
3697 bsi_commit_edge_inserts.
3698
4c2b2906
EC
36992004-11-15 Eric Christopher <echristo@redhat.com>
3700
3701 * sched-deps.c (set_sched_group_p): Delete.
3702 (delete_all_dependencies): New function.
3703 (fixup_sched_groups): Use. New function.
3704 (sched_analyze_insn): Use.
3705
37b2f290
JM
37062004-11-15 Joseph S. Myers <joseph@codesourcery.com>
3707
3708 * c-common.c (binary_op_error): Don't allow LROTATE_EXPR,
3709 RROTATE_EXPR or unknown code.
3710 * c-typeck.c (build_binary_op): Don't allow RROTATE_EXPR,
3711 LROTATE_EXPR, MAX_EXPR, MIN_EXPR, UNORDERED_EXPR, ORDERED_EXPR,
3712 UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, LTGT_EXPR
3713 or unknown code.
3714
d134f39e
JM
37152004-11-15 Joseph S. Myers <joseph@codesourcery.com>
3716
3717 PR c/18498
3718 * c-decl.c (grokdeclarator): Call check_bitfield_type_and_width
3719 after processing the declarator.
3720
e5f9d916
AH
37212004-11-15 Aldy Hernandez <aldyh@redhat.com>
3722
3723 * config/rs6000/altivec.md ("altivec_vsplth"): Rewrite with
3724 vec_duplicate.
3725 (altivec_vspltb): Same.
3726 (altivec_vspltw): Same.
3727 (altivec_vspltisb): Same.
3728 (altivec_vspltish): Same.
3729 (altivec_vspltisw): Same.
3730 (altivec_vspltisw_v4sf): Same.
3731 (define_constants): Remove UNSPEC_VSPLTISB, UNSPEC_VSPLTISW,
3732 UNSPEC_VSPLTISH.
3733 Move "End of vector xor's" comment to the right place.
3734
e77ee95d
SE
37352004-11-15 Steve Ellcey <sje@cup.hp.com>
3736
3737 * config/ia64/ia64.md (*movtf_internal): Use destination_operand
3738 instead of nonimmediate_operand.
3739
dbdd0cf3
MM
37402004-11-15 Mark Mitchell <mark@codesourcery.com>
3741
3742 * config/i386/sol2.h (ASM_OUTPUT_CALL): Use print_operand.
3743 * config/sparc/sol2.h (ASM_OUTPUT_CALL): Likewise.
3744 * config/sol2.c (solaris_output_init_fini): Update calls to
3745 ASM_OUTPUT_CALL. Include "rtl.h".
3746
11559c75
MM
37472004-11-15 Mark Mitchell <mark@codesourcery.com>
3748
3749 * config/sol2-c.c (cmn_err_char_table): Add "p".
3750
6e70657a
MM
37512004-11-15 Mark Mitchell <mark@codesourcery.com>
3752
3753 * config/sparc/sol2.h (SUPPORTS_INIT_PRIORITY): Remove.
3754 * config/sol2.h (SUPPORTS_INIT_PRIORITY): Define here.
3755
9c0787e2
MM
37562004-11-15 Mark Mitchell <mark@codesourcery.com>
3757
3758 * config/t-slibgcc-sld (SHLIB_LINK): Make symlinks entirely
3759 within the multilib directory.
3760
ea87f349
NC
37612004-11-15 Nick Clifton <nickc@redhat.com>
3762
3763 * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Add
3764 builtin assert of cpu=xstormy16.
3765
cf6b9ef1
NS
37662004-11-15 Nathan Sidwell <nathan@codesourcery.com>
3767
3768 * tree-ssa-pre.c (bitmap_print_value_set): Fix uninitialized
3769 variable.
3770
8df3dbb7
RH
37712004-11-14 Richard Henderson <rth@redhat.com>
3772
3773 PR 18480
3774 * calls.c (struct arg_data): Add parallel_value.
3775 (precompute_register_parameters): Set it.
3776 (load_register_parameters): Use it.
3777 (store_one_arg): Also set it here.
3778
18522563
ZD
37792004-11-14 Zdenek Dvorak <dvorakz@suse.cz>
3780
3781 PR tree-optimization/18431
3782 * fold-const.c (associate_trees): Do not produce x + 0.
3783 (fold_widened_comparison, fold_sign_changed_comparison): New functions.
3784 (fold): Use them.
3785 * tree-ssa-loop-niter.c (upper_bound_in_type, lower_bound_in_type):
3786 Moved ...
3787 * tree.c (upper_bound_in_type, lower_bound_in_type): Here.
3788 * tree.h (upper_bound_in_type, lower_bound_in_type): Declare.
3789
a6ac87c1
EB
37902004-11-14 Eric Botcazou <ebotcazou@libertysurf.fr>
3791
c7bfff32 3792 * doc/rtl.texi (SUBREG): Adjust BYTENUM value in example.
a6ac87c1 3793
49243025
KH
37942004-11-14 Kazu Hirata <kazu@cs.umass.edu>
3795
3a7c155d
KH
3796 * cfgrtl.c, global.c, tree-ssa-copy.c, tree-ssa-loop-ivopts.c,
3797 value-prof.c: Fix comment typos.
49243025 3798
594a51fe
SS
37992004-11-14 Stan Shebs <shebs@apple.com>
3800
3801 Basic ABI changes for passing structs by value in 64-bit Darwin.
3802 * config/rs6000/rs6000.c (rs6000_darwin64_abi): New flag.
3803 (rs6000_override_options): Set it for 64-bit Darwin.
3804 (rs6000_parse_abi_options): Add testing options to change it.
3805 (rs6000_return_in_memory): Test whether the type is one
3806 that can be passed in registers.
3807 (darwin64_function_arg_advance): New.
3808 (function_arg_advance): Call it, plus add recursion depth
3809 argument and test when counting off arguments.
3810 (rs6000_darwin64_function_arg): New.
3811 (function_arg): Call it.
3812 (setup_incoming_varargs): Add argument to function_arg_advance.
3813 (rs6000_darwin64_function_value): New.
3814 (rs6000_function_value): Call it.
3815 * config/rs6000/rs6000.h (FUNCTION_ARG_ADVANCE): Pass depth arg.
3816 * config/rs6000/rs6000-protos.h: Update decl of
3817 function_arg_advance.
3818
1e1b8649
AP
38192004-11-14 Andrew Pinski <pinskia@physics.uc.edu>
3820
3821 PR c/17279
3822 * c-common.c (c_common_nodes_and_builtins): Ask the back-end if we
3823 support TImode before adding __int128_t and __uint128_t types.
3824
d6f6ef21
DN
38252004-11-14 Dorit Naishlos <dorit@il.ibm.com>
3826
3827 PR tree-opt/18400
3828 * tree-vectorizer.c (make_loop_iterate_ntimes): Set loop->nb_iterations.
3829 (vect_transform_loop_bound): Set loop->nb_iterations.
3830
4951c3fd 38312004-11-14 Dorit Naishlos <dorit@il.ibm.com>
7c834753 3832 Andrew Pinski <pinskia@physics.uc.edu>
4951c3fd
DN
3833
3834 PR tree-opt/18425
3835 * tree-vectorize.c (vect_build_loop_niters): Do not insert
3836 NULL into the instruction stream. Initialize new_bb to NULL.
3837 (vect_update_ivs_after_vectorizer): Likewise.
3838 (vect_gen_niters_for_prolog_loop): Likewise.
3839
9beeb4ee
ZD
38402004-11-14 Zdenek Dvorak <dvorakz@suse.cz>
3841
3842 PR tree-optimization/18431
3843 * tree-flow.h (stmt_references_memory_p): Declare.
3844 * tree-ssa-loop-im.c (stmt_cost): Use stmt_references_memory_p.
3845 * tree-ssa.c (stmt_references_memory_p): New function.
3846
fd3fe0a1
AS
38472004-11-14 Andreas Schwab <schwab@suse.de>
3848
3849 * Makefile.in (lambda-code.o, tree-loop-linear.o): Depend on
3850 $(EXPR_H).
3851
29eb4ac9
KH
38522004-11-14 Kazu Hirata <kazu@cs.umass.edu>
3853
3854 * c-common.c (walk_stmt_tree): Remove.
3855 * c-common.h: Remove the corresponding prototype.
3856
c1dc94c4
KH
3857 * emit-rtl.c (push_to_full_sequence): Remove.
3858 * rtl.h: Remove the corresponding prototype.
3859
daa956d0
KH
3860 * cselib.c, expr.c: Fix comment typos.
3861
27e29549
RH
38622004-11-13 Richard Henderson <rth@redhat.com>
3863
3864 * calls.c (precompute_register_parameters): Force all PARALLELs
3865 into pseudo registers.
3866 (load_register_parameters): Copy PARALLELs into hard registers.
3867 * function.c (assign_parm_setup_block): Copy PARALLELS into
3868 pseudo registers. Do emit_group_store in conversion_insns.
3869 * expr.c (emit_group_load_1): Rename from emit_group_load, take
3870 tmps as an argument. Move final copy loop ...
3871 (emit_group_load): ... here. New function.
3872 (emit_group_load_into_temps, emit_group_move_into_temps): New.
3873 * expr.h: Declare them.
3874
eaf0dc02
KH
38752004-11-14 Kazu Hirata <kazu@cs.umass.edu>
3876
3877 * tree-cfg.c, tree-if-conv.c, tree-ssa-loop-ivopts.c,
3878 tree-ssa-loop-manip.c, tree-vectorizer.c: Replace TREE_CHAIN
3879 with PHI_CHAIN where appropriate.
3880
88957e79
DJ
38812004-11-13 Dale Johannesen <dalej@apple.com>
3882
eaf0dc02
KH
3883 * tree-flow.h (bsi_commit_one_edge_insert): Remove name from prototype.
3884 (tree_block_label): Ditto.
3885 (flush_pending_stmts): Ditto.
3886 (insert_edge_copies): Ditto.
3887 (expr_invariant_in_loop_p): Ditto.
3888 (TDF_USE_OPS): Parenthesize definition.
3889 (TDF_USE_VOPS): Ditto.
88957e79 3890
6ca4177c
DE
38912004-11-13 David Edelsohn <edelsohn@gnu.org>
3892
3893 * config/rs6000/aix51.h (ASM_CPU_SPEC): Add 970 and G5.
3894 * config/rs6000/aix52.h (ASM_CPU_SPEC): Same.
ace6d09b 3895 (atoll): Declare.
6ca4177c
DE
3896 * config/rs6000/t-aix52 (BOOT_LDFLAGS): Define.
3897
6716ecbc
JM
38982004-11-14 Joseph Myers <joseph@codesourcery.com>
3899
3900 * config/i386/i386.c (override_options): Move loop to set default
3901 tuning to correct place.
3902
e8112eac
ZK
39032004-11-13 Zak Kipling <zak@transversal.com>
3904
3905 PR target/18300
3906 * config/i386/i386.c (classify_argument): Fix infinite loop when
3907 passing object with 3 or more base classes by value.
3908
595163db
EB
39092004-11-13 Eric Botcazou <ebotcazou@libertysurf.fr>
3910
3911 * doc/md.texi (constraints) <% modifier>: Mention that it is
3912 useless when the two alternatives are strictly identical.
3913
4e36f613
RH
39142004-11-13 Richard Henderson <rth@redhat.com>
3915
3916 * expmed.c (extract_split_bit_field): Temporarily disable call to
3917 extract_force_align_mem_bit_field.
3918
e28d0cfb
KH
39192004-11-13 Kazu Hirata <kazu@cs.umass.edu>
3920
3921 * bitmap.c, bitmap.h, expmed.c, tree-cfg.c: Fix comment
3922 formatting.
3923
1f838355
KH
3924 * c-cppbuiltin.c, cgraph.c, domwalk.h, except.c, gimplify.c,
3925 lambda-code.c, postreload.c, predict.c, tree-sra.c,
3926 tree-ssa-loop-manip.c, tree.c: Fix comment typos.
3927
ae8cacc6
KC
39282004-11-13 Kelley Cook <kcook@gcc.gnu.org>
3929
4c2b2906 3930 * doc/install.texi (automake): Correctly document that everything now
ae8cacc6
KC
3931 will use automake 1.9.3.
3932
85407c3f
HPN
39332004-11-13 Hans-Peter Nilsson <hp@bitrange.com>
3934
3935 PR target/18347
3936 * config/mmix/mmix.c (mmix_function_outgoing_value): Handle
3937 TImode. Sorry for other non-complex larger-than-64-bit modes.
3938 * config/mmix/mmix.h (MIN_UNITS_PER_WORD): Do not define.
3939
993bcda1
KC
39402004-11-13 Kelley Cook <kcook@gcc.gnu.org>
3941
3942 * doc/install.texi (automake): Document that everything now uses 1.9.
3943
32fab725
BS
39442004-11-13 Bernd Schmidt <bernd.schmidt@analog.com>
3945
3946 * cse.c (cse_insn): Stores in a libcall sequence can invalidate
3947 previous loads.
3948
74f4f95c
KH
39492004-11-13 Kazu Hirata <kazu@cs.umass.edu>
3950
3872a0ae 3951 * tree.h: Fix comment typos.
74f4f95c 3952
d67fb775
SB
39532004-11-13 Steven Bosscher <stevenb@suse.de>
3954
3955 * cse.c (CHEAP_REGNO): Redefine using REGNO_PTR_FRAME_P and
3956 HARD_REGISTER_NUM_P.
3957
3958 * cselib.c (new_cselib_val): Make comment correct and more detailed.
3959 * flow.c (mark_set_1): Likewise.
3960
3961 * except.c (duplicate_eh_region_1, duplicate_eh_region_2,
3962 duplicate_eh_regions): Remove.
3963 * except.h (duplicate_eh_regions): Remove prototype.
3964 * integrate.c (get_label_from_map, copy_rtx_and_substitute,
3965 global_const_equiv_varray): Remove.
3966 * integrate.h (get_label_from_map, copy_rtx_and_substitute,
3967 global_const_equiv_varray, set_label_in_map): Remove prototypes,
3968 extern declaration, and #define.
3969 (MAYBE_EXTEND_CONST_EQUIV_VARRAY, SET_CONST_EQUIV_DATA): Remove.
3970 (struct inline_remap): Remove.
3971 * varray.c (struct element): Remove entry for const_equiv_data.
3972 * varray.h (struct const_equiv_data): Remove.
3973 (enum varray_data_enum) <VARRAY_DATA_CONST_EQUIV>: Remove.
3974 (union varray_data_tag) <const_equiv>: Remove.
3975 (VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV,
3976 VARRAY_PUSH_CONST_EQUIV, VARRAY_TOP_CONST_EQUIV): Remove.
3977
3978 * regstack.c (record_label_references): Remove unused function.
3979
3980 * rtl.def (VALUE): Update comment.
3981 (LABEL_REF): Remove unused operand 2.
3982 * rtl.h (struct rtx_def): Update for removed accessor macros.
3983 (XCADVFLAGS, INSN_DEAD_CODE_P, LINE_NUMBER, CONTAINING_INSN,
3984 REG_LOOP_TEST_P): Remove.
3985 (ADDR_DIFF_VEC_FLAGS, CSELIB_VAL_PTR, LABEL_NEXTREF): Add comments.
3986 * web.c (entry_register): Don't copy REG_LOOP_TEST_P.
3987 * doc/rtl.texi (INSN_DEAD_CODE_P, REG_LOOP_TEST_P): Remove.
3988
893e18a5 39892004-11-13 James A. Morrison <phython@gcc.gnu.org>
e8112eac 3990 Eric Botcazou <ebotcazou@libertysurf.fr>
893e18a5
JM
3991
3992 PR target/18230
3993 * config/sparc/sparc.c (sparc_rtx_costs): Handle the NAND vector
3994 patterns.
3995 * config/sparc/sparc.md (V64I): New macro for 64-bit modes.
3996 (V32I): New macro for 32-bit modes.
3997 (anddi3, anddi_sp32, anddi_sp64, and_not_di_sp32, and_not_di_sp64,
3998 iordi3, iordi3_sp32, iordi_sp64, or_not_di_sp32, or_not_di_sp64,
3999 xordi3, xordi3_sp32, xordi3_sp64, {AND, IOR, XOR} DI splitter,
4000 xor_not_di_sp32, xordi_not_di_sp64, one_cmpldi2, one_cmpldi_sp32,
4001 one_cmpldi_sp64): Use V64I instead of DI.
4002 (andsi3, andsi_sp32, andsi_sp64, and_not_si, iorsi3, or_not_si,
4003 xorsi3, xor_not_si, one_cmplsi2): Use V32I instead of SI.
4004 (addv2si3, addv4hi3, addv2hi3): Remove % modifier.
4005 (nandv64i_vis, nandv32i_vis): New patterns.
4006
9d65c5cb
MS
40072004-11-12 Mike Stump <mrs@apple.com>
4008
4009 * Makefile.in: Add html support.
4010 * java/Make-lang.in: Likewise.
4011 * fortran/Make-lang.in: Likewise.
4012 * treelang/Make-lang.in: Likewise.
4013 * doc/install.texi: Likewise.
4014 * doc/makefile.texi: Likewise.
4015 * doc/sourcebuild.texi: Likewise.
4c2b2906 4016
1b33f1cc
KH
40172004-11-13 Kazu Hirata <kazu@cs.umass.edu>
4018
4019 * tree-ssa-loop-manip.c: Fix a comment typo.
4020
061151d1
MS
40212004-11-12 Mike Stump <mrs@apple.com>
4022
4023 * doc/cppinternals.texi (Index): Fix html generation with makeinfo by
4024 renaming this node to Concept Index.
4025 * doc/gccint.texi (Index): Likewise. Also minor formatting tweaks
4026 to more closely match gcc.texi.
4027
92b6dff3
JL
40282004-11-12 Jeff Law <law@redhat.com>
4029
4030 * tree-cfg.c (hashtab.h): Include.
4031 (struct edge_to_case_leader_elt): New structure.
4032 (edge_to_case_leader): New.
4033 (edge_to_case_leader_hash): New hashtable hasing function.
4034 (edge_to_case_leader_eq): New hashtable equality function.
4035 (record_switch_edge): New function.
4036 (get_case_leader_for_edge, get_case_leader_for_edge): New functions.
4037 (make_switch_expr_edges): Build the edge-to-case-leader
4038 hash table. Tear down the hash table when we're done.
4039 (cleanup_dead_labels): Use CASE_LEADER_OR_LABEL instead of
4040 CASE_LABEL.
4041 (tree_node_can_be_shared): Allow sharing of CASE_LABEL_EXPR nodes.
4042 (tree_redirect_edge_and_branch, case SWITCH_EXPR): Update
4043 to use new concept of case leaders to reduce overhead of
4044 redirecting outgoing edges from switch statements.
4045 * tree.c (get_case_label): New function.
4046 * tree.h (CASE_LABEL): Define in terms of get_case_label.
4047 (CASE_LEADER_OR_LABEL): Define.
4048
2256aa1c
ZL
40492004-11-12 Ziemowit Laski <zlaski@apple.com>
4050
4051 * varasm.c (output_addressed_constants): For CONST_DECLs,
4052 output the initializer if present.
4053
0abe4170
ZL
40542004-11-12 Ziemowit Laski <zlaski@apple.com>
4055
4056 * config/rs6000/darwin.h: Fix confusing typo in comment.
4057
ecab6f99
DP
40582004-11-12 Devang Patel <dpatel@apple.com>
4059
4060 * optabs.c (vector_compare_rtx): Use COMPARISON_CLASS_P.
4c2b2906 4061
b3776043
DP
40622004-11-12 Devang Patel <dpatel@apple.com>
4063
4064 * tree-if-conv.c (clean_predicate_lists): Use loop header
4065 and latch directly.
4c2b2906 4066
cc69336f
RH
40672004-11-12 Richard Henderson <rth@redhat.com>
4068
4069 PR 17778
4070 * config/i386/i386.h (TARGET_96_ROUND_53_LONG_DOUBLE): New.
4071 * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
4072 (TARGET_96_ROUND_53_LONG_DOUBLE): New.
4073 * config/i386/i386-modes.def (XF): Use it.
4074
9af12c1b
GK
40752004-11-11 Geoffrey Keating <geoffk@apple.com>
4076
4077 * Makefile.in (macro_list): Use move-if-change to avoid spurious
4078 rebuilds.
4079
0a2695db
MM
40802004-11-12 Mark Mitchell <mark@codesourcery.com>
4081
4082 PR c++/18416
4083 * passes.c (rest_of_decl_compilation): Do not look at DECL_RTL
4084 when deciding whether to pass a variable to
4085 cgraph_varpool_finalize_decl or assemble_variable.
4c2b2906 4086 * toplev.c (check_global_declarations): Do not clear DECL_RTL.
0a2695db 4087
896b242c
KH
40882004-11-12 Kazu Hirata <kazu@cs.umass.edu>
4089
4090 * tree-vectorizer.c: Fix a comment typo.
4091
3d35950b
BS
40922004-11-12 Bernd Schmidt <bernd.schmidt@analog.com>
4093
4094 * genconfig.c (walk_insn_part): Look at match_dups inside a label_ref.
4095
85022b3f
DN
40962004-11-12 Diego Novillo <dnovillo@redhat.com>
4097
4098 * tree-scalar-evolution.c (analyzable_condition): Remove
4099 superfluous TREE_THIS_VOLATILE checks on SSA_NAMEs.
4100
0e03665c
RC
41012004-11-12 Ralf Corsepius <ralf.corsepius@rtems.org>
4102
4103 * config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY):
4104 Remove m505/roe multilib variant.
4105
f58c00e3
EB
41062004-11-12 Eric Botcazou <ebotcazou@libertysurf.fr>
4107
4108 * expr.c (emit_group_load) <CONCAT>: Use extract_bit_field
4109 to load from the stack.
4110
765d98c7
RH
41112004-11-12 Richard Henderson <rth@redhat.com>
4112
4113 * toplev.c (floor_log2): Rename from floor_log2_wide, use CLZ_HWI.
4114 (exact_log2): Rename from exact_log2_wide, use CTZ_HWI.
4115 * toplev.h (FL2T__): Remove.
4116 (CLZ_HWI): Rename from FL2T_CLZ__.
4117 (CTZ_HWI): New.
4118 (floor_log2): Simplify.
4119 (exact_log2): New.
4120
9ba64a4a
SP
41212004-11-12 Sebastian Pop <pop@cri.ensmp.fr>
4122
4123 * tree-data-ref.c (analyze_subscript_affine_affine): Correctly
4124 compute the first overlapping iterations.
4125
41262004-11-12 Sebastian Pop <pop@cri.ensmp.fr>
4127
4128 PR middle-end/18005
4c2b2906 4129 * tree-data-ref.c (estimate_niter_from_size_of_data): Ensure
9ba64a4a
SP
4130 that arguments of EXACT_DIV_EXPR are INTEGER_CST.
4131
d0ce8e4c
SB
41322004-11-12 Steven Bosscher <stevenb@suse.de>
4133
f41f5287 4134 PR tree-optimization/18419
d0ce8e4c
SB
4135 * tree-ssa.c (walk_use_def_chains_1): Make the visited map a
4136 pointer set instead of a bitmap.
4137 (walk_use_def_chains): Create, pass and clean up that pointer_set.
4138
4139 * tree-ssa-alias.c (struct alias_info): Make the ssa_names_visited
4140 field an sbitmap.
4141 (init_alias_info): Allocate and zero it here.
4142 (delete_alias_info): Delete it here.
4143 (collect_points_to_info_for): Use it.
4144
04e2b4d3
KH
41452004-11-11 Kazu Hirata <kazu@cs.umass.edu>
4146
4147 * alias.c (record_alias_subset, addr_side_effect_eval):
4148 Make them static.
4149 * alias.h: Remove the prototype for record_alias_subset.
4150 * expr.h: Remove the commented-out prototype for
4151 record_alias_subset.
4152 * rtl.h: Remove the prototype for addr_side_effect_eval.
4153
a5d3e50d
KH
4154 * cfglayout.c (choose_inner_scope): Make it static.
4155 * rtl.h: Remove the corresponding prototype.
4156
25a6c68b
KH
4157 * cfgloopmanip.c (update_single_exits_after_duplication,
4158 unloop): Make them static.
4159 * cfgloop.h: Remove the corresponding prototypes.
4160
4e2fb7de
KH
4161 * c-typeck.c (c_size_in_bytes, record_maybe_used_decl):
4162 Make them static.
4163 * c-tree.h: Remove the corresponding prototypes.
4164
4dd9b044
KH
4165 * explow.c (round_push): Make it static.
4166 * expr.h: Remove the corresponding prototype.
4167
903676f6
KH
4168 * varasm.c (get_named_section_flags, decl_tls_model): Make
4169 them static.
4170 * output.h: Remove the prototype for get_named_section_flags.
4171 * tree.h: Remove the prototype for decl_tls_model.
4172
526c334b
KH
41732004-11-11 Kazu Hirata <kazu@cs.umass.edu>
4174
4175 * function.c (expand_function_end): Remove an "if" statement
5060342a 4176 that always triggers.
526c334b
KH
4177 * stmt.c (expand_null_return_1): Likewise.
4178
2f71a82e
JW
41792004-11-11 James E. Wilson <wilson@specifixinc.com>
4180
4181 * config/ia64/ia64.h (HARD_REGNO_NREGS): Handle XCmode.
4182 (HARD_REGNO_MODE_OK, MODES_TIEABLE_P, SECONDARY_MEMORY_NEEDED,
4183 CLASS_MAX_NREGS): Likewise.
4184
f8e9d512
ZD
41852004-11-11 Zdenek Dvorak <dvorakz@suse.cz>
4186
4187 PR tree-optimization/17742
4188 * tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle
4189 MINUS_EXPR correctly.
4190
e0afb98a
SP
41912004-11-11 Sebastian Pop <pop@cri.ensmp.fr>
4192
4c2b2906 4193 * tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi):
e0afb98a
SP
4194 Give up as soon as the evolution is known not computable.
4195
e1e2e653
NS
41962004-11-11 Nathan Sidwell <nathan@codesourcery.com>
4197
4198 PR target/16457
4199 * config/rs6000/rs6000.c (mask64_2_operand): Stub to call
4200 mask64_1or2_operand.
4201 (mask64_1or2_operand): Broken out of mask64_2_operand, add flag
4202 to spot rlwinm opportunities.
4203 (and64_2_operand): Use mask_1or2_operand.
4204 * config/rs6000/rs6000.md (anddi3): Use rlwinm when possible.
4205
00803cd5
DN
42062004-11-11 Dorit Naishlos <dorit@il.ibm.com>
4207
4208 * tree-vectorizer.c (update_phi_nodes_for_guard): Call reverse_phis.
4209 (vect_update_ivs_after_vectorizer): Update function documentation.
4210 Avoid quadratic behavior and direct write to PHI_ARG_DEF.
4211
286d28c3
KH
42122004-11-11 Kazu Hirata <kazu@cs.umass.edu>
4213
4214 * config/arm/arm.c: Fix a comment typo.
4215
65a6f342
NS
42162004-11-11 Nathan Sidwell <nathan@codesourcery.com>
4217
4218 * bitmap.h (nBITMAP_WORD_BITS): Remove.
4219 (BITMAP_WORD_BITS): Force unsigned by use of 1u.
4220 (BITMAP_ELEMENT_WORDS, BITMAP_ELEMENT_ALL_BITS): Remove
4221 unnecessary casts.
4222 (bitmap_first_set_bit): Return unsigned, use ctzl.
4223 (bitmap_last_set_bit): Remove.
4224 * bitmap.c (bitmap_element_zerop, bitmap_copy): Make iterator
4225 unsigned.
4226 (bitmap_first_set_bit): Return unsigned, require non-empty bitmap,
4227 remove special case code for two word elements.
4228 (bitmap_last_set_bit): Remove.
4229 * ra-build.c (livethrough_conflicts_bb): Replace unnecessary use of
4230 bitmap_first_set_bit with bitmap_empty_p.
4231 * tree-outof-ssa.c (analyze_edges_for_bb): Likewise.
4232 * tree-ssa-pre.c (bitmap_print_value): Use simple flag rather than
4233 bitmap_last_bit_set.
4234
60934f9c
NS
42352004-11-11 Nathan Sidwell <nathan@codesourcery.com>
4236
2f4d9502
NS
4237 PR target/16796
4238 * config/rs6000/rs6000.md: Add DF & SF reg move peepholes.
4239
60934f9c
NS
4240 PR target/16458
4241 * config/rs6000/rs6000.c (rs6000_generate_compare): Generate an
4242 unsigned equality compare when we know the operands are unsigned.
4243
dc316086
PM
42442004-11-10 Peter S. Mazinger <ps.m@gmx.net>
4245
4246 * config/mips/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Define
4247 __PIC__ and __pic__ only if TARGET_ABICALLS.
4248 (SUBTARGET_CPP_SPECS): Don't define or undefine __PIC__ and __pic__.
4249 (SUBTARGET_ASM_SPECS): Don't pass -non_shared to assembler; pass
4250 -KPIC only if not -mno-abicalls.
4251
4252 * config/alpha/linux.h, config/arm/linux-elf.h, config/pa/pa-linux.h
4253 * config/sparc/linux.h, config/sparc/linux64.h
4254 (TARGET_OS_CPP_BUILTINS): Define __PIC__ and __pic__ if flag_pic.
4255
4256 * config/arm/linux-gas.h (CPP_SPEC): Don't define __PIC__ or __pic__.
4257 * config/pa/pa/linux.h (CPP_SPEC): Likewise.
4258 * config/sparc/linux.h (CPP_SUBTARGET_SPEC): Likewise.
4259 * config/sparc/linux64.h (CPP_SUBTARGET_SPEC): Likewise.
4260
cfa01aab
PB
42612004-11-11 Paul Brook <paul@codesourcery.com>
4262
4263 * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Save PIC
4264 register if current_function_uses_pic_offset_table is set.
4265
943c15ed
DE
42662004-11-10 David Edelsohn <edelsohn@gnu.org>
4267
4268 * config/rs6000/rs6000.md (define_attr "type"): Add two and three.
4269 Change multi-instruction sequences to new attribute.
4270 * config/rs6000/{40x.md,440.md,603.md,6xx.md,
4271 7450.md,7xx.md,8540.md,mpc.md,power4.md,power5.md,
4272 rios1.md,rios2.md,rs64.md}: Add descriptions for two and three.
4273
8b41b1b2
DB
42742004-11-10 Daniel Berlin <dberlin@dberlin.org>
4275
4276 * tree-data-ref.c (build_classic_dist_vector): If either loop
4277 is outside of the nest we asked about, the dependence can't
dc316086 4278 matter.
8b41b1b2
DB
4279 (build_classic_dir_vector): Ditto.
4280
7299dbfb
ZD
42812004-11-10 Zdenek Dvorak <dvorakz@suse.cz>
4282
4283 * tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in
4284 right order.
4285 (force_var_cost): Determine cost of addition and multiplication more
4286 precisely.
4287 (get_computation_cost_at): Add cost for computing address elements to
4288 the final cost.
4289
4290 * fold-const.c (fold): Attempt to use ptr_difference_const whenever
4291 one of the arguments of MINUS_EXPR is an address.
4292 (split_address_to_core_and_offset): New function.
4293 (ptr_difference_const): Handle case when one of the operands is a
4294 pointer.
4295 * tree-ssa-loop-ivopts.c (determine_base_object): Fold &*addr.
4296 (ptr_difference_cost): Pass addresses instead of objects to
4297 ptr_difference_const.
4298
ea1763b1
NS
42992004-11-10 Nathan Sidwell <nathan@codesourcery.com>
4300
4301 * tree.c (tree_check_failed): Emit general error if the list of
4302 node types is empty.
4303
22d8d627
EB
43042004-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
4305
4306 * config/sparc/sparc.c (function_arg_union_value): New 'slotno'
4307 argument. When the union is passed in the 6th slot, build a
4308 PARALLEL with only one element.
4309 (function_arg): Adjust call to function_arg_union_value.
4310 (function_value): Likewise.
4311
d05f9c39
FJ
43122004-11-10 Fariborz Jahanian <fjahanian@apple.com>
4313
4314 PR tree-optimization/17892
cfa01aab 4315 * tree-ssa-dom.c (unsafe_associative_fp_binop): Add test for
d05f9c39
FJ
4316 MINUS_EXPR operator.
4317
8393a290
JM
43182004-11-10 James A. Morrison <phython@gcc.gnu.org>
4319
4320 PR target/18230
f11edb4a 4321 config/sparc/sparc.md (addsi3, subsi3): Set "fptype" attribute.
8393a290
JM
4322 (addv2si, addv4hi, addv2hi, subv2si, subv4hi, subv2hi): New patterns.
4323
dda49b66
SB
43242004-11-10 Steven Bosscher <stevenb@suse.de>
4325
4326 * basic-block.h (XMALLOC_REG_SET, XFREE_REG_SET): New.
4327 (struct basic_block_def): Remove local_set and cond_local_set
4328 fields. Update comment for global_live_at_start.
4329 * flow.c (calculate_global_regs_live): Allocate local_sets and
4330 cond_local_sets here as arrays of bitmaps previously stored in
4331 bb->local_set and bb->cond_local_set. Use xmalloc instead of
4332 obstack allocated bitmaps.
4333
780f9446
L
43342004-11-09 H.J. Lu <hongjiu.lu@intel.com>
4335
4336 PR target/18380
4337 * config/ia64/unwind-ia64.h (_Unwind_FindTableEntry): Mark it
4338 hidden.
4339
4340 * unwind-dw2.c (_Unwind_FindTableEntry): Removed.
4341
24c75ec6
JL
43422004-11-09 Jeff Law <law@redhat.com>
4343
4344 * cfganal.c (flow_dfs_compute_reverse_execute): Accept new
4345 argument holding last unvisited block. Start search for
4346 unvisited blocks at LAST_UNVISITED rather than EXIT_BLOCK.
4347 (connect_infinite_loops_to_exit): Supply last unvisited block
4348 to flow_dfs_compute_reverse_execute.
4349
99176a91
AH
43502004-10-22 Aldy Hernandez <aldyh@redhat.com>
4351
4352 * config/rs6000/rs6000.md (fix_truncdfsi2): Handle e500
4353 doubles.
4354 (floatunssidf2): Same.
4355 (floatsidf2): Same.
4356 ("extendsfdf2"): New expander.
4357 (*extendsfdf2_fpr): Rename.
4358 (*truncdfsf2_fpr): Same.
4359 (*negdf2_fpr): Same.
4360 (*absdf2_fpr): Same.
4361 (*nabsdf2_fpr): Same.
4362 (*adddf3_fpr): Same.
4363 (*subdf3_fpr): Same.
4364 (*muldf3_fpr): Same.
4365 (*divdf3_fpr): Same.
4366
4367 * config/rs6000/spe.md ("spe_extendsfdf2"): Remove FIXME comment.
4368 ("spe_fix_truncdfsi2"): Same.
4369 (spe_floatunssidf2): Same.
4370 (spe_floatsidf2): Same.
4371
8b17a9d6
JM
43722004-11-09 Joseph S. Myers <joseph@codesourcery.com>
4373
4374 PR c/18322
4375 * c-common.c (fname_decl): Don't use line number of decl in
4376 diagnostic.
4377
e221ef54
UW
43782004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
4379
4380 * config/s390/s390-protos.h (s390_pool_operand): Remove.
4381 * config/s390/s390.c (s390_pool_operand): Likewise.
4382 (s390_extra_constraint_str): Handle 'B' constraints.
4383 * config/s390/s390.h (CONSTRAINT_LEN): Handle 'B' constraints.
4384 * config/s390/s390.md: Document 'B' constraints.
4385 ("*cmpdi_cct", "*cmpsi_cct"): Use 'B' constraint instead of
4386 s390_pool_operand to prevent insns with two literal pool
4387 references. Make pattern commutative.
4388 ("*cmpdi_ccu", "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use
4389 'B' constraint instead of s390_pool_operand.
4390
27fd69fa
KH
43912004-11-09 Kazu Hirata <kazu@cs.umass.edu>
4392
4393 * tree-cfg.c (create_bb): Remove unnecessary memset.
4394
6c99d79f
KH
43952004-11-09 Kazu Hirata <kazu@cs.umass.edu>
4396
4397 * tree-ssa-threadupdate.c (copy_phis_to_block): Remove.
4398 (thread_block): Call flush_pending_stmt instead of
4399 copy_phis_to_block.
4400
e3715ebd
KH
44012004-11-09 Kazu Hirata <kazu@cs.umass.edu>
4402
4403 * loop-iv.c (iv_number_of_iterations): Make it static.
4404 * cfgloop.h: Remove the corresponding prototype.
4405
6fe79279
KH
44062004-11-09 Kazu Hirata <kazu@cs.umass.edu>
4407
4408 * function.c (combine_temp_slots, assign_parms,
4409 expand_pending_sizes): Make them static.
4410 * tree.h: Remove the corresponding prototypes.
4411
3f5d8b4b
KH
44122004-11-09 Kazu Hirata <kazu@cs.umass.edu>
4413
4414 * emit-rtl.c (copy_most_rtx): Remove.
4415 * rtl.h: Remove the corresponding prototype.
4416
9d3fe355
KH
44172004-11-09 Kazu Hirata <kazu@cs.umass.edu>
4418
4419 * cfgloop.c (flow_loops_update): Remove.
4420 * cfgloop.h: Remove the corresponding prototype.
4421
2223a998
KH
44222004-11-09 Kazu Hirata <kazu@cs.umass.edu>
4423
4424 * conflict.c (mark_reg, conflict_graph_compute): Remove.
4425 * basic-block.h: Remove the prototype for
4426 conflict_graph_compute.
4427
9965c9c7
KH
44282004-11-09 Kazu Hirata <kazu@cs.umass.edu>
4429
4430 * tree-if-conv.c (add_to_dst_predicate_list): Change the
4431 second argument to basic_block.
4432 (tree_if_convert_cond_expr): Update call sites.
4433
49995c8e
KH
44342004-11-09 Kazu Hirata <kazu@cs.umass.edu>
4435
4436 * fold-const.c (pedantic_non_lvalue): Make it static.
4437 * tree.h: Remove the corresponding prototype.
4438
6db0fb0e
KH
44392004-11-09 Kazu Hirata <kazu@cs.umass.edu>
4440
4441 * optabs.c (prepare_operand): Make it static.
4442 * optabs.h: Remove the corresponding prototype.
4443
bf9a0db3
KH
44442004-11-09 Kazu Hirata <kazu@cs.umass.edu>
4445
4446 * reload1.c (reloads_conflict, gen_reload): Make them static.
4447 * reload.h: Remove the corresponding prototypes.
4448
10015a27
KH
44492004-11-09 Kazu Hirata <kazu@cs.umass.edu>
4450
4451 * reload.c (refers_to_mem_for_reload_p,
4452 refers_to_regno_for_reload_p): Make them static.
4453 * reload.h: Remove the corresponding prototypes.
4454
c75d6010 44552004-11-09 James A. Morrison <phython@gcc.gnu.org>
dc316086 4456 Eric Botcazou <ebotcazou@libertysurf.fr>
c75d6010
JM
4457
4458 PR target/18230
4459 * doc/md.texi (SPARC constraints): Document 'Y' constraint.
4460 * config/sparc/sparc-modes.def: Add vector modes of 4 and 8 bytes.
4461 * config/sparc/sparc.c (sparc_vector_mode_supported_p): New function.
4462 (TARGET_VECTOR_MODE_SUPPORTED_P): Set to sparc_vector_mode_supported_p.
4463 (fp_zero_operand): Accept MODE_VECTOR_INT modes.
4464 (input_operand): Accept CONST_VECTOR with MODE_VECTOR_INT modes.
4465 (sparc_cannot_force_const_mem): Return false for CONST_VECTOR.
4466 (sparc_init_modes): Set sparc_mode_class to SF_MODE or DF_MODE for
4467 MODE_VECTOR_INT modes.
4468 (sparc_extra_constraint_check): Add new constraint 'Y'.
4469 * config/sparc/sparc.h: Define UNITS_PER_SIMD_WORD to 8 for TARGET_VIS.
4470 * config/sparc/sparc.md (V32): New mode macro for 32-bit modes.
4471 (V64): New mode macro for 64-bit modes.
4472 (movsf): Use V32 for mode instead of SF.
4473 (movsf_insn_vis): Use V32 for mode instead of SF. Add 'Y' constraint
4474 alongside 'G' constraint.
4475 (movdf): Use V64 for mode instead of DF.
4476 (movdf_insn_v9only_vis, modf_insn_sp64_vis): Use V64 for mode instead
4477 of DF. Add 'Y' constraint alongside 'G' constraint.
4478 (multi-isn and misaligned mems DFmode splitters): Use V64 for mode
4479 instead of DF.
4480
26a89301
UW
44812004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
4482
4483 * config/s390/s390.c (s390_select_ccmode): Return CCAPmode for
4484 integer NEG and ABS.
4485 * config/s390/s390.md ("*negdi2_64"): Fix op_type attribute.
4486 ("*negdi2_31"): Reimplement using a splitter.
4487 ("*negdi2_cc", "*negdi2_cconly"): New insns.
4488 ("*negdi2_sign", "*negdi2_sign_cc"): Likewise.
4489 ("*negsi2_cc", "*negsi2_cconly"): Likewise.
4490 ("*negdf2_cc", "*negdf2_cconly"): Likewise.
4491 ("*negsf2_cc", "*negsf2_cconly"): Likewise.
4492 ("*absdi2_cc", "*absdi2_cconly"): New insns.
4493 ("*absdi2_sign", "*absdi2_sign_cc"): Likewise.
4494 ("*abssi2_cc", "*abssi2_cconly"): Likewise.
4495 ("*absdf2_cc", "*absdf2_cconly"): Likewise.
4496 ("*abssf2_cc", "*abssf2_cconly"): Likewise.
4497 ("*negabsdi2_cc", "*negabsdi2_cconly"): New insns.
4498 ("*negabsdi2_sign", "*negabsdi2_sign_cc"): Likewise.
4499 ("*negabssi2_cc", "*negabssi2_cconly"): Likewise.
4500 ("*negabsdf2_cc", "*negabsdf2_cconly"): Likewise.
4501 ("*negabssf2_cc", "*negabssf2_cconly"): Likewise.
4502
02887425
UW
45032004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
4504
4505 * config/s390/s390.c (s390_canonicalize_comparison): Reverse condition
4506 when eliminating an UNSPEC_CMPINT.
4507 (s390_secondary_input_reload_class): Fix test for CC register reload.
4508 (s390_secondary_output_reload_class): Likewise.
dc316086 4509 (s390_expand_cmpmem): Swap operands. Use gen_cmpint.
02887425
UW
4510 * config/s390/s390.md ("*cmpint_si", "*cmpint_di"): Remove.
4511 ("cmpint", "*cmpint_cc", "*cmpint_sign", "*cmpint_sign_cc"): New
4512 insn patterns with splitters.
4513
c0600ecd
DE
45142004-11-09 David Edelsohn <edelsohn@gnu.org>
4515
4516 * config/rs6000/rs6000.c (rs6000_rtx_costs): Add EQ, GTU, and LTU.
4517 * config/rs6000/rs6000.md (sCC): Split GTU and LTU patterns.
4518
5ae71719
KH
45192004-11-09 Kazu Hirata <kazu@cs.umass.edu>
4520
4521 * tree-phinodes.c (phi_reverse): New.
4522 * tree-cfg.c (tree_make_forwarder_block, tree_duplicate_bb):
4523 Use it.
4524 * tree-flow.h: Add a prototype for phi_reverse.
4525
a0eca485
KH
45262004-11-09 Kazu Hirata <kazu@cs.umass.edu>
4527
4528 * tree-ssa-loop-ivopts.c: Fix a comment typo.
4529
45302004-11-09 James A. Morrison <phython@gcc.gnu.org>
37d060a3
JM
4531
4532 PR pch/14940
4533 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __sparc__
4534 definitions.
4535
40b97a2e
JM
45362004-11-09 Joseph S. Myers <joseph@codesourcery.com>
4537
4538 * builtins.c, c-common.c, c-decl.c, c-format.c: Say "argument"
4539 instead of "arg" in diagnostics.
4540
9e637a26
JM
45412004-11-09 Joseph S. Myers <joseph@codesourcery.com>
4542
4543 * builtins.c, c-common.c, c-decl.c, c-format.c, c-format.h,
4544 c-parse.in, c-pch.c, c-pragma.c, collect2.c, final.c, gcc.c,
4545 gcov.c, opts.c, pretty-print.h, protoize.c, reg-stack.c, rtl.c,
4546 tlink.c, config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
4547 config/avr/avr.c, config/c4x/c4x.c, config/darwin.c,
4548 config/frv/frv.c, config/h8300/h8300.c, config/i386/i386.c,
4549 config/i386/winnt.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
4550 config/iq2000/iq2000.c, config/m32r/m32r.c,
4551 config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/m68k/m68k.h,
4552 config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.c,
4553 config/ns32k/ns32k.c, config/rs6000/host-darwin.c,
4554 config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c,
4555 config/sh/symbian.c, config/stormy16/stormy16.c,
4556 config/v850/v850.c: Avoid "`" as left quote, using "'" or %q, %<
4557 and %> as appropriate. Use %' as apostrophe in diagnostics where
4558 applicable. Use %< and %> in place of '' quotes where applicable.
4559 Use %qs in place of %<%s%>. Consistently quote __builtin function
4560 names.
4561
55a9c4b2
HPN
45622004-11-09 Hans-Peter Nilsson <hp@bitrange.com>
4563
4564 * gdbinit.in (pbb, pbm): New macros.
4565
df95526b
JL
45662004-11-08 Jeff Law <law@redhat.com>
4567
4568 * cfg.c (redirect_edge_succ_nodup): Use find_edge rather than
4569 implementing it inline.
4570
4571 * cfganal.c (find_edge): Search pred->succs or succ->preds,
4572 whichever is shorter.
4573
68e4debe
KH
45742004-11-08 Kazu Hirata <kazu@cs.umass.edu>
4575
4576 * passes.c (rest_of_handle_jump): Remove dead code.
4577
31864f59
KH
45782004-11-08 Kazu Hirata <kazu@cs.umass.edu>
4579
4580 * tree-cfg.c (thread_jumps): Speed up by keeping a pointer to
4581 the last used element in the worklist.
4582
892c7e1e
KH
45832004-11-08 Kazu Hirata <kazu@cs.umass.edu>
4584
4585 * tree-inline.c (remap_save_expr): Make it static.
4586 * tree-inline.h: Remove the corresponding prototype.
4587
e1a8be3f
KH
45882004-11-08 Kazu Hirata <kazu@cs.umass.edu>
4589
4590 * tree-ssa-loop-niter.c (upper_bound_in_type,
4591 lower_bound_in_type): Make them static.
4592 * tree.h: Remove the corresponding prototypes.
4593
1d9d8683
KH
45942004-11-08 Kazu Hirata <kazu@cs.umass.edu>
4595
4596 * tree-ssa-live.c (tpa_init, pop_best_coalesce): Make them
4597 static.
4598 * tree-ssa-live.h: Remove the corresponding prototypes.
4599
a1d3c05c
KH
46002004-11-08 Kazu Hirata <kazu@cs.umass.edu>
4601
4602 * tree-if-conv.c (tree_if_conversion): Make it static.
4603 * tree-flow.h: Remove the corresponding prototype.
4604
d05eae88
KH
46052004-11-08 Kazu Hirata <kazu@cs.umass.edu>
4606
4607 * tree-ssa-operands.c (build_ssa_operands): Make it static.
4608 * tree-flow.h: Remove the corresponding prototype.
4609
b03c0b93
AP
46102004-11-08 Andrew Pinski <pinskia@physics.uc.edu>
4611
4612 PR tree-opt/18299
4613 * tree-inline.c (copy_body_r): Change "t = t" to empty
4614 statement instead of "t".
4615
c16162ad
KH
46162004-11-08 Kazu Hirata <kazu@cs.umass.edu>
4617
4618 * modulo-sched.c (create_partial_schedule,
4619 free_partial_schedule, reset_partial_schedule,
4620 ps_add_node_check_conflicts, rotate_partial_schedule): Make
4621 them static.
4622
14c8e213
RH
46232004-11-08 Richard Henderson <rth@redhat.com>
4624
4625 * expmed.c (extract_force_align_mem_bit_field): Correct handling at
4626 the end of a page.
4627
c66a4368
KH
46282004-11-08 Kazu Hirata <kazu@cs.umass.edu>
4629
4630 * sched-deps.c (add_insn_mem_dependence): Make it static.
4631 * sched-int.h: Remove the corresponding prototypes.
4632
60580286
KH
46332004-11-08 Kazu Hirata <kazu@cs.umass.edu>
4634
4635 * flow.c (allocate_bb_life_data): Make it static.
4636 * basic-block.h: Remove the corresponding prototype.
4637
2f2b4a02
KH
46382004-11-08 Kazu Hirata <kazu@cs.umass.edu>
4639
4640 * calls.c (split_complex_values, split_complex_types): Make
4641 them static.
4642 * expr.h: Remove the corresponding prototypes.
4643
7bff66a7
RE
46442004-11-08 Richard Earnshaw <rearnsha@arm.com>
4645
4646 * arm.c (arm_handle_notshared_attribute): Wrap declaration and use
4647 with #if TARGET_DLLIMPORT_DECL_ATTRIBUTES.
4648
1b7cd4a5
KH
46492004-11-08 Kazu Hirata <kazu@cs.umass.edu>
4650
4651 * tree-if-conv.c (tree_if_convert_cond_expr): Remove two "if"
4652 statements that always trigger.
4653
bb29d951
KH
46542004-11-08 Kazu Hirata <kazu@cs.umass.edu>
4655
4656 * tree-cfg.c, tree-if-conv.c, tree-into-ssa.c,
4657 tree-scalar-evolution.c, tree-ssa-loop-im.c,
4658 tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa.c,
4659 tree-vectorizer.c: Replace TREE_CHAIN with PHI_CHAIN where
4660 appropriate.
4661
1590235e
BE
46622004-11-08 Ben Elliston <bje@au.ibm.com>
4663
4664 * cgraph.h (cgraph_calls_p): Remove.
4665 * cgraph.c (cgraph_calls_p): Likewise.
4666
4667 * varray.h (varray_copy): Remove.
4668 * varray.c (varray_copy): Likewise.
4669
b8a55285
AP
46702004-11-07 Andrew Pinski <pinskia@physics.uc.edu>
4671
4672 PR target/18269
4673 * config/darwin.c (machopic_indirect_data_reference):
4674 Call gen_macho_high and gen_macho_low instead of
4675 checking the mode and calling gen_macho_high_di directly.
4676 * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
4677 * config/rs6000/rs6000.md: Move most of TARGET_MACHO expand/insns
4678 to darwin.md.
4679 (movdf_low, movsf_low, movsf_low_st, movsi_low, macho_correct_pic,
4680 load_macho_picbase, macho_low, macho_high): Removed.
4681 (builtin_setjmp_receiver): Call gen_macho_high and
4682 gen_macho_low instead of checking the mode and calling
4683 gen_macho_high_di directly.
4684 * config/rs6000/darwin.md (load_macho_picbase_di): Use the MD constant.
4685 (movdf_low_si, movsf_low_si, movsf_low_st_si, movsi_low_st):
4686 Moved from rs6000.md.
4687 (macho_high): New expander.
4688 (macho_high_si): Renamed version of macho_high from rs6000.md.
4689 (macho_low): New expander.
4690 (macho_low_si): Renamed version of macho_low from rs6000.md.
4691 (load_macho_picbase): New expander.
4692 (load_macho_picbase_si): Renamed version of load_macho_picbase
4693 from rs6000.md.
4694 (macho_correct_pic): New expander.
4695 (macho_correct_pic_si): Renamed version of macho_correct_pic
4696 from rs6000.md.
4697
cc0b9d52
JM
46982004-11-07 Joseph S. Myers <joseph@codesourcery.com>
4699
4700 * c-decl.c (finish_struct): Use complete sentences for diagnostic
4701 for structures or unions with no members or named members.
4702
abb54d14
JM
47032004-11-07 Joseph S. Myers <joseph@codesourcery.com>
4704
4705 * c-typeck.c (build_unary_op): Replace unreachable diagnostic for
4706 taking address of bit-field by assertion.
4707
b628bd8e
UW
47082004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
4709
4710 * config/s390/s390.md (attribute "op_type"): Default to "NN".
4711 (attribute "atype"): Default to "agen".
4712 (attribute "length"): Default to 6.
4713 (define_asm_attibutes): Remove.
4714 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
4715 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf",
4716 "*clc", "*mvc", "*nc", "*oc", "*xc", "*xc_zero"):
4717 Do not set type attribute to "cs" where already default.
4718 ("*cmpint_si", "*cmpint_di", "fix_truncdfsi2_ibm", "floatsidf2_ibm",
4719 "*negdi2_31"):
4720 Do not set type attribute to "other" where already default.
dc316086 4721 ("movti", "*movdi_64", "*movdi_31", "*movdf_31",
b628bd8e
UW
4722 "*strlendi", "*strlensi",
4723 "*movmem_long_64", "*movmem_long_31",
4724 "*clrmem_long_64", "*clrmem_long_31",
4725 "*cmpmem_long_64", "*cmpmem_long_31",
dc316086
PM
4726 "*cmpint_si", "*cmpint_di",
4727 "addti3", "*adddi3_31z", "*adddi3_31",
b628bd8e
UW
4728 "subti3", "*subdi3_31z", "*subdi3_31", "*negdi2_31",
4729 "*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg",
4730 "fix_truncdfsi2_ibm", "floatsidf2_ibm", "extendsfdf2_ibm",
4731 "*pool_entry", "pool_align", "pool_section_start",
4732 "pool_section_end", "main_pool", "reload_base_31", "pool"):
4733 Do not set op_type attribute to "NN" where already default.
dc316086 4734 ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
b628bd8e 4735 "*zero_extendqisi2_31", "*zero_extendqihi2_31",
dc316086 4736 "fix_truncdfsi2_ibm", "floatsidf2_ibm"):
b628bd8e
UW
4737 Do not set atype attribute to "agen" where already default.
4738 ("*movmem_short", "*clrmem_short", "*cmpmem_short"): Don't set op_type.
4739
58368ea7
RS
47402004-11-06 Richard Sandiford <rsandifo@redhat.com>
4741
4742 * config/mips/t-iris6 (tp-bit.c): Fix target filename.
4743
28e9a3f3
RS
47442004-11-06 Richard Sandiford <rsandifo@redhat.com>
4745
4746 PR target/16830
4747 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define the
4748 R3000 and R4000 macros on IRIX.
4749
3c871f3f
AS
47502004-11-06 Andreas Schwab <schwab@suse.de>
4751
4752 PR target/16286
4753 * config/rs6000/altivec.h: Replace bool by __bool and pixel by
4754 __pixel.
4755
5bd92c6d
KH
47562004-11-06 Kazu Hirata <kazu@cs.umass.edu>
4757
4758 * tree-ssa-copyrename.c (rename_ssa_copies): Make it static.
4759
29a74354
UW
47602004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
4761
4762 * config/s390/2064.md ("z_int", "z_agen"): Ensure the condition
4763 matches no insns already matched by other reservations.
4764 * config/s390/2084.md ("x_int", "x_agen"): Ensure the condition
4765 matches no insns already matched by other reservations.
4766 ("x_ss"): Remove, replace by ...
4767 ("x_cs"): ... this new reservation. Check type instead of op_type.
4768 Update bypasses to use x_cs instead of x_ss.
4769 ("x_nn"): Remove, replace by ...
4770 ("x_other"): ... this new reservation. Check type instead of op_type.
4771 Add x_other and x_branch to bypasses.
4772 ("x_vs"): New reservation.
4773 * config/s390/s390.md (attribute "type"): Default according to op_type.
4774 ("*execute"): Set type to "cs".
4775
703201ea
KH
47762004-11-06 Kazu Hirata <kazu@cs.umass.edu>
4777
4778 * fold-const.c (non_lvalue): Don't construct NON_LVALUE_EXPR
4779 if we are in GIMPLE.
4780
194acded
HPN
47812004-11-06 Hans-Peter Nilsson <hp@bitrange.com>
4782
4783 PR rtl-optimization/17933
4784 * rtlanal.c (dead_or_set_regno_p): Break out common code to...
4785 (covers_regno_p): New function. Handle SETs of PARALLEL,
4786 and defer the rest to...
4787 (covers_regno_no_parallel_p): New function.
4788
bb05e341
EB
47892004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr>
4790
4791 * config/sparc/sparc.c (function_arg_record_value_1): Skip
4792 fields with zero length.
4793 (function_arg_record_value_2): Likewise.
4794 (function_arg_record_value_3): Use smallest_mode_for_size
4795 instead of mode_for_size.
4796 (function_arg_union_value): Return naked register for unions
4797 with zero length.
4798
45261626
EB
47992004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr>
4800
4801 * config/sparc/sparc.c (scan_record_type): Handle vector types.
4802 (function_arg_slotno): Handle vector types specially.
4803 (function_arg_record_value_1): Split fields with vector type and
4804 BLKmode into their subparts.
4805 (function_arg_record_value_2): Likewise. Be prepared to handle
4806 more than 2 registers per field.
4807 (function_arg_union_value): Increment regno inside the loop.
4808 (function_arg_vector_value): New function.
4809 (function_arg): Use it to split fields with vector type and
4810 BLKmode into their subparts and build a PARALLEL. Treat
4811 other vector types like floats.
4812 (function_value): Likewise.
4813 (sparc_pass_by_reference): Handle vector types.
4814 (sparc_return_in_memory): Likewise.
4815
08d93024
KH
48162004-11-06 Kazu Hirata <kazu@cs.umass.edu>
4817
4818 * tree-cfg.c (find_taken_edge_cond_expr): Remove an "if"
4819 statement that never triggers.
4820
a036c6f7
UW
48212004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
4822
4823 * config/s390/2064.md ("z_o2", "z_o3"): Remove.
4824 * config/s390/2084.md ("x_o2", "x_o3"): Remove.
4825 ("x_fdivd"): Use also for fsqrtd type.
4826 ("x_fdivs"): Use also for fsqrts type.
4827 * config/s390/s390.md (attribute "type"): Remove "o2" and "o3" types.
4828 ("fix_truncdfsi2_ieee"): Set type to "ftoi".
4829 ("fix_truncdfsi2_ibm"): Set type to "other".
4830 ("floatdidf2", "floatdisf2"): Do not clobber CC.
4831 ("floatsidf2", "floatsidf2_ieee"): Likewise.
4832 ("floatsisf2", "floatsisf2_ieee"): Likewise.
4833 ("truncdfsf2", "truncdfsf2_ieee"): Only allow "register_operand".
4834 ("truncdfsf2_ibm"): Only allow "nonimmediate_operand". Use LER
dc316086 4835 instead of LRER.
a036c6f7
UW
4836 ("extendsfdf2_ibm"): Do not set atype. Set type to "floads".
4837 ("sqrtdf2"): Set type to "fsqrtd".
4838 ("sqrtsf2"): Set type to "fsqrts".
4839
b2c24c1b
KH
48402004-11-06 Kazu Hirata <kazu@cs.umass.edu>
4841
4842 * tree-phinodes.c (remove_all_phi_nodes_for): Speed up using a
4843 pointer to the last PHI node in the new PHI chain.
4844
b741fa00
KK
48452004-11-06 Kaz Kojima <kkojima@gcc.gnu.org>
4846
4847 * config/sh/sh.c (prepare_move_operands): Emit a use of r12
4848 for non-PIC TLS_MODEL_INITIAL_EXEC case.
4849
68daef2a
KH
48502004-11-06 Kazu Hirata <kazu@cs.umass.edu>
4851
4852 * expmed.c: Fix a comment typo.
4853
c37780f5
AL
48542004-11-06 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
4855
4856 PR target/18106
4857 * config/i386/cygming.h
4858 [HAVE_GAS_WEAK] (ASM_WEAKEN_LABEL): Macro defined.
4859
f1f76fab
KH
48602004-11-06 Kazu Hirata <kazu@cs.umass.edu>
4861
4862 * config/sh/sh4a.md: Fix copyright.
4863
713e31f4
KH
48642004-11-06 Kazu Hirata <kazu@cs.umass.edu>
4865
4866 * config/rs6000/darwin.md, config/sh/sh4a.md: Replace GNU CC
4867 with GCC.
4868
c9dbf840
DE
48692004-11-05 David Edelsohn <edelsohn@gnu.org>
4870
4871 * config/rs6000/rs6000.md (scc patterns): Replace subfc with subf
4872 when carry not used. Suggested by Torbjorn Granlund.
4873
4874 * config/rs6000/rs6000.c (rs6000_emit_move): Don't force_reg
4875 operand[1] unnecessarily. Suggested by Eric Christopher.
4876 (rs6000_adjust_cost): Increase latency of store to wider load.
4877 (rs6000_rtx_costs): mulli only allows 16-bit constants.
4878
3d0e2d58
SS
48792004-11-05 Stan Shebs <shebs@apple.com>
4880
4881 * config/rs6000/rs6000.c (machopic_output_stub): Output
4882 ldu instead of lwzu for 64-bit stubs.
4883
9f7d06d6
RH
48842004-11-05 Richard Henderson <rth@redhat.com>
4885
4886 * config/alpha/alpha.c (alpha_expand_unaligned_load): Special case
4887 size 2 with BWX.
4888 (alpha_expand_unaligned_store): Likewise.
4889
abb73f90
RH
48902004-11-05 Richard Henderson <rth@redhat.com>
4891
4892 * expmed.c (extract_force_align_mem_bit_field): New.
4893 (extract_split_bit_field): Call it.
4894
f526a3c8
RH
48952004-11-05 Richard Henderson <rth@redhat.com>
4896
4897 * ia64.md (UNSPEC_SHRP): New.
4898 (dshift_count_operand): New.
4899 (ashrti3, ashrti3_internal, lshrti3, lshrti3_internal, shrp): New.
4900 * ia64.c (rtx_needs_barrier): Handle UNSPEC_SHRP.
4901
0a880880
JM
49022004-11-05 Joseph S. Myers <joseph@codesourcery.com>
4903
4904 * c-typeck.c (output_init_element): Return early if value is
4905 error_mark_node.
4906
83338d15
JW
49072004-11-05 James E Wilson <wilson@specifixinc.com>
4908
ddd8e3ca
JW
4909 * invoke.texi (-fno-guess-branch-probability): Rewrite.
4910
83338d15
JW
4911 * config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC_GR_SPILL): Change
4912 1 to UNSPEC_GR_SPILL.
4913
ffdda752
AK
49142004-11-05 Andreas Krebbel <krebbel1@de.ibm.com>
4915
4916 * config/s390/s390.c (s390_fixed_condition_code_regs): New function.
4917 (TARGET_FIXED_CONDITION_CODE_REGS): Macro defined.
4918
0cde4a2c
NS
49192004-11-05 Nathan Sidwell <nathan@codesourcery.com>
4920
88c4f655
NS
4921 * bitmap.h (enum bitmap_bits): Remove.
4922 (bitmap_operation): Remove.
4923 (bitmap_and, bitmap_and_into, bitmap_and_compl,
4924 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
4925 bitmap_xor_into): Prototype.
4926 * bitmap.c (bitmap_elt_insert_after, bitmap_elt_clear_from): New.
4927 (bitmap_operation): Remove.
4928 (bitmap_and, bitmap_and_into, bitmap_and_compl,
4929 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
4930 bitmap_xor_into): New.
4931 (bitmap_ior_and_compl, bitmap_ior_and_compl_into): Adjust.
4932
0cde4a2c
NS
4933 PR tree-optimization/18307
4934 * tree-ssa-alias.c (merge_pointed_to_info): Protected against DEST
4935 and ORIG being the same node.
4936
53c7ffe7
GK
49372004-11-04 Geoffrey Keating <geoffk@apple.com>
4938
4939 * Makefile.in (distclean): Don't delete nonexistent fixinc/ directory.
4940 (install-mkheaders): Install the version built for the
4941 host, not for the build machine.
4942 * configure.ac: Always run fixincludes.
4943 (all_outputs): Remove mkheaders.
4944 * configure: Regenerate.
4945 * fixinc.in: Move to fixincludes/.
4946 * mkfixinc.sh: Likewise.
4947 * mkheaders.in: Likewise.
4948 * README-fixinc: Likewise.
4949
ced327b7
RR
49502004-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
4951
4952 PR target/18263
4953 * config/arc/lib1funcs.asm (___umulsidi3): Change use of cmp to the
4954 equivalent on the A4.
4955
8a36672b
JM
49562004-11-05 Joseph S. Myers <joseph@codesourcery.com>
4957
4958 * doc/c-tree.texi, doc/cfg.texi, doc/contrib.texi, doc/cpp.texi,
4959 doc/cppopts.texi, doc/extend.texi, doc/fragments.texi,
4960 doc/frontends.texi, doc/gcov.texi, doc/hostconfig.texi,
4961 doc/implement-c.texi, doc/install.texi, doc/invoke.texi,
4962 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
4963 doc/portability.texi, doc/rtl.texi, doc/sourcebuild.texi,
4964 doc/standards.texi, doc/tm.texi, doc/tree-ssa.texi,
4965 doc/trouble.texi: Correct end-of-sentence markup and markup of
4966 "etc.", "e.g." and "i.e.". Use @code in various places where
4967 appropriate.
4968
f0eb93a8
JM
49692004-11-05 Joseph S. Myers <joseph@codesourcery.com>
4970
4971 * doc/c-tree.texi, doc/cfg.texi, doc/extend.texi, doc/gty.texi,
4972 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/passes.texi,
4973 doc/rtl.texi, doc/tm.texi, doc/tree-ssa.texi: Remove trailing
4974 whitespace.
4975
04fb56d5
MM
49762004-11-04 Mark Mitchell <mark@codesourcery.com>
4977
4978 * config/arm/arm.c (arm_handle_notshared_attribute): New function.
4979 * doc/extend.texi: Document "notshared" attribute.
dc316086 4980
ce9b3d49
KH
49812004-11-04 Kazu Hirata <kazu@cs.umass.edu>
4982
4983 * tree-phinodes.c (make_phi_node): Make it static.
4984 * tree.h: Remove the prototypes for make_phi_node.
4985
bac6bfc5
KH
49862004-11-04 Kazu Hirata <kazu@cs.umass.edu>
4987
4988 * stmt.c (expand_asm, expand_asm_operands): Make them static.
4989 * tree.h: Remove the prototypes for expand_asm and
4990 expand_asm_operands.
4991
73dcf3b5
KH
49922004-11-04 Kazu Hirata <kazu@cs.umass.edu>
4993
4994 * passes.c (rest_of_compilation): Make it static.
4995 * toplev.h: Remove the prototype for rest_of_compilation.
4996
f014fc47
KH
49972004-11-04 Kazu Hirata <kazu@cs.umass.edu>
4998
4999 * jump.c (cleanup_barriers): Use delete_insn instead of
5000 delete_barrier.
5001 (delete_barrier): Remove.
5002 * rtl.h: Remove the corresponding prototype.
5003
e0ce7708
KH
50042004-11-04 Kazu Hirata <kazu@cs.umass.edu>
5005
5006 * expr.c (mostly_zero_p): Make it static.
5007 * tree.h: Remove the prototype for mostly_zeros_p.
5008
9167e1c0
KH
50092004-11-04 Kazu Hirata <kazu@cs.umass.edu>
5010
5011 * cfgrtl.c (force_nonfallthru_and_redirect): Make it static.
5012
54e62799
KH
50132004-11-04 Kazu Hirata <kazu@cs.umass.edu>
5014
5015 * builtins.c (expand_builtin_return_addr,
5016 expand_builtin_longjmp, expand_builtin_trap): Make them static.
5017 * expr.h: Remove the prototypes for expand_builtin_longjmp and
5018 expand_builtin_trap.
5019 * tree.h: Remove the prototype for expand_builtin_return_addr.
5020
65f4323d
KH
50212004-11-04 Kazu Hirata <kazu@cs.umass.edu>
5022
5023 * tree-cfg.c (find_taken_edge): Reject VAL begin NULL.
5024 * tree-ssa-ccp.c (visit_cond_stmt): Don't call find_taken_edge
5025 with VAL being NULL.
5026
797c289c
KH
50272004-11-04 Kazu Hirata <kazu@cs.umass.edu>
5028
5029 * cfghooks.c (delete_basic_block): Remove code to truncate
5030 edge vectors.
5031
db20bd62
AP
50322004-11-04 Andrew Pinski <pinskia@physics.uc.edu>
5033
dc316086 5034 * flow.c (init_propagate_block_info): Change the type of i to
db20bd62
AP
5035 unsigned.
5036
106f5de5
UW
50372004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
5038
5039 PR tree-optimization/18184
5040 * c-typeck.c (comptypes): Do not treat pointers of different
5041 modes or alias-all flags as equivalent.
5042 * tree-ssa.c (tree_ssa_useless_type_conversion_1): Likewise.
5043
da543234
JM
50442004-11-04 Joseph S. Myers <joseph@codesourcery.com>
5045
5046 * doc/gty.texi, doc/makefile.texi, doc/sourcebuild.texi: Don't
5047 reference specific C parser files in examples.
5048
4e5813dd
RS
50492004-11-04 Richard Sandiford <rsandifo@redhat.com>
5050
5051 PR target/15342
5052 * regrename.c (scan_rtx): Treat the destinations of SETs and CLOBBERs
5053 as OP_INOUT if the instruction is predicated.
5054
d46aed51
KH
50552004-11-04 Kazu Hirata <kazu@cs.umass.edu>
5056
5057 * bitmap.h: Fix a comment typo. Follow spelling conventions.
5058 * tree-vectorizer.c: Fix a comment typo.
5059
37bf6443
KH
50602004-11-04 Kazu Hirata <kazu@cs.umass.edu>
5061
5062 * sdbout.c (SDB_GENERATE_FAKE): Remove.
5063 (gen_fake_label): Don't use SDB_GENERATE_FAKE.
5064 * system.h: Poison SDB_GENERATE_FAKE.
5065 * doc/tm.texi (SDB_GENERATE_FAKE): Remove.
5066
f0ad121f
UW
50672004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
5068
5069 * config/s390/s390.md ("*addsi3_sign"): Use canonical RTL.
5070
ab3d1049
EB
50712004-11-04 Eric Botcazou <ebotcazou@libertysurf.fr>
5072
5073 PR other/18277
5074 * gthr-posix.h (__gthread_recursive_mutex_init_function): Revert
5075 2004-10-29 patch
5076
3cd8c58a
NS
50772004-11-04 Nathan Sidwell <nathan@codesourcery.com>
5078
b9af0016
NS
5079 * predict.c (propagate_freq): Make bitno unsigned. Move
5080 npredecessors update out of loop.
5081
e90ea8cb
NS
5082 * bitmap.h (bitmap_iterator): Remove word_bit and bit
5083 fields. Rename others.
5084 (bmp_iter_common_next_1, bmp_iter_single_next_1,
5085 bmp_iter_single_init, bmp_iter_end_p, bmp_iter_single_next,
5086 bmp_iter_and_not_next_1, bmp_iter_and_not_init,
5087 bmp_iter_and_not_next, bmp_iter_and_next_1, bmp_iter_and_init,
5088 bmp_iter_and_next): Remove.
5089 (bmp_iter_set_init, bmp_iter_and_init, bmp_iter_and_compl_init,
5090 bmp_iter_next, bmp_iter_set, bmp_iter_and, bmp_iter_and_compl):
5091 New.
5092 (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_IN_BITMAP,
5093 EXECUTE_IF_AND_COMPL_IN_BITMAP): Adjust.
5094
67299d91
NS
5095 * bitmap.h (bitmap_a_or_b, bitmap_a_and_b): Remove.
5096 * df.c (dataflow_set_a_op_b): Use bitmap_and, bitmap_ior,
5097 bitmap_and_into, bitmap_ior_into as appropriate.
5098 * except.c (remove_eh_handler): Likewise.
5099 * global.c (modify_bb_reg_pav, make_accurate_live_analysis): Likewise.
5100 * tree-dfa.c (mark_new_vars_to_rename): Likewise.
5101 * tree-ssa-alias.c (merge_pointed_to_info): Likewise.
5102 * tree-ssa-live.h (live_merge_and_clear): Likewise.
5103 * tree-ssa-loop-ivopts.c (find_best_candidate, try_add_cand_for):
5104 Likewise.
5105
3cd8c58a
NS
5106 * bitmap.c (bitmap_print): Make bitno unsigned.
5107 * bt-load.c (clear_btr_from_live_range,
5108 btr_def_live_range): Likewise.
5109 * caller-save.c (save_call_clobbered_regs): Likewise.
5110 * cfganal.c (compute_dominance_frontiers_1): Likewise.
5111 * cfgcleanup.c (thread_jump): Likewise.
5112 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
5113 * conflict.c (conflict_graph_compute): Likewise.
5114 * ddg.c (add_deps_for_use): Likewise.
5115 * df.c (df_refs_update): Likewise.
5116 * except.c (remove_eh_handler): Likewise.
5117 * flow.c (verify_local_live_at_start, update_life_info,
5118 initialize_uninitialized_subregs, propagate_one_insn,
5119 free_propagate_block_info, propagate_block, find_use_as_address,
5120 reg_set_to_hard_reg_set): Likewise.
5121 * gcse.c (clear_modify_mem_tables): Likewise.
5122 * global.c (global_conflicts, build_insn_chain): Likewise.
5123 * ifcvt.c (dead_or_predicable): Likewise.
5124 * local-alloc.c (update_equiv_regs): Likewise.
5125 * loop.c (load_mems): Likewise.
5126 * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs):
5127 Likewise.
5128 * ra-rewrite.c (reloads_to_loads, rewrite_program2, actual_spill):
5129 Likewise.
5130 * reload1.c (order_regs_for_reload, finish_spills): Likewise.
5131 * sched-deps.c (sched_analyze_insn, free_deps): Likewise.
5132 * sched-rgn.c (propagate_deps
5133 * tree-cfg.c (tree_purge_all_dead_eh_edges): Likewise.
5134 * tree-dfa.c (dump_dfa_stats
5135 tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
5136 insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags):
5137 Likewise.
5138 * tree-outof-ssa.c (coalesce_ssa_name, coalesce_vars,
5139 free_temp_expr_table, find_replaceable_exprs): Likewise.
5140 * tree-sra.c (scan_function, scalarize_parms): Likewise.
5141 * tree-ssa-alias.c (init_alias_info,
5142 compute_points_to_and_addr_escape,
5143 compute_flow_sensitive_aliasing, maybe_create_global_var): Likewise.
5144 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Likewise.
5145 * tree-ssa-live.c (new_tree_live_info, live_worklist,
5146 calculate_live_on_entry, calculate_live_on_exit, compare_pairs,
5147 sort_coalesce_list, build_tree_conflict_graph, dump_live_info
5148 tree-ssa-loop-manip.c (add_exit_phis_var): Likewise.
5149 tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
5150 add_call_read_ops): Likewise.
5151 * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Likewise.
5152 * tree-ssa-live.h (num_var_partitions): Return unsigned.
5153
0dc0a70b
DN
51542004-11-03 Dorit Naishlos <dorit@il.ibm.com>
5155
5156 PR tree-optimization/18009
5157 * tree-vectorizer.h (enum dr_alignment_support): New type.
5158 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): Removed.
5159 (LOOP_UNALIGNED_DR): replaced with LOOP_VINFO_UNALIGNED_DR and holds a
5160 single data_reference (instead of a varray of references).
5161 * tree-vectorizer.c (new_loop_vec_info): Likewise.
5162 (vect_gen_niters_for_prolog_loop): Likewise.
5163 (vect_update_inits_of_drs): Likewise.
5164
5165 (vect_update_inits_of_drs): Setting of DR_MISALIGNMENT moved to
5166 vect_enhance_data_refs_alignment.
5167 (vect_do_peeling_for_alignment): Likewise.
5168 (vect_enhance_data_refs_alignment): Decide if and by how much to peel;
5169 this functionality used to be in vect_analyze_data_refs_alignment.
5170 Also update DR_MISALIGNMENT due to peeling; this functionality used to
5171 be in vect_update_inits_of_drs and vect_do_peeling_for_alignment).
5172 (vect_analyze_data_refs_alignment): Decision on whether and by how much
dc316086 5173 to peel moved to vect_enhance_data_refs_alignment. Call
0dc0a70b
DN
5174 vect_supportable_dr_alignment.
5175
5176 (vect_compute_data_ref_alignment): Set STMT_VINFO_VECTYPE.
5177 (vect_compute_data_refs_alignment): Return bool. Consider return value
5178 of vect_compute_data_ref_alignment and return true/false accordingly.
dc316086 5179 (vect_enhance_data_refs_alignment): Consider return value of
0dc0a70b
DN
5180 vect_compute_data_refs_alignment and return true/false accordingly.
5181
5182 (vect_supportable_dr_alignment): New function.
5183 (vectorizable_store): Call vect_supportable_dr_alignment.
5184 (vectorizable_load): Call vect_supportable_dr_alignment. Alignment
5185 support checks moved from here to vect_supportable_dr_alignment.
5186
5187 (vect_transform_loop): Avoid 80 columns overflow.
5188
89106ed5
AP
51892004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
5190
5191 * timevar.c (timevar_enable): Change from
5192 static.
5193 (timevar_push): Rename to ...
5194 (timevar_push_1): this and remove the
5195 enabled check.
5196 (timevar_pop): Rename to ...
5197 (timevar_pop_1): this and remove the
5198 enabled check.
5199 * timevar.h (POP_TIMEVAR_AND_RETURN): Use do/while loops.
5200 (timevar_pop): New macro.
5201 (timevar_push): New macro.
5202 (timevar_enable): Declare.
5203
b3367474
AP
52042004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
5205
5206 * config/darwin.h (REAL_LIBGCC_SPEC): Define to use shared
5207 libgcc for shared libraries.
5208
c5aa1d12
UW
52092004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
5210
5211 * config/s390/s390-protos.h (s390_split_access_reg): Add prototype.
5212 * config/s390/s390.c (s390_split_access_reg): New function.
5213 (regclass_map): Add access registers.
5214 (get_thread_pointer): Use access register instead of UNSPEC_TP.
5215 * config/s390/s390.h (FIRST_PSEUDO_REGISTER): Set to 38.
5216 (ACCESS_REGNO_P, ACCESS_REG_P): New macros.
5217 (TP_REGNUM): New define.
5218 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
5219 REG_ALLOC_ORDER): Add access registers.
5220 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
5221 CANNOT_CHANGE_MODE_CLASS): Support access registers.
5222 (enum reg_class): Add ACCESS_REGS.
5223 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
5224 (REG_CLASS_FROM_LETTER): Add 't' constraint.
5225 (REGISTER_NAMES): Add access registers.
5226 * config/s390/s390.md (UNSPEC_TP): Remove.
5227 ("*movdi_64"): Add access register alternatives. Provide splitters
5228 to split DImode access register <-> GPR moves into SImode moves.
5229 ("*movsi_zarch", "*movsi_esa"): Add access register alternatives.
5230 ("movstrictsi"): Likewise.
5231 ("get_tp_64", "get_tp_31"): Reimplement using access registers.
5232 ("set_tp_64", "set_tp_31"): Likewise.
5233 ("*set_tp"): New insn.
5234
57f60923
KH
52352004-11-03 Kazu Hirata <kazu@cs.umass.edu>
5236
5237 * tree-phinodes.c (resize_phi_node): Copy only a portion of
5238 the PHI node currently in use.
5239
269b7526
AP
52402004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
5241
5242 PR tree-opt/18231
5243 * tree.c (staticp) <case FUNCTION_DECL>: Nested functions are static
5244 also.
5245
b00e4c23
AM
52462004-11-03 Andrew MacLeod <amacleod@redhat.com>
5247
5248 PR tree-optimization/18270
5249 * tree-outof-ssa.c (analyze_edges_for_bb): If a block has incoming
5250 abnormal edges, commit all pending stmts on incoming edges.
5251
a85a9024
UW
52522004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
5253
5254 * tree-ssa-loop-ivopts.c (get_address_cost): Offset zero does not
5255 cause extra costs. Generate canonical RTL.
5256
c4bda9f0
DB
52572004-11-02 Daniel Berlin <dberlin@dberlin.org>
5258
5259 * lambda-code.c (lambda_compute_auxillary_space): Update comments.
5260 (lambda_compute_target_space). Ditto.
5261 * lambda.h (lambda_trans_matrix): Ditto.
5262 (lambda_linear_expression): Ditto.
5263 (lambda_body_vector): Ditto.
5264 (lambda_loopnest): Ditto.
5265 * tree-loop-linear.c (gather_interchange_stats): Combine tests,
5266 update comments, and remove pointless addition of 0.
5267 (linear_transform_loops): Update comments.
5268
308d5189
SP
52692004-11-03 Sebastian Pop <pop@cri.ensmp.fr>
5270
5271 * tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of
5272 CEIL_MOD_EXPR.
5273
4cfa46c8
JL
52742004-11-03 Jeff Law <law@redhat.com>
5275
8a998e0c
JL
5276 * predict.c (struct block_info_def): Kill "tovisit" field.
5277 (propagate_freq): Accept new "tovisit" parameter. Change
5278 read/write access methods for "tovisit" to check the "tovisit"
5279 bitmap instead of a bit in block_info_def.
5280 (estimate_loops_at_level): Allocate "tovisit" bitmap. Pass
5281 it to propagate_freq.
5282
4cfa46c8
JL
5283 * stmt.c (expand_case): Speed up code to detect duplicate case
5284 label targets and count unique case label targets.
5285
158aa13a
KH
52862004-11-03 Kazu Hirata <kazu@cs.umass.edu>
5287
5288 * cppdefault.c, cppdefault.h, timevar.h: Update copyright.
5289
4828a73e
KH
52902004-11-03 Kazu Hirata <kazu@cs.umass.edu>
5291
5292 * bitmap.h, dbxout.c, tree-mudflap.c: Fix comment formatting.
5293
35920270
KH
52942004-11-03 Kazu Hirata <kazu@cs.umass.edu>
5295
5296 * tree-cfg.c (find_taken_edge): Abort if we are given a
5297 statement that is neither COND_EXPR nor SWITCH_EXPR.
5298
a63c0d13
ZD
52992004-11-02 Zdenek Dvorak <dvorakz@suse.cz>
5300
5301 * fold-const.c (fold): Reassociate also (x - mult) + mult and
5302 (mult - x) + mult. Cast operands of expression after applying
5303 distributive law to the correct types. Apply distributive law
5304 to a * c - b * c for all non-float types.
5305
de253ca4
GK
53062004-11-02 Geoffrey Keating <geoffk@apple.com>
5307
5308 * configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just
5309 because we don't want to run them now; instead, set them to
5310 stmp-install-fixproto or stmp-install-fixinc.
5311 * Makefile.in (stmp-install-fixproto): New.
5312 (stmp-install-fixinc): New.
5313 * configure: Regenerate.
5314
f7569f3a
NS
53152004-11-02 Nathan Sidwell <nathan@codesourcery.com>
5316
5317 * flow.c (init_propagate_block_info): Use bitmap_empty_p on result
5318 of bitmap_xor.
5319
65958285
ZL
53202004-11-02 Ziemowit Laski <zlaski@apple.com>
5321
5322 * c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
5323 (c_types_compatible_p): Move function definition...
5324 * c-objc-common.c (c_types_compatible_p): ...here.
5325 * c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
5326 c-lang.c.
5327
75473b02
SB
53282004-11-02 Steven Bosscher <stevenb@suse.de>
5329
5330 * cfgloop.h (struct loop): Update comment.
5331 * cse.c (cse_main): Remove obsolete comment.
5332
5333 * expr.h (gen_cond_trap): Move prototype under functions provided
5334 by optabs.c.
5335 (canonicalize_condition, get_condition): Move to...
5336 * rtl.h (canonicalize_condition, get_condition): ...here.
5337 (branch_target_load_optimize): Add comment that this function is
5338 in bt-load.c.
5339 * loop.c (canonicalize_condition, get_condition): Move to...
5340 * rtlanal.c (canonicalize_condition, get_condition): ...here.
5341 * sched-deps.c (get_condition): Rename to sched_get_condition.
5342 (add_dependence): Update this caller.
dc316086 5343
da1f8963
AP
53442004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
5345
5346 PR tree-opt/16808
5347 * tree-ssa.c (replace_immediate_uses): If we call fold_stmt, make sure
5348 that the vops get marked for renaming.
5349
8dd3b235
AK
53502004-11-02 Andreas Krebbel <krebbel1@de.ibm.com>
5351
5352 * config/s390/s390.md ("movcc"): Set type attribute.
5353
bc2dce32
KH
53542004-11-02 Kazu Hirata <kazu@cs.umass.edu>
5355
5356 * tree-phinodes.c (add_phi_arg): Add an assertion that the
5357 edge already exists.
5358
54699c02
KH
53592004-11-02 Kazu Hirata <kazu@cs.umass.edu>
5360
5361 * tree-phinodes.c (remove_phi_arg_num): Do not zero the
5362 element that's being removed.
5363
641e7348
KH
53642004-11-02 Kazu Hirata <kazu@cs.umass.edu>
5365
5366 * tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI
5367 arguments using PENDING_STMT.
5368 (thread_block): Call copy_phis_to_block after redirecting an
5369 edge.
5370
55994078
NS
53712004-11-02 Nathan Sidwell <nathan@codesourcery.com>
5372
7ef7b345
NS
5373 * bitmap.h (bitmap_and, bitmap_and_into, bitmap_and_compl,
5374 bitmap_and_compl_into, bitmap_ior, bitmap_iot_into,
5375 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): Produce void.
5376 (bitmap_ior_and_compl_into): Produce bool.
5377 (bitmap_union_of_diff): Rename to ...
5378 (bitmap_ior_and_compl): ... here. Produce bool.
5379 * bitmap.c (bitmap_ior_and_compl_into): Return bool. Use
5380 bitmap_operation directly.
5381 (bitmap_union_of_diff): Rename to ...
5382 (bitmap_ior_and_compl): ... here. Return bool, use
5383 bitmap_operation directly.
5384 * df.c (df_rd_transfer_function): Use bitmap_ior_and_compl.
5385 (df_ru_transfer_function, df_lr_transfer_function): Likewise.
5386 * global.c (modify_bb_reg_pav): Likewise.
5387
55994078
NS
5388 * bitmap.h (bitmap_equal_p): Return bool.
5389 (bitmap_intersect_p, bitmap_intersect_compl_p): Declare.
5390 * bitmap.c (bitmap_equal_p): Return bool. Compare directly.
5391 (bitmap_intersect_p, bitmap_intersect_compl_p): New.
5392 * flow.c (calculate_global_regs_live): Use bitmap_intersect_p and
5393 bitmap_intersect_compl_p.
5394 * ifcvt (dead_or_predicable): Likewise.
5395
f6219a5e
NS
53962004-11-02 Nathan Sidwell <nathan@codesourcery.com>
5397
5398 PR rtl-optimization/17104
5399 * config/rs6000/rs6000.c (rs6000_emit_move): Don't wrap small
5400 loads in zero_extend.
5401
8f49f0f1
DS
54022004-11-02 Danny Smith <dannysmith@users.sourceforge.net>
5403
5404 PR debug/18242
5405 * toplev.c (debug_type_names): Remove "dwarf-1".
5406
0537bf15
BE
54072004-11-02 Ben Elliston <bje@au.ibm.com>
5408
dc316086 5409 * timevar.h (timevar_get): Remove.
0537bf15
BE
5410 * timevar.c (timevar_get): Remove unused function.
5411
708b3421
JM
54122004-11-02 Joseph S. Myers <joseph@codesourcery.com>
5413
5414 * doc/include/texinfo.tex: Update from Texinfo CVS.
5415
91e3536a
BE
54162004-11-02 Ben Elliston <bje@au.ibm.com>
5417
5418 * cppdefault.h (cpp_SYSROOT): Remove.
5419 * cppdefault.c (cpp_SYSROOT): Likewise.
5420
edfaf675
AM
54212004-11-01 Andrew MacLeod <amacleod@redhat.com>
5422
5423 PR tree-optimization/16447
dc316086 5424 * tree-cfg.c (bsi_commit_one_edge_insert): Rename from
edfaf675
AM
5425 bsi_commit_edge_inserts_1, and make funtion external. Return new block.
5426 (bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
5427 * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
5428 * tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
5429 * tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
5430 (same_stmt_list_p): New. Return TRUE if edge is to be forwarded.
5431 (identical_copies_p): New. Return true is two copies are the same.
5432 (identical_stmt_lists_p): New. Return true if stmt lists are the same.
dc316086 5433 (analyze_edges_for_bb): New. Determine how best to insert edge stmts
edfaf675
AM
5434 for a basic block.
5435 (perform_edge_inserts): New. Determine what to do with all stmts that
5436 have been inserted on edges.
5437 (remove_ssa_form): Analyze and commit edges from here.
5438
f759c75e
AP
54392004-11-01 Andrew Pinski <pinskia@physics.uc.edu>
5440
5441 PR bootstrap/18232
5442 * bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct.
5443 (EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p.
5444 (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
5445 (EXECUTE_IF_AND_IN_BITMAP): Likewise.
5446
ee060229
JM
54472004-11-01 Joseph S. Myers <joseph@codesourcery.com>
5448
5449 PR c/18239
5450 * c-decl.c (get_parm_info): Allow FUNCTION_DECLs to appear amongst
5451 parameter declarations.
5452
9dc62c00
AK
54532004-11-01 Andreas Krebbel <krebbel1@de.ibm.com>
5454
5455 * config/s390/s390.c (regclass_map): Put reg 33 (cc) to CC_REGS group.
5456 (s390_secondary_input_reload_class)
5457 (s390_secondary_output_reload_class): Use GENERAL_REGS to reload a cc
5458 register.
5459 (s390_expand_cmpmem): Enable cmpmem implementation.
5460 * config/s390/s390.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
5461 Added three new classes: CC_REGS, ADDR_CC_REGS, GENERAL_CC_REGS.
5462 (REG_CLASS_FROM_LETTER): New constraint 'c' added.
5463 * config/s390/s390.md ("movcc"): New insn pattern.
5464 * doc/md.texi: Document 'c' constraint for s390.
5465
ae209f28
NS
54662004-11-01 Nathan Sidwell <nathan@codesourcery.com>
5467
5468 PR c++/18064
5469 * doc/extend.texi (Deprecated Features): Deprecate G++ covariant
5470 extension.
5471
464f49d8
DB
54722004-10-16 Daniel Berlin <dberlin@dberlin.org>
5473
5474 Fix PR tree-optimization/17672
5475 Fix PR tree-optimization/18168
dc316086 5476
464f49d8
DB
5477 * lambda-code.c (lambda_lattice_compute_base): Fix reversed
5478 assert test.
5479 (gcc_tree_to_linear_expression): Add extra to existing constant.
5480 (depth_of_nest): Factor out function used in various places.
5481 (gcc_loop_to_lambda_loop): Clean up code a little bit. No
5482 functional changes.
5483 (find_induction_var_from_exit_cond): Stop guessing, and just
5484 get the right answer :).
5485 (gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation.
5486 Print out message about result of attempt to create perfect nest.
5487 (lbv_to_gcc_expression): Add type argument, use it to do math
5488 and induction variable creation.
5489 (lle_to_gcc_expression): Ditto.
5490 (lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
dc316086 5491 oldiv. Pass type argument to lle_to_gcc_expression and
464f49d8
DB
5492 lbv_to_gcc_expression.
5493 Reset number of iterations after transformation.
5494 (perfect_nestify): Remove useless pre-allocation, and cleanup
5495 a small amount.
5496
5497 * tree-data-ref.c (build_classic_dist_vector): Return false for
5498 dependences completely outside of the loop nest we asked about.
5499 (build_classic_dir_vector): Ditto.
5500 (compute_data_dependences_for_loop): Only add dependence relations
5501 inside the loop we asked about.
dc316086 5502
464f49d8
DB
5503 * tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
5504 Compute immediate uses.
dc316086 5505
464f49d8 5506 * tree-optimize.c: Move linear_transform_loops to before ivcanon.
dc316086 5507
0eb9f5bc
KH
55082004-11-01 Kazu Hirata <kazu@cs.umass.edu>
5509
5510 * tree-cfg.c (thread_jumps): Fix a comment typo.
5511
cf566f7f
KH
55122004-11-01 Kazu Hirata <kazu@cs.umass.edu>
5513
5514 * tree-cfg.c (thread_jumps): Fix a comment typo.
5515
3188a512
NP
55162004-10-31 Nicolas Pitre <nico@cam.org>
5517
5518 * config/arm/ieee754-sf.S (floatdisf): Fix regression with
5519 values smaller than 2^32.
5520
ccbdbf0a
JL
55212004-10-31 Jeff Law <law@redhat.com>
5522
5523 * cfgloop.h (struct loop): Remove unused "nodes" field.
5524 * timevar.def (TV_TREE_LOOP_BOUNDS): New.
5525 * tree-data-ref.c (find_data_references_in_loop): Use get_loop_body
5526 instead of calling flow_bb_inside_loop_p for every basic block
5527 in the function.
5528 * tree-ssa-loop.c (pass_record_bounds): Use TV_TREE_LOOP_BOUNDS.
5529
35936b93
GS
55302004-10-31 Graham Stott <graham.stott@btinternet.com>
5531
5532 * config/pa/pa.md: (prefetch_64, prefetch_32): Fix typo. Use
5533 INT_5_BITS instead of VAL_5_BITS_P.
5534
7a6336aa
RS
55352004-10-31 Roger Sayle <roger@eyesopen.com>
5536
5537 PR middle-end/14521
5538 * tree-inline.c (inline_forbidden_p_1): Use %qF instead of '%F'
5539 for consistent quoting in diagnostic messages.
5540 (expand_call_inline): Likewise.
5541 * tree-optimize.c (tree_rest_of_compilation): Likewise.
5542 * tree-ssa.c (warn_uninitialized_var): Likewise.
5543 (warn_uninitialized_phi): Likewise.
5544
29b4addf
RS
55452004-10-31 Richard Sandiford <rsandifo@redhat.com>
5546
5547 * config/mips/mips.c (mips_cannot_change_mode_class): Use a stricter
5548 mode check.
5549
3292fb42
KH
55502004-10-31 Kazu Hirata <kazu@cs.umass.edu>
5551
5552 * c-common.c: Fix a comment typo.
5553
49382b6c
JM
55542004-10-31 Jason Merrill <jason@redhat.com>
5555
5556 PR middle-end/17526
5557 * tree-gimple.c (is_gimple_mem_rhs): Also require a val for
5558 aggregate types that are not BLKmode.
5559
16b34ad6
ZL
55602004-10-30 Ziemowit Laski <zlaski@apple.com>
5561
5562 * c-common.h (objc_lookup_ivar): Add second parameter to
5563 prototype.
5564 * c-typeck.c (build_external_ref): After looking up symbol,
5565 pass it to objc_lookup_ivar() to decide whether it or the
5566 ivar should be used, rather than deciding the issue locally.
5567 * stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
5568 which is simply returned in the non-ObjC case.
5569
7fe63418
DS
55702004-10-30 Danny Smith <dannysmith@users.sourceforge.net>
5571
5572 * sdbout.c (sdbout_symbol): Do not output type .def statements
5573 for builtin types.
5574
0a3ee0fd
GDR
55752004-10-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
5576
5577 * c-common.c (catenate_strings): New.
5578 (c_parse_error): Use it. Don't over-escape.
5579
0ef2c525
KK
55802004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
5581
5582 * config/sh/sh.c (calc_live_regs): Declare reg as unsigned and
5583 modify the for loop expressions for it. Remove unnecessary casts.
5584 (sh_expand_prologue): Declare reg as unsigned.
5585 (sh_gimplify_va_arg_expr): Initinalize lab_over.
5586 (sh_handle_sp_switch_attribute): Add const qualifier appropriately.
5587
46bfe5e3
GK
55882004-10-30 Geoffrey Keating <geoffk@apple.com>
5589
5590 * doc/invoke.texi (Darwin Options): Improve description of
5591 how the subtype is chosen.
5592
61168ff1
RS
55932004-10-30 Roger Sayle <roger@eyesopen.com>
5594
5595 PR middle-end/18096
5596 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
5597 the stack adjustment, "size", is valid for Pmode. If the stack
5598 frame is too large, generate a trap insn and issue a warning.
5599
cbb1cada
KH
56002004-10-30 Kazu Hirata <kazu@cs.umass.edu>
5601
5602 * tree-ssa-dom.c: Fix comment typos.
5603
e57a6d42
KK
56042004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
5605
5606 * config/sh/sh.c (prepare_move_operands): Use operands[0]
5607 for the output rtl if no_new_pseudos is set. Remove redundant
5608 line.
5609
46097c76
JM
56102004-10-30 Joseph S. Myers <joseph@codesourcery.com>
5611
5612 PR c/16666
5613 * c-decl.c (start_function): Don't check for DECL_BUILT_IN when
5614 determining whether to copy parameter types from a previous
5615 prototype declaration.
5616
5976e643
RS
56172004-10-29 Roger Sayle <roger@eyesopen.com>
5618
5619 PR rtl-optimization/17581
5620 * cselib.c (cselib_process_insn): The last instruction of a libcall
5621 block, with the REG_RETVAL note, should be considered in the libcall.
5622 * gcse.c (do_local_cprop): Allow constants to be propagated outside
5623 of libcall blocks.
5624 (adjust_libcall_notes): Use simplify_replace_rtx instead of
5625 replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
5626
9b1bfcc0
KH
56272004-10-30 Kazu Hirata <kazu@cs.umass.edu>
5628
5629 * tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN.
5630
efea75f9
JL
56312004-10-29 Jeff Law <law@redhat.com>
5632
5633 * tree-ssa-dom.c (struct edge_info): New structure holding
5634 edge equivalences and edge redirection information.
5635 (get_eq_expr_value, record_dominating_conditions): Kill.
5636 (propagate_to_outgoing_edges): Renamed from cprop_into_phis.
5637 Call record_edge_info.
5638 (allocate_edge_info, free_edge_info): New.
5639 (tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
5640 rather than cprop_into_phis. Free all edge infos before threading
5641 jumps.
5642 (thread_across_edge): Allocate new edge info structures as needed
5643 and store the redirection target into the edge info structure
5644 instead of the edge's AUX field.
5645 (dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
5646 (record_equivalence_from_incoming_edge): Lose unnecessary argument.
5647 Revamp code which finds and records equivalences associated with
5648 edges to use saved data in the edge_info structure.
5649 (record_equivalencs_from_phis): Similarly.
5650 (dom_opt_finalize_block): Revamp code which finds and records
5651 equivalences associated with edges to use saved data in the
5652 edge_info structure.
5653 (build_and_record_new_cond): New function.
5654 (record_conditions): Use build_and_record_new_cond to record
5655 dominating conditions.
5656 (record_edge_info): New function.
5657 (record_range): Tighten test for conditions which create
5658 useful range records.
5659
cc92f54f
GK
56602004-10-29 Geoffrey Keating <geoffk@apple.com>
5661
965a7e90
GK
5662 * config/i386/darwin.h (ASM_SPEC): Simplify.
5663 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
5664 * config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New.
5665 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
5666 * config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here.
5667 (LINK_SPEC): Do pass -arch here. Handle -force_cpusubtype_ALL
5668 in all cases. Pass the right -arch or -arch_only based on -mcpu.
5669 (ASM_SPEC): Handle -force_cpusubtype_ALL.
5670 * doc/invoke.texi (Darwin Options): Improve documentation for
5671 Darwin linker (and libtool) switches.
5672
cc92f54f
GK
5673 * config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>.
5674
5fd5ec31
SS
56752004-10-29 Stan Shebs <shebs@apple.com>
5676
5677 * config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly.
5678
8c3babed
KH
56792004-10-29 Kazu Hirata <kazu@cs.umass.edu>
5680
5681 * tree-phinodes.c (allocate_phi_node): New.
5682 (make_phi_node, resize_phi_node): Use it.
5683
bd004fef
DE
56842004-10-29 David Edelsohn <edelsohn@gnu.org>
5685
5686 * config/rs6000/sysv4.h (TARGET_POWER): Define as 0.
5687 * config/rs6000/darwin.h (TARGET_POWER): Define as 0.
5688
c24a4dcf
KH
56892004-10-29 Kazu Hirata <kazu@cs.umass.edu>
5690
5691 * tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
5692 the whole PHI node.
5693 * tree.h (tree_phi_node): Tell the garbage collector to chase
5694 num_args arguments.
5695
fe94b653
RE
56962004-10-29 Richard Earnshaw <rearnsha@arm.com>
5697
5698 * opts.c (decode_options): Lower the crossjump threshold for -Os.
5699
0be058dd
DN
57002004-10-29 Diego Novillo <dnovillo@redhat.com>
5701
5702 * tree.h (struct tree_ssa_name): Remove field 'equiv'.
5703
eb59b8de
NS
57042004-10-28 Nathan Sidwell <nathan@codesourcery.com>
5705
5706 * bitmap.h (bitmap_empty_p): New.
5707 (bitmap_and, bitmap_and_into, bitmap_and_compl,
5708 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into,
5709 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap
5710 operation macros.
5711 (bitmap_ior_and_compl): Rename to ...
5712 (bitmap_ior_and_compl_into): ... here.
5713 * bitmap.c (bitmap_equal_p): Use bitmap_xor.
5714 (bitmap_ior_and_compl): Rename to ...
5715 (bitmap_ior_and_compl_into): ... here. Adjust. Return changed
5716 flag.
5717 (bitmap_union_of_diff): Use renamed bitmap functions.
5718 * basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET,
5719 XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise.
5720 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
5721 * df.c (df_bb_rd_local_compute)
5722 * flow.c (calculate_global_regs_live,
5723 init_propagate_block_info): Likewise.
5724 * ifcvt.c (find_if_case_1, find_if_case_2,
5725 dead_or_predicable): Likewise.
5726 * ra-build.c (union_web_part_roots, livethrough_conflicts_bb,
5727 reset_conflicts, conflicts_between_webs): Likewise.
5728 * ra-rewrite.c (reloads_to_loads, rewrite_program2,
5729 detect_web_parts_to_rebuild): Likewise.
5730 * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
5731 * tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise.
5732 * tree-sra.c (decide_instantiations): Likewise.
5733 * tree-ssa-alias.c (create_name_tags,
5734 merge_pointed_to_info): Likewise.
5735 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
5736 * tree-ssa-loop-im.c (move_computations): Likewise.
5737 * tree-ssa-operands.c (get_call_expr_operands): Likewise.
5738 * tree-ssa-pre.c (fini_pre): Likewise.
5739 * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
5740 * tree-ssanames.c (any_marked_for_rewrite_p): Likewise.
5741 * tree-vectorizer.c (vectorize_loops): Likewise.
5742
07c05acd
NC
57432004-10-29 Nick Clifton <nickc@redhat.com>
5744
5745 config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
5746 adding the PIC register to the fixed_regs array, also add it
dc316086 5747 to the call_used_regs array.
07c05acd 5748
e95dc99b
EB
57492004-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
5750
5751 * gthr-posix.h (__gthread_recursive_mutex_init_function): Guard
5752 with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs.
5753
8618ff53
DB
57542004-10-28 Daniel Berlin <dberlin@dberlin.org>
5755
5756 * tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
5757 (rewrite_blocks): Modify argument, and use it to decide which
5758 function to call.
5759 (rewrite_def_def_chains): Call rewrite_blocks with true here.
5760 (rewrite_into_ssa): and call it with false here.
dc316086 5761
0f84c36e
KH
57622004-10-29 Kazu Hirata <kazu@cs.umass.edu>
5763
5764 * tree-phinodes.c (add_phi_arg): Turn an "if" that always
5765 triggers into gcc_assert.
5766
de66168d
DN
57672004-10-28 Diego Novillo <dnovillo@redhat.com>
5768
5769 PR tree-optimization/16728
5770 * tree-flow.h (get_ptr_info): Declare.
5771 * tree-ssa-alias.c (get_ptr_info): Make extern.
5772 * tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
5773 alias information.
5774
55dbfb48
SS
57752004-10-28 Stan Shebs <shebs@apple.com>
5776
5777 * config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
5778 * config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64
5779 case.
5780
7ec02c04
FCE
57812004-10-28 Frank Ch. Eigler <fche@redhat.com>
5782
5783 * tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
5784 prevent their later unnecessary registration.
5785 (mf_build_check_statement_for): Remove "addr" argument, and
5786 related "__mf_value" generated code. Update callers.
5787 (mf_decl_eligible_p): New function, factored from mx_register_decls.
5788 (mx_register_decls): Call it.
5789 (mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
5790 to restore support for complex nested expressions.
5791 (mudflap_enqueue_decl): Simplify. Move registration call emission
5792 out ...
5793 (mudflap_finish_file): ... to here.
5794 (mudflap_enqueue_constant): Remove dump code.
5795
40aea05c
ZW
57962004-10-28 Zack Weinberg <zack@codesourcery.com>
5797
859ee18f
ZW
5798 PR 18199
5799 * dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
5800 (DBX_FINISH_STABS): Add (unused by default) SYM parameter.
5801 (dbxout_finish_complex_stabs): Update to match.
5802 (dbxout_symbol_location): Call emit_pending_bincls_if_required
5803 and FORCE_TEXT before DBX_STATIC_BLOCK_START. Use
5804 dbxout_begin_complex_stabs_noforcetext.
5805 * xcoffout.h (DBX_FINISH_STABS): Restore special case for
5806 N_GSYM, using new SYM parameter. Correct logic for special
5807 cases for N_FUN.
5808
40aea05c
ZW
5809 * varasm.c (function_section): If DECL is NULL_TREE, don't try
5810 to do anything else. Do not call get_insns if cfun or
5811 cfun->emit are NULL.
5812
0039fa55
AN
58132004-10-28 Adam Nemet <anemet@lnxw.com>
5814
40aea05c 5815 PR middle-end/18160
0039fa55
AN
5816 * c-typeck.c (c_mark_addressable): Issue error if address of a
5817 register variable is taken. Use "%qD" to print DECL_NAME.
5818
85a59cea
DN
58192004-10-28 Diego Novillo <dnovillo@redhat.com>
5820
5821 * opts.c (decode_options): Don't run PRE at -Os.
5822
283dd633
RH
58232004-10-28 Richard Henderson <rth@redhat.com>
5824
5825 * config/alpha/alpha.md (movqicc_internal): Allow exactly one
5826 zero in the conditional.
5827 (movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
5828
9d80ef7c
RH
58292004-10-28 Richard Henderson <rth@redhat.com>
5830
5831 * cse.c (memory_extend_rtx): Remove.
5832 (cse_main): Don't set it.
5833 (cse_insn): Use a local buffer instead.
5834
f3df9541
AK
58352004-10-28 Andreas Krebbel <krebbel1@de.ibm.com>
5836
5837 * profile.c (branch_prob): Call to init_edge_profiler added.
5838 * rtl-profile.c (rtl_init_edge_profiler): New function.
5839 (rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with
5840 call to safe_insert_insn_on_edge.
5841 (rtl_profile_hooks): rtl_init_edge_profiler added.
5842 * tree-profile.c (tree_init_edge_profiler): New function.
5843 (tree_profile_hooks): tree_init_edge_profiler added.
5844 * value-prof.h (profile_hooks) init_edge_profiler prototype added.
5845
9054261d
NC
58462004-10-28 Nick Clifton <nickc@redhat.com>
5847
5848 * config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
5849 emit_jump_insn() to generate the return instruction.
5850
50d895a7
KH
58512004-10-28 Kazu Hirata <kazu@cs.umass.edu>
5852
5853 * tree-phinodes.c: Remove trailing whitespace.
5854
1c170b5e
KH
58552004-10-28 Kazu Hirata <kazu@cs.umass.edu>
5856
5857 * tree-ssa-loop-ivopts.c: Fix a comment typo.
5858 * doc/invoke.texi: Fix a typo.
5859
f340a501
KH
58602004-10-28 Kazu Hirata <kazu@cs.umass.edu>
5861
5862 * Makefile.in (OBJS-common): Remove duplicates.
5863
71882046
KH
58642004-10-28 Kazu Hirata <kazu@cs.umass.edu>
5865
5866 * lambda-code.c (nestify_update_pending_stmts): Remove.
5867 (perfect_nestify): Use flush_pending_stmts instead of
5868 nestify_update_pending_stmts.
5869 * tree-cfg.c (tree_make_forwarder_block): Use
5870 flush_pending_stmts.
5871 * tree-flow.h: Add a prototype for flush_pending_stmts.
5872 * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
5873 Use flush_pending_stmts.
5874 (lv_update_pending_stmts): Remove.
5875 (tree_ssa_loop_version): Use flush_pending_stmts instead of
5876 lv_update_pending_stmts.
5877 * tree-ssa.c (flush_pending_stmts): New.
5878
fd326ba8
UW
58792004-10-28 Ulrich Weigand <uweigand@de.ibm.com>
5880
5881 PR target/15286
5882 * final.c (alter_subreg): Compute correct offset to use with
5883 paradoxical SUBREGs of memory operands.
5884 * recog.c (general_operand): Allow paradoxical SUBREGs of
5885 memory operands after reload.
5886 * simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
5887 has failed when passed a hard register.
5888
4af46a32
AH
58892004-10-28 Aldy Hernandez <aldyh@redhat.com>
5890
5891 * function.c (assign_parm_setup_block): Handle parallels correctly.
5892
5921f276
KK
58932004-10-28 Kaz Kojima <kkojima@gcc.gnu.org>
5894
5895 * final.c (shorten_branches): Initialize flags structure.
5896
b66a64f1
NS
58972004-10-28 Nathan Sidwell <nathan@codesourcery.com>
5898
5899 * tree.c (int_cst_node, int_cst_hash_table): New variables.
5900 (init_ttree): Initialize them.
5901 (int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
5902 (build_int_cst_wide): Use hash table for oversized integers.
5903
fb002e78
NC
59042004-10-28 Nick Clifton <nickc@redhat.com>
5905
5906 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
5907 begin_label.
5908
0da34ce4
RH
59092004-10-27 Richard Henderson <rth@redhat.com>
5910
5911 PR middle-end/18163
5912 * expr.c (emit_group_load): Don't go force temporary for memory
5913 or concat source.
5914 (emit_group_store): Similarly.
5915
744e6f33
AP
59162004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
5917
5918 PR other/18186
5919 * common.opt (--param): Fix spelling of parameter.
5920
8e14584d
AP
59212004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
5922
5923 PR tree-opt/17529
5924 * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
5925 Don't fold statement.
5926 <case ASM_EXPR>: Fold the statement.
5927
269da1e9
KH
59282004-10-28 Kazu Hirata <kazu@cs.umass.edu>
5929
5930 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
5931 <COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
5932
78466c0e
JM
59332004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
5934
5935 * doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
5936 doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
5937 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
5938 doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
5939
d78aa55c
JM
59402004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
5941
5942 * doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
5943 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
5944 punctuation outside quotes.
5945
9a3137c3
DM
59462004-10-27 David Mosberger <davidm@hpl.hp.com>
5947 James E Wilson <wilson@specifixinc.com>
a8f5224e
DM
5948
5949 PR target/13158
5950 * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
5951 sibcall alloc instruction.
5952 (process_set): Handle sibcall alloc instruction.
5953
72747d40
GK
59542004-10-27 Geoffrey Keating <geoffk@apple.com>
5955
005c1a13
GK
5956 * config/rs6000/rs6000.c (rs6000_attribute_table): Add
5957 SUBTARGET_ATTRIBUTE_TABLE.
5958 * config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
5959 (SUBTARGET_ATTRIBUTE_TABLE): Define.
5960 * config/darwin.c (darwin_handle_weak_import_attribute): New.
5961 (HAVE_DEAD_STRIP): Delete.
5962 (no_dead_strip): Don't test HAVE_DEAD_STRIP.
5963 * config/darwin-protos.h (darwin_handle_weak_import_attribute):
5964 Prototype.
5965
09afda70
GK
5966 * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
5967
72747d40
GK
5968 * config/darwin.h (GTHREAD_USE_WEAK): Define.
5969
61b58001
BE
59702004-10-28 Ben Elliston <bje@au.ibm.com>
5971
5972 * params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
5973 (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
5974 * params.h (SRA_MAX_STRUCTURE_SIZE): New.
5975 (SRA_FIELD_STRUCTURE_RATIO): Likewise.
5976 * tree-sra.c: Include "params.h".
5977 (decide_block_copy): Use new parameters.
5978 * doc/invoke.texi (Optimize Options): Document new SRA pass
5979 parameters sra-max-structure-size and sra-field-structure-ratio.
5980
72111a1f
NP
59812004-10-27 Nicolas Pitre <nico@cam.org>
5982
5983 * config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
5984
38b0dcb8
ZD
59852004-10-27 Zdenek Dvorak <dvorakz@suse.cz>
5986
5987 PR tree-optimization/18048
5988 * fold-const.c (try_move_mult_to_index): New function.
5989 (fold): Use try_move_mult_to_index.
5990 * tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
5991 * tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
5992 an all-ones unsigned constant without extra bits.
5993 * tree.c (build_low_bits_mask): New function.
5994 * tree.h (build_low_bits_mask): Declare.
5995
89e73849
DE
59962004-10-27 David Edelsohn <edelsohn@gnu.org>
5997
5998 PR target/17956
5999 * config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
6000 final condition.
6001 (minsf3): Same.
6002 (maxdf3): Same.
6003 (mindf3): Same.
6004
0b371c72
KH
60052004-10-27 Kazu Hirata <kazu@cs.umass.edu>
6006
6007 * tree-cfg.c (thread_jumps): Speed up by reordering the two
6008 conditions for entering basic blocks into worklist.
6009
af88d4ec
KH
60102004-10-27 Kazu Hirata <kazu@cs.umass.edu>
6011
6012 * tree-cfg.c (thread_jumps): Speed up by pretending to have
6013 ENTRY_BLOCK_PTR in worklist.
6014
7f604986
KH
60152004-10-27 Kazu Hirata <kazu@cs.umass.edu>
6016
6017 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
6018 <GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
6019
52328bf6 60202004-10-27 Daniel Berlin <dberlin@dberlin.org>
40aea05c 6021
52328bf6 6022 Fix PR tree-optimization/17133
40aea05c 6023
52328bf6
DB
6024 * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
6025 def kill operand.
6026
6027 * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
6028 (get_v_must_def_result_ptr): Modify for new structure of
6029 v_must_defs array.
6030 (get_v_must_def_kill_ptr): New.
6031 (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
6032 (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
6033 (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
6034 (op_iter_init): Initialize new mustu members.
6035 (op_iter_next_mustdef): New function.
6036 (op_iter_init_mustdef): Ditto.
6037
6038 * tree-flow.h (rewrite_def_def_chains): New function.
6039
6040 * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
6041 (ssa_mark_def_sites): Ditto.
6042 (rewrite_stmt): Ditto.
6043 (ssa_rewrite_stmt): Ditto.
6044 (rewrite_blocks): Factor out from rewrite_into_ssa.
6045 (mark_def_block_sites): Ditto.
6046 (rewrite_def_def_chains): New function, just rewrites def-def
6047 chains without phi node insertion.
6048
6049 * tree-pass.h (TODO_fix_def_def_chains): New todo flag.
6050
40aea05c 6051 * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
52328bf6
DB
6052
6053 * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
6054 they include the rhs now.
6055
6056 * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
40aea05c 6057 V_MUST_DEF_RESULT.
52328bf6
DB
6058
6059 * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
6060 Update callers.
6061 (mark_really_necessary_kill_operand_phis): New function.
6062 (perform_tree_ssa_dce): Call it.
6063 (pass_dce): Add TODO_fix_def_def_chains.
6064 (pass_cd_dce): Ditto.
6065
6066 * tree-ssa-loop-im.c (determine_max_movement): Look at kills as
6067 well.
6068 (rewrite_mem_refs): Ditto.
6069
6070 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
6071 as well.
6072
6073 * tree-ssa-operands.c (allocate_v_may_def_optype):
6074 v_may_def_operand_type_t became v_def_use_operand_type_t.
6075 (allocate_v_must_def_optype) Ditto.
6076 (finalize_ssa_v_must_defs): Update for new operand type, as well
6077 as setting the use portion as well.
6078 (copy_virtual_operands): Copy the kill operand as well.
6079 (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
40aea05c 6080 V_MUST_DEF_RESULT.
52328bf6
DB
6081
6082 * tree-ssa-operands.h (v_may_def_operand_type): Renamed to
40aea05c 6083 v_def_use_operand_type.
52328bf6
DB
6084 (v_must_def_optype_d): Use v_def_use_operand_type.
6085 (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
6086 (V_MUST_DEF_KILL_*): New macros.
6087 (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
6088 members.
6089 Rename existing must_i and num_v_must members to mustd_i and
40aea05c 6090 num_v_mustd.
52328bf6
DB
6091 (SSA_OP_VMUSTDEFKILL): New flag.
6092 (SSA_OP_VIRTUAL_KILLS): New flag.
6093 (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
6094 (SSA_OP_ALL_KILLS): New flag.
6095 (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
6096
6097 * tree-ssa.c (verify_ssa): Verify virtual kills as well.
6098
6099 * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
6100 became V_MUST_DEF_RESULT.
6101 (rename_variables_in_bb): Rename kill pointer as well.
6102
6103 * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
6104 immediate uses.
6105
47a3c2dc
RS
61062004-10-27 Richard Sandiford <rsandifo@redhat.com>
6107
6108 * dbxout.c (dbxout_source_line): Move declaration of begin_label to
6109 the block that needs it.
6110
12126025
ZW
61112004-10-27 Zack Weinberg <zack@codesourcery.com>
6112
6113 * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
6114 ATTRIBUTE_UNUSED.
6115
b6ff777c
ZW
61162004-10-27 Zack Weinberg <zack@codesourcery.com>
6117
6118 * c-lex.c (cb_def_pragma): Clean up code for making location
6119 palatable to diagnostic.c.
6120
40b554a3
SB
61212004-10-27 Steven Bosscher <stevenb@suse.de>
6122
12525dd6 6123 PR tree-optimization/17757
40b554a3
SB
6124 * tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
6125 without any PHI arguments left. Make sure the argument that
6126 we're supposed to remove exists at all.
6127
18fbf599
PB
61282004-10-27 Paul Brook <paul@codesourcery.com>
6129
6130 * configure.ac: Don't test for [build] __cxa_atexit when building a
6131 cross compiler.
6132 * configure: Regenerate.
6133
57991eba
PB
61342004-10-27 Paul Brook <paul@codeosurcery.com>
6135
6136 * configure.ac: Use build_exeext not host_exeext when lookin for
6137 target tools.
6138 * configure: Regenerate.
6139
db09b5b6
AK
61402004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
6141
6142 * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
6143
73f17ac8 61442004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
4db0315e
AK
6145 patch originally created by Kelley Cook <kcook@gcc.gnu.org>
6146
6147 PR middle-end/14684
b6ff777c 6148 * opts.c (OPT_fprofile_generate): Default to -funroll-loops
4db0315e
AK
6149 to match -fprofile-use.
6150
600e1f95
KH
61512004-10-27 Kazu Hirata <kazu@cs.umass.edu>
6152
6153 * config/rs6000/rs6000.c: Fix a comment typo.
6154
e2cb732f
ZW
61552004-10-27 Zack Weinberg <zack@codesourcery.com>
6156
6157 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
6158 counter.
6159
bab208b4
AS
61602004-10-27 Andreas Schwab <schwab@suse.de>
6161
6162 * varasm.c (default_stabs_asm_out_destructor): Mark symbol as
6163 unused.
6164 (default_stabs_asm_out_constructor): Likewise.
6165
1aeaea8d
GK
61662004-10-26 Geoffrey Keating <geoffk@apple.com>
6167
6168 * builtins.c (fold_builtin_unordered_cmp): Always bring both
6169 operands to the same type.
6170
0a3d71f5
JW
61712004-10-26 James E Wilson <wilson@specifixinc.com>
6172
6173 PR target/18010
6174 * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
6175
93a27b7b
ZW
61762004-10-26 Zack Weinberg <zack@codesourcery.com>
6177
6178 * dbxout.c: Include obstack.h.
6179 (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
6180 default definition.
6181 (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
6182 Default-define here.
6183 (DBX_CONTIN_LENGTH): Move definition with others.
6184 (DBX_FINISH_STABS): New target macro.
6185 (current_sym_code, current_sym_value, current_sym_addr)
6186 (current_sym_nchars, CHARS, dbxout_continue)
6187 (print_int_cst_octal, print_octal, print_wide_int)
6188 (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
6189 (stabstr_ob, stabstr_last_contin_point): New variables.
6190 (NUMBER_FMT_LOOP): New improper macro.
6191 (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
6192 (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
6193 (dbxout_stab_value_internal_label_diff, dbxout_stabd)
6194 (dbxout_begin_stabn, dbxout_begin_stabn_sline)
6195 (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
6196 (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
6197 (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
6198 (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
6199 New functions and/or proper function-like macros.
6200 (CONTIN): Use stabstr_continue, unconditionally.
6201 (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
6202 (dbxout_init): Initialize stabstr_ob. Check
6203 NO_DBX_MAIN_SOURCE_DIRECTORY. Only write out the Ltext label
6204 if it was used. Use the new interfaces.
6205 (dbxout_source_file): Remove file argument; always write to
6206 asm_out_file. Use the new interfaces.
6207 (dbxout_type_method_1): Remove second argument which is always
6208 DECL_ASSEMBLER_NAME of the first argument. Use the new interfaces.
6209 (dbxout_type_methods): Remove write-only variables. Use the
6210 new interfaces.
6211 (dbxout_parms): Refactor to remove code duplicated in each of
6212 several successive if-else-if blocks. Use the new interfaces.
6213 (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
6214 (dbxout_source_line, dbxout_finish, dbxout_type_index)
6215 (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
6216 (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
6217 (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
6218 (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
6219 Use the new interfaces.
6220 * Makefile.in (dbxout.o): Update dependencies.
6221
6222 * defaults.h: Don't define ASM_STABD_OP.
6223 * output.h: Prototype new dbxout_* interfaces.
6224 * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
6225 * varasm.c: Don't define ASM_STABS_OP.
6226 (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
6227 Use the new dbxout.c interfaces. Call sorry if neither
6228 DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
6229
6230 * xcoffout.h: Don't define ASM_STABS_OP.
6231 (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
6232 (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
6233 (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
6234 (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
6235 do { ... } while (0) idiom.
6236
6237 * config/alpha/alpha.c (num_source_filenames): Export.
6238 * config/alpha/alpha.h (num_source_filenames): Declare.
6239 (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
6240 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
6241 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
6242 Always use .debugsym. Update commentary.
6243 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
6244 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
6245 * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
6246 Use new interfaces.
6247 * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
6248 (macho_branch_islands): Use new interfaces.
6249
6250 * doc/tm.texi: Update.
6251
7ef7000b
AH
62522004-10-26 Aldy Hernandez <aldyh@redhat.com>
6253
6254 * expr.c (emit_group_store): Do not treat floats as BLKmode.
6255 (emit_group_load): Same.
6256
663174d3
JM
62572004-10-26 Joseph S. Myers <jsm@polyomino.org.uk>
6258
6259 * c-parse.in (datadef): Use pedwarn rather than error and warning
6260 for diagnostic in case of no declaration specifiers.
6261
c5e1045b
RS
62622004-10-26 Richard Sandiford <rsandifo@redhat.com>
6263
6264 PR bootstrap/15747
6265 * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
6266 reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
6267 can be used to work around this.
6268
de334ef6
AH
62692004-10-26 Aldy Hernandez <aldyh@redhat.com>
6270
6271 * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
6272 doubles.
6273
b2c5a1e9
KH
62742004-10-26 Kazu Hirata <kazu@cs.umass.edu>
6275
6276 * stmt.c (expand_case): Update a comment.
6277
5100d114
KH
62782004-10-26 Kazu Hirata <kazu@cs.umass.edu>
6279
6280 * stmt.c (expand_case): Put an assertion that index_expr is
6281 never INTEGER_CST. Don't special case for constant
6282 index_expr.
6283
a3f164bd
AP
62842004-10-26 Andrew Pinski <pinskia@physics.uc.edu>
6285
6286 PR 18162
6287 * c-parse.in (designator): Finish with a semi-colon.
6288
62892004-10-26 Fariborz Jahanian <fjahanian@apple.com>
bba11b5f 6290
12126025 6291 * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
93a27b7b 6292 into rotlsi3.
bba11b5f 6293
5372d088
KH
62942004-10-26 Kazu Hirata <kazu@cs.umass.edu>
6295
6296 * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
6297 a default case only.
6298
f82f556d
AH
62992004-10-26 Aldy Hernandez <aldyh@redhat.com>
6300
6301 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
6302 e500 doubles.
6303 (spe_build_register_parallel): New.
6304 (rs6000_spe_function_arg): Handle e500 doubles.
6305 (function_arg): Same.
6306 (spe_func_has_64bit_regs_p): Same.
6307 (rs6000_function_value): Same.
6308 (rs6000_libcall_value): Same.
6309 (legitimate_lo_sum_address_p): Return false for e500 doubles.
6310
6311 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
6312 doubles.
6313 (DATA_ALIGNMENT): Same.
6314 (CANNOT_CHANGE_MODE_CLASS): Same.
6315
782fa603
AH
63162004-10-26 Aldy Hernandez <aldyh@redhat.com>
6317
93a27b7b
ZW
6318 * expr.c (emit_group_load): Handle floats.
6319 (emit_group_store): Same.
782fa603 6320
51e63e60
NS
63212004-10-26 Nathan Sidwell <nathan@codesourcery.com>
6322
6323 * c-lex.c (get_nonpadding_token): Remove.
6324 (c_lex_with_flags): Push timevar and eat padding here. Improve
6325 stray token diagnostic.
6326 (lex_string): Replace logic with switch statement, eat padding
6327 token here.
6328
a56cd1a9
GK
63292004-10-26 Geoffrey Keating <geoffk@apple.com>
6330
6331 PR 18149
6332 * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
6333
f1a66265
GK
63342004-10-25 Geoffrey Keating <geoffk@apple.com>
6335
6336 * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
6337 to 'non-weak'.
6338 (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
6339 (ASM_MAKE_LABEL_LINKONCE): Delete.
6340 (ASM_WEAKEN_DECL): New.
6341 (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
6342 (ASM_DECLARE_FUNCTION_NAME): Likewise.
6343 (TEXT_SECTION_ASM_OP): Add a tab.
6344 (DATA_SECTION_ASM_OP): Likewise.
6345 (SECTION_FUNCTION): Add a tab. Use fputs. Don't call
6346 data_section on every section change.
6347 (EXTRA_SECTIONS): Add a bunch of new extra sections.
6348 (EXTRA_SECTION_FUNCTIONS): Likewise.
6349 (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
6350 (JCR_SECTION_NAME): Define.
6351 (TARGET_SECTION_TYPE_FLAGS): Don't define.
6352 * config/darwin.c (darwin_encode_section_info): A symbol is defined
6353 in this file if it is not weak.
6354 (textcoal_section): Delete.
6355 (datacoal_section): Delete.
6356 (darwin_make_decl_one_only): Delete.
6357 (machopic_select_section): Handle functions.
6358 (darwin_asm_named_section): Add a tab.
6359 (darwin_section_type_flags): Delete.
6360 (darwin_unique_section): Delete contents.
6361 (darwin_emit_unwind_label): Add a tab. Make decls weak if
6362 DECL_WEAK is set.
6363 * config/darwin-protos.h (darwin_section_type_flags): Delete.
6364 (darwin_make_decl_one_only): Delete.
6365 (text_coal_section): New.
6366 (text_unlikely_section): New.
6367 (text_unlikely_coal_section): New.
6368 (const_coal_section): New.
6369 (data_coal_section): New.
6370 (const_data_coal_section): New.
6371 * varasm.c (function_section): Honour
6372 USE_SELECT_SECTION_FOR_FUNCTIONS.
6373 * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
6374 TARGET_USES_WEAK_UNWIND_INFO is in effect.
6375 * dbxout.c (dbxout_source_file): Don't change sections while
6376 a function is being output.
6377
3a3589b4
ZL
63782004-10-25 David Ayers <d.ayers@inode.at>
6379
6380 * c-common.h: Remove RID_ID.
6381 * c-parse.in: Remove OBJECTNAME and references to RID_ID.
6382 (typespec_reserved_attr): Add rule for TYPENAME
6383 non_empty_protocolrefs.
6384 (yylexname): Remove special handling of RID_ID.
6385
53071270
JW
63862004-10-25 James E Wilson <wilson@specifixinc.com>
6387
6388 * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
6389
535dd320
JM
63902004-10-25 Joseph S. Myers <jsm@polyomino.org.uk>
6391
6392 PR c/16667
6393 * c-parse.in (array_designator): New.
6394 (designator): Use it.
6395 (initelt): Only permit array_designator without '=', not ".foo".
6396
85c33455
KZ
63972004-10-25 Kenneth Zadeck <zadeck@naturalbridge.com>
6398 * gcc/Makefile.in: removed ggc for cgraphunit.
6399 * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
6400 * gcc/cgraph.h: removed static var analysis data structures and calls.
93a27b7b
ZW
6401 * gcc/cgraphunit.c:
6402 cgraph_mark_local_and_external_functions:changed name to
85c33455
KZ
6403 cgraph_mark_local_functions
6404 (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
6405 cgraph_reset_static_var_maps,get_global_static_vars_info,
6406 get_global_statics_not_read,get_global_statics_not_written,searchc,
6407 cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
6408 check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
6409 scan_for_static_refs,cgraph_characterize_statics_local,
6410 clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
6411 removed.
6412 (cgraph_optimize,init_cgraph): removed calls to static vars analysis
6413 * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
93a27b7b
ZW
6414 analysis
6415 * gcc/tree-flow.h static_vars_info: removed
85c33455
KZ
6416 * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
6417 removed calls to static vars analysis.
6418 get_call_expr_operands: removed callee variable.
6419
218d1537
KH
64202004-10-25 Kazu Hirata <kazu@cs.umass.edu>
6421
6422 * cfg.c (unchecked_make_edge, redirect_edge_succ,
6423 redirect_edge_pred): Use VEC_safe_push instead of
6424 VEC_safe_insert.
6425 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
6426
5132abc2
KH
64272004-10-25 Kazu Hirata <kazu@cs.umass.edu>
6428
6429 * cfgloopmanip.c (loopify): Take two more arguments true_edge
6430 and false_edge.
6431 * cfgloop.h: Adjust the corresponding prototype.
6432 * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
6433 * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
6434
3401a17f
JJ
64352004-10-25 Jakub Jelinek <jakub@redhat.com>
6436
6437 * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
6438 DECL_INCOMING_RTL is NULL.
6439
30a80709
SB
64402004-10-25 Steven Bosscher <stevenb@suse.de>
6441
6442 * timevar.def (TV_FIND_REFERENCED_VARS): New.
6443 * tree-dfa.c (pass_referenced_var): Use it.
6444
08a69267
RS
64452004-10-25 Roger Sayle <roger@eyesopen.com>
6446 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6447
6448 * cse.c: Change encoding of quantity numbers to avoid undefined
6449 pointer arithmetic on qty_table.
6450 (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
6451 (get_cse_reg_info): Initialize reg_qty to a unique negative value.
6452 (new_basic_block): Assign "real" quantity numbers from zero.
6453 (delete_reg_equiv): Do nothing if quantity is invalid. Reset the
6454 REG_QTY to its unique negative value.
6455 (merge_equiv_classes): Calculate need_rehash if quantity is valid.
6456 (cse_main): Don't include max_reg when determining max_qty.
6457 (cse_basic_block): Avoid subtracting a large offset from qty_table,
6458 which causes undefined C99 behaviour. Only allocate needed memory.
6459
5cfffc4e
KH
64602004-10-25 Kazu Hirata <kazu@cs.umass.edu>
6461
6462 * stmt.c (expand_case): Remove an obsolete comment.
6463
4c7c0c70
AP
64642004-10-25 Andrew Pinski <pinskia@physics.uc.edu>
6465
6466 PR middle-end/17407
6467 * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
6468 layout_type as it is already done by build_array_type.
6469 * tree.c (build_array_type): Layout the type even
6470
4318d4a1
AO
64712004-10-25 Alexandre Oliva <aoliva@redhat.com>
6472
6473 * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
6474
a6cb87fb
AO
64752004-10-25 Alexandre Oliva <aoliva@redhat.com>
6476
6477 * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
6478 with wider-than-32-bit HOST_WIDE_INTs.
6479
4de3d011
DB
64802004-10-25 David Billinghurst <David.Billinghurst@riotinto.com>
6481
93a27b7b 6482 * config/mips/mips.c(mips_output_filename): Remove unused
4de3d011
DB
6483 array ltext_label_name
6484
c8529ffa
GK
64852004-10-24 Geoffrey Keating <geoffk@geoffk.org>
6486
6487 * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
6488
a304f64e
BE
64892004-10-25 Ben Elliston <bje@au.ibm.com>
6490
6491 * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
6492
711a89d6
AP
64932004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
6494
6495 * predict.c (predict_loops): Call scev_finalize instead of
6496 scev_reset.
6497
92453b21
KH
64982004-10-24 Kazu Hirata <kazu@cs.umass.edu>
6499
6500 * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
6501 config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
6502 config/sh/ushmedia.h, config/sparc/elf.h,
6503 config/sparc/sp64-elf.h: Update copyright.
6504
4e0148df
KH
65052004-10-24 Kazu Hirata <kazu@cs.umass.edu>
6506
6507 * stmt.c (expand_case): Handle the default label outside of
6508 the for loop. Remove code to handle a missing default label.
6509
d0ed471f
KH
65102004-10-23 Kazu Hirata <kazu@cs.umass.edu>
6511
6512 * dbxout.c (dbxout_function_decl): Don't use
6513 DBX_OUTPUT_FUNCTION_END.
6514 * system.h: Poison DBX_OUTPUT_FUNCTION_END.
6515 * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
6516
66174cd0
AP
65172004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
6518
6519 PR middle-end/17967
6520 * tree-cfg.c (remove_usless_stmts_cond): Don't Fold statement.
6521
84dd478f
DB
65222004-10-23 Daniel Berlin <dberlin@dberlin.org>
6523
6524 * tree-ssa-dom.c (record_equality): Use loop depth to determine
6525 which way to record the equality as well.
6526 (loop_depth_of_name): New function.
6527
91804752
EB
65282004-10-23 Eric Botcazou <ebotcazou@libertysurf.fr>
6529
6530 PR middle-end/17793
6531 * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
6532 through the operand if it is a useless type conversion.
6533
865851d0
BE
65342004-10-23 Ben Elliston <bje@au.ibm.com>
6535
6536 * cfg.c (remove_edge): Use VEC_unordered_remove.
6537 (redirect_edge_succ): Likewise.
6538 (redirect_edge_pred): Likewise.
6539 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
6540
eb846654
KH
65412004-10-22 Kazu Hirata <kazu@cs.umass.edu>
6542
6543 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
6544 beyond its end.
6545
94ff898d
EC
65462004-10-22 Eric Christopher <echristo@redhat.com>
6547
93a27b7b 6548 * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
94ff898d
EC
6549 saves.
6550
7a2f7870
AH
65512004-10-22 Aldy Hernandez <aldyh@redhat.com>
6552
6553 * config/rs6000/spe.md (spe_extendsfdf2): New.
6554 (movdf_e500_double): New.
6555 (spe_truncdfsf2): New.
6556 (spe_absdf2): New.
6557 (spe_nabsdf2): New.
6558 (spe_negdf2): New.
6559 (sub_adddf3): New.
6560 (spe_subdf3): New.
6561 (spe_muldf3): New.
6562 (spe_floatsidf2): New.
6563 (spe_floatunssidf2): New.
6564 (fix_truncdfsi2): New.
6565 (spe_fixuns_truncdfsi2): New.
6566
6567 * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
6568 (fpr_truncdfsf2): New.
6569 (negdf2): Change to expander.
6570 (fpr_negdf2): New.
6571 (fpr_nabsdf2): Name pattern.
6572 (adddf3): Change to expander.
6573 (fpr_adddf3): Nem.
6574 (subdf3): Change to expander.
6575 (fpr_subdf3): New.
6576 (muldf3): Change to expander.
6577 (fpr_muldf3): New.
6578 (divdf3): Change to expander.
6579 (fpr_divdf3): New.
6580 (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
6581 (cmpdf): Allow for TARGET_E500_DOUBLE.
6582
3a6210c5
KH
65832004-10-22 Kazu Hirata <kazu@cs.umass.edu>
6584
6585 * c-semantics.c (re_push_stmt_list): Remove.
6586 * c-common.h: Remove the corresponding prototype.
6587
11901f5d
KH
65882004-10-22 Kazu Hirata <kazu@cs.umass.edu>
6589
6590 * stmt.c (asm_op_is_mem_input): Remove.
6591 * tree.h: Remove the corresponding prototype.
6592
82338042
KH
65932004-10-22 Kazu Hirata <kazu@cs.umass.edu>
6594
6595 * tree-gimple.c (is_gimple_constructor_elt): Remove.
6596 * tree-gimple.h: Remove the corresponding prototype.
6597
4fe8591b
KH
65982004-10-22 Kazu Hirata <kazu@cs.umass.edu>
6599
6600 * varasm.c (get_pool_mode_for_function, get_pool_offset):
6601 Remove.
6602 * rtl.h: Remove the corresponding prototypes.
6603
385efa80
KH
66042004-10-22 Kazu Hirata <kazu@cs.umass.edu>
6605
6606 * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
6607 edge information when we commit ourselves to threading a
6608 particular jump.
6609
afc3f396
KH
66102004-10-22 Kazu Hirata <kazu@cs.umass.edu>
6611
6612 * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
6613 into worklist instead of their indexes.
6614
471854f8
KH
66152004-10-22 Kazu Hirata <kazu@cs.umass.edu>
6616
6617 * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
6618 final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
6619 lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
6620 pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
6621 tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
6622 tree-scalar-evolution.c, tree-ssa-dom.c,
6623 tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
6624 tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
6625 tree-vectorizer.c, vec.h: Fix comment formatting.
6626
279b5b3c
KH
66272004-10-22 Kazu Hirata <kazu@cs.umass.edu>
6628
6629 * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
6630 libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
6631
8638a0f8
KH
66322004-10-22 Kazu Hirata <kazu@cs.umass.edu>
6633
6634 * config/ptx4.h, config/mcore/mcore-pe.h,
6635 config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
6636
cfca21cb
PB
66372004-10-22 Peter Barada <peter@the-baradas.com>
6638
6639 * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
6640 * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
6641 renaming of non-live registers in interrupt functions.
6642 * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
6643
26630a99
ZD
66442004-10-22 Zdenek Dvorak <dvorakz@suse.cz>
6645
6646 * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
6647 Use integer for loop counter.
6648 (num_ending_zeros): New function.
6649 (number_of_iterations_cond): Use num_ending_zeros.
6650
4d4cbc0e
AH
66512004-10-21 Aldy Hernandez <aldyh@redhat.com>
6652
6653 * config.gcc: Add support for --enable-e500_double.
6654
6655 * config/rs6000/e500-double.h: New file.
6656
6657 * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
6658 TARGET_E500_DOUBLE.
6659
6660 * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
6661 TARGET_E500_DOUBLE.
6662
6663 * config/rs6000/linuxspe.h: Same.
6664
6665 * doc/invoke.texi (Option Summary): Document new options for
6666 mfloat-gprs.
6667 (RS/6000 and PowerPC Options): Same.
6668
6669 * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
6670 function.
6671 (rs6000_override_options): Use it. Use
6672 SUB3TARGET_OVERRIDE_OPTIONS.
6673 Add 8548 to processor_target_table.
6674 (rs6000_legitimate_address): Handle e500 doubles.
6675 (rs6000_legitimize_address): Same.
6676 (rs6000_legitimize_reload_address): Same.
6677 (rs6000_hard_regno_nregs): Same.
6678 (spe_func_has_64bit_regs_p): Same.
6679 (emit_frame_save): Same.
6680 (gen_frame_mem_offset): Same.
6681 (rs6000_dwarf_register_span): Same.
6682 (rs6000_generate_compare): Same.
6683 (easy_fp_constant): Same.
6684 (legitimate_offset_address_p): Same.
6685
6686 * config/rs6000/spe.md: (cmdfeq_gpr): New.
6687 (tstdfeq_gpr): New.
6688 (cmpdfgt_gpr): New.
6689 (tstdfgt_gpr): New.
6690 (tstdfgt_gpr): New.
6691 (cmpdflt_gpr): New.
6692 (tstdflt_gpr): New.
6693 Add new constants.
6694
a4b1eb87
GB
66952004-10-21 Giovanni Bajo <giovannibajo@gcc.gnu.org>
6696
6697 * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
6698
ac746f1d
ZW
66992004-10-21 Zack Weinberg <zack@codesourcery.com>
6700
6701 * dbxout.c: Remove unnecessary #undefs.
6702 (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
6703 (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
6704 definition into use sites.
6705 (cwd): Make local to dbxout_init.
6706 (dbxout_init): Restructure cwd-using logic for clarity. Use
6707 IS_DIR_SEPARATOR.
6708 * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
6709 STABS_GCC_MARKER folded in here.
6710 * system.h: Poison now-unused macros.
6711 * doc/tm.texi: Remove documentation of now-unused macros.
6712
3e6da82b
AP
67132004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
6714
6715 PR c/17538
6716 * c-opts.c (push_command_line_include): Use the current file
6717 name instead of the main one.
6718
943db347
AP
67192004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
6720
6721 PR objc/17923
6722 * tree.c (staticp): A CONST_DECL has static storage if either
6723 TREE_STATIC or DECL_EXTERNAL is set.
6724 * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
6725 have null names.
6726
5bee567d
KH
67272004-10-21 Kazu Hirata <kazu@cs.umass.edu>
6728
6729 * expr.c (store_expr): Remove dont_store_target.
6730
08445125
KH
67312004-10-21 Kazu Hirata <kazu@cs.umass.edu>
6732
6733 * tree-cfg.c (thread_jumps): Speed up by using a worklist.
6734
072269d8
KH
67352004-10-21 Kazu Hirata <kazu@cs.umass.edu>
6736
6737 * tree-cfg.c (thread_jumps): Move a part of it to ...
6738 (thread_jumps_from_bb): ... here.
6739
0dda4eea
DE
67402004-10-21 David Edelsohn <edelsohn@gnu.org>
6741
6742 * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
6743 * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
6744
6f4fd16d
KH
67452004-10-21 Kazu Hirata <kazu@cs.umass.edu>
6746
6747 * expr.c (store_expr): Clean up by renaming want_value to
6748 call_param_p.
6749
cc6cea1b
KK
67502004-10-21 Kaz Kojima <kkojima@gcc.gnu.org>
6751
6752 * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
6753 fixup pc here.
6754
28526e20
AH
67552004-10-21 Aldy Hernandez <aldyh@redhat.com>
6756
6757 PR 18004.
6758 * expmed.c (store_bit_field): Pass original 'value' before
6759 recursing.
6760
6883a666
NP
67612004-10-21 Nicolas Pitre <nico@cam.org>
6762
6763 * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
6764 * config/arm/ieee754-df.S: Ditto.
6765
3e487b21
ZW
67662004-10-20 Zack Weinberg <zack@codesourcery.com>
6767
6768 * dbxout.c (asmfile): Delete. All uses changed to asm_out_file.
6769 (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
6770 Default to 0.
6771 (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
6772 When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
6773 an internal label and an N_SLINE .stabn whose value is the
6774 difference between that label and the function entry label.
6775 (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
6776 but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
6777 label and an N_SO stab with an empty string referring to it.
6778 (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
6779 of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
6780 (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
6781 (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
6782 macro is never defined.
6783 * sdbout.c (sdbout_source_line_counter): Delete.
6784 (PUT_SDB_SRC_FILE): Delete. Uses replaced with sole definition.
6785 (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
6786 only two arguments.
6787 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
6788
6789 * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
6790 * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
6791 definitions (identical to default).
6792 * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
6793 * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
6794 Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
6795 DBX_OUTPUT_MAIN_SOURCE_FILE_END.
6796 * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
6797 * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
6798 Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
6799 * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
6800 * config/alpha/alpha.c: Move declaration of num_source_filenames up.
6801 (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
6802 (sym_lineno): Delete.
6803 (alpha_output_filename): Do not emit N_SOL stabs here. Remove
6804 now-unused variable.
6805 (alpha_output_lineno): Delete.
6806 * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
6807 * config/mips/mips.c (mips_output_filename): Don't use
6808 ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
6809 (mips_output_lineno): Delete.
6810 (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
6811 * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
6812 SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
6813 * config/mips/mips.h: Likewise. Don't define ASM_OUTPUT_FILENAME.
6814 * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
6815 * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
6816 * config/mmix/mmix.h: Likewise.
6817 * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
6818 * config/mmix/mmix-protos.h: Don't prototype it.
6819 * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
6820 no need to #undef ASM_OUTPUT_SOURCE_LINE.
6821 * config/arm/aout.h: Remove RISCiX-specific definition of
6822 DBX_OUTPUT_MAIN_SOURCE_FILENAME.
6823 * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
6824 ASM_OUTPUT_SOURCE_LINE.
70a8019b 6825 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
3e487b21
ZW
6826 DBX_OUTPUT_SOURCE_LINE. Don't use current_function_func_begin_label.
6827 * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
6828
6829 * doc/tm.texi: Update.
6830
310ff872
RH
68312004-10-20 Richard Henderson <rth@redhat.com>
6832
6833 * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
6834
f644cebf
KC
68352004-10-20 Kelley Cook <kcook@gcc.gnu.org>
6836
6837 * configure.ac: Revert my previous patch.
6838 * configure: Regenerate.
6839
872a65b5
BE
68402004-10-20 Ben Elliston <bje@au.ibm.com>
6841
6842 * config/rs6000/rs6000.c
6843 (rs6000_va_start): Use build_va_arg_indirect_ref.
6844 (rs6000_gimplify_va_arg): Likewise.
6845
a03ea89b
BM
68462004-10-20 Bryce McKinlay <mckinlay@redhat.com>
6847
6848 PR java/15575
6849 * configure.ac: Declare AM_LANGINFO_CODESET.
6850 * aclocal.m4: Define AM_LANGINFO_CODESET.
6851 * configure, config.in: Rebuilt.
6852
436d948e
KH
68532004-10-20 Kazu Hirata <kazu@cs.umass.edu>
6854
6855 * expr.c (store_expr): Remove code that is run when
6856 want_value & 1 is nonzero.
6857
b235bd44
MM
68582004-10-20 Mark Mitchell <mark@codesourcery.com>
6859
6860 * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
6861 from function pointer to void *.
6862
d0edbeec
KK
68632004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
6864
6865 PR target/18032
6866 * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
6867 the frame pointer adjustment when exception handling is enabled.
6868
34bc6352
KH
68692004-10-20 Kazu Hirata <kazu@cs.umass.edu>
6870
6871 * stor-layout.c: Fix a comment typo.
6872
f45bdcd0
KH
68732004-10-20 Kazu Hirata <kazu@cs.umass.edu>
6874
6875 * expr.c (store_field): Remove two arguments value_mode and
6876 unsignedp.
6877 (expand_assignment, store_constructor_field,
6878 expand_expr_real_1): Adjust calls to store_field.
6879
68802004-10-18 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
6881
6882 * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
6883
6884 PR target/17317
6885 * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
6886 REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
6887 base and index register for loads.
6888
4f8102db
RR
6889 * config/arc/t-arc: Fix multilib handling.
6890
b55d5746
HPN
68912004-10-20 Hans-Peter Nilsson <hp@bitrange.com>
6892
9524880c
HPN
6893 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
6894 don't inspect BLOCK_FOR_INSN for barriers.
6895 * emit-rtl.c (emit_barrier_before): Revert last change.
6896 (emit_barrier_after, emit_barrier): Ditto.
6897
b55d5746
HPN
6898 * doc/extend.texi (Extended Asm): Warn and provide example
6899 solution for using a call-clobbered asm register.
6900 (Local Reg Vars): Similar. Cross-reference example.
6901
d717e500
AP
69022004-10-19 Andrew Pinski <pinskia@physics.uc.edu>
6903
6904 * tree-cfg.c (group_case_labels): Look at the second to last
6905 case statement for combing with the default case.
6906
e4ca3dc3
RH
69072004-10-19 Richard Hendeson <rth@redhat.com>
6908
6909 PR 17962
6910 * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
6911
953312a8
RH
69122004-10-19 Richard Hendeson <rth@redhat.com>
6913
6914 * builtins.c (expand_builtin_memmove): If fold_builtin_memmove
6915 succeeds, only expand the result.
6916
a8afd3ac
RH
69172004-10-19 Richard Hendeson <rth@redhat.com>
6918
6919 PR middle-end/17885
6920 * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
6921 of INDIRECT_REF.
6922
e61d7b78
KH
69232004-10-19 Kazu Hirata <kazu@cs.umass.edu>
6924
6925 * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
6926 loop with goto.
6927
e836a5a2
KH
69282004-10-19 Kazu Hirata <kazu@cs.umass.edu>
6929
6930 * expr.c (expand_assignment): Remove the last argument.
6931 Change the return type to void.
6932 * expr.h: Update the prototype of expand_assignment.
6933 * function.c (assign_parm_setup_reg): Update a call to
6934 expand_assignment.
6935 * stmt.c (expand_asm_expr): Likewise.
6936
7f8adc4e
KH
69372004-10-19 Kazu Hirata <kazu@cs.umass.edu>
6938
6939 * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
6940 unnecessary assignments to temp. Return const0_rtx.
6941
f94cef0a
KK
69422004-10-19 Kaz Kojima <kkojima@gcc.gnu.org>
6943
6944 * config/sh/sh.c (sh5_schedule_saves): Fix typo.
6945
4c67db14
KC
69462004-10-18 Kelley Cook <kcook@gcc.gnu.org>
6947
6948 * configure.ac (powerpc-*-darwin*): Require assembler to support
6949 .machine directive.
6950 * configure: Regenerate.
6951
00268eb3
KH
69522004-10-18 Kazu Hirata <kazu@cs.umass.edu>
6953
6954 * reload1.c (ior_hard_reg_set): Remove.
6955 (finish_spills): Use IOR_HARD_REG_SET instead of
6956 ior_hard_reg_set.
6957
26ebd00d
KH
69582004-10-18 Kazu Hirata <kazu@cs.umass.edu>
6959
6960 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
6961 the currently visited word to right.
6962
6e7a355c
EB
69632004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
6964
6965 PR middle-end/18045
6966 * expmed.c (expand_smod_pow2): Handle modes whose size
6967 is greater than that of HOST_WIDE_INT.
6968
d4de6966
ZL
69692004-10-18 Ziemowit Laski <zlaski@apple.com>
6970
6971 * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
6972
a494ed43 69732004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3e487b21 6974 Roger Sayle <roger@eyesopen.com>
a494ed43
EB
6975
6976 PR middle-end/17813
6977 * dojump.c (discard_pending_stack_adjust): New function.
6978 (clear_pending_stack_adjust): Call it.
6979 * expr.h (discard_pending_stack_adjust): Declare it.
6980 * explow.c (emit_stack_save): Emit pending stack adjustments
6981 before saving the stack pointer.
6982 (emit_stack_restore): Discard pending stack adjustments before
6983 restoring the stack pointer.
6984
a2d36602
RH
69852004-10-18 Richard Henderson <rth@redhat.com>
6986
3e487b21 6987 * c-common.c (handle_mode_attribute): Allow scalar->vector
a2d36602
RH
6988 type changes yet.
6989
df9af2bb
KH
69902004-10-18 Kazu Hirata <kazu@cs.umass.edu>
6991
6992 * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
6993 value to expand_assignment.
6994
ab51c2f0
KH
69952004-10-18 Kazu Hirata <kazu@cs.umass.edu>
6996
6997 * tree-cfg.c (cleanup_tree_cfg): Don't iterate on
6998 thread_jumps.
6999 (thread_jumps): Iterate until no new forwarder block arises.
7000
78b6731d
KH
70012004-10-18 Kazu Hirata <kazu@cs.umass.edu>
7002
7003 * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
7004 (thread_jumps): Use forwardable as cache of
7005 tree_forwarder_block_p throughout the function.
7006
320b0f6a
AK
70072004-10-18 Andreas Krebbel <krebbel1@de.ibm.com>
7008
7009 * cfg.c (dump_flow_info): Remove redundant dump of reg life info.
7010
77568960
AP
70112004-10-18 Andrew Pinski <pinskia@physics.uc.edu>
7012
7013 PR middle-end/15014
7014 PR middle-end/16973
7015 * tree-cfg.c (remove_bb): If we have a label expression in the
7016 basic block and the label we have taken the address, move the
7017 label expression to the basic block which is previous in the
7018 linked list.
7019 (tree_verify_flow_info): Fix printing out the label name of the
7020 problematic label expression.
7021
b757b9f8
PH
70222004-10-18 Pat Haugen <pthaugen@us.ibm.com>
7023
b1c79b46 7024 PR rtl-optimization/18002
b757b9f8
PH
7025 * simplify-rtx.c (mode_signbit_p): Externalize function...
7026 * rtl.h (mode_signbit_p): ... to here.
7027 * combine.c (simplify_shift_const): Recognize PLUS signbit as
7028 canonical form of XOR signbit and move to outer op.
7029
1a1804c2
DN
70302004-10-18 Diego Novillo <dnovillo@redhat.com>
7031
7032 * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
7033 Update all callers.
7034 * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
7035 Don't call fold_stmt more than once, use bsi_replace.
7036
bca9e17b
DN
70372004-10-18 Diego Novillo <dnovillo@redhat.com>
7038
7039 PR tree-optimization/17656
7040 * tree-ssa.c (replace_immediate_uses): When replacing a
7041 constant, if the call to fold_stmt produced a different
7042 statement, get an appropriate statement pointer by scanning
7043 STMT's basic block.
7044
b4992641
RH
70452004-10-18 Richard Henderson <rth@redhat.com>
7046
7047 * pointer-set.c (hash1): Don't use libm functions in fallback case.
7048
f072a5c8 70492004-10-18 H.J. Lu <hongjiu.lu@intel.com>
3b415018
L
7050
7051 PR bootstrap/17684
7052 * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
7053 (stage1-start): Remove and copy libunwind.a and
7054 libunwind*$(SHLIB_EXT) instead of libunwind*.
7055 (stage2-start): Likewise.
7056 (stage3-start): Likewise.
7057 (stage4-start): Likewise.
7058 (stageprofile-start): Likewise.
7059 (stagefeedback-start): Likewise.
7060
7061 * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
7062 the shared library to be created and don't remove the existing
7063 shared library.
7064 * config/arm/t-netbsd (SHLIB_LINK): Likewise.
7065 * config/i386/t-nwld (SHLIB_LINK): Likewise.
7066 * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
7067 * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
7068 * config/sh/t-linux (SHLIB_LINK): Likewise.
7069 * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
7070 * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
7071 * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
7072 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
7073
7074 * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
7075 files.
7076
a2041967
KH
70772004-10-18 Kazu Hirata <kazu@cs.umass.edu>
7078
7079 * basic-block.h (reg_set_iterator): New.
7080 (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
7081 (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
7082 (EXECUTE_IF_AND_IN_REG_SET): Likewise.
7083 * caller-save.c (save_call_clobbered_regs): Adjust to the new
7084 style.
7085 * cfgcleanup.c (thread_jump): Likewise.
7086 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
7087 * conflict.c (conflict_graph_compute): Likewise.
7088 * flow.c (verify_local_live_at_start, update_life_info,
7089 initialize_uninitialized_subregs, propagate_one_insn,
7090 init_propagate_block_info, free_propagate_block_info,
7091 propagate_block, dump_regset): Likewise.
7092 * global.c (global_conflicts): Likewise.
7093 * graph.c (start_bb): Likewise.
7094 * local-alloc.c (update_equiv_regs): Likewise.
7095 * loop.c (load_mems): Likewise.
7096 * reload1.c (compute_use_by_pseudos, order_regs_for_reload,
7097 find_reg, finish_spills): Likewise.
7098 * resource.c (mark_target_live_regs): Likewise.
7099 * sched-deps.c (sched_analyze_insn): Likewise.
7100 * sched-rgn.c (sched-rgn.c): Likewise.
7101 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
7102
ba3ed8d8
JJ
71032004-10-18 Jakub Jelinek <jakub@redhat.com>
7104
7105 * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
7106 operand 1 instead of 2
7107
2cd0e9f4
KH
71082004-10-18 Kazu Hirata <kazu@cs.umass.edu>
7109
7110 * loop-unroll.c: Fix comment typos.
7111
f37a4f14
RE
71122004-10-18 Revital Eres <eres@il.ibm.com>
7113
7114 * Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
7115 * loop-unroll.c: Include varray.h.
7116 (struct var_to_expand, struct opt_info): Rename split_ivs_info to
7117 opt_info and expand it to support variable expansion.
7118 (analyze_insns_in_loop): Rename analyze_ivs_to_split and
7119 expand it to support variable expansion.
7120 (pt_info_start_duplication): Rename si_info_start_duplication.
7121 (apply_opt_in_copies): Rename split_ivs_in_copies and add support
7122 to the variable expansion optimization.
7123 (free_opt_info): Rename free_si_info.
7124 (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
7125 expand_var_during_unrolling, insert_var_expansion_initialization,
7126 combine_var_copies_in_loop_exit, release_var_copies,
7127 get_expansion): New functions.
7128 (peel_loop_completely, unroll_loop_constant_iterations,
7129 unroll_loop_runtime_iterations, peel_loop_simple,
7130 unroll_loop_stupid): Change uses of struct si_info
7131 to struct opt_info
7132 and add uses of fvariable-expansion-in-unroller flag.
7133 * params.def: Add parameter to restrict the number of expansions.
7134 * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
7135 the number of expansions.
3e487b21 7136 * common.opt: (fvariable-expansion-in-unroller): New flag.
f37a4f14
RE
7137 * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
7138
535306d0
DS
71392004-10-18 Danny Smith <dannysmith@users.sourceforge.net>
7140
7141 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
7142 __GXX_MERGED_TYPEINFO_NAMES to 0.
7143
0ca541aa
HPN
71442004-10-17 Hans-Peter Nilsson <hp@bitrange.com>
7145
7146 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
7147 handle barriers in a bb by checking that it points to a NULL bb.
7148 * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
7149 (emit_barrier_after, emit_barrier): Ditto.
7150
7dcb0442
JM
71512004-10-18 Joseph S. Myers <jsm@polyomino.org.uk>
7152
7153 * doc/extend.texi (Attribute Syntax): Clarify details of
7154 attributes on parameters.
7155
e9472263
ZD
71562004-10-17 Zdenek Dvorak <dvorakz@suse.cz>
7157
7158 * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
7159 loop.
7160
7c672dfc
AP
71612004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
7162
7163 Revert:
7164 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
7165
3e487b21
ZW
7166 * c-typeck.c (default_function_array_conversion): Always create
7167 &a[0] for array types.
7168 (build_unary_op): Do not fold &a[x] into a + x.
7c672dfc 7169
ac8245fa
AP
71702004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
7171
7172 PR middle-end/17925
7173 * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
7174 block if there is a goto with a locus.
7175
caec2cfc
KH
71762004-10-17 Kazu Hirata <kazu@cs.umass.edu>
7177
7178 * config/elfos.h, config/gofast.h, config/interix.h,
7179 config/netbsd.h, config/svr3.h, config/vxworks.h,
7180 config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
7181 config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
7182 config/alpha/netbsd.h, config/arm/arm-modes.def,
7183 config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
7184 config/cris/aout.h, config/frv/frv-modes.def,
7185 config/i386/beos-elf.h, config/i386/gas.h,
7186 config/i386/i386-coff.h, config/i386/i386-modes.def,
7187 config/i386/linux.h, config/i386/linux64.h,
7188 config/i386/mingw32.h, config/i386/netbsd-elf.h,
7189 config/i386/netbsd64.h, config/i386/sco5.h,
7190 config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
7191 config/ia64/ia64-modes.def, config/ia64/itanium1.md,
7192 config/ia64/itanium2.md, config/m68k/m68k-modes.def,
7193 config/mips/mips-modes.def, config/mips/sdb.h,
7194 config/mips/vr.h, config/mips/vxworks.h,
7195 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
7196 config/pa/pa32-linux.h, config/rs6000/40x.md,
7197 config/rs6000/7450.md, config/rs6000/8540.md,
7198 config/rs6000/linuxspe.h, config/rs6000/power4.md,
7199 config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
7200 config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
7201 config/s390/s390-modes.def, config/sh/elf.h,
7202 config/sh/sh-modes.def, config/sh/sh64.h,
7203 config/sparc/ultra1_2.md, config/sparc/ultra3.md,
7204 config/stormy16/stormy16.md, config/v850/v850-protos.h,
7205 config/vax/vax.md: Update copyright.
7206
6c62412f
KH
72072004-10-17 Kazu Hirata <kazu@cs.umass.edu>
7208
7209 * expr.c (expand_expr_real_1): Remove an obsolete comment.
7210
a2a877e2
AP
72112004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
7212
7213 * c-typeck.c (default_function_array_conversion): Always create
7214 &a[0] for array types.
7215 (build_unary_op): Do not fold &a[x] into a + x.
7216
bc54ef99
JJ
72172004-10-17 Jakub Jelinek <jakub@redhat.com>
7218
7219 * pointer-set.c (hash1): Use integer part of 2^64 / phi
7220 instead 2^32 / phi if long is 64-bit.
7221
da5b307a
JM
72222004-10-17 Joseph S. Myers <jsm@polyomino.org.uk>
7223
13ceb6d1 7224 * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
da5b307a
JM
7225 RID_PTRVALUE.
7226 * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
7227 declarations.
7228 (reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
7229 __ptrextent__, __ptrvalue and __ptrvalue__.
7230 (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
7231 entries.
7232
4fe52ce9
DJ
72332004-10-16 Dale Johannesen <dalej@apple.com>
7234
7235 * c-common.c (c_common_get_alias_set): Use GGC for type_hash_table.
7236
fce22de5
ZD
72372004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
7238
7239 PR tree-optimization/17766
7240 * basic-block.h (enum dom_state): DOM_CONS_OK removed.
7241 (dom_info_available_p): Declare.
7242 * cfghooks.c (split_block, make_forwarder_block): Use
7243 dom_info_available_p.
7244 * dominance.c (compute_dom_fast_query, calculate_dominance_info,
7245 free_dominance_info, verify_dominators): Ditto.
7246 (dom_info_available_p): New function.
7247 * tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
7248 (thread_jumps): Use dom_info_available_p.
7249 * tree-complex.c (expand_complex_div_wide): Ditto.
7250 * tree-mudflap.c (mf_build_check_statement_for): Ditto.
7251
80cad5fa
ZD
72522004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
7253
7254 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
7255 (find_best_candidate): Take also important candidates into account.
7256 (find_optimal_iv_set): Initialize important_candidates bitmap.
7257
f59b0bd4
ZD
72582004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
7259
7260 PR tree-optimization/17560
7261 * predict.c (tree_estimate_probability): Mark irreducible
7262 loops.
7263
71068e31
ZD
72642004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
7265
7266 PR rtl-optimization/17723
7267 * cfgcleanup.c (merge_memattrs): Handle case when
7268 MEM_SIZE == NULL_RTX.
7269
29c431a1
AP
72702004-10-15 Andrew Pinski <pinskia@physics.uc.edu>
7271
7272 * toplev.c (dump_file_name): Change type to be const.
7273
dee3cda5
JM
72742004-10-15 Joseph S. Myers <jsm@polyomino.org.uk>
7275
7276 * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
7277 non_lvalue to stop something being a null pointer constant.
7278
b2df7d08
AH
72792004-10-15 Aldy Hernandez <aldyh@redhat.com>
7280
7281 * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
7282 available for TARGET_FPRS.
7283 (FUNCTION_VALUE_REGNO_P): Same.
7284
7088c6e4
GK
72852004-10-15 Geoffrey Keating <geoffk@apple.com>
7286
7287 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
7288 -maltivec in same style as other ISA options.
7289
eff41b9f
JG
72902004-10-15 Jon Grimm <jgrimm2@us.ibm.com>
7291
7292 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
7293 definition.
7294
f30278e8
KH
72952004-10-15 Kazu Hirata <kazu@cs.umass.edu>
7296
7297 * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
7298 collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
7299 gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
7300 genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
7301 gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
7302 gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
7303 lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
7304 predict.def, predict.h, protoize.c, reload.h, resource.h,
7305 rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
7306 tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
7307 unwind-sjlj.c, value-prof.h: Update copyright.
7308
ed8b7558
KH
73092004-10-15 Kazu Hirata <kazu@cs.umass.edu>
7310
7311 * pointer-set.c, tree-vectorizer.c: Fix comment typos.
7312
e26ce7ed
DN
73132004-10-15 Diego Novillo <dnovillo@redhat.com>
7314
7315 * tree-optimize.c (execute_one_pass): Stop timer right after
7316 executing the pass.
7317
53e782e5
AP
73182004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
7319
7320 Revert:
7321 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
7322 PR middle-end/17967
7323 Revert:
7324 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
7325 (remove_useless_stmts_1): Fold trees we know how to fold.
7326
d2ab3e37
DE
73272004-10-14 David Edelsohn <edelsohn@gnu.org>
7328
7329 * configure.ac: Add .machine power4 directive when testing for
7330 mfcr field.
7331 * configure: Regenerate.
7332
9d948a40
GK
73332004-10-14 Geoffrey Keating <geoffk@apple.com>
7334
7335 * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
7336
eaddbc33
AP
73372004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
7338
7339 * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
7340 always.
7341
a6645c18
DJ
73422004-10-14 Daniel Jacobowitz <dan@codesourcery.com>
7343
7344 * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
7345 for 'f' if !TARGET_FPRS.
7346
0ba6c56d
RH
73472004-10-14 Richard Henderson <rth@redhat.com>
7348
7349 PR debug/14492
7350 * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
7351
559f2da5
RH
73522004-10-14 Richard Henderson <rth@redhat.com>
7353
7354 PR c/17023
7355 * c-decl.c (store_parm_decls_oldstyle): Care for parameter type
7356 as error_mark_node.
7357 * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
7358 instaed of current_function_decl non-null.
7359
0c58f841
MA
73602004-10-14 Matt Austern <austern@apple.com>
7361
7362 * pointer-set.c: New file, special-purpose hash table.
7363 * pointer-set.h: New file.
7364 * tree.h (struct pointer_set_t): Declare as opaque type.
7365 (tree_walk): Last argument is pointer_set_t* now.
7366 * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
3e487b21 7367 (walk_type_fields):
0c58f841
MA
7368 (walk_tree): Convert from htab_t to pointer_set_t for keeping
7369 track of which nodes have already been visited.
7370 (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
7371 * cgraphunit.c (cgraph_create_edges): Likewise.
7372 (cgraph_characterize_statics_local): Likewise.
7373 * tree-dfa.c (collect_dfa_stats): Likewise.
7374 * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
7375 pointer_set_t* now.
7376 * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
7377 * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
7378 of walk_subtrees is pointer_set_t* now.
7379 * Makefile.in (OBJS-common): add pointer-set.o
7380 (tree-inline.o): Depends on pointer-set.h
7381 (tree-dfa.o): Likewise
7382 (cgraphunit.o): Likewise
3e487b21 7383
c4e18b1c
GK
73842004-10-14 Geoffrey Keating <geoffk@apple.com>
7385
7386 * config/rs6000/darwin.h (ASM_SPEC): Delete.
7387 (TARGET_ASM_FILE_START): Define.
7388 * config/darwin.h (ASM_SPEC): Define.
7389 * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
7390 -mlong-double-128, it's the default. Update comment about reason
7391 for force_cpusubtype_ALL.
7392 * config/rs6000/darwin-vecsave.asm: Supply .machine.
7393 * config/rs6000/darwin-world.asm: Likewise.
7394 * config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
7395 (symbolic_operand): Delete #if 0ed code.
7396
b77aa1f7
AP
73972004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
7398
7399 * stmt.c (add_case_node): Make sure that we have integer
7400 constant before calling tree_int_cst_compare.
7401
4965c163
AP
74022004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
7403
7404 PR middle-end/17967
7405 Revert:
7406 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
7407 (remove_useless_stmts_1): Fold trees we know how to fold.
7408
b419bac7
JM
74092004-10-14 Joseph S. Myers <joseph@codesourcery.com>
7410
7411 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
7412 config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
7413 -m64.
7414
d58005c7
UW
74152004-10-14 Ulrich Weigand <uweigand@de.ibm.com>
7416
7417 * reload.c (find_reloads): When reloading a PLUS with constant
7418 operand, make sure the constant is pushed to the constant pool
7419 if required.
7420 * config/s390/s390.c (s390_secondary_input_reload_class): Remove
7421 reload bug workaround.
7422 (s390_expand_plus_operand): Likewise.
7423
3020563a
DE
74242004-10-14 David Edelsohn <edelsohn@gnu.org>
7425
7426 * opts.c (common_handle_option): Do not enable
7427 flag_speculative_prefetching for -fprofile-generate/use.
7428
0ecf0d5f
DP
74292004-10-14 Devang Patel <dpatel@apple.com>
7430
7431 PR 17635
7432 * tree-if-conv.c (process_phi_nodes): Process latch block.
7433 (combine_blocks): Process latch block and update loop structure.
3e487b21 7434
a023975e
OG
74352004-10-14 Olga Golovanevsky <olga@il.ibm.com>
7436
7437 * tree-vectorizer.c (vect_generate_tmps_on_preheader):
7438 (vect_update_ivs_after_vectorizer):
7439 (vect_transform_for_unknown_loop_bound):
7440 (tree_duplicate_loop_to_edge):
7441 (allocate_new_names):
7442 (rename_use_op):
7443 (rename_def_op):
7444 (rename_variables_in_bb):
7445 (free_new_names):
7446 (rename_variables_in_loop):
7447 (copy_phi_nodes):
7448 (update_phis_for_duplicate_loop):
7449 (update_phi_nodes_for_guard):
7450 (make_loop_iterate_ntimes):
7451 (tree_duplicate_loop_to_edge_cfg):
7452 (add_loop_guard):
7453 (vect_analyze_loop_with_symbolic_num_of_iters):
3e487b21 7454 (verify_loop_for_duplication):
a023975e
OG
7455 (vect_gen_niters_for_prolog_loop):
7456 (vect_update_niters_after_peeling):
7457 (vect_update_inits_of_dr):
7458 (vect_update_inits_of_drs):
7459 (vect_build_loop_niters):
7460 (vect_do_peeling_for_alignment): New functions.
7461 (vect_transform_loop): Add unknown and known but indivisible loop
3e487b21 7462 bound support; add peeling for unalignment support.
a023975e
OG
7463 (vect_analyze_loop_form): Support symbolic number of iterations.
7464 (vect_transform_loop_bound): New input parameter.
7465 (vect_get_loop_niters): Change input parameter type.
7466 (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
7467 (vectorizable_store): Allow unaligned access.
7468 (vectorize_loops): Add rewrite_into_loop_closed_ssa.
7469 (vect_analyze_data_refs_alignment): Allowed one unaligned
7470 store.
3e487b21 7471 * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
a023975e
OG
7472 to use tree.
7473 (LOOP_VINFO_INT_NITERS): New macro.
7474 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
7475 (do_peeling_for_alignment):
7476 (unaligned_drs): New members of _loop_vec_info.
7477 (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
7478
7238c5ec
RM
74792004-10-14 Ranjit Mathew <rmathew@hotmail.com>
7480
7481 * tree.h (TREE_STRING_POINTER): Wrap in "const char *".
7482 (struct tree_string): Remove "const" qualifier for "str".
7483
322ae40b
IR
74842004-10-14 Ira Rosen <irar@il.ibm.com>
7485
7486 * tree-vectorizer.c (vect_analyze_data_refs): Call
7487 vect_get_base_and_bit_offset to get memory tag for array ref.
7488 (vect_create_addr_base_for_vector_ref): Remove redundant checks.
7489
b79187bb
RE
74902004-10-14 Richard Earnshaw <rearnsha@arm.com>
7491
7492 * configure.ac: Use $LN_S for creating symlinks (not $LN).
7493 * configure: Regenerate.
7494
c7525a64
KG
74952004-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7496
7497 * doc/install.texi (*-*-solaris2*): Update with info about kernel
7498 patches to solve spurious testsuite failures.
7499
f0923257
DN
75002004-10-14 Dorit Naishlos <dorit@il.bim.com>
7501
7502 * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
7503 Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
7504 (vect_analyze_operations): Make sure the vectorization factor > 1. Add
7505 gcc_assert under ENABLE_CHECKING.
7506 (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
7507 get_vectype_for_scalar_type).
7508
7509 (vect_get_vec_def_for_operand): Remove redundant variables.
7510 (vect_transform_loop): Likewise.
7511
a2503645
RS
75122004-10-14 Richard Sandiford <rsandifo@redhat.com>
7513
7514 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
7515 global for -mcaller-super-interworking.
7516 (CALLER_INTERWORKING_SLOT_SIZE): New macro.
7517 * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
7518 CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
7519 not need a frame pointer.
7520 (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
7521 the soft frame pointer offset.
7522 (thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
7523 * config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
7524 _interwork_{r7,r11}_call_via_rN if some arguments are passed on
7525 the stack. Use frame_pointer_needed to choose between them.
7526 * config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
7527 (interwork_with_frame): New macro.
7528 (interwork): Add _interwork_{r7,r11}_call_via_rN().
7529
ef9af077
BE
75302004-10-14 Ben Elliston <bje@au.ibm.com>
7531
7532 PR other/17900
7533 * diagnostic.c (trim_filename): Fix logic bug in walking backwards
7534 up the filename looking for a previous directory separator.
7535
81da229b
JM
75362004-10-14 Joseph S. Myers <jsm@polyomino.org.uk>
7537
7538 * c-tree.h (enum c_typespec_kind, struct c_typespec,
7539 parser_xref_tag): New.
7540 (struct c_declspecs): Add tag_defined_p. Adjust definition of
7541 typedef_p.
7542 (declspecs_add_type): Adjust prototypes.
7543 * c-parse.in (%union): Add tstype.
7544 (typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
7545 typespec_reserved_attr, typespec_nonreserved_nonattr,
7546 structsp_attr, structsp_nonattr): Change to tstype. Update
7547 actions.
7548 * c-decl.c (build_null_declspecs): Initialize tag_defined_p.
7549 (declspecs_add_type): Update to take struct c_typespec argument.
7550 Set tag_defined_p and typedef_p as appropriate.
7551 (xref_tag): Rename to parser_xref_tag and replace by wrapper.
7552 Update to return struct c_typespec.
7553 (shadow_tag_warned): Don't let empty declarations with qualifiers
7554 or storage class specifiers redeclare a tag if a previous
7555 declaration is visible.
7556
d8cb0614
RH
75572004-10-13 Richard Henderson <rth@redhat.com>
7558
7559 PR debug/15860
7560 * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
7561 for DECL_INCOMING_RTL.
7562
bf6ac87c
HPN
75632004-10-14 Hans-Peter Nilsson <hp@axis.com>
7564
7565 PR target/17984
7566 * config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
7567 trunc_int_for_mode for constants used in shortened mode.
7568
61f03aba
RH
75692004-10-13 Richard Henderson <rth@redhat.com>
7570
3e487b21
ZW
7571 PR c/17384
7572 * c-common.c (handle_mode_attribute): Disallow mode changes that
7573 alter the CODE of the top-level type.
7574
7575 * crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit
7576 integer from internal limits macros.
7577 * config/i386/mm3dnow.h (__v2sf): Fix base type.
61f03aba 7578
32e66afd 75792004-10-13 Richard Henderson <rth@redhat.com>
3e487b21
ZW
7580
7581 PR debug/13841
7582 * function.c (instantiate_decl): Recurse for CONCAT.
32e66afd 7583
520308bc
DE
75842004-10-13 David Edelsohn <edelsohn@gnu.org>
7585
7586 * config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
7587 andi./andis.
7588 (anddi3): Same.
9a3c428b
DE
7589 (extzvdi_internal1): Add attribute "compare".
7590 (extzvdi_internal2): Same.
520308bc 7591
090359d6
TT
75922004-10-12 Tom Tromey <tromey@redhat.com>
7593
7594 * doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
7595
2f59e40e
DJ
75962004-10-13 Dale Johannesen <dalej@apple.com>
7597
7598 * doc/extend.texi (Extended Asm): Rewrite asm volatile description.
7599
ccab73c3
FCE
76002004-10-13 Frank Ch. Eigler <fche@redhat.com>
7601
7602 * toplev.c (compile_file): Call mudflap_finish_file from here ...
7603 * c-decl.c (c_write_global_declarations): ... instead of here ...
7604 * cp/decl.c (cp_finish_file): ... and here.
7605 * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
7606
163075a0
AP
76072004-10-13 Andrew Pinski <pinskia@physics.uc.edu>
7608
7609 * tree-ssa-dom.c (record_range): Free the element if we are not
7610 going to use it.
7611
e89f2821
TT
76122004-10-13 Tom Tromey <tromey@redhat.com>
7613
7614 PR java/15578:
7615 * gcc.c (option_map): Added --extdirs and --encoding.
7616
b9bf58e5
EB
76172004-10-13 Eric Botcazou <ebotcazou@libertysurf.fr>
7618
7619 PR target/14454
7620 * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
7621 sparc_can_output_mi_thunk.
7622 (sparc_output_mi_thunk): Simplify handling of delta offset. Add
7623 handling of vcall offset.
7624 (sparc_can_output_mi_thunk): New predicate.
7625 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
7626 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
7627 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
7628
7629 * config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
7630
7631 * config/sparc/sparc.md (movdi): Remove redundant test.
7632
2a10039c
PB
76332004-10-13 Paolo Bonzini <bonzini@gnu.org>
7634
7635 * tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
7636 TDF_IPA from -fdump-tree-*-all.
7637
fe013435
PB
76382004-10-13 Paul Brook <paul@codesourcery.com>
7639
7640 * config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
7641 * config/arm/arm.c (thumb_find_work_register): Update comments.
7642 (arm_load_pic_register): Add argument for scratch register.
7643 (arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
7644 * config/arm/arm.md (builtin_setjmp_receiver): Ditto.
7645
50300b4c
KH
76462004-10-13 Kazu Hirata <kazu@cs.umass.edu>
7647
7648 * tree-data-ref.c: Fix comment typos.
7649
69d49802
JJ
76502004-10-13 Jakub Jelinek <jakub@redhat.com>
7651 Zdenek Dvorak <dvorakz@suse.cz>
7652
7653 PR tree-optimization/17724
7654 * tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
7655
13c62176
DN
76562004-10-13 Dorit Naishlos <dorit@il.ibm.com>
7657
7658 * rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
7659 (altivec_builtin_mask_for_store): Likewise.
7660 (altivec_init_builtins): Use lang_hooks.builtin_function to
7661 create the decls for builtin_altivec_mask_for_load/store.
7662
1ce3d58a
NC
76632004-10-13 Nick Clifton <nickc@redhat.com>
7664
7665 * config/c4x/c4x.c: Remove inclusion of loop.h.
7666
f76ccf60
BE
76672004-10-12 Ben Elliston <bje@au.ibm.com>
7668
7669 * basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
7670 (ei_container): New; renamed.
7671 (ei_start, ei_last): New macros.
7672 (ei_start_1, ei_last_1): Renamed from ei_start.
7673 (ei_last_1, ei_end_p): Use ei_container() where applicable.
7674 (ei_one_before_end_p, ei_next, ei_edge): Likewise.
7675 * gcse.c (remove_reachable_equiv_notes): Use ei_container().
7676
86df10e3 76772004-10-11 Sebastian Pop <pop@cri.ensmp.fr>
fe013435 7678
86df10e3
SP
7679 * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
7680 * cfgloop.c (initialize_loops_parallel_p): New.
3e487b21 7681 (flow_loops_find): Initialize the parallel_p field to true for all
86df10e3
SP
7682 the loops.
7683 * tree-ssa-loop-niter.c: Include "tree-data-ref.h".
3e487b21 7684 (estimate_numbers_of_iterations_loop): Infers the loop bounds from
86df10e3 7685 the size of the data accessed in the loop.
3e487b21 7686 (struct nb_iter_bound): Moved...
86df10e3
SP
7687 * cfgloop.h (struct nb_iter_bound): ... here.
7688 (estimated_nb_iterations, parallel_p): New fields in struct loop.
7689 (record_estimate): Declare extern here.
7690 * tree-chrec.c: Fix comments.
7691 (nb_vars_in_chrec): New function.
7692 * tree-chrec.h (nb_vars_in_chrec): Declared here.
3e487b21 7693 * tree-data-ref.c: Don't include lambda.h, that is already included
86df10e3
SP
7694 in tree-data-ref.h.
7695 (tree_fold_divides_p): Don't check for integer_onep.
7696 (tree_fold_bezout): Removed.
7697 (gcd): New static duplicated function.
7698 (int_divides_p, dump_subscript): New.
7699 (dump_data_dependence_relation): Use dump_subscript.
3e487b21 7700 (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
86df10e3 7701 estimate_niter_from_size_of_data): New.
3e487b21
ZW
7702 (analyze_array_indexes, analyze_array): Call
7703 estimate_niter_from_size_of_data during the detection of array
7704 references. Pass in a pointer to the statement that contains the
86df10e3
SP
7705 array reference.
7706 (all_chrecs_equal_p): New.
7707 (compute_distance_vector): Renamed compute_subscript_distance.
7708 Deal with multivariate conflict functions.
3e487b21 7709 (initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
86df10e3
SP
7710 DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
7711 (non_affine_dependence_relation): New.
3e487b21
ZW
7712 (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
7713 analyze_siv_subscript, analyze_miv_subscript,
7714 analyze_overlapping_iterations, subscript_dependence_tester):
86df10e3
SP
7715 Initialize and return last_conflicts function.
7716 (initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
7717 compute_overlap_steps_for_affine_1_2): New.
7718 (analyze_siv_subscript_affine_cst): Removed.
3e487b21
ZW
7719 (analyze_subscript_affine_affine): Disprove dependences based on the
7720 iteration domains. Solve the univariate dependence case as before,
86df10e3
SP
7721 but use lambda_matrix_right_hermite instead of tree_fold_bezout.
7722 Implement the multivariate case of 2 versus 1 variables.
3e487b21 7723 (build_classic_dist_vector, build_classic_dir_vector): Implement some
86df10e3 7724 unhandled cases.
3e487b21 7725 (find_data_references_in_loop): Compute and initialize
86df10e3
SP
7726 loop->estimated_nb_iterations and loop->parallel_p.
7727 (analyze_all_data_dependences): Modify the debug dump order.
7728 * tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
7729 subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
3e487b21 7730 (SUB_LAST_CONFLICT, subscript->last_conflict,
86df10e3
SP
7731 data_dependence_relation->affine_p, data_dependence_relation->size_vect,
7732 DDR_AFFINE_P, DDR_SIZE_VECT): New.
7733 (find_data_references_in_loop, initialize_data_dependence_relation,
7734 dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
7735
06c3418c
KC
77362004-10-12 Kelley Cook <kcook@gcc.gnu.org>
7737
7738 * configure: Regenerate.
7739
01d8c00b
FJ
77402004-10-12 Fariborz Jahanian <fjahanian@apple.com>
7741
7742 PR 17892
7743 * tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
7744 (simplify_rhs_and_lookup_avail_expr): Disallow associativity
3e487b21 7745 and constant folding of floating point MULT_EXPR/PLUS_EXPR
01d8c00b
FJ
7746 expressions.
7747
967af719
UW
77482004-10-12 Ulrich Weigand <uweigand@de.ibm.com>
7749
7750 * config/s390/s390.c (s390_va_start): Use build_va_arg_indirect_ref.
7751 (s390_gimplify_va_arg): Likewise.
7752
888d2cd6
DJ
77532004-10-12 Daniel Jacobowitz <dan@debian.org>
7754
7755 * defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P)
7756 (MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P)
7757 (REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions.
7758 * regclass.c (record_address_regs): Remove ifdef. Use
7759 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
7760 * regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary
7761 definition.
7762 (scan_rtx_address, replace_oldest_value_addr): Use
7763 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
7764 * reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove
7765 unnecessary definitions.
7766 (find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P
7767 and MODE_BASE_REG_REG_CLASS.
7768 * config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed.
7769 (MODE_BASE_REG_REG_CLASS): Define.
7770 (REGNO_MODE_OK_FOR_REG_BASE_P): Define.
7771 (REG_MODE_OK_FOR_REG_BASE_P): Define.
7772 * doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS,
7773 REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P.
7774
7dcdacad
DB
77752004-10-12 Daniel Berlin <dberlin@dberlin.org>
7776
7777 * tree-ssa-alias.c (verify_name_tags): New function.
7778 (verify_flow_sensitive_alias_info): Remove code that used to check name tags.
7779 (verify_alias_info): Call verify_name_tags.
7780
c271ba77
KH
77812004-10-12 Kazu Hirata <kazu@cs.umass.edu>
7782
7783 PR rtl-optimization/17931
7784 * config/i386/i386.c (ix86_rtx_costs): Handle COMPARE with
7785 ZERO_EXTRACT in it.
7786
22de4c3d
RE
77872004-10-12 Richard Earnshaw <rearnsha@arm.com>
7788
7789 * arm.c (arm_print_operand): Use output_operand_lossage where possible
7790 rather than aborting.
7791
fa91adc6
PB
77922004-10-12 Paul Brook <paul@coudesourcery.com>
7793
7794 * config.gcc: Add armv6{k,z,zk}
7795 * config/arm/arm-cores.def: Add arm1176 and mpcore.
7796 * config/arm/tune.md: Regenerate.
7797 * config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK):
7798 Define.
7799 (all_architectures): Add armv6k, armv6z, armv6zk.
7800 * config/arm/lib1funcs.asm: Recognise new arm arcitectures.
7801 * doc/invoke.texi: Document new arch and cpu values.
7802
a3702807
PB
78032004-10-12 Paul Brook <paul@coodesourcery.com>
7804
7805 * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Change meabi=3 to
7806 meabi=4.
7807
49dee49c
PB
78082004-10-12 Paul Brook <paul@codesourcery.com>
7809
7810 * config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints.
7811 Handle negative constants.
7812
3789b316
JM
78132004-10-12 Joseph S. Myers <jsm@polyomino.org.uk>
7814
7815 PR c/17301
7816 * c-typeck.c (convert_arguments): Return error_mark_node if there
7817 are too few arguments.
7818 (build_function_call): Handle error_mark_node return from
7819 convert_arguments.
7820
35f06ae4
PB
78212004-10-06 Paolo Bonzini <bonzini@gnu.org>
7822
7823 * configure.ac (symbolic_link): Replace with $LN_S.
7824 (Assembler/Linker): Hard link from gas and binutils trees.
7825 * aclocal.m4 (gcc_AC_PROG_LN_S): Try "cp -p" before cp.
7826 * configure: Regenerate.
7827
21addcd9
PB
78282004-10-12 Paul Brook <paul@codesourcery.com>
7829
7830 * configure.ac: Don't look for host assembler when building a canadian
7831 cross.
7832 * configure: Regenerate.
7833
afd85c1a
RS
78342004-10-11 Roger Sayle <roger@eyesopen.com>
7835
7836 PR other/17361
7837 * c-opts.c (permit_fortran_options): Delete/obsolete global variable.
7838 (c_common_init_options): Remove #ifdef CL_F77 code. Scan command
7839 line options for "-lang-asm" and if found allow any of the C-family
7840 front-end options.
7841 (c_common_handle_option): Remove last use of permit_fortran_options.
7842
fc0ea003
UW
78432004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
7844
7845 * config/s390/s390.c (print_operand): Support 'S' format flag.
7846 * config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag.
7847 ("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise.
7848 ("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise.
7849 ("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise.
7850 ("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise
7851 ("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise.
7852 ("*movstricthi"): Likewise.
7853 ("*load_multiple_di", "*load_multiple_si"): Likewise.
7854 ("*store_multiple_di", "*store_multiple_si"): Likewise.
7855 ("*sethiqisi", "*sethihisi"): Likewise.
7856 ("*sethiqidi_64", "*sethiqidi_31"): Likewise.
7857 ("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise.
7858 ("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise.
7859 ("*xorqi3", "*xc", "*xc_zero"): Likewise.
7860 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise.
7861
7862 ("*tmhi_full"): Fix incorrect op_type attribute.
7863
7864 ("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash.
7865 ("*subdi3_slb_cc", "*subdi3_slb"): Likewise.
7866 ("*addsi3_alc_cc", "*addsi3_alc"): Likewise.
7867 ("*subsi3_slb_cc", "*subsi3_slb"): Likewise.
7868
c94b5e7f
AP
78692004-10-11 Andrew Pinski <pinskia@physics.uc.edu
7870
7871 PR middle-end/16266
7872 * function.c (temp_slots_at_level): Fix typo which creates too
7873 many temp stack slots levels.
7874
cadc42db
UW
78752004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
7876
7877 * config/s390/s390.c (s390_trampoline_template): Generate shorter
7878 trampoline code.
7879 (s390_trampoline_instantiate): Adapt.
7880 * config/s390/s390.h (TRAMPOLINE_SIZE): Adapt to new code.
7881
eb172681
RS
78822004-10-11 Roger Sayle <roger@eyesopen.com>
7883
7884 PR middle-end/17657
7885 * stmt.c (add_case_node): Add additional type argument. Declare
7886 as static to match prototype. Convert the upper and lower bounds
3e487b21 7887 to the specified index type. Optimize away case ranges/values
eb172681
RS
7888 that are outside the index type's bounds. Truncate case ranges
7889 that span the index type's bounds.
7890 (expand_case): Avoid unnessary computation and memory allocation
7891 when index type is error_mark_node. Pass index_type as required
7892 by change to add_case_node API. No need to convert case range
7893 bounds to index_type, this is now done by add_case_node.
7894
19b63d8e
UW
78952004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
7896
7897 * config/s390/s390-protos.h (s390_offset_p): Add prototype.
7898 * config/s390/s390.c (s390_offset_p): New function.
7899 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu",
7900 "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to
7901 transform Q->Q alternatives to *clc pattern.
7902 ("*clc"): Move.
7903 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
7904 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter
7905 to transform Q->Q alternatives to *mvc pattern.
7906 ("*mvc"): Move. Add peephole to merge adjacent MVCs.
7907 ("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch",
7908 "*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to
7909 transform Q->Q alternatives to *nc pattern.
7910 ("*nc"): New insn. New peephole to merge adjacent NCs.
7911 ("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch",
7912 "*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to
7913 transform Q->Q alternatives to *oc pattern.
7914 ("*oc"): New insn. New peephole to merge adjacent OCs.
7915 ("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to
7916 transform Q->Q alternatives to *xc pattern.
7917 ("*xc"): New insn. New peephole to merge adjacent XCs.
7918 ("*xc_zero"): Move. Add peephole to merge adjacent XCs.
7919
d775bc45
AP
79202004-10-11 Andrew Pinski <pinskia@physics.uc.edu>
7921
7922 * gimplify.c (gimple_push_condition): Make sure that we don't
7923 have any saved condition cleanup if we were at the top level.
7924
6b34e55e
RS
79252004-10-11 Richard Sandiford <rsandifo@redhat.com>
7926
7927 * config/frv/frv.md (*adddi3_internal): Change name to...
7928 (adddi3): ...replacing the exisiting define_expand. Combine
7929 alternatives. Fix the range of the constant constraints ('J' instead
7930 of 'NOP'). Remove bogus operands[2] check. Use simplify_gen_subreg
7931 to extract the lower and upper halves of the DImode operands.
7932 Always use addi3_lower and adddi3_upper, not the subdi3 forms.
7933 (adddi3_lower): Fix the range of the constant constraints and
7934 remove the bogus operands[2] check.
7935 (adddi3_upper): Use gpr_or_int10_operand as the predicate for
7936 operand 2. Use addxi to handle constant operands.
7937 (subdi3_lower, subdi3_upper): Don't handle constant operands.
7938
422d9921
NS
79392004-10-11 Nathan Sidwell <nathan@codesourcery.com>
7940
7941 * gengtype-lex.l: Add commented } & ) characters to unconfuse
7942 editor's paren matching. Allow #define inside a struct.
7943
0ad28dde
AP
79442004-10-10 Andrew Pinski <pinskia@physics.uc.edu>
7945
7946 PR middle-end/17703
7947 part of PR c++/17657
7948 * fold-const.c (fold_build_cleanup_point_expr): New function.
7949 * tree.h (fold_build_cleanup_point_expr): Prototype.
7950
5c70192c
EC
79512004-10-10 Eric Christopher <echristo@redhat.com>
7952
7953 * dwarf2out.c: Move attribute to subprogram declaration
7954 instead of subroutine type.
7955
9b1f72c4
KH
79562004-10-10 Kazu Hirata <kazu@cs.umass.edu>
7957
7958 * basic-block.h: Remove the prototypes for can_hoist_insn_p,
7959 hoist_insn_after, and hoist_insn_to_edge.
7960 * rtl.h: Remove the prototypes for reg_referenced_between_p,
7961 no_jumps_between_p, and insn_dependent_p.
7962 * rtlanal.c (no_jumps_between_p, reg_referenced_between_p,
7963 insn_dependent_p, insn_dependent_p_1, hoist_test_store,
7964 can_hoist_insn_p, hoist_update_store, hoist_insn_after,
7965 hoist_insn_to_edge): Remove.
7966
bba5733f
JM
79672004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
7968
7969 PR c/17881
7970 * c-decl.c (grokparms): Don't warn for parameters of incomplete
7971 type in declarations that are not definitions except for the case
7972 of parameters of void type.
7973
f0b698c1
KH
79742004-10-10 Kazu Hirata <kazu@cs.umass.edu>
7975
7976 * tree-cfg.c: Fix comment typos.
7977
c69c9b36
JM
79782004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
7979
7980 PR c/17301
7981 * builtins.c (expand_builtin_va_start): Check for too few
7982 arguments to va_start.
7983
216a5f1b
JM
79842004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
7985
7986 PR c/17189
7987 * c-decl.c (grokfield): Make diagnostic for bad cases of unnamed
7988 fields a pedwarn. Pedwarn here for unnamed structs/unions if
7989 pedantic.
7990 * c-parse.in (component_decl): Don't pedwarn here for unnamed
7991 fields.
7992
3d5c655f
ZD
79932004-10-09 Zdenek Dvorak <dvorakz@suse.cz>
7994
7995 PR tree-optimization/17906
7996 * tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to
7997 copy non-gimple reg arguments.
7998
fc7ca5fd
RS
79992004-10-09 Roger Sayle <roger@eyesopen.com>
8000
8001 PR rtl-optimization/17853
8002 * simplify-rtx.c (simplify_relational_operation): Correct comment.
8003 Reorganize handling of comparison operations with floating point
8004 results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
8005 Likewise, introduce support for comparison operations with vector
8006 result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
8007
8008 * doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
8009 * doc/tm.texi: Likewise.
8010
35ed0a93
SB
80112004-10-09 Steven Bosscher <stevenb@suse.de>
8012
8013 * regs.h (struct reg_info_def): Remove the last_node_uid and
8014 changes_mode fields.
8015 (REGNO_LAST_NOTE_UID): Don't define.
8016 * regclass.c (reg_scan_mark_refs): Don't set REGNO_LAST_NOTE_UID.
8017 * regmove.c (copy_src_to_dest): Likewise.
8018
d2e74f6f
RS
80192004-10-09 Roger Sayle <roger@eyesopen.com>
8020
8021 PR middle-end/17894
8022 * fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the
8023 relational comparison operator op needs to be swapped/reversed when
8024 C1 is negative. i.e. X/-10 < 1 becomes X >= -9, not X < -9.
8025
227c4bc7
AP
80262004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
8027
8028 PR tree-opt/17902
8029 * tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels
8030 instead of bsi_start.
8031 (value_replacement): Likewise.
8032 (abs_replacement): Likewise
8033
b7211528
SB
80342004-10-09 Steven Bosscher <stevenb@suse.de>
8035
8036 * cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
8037 (expand_gimple_cond_expr, expand_gimple_tailcall,
8038 expand_gimple_basic_block): Use it to dump RTL for each stmt.
8039 (tree_expand_cfg): Announce full RTL function dump.
8040 * tree-optimize.c (execute_one_pass): Use normal RTL printing,
8041 not the graph version.
8042 * tree-pretty-print.c (dump_generic_node): Allow empty statements
8043 in the arms of a COND_EXPR for lowered nodes.
8044
538e3964
JM
80452004-10-08 Joseph S. Myers <joseph@codesourcery.com>
8046
8047 * config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
8048 atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
8049 strtoufix16, strtoufix32, strtoufix64): Declare.
8050
6d84156b
JM
80512004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
8052
8053 * c-lex.c (interpret_float): Give a pedwarn rather than a warning
8054 for an out-of-range floating point constant.
8055 * builtins.c (fold_builtin_inf): Give a pedwarn rather than a
8056 warning if the target format does not support infinities.
8057
971e29f6
KH
80582004-10-08 Kazu Hirata <kazu@cs.umass.edu>
8059
8060 * emit-rtl.c (last_label_num, base_label_num): Remove.
8061 (max_label_num): Always return label_num.
8062 (set_new_last_label_num, restore_emit_status): Remove.
8063 (init_emit): Don't initialize last_label_num.
8064 * function.c (pop_function_context_from): Don't call
8065 restore_emit_status.
8066 * function.h: Remove the prototype for restore_emit_status.
8067 * rtl.h: Remove the prototype for set_new_last_label_num.
8068
f5bb9a23
KH
80692004-10-08 Kazu Hirata <kazu@cs.umass.edu>
8070
8071 * stmt.c (expand_decl_init): Remove.
8072 * tree.h: Remove the corresponding prototype.
8073
2a9772e3
KH
80742004-10-08 Kazu Hirata <kazu@cs.umass.edu>
8075
8076 * integrate.c (try_constants, subst_constants, mark_stores):
8077 Remove.
8078 * integrate.h: Remove the prototype for try_constants.
8079
6dcc04b0
JM
80802004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
8081
8082 * c-typeck.c (enum impl_conv): Add ic_argpass_nonproto.
8083 (convert_for_assignment): Handle ic_argpass_nonproto. Add
8084 comments about its relevance to errors.
8085 (c_convert_parm_for_inlining): Use ic_argpass_nonproto.
8086
14788775
AP
80872004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
8088
8089 PR c/16999
8090 * c-ppoutput.c (cb_ident): Don't quote string as it is already
8091 quoted.
8092
6048b706
DN
80932004-10-08 Diego Novillo <dnovillo@redhat.com>
8094
8095 * tree-ssa-pre.c (init_pre): Use size of ARRAY_REF to allocate
8096 reference_node_pool.
8097
b986ebf3
KH
80982004-10-08 Kazu Hirata <kazu@cs.umass.edu>
8099
8100 * tree-cfg.c: Fix a comment typo.
8101
8a512b77
AK
81022004-10-08 Andreas Krebbel <krebbel1@de.ibm.com>
8103
5c70192c 8104 * config/s390/s390.c (s390_register_info): Don't save fprs for
8a512b77
AK
8105 -msoft-float.
8106 (s390_conditional_register_usage): Make fprs 'fixed' for -msoft-float.
8107
064e93c2
UW
81082004-10-08 Ulrich Weigand <uweigand@de.ibm.com>
8109
8110 * config/s390/s390.h (TARGET_DEFAULT_BACKCHAIN): New define.
8111 (TARGET_DEFAULT): Use symbolic values.
8112 * config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Redefine.
8113 (TARGET_DEFAULT): Use symbolic values.
8114 * config/s390/s390.c (s390_backchain_string): Initialize to
8115 TARGET_DEFAULT_BACKCHAIN.
8116
559837f7
KG
81172004-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8118
4d9ef6a9
KG
8119 * builtins.c (expand_builtin_mempcpy): Move tree handling code to
8120 fold_builtin_mempcpy. Accept a type parameter. Delete duplicate
8121 code.
8122 (expand_builtin_strcat): Accept a type parameter.
8123 (fold_builtin_mempcpy): Accept a type and endp parameter.
8124
559837f7
KG
8125 * builtins.c (expand_builtin_strncpy): Delete duplicate code.
8126 Accept an `exp' instead of an `arglist'.
8127
a58eeb31
NS
81282004-10-08 Nathan Sidwell <nathan@codesourcery.com>
8129
8130 * tree-tailcall.c (tree_optimize_tail_calls_1): Use fold_convert,
8131 reverting my 2004-09-07 patch to use build_int_cst.
8132
39ba2f92
EB
81332004-10-08 Eric Botcazou <ebotcazou@libertysurf.fr>
8134
8135 PR target/17245
8136 * config/sparc/sparc.c (input_operand): Remove redundant code
8137 for handling LO_SUM.
8138 (legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
8139 <LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
8140 Otherwise only accept it for TFmode if quad move insns are available.
8141
10a52335
KH
81422004-10-08 Kazu Hirata <kazu@cs.umass.edu>
8143
8144 * tree-cfg.c (tree_forwarder_block_p): Reorder checks so that
8145 common cases will be caught earlier than others.
8146
a252f3e8
MM
81472004-10-08 Michael Matz <matz@suse.de>
8148
8149 * loop-doloop.c (doloop_optimize): Extend count.
8150
07ea92d3
KK
81512004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
8152
8153 * config/sh/sh.md (prefetch_media, prefetch_i4): New insns.
8154 (prefetch): Convert to expander.
8155
81562004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
8157
8158 * config/sh/sh.md (tls_global_dynamic): Use MEM pattern for the
8159 first argument of CALL.
8160 (tls_local_dynamic): Likewise.
8161
2ac2f164
JM
81622004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
8163
8164 * c-typeck.c (enum impl_conv): New.
8165 (convert_for_assignment): Use it. Take tree for function called
8166 instead of its name. Handle ObjC selectors for diagnostics at
8167 start of function. Select diagnostic text within the function
8168 using full sentences for diagnsotics. Use %qE to name functions
8169 in diagnostics.
8170 (convert_arguments, build_modify_expr,
8171 c_convert_parm_for_inlining, digest_init, c_finish_return): Update
8172 callers to convert_for_assignment.
8173 (warn_for_assignment): Remove.
8174
da06f1ae
NC
81752004-10-08 Nick Clifton <nickc@redhat.com>
8176
8177 * config/sh/symbian.c (symbian_possibly_export_base_class):
8178 Replace use of deleted TYPE_USES_VIRTUAL_BASECLASSES macro with
8179 TYPE_CONTAINS_VPTR_P.
8180
69a53ee8
KI
81812004-10-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
8182
8183 * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude
8184 fixed registers form all_used_regs. Update call_really_used_regs.
8185 (CALL_REALLY_USED_REGISTERS): Define.
8186 * config/m32r/m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs
8187 with call_really_used_regs.
8188
29ef8952
AM
81892004-10-08 Alan Modra <amodra@bigpond.net.au>
8190
8191 * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Choose gcrt1.o
8192 for -profile as well as -p and -pg.
8193
4a750a6d
AP
81942004-10-07 Andrew Pinski <pinskia@physics.uc.edu>
8195
8196 * libgcc2.c (__moddi3): Cast &w to UDWtype*.
8197
52ea044e
KH
81982004-10-07 Kazu Hirata <kazu@cs.umass.edu>
8199
8200 * tree-cfg.c (tree_block_forwards_to): Remove.
8201 * tree-flow.h: Remove the corresponding prototype.
8202
d7d086f0
KH
82032004-10-07 Kazu Hirata <kazu@cs.umass.edu>
8204
8205 * tree-flow-inline.h (phi_nodes): Remove an unnecessary check
8206 for ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR.
8207
add2402e
GK
82082004-10-07 Geoffrey Keating <geoffk@apple.com>
8209
8210 Radar 3813796
8211 * config/rs6000/rs6000.c (rs6000_generate_compare): When
8212 flag_trapping_math is in effect, don't generate subtract
8213 instructions.
8214
0dfa6c5e
UW
82152004-10-07 Ulrich Weigand <uweigand@de.ibm.com>
8216
8217 * config/s390/s390-protos.h (s390_narrow_logical_operator): Add.
8218 * config/s390/s390.c (s390_narrow_logical_operator): New function.
8219 (s390_extra_constraint_str): Add 'A' constraints.
8220 (s390_const_ok_for_constraint_p): Add 'Nx' constraints.
8221 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'A' constraint.
8222 (CONSTRAINT_LEN): Likewise.
8223 * config/s390/s390.md ("*anddi3"): Add NI alternative and splitter.
8224 ("*andsi3_zarch", "*andsi3_esa"): Likewise.
8225 ("*andhi3_zarch", "*andhi3_esa"): Likewise.
8226 ("*iordi3"): Add OI alternative and splitter.
8227 ("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
8228 ("*iorhi3_zarch", "*iorhi3_esa"): Likewise.
8229 ("*xordi3"): Add XI alternative and splitter.
8230 ("*xorsi3", "*xorhi3"): Likewise.
8231
94b9aa66
RS
82322004-10-07 Richard Sandiford <rsandifo@redhat.com>
8233
8234 * config/mips/mips.c (mips_function_rodata_section): New function.
8235 (TARGET_ASM_FUNCTION_RODATA_SECTION): Use it.
8236
21213b4c
DP
82372004-10-07 Devang Patel <dpatel@apple.com>
8238
b7211528
SB
8239 * rs6000/altivec.md (UNSPEC_VCMPBFP, UNSPEC_VCMPEQUB, UNSPEC_VCMPEQUH,
8240 UNSPEC_VCMPEQUW, UNSPEC_VCMPGEFP, UNSPEC_VCMPGTUB, UNSPEC_VCMPGTSB,
8241 UNSPEC_VCMPGTUH, UNSPEC_VCMPGTSH, UNSPEC_VCMPGTUW, UNSPEC_VCMPGTSW,
8242 UNSPEC_VCMPGTFP, UNSPEC_VSEL4SI, UNSPEC_VSEL4SF, UNSPEC_VSEL8HI,
8243 UNSPEC_VSEL16QI, UNSPEC_VCOND_V4SI, UNSPEC_VCOND_V4SF, UNSPEC_VCOND_V8HI,
5c70192c 8244 UNSPEC_VCOND_V16QI, UNSPEC_VCONDU_V4SI, UNSPEC_VCONDU_V8HI,
21213b4c 8245 UNSPEC_VCONDU_V16QI): New constant defines.
b7211528 8246 (vcondv4si, vcondv4sf, vcondv8hi, vcondv16qi, vconduv4si, vconduv8hi,
21213b4c 8247 vconduv16qi): New patterns.
b7211528
SB
8248 * rs6000/rs6000-protos.h (rs6000_emit_vector_cond_expr): New function.
8249 * rs6000/rs6000.c (rs6000_emit_vector_cond_expr): New function.
8250 (get_vec_cmp_insn): Same.
8251 (get_vsel_insn): Same.
8252 (rs6000_emit_vector_compare): Same.
8253 (rs6000_emit_vector_select): Same.
21213b4c 8254 (INSN_NOT_AVAILABLE): New.
5c70192c 8255
14de86fa
ZD
82562004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
8257
8258 PR tree-optimization/17749
8259 * tree-tailcall.c (find_tail_calls): Check that parameter is
8260 a gimple_reg.
8261
93348822
KH
82622004-10-07 Kazu Hirata <kazu@cs.umass.edu>
8263
8264 * config/ia64/ia64.c: Fix a comment typo.
8265
224edf72
EB
82662004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
8267
8268 * doc/install.texi (*-*-solaris2*): Fix marker for URL.
8269
09ebcffa
GB
82702004-10-07 Giovanni Bajo <giovannibajo@gcc.gnu.org>
8271
8272 PR c++/17115
8273 * tree-inline.c (expand_call_inline): Do not warn for functions
8274 marked with attribute noinline.
8275
22d66adf
EB
82762004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
8277
8278 PR target/17862
8279 * config/sparc/sparc.c (sparc_output_mi_thunk): Set
8280 current_function_uses_only_leaf_regs as well as sparc_leaf_function_p.
8281
8282 * config/sparc/sparc.c (sparc_gimplify_va_arg): Pass 'false' instead
8283 of 0 as 4th argument to pass_by_reference.
8284 Call build_va_arg_indirect_ref instead of build_fold_indirect_ref.
8285
29832164
EC
82862004-10-06 Eric Christopher <echristo@redhat.com>
8287
8288 * config/sh/sh.c (sh_dwarf_calling_convention): Fix renesas dwarf
8289 attribute.
8290
ac6b57e5
RS
82912004-10-07 Richard Sandiford <rsandifo@redhat.com>
8292
8293 PR target/17770
8294 * config/mips/mips.md (mov_<load>l): Remove hazard=none attribute.
8295
a82bbcbb
ZD
82962004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
8297
8298 PR rtl-optimization/17791
8299 * loop-doloop.c (doloop_modify): Take number of iterations as
8300 argument.
8301 (doloop_optimize): Extend or shorten the number of iterations
8302 when changing mode of counter register.
8303 * loop-iv.c (lowpart_subreg): Export.
8304 * rtl.h (lowpart_subreg): Declare.
8305
a746fd8c
ZD
83062004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
8307
8308 PR tree-optimization/17806
8309 * cfghooks.c (split_edge): Update IRREDUCIBLE_LOOP flags.
8310 * cfgloopmanip.c (loop_split_edge_with): Updating of IRREDUCIBLE_LOOP
8311 flags moved to split_edge.
8312
38636eac
EB
83132004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
8314
176f9629 8315 PR middle-end/17835
38636eac
EB
8316 * expmed.c (expand_sdiv_pow2): Force a stack adjustment
8317 before tentatively building the conditional move sequence.
8318
ae8c9754
RS
83192004-10-07 Richard Sandiford <rsandifo@redhat.com>
8320
8321 PR target/16815
8322 * function.c (assign_parm_setup_block_p): Tighten BLOCK_REG_PADDING
8323 check.
8324 * config/pa/pa.h (BLOCK_REG_PADDING): Define in terms of
8325 function_arg_padding.
8326
ed00ab95
RS
83272004-10-07 Richard Sandiford <rsandifo@redhat.com>
8328
8329 PR bootstrap/17857
8330 * Makefile.in (stmp-fixproto): Pass FIX_HEADER=build/... to fixproto.
8331
5ac6107c
KH
83322004-10-07 Kazu Hirata <kazu@cs.umass.edu>
8333
8334 * hooks.c (hook_int_void_1, hook_void_int): Remove.
8335 * hooks.h: Remove the corresponding prototypes.
8336
a3ed9870
AP
83372004-10-06 Andrew Pinski <pinskia@physics.uc.edu>
8338
8339 PR middle-end/17849
8340 * tree-nested.c (walk_stmt_info): Add changed field.
8341 (convert_nonlocal_reference): Set changed to when we
8342 change a decl to unnested decl.
8343 <case ADDR_EXPR>: Instead of checking if the immediate part
8344 of the ADDR_EXPR changed, check the field changed.
8345 Use recompute_tree_invarant_for_addr_expr instead of unsetting
8346 TREE_INVARIANT.
8347 (convert_local_reference): Set changed to when we
8348 change a decl to unnested decl.
8349 <case ADDR_EXPR>: Instead of checking if the immediate part
8350 of the ADDR_EXPR changed, check the field changed.
8351 Also call recompute_tree_invarant_for_addr_expr on the ADDR_EXPR.
8352
9e749a8b
KH
83532004-10-06 Kazu Hirata <kazu@cs.umass.edu>
8354
8355 * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
8356 * dwarf2out.c (dwarf2out_init): Remove references to
8357 DWARF2_GENERATE_TEXT_SECTION_LABEL.
8358 * system.h: Poison DWARF2_GENERATE_TEXT_SECTION_LABEL.
8359 * doc/tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
8360
03dafa61
JM
83612004-10-06 Joseph S. Myers <jsm@polyomino.org.uk>
8362
8363 * c-typeck.c (convert_arguments): Take expression for called
8364 function rather than its name. Handle ObjC selectors directly
8365 rather than relying on warn_for_assignment to do so. Call warning
8366 directly rather than warn_for_assignment. Use %qE in diagnostics.
8367 Say "argument" rather than "arg" in diagnostics.
8368 (build_function_call): Update call to convert_arguments.
8369
75917fc0
AP
83702004-10-06 Andrew Pinski <pinskia@physics.uc.edu>
8371
8372 PR debug/17787
8373 * dbxout.c (dbxout_symbol): Really handle RECORD, UNION, and
8374 ENUMs specially instead of just saying we do.
8375
df7d2d80
EC
83762004-10-06 Eric Christopher <echristo@redhat.com>
8377
8378 * dwarf2.h: Sync with include/elf/dwarf2.h
8379
55e9452e
DB
83802004-10-06 Daniel Berlin <dberlin@dberlin.org>
8381
8382 * tree-pretty-print.c (dump_generic_node): Fix printing of BINFO
df7d2d80 8383 and TREE_VEC nodes.
55e9452e 8384
44301a59
DB
83852004-10-06 Daniel Berlin <dberlin@dberlin.org>
8386
8387 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Convert
8388 to use FOR_EACH_SSA_USE_OPERAND iterator, and propagate_value.
df7d2d80 8389
44301a59
DB
83902004-10-06 Daniel Berlin <dberlin@dberlin.org>
8391
8392 * lambda-code.c (compute_nest_using_fourier_motzkin): New
8393 function.
8394 (lambda_compute_auxillary_space): Split from here.
8395
83962004-10-06 Daniel Berlin <dberlin@dberlin.org>
8397
8398 * tree-ssa-loop-ivopts.c (expr_invariant_in_loop): Make non-static.
8399 * tree-flow.h: Add prototype.
8400 * lambda-code.c (invariant_in_loop_and_outer_loops): Use
df7d2d80 8401 expr_invariant_in_loop.
44301a59 8402
4c1d660f
KH
84032004-10-06 Kazu Hirata <kazu@cs.umass.edu>
8404
8405 * tree-cfg.c (thread_jumps): Remove a duplicate check for
8406 EXIT_BLOCK_PTR.
8407
575f7c2b
UW
84082004-10-06 Ulrich Weigand <uweigand@de.ibm.com>
8409
8410 * config/s390/s390-protos.h (s_imm_operand): Remove.
8411 (s390_pool_operand): Add prototype.
8412 * config/s390/s390.c (general_s_operand): Remove.
8413 (s_imm_operand): Remove.
8414 (s_operand): Merge contents of general_s_operand.
8415 (s390_pool_operand): New function.
8416 * config/s390/s390.h (PREDICATE_CODES): Remove s_imm_operand.
8417 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct"): New insns.
8418 ("*cmpdi_ccu"): Merge Q->Q alternative.
8419 ("*cmpsi_ccu", "*cmphi_ccu"): Likewise.
8420 ("*cmpqi_ccu"): Merge Q->Q, n->Q, n->S alternatives.
8421 ("*cli"): Remove.
8422 ("*cmpdi_ccu_mem", "*cmpsi_ccu_mem"): Likewise.
8423 ("*cmphi_ccu_mem", "*cmpqi_ccu_mem"): Likewise.
8424 ("*movstricthi"): Use memory_operand instead of s_imm_operand.
8425
d13256a3
SE
84262004-10-06 Steve Ellcey <sje@cup.hp.com>
8427
8428 * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Change macro to
8429 call ia64_function_arg_boundary.
8430 * config/ia64/ia64-protos.h (ia64_function_arg_boundary): New.
8431 * config/ia64/ia64.c (ia64_function_arg_boundary): New.
8432 (ia64_function_arg_advance): Do not put 128 bit floats into
8433 FP registers.
8434
609ae0e2
KG
84352004-10-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8436
8437 * builtins.c (expand_builtin_strcpy): Delete duplicate code.
8438 Accept an expression instead of an arglist.
8439 (expand_builtin_stpcpy): Accept an expression instead of an
8440 arglist.
8441
51e9a60c
EB
84422004-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
8443
8444 PR target/16007
8445 * doc/install.texi (*-*-solaris2*): Mention potential problem
8446 with Sun assembler + GNU linker and C++ programs.
8447 Document status of binutils 2.15 release.
8448
490e9629
JH
84492004-10-06 Jan Hubicka <jh@suse.cz>
8450
8451 * cse.c (cse_main): Kill push/pop context.
8452
d5706a1e
ZW
84532004-10-05 Zack Weinberg <zack@codesourcery.com>
8454
8455 * pretty-print.c: Include tree.h.
8456 (pp_base_prepare_to_format): New function, logic from
8457 text_specifies_location.
8458 (pp_base_format_text): Use gcc_assert.
8459 * pretty-print.h (pp_prepare_to_format): New macro.
8460 (pp_base_prepare_to_format): Prototype.
8461 * diagnostic.c (text_specifies_location): Delete.
8462 (bug_report_request): Delete.
8463 (diagnostic_set_info): Don't call text_specifies_location.
8464 (diagnostic_action_after_output): Put text from
8465 bug_report_request inline here. Use gcc_unreachable.
8466 (diagnostic_report_current_function): Fix comment.
8467 (diagnostic_report_diagnostic): Clarify logic for error recursion.
8468 Call pp_prepare_to_format before diagnostic_starter.
8469 (trim_filename): Use IS_DIR_SEPARATOR.
8470 (fatal_error, internal_error): Use gcc_unreachable.
8471 (error_recursion): Call diagnostic_action_after_output to
8472 issue the bug_report_request message and exit.
8473 * Makefile.in (diagnostic.o, pretty-print.o): Update dependencies.
8474
8475 * c-parse.in: Add list of diagnostic messages to insulate
8476 translation template from version of yacc/bison used to
8477 compile the grammar.
8478
743eeb5a
AM
84792004-10-06 Alan Modra <amodra@bigpond.net.au>
8480
8481 PR 16406
8482 * doc/tm.texi (USE_LD_AS_NEEDED, LINK_EH_SPEC): Document.
8483
7922a3bb
KH
84842004-10-05 Kazu Hirata <kazu@cs.umass.edu>
8485
8486 * basic-block.h: Remove the prototype for
8487 flow_preorder_transversal_compute.
8488 * cfganal.c (dfst_node): Remove.
8489 (flow_preorder_transversal_compute): Likewise.
8490 * rtl.h: Remove the prototype for get_jump_table_offset.
8491 * rtlanal.c (get_jump_table_offset): Remove.
8492
9ec9d82b
RH
84932004-10-05 Richard Henderson <rth@redhat.com>
8494
8495 PR 17756
8496 * tree-ssa-operands.c (get_expr_operands): Handle CONST_DECL.
8497
19361834
KC
84982004-10-05 Kelley Cook <kcook@gcc.gnu.org>
8499
8500 PR bootstrap/17817
8501 * Makefile.in: Stage the build directory too.
8502
2a2e3f05
AH
85032004-10-05 Aldy Hernandez <aldyh@redhat.com>
8504
8505 * config/frv/frv.h (LEGITIMIZE_ADDRESS): New.
8506
8507 * config/frv/frv-protos.h (frv_legitimize_address): Protoize.
8508 (frv_emit_move): Same.
8509
8510 * config/frv/frv.c (frv_emit_move): New.
8511 (frv_legitimize_address): New.
8512
8513 * config/frv/frv.md ("movsi"): Call frv_emit_move.
8514 ("movqi"): Same.
8515 ("movhi"): Same.
8516 ("movdi"): Same.
8517 ("movsf"): Same.
8518 ("movdf"): Same.
8519
7fdc3e09
JM
85202004-10-05 Joseph S. Myers <jsm@polyomino.org.uk>
8521
8522 * c-decl.c (declspecs_add_type): Don't pedwarn for _Complex in
8523 system headers.
8524
1b36c818
JM
85252004-10-05 Joseph S. Myers <jsm@polyomino.org.uk>
8526
8527 * c-decl.c (pushdecl): When an extern declaration at block scope
8528 refers to a visible entity with internal linkage, use the old DECL
8529 rather than the new one.
8530
95740bfc
KH
85312004-10-05 Kazu Hirata <kazu@cs.umass.edu>
8532
8533 * tree-cfg.c (cleanup_tree_cfg): Remove extra parentheses in
8534 comments.
8535
20d400c3
KH
85362004-10-05 Kazu Hirata <kazu@cs.umass.edu>
8537
8538 * tree-cfg.c (thread_jumps): Remove a duplicate check for
8539 an infinite loop.
8540
2abacef0
KH
85412004-10-05 Kazu Hirata <kazu@cs.umass.edu>
8542
8543 * tree-cfg.c (thread_jumps): Iterate with FOR_EACH_BB instead
8544 of FOR_BB_BETWEEN. Remove a useless check for unreachable
8545 blocks.
8546
09fa81db
KH
85472004-10-05 Kazu Hirata <kazu@cs.umass.edu>
8548
8549 * tree-cfg.c (cleanup_tree_cfg): Don't call
8550 delete_unreachable_blosk() after thread_jumps().
8551 (thread_jumps): Always remove basic blocks as they become
8552 unreachable.
8553
1111ad78
KH
85542004-10-05 Kazu Hirata <kazu@cs.umass.edu>
8555
8556 * tree-cfg.c (cleanup_tree_cfg): Remove variable
8557 something_changed. Simplify the while loop.
8558
fdd5d9e2
KG
85592004-10-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8560
8561 * builtins.c (expand_builtin_memmove): Delete duplicate code
8562 and accept a tree type for the result.
8563 (expand_builtin_bcopy): Accept a tree type for the result.
8564 (fold_builtin_memmove): Accept an arglist and tree type for
8565 the result.
8566
9bb86f41
UW
85672004-10-05 Ulrich Weigand <uweigand@de.ibm.com>
8568
8569 * config/s390/s390.c (s390_dump_pool): Remove return value.
8570 Use gen_pool_align, gen_pool_section_start/end instead of
8571 gen_pool_start/end_31/64.
8572 * config/s390/s390.md (UNSPECV_POOL_START, UNSPECV_POOL_END): Remove.
8573 (UNSPECV_POOL_SECTION, UNSPECV_POOL_ALIGN): New constants.
8574 ("pool_start_31", "pool_end_31"): Remove.
8575 ("pool_start_64", "pool_end_64"): Likewise.
8576 ("pool_align", "pool_section_start", "pool_section_end": New insns.
8577
8578 * config/s390/s390.c (s390_cannot_copy_insn_p): New function.
8579 (TARGET_CANNOT_COPY_INSN_P): Define.
8580 (s390_cannot_force_const_mem): Handle UNSPEC_INSN.
8581 (struct constant_pool): New member 'execute'.
8582 (s390_add_execute, s390_find_execute): New functions.
8583 (s390_execute_label, s390_execute_target): Likewise.
8584 (s390_dump_pool): Output in-pool execute target templates.
8585 (s390_dump_execute): New function.
8586 (s390_alloc_pool, s390_free_pool): Handle execute templates.
8587 (s390_mainpool_start, s390_mainpool_finish): Likewise.
8588 (s390_chunkify_start, s390_chunkify_finish): Likewise.
8589 * config/s390/s390.md (UNSPEC_INSN, UNSPEC_EXECUTE): New constants.
8590 ("*execute"): New insn pattern.
8591 ("movmem_short", "*movmem_short"): Use splitters to generate
8592 explicit execute pattern, remove embedded execute.
8593 ("clrmem_short", "*clrmem_short"): Likewise.
8594 ("cmpmem_short", "*cmpmem_short"): Likewise.
8595
af16db69
DB
85962004-10-05 Daniel Berlin <dberlin@dberlin.org>
8597
8598 * tree-ssa.c (verify_ssa): Verify phi arguments only
8599 contain renamed names.
8600
c4ad648e
AM
86012004-10-05 Alan Modra <amodra@bigpond.net.au>
8602
8603 * config/rs6000/linux.h: Formatting, whitespace.
8604 * config/rs6000/linux64.h: Likewise.
8605 * config/rs6000/rs6000-protos.h: Likewise.
8606 * config/rs6000/rs6000.c: Likewise.
8607 (easy_vector_splat_const): Add fall thru comments.
8608 (output_vec_const_move): Likewise.
8609
406176be
KC
86102004-10-05 Kelley Cook <kcook@gcc.gnu.org>
8611
8612 * Makefile.in: Update -Wno-error exceptions for move to build dir.
8613
d840bfd3
CF
86142004-10-05 Chao-Ying Fu <fu@mips.com>
8615 Richard Sandiford <rsandifo@redhat.com>
8616
8617 * doc/invoke.texi (-mpaired-single): Link to the new description of the
8618 built-in functions. Document dependencies.
8619 (-mips3d): Add link here too.
8620 * doc/extend.texi (MIPS Paired-Single Support): New section.
8621
a4a82723
CF
86222004-10-04 Chao-ying Fu <fu@mips.com>
8623
8624 * config/mips/mips.h (UNITS_PER_SIMD_WORD): Define.
8625
fded8de7
DN
86262004-10-04 Diego Novillo <dnovillo@redhat.com>
8627
8628 * tree-ssa-dom.c (tree_ssa_dominator_optimize):
8629 Initialize OPT_STATS to 0.
8630
59c4456e
KH
86312004-10-04 Kazu Hirata <kazu@cs.umass.edu>
8632
8633 * tree-data-ref.c: Fix comment typos.
8634
68b26d5c
SP
86352004-10-04 Sebastian Pop <pop@cri.ensmp.fr>
8636
8637 * tree-data-ref.c (array_base_name_differ_p): Fix comments. When
8638 the predicate cannot be computed, don't initialize the result to
8639 false.
8640
b9e6959b
EC
86412004-10-01 Eric Christopher <echristo@redhat.com>
8642
8643 * dwarf2.h (dwarf_calling_convention): Add GNU prefix to
8644 locally defined enum.
8645 * dwarf2out.c (add_calling_convention_attribute): Don't
8646 emit DW_CC_normal.
8647
29128154
AP
86482004-10-03 Andrew Pinski <pinskia@physics.uc.edu>
8649
8650 PR c/17178, PR c/17820
8651 * c-decl.c (pop_scope): Do not warn about unused static
8652 variables as they warned in the middle-end.
8653
ef7eaebf
KG
86542004-10-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8655
8656 * builtins.c (expand_builtin_memcpy): Delete duplicate code
8657 and make the first parameter the expression not the arglist.
8658
103b83ea
UW
86592004-10-03 Ulrich Weigand <uweigand@de.ibm.com>
8660
8661 * expr.c (expand_expr_addr_expr): Only accept Pmode or ptr_mode
8662 as valid modes to expand address expressions.
8663
3f75a254
JM
86642004-10-03 Joseph S. Myers <jsm@polyomino.org.uk>
8665
8666 * c-aux-info.c, c-common.c, c-common.h, c-cppbuiltin.c, c-decl.c,
8667 c-format.c, c-incpath.c, c-lex.c, c-objc-common.c, c-opts.c,
8668 c-parse.in, c-pch.c, c-ppoutput.c, c-pragma.c, c-typeck.c: Follow
8669 code formatting conventions.
8670
57c1f13e
RS
86712004-10-03 Richard Sandiford <rsandifo@redhat.com>
8672
8673 * config/mips/mips.md (<u>mulsidi3_32bit_r4000): Fix unsigned case.
8674
24109c9f
KH
86752004-10-03 Kazu Hirata <kazu@cs.umass.edu>
8676
807e955b 8677 PR tree-optimization/16632
24109c9f
KH
8678 * fold-const.c (fold) [EQ_EXPR]: When seeing if D & ~C != 0 to
8679 fold (A & C) == D into 0, fold ~C. Similarly, for the case
8680 where | is used instead of &.
8681
d3471d77
KH
86822004-10-03 Kazu Hirata <kazu@cs.umass.edu>
8683
8684 * ginclude/stddef.h: Fix a comment typo.
8685
fe7378d2
EB
86862004-10-03 Eric Botcazou <ebotcazou@libertysurf.fr>
8687
8688 PR target/17443
8689 * config.gcc (i?86-*-solaris2*): Restore correct logic
8690 for --enable-threads option.
8691 (sparc64-*-solaris2*): Likewise.
8692 (sparc-*-solaris2*): Likewise.
8693
bf276e5c
AM
86942004-10-03 Alan Modra <amodra@bigpond.net.au>
8695
8696 * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
8697 (OS_MISSING_POWERPC64): Move, and comment.
8698 * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
8699 (OS_MISSING_POWERPC64): Move, and comment.
8700
07ec3810
ILT
87012004-10-02 Ian Lance Taylor <ian@wasabisystems.com>
8702
8703 * arm.c (output_call_mem): Add missing \t.
8704
3e6b6386
KG
87052004-10-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8706
8707 * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp,
8708 expand_builtin_strncmp): Delete duplicate code.
8709
fefbfa21
FCE
87102004-10-02 Frank Ch. Eigler <fche@redhat.com>
8711
8712 * tree-mudflap.c (mf_build_check_statement_for): Reorganize to
8713 take check-base and -limit arguments.
8714 (mf_xform_derefs_1): Reorganize slightly to pass proper base/limit
8715 check ranges for ARRAY_REF and COMPONENT_REF.
8716 (execute_mudflap_fnction_ops, ..._decls): Limit unnecessary
8717 instrumentation.
8718
7848dfca
JM
87192004-10-02 Joseph S. Myers <jsm@polyomino.org.uk>
8720
8721 * c-objc-common.c (c_tree_printer): Correct description of %E.
8722 Don't fall through after printing an expression.
8723
66efeafc
KH
87242004-10-02 Kazu Hirata <kazu@cs.umass.edu>
8725
8726 * tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos.
8727
26d4492f
KH
87282004-10-02 Kazu Hirata <kazu@cs.umass.edu>
8729
8730 * tree-cfg.c (cleanup_tree_cfg): Speed up by calling
8731 delete_unrechable_blocks() only when necessary.
8732
ee0f32f4
D
87332004-10-02 P.J. Darcy <darcypj@us.ibm.com>
8734
8735 * gthr-tpf.h (__gthread_recursive_mutex_t): New type.
8736 (__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
8737 (__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
8738 __gthread_recursive_mutex_unlock): New functions.
8739
3ff688aa
D
87402004-10-02 P.J. Darcy <darcypj@us.ibm.com>
8741
8742 * config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c.
8743 * config/s390/tpf-eh.c: Remove file.
8744 * config/s390/tpf-unwind.h: New file.
8745 * config/s390/tpf.h (MD_FALLBACK_FRAME_STATE_FOR): Remove.
8746 (MD_UNWIND_SUPPORT): Define.
8747
36262a4c
JM
87482004-10-02 Joseph S. Myers <jsm@polyomino.org.uk>
8749
8750 * c-typeck.c (warn_for_assignment): Don't permit argnum == 0.
8751
5b022de5
UW
87522004-10-01 Ulrich Weigand <uweigand@de.ibm.com>
8753
8754 * config/s390/s390-protos.h (s390_comparison): Add prototype.
8755 * config/s390/s390.c (s390_comparison): New function.
8756 (s390_branch_condition_mask): Return -1 for invalid comparisons.
8757 (s390_branch_condition_mnemonic): Assert valid comparison.
8758 * config/s390/s390.h (PREDICATE_CODES): Add s390_comparison.
8759 * config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long",
8760 "*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use
8761 s390_comparison instead of comparison_operator.
8762
8763 * config/s390/s390.md (UNSPEC_CMPINT): New constant.
8764 ("cmpmemdi"): Remove.
8765 ("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode.
8766 ("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise.
8767 ("cmpint_si"): Rename to ...
8768 ("*cmpint_si"): ... this. Use UNSPEC_CMPINT.
8769 ("cmpint_di", "*cmpint_di"): Likewise.
8770 * config/s390/s390.c (s390_canonicalize_comparison): Remove
8771 redundant UNSPEC_CMPINT conversions.
8772 (s390_expand_cmpmem): Adapt to cmpint pattern changes.
8773
b89dc911
KH
87742004-10-01 Kazu Hirata <kazu@cs.umass.edu>
8775
8776 * collect2.c (COLLECT_PARSE_FLAG): Remove.
8777 (main): Remove a reference to COLLECT_PARSE_FLAG
8778 * system.h: Poison COLLECT_PARSE_FLAG.
8779 * doc/tm.texi (COLLECT_PARSE_FLAG): Remove.
8780
e367a231
PB
87812004-10-01 Paul Brook <paul@codesourcery.com>
8782
8783 * config/arm/crti.asm: Give _init and _fini function type.
8784
47bcd07d
ZD
87852004-10-01 Zdenek Dvorak <dvorakz@suse.cz>
8786
8787 * common.opt (ftree-loop-ivcanon): Enable by default.
8788 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
8789 Enable complete loop unrolling.
8790 (canonicalize_induction_variables, tree_unroll_loops_completely):
8791 Reset scev info.
8792
e367a231 87932004-10-01 Paul Brook <paul@codesourcery.com>
c73d282d
PB
8794
8795 * config/arm/arm.c (thumb_compute_saved_rag_mask): Or with bitmask,
8796 not register number.
8797 (thumb_find_work_register): Search full register range.
8798
29c4d22b
AP
87992004-10-01 Andrew Pinski <pinskia@physics.uc.edu>
8800
8801 PR tree-opt/17343
8802 * tree-cfg.c (group_case_labels): Get the label and not
8803 the case expr for the default case.
8804 When the label we looking at is the default, decrement the
8805 new_size.
8806
0f0377f6
JH
88072004-10-01 Jan Hubicka <jh@suse.cz>
8808
8809 * c-decl.c (c_expand_body): Update call tree_rest_of_compilation.
8810 * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
8811 * toplev.h (tree_rest_of_compilation): Update prototype.
8812 * tree-optimize.c (tree_rest_of_compilation): Kill nested_p argument.
8813
8f28be81
KH
88142004-10-01 Kazu Hirata <kazu@cs.umass.edu>
8815
8816 * tree-cfg.c (cleanup_tree_cfg): Pull a call to
8817 cleanup_control_flow() out of the while loop.
8818
02ca1718
PB
88192004-10-01 Paolo Bonzini <bonzini@gnu.org>
8820
8821 * tree-vectorizer.c (vectorizable_operation): Fail unless
8822 the mode for the vector type is indeed a vector mode.
8823
e6845c23
ZD
88242004-10-01 Zdenek Dvorak <dvorakz@suse.cz>
8825
8826 * tree-chrec.c (chrec_fold_plus_poly_poly, chrec_fold_plus_1,
8827 chrec_fold_multiply): Use fold_convert or build_int_cst_type instead
02ca1718 8828 of convert.
e6845c23
ZD
8829 * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
8830 add_to_evolution, set_nb_iterations_in_loop, follow_ssa_edge_in_rhs,
8831 follow_ssa_edge_in_rhs): Ditto.
8832 * tree-ssa-loop-ivopts.c (struct iv): Add base_object field.
8833 (dump_iv): Dump base_object.
8834 (dump_use, dump_cand): Use dump_iv.
8835 (determine_base_object): New function.
8836 (alloc_iv): Initialize base_object field.
8837 (record_use): Clear the ssa_name field of iv.
8838 (get_computation_cost_at): Do not use difference of addresses of
8839 two different objects.
8840 (may_eliminate_iv): Do not require the loop to have just single exit.
8841 * tree-ssa-loop-niter.c (zero_p): Do not check for overflows.
8842 (nonzero_p): New function.
8843 (inverse, number_of_iterations_cond, simplify_using_outer_evolutions,
8844 tree_simplify_using_condition, simplify_using_initial_conditions,
8845 loop_niter_by_eval, find_loop_niter_by_eval,
8846 estimate_numbers_of_iterations_loop, compare_trees,
8847 upper_bound_in_type, lower_bound_in_type,
8848 can_count_iv_in_wider_type_bound): Use buildN instead of build. Use
8849 fold_convert or build_int_cst_type instead of convert. Use (non)zero_p
8850 instead of integer_(non)zerop.
8851
5496b36f
JJ
88522004-10-01 Jakub Jelinek <jakub@redhat.com>
8853
8854 Revert
8855 2004-09-29 Jakub Jelinek <jakub@redhat.com>
8856
8857 * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
8858 and TI_VA_LIST_FPR_COUNTER_FIELD.
8859 (va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
8860 * tree-pass.h (pass_stdarg): Add.
8861 * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
8862 * tree-stdarg.c: New file.
8863 * Makefile.in (OBJS-common): Add tree-stdarg.o.
8864 (tree-stdarg.o): Add dependencies.
8865 * function.h (struct function): Add va_list_gpr_size and
8866 va_list_fpr_size fields.
8867 * function.c (allocate_struct_function): Initialize them.
8868
8869 * config/i386/i386.c (ix86_build_builtin_va_list): Initialize
8870 va_list_{g,f}pr_counter_field.
8871 (ix86_setup_incoming_varargs): Don't do anything if reg_save
8872 area will not be used. Only save registers that tree-stdarg.c
8873 detected they need saving.
8874 (ix86_va_start): Don't set up fields that won't be used.
8875
8876 * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
8877 va_list_{g,f}pr_counter_field.
8878 (setup_incoming_varargs): Don't do anything if reg_save
8879 area will not be used. Only save registers that tree-stdarg.c
8880 detected they need saving.
8881 (rs6000_va_start): Don't set up fields that won't be used.
8882
a1c496cb
EC
88832004-09-30 Eric Christopher <echristo@redhat.com>
8884
8885 * dwarf2.h (dwarf_calling_convention): Add enum for renesas
8886 sh abi.
8887 * dwarf2out.c (add_calling_convention_attribute): New function.
8888 (gen_subroutine_type_die): Use.
8889 * target-def.h (TARGET_DWARF_CALLING_CONVENTION): New hook.
8890 * target.h (gcc_target): Add dwarf_calling_convention.
8891 * hooks.c (hook_int_tree_0): New function.
8892 * hooks.h: Prototype.
8893 * config/sh/sh.c: Include dwarf2.h.
8894 (sh_dwarf_calling_convention): New function.
8895 (TARGET_DWARF_CALLING_CONVENTION): Use.
8896 * doc/tm.texi (TARGET_DWARF_CALLING_CONVENTION): Document.
8897
bd042dbb
KG
88982004-09-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8899
8900 * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
8901 expand_builtin_strrchr, expand_builtin_strpbrk,
8902 expand_builtin_strncat, expand_builtin_strspn,
8903 expand_builtin_strcspn, expand_builtin_fputs): Eliminate duplicate
8904 code.
8905
8cb66696
UW
89062004-09-30 Ulrich Weigand <uweigand@de.ibm.com>
8907
8908 * config/s390/s390-protos.h (s390_expand_logical_operator): Add
8909 prototype.
8910 (s390_logical_operator_ok_p): Likewise.
8911 * config/s390/s390.c (s390_expand_logical_operator): New function.
8912 (s390_logical_operator_ok_p): Likewise.
8913 * config/s390/s390.md ("anddi3"): New expander.
8914 ("*anddi3"): Rename from old anddi3 pattern, add Q->Q alternative.
8915 ("*anddi3_ss", "*anddi3_ss_inv"): Remove.
8916 ("andsi3"): Use s390_expand_logical_operator.
8917 ("*andsi3_esa", "*andsi3_zarch"): Add Q->Q alternative.
8918 ("*andsi3_ss", "*andsi3_ss_inv"): Remove.
8919 ("andhi3"): New expander.
8920 ("*andhi3_zarch", "*andhi3_esa"): New patterns.
8921 ("andhi3", "*andhi3_ni", "*andhi3_ss", "*andhi3_ss_inv"): Remove.
8922 ("andqi3"): New expander.
8923 ("*andqi3_zarch", "*andqi3_esa"): New patterns.
8924 ("andqi3", "*andqi3_ni", "*andqi3_ss", "*andqi3_ss_inv"): Remove.
8925 ("iordi3"): New expander.
8926 ("*iordi3"): Rename from old iordi3 pattern, add Q->Q alternative.
8927 ("*iordi3_ss", "*iordi3_ss_inv"): Remove.
8928 ("iorsi3"): Use s390_expand_logical_operator.
8929 ("*iorsi3_esa", "*iorsi3_zarch"): Add Q->Q alternative.
8930 ("*iorsi3_ss", "*iorsi3_ss_inv"): Remove.
8931 ("iorhi3"): New expiorer.
8932 ("*iorhi3_zarch", "*iorhi3_esa"): New patterns.
8933 ("iorhi3", "*iorhi3_ni", "*iorhi3_ss", "*iorhi3_ss_inv"): Remove.
8934 ("iorqi3"): New expiorer.
8935 ("*iorqi3_zarch", "*iorqi3_esa"): New patterns.
8936 ("iorqi3", "*iorqi3_ni", "*iorqi3_ss", "*iorqi3_ss_inv"): Remove.
8937 ("xordi3"): New expander.
8938 ("*xordi3"): Rename from old xordi3 pattern, add Q->Q alternative.
8939 ("*xordi3_ss", "*xordi3_ss_inv"): Remove.
8940 ("xorsi3"): New expander.
8941 ("*xorsi3"): Rename from old xorsi3 pattern, add Q->Q alternative.
8942 ("*xorsi3_ss", "*xorsi3_ss_inv"): Remove.
8943 ("xorhi3"): New expander.
8944 ("*xorqi3"): Rename from old xorhi3 pattern, add Q->Q alternative.
8945 ("*xorhi3_ss", "*xorhi3_ss_inv"): Remove.
8946 ("xorqi3"): New expander.
8947 ("*xorqi3"): Rename from old xorqi3 pattern, add Q->Q alternative.
8948 ("*xorqi3_ss", "*xorqi3_ss_inv"): Remove.
8949
7d103eb5
RS
89502004-09-30 Roger Sayle <roger@eyesopen.com>
8951
8952 * combine.c (force_to_mode) <NE_EXPR>: Only convert the expression
8953 (AND (NE FOO 0) CONST) into (AND FOO CONST) if FOO has the same
8954 machine mode as the result.
8955
dc4f06d9
BE
89562004-09-30 Ben Elliston <bje@au.ibm.com>
8957
8958 PR bootstrap/17761
8959 * lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and
8960 FOR_EACH_EDGE macros.
8961
9bf24266
JM
89622004-09-30 Joseph S. Myers <jsm@polyomino.org.uk>
8963
8964 * c-tree.h (readonly_error): Remove.
8965 * c-typeck (enum lvalue_use): New.
8966 (lvalue_or_else, readonly_error): Use it. All callers changed.
8967 (readonly_error): Make static.
8968
a7102479
JH
89692004-09-30 Jan Hubicka <jh@suse.cz>
8970
8971 PR debug/13974
8972 * cfgrtl.c (try_redirect_by_replacing_jump,
8973 force_nonfallthru_and_redirect, commit_one_edge_insertion,
8974 cfg_layout_merge_blocks): Do not attach any line number information
8975 to newly inserted instructions.
8976 * emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
8977 emit_insn_*_noloc.
8978 (emit_*insn_before, emit_insn*_after): New.
8979 (emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
8980 existing locators.
8981 * rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
8982 (emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
8983
91086990
UW
89842004-09-30 Ulrich Weigand <uweigand@de.ibm.com>
8985
8986 * config/s390/s390-protos.h (s390_arg_frame_offset): Remove.
8987 (s390_return_address_offset): Remove.
8988 (s390_can_eliminate): Add prototype.
8989 (s390_initial_elimination_offset): Add prototype.
8990 * config/s390/s390.h (CAN_ELIMINATE): Call s390_can_eliminate.
8991 (INITIAL_ELIMINATION_OFFSET): Call s390_initial_elimination_offset.
8992 * config/s390/s390.c (s390_arg_frame_offset): Remove.
8993 (s390_return_address_offset): Remove.
8994 (s390_can_eliminate, s390_initial_elimination_offset): New functions.
8995 (struct machine_function): New member split_branches_pending_p.
8996 (s390_mainpool_start): Allow nonexistant pool insn for empty pool.
8997 (s390_mainpool_finish): Likewise. Clear base_reg if pool empty.
8998 (s390_optimize_prologue): Remove base_used argument. Call
8999 s390_update_frame_layout instead of s390_register_info. Handle
9000 prologue/epilogue insns that touch only RETURN_REGNUM.
9001 (s390_reorg): Remove base_used. Clear split_branches_pending_p.
a1c496cb 9002 (s390_register_info): Remove base_used and return_addr_used
91086990
UW
9003 arguments, compute special register usage inline. Return live
9004 register data to caller.
9005 (s390_frame_info): Remove arguments, do not call s390_register_info.
9006 (s390_init_frame_layout): New function.
9007 (s390_update_frame_layout): Likewise.
9008 (s390_emit_prologue): Call s390_update_frame_layout; some code
9009 move to there. Do not emit pool placeholder insn if unnecessary.
9010
13c025c1
UW
90112004-09-30 Ulrich Weigand <uweigand@de.ibm.com>
9012
9013 * config/s390/s390.c (legitimate_reload_constant_p): Remove
9014 floating point constant workaround.
9015 (s390_secondary_input_reload_class): Handle PLUS reloads
9016 with too-large constant.
9017 (s390_expand_plus_operand): Likewise.
9018 * config/s390/s390.md ("movdi"): Do not call force_const_mem.
9019 ("movsi"): Likewise. Also, remove workaround for non-general
9020 operands.
9021 ("movdf"): Do not call force_const_mem.
9022 ("movsf"): Likewise. Merge expander with *movsf insn.
9023 ("*movsf"): Remove, merge with movsf expander.
9024
99b2692a
PB
90252004-09-30 Paul Brook <paul@codesourcery.com>
9026
9027 * config/arm/symbian.h (STARTFILE_SPEC): Remove crt*.o.
9028 (ENDFILE_SPEC): Define.
9029 * config/arm/t-symbian.h (EXTRA_MULTILIB_PARTS): Set.
9030
3ac7c0f2
RH
90312004-09-30 Richard Henderson <rth@redhat.com>
9032
9033 * config/alpha/qrnnd.asm: Mark for noexecstack.
9034
75b80704
KH
90352004-09-30 Kazu Hirata <kazu@cs.umass.edu>
9036
9037 * protoize.c, tree-cfg.c: Fix comment typos.
9038
254ac10c
JM
90392004-09-30 Joseph S. Myers <jsm@polyomino.org.uk>
9040
9041 PR c/17730
9042 * c-typeck.c (lvalue_or_else): Pass msgid directly to error.
9043
20c16b36
DN
90442004-09-30 Diego Novillo <dnovillo@redhat.com>
9045
9046 * tree-ssa-alias.c (collect_points_to_info_r): Move analysis of
9047 expressions...
9048 (add_pointed_to_expr): ... here.
9049 Call add_pointed_to_expr for variables with DECL_INITIAL set.
9050 * tree-dfa.c (add_referenced_var): Scan DECL_INITIAL of any
9051 pointer variable, if set.
9052
8b0add27
KH
90532004-09-30 Kazu Hirata <kazu@cs.umass.edu>
9054
9055 * config/sh/sh.c: Follow spelling conventions.
9056
282efe1c
RH
90572004-09-29 Richard Henderson <rth@redhat.com>
9058
9059 * unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.
9060 * doc/tm.texi (DWARF_ZERO_REG): New.
9061
9062 * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
9063 alpha_expand_epilogue): Revert 2003-09-30 change to store zero.
9064 * config/alpha/alpha.h (DWARF_ZERO_REG): New.
9065
7ce3fc8f
UW
90662004-09-29 Ulrich Weigand <uweigand@de.ibm.com>
9067
9068 * builtins.c (expand_builtin_strlen): Do not call emit_move_insn
9069 with a PLUS as source operand.
9070 (expand_movstr): Likewise.
9071 (expand_builtin_stpcpy): Likewise.
9072
e670d9e4
RH
90732004-09-29 Richard Henderson <rth@redhat.com>
9074
9075 PR 17739
9076 * tree-gimple.c (is_gimple_reg): Reject hard registers.
9077 (is_gimple_asm_val): New.
9078 * tree-gimple.h (is_gimple_asm_val): Declare.
9079 * gimplify.c (gimplify_asm_expr): Use it.
9080 * tree-pretty-print.c (print_declaration): Dump hard regs.
9081 * tree-outof-ssa.c (check_replaceable): Don't check for hard regs.
9082 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
9083 * tree-ssa-pre.c (is_undefined_value): Likewise.
9084 * tree-ssa-copy.c (may_propagate_copy): Likewise.
9085 (may_propagate_copy_into_asm): Protect DECL_HARD_REGISTER.
9086 * tree-ssa.c (warn_uninit): Likewise.
9087 * tree.h (DECL_HARD_REGISTER): Check for VAR_DECL.
9088
2587f865
FJ
90892004-09-29 Fariborz Jahanian <fjahanian@apple.com>
9090
9091 * c-decl.c (merge_decls): Use comptype when comparing
9092 types to decide on DECL_SIZE save of olddecl.
9093
1b096a0a
DB
90942004-09-29 Daniel Berlin <dberlin@dberlin.org>
9095
9096 * tree.h (INDIRECT_REF_P): New macro.
9097 * alias.c (get_alias_set): Use it
9098 (nonoverlapping_memrefs_p): Ditto.
9099 * emit-rtl.c (mem_expr_equal_p): Ditto.
9100 (set_mem_attributes_minus_bitpos): Ditto.
9101 (is_gimple_addressable): Ditto.
9102 (get_base_address): Ditto.
9103 * tree-ssa-alias.c (find_ptr_derefernece): Ditto.
9104 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Ditto.
9105 * tree-ssa-dom.c (record_equivalences_from_stmt): Ditto.
9106 * tree-ssa-loop-im.c (is_call_clobbered_ref): Ditto.
9107 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Ditto.
9108 (add_address_candidates): Ditto.
9109 (rewrite_address_base): Ditto.
9110
2a7cd686
BE
91112004-09-30 Ben Elliston <bje@au.ibm.com>
9112
9113 * tree-flow.h (struct bb_ann_d): Remove num_preds member.
9114 * tree-into-ssa.c (rewrite_into_ssa): Don't set it.
9115 (rewrite_ssa_into_ssa): Likewise.
9116 * tree-phinodes.c (create_phi_node): Access the number of
9117 predecessor edges using EDGE_COUNT() and not num_preds.
9118
302a2cc5
JM
91192004-09-29 Joseph S. Myers <jsm@polyomino.org.uk>
9120
9121 PR c/7425
9122 * c-decl.c (merge_decls): Merge TREE_DEPRECATED.
9123
3e6688a7
EC
91242004-09-29 Eric Christopher <echristo@redhat.com>
9125
9126 * fold-const.c (tree_swap_operands_p): Remove duplicated code.
9127
8820e4be
HPN
91282004-09-29 Hans-Peter Nilsson <hp@axis.com>
9129
9130 * config/cris/cris.md (moverside, movemside): With MEM, make sure
9131 the address is (plus reg mem).
9132
d962e7ad
DE
91332004-09-29 David Edelsohn <edelsohn@gnu.org>
9134
9135 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
9136
c4b3f0eb
NS
91372004-09-29 Nathan Sidwell <nathan@codesourcery.com>
9138
9139 * tree.c (make_node_stat): Fix uninitialized warning. Replace
9140 cascaded if ... else if with a switch.
9141
b4f69040
AL
91422004-09-29 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
9143
9144 * read-rtl.c (apply_macro_to_string): Replace index with strchr.
9145
58c8adc1
JJ
91462004-09-29 Jakub Jelinek <jakub@redhat.com>
9147
9148 * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
9149 and TI_VA_LIST_FPR_COUNTER_FIELD.
9150 (va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
9151 * tree-pass.h (pass_stdarg): Add.
9152 * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
9153 * tree-stdarg.c: New file.
9154 * Makefile.in (OBJS-common): Add tree-stdarg.o.
9155 (tree-stdarg.o): Add dependencies.
9156 * function.h (struct function): Add va_list_gpr_size and
9157 va_list_fpr_size fields.
9158 * function.c (allocate_struct_function): Initialize them.
9159
9160 * config/i386/i386.c (ix86_build_builtin_va_list): Initialize
9161 va_list_{g,f}pr_counter_field.
9162 (ix86_setup_incoming_varargs): Don't do anything if reg_save
9163 area will not be used. Only save registers that tree-stdarg.c
9164 detected they need saving.
9165 (ix86_va_start): Don't set up fields that won't be used.
9166
9167 * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
9168 va_list_{g,f}pr_counter_field.
9169 (setup_incoming_varargs): Don't do anything if reg_save
9170 area will not be used. Only save registers that tree-stdarg.c
9171 detected they need saving.
9172 (rs6000_va_start): Don't set up fields that won't be used.
9173
0d5b215c
JJ
91742004-09-29 Jakub Jelinek <jakub@redhat.com>
9175
9176 * builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED,
9177 BUILT_IN_FPUTS, BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE,
9178 BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_PUTCHAR, BUILT_IN_PUTCHAR_UNLOCKED,
9179 BUILT_IN_PUTS, BUILT_IN_PUTS_UNLOCKED): Remove nothrow attribute.
9180 * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_1_2,
9181 ATTR_NONNULL_1_4): New.
9182
a7d6ba24
JJ
91832004-09-29 Jakub Jelinek <jakub@redhat.com>
9184
9185 PR tree-optimization/17697
9186 * tree-ssa-ccp.c (execute_fold_all_builtins): Update eh and cleanup
9187 cfg if needed.
9188
50fd1c97
PB
91892004-09-28 Per Bothner <per@bothner.com>
9190
ac973ace 9191 * profile.c (branch_prob): Pass correct value to output_location,
50fd1c97
PB
9192 even when USE_MAPPED_LOCATION. Fixes bug from 09-11.
9193
aa24864c
RH
91942004-09-28 Richard Henderson <rth@redhat.com>
9195
9196 PR 15089
9197 * tree-ssa-copy.c (may_propagate_copy_into_asm): New.
9198 * tree-flow.h (may_propagate_copy_into_asm): Declare.
9199 * tree-ssa-ccp.c (replace_uses_in): Use it.
9200 * tree-ssa-dom.c (cprop_operand): Likewise.
9201
e376fe58
JL
92022004-09-28 Jeff Law <law@redhat.com>
9203
9204 * tree-ssa-threadupdate.c (create_block_for_threading): Request
9205 that no outgoing edges be left in the duplicate block. Do no
9206 update information on outgoing edges or PHI nodes in target
9207 blocks here.
9208 (remove_ctrl_stmt_and_useless_edges): Renamed from
9209 remove_last_stmt_and_useless_edges. Handle case where the
9210 block is empty or has no control statements. Do not update edge
9211 flags here.
9212 (thread_block): Create a template block rather than copying the
9213 original block every time. Create outgoing edges from the
9214 duplicate blocks and update PHIs at the target of the outgoing
9215 edges here. Fix edge flags for the original block if necessary.
9216 * cfghooks (duplicate_block): No longer assert that the original
9217 block has incoming edges.
9218
805c33df
HPN
92192004-09-29 Hans-Peter Nilsson <hp@bitrange.com>
9220
9221 * doc/extend.texi (Extended Asm): Add blurb about using Explicit
9222 Reg Vars to enforce register allocation with general constraints.
9223 (Explicit Reg Vars): Clarify relation to asm statements.
9224 (Local Reg Vars): Similar.
9225
dcda8480
UW
92262004-09-28 Ulrich Weigand <uweigand@de.ibm.com>
9227
9228 * sched-rgn.c (haifa_edge, edge_table, NEXT_IN, NEXT_OUT, FROM_BLOCK,
9229 TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES, OUT_EDGES,
9230 build_control_flow, new_edge): Remove.
9231 (schedule_insns): Remove edge_table/in_edges/out_edges cleanup.
9232 (bitlst, bitlst_table_last, bitlst_table): Remove.
9233 (bblst): Store basic_block pointer instead of block index.
9234 (bblst_table): Likewise.
9235 (edgelst): Store edge pointer instead of edge index.
9236 (edgelst_table, edgelst_last): New variables.
9237 (extract_bitlst): Rename to ...
9238 (extract_edgelst): ... this. Return edge pointers, not indices.
9239 (split_edges): Update call.
9240 (rgn_edges): Store edge pointers instead of indices.
9241 (edge_to_bit): Remove.
9242 (EDGE_TO_BIT): Store per-region edge index in edge->aux.
9243 (SET_EDGE_TO_BIT): New macro.
9244 (is_cfg_nonregular): Check for simple cases of unreachable blocks.
9245 (find_rgns): Remove edge_list parameter. Traverse standard CFG
9246 data structures instead of haifa_edge et al. Use edge pointers
9247 instead of edge indices everywhere.
9248 (compute_dom_prob_ps): Use standard CFG data structures. Account
9249 for exit edges.
9250 (compute_trg_info): Likewise.
9251 (propagate_deps): Likewise.
9252 (debug_candidate): Account for bblst data structure change.
9253 (check_live_1, update_live_1, is_pfree): Likewise.
9254 (IS_REACHABLE): Use standard CFG data structures.
9255 (init_ready_list): Update bblst_table/edgelst_table allocation.
9256 (schedule_region): Update alloc/cleanup code to data structure
9257 changes. Use edge->aux to store per-region edge index.
9258 (init_regions): No longer call build_control_flow. Do not
9259 create edge list any more.
9260
2f39b6ca
UW
92612004-09-28 Ulrich Weigand <uweigand@de.ibm.com>
9262
9263 * cse.c (cse_insn): Avoid creating direct non-local jumps.
9264 * combine.c (can_combine_p): Likewise.
9265 * local-alloc. (update_equiv_regs): Likewise.
9266
b0b324b0
RH
92672004-09-28 Richard Henderson <rth@redhat.com>
9268
9269 PR 17531
9270 * expr.c (expand_expr_addr_expr_1): Only assemble_external for decls.
9271 Don't check VOIDmode here. Force PLUS operands to common type.
9272 (expand_expr_addr_expr): Do VOIDmode check earlier. Force use of
9273 Pmode if given a non pointer type.
9274
92752004-09-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9276
9277 PR 17531
9278 * optabs.c (expand_binop): Force constants to the correct mode.
9279
ea77e738
UW
92802004-09-28 Ulrich Weigand <uweigand@de.ibm.com>
9281
9282 * config/s390/s390.c (s390_adjust_cost): Remove.
9283 (TARGET_SCHED_ADJUST_COST): Do not redefine.
9284 (s390_adjust_priority): Handle TYPE_STM like TYPE_STORE.
3e6688a7 9285 * config/s390/s390.md ("main_pool"): Use "larl" type
ea77e738
UW
9286 attribute if TARGET_CPU_ZARCH.
9287
9924d7d8
JJ
92882004-09-28 Jakub Jelinek <jakub@redhat.com>
9289
9290 * config/ia64/ia64.c (ia64_expand_prologue): Declare ei
9291 variable.
9292
81842e1b
DN
92932004-09-28 Diego Novillo <dnovillo@redhat.com>
9294
9295 * tree-ssa-loop.c (pass_record_bounds): Do not assign a
9296 name to the pass.
9297
21ef99b8
SB
92982004-09-28 Steven Bosscher <stevenb@suse.de>
9299
9300 * common.opt (flag_gcse_sm): Disable by default.
9301 (flag_gcse_las): Likewise.
9302 (flag_web): Likewise. Create from this file.
9303 * flags.h: Remove flag_web declaration.
9304 * toplev.c (flag_web): Likewise.
9305 (process_options): Never set flag_web.
9306
78492bf5
SB
93072004-09-28 Steven Bosscher <stevenb@suse.de>
9308
9309 * Makefile.in (tree-ssa-propagate.o): Depend on vec.h.
9310 * tree-ssa-propagate.c: Include vec.h.
9311 (interesting_ssa_edges, varying_ssa_edges): Make these VECs
9312 instead of varrays.
9313 (cfg_blocks_add): Assert the block is not already in the worklist.
9314 Update uses of interesting_ssa_edges and varying_ssa_edges.
9315 (process_ssa_edge_worklist, ssa_prop_init, ssa_prop_fini,
9316 ssa_propagate): Likewise.
9317
ef787822
JM
93182004-09-28 Joseph S. Myers <jsm@polyomino.org.uk>
9319
9320 PR c/16409
9321 * c-decl.c (start_decl): Check for initializing incomplete array
9322 of VLAs.
9323 (build_compound_literal): Check for TYPE being error_mark_node.
9324 * c-parse.in (primary): Check for VLA compound literals.
9325
c3b8e9aa
DN
93262004-09-28 Diego Novillo <dnovillo@redhat.com>
9327
9328 * tree-ssa-live.c (calculate_live_on_entry): Fix warnings
9329 with --disable-checking.
9330
56bac5af
DP
93312004-09-28 Devang Patel <dpatel@apple.com>
9332
9333 * tree-pretty-print.c (dump_generic_node): Print vector types.
3e6688a7 9334
cc15e98f
NC
93352004-09-28 Nick Clifton <nickc@redhat.com>
9336
9337 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Replace with an
9338 invocation of the function sh_init_cumulative_args.
9339 (INIT_CUMULATIVE_LIBCALL_ARGS): Likewise.
9340 (INIT_CUMULATIVE_INCOMING_ARGS): Delete.
9341 * config/sh/sh-protos.h: Prototype sh_init_cumulative_args.
9342 * config/sh/sh.c (sh_init_cumulative_args): New function based
9343 on the contents of the old INIT_CUMULATIVE_ARGS macro but with a
9344 heuristic added to determine the setting of force_mem when a
9345 library function is being called.
9346
ee1f0fb0
DN
93472004-09-28 Diego Novillo <dnovillo@redhat.com>
9348
9349 * tree-ssa-loop-im.c (single_reachable_address) <PHI_NODE>:
9350 Skip constant arguments.
9351
38e05395
DN
93522004-09-28 Diego Novillo <dnovillo@redhat.com>
9353
9354 * tree-ssa-alias.c (create_name_tags): If PTR points to a
9355 volatile type, mark the tag volatile.
9356 (get_tmt_for): If TAG_TYPE is a volatile type, mark the tag
9357 volatile.
9358
45fbb186
AP
93592004-09-28 Andrew Pinski <pinskia@physics.uc.edu>
9360
9361 * tree.def (vec_cond_expr): Fix. Change 'e'
9362 to tcc_expression.
9363
c2b7c2d8
KH
93642004-09-28 Kazu Hirata <kazu@cs.umass.edu>
9365
9366 * basic-block.h: Fix a comment typo.
9367
6dbd43ba
KH
93682004-09-28 Kazu Hirata <kazu@cs.umass.edu>
9369
9370 * optabs.c, optabs.h: Fix comment typos.
9371
ecaa611b
EB
93722004-09-28 Eric Botcazou <ebotcazou@act-europe.fr>
9373
9374 * config/sparc/sparc.md (call_address_struct_value_sp32):
9375 Properly mask the immediate field of the 'unimp' instruction.
9376 (call_symbolic_struct_value_sp32): Likewise.
9377
2a7cd686 93782004-09-28 Ben Elliston <bje@au.ibm.com>
628f6a4e
BE
9379 Steven Bosscher <stevenb@suse.de>
9380 Andrew Pinski <pinskia@physics.uc.edu>
9381
9382 Merge from edge-vector-branch:
9383 * basic-block.h: Include vec.h, errors.h. Instantiate a VEC(edge).
9384 (struct edge_def): Remove pred_next, succ_next members.
9385 (struct basic_block_def): Remove pred, succ members. Add preds
9386 and succs members of type VEC(edge).
9387 (FALLTHRU_EDGE): Redefine using EDGE_SUCC.
9388 (BRANCH_EDGE): Likewise.
9389 (EDGE_CRITICAL_P): Redefine using EDGE_COUNT.
9390 (EDGE_COUNT, EDGE_I, EDGE_PRED, EDGE_SUCC): New.
9391 (edge_iterator): New.
9392 (ei_start, ei_last, ei_end_p, ei_one_before_end_p): New.
9393 (ei_next, ei_prev, ei_edge, ei_safe_edge): Likewise.
9394 (FOR_EACH_EDGE): New.
9395 * bb-reorder.c (find_traces): Use FOR_EACH_EDGE and EDGE_* macros
9396 where applicable.
9397 (rotate_loop): Likewise.
9398 (find_traces_1_route): Likewise.
9399 (bb_to_key): Likewise.
9400 (connect_traces): Likewise.
9401 (copy_bb_p): Likewise.
9402 (find_rarely_executed_basic_blocks_and_crossing_edges): Likewise.
9403 (add_labels_and_missing_jumps): Likewise.
9404 (fix_up_fall_thru_edges): Likewise.
9405 (find_jump_block): Likewise.
9406 (fix_crossing_conditional_branches): Likewise.
9407 (fix_crossing_unconditional_branches): Likewise.
9408 (add_reg_crossing_jump_notes): Likewise.
9409 * bt-load.c (augment_live_range): Likewise.
9410 * cfg.c (clear_edges): Likewise.
9411 (unchecked_make_edge): Likewise.
9412 (cached_make_edge): Likewise.
9413 (make_single_succ_edge): Likewise.
9414 (remove_edge): Likewise.
9415 (redirect_edge_succ_nodup): Likewise.
9416 (check_bb_profile): Likewise.
9417 (dump_flow_info): Likewise.
9418 (alloc_aux_for_edges): Likewise.
9419 (clear_aux_for_edges): Likewise.
9420 (dump_cfg_bb_info): Likewise.
9421 * cfganal.c (forwarder_block_p): Likewise.
9422 (can_fallthru): Likewise.
9423 (could_fall_through): Likewise.
9424 (mark_dfs_back_edges): Likewise.
9425 (set_edge_can_fallthru_flag): Likewise.
9426 (find_unreachable_blocks): Likewise.
9427 (create_edge_list): Likewise.
9428 (verify_edge_list): Likewise.
9429 (add_noreturn_fake_exit_edges): Likewise.
9430 (connect_infinite_loops_to_exit): Likewise.
9431 (flow_reverse_top_sort_order_compute): Likewise.
9432 (flow_depth_first_order_compute): Likewise.
9433 (flow_preorder_transversal_compute): Likewise.
9434 (flow_dfs_compute_reverse_execute): Likewise.
9435 (dfs_enumerate_from): Likewise.
9436 (compute_dominance_frontiers_1): Likewise.
9437 * cfgbuild.c (make_edges): Likewise.
9438 (compute_outgoing_frequencies): Likewise.
9439 (find_many_sub_basic_blocks): Likewise.
9440 (find_sub_basic_blocks): Likewise.
9441 * cfgcleanup.c (try_simplify_condjump): Likewise.
9442 (thread_jump): Likewise.
9443 (try_forward_edges): Likewise.
9444 (merge_blocks_move): Likewise.
9445 (outgoing_edges_match): Likewise.
9446 (try_crossjump_to_edge): Likewise.
9447 (try_crossjump_bb): Likewise.
9448 (try_optimize_cfg): Likewise.
9449 (merge_seq_blocks): Likewise.
9450 * cfgexpand.c (expand_gimple_tailcall): Likewise.
9451 (expand_gimple_basic_block): Likewise.
9452 (construct_init_block): Likewise.
9453 (construct_exit_block): Likewise.
9454 * cfghooks.c (verify_flow_info): Likewise.
9455 (dump_bb): Likewise.
9456 (delete_basic_block): Likewise.
9457 (split_edge): Likewise.
9458 (merge_blocks): Likewise.
9459 (make_forwarder_block): Likewise.
9460 (tidy_fallthru_edges): Likewise.
9461 (can_duplicate_block_p): Likewise.
9462 (duplicate_block): Likewise.
9463 * cfglayout.c (fixup_reorder_chain): Likewise.
9464 (fixup_fallthru_exit_predecessor): Likewise.
9465 (can_copy_bbs_p): Likewise.
9466 (copy_bbs): Likewise.
9467 * cfgloop.c (flow_loops_cfg_dump): Likewise.
9468 (flow_loop_entry_edges_find): Likewise.
9469 (flow_loop_exit_edges_find): Likewise.
9470 (flow_loop_nodes_find): Likewise.
9471 (mark_single_exit_loops): Likewise.
9472 (flow_loop_pre_header_scan): Likewise.
9473 (flow_loop_pre_header_find): Likewise.
9474 (update_latch_info): Likewise.
9475 (canonicalize_loop_headers): Likewise.
9476 (flow_loops_find): Likewise.
9477 (get_loop_body_in_bfs_order): Likewise.
9478 (get_loop_exit_edges): Likewise.
9479 (num_loop_branches): Likewise.
9480 (verify_loop_structure): Likewise.
9481 (loop_latch_edge): Likewise.
9482 (loop_preheader_edge): Likewise.
9483 * cfgloopanal.c (mark_irreducible_loops): Likewise.
9484 (expected_loop_iterations): Likewise.
9485 * cfgloopmanip.c (remove_bbs): Likewise.
9486 (fix_bb_placement): Likewise.
9487 (fix_irreducible_loops): Likewise.
9488 (remove_path): Likewise.
9489 (scale_bbs_frequencies): Likewise.
9490 (loopify): Likewise.
9491 (unloop): Likewise.
9492 (fix_loop_placement): Likewise.
9493 (loop_delete_branch_edge): Likewise.
9494 (duplicate_loop_to_header_edge): Likewise.
9495 (mfb_keep_just): Likewise.
9496 (create_preheader): Likewise.
9497 (force_single_succ_latches): Likewise.
9498 (loop_split_edge_with): Likewise.
9499 (create_loop_notes): Likewise.
9500 * cfgrtl.c (rtl_split_block): Likewise.
9501 (rtl_merge_blocks): Likewise.
9502 (rtl_can_merge_blocks): Likewise.
9503 (try_redirect_by_replacing_jump): Likewise.
9504 (force_nonfallthru_and_redirect): Likewise.
9505 (rtl_tidy_fallthru_edge): Likewise.
9506 (commit_one_edge_insertion): Likewise.
9507 (commit_edge_insertions): Likewise.
9508 (commit_edge_insertions_watch_calls): Likewise.
9509 (rtl_verify_flow_info_1): Likewise.
9510 (rtl_verify_flow_info): Likewise.
9511 (purge_dead_edges): Likewise.
9512 (cfg_layout_redirect_edge_and_branch): Likewise.
9513 (cfg_layout_can_merge_blocks_p): Likewise.
9514 (rtl_flow_call_edges_add): Likewise.
9515 * cse.c (cse_cc_succs): Likewise.
9516 * df.c (hybrid_search): Likewise.
9517 * dominance.c (calc_dfs_tree_nonrec): Likewise.
9518 (calc_dfs_tree): Likewise.
9519 (calc_idoms): Likewise.
9520 (recount_dominator): Likewise.
9521 * domwalk.c (walk_dominator_tree): Likewise.
9522 * except.c (emit_to_new_bb_before): Likewise.
9523 (connect_post_landing_pads): Likewise.
9524 (sjlj_emit_function_enter): Likewise.
9525 (sjlj_emit_function_exit): Likewise.
9526 (finish_eh_generation): Likewise.
9527 * final.c (compute_alignments): Likewise.
9528 * flow.c (calculate_global_regs_live): Likewise.
9529 (initialize_uninitialized_subregs): Likewise.
9530 (init_propagate_block_info): Likewise.
9531 * function.c (thread_prologue_and_epilogue_insns): Likewise.
9532 * gcse.c (find_implicit_sets): Likewise.
9533 (bypass_block): Likewise.
9534 (bypass_conditional_jumps): Likewise.
9535 (compute_pre_data): Likewise.
9536 (insert_insn_end_bb): Likewise.
9537 (insert_store): Likewise.
9538 (remove_reachable_equiv_notes): Likewise.
9539 * global.c (global_conflicts): Likewise.
9540 (calculate_reg_pav): Likewise.
9541 * graph.c (print_rtl_graph_with_bb): Likewise.
9542 * ifcvt.c (mark_loop_exit_edges): Likewise.
9543 (merge_if_block): Likewise.
9544 (find_if_header): Likewise.
9545 (block_jumps_and_fallthru_p): Likewise.
9546 (find_if_block): Likewise.
9547 (find_cond_trap): Likewise.
9548 (block_has_only_trap): Likewise.
9549 (find_if_case1): Likewise.
9550 (find_if_case_2): Likewise.
9551 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
9552 (perfect_nestify): Likewise.
9553 * lcm.c (compute_antinout_edge): Likewise.
9554 (compute_laterin): Likewise.
9555 (compute_available): Likewise.
9556 (compute_nearerout): Likewise.
9557 * loop-doloop.c (doloop_modify): Likewise.
9558 * loop-init.c (loop_optimizer_init): Likewise.
9559 * loop-invariant.c (find_exits): Likewise.
9560 * loop-iv.c (simplify_using_initial_values): Likewise.
9561 (check_simple_exit): Likewise.
9562 (find_simple_exit): Likewise.
9563 * loop-unroll.c (peel_loop_completely): Likewise.
9564 (unroll_loop_constant_iterations): Likewise.
9565 (unroll_loop_runtime_iterations): Likewise.
9566 * loop-unswitch.c (may_unswitch_on): Likewise.
9567 (unswitch_loop): Likewise.
9568 * modulo-sched.c (generate_prolog_epilog): Likewise.
9569 (sms_schedule): Likewise.
9570 * postreload-gcse.c (eliminate_partially_redundant_load):
9571 Likewise.
9572 * predict.c (can_predict_insn_p): Likewise.
9573 (set_even_probabilities): Likewise.
9574 (combine_predictions_for_bb): Likewise.
9575 (predict_loops): Likewise.
9576 (estimate_probability): Likewise.
9577 (tree_predict_by_opcode): Likewise.
9578 (tree_estimate_probability): Likewise.
9579 (last_basic_block_p): Likewise.
9580 (propagate_freq): Likewise.
9581 (estimate_loops_at_level): Likewise.
9582 (estimate_bb_frequencies): Likewise.
9583 * profile.c (instrument_edges): Likewise.
9584 (get_exec_counts): Likewise.
9585 (compute_branch_probabilities): Likewise.
9586 (branch_prob): Likewise.
9587 * ra-build.c (live_in): Likewise.
9588 * ra-rewrite.c (rewrite_program2): Likewise.
9589 * ra.c (reg_alloc): Likewise.
9590 * reg-stack.c (reg_to_stack): Likewise.
9591 (convert_regs_entry): Likewise.
9592 (compensate_edge): Likewise.
9593 (convert_regs_1): Likewise,
9594 (convert_regs_2): Likewise.
9595 (convert_regs): Likewise.
9596 * regrename.c (copyprop_hardreg_forward): Likewise.
9597 * reload1.c (fixup_abnormal_edges): Likewise.
9598 * sbitmap.c (sbitmap_intersection_of_succs): Likewise.
9599 (sbitmap_insersection_of_preds): Likewise.
9600 (sbitmap_union_of_succs): Likewise.
9601 (sbitmap_union_of_preds): Likewise.
9602 * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
9603 (fix_basic_block_boundaries): Likewise.
9604 (sched_ebbs): Likewise.
9605 * sched-rgn.c (build_control_flow): Likewise.
9606 (find_rgns): Likewise.
9607 * tracer.c (find_best_successor): Likewise.
9608 (find_best_predecessor): Likewise.
9609 (tail_duplicate): Likewise.
9610 * tree-cfg.c (make_edges): Likewise.
9611 (make_ctrl_stmt_edges): Likewise.
9612 (make_goto_expr_edges): Likewise.
9613 (tree_can_merge_blocks_p): Likewise.
9614 (tree_merge_blocks): Likewise.
9615 (cfg_remove_useless_stmts_bb): Likewise.
9616 (remove_phi_nodes_and_edges_for_unreachable_block): Likewise.
9617 (tree_block_forwards_to): Likewise.
9618 (cleanup_control_expr_graph): Likewise.
9619 (find_taken_edge): Likewise.
9620 (dump_cfg_stats): Likewise.
9621 (tree_cfg2vcg): Likewise.
9622 (disband_implicit_edges): Likewise.
9623 (tree_find_edge_insert_loc): Likewise.
9624 (bsi_commit_edge_inserts): Likewise.
9625 (tree_split_edge): Likewise.
9626 (tree_verify_flow_info): Likewise.
9627 (tree_make_forwarder_block): Likewise.
9628 (tree_forwarder_block_p): Likewise.
9629 (thread_jumps): Likewise.
9630 (tree_try_redirect_by_replacing_jump): Likewise.
9631 (tree_split_block): Likewise.
9632 (add_phi_args_after_copy_bb): Likewise.
9633 (rewrite_to_new_ssa_names_bb): Likewise.
9634 (dump_function_to_file): Likewise.
9635 (print_pred_bbs): Likewise.
9636 (print_loop): Likewise.
9637 (tree_flow_call_edges_add): Likewise.
9638 (split_critical_edges): Likewise.
9639 (execute_warn_function_return): Likewise.
9640 (extract_true_false_edges_from_block): Likewise.
9641 * tree-if-conv.c (tree_if_conversion): Likewise.
9642 (if_convertable_bb_p): Likewise.
9643 (find_phi_replacement_condition): Likewise.
9644 (combine_blocks): Likewise.
9645 * tree-into-ssa.c (compute_global_livein): Likewise.
9646 (ssa_mark_phi_uses): Likewise.
9647 (ssa_rewrite_initialize_block): Likewise.
9648 (rewrite_add_phi_arguments): Likewise.
9649 (ssa_rewrite_phi_arguments): Likewise.
9650 (insert_phi_nodes_for): Likewise.
9651 (rewrite_into_ssa): Likewise.
9652 (rewrite_ssa_into_ssa): Likewise.
9653 * tree-mudflap.c (mf_build_check_statement_for): Likewise.
9654 * tree-outof-ssa.c (coalesce_abnormal_edges): Likewise.
9655 (rewrite_trees): Likewise.
9656 * tree-pretty-print.c (dump_bb_header): Likewise.
9657 (dump_implicit_edges): Likewise.
9658 * tree-sra.c (insert_edge_copies): Likewise.
9659 (find_obviously_necessary_stmts): Likewise.
9660 (remove_data_stmt): Likewise.
9661 * tree-ssa-dom.c (thread_across_edge): Likewise.
9662 (dom_opt_finalize_block): Likewise.
9663 (single_incoming_edge_ignoring_loop_edges): Likewise.
9664 (record_equivalences_from_incoming_edges): Likewise.
9665 (cprop_into_successor_phis): Likewise.
9666 * tree-ssa-live.c (live_worklist): Likewise.
9667 (calculate_live_on_entry): Likewise.
9668 (calculate_live_on_exit): Likewise.
9669 * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Likewise.
9670 (copy_loop_headers): Likewise.
9671 * tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
9672 (fill_always_executed_in): Likewise.
9673 * tree-ssa-loop-ivcanon.c (create_canonical_iv): Likewise.
9674 * tree-ssa-loop-ivopts.c (find_interesting_uses): Likewise.
9675 (compute_phi_arg_on_exit): Likewise.
9676 * tree-ssa-loop-manip.c (add_exit_phis_edge): Likewise.
9677 (get_loops_exit): Likewise.
9678 (split_loop_exit_edge): Likewise.
9679 (ip_normal_pos): Likewise.
9680 * tree-ssa-loop-niter.c (simplify_using_initial_conditions):
9681 Likewise.
9682 * tree-ssa-phiopt.c (candidate_bb_for_phi_optimization): Likewise.
9683 (replace_phi_with_stmt): Likewise.
9684 (value_replacement): Likewise.
9685 * tree-ssa-pre.c (compute_antic_aux): Likewise.
9686 (insert_aux): Likewise.
9687 (init_pre): Likewise.
9688 * tree-ssa-propagate.c (simulate_stmt): Likewise.
9689 (simulate_block): Likewise.
9690 (ssa_prop_init): Likewise.
3e6688a7 9691 * tree-ssa-threadupdate.c (thread_block): Likewise.
628f6a4e
BE
9692 (create_block_for_threading): Likewise.
9693 (remove_last_stmt_and_useless_edges): Likewise.
9694 * tree-ssa.c (verify_phi_args): Likewise.
9695 (verify_ssa): Likewise.
9696 * tree_tailcall.c (independent_of_stmt_p): Likewise.
9697 (find_tail_calls): Likewise.
9698 (eliminate_tail_call): Likewise.
9699 (tree_optimize_tail_calls_1): Likewise.
9700 * tree-vectorizer.c (vect_transform_loop): Likewise.
9701 * var-tracking.c (prologue_stack_adjust): Likewise.
9702 (vt_stack_adjustments): Likewise.
9703 (vt_find_locations): Likewise.
9704 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
9705 * config/i386/i386.c (ix86_pad_returns): Likewise.
9706 * config/ia64/ia64.c (ia64_expand_prologue): Likewise.
9707 * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
9708
5be9b7a1
EB
97092004-09-28 Eric Botcazou <ebotcazou@libertysurf.fr>
9710
9711 PR target/16532
9712 * config/sparc/sparc.c (struct machine_function): New field
9713 'leaf_function_p' and 'prologue_data_valid_p'.
9714 (sparc_leaf_function_p, sparc_prologue_data_valid_p): New macro
9715 to conveniently access the above fields.
9716 (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Delete.
9717 (eligible_for_return_delay): Use 'sparc_leaf_function_p' instead
9718 of the generic flavor 'current_function_uses_only_leaf_regs'.
9719 (eligible_for_sibcall_delay): Likewise.
9720 (sparc_expand_prologue): Compute 'sparc_leaf_function_p' and set
9721 'sparc_prologue_data_valid_p'. Use 'sparc_leaf_function_p'.
9722 (sparc_asm_function_prologue): Add sanity check for the assumption
9723 made in 'sparc_expand_prologue'. Use 'sparc_leaf_function_p'.
9724 (sparc_can_use_return_insn_p): New function.
9725 (sparc_expand_epilogue): Use 'sparc_leaf_function_p'.
9726 (output_restore): Likewise.
9727 (output_sibcall): Likewise.
9728 (sparc_output_mi_thunk): Likewise.
9729 * config/sparc/sparc-protos.h (sparc_can_use_return_insn_p): Declare.
9730 * config/sparc/sparc.md (return): New expander.
9731
9732 * config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Minor tweak.
9733
455f19cb
MM
97342004-09-27 Mark Mitchell <mark@codesourcery.com>
9735
9736 PR c++/17642
9737 * stor-layout.c (layout_decl): Use fold_convert, not convert.
9738 (bit_from_pos): Likewise.
9739 (byte_from_pos): Likewise.
9740 (pos_from_bit): Likewise.
9741 (normalize_offset): Likewise.
9742 (place_field): Likewise.
9743 (finalize_type_size): Likewise.
9744 (layout_type): Likewise.
9745 * tree.c (build_index_type): Likewise.
9746
7ce67fbe
DP
97472004-09-27 Devang Patel <dpatel@apple.com>
9748
9749 * expr.c (expand_expr_real_1): Handle VEC_COND_EXPR.
9750 * genopinit.c (optabs): New entry for vcond_gen_code and
9751 vcondu_gen_code.
9752 * optabs.c (vcond_gen_code, vcondu_gen_code): New optabs.
9753 (get_rtx_code): New function.
9754 (vector_compare_rtx): New function.
9755 (init_optabs): Initialize vcond_gen_code and vcondu_gen_code.
9756 (expand_vec_cond_expr_p): New function.
9757 (expand_vec_cond_expr): New function.
9758 (get_vcond_icode): New function.
9759 * optabs.h (expand_vec_cond_expr, expand_vec_cond_expr_p): New externs.
9760 (vcond_gen_code, vcondu_gen_code): Same.
9761
55040e7a
KC
97622004-09-27 Kelley Cook <kcook@gcc.gnu.org>
9763
9764 * Makefile.in (STAGESTUFF): Split into ...
9765 (STAGECOPYSTUFF, STAGEMOVESTUFF): ... these.
9766 (mostlyclean): Update.
9767 (stage1-start, stage2-start, stage3-start, stage4-start,
9768 stageprofile-start, stagefeedback-start): Copy the STAGECOPYSTUFF.
9769 Move the STAGEMOVESTUFF.
9770
f6260033
EB
97712004-09-27 Eric Botcazou <ebotcazou@libertysurf.fr>
9772
9773 * system.h (getpagesize): Return 'int' instead of 'long'.
9774
49f41d06
MM
97752004-09-27 Michael Matz <matz@suse.de>
9776
9777 PR bootstrap/17698
9778 PR bootstrap/17702
9779 * bitmap.h (bmp_iter_single_init, bmp_iter_and_not_init,
9780 bmp_iter_and_init): Shift by bit_in_word.
9781
a62322c4
KC
97822004-09-27 Kelley Cook <kcook@gcc.gnu.org>
9783
9784 * aclocal.m4: Quote m4_includes. Include ../config/gcc-lib-path.m4.
9785 * configure.ac: Don't sinclude it here.
9786 * configure: Regenerate.
9787
850e8d3d
DN
97882004-09-27 Dorit Naishlos <dorit@il.ibm.com>
9789
9790 * config/rs6000/rs6000.c (rs6000_legitimate_address, print_operand):
9791 Handle AND pattern
9792
5e9bda65
JM
97932004-09-27 Joseph S. Myers <jsm@polyomino.org.uk>
9794
9795 PR c/13804
9796 * c-typeck.c (build_component_ref): Name type involved in
9797 diagnostic for structure or union without a member of the given
9798 name.
9799
43f51151
DD
98002004-09-27 DJ Delorie <dj@redhat.com>
9801
9802 * config/stormy16/stormy16.c (xstormy16_asm_output_aligned_common):
9803 .comm alignment is bytes, not bits.
9804
6337c1a2
DP
98052004-09-27 Devang Patel <dpatel@apple.com>
9806
9807 * tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
9808 (print_call_name): Do not print VEC_COND_EXPR.
6337c1a2 9809
7e200b50
DP
98102004-09-27 Devang Patel <dpatel@apple.com>
9811
9812 * tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
3e6688a7 9813
8c1e80e9
JH
98142004-09-27 Jan Hubicka <jh@suse.cz>
9815
9816 * i386.c (athlon_cost, k8_cost): Set BRANCH_COST to 5.
9817
75e50bd2
KH
98182004-09-27 Kazu Hirata <kazu@cs.umass.edu>
9819
9820 * bitmap.h: Fix a comment typo.
9821
94c1e7ac
AL
98222004-09-27 Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
9823
9824 * libgcc2.c (getpagesize): Change type of return value to int.
9825
772299b3
MA
98262004-09-26 Matt Austern <austern@apple.com>
9827
9828 * ggc-page.c (GGC_QUIRE_SIZE): Bump up from 16 to 256 if we're
9829 using mmap.
3e6688a7 9830
87c476a2
ZD
98312004-09-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9832
9833 * bitmap.h (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_COMPL_IN_BITMAP,
9834 EXECUTE_IF_AND_IN_BITMAP): Changed to iterator style.
9835 (bitmap_iterator): New type.
9836 (bmp_iter_common_next_1, bmp_iter_single_next_1, bmp_iter_single_init,
9837 bmp_iter_end_p, bmp_iter_single_next, bmp_iter_and_not_next_1,
9838 bmp_iter_and_not_init, bmp_iter_and_not_next, bmp_iter_and_next_1,
9839 bmp_iter_and_init, bmp_iter_and_next): New functions.
9840 * basic-block.h (EXECUTE_IF_SET_IN_REG_SET,
9841 EXECUTE_IF_AND_COMPL_IN_REG_SET, EXECUTE_IF_AND_IN_REG_SET): Changed to
9842 use iterator-style EXECUTE_IF_IN_BITMAP macros.
9843 * bitmap.c (bitmap_print): Ditto.
9844 * bt-load.c (clear_btr_from_live_range, add_btr_to_live_range,
9845 btr_def_live_range): Ditto.
9846 * cfganal.c (compute_dominance_frontiers_1) Ditto.
9847 * cgraphunit.c (convert_UIDs_in_bitmap, cgraph_characterize_statics):
9848 Ditto.
9849 * ddg.c (build_inter_loop_deps): Ditto.
9850 * df.c (FOR_EACH_BB_IN_BITMAP, df_bb_reg_info_compute, df_refs_update):
9851 Ditto.
9852 * except.c (remove_eh_handler): Ditto.
9853 * flow.c (reg_set_to_hard_reg_set): Ditto.
9854 * gcse.c (clear_modify_mem_tables): Ditto.
9855 * global.c (build_insn_chain): Ditto.
9856 * ifcvt.c (dead_or_predicable): Ditto.
9857 * loop-invariant.c (get_inv_cost, set_move_mark, move_invariant_reg):
9858 Ditto.
9859 * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs): Ditto.
9860 * ra-rewrite.c (reloads_to_loads, rewrite_program2,
9861 detect_web_parts_to_rebuild, delete_useless_defs, actual_spill): Ditto.
9862 * tree-cfg.c (allocate_ssa_names, tree_duplicate_sese_region,
9863 tree_purge_all_dead_eh_edges): Ditto.
9864 * tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
9865 insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags,
9866 rewrite_ssa_into_ssa): Ditto.
9867 * tree-outof-ssa.c (find_replaceable_exprs): Ditto.
9868 * tree-sra.c (scan_function, decide_instantiations, scalarize_parms):
9869 Ditto.
9870 * tree-ssa-alias.c (init_alias_info, compute_points_to_and_addr_escape,
9871 compute_flow_sensitive_aliasing, maybe_create_global_var,
9872 dump_points_to_info_for): Ditto.
9873 * tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Ditto.
9874 * tree-ssa-dse.c (dse_finalize_block): Ditto.
9875 * tree-ssa-live.c (live_worklist, calculate_live_on_entry,
9876 calculate_live_on_exit, build_tree_conflict_graph, dump_live_info):
9877 Ditto.
9878 * tree-ssa-loop-ivopts.c (find_induction_variables,
9879 find_interesting_uses, add_old_ivs_candidates, alloc_use_cost_map,
9880 determine_use_iv_costs, determine_set_costs, find_best_candidate,
9881 set_cost_up_to, create_new_ivs, remove_unused_ivs, free_loop_data):
9882 Ditto.
9883 * tree-ssa-loop-manip.c (add_exit_phis_var, add_exit_phis): Ditto.
9884 * tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
9885 add_call_read_ops): Ditto.
9886 * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Ditto.
9887
69049ba0
JDA
98882004-09-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9889
9890 * pa.c (print_operand): Use non-trapping completers for UNLE, UNLT,
9891 UNGE, UNGT, UNEQ, UNORDERED and ORDERED comparisons.
9892
6cbaec9e
UW
98932004-09-26 Ulrich Weigand <uweigand@de.ibm.com>
9894
9895 * builtins.c (expand_builtin_memcmp): Adjust MEM_SIZE to
9896 reflect size of memory regions being compared.
9897
931e6c29
UW
98982004-09-26 Ulrich Weigand <uweigand@de.ibm.com>
9899
9900 * builtins.c (get_memory_rtx): Set mem attributes for non-ADDR_EXPR
9901 expressions. Always clear MEM_SIZE and alias set.
9902
897f610b
RS
99032004-09-26 Roger Sayle <roger@eyesopen.com>
9904 Giovanni Bajo <giovannibajo@gcc.gnu.org>
9905
9906 PR middle-end/17112
9907 * stor-layout.c (compute_record_mode): For records with a single
9908 field, only use the field's mode if its size matches what we'd
9909 have choosen for the record ourselves. This forces the use of
9910 BLKmode for packed records that don't completely fill a mode.
9911
5c8c573a
RS
99122004-09-26 Roger Sayle <roger@eyesopen.com>
9913
9914 PR middle-end/17151
9915 * combine.c (force_to_mode): Remove dubious early return test that
9916 inhibits further optimization.
9917
628f3b63
KH
99182004-09-26 Kazu Hirata <kazu@cs.umass.edu>
9919
9920 * profile.c: Fix a comment typo.
9921
be35cf60
ZD
99222004-09-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9923
9924 PR bootstrap/17591
9925 * tree-ssa-loop-im.c (for_each_index): Call callback for component_refs
9926 with varying offset.
9927 * tree-ssa-loop-ivopts.c (abnormal_ssa_name_p): New function.
9928 (idx_contains_abnormal_ssa_name_p): Scan step and lower bound for
9929 ARRAY_REFS.
9930 (expr_invariant_in_loop_p): New function.
9931 (idx_find_step): Handle step and lower bound for ARRAY_REFs. Handle
9932 component_ref_field_offset for COMPONENT_REFs. Do not allow
9933 ALIGN_INDIRECT_REFs and MISALIGNED_INDIRECT_REFs.
9934 (add_address_candidates): Do not handle ALIGN_INDIRECT_REFs and
9935 MISALIGNED_INDIRECT_REFs.
9936 (idx_remove_ssa_names): Handle step and lower bound for ARRAY_REFs.
9937 (rewrite_address_base): Do not handle ALIGN_INDIRECT_REFs and
9938 MISALIGNED_INDIRECT_REFs.
9939
34096b92
JM
99402004-09-26 Joseph S. Myers <jsm@polyomino.org.uk>
9941
9942 PR c/11459
9943 * gcc.c (cpp_options, cc1_options): Preserve relative order of
9944 -std and -ansi options.
9945
5db0241f
JH
99462004-09-26 Jan Hubicka <jh@suse.cz>
9947
1168d30f
JH
9948 * dwarf2out.c (dwarf2out_finish): Set parent to comp_unit_die
9949 for nested functions whose proper parent has not been output.
9950
5db0241f
JH
9951 * profile.c (compute_branch_probabilities): Use REG_BR_PROB notes
9952 when re-constructing profile previously invalidated by loop.
9953
bfe0d06b
DJ
99542004-09-25 Dale Johannesen <dalej@apple.com>
9955
9956 * tree-gimple.c: Move GIMPLE definition...
9957 * doc/tree-ssa.texi: here.
9958
601d18c6
KH
99592004-09-25 Kazu Hirata <kazu@cs.umass.edu>
9960
9961 * tree-vectorizer.c: Fix a comment typo.
9962
ea4b7848
KH
99632004-09-25 Kazu Hirata <kazu@cs.umass.edu>
9964
9965 * c-typeck.c, defaults.h, dwarf.h, dwarf2out.c, fold-const.c,
9966 gthr-dce.h, gthr-posix.h, gthr-solaris.h, gthr-win32.h,
9967 lambda-code.c, lambda-mat.c, libgcc2.c, stmt.c,
9968 tree-ssa-pre.c, tree-vn.c, tree.h: Fix comment formatting.
9969
e75220c8
KH
99702004-09-25 Kazu Hirata <kazu@cs.umass.edu>
9971
9972 * tree-ssa-loop-unswitch.c: Fix a comment typo.
9973
87880c12
KH
99742004-09-25 Kazu Hirata <kazu@cs.umass.edu>
9975
9976 * doc/passes.texi: Fix a typo.
9977
f3cd574f
ZD
99782004-09-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9979
9980 * tree-optimize.c (init_tree_optimization_passes): Add
9981 pass_record_bounds.
9982 * tree-pass.h (pass_record_bounds): Declare.
9983 * tree-ssa-loop.c (tree_ssa_loop_bounds, pass_record_bounds):
9984 New pass.
9985
f34fa464
ZD
99862004-09-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9987
9988 PR tree-optimization/17474
9989 * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Determine
9990 offset of the field correctly when DECL_FIELD_BIT_OFFSET != 0.
9991
70f3cc30
JH
99922004-09-25 Jan Hubicka <jh@suse.cz>
9993
f34fa464 9994 * predict.c (counts_to_freqs): Make global.
bbd236a1
JH
9995 * predict.h (counts_to_freqa): Declare.
9996 * profile.c (compute_branch_probabilities): Compute frequencies
9997 * tree-profile.c (do_tree_profiling): Refine conditional on when
9998 tree profiling pass is needed.
9999
70f3cc30
JH
10000 * passes.c (rest_of_handle_cfg): Disable const/pure function
10001 detection when doing tree based profiling.
10002
10003 * tree-inline.c (expand_call_inline): Fix incorrectly reversed
10004 conditional.
10005
b11a9d5f
RS
100062004-09-25 Richard Sandiford <rsandifo@redhat.com>
10007
10008 * config/mips/mips.h (struct mips_args): Clarify comments.
10009 * config/mips/mips.c (struct mips_arg_info): Likewise.
10010 (mips_arg_info): Don't allow fpr_p to affect the register or
10011 stack alignment. Remove o64 silliness.
10012 (function_arg): Deal with the o32 float,float case specially.
10013
03eccdc8
RS
100142004-09-25 Richard Sandiford <rsandifo@redhat.com>
10015
10016 * config/mips/mips.md (loadx, storex): Define for V2SF.
10017
ef44a6ff
UW
100182004-09-25 Ulrich Weigand <uweigand@de.ibm.com>
10019
10020 * config/s390/s390-protos.h (s390_back_chain_rtx): Add prototype.
10021 * config/s390/s390.c (s390_back_chain_rtx): New function.
10022 * config/s390/s390.md ("allocate_stack"): Use s390_back_chain_rtx.
10023 Call anti_adjust_stack.
10024 ("restore_stack_block"): Use s390_back_chain_rtx. Enable pattern
10025 only if compiling with back chain.
10026 ("save_stack_nonlocal", "restore_stack_nonlocal"): Save/restore
10027 back chain only if back chain enabled. Use s390_back_chain_rtx.
3e6688a7 10028
60ae6360
JM
100292004-09-25 Joseph S. Myers <jsm@polyomino.org.uk>
10030
10031 * doc/trouble.texi: Remove obsolete information. Update
10032 information on how to regenerate fixincluded headers.
10033
b99cfc22
JM
100342004-09-25 Joseph S. Myers <jsm@polyomino.org.uk>
10035
10036 PR c/12951
10037 * doc/invoke.texi: Document that
10038 -Wno-error-implicit-function-declaration is not accepted.
10039
e2ea71ea
RH
100402004-09-24 Richard Henderson <rth@redhat.com>
10041
10042 * config/alpha/alpha.h (UNITS_PER_SIMD_WORD): New.
10043 * config/alpha/alpha.c (alpha_vector_mode_supported_p): Don't depend
10044 on TARGET_MAX.
10045 (alpha_expand_mov): Allow unaligned vectors.
10046 (alpha_expand_unaligned_store): Use CONST0_RTX.
10047 (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.
10048
b8545fbf
JL
100492004-09-24 Jeff Law <law@redhat.com>
10050
10051 * tree-ssa-dom.c (dom_opt_finalize_block): Fix violation of strict
10052 aliasing rules.
10053 (simplify_cond_and_lookup_avail_expr): Likewise.
10054
2fbebc71
JM
100552004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
10056
10057 PR c/12802
10058 * doc/extend.texi (Unnamed Fields): Remove "." from end of long
10059 title. Document interaction with -fms-extensions.
10060 * doc/invoke.texi (-fms-extensions): Refer to Unnamed Fields
10061 section.
10062
2e9522f4
JM
100632004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
10064
10065 PR c/12713
10066 * doc/extend.texi: Document interaction of attribute noreturn and
10067 longjmp.
10068
41bf2a8b
RH
100692004-09-24 Richard Henderson <rth@redhat.com>
10070
10071 PR rtl-opt/17503
10072 * regclass.c (subregs_of_mode): Turn into an htab. Make static.
10073 (som_hash, som_eq): New.
10074 (init_subregs_of_mode, record_subregs_of_mode): New.
10075 (cannot_change_mode_set_regs): Rewrite for htab implementation.
10076 (invalid_mode_change_p): Likewise.
10077 * combine.c (gen_lowpart_for_combine): Use record_subregs_of_mode.
10078 * flow.c (mark_used_regs): Likewise.
10079 (life_analysis): Use init_subregs_of_mode.
10080 * regs.h (subregs_of_mode): Remove.
10081 * rtl.h (init_subregs_of_mode, record_subregs_of_mode): Declare.
10082
84f7a28c
AP
100832004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
10084
10085 * tree-ssa-phiopt.c (conditional_replacement): Use the correct
10086 type with the copy of the conditional.
10087
532c67ca
AP
100882004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
10089
10090 PR tree-opt/16954
10091 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
10092 Prevent renaming if the aliasing sets of the type which the
10093 pointer points to are different.
10094
085e33aa
JM
100952004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
10096
10097 PR c/17188
10098 * c-decl.c (diagnose_mismatched_decls): Check for duplicate
10099 declarations of enumerators.
10100 (start_struct): Check TYPE_SIZE rather than TYPE_FIELDS to check
10101 for redefinition. Check for nested redefinition.
10102 (finish_struct): Don't check for nested redefinition.
10103 (start_enum): Check for nested redefinition.
10104
a2159c4c
DP
101052004-09-24 Devang Patel <dpatel@apple.com>
10106
10107 * tree-if-conv.c (tree_if_convert_cond_expr0: Create temp. variable
10108 only when necesssary.
10109 (combine_blocks): Combine loop header and exit block.
3e6688a7 10110
55e74277
PB
101112004-09-24 Paolo Bonzini <bonzini@gnu.org>
10112
10113 * hooks.c (hook_tree_tree_bool_null): New.
10114 * hooks.h (hook_tree_tree_bool_null): Declare it.
10115 * target-def.c (TARGET_FOLD_BUILTIN): Point to it.
10116 * targhooks.c (default_fold_builtin): Remove.
10117 * targhooks.h (default_fold_builtin): Remove.
10118
30d3fc60
ZD
101192004-09-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10120
10121 PR rtl-optimization/17625
10122 * loop-doloop.c (doloop_modify): Unshare rtl before emitting it.
10123
54e075fe
AP
101242004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
10125
10126 PR tree-opt/17624
10127 * tree-ssa-forwprop.c (record_single_argument_cond_exprs):
10128 Reject if any of the operands occur in an abnormal PHI.
10129
4a198dea
AS
101302004-09-24 Andreas Schwab <schwab@suse.de>
10131
10132 * tree-ssa-dom.c (record_range): Fix violation of strict aliasing
10133 rules.
10134
5d865dac
EB
101352004-09-24 Eric Botcazou <ebotcazou@libertysurf.fr>
10136
10137 * config.gcc (sparc64-*-solaris2*): Include sparc/sol2-gas.h
10138 if the GNU assembler is used.
10139 (sparc-*-solaris2*): Likewise.
10140 * dbxout.c (NO_DBX_BNSYM_ENSYM): Default to zero.
10141 (dbxout_function_end): Protect N_ENSYM with it.
10142 (dbxout_begin_prologue): Protect N_BNSYM with it.
10143 * doc/tm.texi (NO_DBX_BNSYM_ENSYM): Document it.
10144 * config/sparc/sol2.h (NO_DBX_BNSYM_ENSYM): Define to 1.
10145 * config/sparc/sol2-gas.h: New file.
10146
4c4a5bbc
L
101472004-09-23 H.J. Lu <hongjiu.lu@intel.com>
10148
10149 PR bootstrap/17369
10150 * Makefile.in (@set_gcc_lib_path@): Added.
10151
10152 * configure.ac: Include ../config/gcc-lib-path.m4. Use
10153 TL_AC_GNU_MAKE_GCC_LIB_PATH.
10154 * configure: Regenerated.
10155
ff80e49f
JM
101562004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
10157
10158 PR c/6980
10159 * c-typeck.c (build_c_cast): Improve wording of
10160 -Wbad-function-cast diagnostic.
10161
e758023d
HPN
101622004-09-23 Hans-Peter Nilsson <hp@axis.com>
10163
10164 PR target/17626
10165 * config/cris/cris.md (moverside, movemside): Rename variable
10166 "reg" to "otherop". To generate canonical RTX, check that otherop
10167 isn't constant instead of checking that operand 1 is a register.
10168
31d66fa9
JJ
101692004-09-23 Jakub Jelinek <jakub@redhat.com>
10170
10171 * tree-ssa-propagate.c (set_rhs): Fail if EXPR is COMPOUND_EXPR.
10172
b28b1600
JJ
101732004-09-23 Diego Novillo <dnovillo@redhat.com>
10174 Jakub Jelinek <jakub@redhat.com>
10175
10176 * tree-flow.h (find_new_referenced_vars): Add prototype.
10177 * tree-sra.c (find_new_referenced_vars_1, find_new_referenced_vars):
10178 Move to...
10179 * tree-dfa.c (find_new_referenced_vars_1, find_new_referenced_vars):
10180 ... here.
10181 (mark_new_vars_to_rename): Walk through all operands.
10182 * tree-ssa-ccp.c (convert_to_gimple_builtin): New function.
10183 (execute_fold_all_builtins): Use it.
10184 (pass_fold_builtins): Add TODO_rename_vars to todo_flags_finish.
10185
512baaea
D
101862004-09-23 P.J. Darcy <darcypj@us.ibm.com>
10187
10188 * gthr-tpf.h: New file.
10189 * config.gcc (s390x-ibm-tpf*): Add thread_file='tpf'.
10190 * gthr.h: Use gthr-tpf.h on TPF OS.
10191
3aecd08b
JL
101922004-09-23 Jeff Law <law@redhat.com>
10193
10194 * tree-ssa-ccp.c (get_default_value): Use SSA_NAME_VALUE rather
10195 than SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
10196 (substitute_and_fold): Likewise.
10197 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Remove everything
10198 except invariants from SSA_NAME_VALUE.
10199 (thread_across_edge): Use SSA_NAME_VALUE rather than SSA_NAME_EQUIV
10200 and SET_SSA_NAME_EQUIV.
10201 (restore_vars_to_original_value, record_const_or_copy): Likewise.
10202 (record_equivalences_from_phis, record_const_or_copy_1): Likewise.
10203 (record_equality, cprop_into_successor_phis): Likewise.
10204 (record_equivalences_from_stmt, cprop_operand): Likewise.
10205 (lookup_avail_expr): Likewise.
10206 * tree-ssa-pre.c (fini_pre): Remove everything except invariants
10207 from SSA_NAME_VALUE.
10208 * tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): Kill.
10209 (struct tree_ssa_name): Kill EQUIV field. Remove GGC skip
10210 annotation from the VALUE_HANDLE field.
10211
037cc9c5 102122004-09-21 Fariborz Jahanian <fjahanian@apple.com>
23fad16e 10213
037cc9c5
FJ
10214 PR c++/13989
10215 PR c++/9844
037cc9c5 10216 * tree.c (reconstruct_complex_type): Remove extra "this".
3e6688a7 10217 * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute):
037cc9c5
FJ
10218 Add V4SFmode to case statement.
10219
e6e931b7
JM
102202004-09-23 Joseph S. Myers <jsm@polyomino.org.uk>
10221
10222 PR c/16833
10223 * doc/extend.texi, doc/invoke.texi: Document interaction of
10224 -fno-builtin with format checks. Note that built-in functions
10225 have effects beyond generating code that avoids calls to those
10226 functions.
10227
df485d80
FCE
102282004-09-23 Frank Ch. Eigler <fche@redhat.com>
10229
10230 PR tree-optimization/17533
10231 * dominance.c (verify_dominators): Tolerate even more incorrect
10232 dominance data during error message printing.
10233 * tree-mudflap.c (mf_build_check_statement_for): Build basic blocks
10234 and edges more correctly.
3e6688a7 10235
7ccf35ed
DN
102362004-09-23 Dorit Naishlos <dorit@il.ibm.com>
10237
a834e70b
SB
10238 * tree.def (ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF):
10239 New tree-codes.
10240 * tree.h (REF_ORIGINAL): Consider ALIGN_INDIRECT_REF and
10241 MISALIGNED_INDIRECT_REF.
10242 * alias.c (get_alias_set, nonoverlapping_memrefs_p): Likewise.
10243 * emit-rtl.c (mem_expr_equal_p, set_mem_attributes_minus_bitpos):
10244 Likewise.
10245 * expr.c (safe_from_p, expand_expr_real_1, rewrite_address_base)
10246 (find_interesting_uses_address): Likewise.
10247 * fold-const.c (non_lvalue, operand_equal_p): Likewise.
10248 (build_fold_addr_expr_with_type): Likewise.
10249 * gimplify.c (gimplify_addr_expr, gimplify_expr): Likewise.
10250 * print-rtl.c (print_mem_expr): Likewise.
10251 * tree-dump.c (dequeue_and_dump): Likewise.
10252 * tree-eh.c (tree_could_trap_p): Likewise.
10253 * tree-gimple.c (is_gimple_addressable, get_base_address): Likewise.
10254 * tree-pretty-print.c (op_prio, op_symbol, dump_generic_node): Likewise.
10255 * tree-ssa-alias.c (find_ptr_dereference, ptr_is_dereferenced_by):
10256 Likewise.
10257 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
10258 * tree-ssa-dom.c (record_equivalences_from_stmt): Likewise.
10259 * tree-ssa-loop-im.c (for_each_index, is_call_clobbered_ref): Likewise.
10260 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
10261 (add_address_candidates, rewrite_address_base): Likewise.
10262 * tree-ssa-operands.c (get_expr_operands, get_indirect_ref_operands):
10263 Likewise.
10264 * tree.c (staticp, build1_stat): Likewise.
10265
10266 * tree.def (REALIGN_LOAD_EXPR, REALIGN_STORE_EXPR): New tree-codes.
10267 * tree-pretty-print.c (dump_generic_node): Consider REALIGN_LOAD_EXPR.
10268 * tree-ssa-operands.c (get_expr_operands): Likewise.
10269 * expr.c (expand_expr_real_1): Likewise.
10270
10271 * optabs.h (vec_realign_store_optab, vec_realign_load_optab): New
10272 optabs.
10273 (OTI_vec_realign_store, OTI_vec_realign_load): New optab_index values
10274 for the new optabs.
10275 (expand_ternary_op): New function.
10276 * genopinit.c (optabs): Handle the new optabs.
10277 * optabs.c (optab_for_tree_code): Add cases for the new tree-codes.
10278 (init_optabs): Initialize vec_realign_load_optab.
10279 (expand_ternary_op): New functions.
10280
10281 * target-def.h (TARGET_VECTORIZE): New member for struct gcc_target.
10282 (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New member for targetm.vectorize.
10283 (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Likewise.
10284 (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Likewise.
10285 * target.h (struct vectorize): New member for struct gcc_target.
10286 (misaligned_mem_ok): New member for targetm.vectorize.
10287 (builtin_mask_for_load): Likewise.
10288 (builtin_mask_for_store): Likewise.
10289 * targethooks.c (default_vect_misaligned_mem_ok): New function.
10290 * targethooks.h (default_vect_misaligned_mem_ok): New function.
10291
10292 * config/rs6000/altivec.md (build_vector_mask_for_load): New
10293 define_expand.
10294 (vec_realign_load_v4si, vec_realign_load_v4sf, vec_realign_load_v8hi)
10295 (vec_realign_load_v16qi): New define_insn.
10296 * config/rs6000/rs6000.h (ALTIVEC_BUILTIN_MASK_FOR_LOAD):
10297 (ALTIVEC_BUILTIN_MASK_FOR_STORE): New target builtins.
10298 * config/rs6000/rs6000.c (altivec_builtin_mask_for_load):
10299 (altivec_builtin_mask_for_store): New variables.
10300 (rs6000_builtin_mask_for_load): New function. Implements
10301 TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD.
10302 (rs6000_builtin_mask_for_store): New function. Implements
10303 TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE.
10304 (rs6000_expand_builtin): Expand the target builtins
10305 builtin_mask_for_load and builtin_mask_for_store.
10306 (altivec_init_builtins): Initialize the new target builtins.
10307 * config/i386/i386.c (ix86_misaligned_mem_ok): New function.
10308 Implements the target hook TARGET_VECTORIZE_MISALIGNED_MEM_OK.
10309
10310 * tree-vectorizer.c (vect_create_data_ref): Renamed to
10311 vect_create_data_ref_ptr. Returns a pointer instead of an array-ref.
10312 (vect_create_addr_base_for_vector_ref): Additional argument (offset).
10313 (vectorizable_store): Call vect_create_data_ref_ptr with additional
10314 arguments, and create an indirect_ref with its return value data_ref.
10315 Check aligned_access_p.
10316 (vectorizable_load): Handle misaligned loads, using software-pipelined
10317 scheme with REALIGN_LOAD_EXPR and ALIGN_INDIRECT_REF if
10318 vec_realign_load_optab is supported, or using a scheme without
10319 software-pipelining with MISALIGNED_INDIRECT_REF if the target hook
10320 misaligned_mem_ok is supported.
10321
10322 (vect_finish_stmt_generation): Typo.
10323 (vect_enhance_data_refs_alignment): Rename loop_vinfo to loop_info.
10324 (vect_analyze_data_refs_alignment): Don't fail vectorization in the
10325 presence of misaligned loads.
10326 (vect_analyze_data_ref_access): Add check for constant init.
10327 (vect_get_symbl_and_dr): Remove duplicate line.
10328 * tree-vectorizer.h (DR_MISALIGNMENT): Add comment.
7ccf35ed 10329
d31012b7
KH
103302004-09-23 Kazu Hirata <kazu@cs.umass.edu>
10331
10332 * builtins.c: Fix a comment typo.
10333
aa26df17
JH
103342004-09-23 Jan Hubicka <jh@suse.cz>
10335
10336 * profile.c (branch_prob): Do not verify flow info in the middle of the
10337 pass.
10338
92fc4a2f
ZD
103392004-09-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10340
10341 * cfgloop.h (update_single_exits_after_duplication): Declare.
10342 (loopify, split_loop_bb): Declaration changed.
10343 * cfgloopmanip.c (split_loop_bb): Take void * as an argument instead
10344 of rtx.
10345 (loopify): Added redirect_all_edges argument.
10346 (update_single_exits_after_duplication): Export.
10347 * loop-unswitch.c (unswitch_loop): Changed due to loopify change.
10348 * tree-flow.h (tree_duplicate_loop_to_header_edge,
10349 tree_ssa_loop_version): Declare.
10350 * tree-ssa-loop-manip.c (copy_phi_node_args, rename_variables,
10351 set_phi_def_stmts, tree_duplicate_loop_to_header_edge,
10352 lv_adjust_loop_header_phi, lv_adjust_loop_entry_edge,
10353 lv_update_pending_stmts, tree_ssa_loop_version): New functions.
10354
10355 * tree-ssa-loop-unswitch.c: New file.
10356 * Makefile.in (tree-ssa-loop-unswitch.o): Add.
10357 * timevar.def (TV_TREE_LOOP_UNSWITCH): New timevar.
10358 * tree-flow.h (tree_ssa_unswitch_loops): Declare.
10359 * tree-optimize.c (init_tree_optimization_passes): Add pass_unswitch.
10360 * tree-pass.h (pass_unswitch): Declare.
10361 * tree-ssa-loop.c (tree_ssa_loop_unswitch,
10362 gate_tree_ssa_loop_unswitch, pass_unswitch): New pass.
10363 * doc/passes.texi: Documen tree level loop unswitching.
10364
d7e9e62a
KH
103652004-09-23 Kazu Hirata <kazu@cs.umass.edu>
10366
10367 * cfgexpand.c, config/s390/tpf-eh.c: Fix comment typos.
10368
d3147f64
EC
103692004-09-22 Eric Christopher <echristo@redhat.com>
10370
10371 * builtins.c (simplify_builtin_va_start): Remove.
10372 (simplify_builtin): Ditto.
10373 (fold_builtin_strchr): Ditto.
10374 (simplify_builtin_*): Rename remainders to fold_builtin_*.
10375 (expand_builtin): Fix up for above changes.
10376 (fold_builtin_1): Add new folders. Change for above.
10377 (expand_builtin_va_start): Call fold_builtin_next_arg.
10378 * gimplify.c (gimplify_call_expr): Fix calls to simplify_builtin.
10379 * tree.h: Remove prototype for simplify_builtin.
10380
e53de54d
JH
103812004-09-23 Jan Hubicka <jh@suse.cz>
10382
60108d34
JH
10383 PR debug/17389
10384 * dwarf2out.c (dwarf2out_finish): Deal with nested functions
10385 of fully inlined functions.
10386 * tree-inline.c (inline_forbidden_p_1): Nested functions can be
10387 inlined.
10388
e53de54d
JH
10389 * cfgexpand.c (add_reg_br_prob_note): New function.
10390 (expand_gimple_cond_expr): Use it.
10391 (tree_expand_cfg): No longer kill the profile.
10392 * cfgrt.c (rtl_verify_flow_info_1): Check profile consistency
10393 only if it is present.
10394 * passes.c (rest_of_handle_loop_optimize): Kill the profile.
10395 * predict.c (combine_predictions_for_insn): Set the probabilities
10396 based on REG_BR_PROB note if present.
10397 * predict.c (branch_prob): Profile is read only with
10398 flag_branch_probabilities.
10399
dfb77e37
KC
104002004-09-22 Kelley Cook <kcook@gcc.gnu.org>
10401
10402 * aclocal.m4: Add in gettext's m4 includes.
10403 (AC_ICONV, AC_LCMESSAGES, GCC_PATH_PROG): Remove.
a9db2a29 10404 * configure.ac: Add in check for iconv.h
dfb77e37 10405 * configure: Regenerate.
d3147f64 10406
88fa57d7
KC
104072004-09-22 Kelley Cook <kcook@gcc.gnu.org>
10408
10409 * aclocal.m4: Update for rename of gettext-sister.m4.
10410
8eee3528
DB
104112004-09-22 Daniel Berlin <dberlin@dberlin.org>
10412
10413 Fix PR tree-optimization/17587
10414 * tree-ssa-pre.c (fini_pre): Commit edge inserts here.
10415 (insert_aux): Instead of here.
10416
c04f07f4
DN
104172004-09-22 Diego Novillo <dnovillo@redhat.com>
10418
10419 PR tree-optimization/16721
10420 * tree-dfa.c (dump_variable): Show TREE_THIS_VOLATILE.
10421 * tree-ssa-alias.c (create_memory_tag): Move setting of
10422 TREE_THIS_VOLATILE ...
10423 (get_tmt_for): ... here.
10424
ba652ba9
EB
104252004-09-22 Eric Botcazou <ebotcazou@libertysurf.fr>
10426
10427 * config/sparc/sparc.md (cmove splitter): Fix formatting.
10428 (conditional_trap expander): Reject inappropriate CCmodes.
8db6bcda 10429 (conditional trap insn): Use V9 syntax if possible.
ba652ba9 10430
588d1952
JM
104312004-09-22 Joseph S. Myers <jsm@polyomino.org.uk>
10432
10433 PR c/16566
10434 * c-typeck.c (build_component_ref): Don't special-case
10435 COMPOUND_EXPR.
10436
08fb229e
FCE
104372004-09-22 Frank Ch. Eigler <fche@redhat.com>
10438
10439 * dominance.c (verify_dominators): Don't SEGV if recount_dominator
10440 returns NULL.
10441
9b270cce
KH
104422004-09-22 Kazu Hirata <kazu@cs.umass.edu>
10443
10444 * doc/c-tree.texi (TRUTH_NOT_EXPR, TRUTH_ANDIF_EXPR,
10445 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
10446 TRUTH_XOR_EXPR): Mention the restriction on types.
10447
8739ed59
MA
104482004-09-22 Matt Austern <austern@apple.com>
10449
8921359e 10450 * config/darwin.c (darwin_make_decl_one_only):
8739ed59 10451 Allow coalesced symbol to appear in static archive's table of contents
d3147f64 10452
a338ab5a
KH
104532004-09-22 Kazu Hirata <kazu@cs.umass.edu>
10454
10455 PR tree-optimization/17512
10456 * convert.c (convert_to_integer): Don't handle TRUTH_*_EXPR as
10457 special cases.
10458
39cf49a1
DE
104592004-09-22 David Edelsohn <edelsohn@gnu.org>
10460
10461 * dbxout.c (get_lang_number): Do not define if
10462 DBX_OUTPUT_MAIN_SOURCE_DIRECTORY is defined.
10463
d1c343cb
RC
104642004-09-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
10465
1afd063a 10466 PR target/15583
d1c343cb
RC
10467 * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Add
10468 builtin_define ("__USE_INIT_FINI__").
10469
4798630c
D
104702004-09-22 P.J. Darcy <darcypj@us.ibm.com>
10471
10472 * config/s390/s390-protos.h (s390_emit_tpf_eh_return): Add prototype.
10473 * config/s390/s390.c (s390_emit_tpf_eh_return): New function.
10474 * config/s390/s390.h (TARGET_TPF): New macro.
10475 * config/s390/s390.md ("eh_return"): New expander.
10476 * config/s390/t-tpf (LIB2ADDEH): Use unwind-dw2-fde.c rather than
10477 unwind-dw2-fde-glibc.c. Add config/s390/tpf-eh.c.
10478 (LIB2ADDEHDEP): Remove unwind-dw2-fde.c.
10479 * config/s390/tpf.h (TARGET_TPF): Define to 1.
10480 (STACK_POINTER_OFFSET): Increase to 448.
10481 (TARGET_DEFAULT): Set -mtpf-trace on as default.
10482 (TPF_LOC_DIFF_OFFSET): New macro.
10483 (ASM_PREFERRED_EH_DATA_FORMAT): Redefine to always use absolute
10484 encoding.
10485 (__isPATrange): Add prototype.
10486 (MD_FALLBACK_FRAME_STATE_FOR): Define.
10487 * config/s390/tpf-eh.c: New file.
10488
6a97296a
DN
104892004-09-22 Diego Novillo <dnovillo@redhat.com>
10490
10491 * fold-const.c (fold): Avoid non INTEGER_TYPEs when widening
10492 operands in an integer comparison.
10493 * tree-cfg.c (find_taken_edge): Call fold() to determine
10494 whether the predicate is known.
10495
3b620440
KC
104962004-09-22 Kelley Cook <kcook@gcc.gnu.org>
10497
10498 * aclocal.m4: Import AM_PROG_CC_C_O and AM_AUX_DIR_EXPAND.
10499 * configure.ac: Call AM_PROG_CC_C_O instead of AC_PROG_CC_C_O.
10500 Create build and doc directories along with the language directories.
10501 Don't create doc directory separately.
10502 * configure: Regenerate.
10503 * Makefile.in: Create all object and executables files built
10504 with the build compiler in a build/ directory.
10505 (genobjnames): Add missing build objects.
10506 (STAGESTUFF): Don't stage the gen* programs.
10507 (ggc-none.o): Define dependencies for the target compiler.
10508 (build-print-rtl.o): Rename to build/print-rtl.o.
10509 (build-errors.o): Rename to build/errors.o.
10510 (build-varray.o): Rename to build/varray.o.
10511 (maintainerclean): Delete the contents of the build directory.
10512 ($(genobjs): %.o): Explicitly use -o.
10513 (build/insn-conditions.o): Delete specfic rule to use generic rule.
10514 (build/gengtype-lex.o): Likewise.
10515 (build/gengtype-yacc.o): Likewise.
10516 (build/gcov-iov.o): Likewise.
10517
0e64e323
NS
105182004-09-22 Nathan Sidwell <nathan@codesourcery.com>
10519
10520 * vec.h (VEC_space): Return true if there _is_ space.
10521 (VEC_reserve): Adjust.
10522
e1aeeae9
RS
105232004-09-22 Richard Sandiford <rsandifo@redhat.com>
10524
10525 * config/mips/mips.c (mips_function_value): For o32, o64, n32 and n64,
10526 use FPRs for scalar, complex and vector types only.
10527
195da47b
JL
105282004-09-21 Jeff Law <law@redhat.com>
10529
23530866
JL
10530 * tree-ssa-dom.c (opt_stats): Move so that it lives just after
10531 the opt_stats_d structure.
10532 (vrp_data): Change from a varray into a hash table.
10533 (vrp_hash_elt): New structure for elements in the vrp hash table.
10534 (vrp_hash, vrp_eq):New functions for hashing and testing equality
10535 in the vrp hash table.
10536 (tree_ssa_dominator_optimize): Initialize VRP_DATA. Reorganize
10537 initialization slightly to make it easier to read. No longer need
10538 to grow/clear the varray. Instead empty and delete the hash table.
10539 (dom_opt_finalize_block): Update due to change of VRP_DATA from
10540 a varray to a hash table.
10541 (simplify_cond_and_loop_avail_expr, record_range): Similarly.
10542
195da47b
JL
10543 * tree-ssa-ccp.c (get_default_value): If we have a constant
10544 value recorded for an SSA_NAME, then use that constant as
10545 the initial lattice value.
10546 (substitute_and_fold): Transfer equivalences discovered into
10547 SSA_NAME_EQUIV.
d3147f64 10548
195da47b
JL
10549 * tree.h (SSA_NAME_EQUIV): Add comments.
10550 (SET_SSA_NAME_EQUIV): Similarly.
10551
0a4f0294
DE
105522004-09-21 David Edelsohn <edelsohn@gnu.org>
10553
10554 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Default to POWER4.
10555
10556 * config/rs6000/rs6000.c (rs6000_adjust_cost): dep_insn is used.
10557
1ae57298
MM
105582004-09-21 Mark Mitchell <mark@codesourcery.com>
10559
10560 * c-decl.c (implicityl_declare): Call maybe_apply_renaming_pragma.
10561 (finish_decl): Likewise.
10562
ad9f20cb
DP
105632004-09-21 Devang Patel <dpatel@apple.com>
10564
10565 * tree.def (VEC_COND_EXPR): New tree node.
10566 * tree-ssa-operands.c (get_expr_operands): Handle VEC_COND_EXPR.
d3147f64 10567
76419821
SS
105682004-09-21 Stan Shebs <shebs@apple.com>
10569
10570 * config/rs6000/darwin-tramp.asm: Add __ppc64__ case.
10571 * config/rs6000/darwin-world.asm: Likewise.
d3147f64 10572
7bab95ba
DB
105732004-09-21 Daniel Berlin <dberlin@dberlin.org>
10574
10575 * tree-ssa.c (verify_def): Use print_generic_stmt,
10576 not debug_generic_stmt.
10577 (verify_use): Ditto.
10578 (verify_phi_args): Ditto.
10579 (verify_ssa): Ditto.
10580
a13fd905
PB
105812004-09-21 Paul Brook <paul@codesourcery.com>
10582
10583 * varasm.c (default_assemble_integer): Return false for values wider
10584 than the target word size. Works around GAS bug.
10585
52c5701b
ZW
105862004-09-21 Zack Weinberg <zack@codesourcery.com>
10587
10588 * reg-notes.def (REG_DEP_TRUE): New entry, place first so it
10589 gets value 0.
10590 * print-rtl.c (print_rtx): Print the name of a REG_NOTE even
10591 if it has value 0.
10592
f0c721ad 105932004-09-21 Daniel Berlin <dberlin@dberlin.org>
52c5701b 10594
f0c721ad
DB
10595 * c-typeck.c (build_function_call): Give name of object
10596 we are attempting to call in error message.
10597 * c-objc-common.c (c_tree_printer): Call pp_expression,
10598 not return false, for 'E' case.
10599
c93320c4
SB
106002004-09-21 Steven Bosscher <stevenb@suse.de>
10601
10602 PR rtl-optimization/17482
10603 * postreload-gcse.c (reg_avail_info, oprs_unchanged_p,
10604 load_killed_in_block_p): Clarify comments.
10605 (record_last_reg_set_info): Make static inline.
10606 (mark_call, mark_set, mark_clobber, mark_oprs_set): Remove.
10607 (record_opr_changes): New function to replace the above.
10608 (compute_hash_table): Clarify comments. Use record_opr_changes.
10609 (reg_set_between_after_reload_p): Clean up.
10610 (reg_used_between_after_reload_p): Likewise.
10611 (eliminate_partially_redundant_load): Clarify comments.
10612
15ee342b
EB
106132004-09-21 Eric Botcazou <ebotcazou@libertysurf.fr>
10614
10615 PR rtl-optimization/17266
10616 * regmove.c (optimize_reg_copy_3): Make a new SUBREG for each insn.
10617
79b82df3
UB
106182004-09-21 Uros Bizjak <uros@kss-loka.si>
10619
10620 PR rtl-optimization/14851
10621 * rtlanal.c (commutative_operand_precedence): Calculate
10622 precedence of stripped constant.
10623
6f2aec07 106242004-09-20 Jeff Law <law@redhat.com>
52c5701b 10625 Jan Hubicka <jh@suse.cz>
6f2aec07
JL
10626
10627 * tree-ssanames.c (make_ssa_name): No longer need to clear, then
10628 initialize key elements here.
10629 (release_ssa_name): Zero the released SSA_NAME here.
10630 * tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): New macros.
10631 (struct tree_ssa_name): Add new "equiv" field.
10632 * tree-ssa-dom.c (const_and_copies): Kill the global varray.
10633 (tree_ssa_dominator_optimize): No longer allocate, resize or
10634 clear CONST_AND_COPIES.
10635 (get_value_for, set_value_for): Kill.
10636 (thread_across_edge): Get/set the equivalency using
10637 SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
10638 (restore_vars_to_original_value): Likewise.
10639 (record_equivalences_from_phis): Likewise.
10640 (record_dominating_conditions): Likewise.
10641 (record_const_or_copy, record_equality): Likewise.
10642 (lookup_avail_expr): Likewise.
10643 (record_equivalences_from_stmt, cprop_operand): Likewise.
10644 (cprop_into_successor_phis): No longer need to pass around
10645 CONST_AND_COPIES. Callers updated. Get equivalences via
10646 SSA_NAME_EQUIV.
10647 (cprop_into_phis): Likewise.
10648
c162c75e
MA
106492004-09-20 Matt Austern <austern@apple.com>
10650 Zack Weinberg <zack@codesourcery.com>
10651
10652 * c-common.c (fix_string_type): Build the unqualified array
10653 type unconditionally, then use c_build_qualified_type to get
10654 the proper const-qualified variant, and set its
10655 TYPE_MAIN_VARIANT to refer to the unqualified type.
10656 * c-lex.c (c_lex_return_raw_string): New global.
10657 (c_lex_with_flags): Honor it.
10658 * c-pragma.h: Declare it.
10659
5cfa8766
DB
106602004-09-20 Daniel Berlin <dberlin@dberlin.org>
10661
10662 * Makefile.in: Fix flags.h dependencies to be $(FLAGS_H).
10663
d21bede3
JH
106642004-09-21 Jan Hubicka <jh@suse.cz>
10665
10666 PR middle-end/17126
10667 * tree-optimize.c (update_inlined_to_pointers): Fix the recursion.
10668 (tree_rest_of_compilation): Cleanup.
10669
37337e55
UW
106702004-09-20 Ulrich Weigand <uweigand@de.ibm.com>
10671
10672 * config/s390/s390.c (s390_select_rtx_section): Remove.
10673 (TARGET_ASM_SELECT_RTX_SECTION): Do not redefine.
10674
455786b6
KK
106752004-09-20 Kaz Kojima <kkojima@gcc.gnu.org>
10676
10677 * config/sh/sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR
10678 note to pretend a direct save from the original register when an
10679 intermediate register is used for the save.
10680
2c82eecc
KG
106812004-09-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10682
10683 * tsystem.h (alloca): Provide a default definition.
10684
10685 Revert:
10686 2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10687 * unwind-dw2.c: Call __builtin_alloca, not alloca.
10688
b1940f0c
AP
106892004-09-20 Andrew Pinski <pinskia@physics.uc.edu>
10690
10691 PR tree-opt/17558
10692 * tree-ssa-copy.c (may_propagate_copy): Only allow if the
10693 aliasing sets are the same rather than just conflicting.
10694
8f235343
JH
106952004-09-20 Jan Hubicka <jh@suse.cz>
10696
10697 PR middle-end/16460
10698
10699 * cgraph.c (cgraph_unnest_node): New function.
10700 (c_finalize): Rename to ....
10701 (c_warn_unused_result_recursivly): ... this one; do only the warning
10702 (finish_function): Finalize the toplevel function; do not lower nested tree.
10703 * cgraph.h (cgraph_unnest_node): Declare.
10704 * cgraphunit.c (decide_is_function_needed): Do not use cgraph
10705 nestedness datastructure.
10706 * cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs.
10707 * reload1.c (set_label_offsets): Fix call of set_label_offsets.
10708 * tree-nested.c (finlize_nesting_tree_1): Use un-nesting code.
10709
04161e2b
RH
107102004-09-20 Richard Henderson <rth@redhat.com>
10711
10712 * config/alpha/alpha.c (some_small_symbolic_operand_int): Rename
10713 from some_small_symbolic_operand_1; export.
10714 (some_small_symbolic_operand): Remove.
10715 * config/alpha/alpha.md (some_small_symbolic_operand splitter): Remove
10716 extra C check.
10717 * config/alpha/predicates.md (some_small_symbolic_operand): New.
10718
bb033fd8
JH
107192004-09-20 Jan Hubicka <jh@suse.cz>
10720
10721 * predict.c (return_prediction): New function.
10722 (apply_return_prediction): Likewise.
10723 (tree_bb_level_predictions): Likewise.
10724 (tree_estimate_probability): Add noreturn exit edges; call
10725 bb_level_predictions; fix logic of return heuristics.
10726 (predict_paths_leading_to): Rescuesce from old CVS version of
10727 process_note_prediction function.
10728 * predict.def (PRED_TREE_EARLY_RETURN): New predictor.
10729
ea506297
AK
107302004-09-20 Andreas Krebbel <krebbel1@de.ibm.com>
10731
10732 * config/s390/s390.c (s390_frame_info): Added alignment statement for
10733 floating point register area on stack.
10734
096759eb
JJ
107352004-09-20 Jakub Jelinek <jakub@redhat.com>
10736
10737 * predict.c (expr_expected_value): Use *_CLASS_P macros.
10738
d6fd4b8d
DB
107392004-09-20 Daniel Berlin <dberlin@dberlin.org>
10740
c162c75e 10741 * tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid
d6fd4b8d
DB
10742 generating useless garbage.
10743
c2dda19b
PB
107442004-09-20 Paolo Bonzini <bonzini@gnu.org>
10745
10746 * builtins.c (fold_builtin): Call the new omonymous
10747 target hook for machine-dependent built-ins.
10748 * target-def.h (TARGET_FOLD_BUILTIN): New.
10749 * target.h (struct gcc_target): Add the fold_builtin hook.
10750 * targhooks.c (default_fold_builtin): New.
10751 * targhooks.h (default_fold_builtin): Declare it.
10752
d4a9b3a3
KH
107532004-09-20 Kazu Hirata <kazu@cs.umass.edu>
10754
10755 * cfg.c, tree-ssa-threadupdate.c, tree-vectorizer.c: Fix
10756 comment typos.
10757
073cbad3
RS
107582004-09-20 Richard Sandiford <rsandifo@redhat.com>
10759
10760 PR target/17565
10761 * config/mips/mips.md (define_asm_attributes): Set can_delay to no.
10762
58016611
JH
107632004-09-20 Jan Hubicka <jh@suse.cz>
10764
10765 * predict.c (estimate_probability): Remove unnecesary code.
10766
6775f1f3
IR
107672004-09-19 Ira Rosen <irar@il.ibm.com>
10768
10769 * tree-vectorizer.h (stmt_vec_info): Add vect_dr_base field.
10770 (STMT_VINFO_VECT_DR_BASE): Declare.
10771 (VECT_SMODULO): Declare.
10772 * tree-vectorizer.c (vect_compute_array_ref_alignment): New function.
10773 (vect_compute_array_base_alignment): New function.
10774 (vect_analyze_data_ref_access): Check array indices. Remove one
10775 dimensional arrays restriction.
10776 (vect_get_ptr_offset): New function.
10777 (vect_get_symbl_and_dr): New function.
10778 (vect_get_base_and_bit_offset): Support additional data refs. Renamed
10779 (former name vect_get_base_decl_and_bit_offset).
10780 (vect_create_index_for_array_ref): Removed.
10781 (vect_create_index_for_vector_ref): New function.
10782 (vect_create_addr_base_for_vector_ref): New function.
10783 (vect_create_data_ref): Handle additional data refs. Call
10784 vect_create_index_for_vector_ref and vect_create_addr_base_for_vector_ref.
10785 (vect_compute_data_ref_alignment): Support the changes. Call
10786 vect_get_base_and_bit_offset.
10787 (vect_analyze_data_refs): Call vect_get_symbl_and_dr. Support additional
10788 data refs. Store vect_dr_base.
10789 (vect_analyze_data_ref_accesses): Support nonconstant init.
10790 (new_stmt_vec_info): Initialize vect_dr_base field.
10791 (vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
10792 (get_vectype_for_scalar_type): Check for BLKmode.
10793 * tree-chrec.h (initial_condition_in_loop_num): Declare.
10794 * tree-chrec.c (initial_condition_in_loop_num): New function.
10795 (chrec_component_in_loop_num): New function.
10796 (evolution_part_in_loop_num): Call chrec_component_in_loop_num.
10797 * tree-data-ref.c (analyze_array_indexes): Change parameter (access_fns)
10798 to be pointer to varray_type.
10799
15db5571
JH
108002004-09-19 Jan Hubicka <jh@suse.cz>
10801
10802 * basic-block.h (update_bb_profile_after_threading): Declare.
10803 * cfg.c (update_bb_profile_after_threading): Break out from ...
10804 * cfgcleanup.c (try_forward_edges): ... here; use it.
10805 * tree-ssa-dom.c (thread_across_edge): Use it.
10806 * tree-ssa-threadupdate.c (create_block_for_threading): Zero out
10807 profile of the new BB.
10808
97141338
DB
108092004-09-19 Daniel Berlin <dberlin@dberlin.org>
10810
10811 * tree-ssa-pre.c (insert_into_set): Don't put
10812 is_gimple_min_invariant values into the set.
10813
76fd4fd7
AJ
108142004-09-19 Andreas Jaeger <aj@suse.de>
10815
10816 * tree-ssa-dom.c (restore_nonzero_vars_to_original_value): Fix
10817 prototype.
10818
938688cd
KH
108192004-09-18 Kazu Hirata <kazu@cs.umass.edu>
10820
10821 * config/cris/cris.h: Preserve the original spelling in a
10822 quote.
10823
fdabe5c2
JL
108242004-09-18 Jeff Law <law@redhat.com>
10825
10826 * tree-ssa-dom.c (nonzero_vars_stack, vrp_variables_stack): New
10827 global varrays to replace the block local varrays.
10828 (struct dom_walk_block_data): Remove, no longer used.
10829 (get_eq_expr_value): No longer need to pass around pointers to local
10830 varrays. Callers updated. Unused markers added to unused parameters.
10831 (record_range, record_equivalences_from_stmt): Likewise.
10832 (record_equivalences_from_incoming_edge): Likewise.
10833 (record_var_is_nonzero): Likewise. Update now that we have a
10834 single global varray of SSA_NAMEs that need restoring.
10835 (dom_opt_initialize_block_local_data): Kill, no longer used.
10836 (tree_ssa_dominator_optimize): Initialize new global varrays.
10837 Update callbacks in dominator walker structure.
10838 (dom_opt_initialize_block): Add markers to NONZERO_VAR_STACK and
10839 VRP_VARIABLES_STACK.
10840 (restore_nonzero_vars_to_original_value): Update now that we have
10841 a single global varray of SSA_NAMEs that need restoring.
10842 (dom_opt_finalize_block): Similarly for VRP_VARIABLES_STACK.
10843 Remove unused variables.
10844 (optimize_stmt): Remove unused variable.
10845
0eac5feb
JH
108462004-09-18 Jan Hubicka <jh@suse.cz>
10847
4d539f68
JH
10848 * tree-cfg.c (thread_jumps): Fix updating of the profile.
10849
0eac5feb
JH
10850 * tree-optimize.c (tree_rest_of_compilation): Kill forgotten
10851 verify_cgraph call.
10852
454ff5cb
KH
108532004-09-18 Kazu Hirata <kazu@cs.umass.edu>
10854
10855 * alias.c, crtstuff.c, dbxout.c, domwalk.c, domwalk.h, gcc.c,
10856 gcse.c, global.c, lambda-code.c, loop.c, mips-tdump.c,
10857 optabs.h, predict.c, reg-stack.c, regclass.c, sched-rgn.c,
10858 tree-optimize.c, tree-ssa-dom.c, tree-ssa-forwprop.c,
10859 tree-ssa-operands.c, tree-ssa-phiopt.c,
10860 tree-ssa-threadupdate.c: Fix comment typos.
10861
112cdef5
KH
108622004-09-18 Kazu Hirata <kazu@cs.umass.edu>
10863
10864 * config/darwin-c.c, config/arc/arc.c, config/arc/arc.md,
10865 config/arm/README-interworking, config/arm/arm-cores.def,
10866 config/arm/arm.c, config/arm/arm.h, config/arm/pe.c,
10867 config/arm/vfp.md, config/c4x/c4x.c, config/c4x/c4x.h,
10868 config/cris/cris.c, config/cris/cris.h, config/fr30/fr30.c,
10869 config/fr30/fr30.h, config/fr30/fr30.md, config/frv/frv.c,
10870 config/frv/frv.md, config/i386/winnt.c,
10871 config/ia64/unwind-ia64.c, config/iq2000/iq2000.c,
10872 config/iq2000/iq2000.h, config/m68hc11/m68hc11.c,
10873 config/m68hc11/m68hc11.md, config/m68k/m68k.c,
10874 config/mcore/mcore.c, config/mips/mips.h,
10875 config/mn10300/mn10300.md, config/pa/pa.c,
10876 config/pa/pa64-regs.h, config/pdp11/pdp11.c,
10877 config/rs6000/rs6000.c, config/sh/symbian.c,
10878 config/sparc/sparc.h: Fix comment typos. Follow spelling
10879 conventions.
10880
ad97f4be
JM
108812004-09-18 Joseph S. Myers <jsm@polyomino.org.uk>
10882
10883 PR c/17424
10884 * c-typeck.c (c_expr_sizeof_expr): Check for error_mark_node.
10885
57e28d7d
DN
108862004-09-18 Diego Novillo <dnovillo@redhat.com>
10887
10888 * tree-ssa-alias.c (setup_pointers_and_addressables): Don't
10889 remove TREE_ADDRESSABLE from RESULT_DECL.
10890
d804d490
DN
108912004-09-18 Diego Novillo <dnovillo@redhat.com>
10892
10893 * tree-ssa-alias.c (dump_alias_info): Ignore NULL SSA_NAMEs.
10894
8b547e44
JH
108952004-09-18 Jan Hubicka <jh@suse.cz>
10896
10897 * tree-into-ssa.c (rewrite_ssa_into_ssa): Expect ssa_name to return
10898 NULL.
10899 * tree-ssa-alias.c (init_alias_info): Likewise.
10900 * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
10901 (verify_ssa): Likewise.
10902 * tree-ssanames.c (make_ssa_name): Clear out ssa_names arrays.
10903
b8771ace
JH
109042004-09-18 Jan Hubicka <jh@suse.cz>
10905
10906 * i386.c (legitimize_pic_address): Fix splitting of PLUS with
10907 huge offset.
10908
f4966f8c
KK
109092004-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
10910
10911 * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove.
10912 * config/sh/sh.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
10913 DW_EH_PE_sdata* for data.
10914 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
10915
a396f8ae
GK
109162004-09-17 Geoffrey Keating <geoffk@apple.com>
10917
10918 * tree-inline.c (copy_tree_r): Don't duplicate constants, they're
10919 shared anyway.
10920
10921 PR pch/13361
10922 * c-typeck.c (constructor_asmspec): Delete.
10923 (struct initializer_stack): Delete field 'asmspec'.
10924 (start_init): Delete saving of asmspec.
10925 (finish_init): Don't update constructor_asmspec.
10926 * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
10927 * stmt.c (expand_asm): Duplicate strings from tree.
10928 (expand_asm_operands): Likewise.
10929 * tree.c (tree_size): Update computation of size of STRING_CST.
10930 (make_node): Don't make STRING_CST nodes.
10931 (build_string): Allocate string with tree node.
10932 (tree_code_size): Clean up assertions, don't allow requests
10933 for "the size of a STRING_CST".
10934 * tree.def (STRING_CST): Update comment.
10935 * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
10936 (tree_string): Place contents of string in tree node.
10937 * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
10938 from tree.
10939
9aa44508
ZW
109402004-09-17 Zack Weinberg <zack@codesourcery.com>
10941
10942 * Makefile.in (c-parse.o): Depend on $(C_PRAGMA_H).
10943 * objc/Make-lang.in (objc/objc-parse.o): Likewise.
10944
bf3b7cd3
JD
109452004-09-17 Jones Desougi <jones@ingate.com>
10946
10947 * configure.ac: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF.
10948 * configure, config.in: Regenerate.
10949
b85e3643
ZW
109502004-09-17 Zack Weinberg <zack@codesourcery.com>
10951
10952 * tree.c, tree.h (tree_class_strings): Make array const.
10953 Reindent per coding convention. Move asterisk to proper place
10954 per coding convention.
10955
6e336333
AS
109562004-09-18 Andreas Schwab <schwab@suse.de>
10957
10958 * Makefile.in (gimple-low.o): Depend on $(EXPR_H).
10959 (tree-vectorizer.o): Likewise.
10960 (targhooks.o): Likewise.
10961
6615c446
JO
109622004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
10963 Zack Weinberg <zack@codesourcery.com>
10964
10965 * alias.c (find_base_decl): Remove unreachable case '3' block.
10966 * expr.c (safe_from_p): Abort if passed a type.
10967 * tree-gimple.c (recalculate_side_effects): Abort if passed
10968 anything other than an expression.
10969 * tree-ssa-pre.c (phi_translate): Return expr immediately if
10970 is_gimple_min_invariant is true for it. Reorder cases for clarity.
10971 Abort on un-handled tree classes.
10972 (valid_in_set): Likewise.
10973 * tree.c (tree_code_class_strings): New static data.
10974
10975 * tree.h (enum tree_code_class): New.
10976 (tree_code_class_strings): Declare.
10977 (TREE_CODE_CLASS_STRING, EXCEPTIONAL_CLASS_P, CONSTANT_CLASS_P)
10978 (REFERENCE_CLASS_P, COMPARISON_CLASS_P, UNARY_CLASS_P, BINARY_CLASS_P)
10979 (STATEMENT_CLASS_P, EXPRESSION_CLASS_P, IS_TYPE_OR_DECL_P): New macros.
10980 (TYPE_P, DECL_P, IS_NON_TYPE_CODE_CLASS, IS_EXPR_CODE_CLASS)
10981 (checking macros, EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_LOCUS): Update.
10982
10983 * tree.def, c-common.def, objc/objc-tree.def: Use
10984 tree_code_class enumeration constants instead of code letters.
10985
10986 * alias.c, builtins.c, c-common.c, c-format.c, c-lang.c, c-pragma.c
10987 * c-typeck.c, cgraphunit.c, convert.c, dbxout.c, dwarf2out.c
10988 * emit-rtl.c expr.c, fold-const.c, gimplify.c, lambda-code.c
10989 * langhooks.c, langhooks.h, predict.c, print-tree.c, reload1.c, stmt.c
10990 * tree-browser.c, tree-cfg.c, tree-chrec.c, tree-complex.c, tree-dfa.c
10991 * tree-dump.c, tree-eh.c, tree-gimple.c, tree-inline.c, tree-nested.c
10992 * tree-outof-ssa.c, tree-pretty-print.c, tree-sra.c, tree-ssa-ccp.c
10993 * tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-forwprop.c, tree-ssa-live.c
10994 * tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c
10995 * tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-propagate.c
10996 * tree-ssa.c, tree-ssanames.c, tree-tailcall.c, tree.c, varasm.c
10997 * config/sol2-c.c, config/arm/arm.c, config/i386/winnt.c
10998 * config/pa/pa.c, config/pa/pa.h, config/sh/sh.c, objc/objc-lang.c
10999 Update to match.
11000
11001 * LANGUAGES: Add note about change.
11002
823f0809
DN
110032004-09-17 Diego Novillo <dnovillo@redhat.com>
11004
11005 PR tree-optimization/17319
11006 * tree-ssa-alias.c (compute_points_to_and_addr_escape): Also
11007 examine pointers on the LHS of an assignment.
11008 (collect_points_to_info_r): Handle RETURN_EXPR.
11009
b5fefcf6
JL
110102004-09-17 Jeff Law <law@redhat.com>
11011
11012 * tree-ssa-dom.c (const_and_copies_stack): New.
11013 (dom_walk_block_data): Remove const_and_copies field.
11014 (record_const_or_copy): No longer need to pass in varray_type *.
11015 Use CONST_AND_COPIES_STACK rather than passed in block local stack.
11016 Callers updated.
11017 (record_equality): Similarly.
11018 (restore_vars_to_original_value): Similarly. Revamp to use new
11019 single global stack rather than per-block stacks.
11020 (tree_ssa_dominator_optimize): Initialize the CONST_AND_COPIES_STACK.
11021 (thread_across_edge): Remove now unused parameters.
11022 (dom_opt_initialize_block_local_data): No longer test the block
11023 local CONST_AND_COPIES.
11024 (dom_opt_initialize_block): Push a marker on CONST_AND_COPIES_STACK.
11025
2c459e74
JH
110262004-09-17 Jan Hubicka <jh@suse.cz>
11027
11028 PR tree-optimization/17509
11029 * tree-optimize.c (update_inlined_to_pointers): New function.
11030 (tree_rest_of_compilation): Use it.
11031
0456cbf6
DP
110322004-09-17 Devang Patel <dpatel@apple.com>
11033
11034 * dbxout.c (get_lang_number): New.
11035 (dbxout_init): Include lang number in N_SO stab.
11036 * dbxout.h (N_SO_AS, N_SO_C, N_SO_ANSI_C, N_SO_CC, N_SO_FORTRAN,
11037 N_SO_PASCAL, N_SO_FORTRAN90, N_SO_OBJC, N_SO_OBJCPLUS): New #define.
6615c446 11038
7eae8eb2
DN
110392004-09-17 Diego Novillo <dnovillo@redhat.com>
11040
11041 PR tree-optimization/17273
11042 * tree-ssa.c (replace_immediate_uses): Call fold_stmt if the
11043 replacement is a constant.
11044
98c3a782
JM
110452004-09-17 Joseph S. Myers <jsm@polyomino.org.uk>
11046
11047 * c-tree.h (enum c_typespec_keyword): New.
11048 (struct c_declspecs): Adjust description of "type". Remove
11049 specbits, explicit_int_p and explicit_char_p. Rename
11050 typedef_signed_p to explicit_signed_p. Add default_int_p, long_p,
11051 short_p, signed_p, unsigned_p and complex_p.
11052 (finish_declspecs): New.
11053 * c-parse.in (datadef, datadecl, setspecs, decl, component_decl,
11054 typename): Call finish_declspecs.
11055 * c-decl.c (finish_declspecs): New.
11056 (declspecs_add_type): Check for combinations which cannot occur in
11057 valid specifier lists. Update comments.
11058 (shadow_tag_warned): Remove checks done in finish_declspecs.
11059 Don't report useless type name if type defaulted to int.
11060 (grokdeclarator): Remove checks and actions done in
11061 finish_declspecs. Don't allow for type being NULL. Update for
11062 datastructures changes. Initialize decl_attr.
11063 (build_null_declspecs, quals_from_declspecs): Update for
11064 datastructures changes.
11065
254ea84c
SP
110662004-09-17 Sylvain Pion <Sylvain.Pion@sophia.inria.fr>
11067
6615c446 11068 * doc/extend.texi: Fix duplicated word.
254ea84c 11069
fa151acf
TM
110702004-09-17 Toon Moene <toon@moene.indiv.nluug.nl>
11071
11072 * doc/invoke.texi: Remove stray explanation on
11073 -freduce-all-givs and -fmove-all-movables.
11074
cd1a8088
JM
110752004-09-17 James Morrison <phython@gcc.gnu.org>
11076
11077 * doc/cfg.texi: Use @smallexample.
11078 * doc/md.texi: Likewise.
11079 * doc/tree-ssa.texi: Likewise.
11080 * doc/extend.texi: Likewise. Use @r{} in comments.
11081 * doc/trouble.texi: Use @r{} in comments.
11082
58ea87a9
HPN
110832004-09-17 Hans-Peter Nilsson <hp@bitrange.com>
11084
11085 * configure.ac (gcc_cv_gld_version): Handle whitespace before
11086 "VERSION=".
11087 * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Ditto.
11088 * configure: Regenerate.
11089
788bb47d
JR
110902004-09-17 J"orn Rennecke <joern.rennecke@superh.com>
11091
11092 * sh.c (sh_gimplify_va_arg_expr): Don't call pass_by_reference.
11093 (sh_pass_by_reference): Work around std_gimplify_va_arg_expr bug.
11094 * t-sh (MULTILIB_CPUS): s/ML_m/ML_sh/g .
11095 * t-sh64 (MULTILIB_CPU_DIRS): Likewise. Match dashes and trailing
11096 slashes in substitutions.
11097 (MULTILIB_DIRNAMES): Remove defunct removal of /media32.
11098
b01d837f
KH
110992004-09-17 Kazu Hirata <kazu@cs.umass.edu>
11100
11101 * basic-block.h, c-decl.c, c-parse.in, cgraphunit.c, ddg.c,
11102 gimplify.c, lambda-code.c, optabs.c, predict.c,
11103 tree-scalar-evolution.c, tree-sra.c, tree-ssa-loop-ch.c,
11104 tree-ssa.c, vec.h: Fix comment typos. Follow spelling
11105 conventions.
11106
4ec7afd7
KH
111072004-09-17 Kazu Hirata <kazu@cs.umass.edu>
11108
11109 * doc/compat.texi, doc/cpp.texi, doc/cppopts.texi,
11110 doc/extend.texi, doc/install.texi, doc/invoke.texi,
11111 doc/sourcebuild.texi, doc/tm.texi, doc/tree-ssa.texi,
11112 doc/trouble.texi: Use @option around options.
11113
6eab2bc3
RS
111142004-09-17 Richard Sandiford <rsandifo@redhat.com>
11115
11116 * Makefile.in (gen-protos.o): Depend on errors.h.
11117
275a4187
SB
111182004-09-17 Steven Bosscher <stevenb@suse.de>
11119
6615c446 11120 PR tree-optimization/17513
275a4187
SB
11121 * cfgexpand.c (construct_init_block): Clear EDGE_EXECUTABLE
11122 for successors of the entry block.
11123
b355f222
UB
111242004-09-17 Uros Bizjak <uros@kss-loka.si>
11125
11126 PR rtl-optimization/15187
11127 * ifcvt.c (noce_try_cmove_arith): Exit early if total
11128 insn_rtx_cost of both branches > BRANCH_COST
11129
7a116211
DN
111302004-09-16 Diego Novillo <dnovillo@redhat.com>
11131
11132 PR tree-optimization/17528
11133 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Do not
11134 erase the may-alias set for a tag when merging it with
11135 another.
11136
e57450ce
KK
111372004-09-16 Kaz Kojima <kkojima@gcc.gnu.org>
11138
11139 * config/sh/sh.md (call): Extend 32-bit addresses to DImode
11140 for 32-bit TARGET_SHMEDIA.
11141 (call_value): Likewise.
11142
1800536a
DN
111432004-09-16 Diego Novillo <dnovillo@redhat.com>
11144
11145 * tree-ssa-operands.c (add_call_clobber_ops): Make read-only
11146 test apply only to TREE_STATIC and DECL_EXTERNAL.
11147
42759f1e
ZD
111482004-09-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11149
11150 * Makefile.in (tree-cfg.o): Add CFGLAYOUT_H dependency.
11151 * basic-block.h (get_dominated_by_region): Declare.
11152 * dominance.c (get_dominated_by_region): New function.
11153 * tree-cfg.c: Include cfglayout.h.
11154 (tree_duplicate_bb): Duplicate also phi nodes.
11155 (struct ssa_name_map_entry): New type.
11156 (add_phi_args_after_copy_bb, add_phi_args_after_copy,
11157 ssa_name_map_entry_hash, ssa_name_map_entry_eq,
11158 allocate_ssa_names, rewrite_to_new_ssa_names_def,
11159 rewrite_to_new_ssa_names_use, rewrite_to_new_ssa_names_bb,
11160 rewrite_to_new_ssa_names, tree_duplicate_sese_region): New functions.
11161 * tree-flow.h (tree_duplicate_sese_region, add_phi_args_after_copy_bb,
11162 add_phi_args_after_copy, rewrite_to_new_ssa_names_bb,
11163 rewrite_to_new_ssa_names, allocate_ssa_names,
11164 rewrite_into_loop_closed_ssa, verify_loop_closed_ssa): Declare.
11165 * tree-ssa-loop-ch.c (duplicate_blocks): Removed.
11166 (copy_loop_headers): Use tree_duplicate_sese_region.
11167
2731cf24
FCE
111682004-09-16 Frank Ch. Eigler <fche@redhat.com>
11169
11170 * profile.c (branch_prob): Restore support for USE_MAPPED_LOCATION.
11171
9fae925b
JL
111722004-09-16 Jeff Law <law@redhat.com>
11173
11174 * tree-into-ssa.c (block_defs_stack): New toplevel varray.
11175 (rewrite_block_data): Remove, no longer used.
11176 (rewrite_initialize_block_local_data): Remove, no longer used.
11177 (rewrite_initialize_block): Mark parameters as unused as needed.
11178 Change references to the block local block_defs to be block_defs_stack.
11179 Push a marker onto the block_defs_stack.
11180 (ssa_rewrite_initialize_block): Similarly.
11181 (rewrite_stmt, ssa_rewrite_stmt): Similarly.
11182 (ssa_register_new_def): No longer needs varray argument. Use
11183 block_defs_stack instead. No longer handle possibly null block_defs
11184 varray. Reverse order of items we push on the stack to make it
11185 easier to identify our marker.
11186 (register_new_def): No longer handle possibly null block_defs
11187 varray.
11188 (rewrite_finalize_block): Revamp to look for markers in the global
11189 block_defs_stack varray rather than wiping a block local varray.
11190 Mark arguments as unused as needed.
11191 (ssa_rewrite_finalize_block): Similarly.
11192 (rewrite_into_ssa): Update initialization of dom walker structure
11193 to reflect that we don't need block local data anymore. Initialize
11194 the block_defs_stack varray.
11195 (rewrite_ssa_into_ssa): Similarly.
11196 * tree-ssa-dom.c (block_defs_stack): New toplevel varray.
11197 (struct dom_walk_data): Kill block_defs field.
11198 (tree_ssa_dominator_optimize): Initialize block_defs_stack.
11199 (thread_across_edge): Use the global block_defs_stack instead of
11200 the old block_defs varray.
11201 (dom_opt_initialize_block_local_data): Update now that we don't have
11202 block_defs field to check anymore.
11203 (dom_opt_initialize_block): Push a marker onto block_defs_stack.
11204 (restore_currdefs_to_original_value): Use the new block_defs_stack
11205 instead of a block local varray.
11206 (dom_opt_finalize_block): Similarly.
11207 (record_equivalencs_from_phis): Similarly.
11208 (optimize_stmt, register_definitions_for_stmt): Similarly.
11209
49f48e9f
AM
112102004-09-16 Andrew MacLeod <amacleod@redhat.com>
11211
11212 PR tree-optimization/17517
6615c446 11213 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
49f48e9f
AM
11214 coalesce same-root variables without checking for abnormal PHI usage.
11215
f67d92e9 112162004-09-16 Daniel Berlin <dberlin@dberlin.org>
6615c446 11217
f67d92e9
DB
11218 * cfgloop.h (duplicate_loop): Add prototype.
11219 * cfgloopmanip.c (duplicate_loop): Make non-static.
11220 * lambda-code.c (perfect_nestify): Factor out test whether
11221 we can handle this loop into separate function.
11222 Call it.
11223 (can_convert_to_perfect_nest): New function.
11224 (replace_uses_of_x_with_y): Add modify_stmt call.
11225 * tree-loop-linear.c (linear_transform_loops): Call
11226 rewrite_into_loop_closed_ssa and free_df.
11227
112282004-09-16 Daniel Berlin <dberlin@dberlin.org>
11229
11230 * lambda-code.c (invariant_in_loop): is_gimple_min_invariant is
11231 loop invariant as well.
11232 (perfect_nestify): new function.
11233 (gcc_loop_to_lambda_loop): New parameters to track lower bounds,
6615c446 11234 upper bounds, and steps.
f67d92e9
DB
11235 Set outerinductionvar properly.
11236 (gcc_loopnest_to_lambda_loopnest): Add loops and need_perfect
11237 parameters.
11238 Return NULL if we need a perfect loop and can't make one.
11239 (lambda_loopnest_to_gcc_loopnest): Correct algorithm.
11240 (not_interesting_stmt): New function.
11241 (phi_loop_edge_uses_def): Ditto.
11242 (stmt_uses_phi_result): Ditto.
11243 (stmt_is_bumper_for_loop): Ditto.
11244 (perfect_nest_p): Ditto.
11245 (nestify_update_pending_stmts): Ditto.
11246 (replace_uses_of_x_with_y): Ditto.
11247 (stmt_uses_op): Ditto.
11248 (perfect_nestify): Ditto.
11249 * lambda-mat.c (lambda_matrix_id_p): New function.
11250 * lambda-trans.c (lambda_trans_matrix_id_p): Ditto.
11251 * lambda.h: Update prototypes.
11252 * tree-loop-linear (linear_transform_loop): Use new
11253 perfect_nest_p. Detect and ignore identity transform.
11254 * tree-ssa-loop.c (pass_linear_transform): Use TODO_write_loop_closed.
11255
112562004-09-16 Sebastian Pop <pop@cri.ensmp.fr>
11257
11258 * tree-loop-linear.c (gather_interchange_stats): Add more comments.
6615c446 11259 Gather also strides of accessed data. Pass in the data references
f67d92e9 11260 array.
6615c446 11261 (try_interchange_loops): Add a new heuristic for handling the temporal
f67d92e9
DB
11262 locality. Pass in the data references array.
11263 (linear_transform_loops): Pass the data references array to
11264 try_interchange_loops.
11265
83c99486
KH
112662004-09-16 Kazu Hirata <kazu@cs.umass.edu>
11267
11268 * doc/invoke.texi: Fix typos. Follow spelling conventions.
11269
4b30ad7e
NS
112702004-09-16 Nathan Sidwell <nathan@codesourcery.com>
11271
11272 * doc/c-tree.texi (Classes): Remove index entries for
11273 TREE_VIA_{PUBLIC,PROTECTED,PRIVATE}.
11274
2f4675b4
ZD
112752004-09-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11276
11277 * fold-const.c (fold): Fold difference of addresses.
11278 (ptr_difference_const): Moved from tree-ssa-loop-ivopts, based on
11279 get_inner_reference.
11280 * tree-ssa-loop-ivopts.c (peel_address): Removed.
11281 (ptr_difference_const): Moved to fold-const.c.
11282 (split_address_cost): Use get_inner_reference instead of peel_address.
11283 (ptr_difference_cost): Change type of diff to HOST_WIDE_INT.
11284 * tree.h (ptr_difference_const): Export.
11285
11286 * tree-ssa-loop-ivopts.c (dump_iv, dump_use, dump_cand): Add induction
11287 variable type to the dump. Fix indentation.
11288 (idx_find_step): Handle nonconstant array_ref_element_size and
11289 array_ref_low_bound.
11290 (idx_record_use): Handle array_ref_element_size and
11291 array_ref_low_bound.
11292 (find_interesting_uses_stmt): Handle memory = nontrivial_expression
11293 statements correctly.
11294 (get_computation_at, iv_value): Do not unshare expressions here.
11295 (rewrite_use_outer): Unshare the expression before it is emitted
11296 to code.
11297 * tree-ssa-loop-niter.c (unsigned_type_for, signed_type_for):
11298 Moved to tree.c.
11299 * tree.c (unsigned_type_for, signed_type_for): Moved from
11300 tree-ssa-loop-niter.c. Use langhooks.
11301 * tree.h (signed_type_for): Export.
11302
8210e4c4
DE
113032004-09-16 David Edelsohn <edelsohn@gnu.org>
11304
11305 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Update
11306 prototype.
11307
3dd53121
AP
113082004-09-15 Andrew Pinski <pinskia@physics.uc.edu>
11309
11310 PR target/11572
11311 * c-incpath.h (target_c_incpath_s): Add extra_pre_includes.
11312 Add two parameters to extra_includes.
11313 (C_INCPATH_INIT): Remove.
11314 * c-incpath.c (register_include_chains): Call extra_pre_includes
11315 before adding the standard include directory.
11316 Update call to extra_includes.
11317 (!defined TARGET_EXTRA_INCLUDES): Update
11318 hook_void_charptr_charptr_int and add !define
11319 TARGET_EXTRA_PRE_INCLUDES.
11320 (!define TARGET_EXTRA_INCLUDES): Define as
11321 hook_void_charptr_charptr_int.
11322 (!define TARGET_EXTRA_PRE_INCLUDES): Likewise.
11323 (target_c_incpath): Always declare.
11324 * fixinclude.c (defined TARGET_EXTRA_INCLUDES): Declare a
11325 empty function.
11326 (define TARGET_EXTRA_PRE_INCLUDES): Likewise.
11327 * config/darwin.h: (darwin_register_frameworks): Update for
11328 the two new parameters.
11329 (darwin_register_objc_includes): Add prototype.
11330 (TARGET_EXTRA_PRE_INCLUDES): Define.
11331 * config/darwin-c.c (darwin_register_objc_includes): New function.
11332 (darwin_register_frameworks): Update for the two new parameters.
11333 (target_c_incpath): Remove.
11334 * config/t-darwin (darwin-c.o): Add $(PREPROCESSOR_DEFINES) to
11335 the compile line.
11336 * doc/tm.texi (TARGET_EXTRA_INCLUDES): Document the two new
11337 parameters.
11338 (TARGET_EXTRA_PRE_INCLUDES): Document.
11339
11340 * gcc.c (spec_function): Add replace-outfile.
11341 (replace_outfile_spec_function): New function.
11342 * config/darwin.h (LINK_SPEC): Add replace
11343 -lobjc with -lobjc-gnu if -fgnu-runtime is
11344 supplied.
11345 * invoke.texi (replace-outfile): Document.
11346
42f97fd2
JH
113472004-09-13 Jan Hubicka <jh@suse.cz>
11348
11349 * predict.c (expr_expected_value, strip_builtin_expect): New function.
11350 (tree_predict_by_opcode): Use it.
11351 (tree_estimate_probability): Add, for now disabled,
11352 strip_builtin_expect call.
11353
097f3d48
JW
113542004-09-15 James E Wilson <wilson@specifixinc.com>
11355
11356 PR target/17455
11357 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Return false
11358 if current_function_decl is a sibcall.
11359
04a75188
MM
113602004-09-15 Mark Mitchell <mark@codesourcery.com>
11361
11362 * varasm.c (default_function_rdodata_section): Make sure to pass
11363 along a decl for a link-once section.
11364
e776368b
RH
113652004-09-15 Richard Henderson <rth@redhat.com>
11366
11367 * tree-ssa-operands.c (add_call_clobber_ops): Fix unused variable
11368 warning with code disable. Fix formatting.
11369
c7f90219
SB
113702004-09-15 Steven Bosscher <stevenb@suse.de>
11371
11372 * Makefile.in (tree-ssa-dom.o): Depend on tree-ssa-propagate.h.
11373 * tree-ssa-dom.c (cprop_into_stmt): Recompute TREE_INVARIANT
6615c446 11374 after propagating into an ADDR_EXPR.
c7f90219 11375
2f021b67
AP
113762004-09-15 Andrew Pinski <apinski@apple.com>
11377
11378 PR rtl-opt/17427
11379 * gcse.c (process_insert_insn): insn_invalid_p has side effects.
11380 Move it out of gcc_assert.
11381
971801ff
JM
113822004-09-15 Joseph S. Myers <jsm@polyomino.org.uk>
11383
11384 * attribs.c, builtins.c, c-format.c, c-pch.c, coverage.c,
11385 except.c, fold-const.c, function.c, langhooks.c, params.c,
11386 reload.c, reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
11387 tree-dump.c, tree-mudflap.c, tree.c, varasm.c: Use %<, %> and %q
11388 for quoting in diagnostics going through pretty-print.c. Use ''
11389 for quoting in other diagnostic text.
11390 * langhooks.c: Include intl.h. Mark text locating diagnostics for
11391 translation.
11392 * Makefile.in (langhooks.o): Update dependencies.
11393 * pretty-print.h (pp_printf): Mark as accepting GCC diagnostic
11394 formats.
11395
c18a5b6c
MM
113962004-09-15 Mark Mitchell <mark@codesourcery.com>
11397
11398 * configure.ac: Check for COMDAT support. Robustify check for
11399 SHF_MERGE support.
11400 * configure: Regenerated.
11401 * config.in: Likewise.
11402 * langhooks-def.h (lhd_comdat_group): New function.
11403 (LANG_HOOKS_COMDAT_GROUP): New macro.
11404 (LANG_HOOKS_DECLS): Use it.
11405 * langhooks.c (lhd_comdat_group): Define.
11406 * langhooks.h (lang_hooks_for_decls): Add comdat_group.
11407 * output.h (named_section_flags): Make it a macro.
11408 (named_section_real): New function.
11409 (default_no_named_section): Add decl parameter.
11410 (default_elf_asm_named_section): Likewise.
11411 (default_coff_asm_named_section): Likewise.
11412 (default_pe_asm_named_section): Likewise.
11413 * target.h (gcc_target): Adjust type of named_section.
11414 * varasm.c (named_section_flags): Rename to named_section_real.
11415 Add decl parameter.
11416 (default_no_named_section): Add decl parameter.
11417 (default_elf_asm_named_section): Use COMDAT, if available. Deal
11418 with the case that ASM_COMMENT_START is "@".
11419 (default_coff_asm_named_section): Add decl parameter.
11420 (default_pe_asm_named_section): Likewise.
11421 * config/alpha/alpha.c (vms_asm_named_section): Add decl
11422 parameter.
11423 (unicosmk_asm_named_section): Likewise.
11424 * config/arm/arm.c (arm_elf_asm_named_section): Remove.
11425 * config/arm/elf.h (TARGET_ASM_NAMED_SECTION): Likewise.
11426 * config/c4x/c4x.c (c4x_asm_named_section): Add decl parameter.
11427 * config/cris/cris-protos.h (cris_target_asm_named_section):
11428 Likewise.
11429 * config/cris/cris.c (cris_target_asm_named_section):
11430 Likewise.
11431 * config/darwin/darwin-protos.h (darwin_asm_named_section):
11432 Likewise.
11433 * config/darwin/darwin.c (darwin_asm_named_section): Likewise.
11434 * config/h8300/h8300.c (h8300_asm_named_section): Likewise.
11435 * config/i386/i386-protos.h (i386_pe_asm_named_section):
11436 Likewise.
11437 * config/i386/winnt.c (i386_pe_asm_named_section): Likewise.
11438 * config/m68k/m68k.c (m68k_coff_asm_named_section): Likewise.
11439 * config/mcore/mcore.c (mcore_asm_named_section): Likewise.
11440 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section):
11441 Likewise.
11442 * config/sparc/sparc.c (sparce_elf_asm_named_section): Likewise.
11443 * cp/cp-lang.h (LANG_HOOKS_COMDAT_GROUP): Define.
11444 * cp/cp-tree.h (cxx_comdat_group): Declare.
11445 * cp/decl.c (cxx_comdat_group): New function.
11446
fe7139ac
JH
114472004-09-15 Jan Hubicka <jh@suse.cz>
11448
87527e4b
JH
11449 * tree-ssa.c (verify_flow_sensitive_alias_info): Do not walk dead nodes.
11450 * tree-tailcall.c (eliminate_tail_call): Release SSA name.
11451
fe7139ac
JH
11452 * tree-cfg.c (remove_bb): Release SSA defs.
11453
1a141fe1
KH
114542004-09-15 Kazu Hirata <kazu@cs.umass.edu>
11455
11456 * doc/tm.texi: Follow spelling conventions.
11457
b3a27618
KH
114582004-09-15 Kazu Hirata <kazu@cs.umass.edu>
11459
11460 * tree-ssa-dom.c: Fix comment typos.
11461
43e7c6a4
AM
114622004-09-15 Alan Modra <amodra@bigpond.net.au>
11463
11464 * config/rs6000/linux-unwind.h (struct gcc_pt_regs): Extend to
11465 include ccr.
11466 (ppc_fallback_frame_state): Save location of CR.
11467
9a520f40
JJ
114682004-09-15 Jakub Jelinek <jakub@redhat.com>
11469
a45f71f5
JJ
11470 * expr.c (string_constant): Handle also read-only variables
11471 initialized to string literals.
11472
9a520f40
JJ
11473 * builtins.c (expand_builtin_memmove): Optimize memmove (x, y, 1)
11474 into memcpy (x, y, 1) if memcpy can be expanded inline.
11475
b1d16eff
ZD
114762004-09-15 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11477
11478 PR tree-optimization/17468
11479 * tree-ssa.c (verify_use, verify_phi_args, verify_ssa): Verify that
11480 definition inside a block precede uses.
11481 * tree-tailcall.c (adjust_return_value): Emit statements in the
11482 correct order.
11483
36579192
RS
114842004-09-15 Richard Sandiford <rsandifo@redhat.com>
11485
11486 * config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Delete.
11487
7c2f2b41
EB
114882004-09-15 Eric Botcazou <ebotcazou@libertysurf.fr>
11489
11490 * doc/install.texi (sparc-sun-solaris2*): Properly format warning.
11491
a5c965c1
JL
114922004-09-14 Jeff Law <law@redhat.com>
11493
48732f23
JL
11494 * tree-ssa-dom.c (avail_exprs_stack): New global varray.
11495 (struct dom_walk_block_data): Remove avail_exprs member.
11496 (tree_ssa_dominator_optimize): Initialize avail_exprs_stack.
11497 (lookup_avail_expr): No longer need to pass in address of
11498 the block local available exprs stack. All callers changed.
11499 (simplify_cond_and_lookup_avail_expr): Similarly.
11500 (simplify_switch_and_lookup_avail_expr): Similarly.
11501 (get_eq_expr_value, record_cond): Likewise.
11502 (record_dominating_conditions): Likewise.
11503 (update_rhs_and_lookup_avail_expr): Likewise.
11504 (record_equivalences_from_stmt): Likewise.
11505 (dom_opt_initialize_block_local_data): No longer test state of
11506 block local avail_exprs.
11507 (dom_opt_initialize_block): Mark unwind point in the global
11508 avail_expr stack.
11509 (remove_expressions_from_table): Update to unwind to the
11510 most recent unwind marker in the global avail_expr stack.
11511 All callers changed.
11512 (dom_opt_finalize_block): Mark unwind point in the global
11513 avail_expr stack as needed.
11514 (record_cond): Push elements into the global avail_exprs stack.
11515
a5c965c1
JL
11516 * tree-dfa.c (free_df_for_stmt): No longer static.
11517 (free_df): Update comments.
11518 * tree-flow.h (free_df_for_stmt): Prototype.
11519 * tree-ssa-dse.c (dse_optimize_stmt): Call free_df_for_stmt. Also
11520 call release_defs.
11521
391f9afb
DN
115222004-09-14 Diego Novillo <dnovillo@redhat.com>
11523
11524 PR tree-optimization/17252
11525 * tree-ssa-alias.c (may_alias_p): Don't assume that a
11526 pointer may not point to itself when using relaxed
11527 aliasing rules.
11528
67f23620
RH
115292004-09-14 Richard Henderson <rth@redhat.com>
11530
11531 PR middle-end/17397
11532 * gimplify.c (gimplify_addr_expr): Don't inadvertently change types
11533 while folding <ADDR_EXPR <INDIRECT_REF X>>.
11534
5ffcd779
AP
115352004-09-14 Andrew Pinski <apinski@apple.com>
11536
11537 * tree-ssa-copy.c (may_propagate_copy): Don't check the aliasing
11538 sets of the pointers but the aliasing sets of what they point to.
11539
f6ae6c51
RS
115402004-09-14 Roger Sayle <roger@eyesopen.com>
11541
11542 PR rtl-optimization/9771
11543 * regclass.c (CALL_REALLY_USED_REGNO_P): New macro to eliminate
11544 conditional compilation in init_reg_sets_1.
11545 (init_reg_sets_1): Let global_regs[i] take priority over the frame
11546 (but not stack) pointer exceptions to regs_invalidated_by_call.
11547 (globalize_reg): Globalizing a fixed register may need to update
11548 regs_invalidated_by_call.
11549
1810f6ed
DN
115502004-09-14 Diego Novillo <dnovillo@redhat.com>
11551
11552 PR tree-optimization/15262
11553 * tree-dfa.c (dump_variable): Also print the type of the
11554 variable.
11555 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If two
11556 memory tags are of conflicting alias sets but have no aliased
11557 symbols in common, add one tag to the alias set of the other.
11558 (setup_pointers_and_addressables): Remove hack to deal with
11559 programs with no aliased symbols.
11560 (may_alias_p): Don't special case aggregate types.
11561
0e6d31fb
JM
115622004-09-14 Joseph S. Myers <jsm@polyomino.org.uk>
11563
11564 PR c/15498
11565 * doc/invoke.texi (Environment Variables): Correct example locale.
11566
ab3b6795
JH
115672004-09-14 Jan Hubicka <jh@suse.cz>
11568
11569 * cfg.c (expunge_block): Revert previous change adding ggc_free call.
11570
0c0f8409
MM
115712004-09-14 Mark Mitchell <mark@codesourcery.com>
11572
11573 * config.gcc: Do not build a shared libgcc for arm-none-eabi.
11574
3b53cddc
JM
115752004-09-14 Joseph S. Myers <jsm@polyomino.org.uk>
11576
11577 * c-tree.h (struct c_declspecs): Add const_p, volatile_p and
11578 restrict_p.
11579 (struct c_declarator): Change u.array.quals and pointer_quals to
11580 int. Add u.array.attrs.
11581 (quals_from_declspecs): New.
11582 * c-decl.c (quals_from_declspecs): New.
11583 (shadow_tag_warned): Give more specific message for useless type
11584 qualifiers.
11585 (build_array_declarator, set_array_declarator_inner,
11586 grokdeclarator, make_pointer_declarator, build_null_declspecs,
11587 declspecs_add_qual): Update for changed structures.
11588
a6e1aa26
JL
115892004-09-14 Jeff Law <law@redhat.com>
11590
11591 * tree-ssa-dom.c (stmts_to_rescan): Move from a block-local
6615c446 11592 to a global varray.
a6e1aa26
JL
11593 (tree_ssa_dominator_optimize): Allocate stmts_to_rescan.
11594 (dom_opt_initialize_block_local_data): No longer test state
11595 of stmts_to_rescan.
11596 (dom_opt_finalize_block): Update due to change in scope of
11597 stmts_to_rescan.
11598 (optimize_stmt): Similarly.
11599
8e3c61c5
KH
116002004-09-14 Kazu Hirata <kazu@cs.umass.edu>
11601
11602 * cgraph.h, cgraphunit.c, fold-const.c, lambda-mat.c,
11603 lambda.h, profile.c, tree-optimize.c, tree-sra.c, vec.h: Fix
11604 comment typos. Follow spelling conventions.
11605
0e40b5f2
KH
116062004-09-14 Kazu Hirata <kazu@cs.umass.edu>
11607
11608 * config/darwin-c.c, config/alpha/alpha.c, config/i386/i386.c,
11609 config/i386/predicates.md, config/sparc/sparc.c: Follow
11610 spelling conventions.
11611
113d659a
ZD
116122004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11613 Steven Bosscher <stevenb@suse.de>
11614
11615 * Makefile.in (loop-unroll.o): Add HASHTAB_H and RECOG_H dependency.
11616 * basic-block.h (struct reorder_block_def): Add copy_number field.
11617 * cfgloop.h (biv_p): Declare.
11618 * cfgloopmanip.c (duplicate_loop_to_header_edge): Set copy_number.
11619 * common.opt (fsplit-ivs-in-unroller): New flag.
11620 * loop-iv.c (biv_p): New function.
11621 * loop-unroll.c: Include hashtab.h and recog.h.
11622 (struct iv_to_split, struct split_ivs_info): New types.
11623 (analyze_ivs_to_split, si_info_start_duplication, split_ivs_in_copies,
11624 free_si_info, si_info_hash, si_info_eq, analyze_iv_to_split_insn,
11625 determine_split_iv_delta, get_ivts_expr, allocate_basic_variable,
11626 insert_base_initialization, split_iv): New functions.
11627 (peel_loop_completely, unroll_loop_constant_iterations,
11628 unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
11629 Use them.
11630 * doc/invoke.texi (-fsplit-ivs-in-unroller): Document.
11631
d840495b
ZD
116322004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11633
11634 * tree-cfg.c (thread_jumps): Update dominators correctly in
11635 case destination of threaded edge dominates its source.
11636
c94583fe
ZD
116372004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11638
11639 * unroll.c: Removed.
11640 * loop.h: Removed.
11641 * Makefile.in (LOOP_H, unroll.o): Removed.
11642 (toplev.o, passes.o, stmt.o, integrate.o, loop.o): Remove LOOP_H
11643 dependency.
11644 * alias.c (init_alias_analysis): Remove flag_old_unroll_loops
11645 reference.
11646 * cfgloop.h (LOOP_PREFETCH, loop_optimize): Moved from loop.h.
11647 * common.opt (fold-unroll-loops, fold-unroll-all-loops): Removed.
11648 * loop.c: Do not include loop.h.
11649 (LOOP_INFO, LOOP_MOVABLES, LOOP_REGS, LOOP_IVS, INSN_LUID,
11650 REGNO_FIRST_LUID, REGNO_LAST_LUID, enum g_types, struct induction,
11651 struct iv_class, enum iv_mode, struct iv, REG_IV_TYPE, REG_IV_INFO,
11652 REG_IV_CLASS, struct loop_ivs, struct loop_mem_info, struct loop_reg,
11653 struct loop_regs, struct loop_movables, struct loop_info): Moved
11654 from loop.h.
11655 (back_branch_in_range_p, fold_rtx_mult_add, biv_total_increment,
11656 reg_dead_after_loop, final_biv_value, loop_find_equiv_value,
11657 find_common_reg_term, loop_iterations, final_giv_value): Moved
11658 from unroll.c.
11659 (uid_luid, uid_loop, max_uid_for_loop, max_reg_before_loop,
11660 loop_dump_stream, for_each_insn_in_loop, express_from,
11661 extend_value_for_giv, loop_iv_add_mult_emit_before,
11662 loop_iv_add_mult_sink, loop_iv_add_mult_hoist,
11663 loop_insn_first_p, get_condition_for_loop,
11664 loop_insn_emit_before, loop_insn_hoist,
11665 loop_insn_sink): Made static.
11666 (loop_invariant_p): Made static. Removed flag_old_unroll_loops
11667 reference.
11668 (strength_reduce): Do not call unroller.
11669 (record_giv): Do not initialize unrolled field.
11670 (prescan_loop): Do not set loop_info->preconditioned.
11671 * passes.c: Do not include loop.h.
11672 (rest_of_handle_loop_optimize): Do not call unroller.
11673 * predict.c: Do not include loop.h.
11674 * rtl.h (NOTE_PRECONDITIONED): Removed.
11675 * stmt.c: Do not include loop.h.
11676 * toplev.c: Do not include loop.h.
11677 (process_options): Do not handle flag_old_unroll_loops.
11678
11679 * doc/invoke.texi (fold-unroll-loops, fold-unroll-all-loops):
11680 Documentation removed.
11681 * doc/passes.texi (unroll.c, loop.h): Documentation removed.
11682
03261822
NS
116832004-09-14 Nathan Sidwell <nathan@codesourcery.com>
11684
11685 * Makefile.in (STAGE1_CHECKING): New variable.
11686 (stage1_build): Use it.
11687 * tree-ssa.c (verify_ssa): Preserve state of dominance
11688 information.
11689
869d095e
UB
116902004-09-14 Uros Bizjak <uros@kss-loka.si>
11691
11692 * config/i386/i386.c (output_fp_compare): Add generation
11693 of ftst instruction.
11694 * config/i386/i386.md (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf):
11695 Use output_fp_compare () function.
11696 (cmpfp_i, *cmpfp_i_sse, *cmpfp_i_sse_only): Fix insn constraint.
11697 (fix_truncdi_memory): Remove operands[5] copy.
11698
19525b57
KH
116992004-09-14 Kazu Hirata <kazu@cs.umass.edu>
11700
11701 * config/m32r/m32r.md, config/m68k/m68kelf.h,
11702 config/mcore/mcore.md, config/rs6000/linux64.h,
11703 config/rs6000/rs6000.c, config/sparc/sparc.c: Fix comment
11704 typos.
11705
a140c081
JW
117062004-09-13 James E Wilson <wilson@specifixinc.com>
11707
11708 * Makefile.in (GEN_PROTOS_OBJS): Add $(BUILD_ERRORS).
11709 * gen-protos.c: Include errors.h.
11710 (progname): Delete.
11711
b6acab32
JH
117122004-09-14 Jan Hubicka <jh@suse.cz>
11713
11714 * Makefile.in (predict.o): Depend on tree-scalar-evolution.h
11715 * predict.c: Include tree-scalar-evolution.h and cfgloop.h
11716 (predict_loops): Use number_of_iterations_exit to predict
11717 number of iterations on trees.
11718
c1bbfd3c
DJ
117192004-09-13 Dale Johannesen <dalej@apple.com>
11720
11721 PR 17408
11722 PR 17409
11723 * c-decl.c (start_decl): Repair TREE_STATIC for initialized
11724 objects declared extern.
11725
b9705a21
PB
117262004-09-14 Paul Brook <paul@codesourcery.com>
11727
11728 * config/arm/arm.c (arm_expand_prologue): Make args_to_push a
11729 HOST_WIDE_INT.
11730
b9193259
DJ
117312004-09-13 Daniel Jacobowitz <dan@debian.org>
11732
11733 * fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES.
11734 Only use TYPE_BINFO for aggregates.
11735
3ab0f290
DJ
117362004-09-13 Daniel Jacobowitz <dan@debian.org>
11737
11738 * expmed.c (synth_mult): Initialize latency. Check cost before
11739 checking ops count.
11740
fa9be75f 117412004-09-13 Kenneth Zadeck <Kenneth.Zadeck@NaturalBridge.com>
6674a6ce 11742
6674a6ce
KZ
11743 * tree-ssa-operands.c (get_call_expr_operands): Added parm to
11744 add_call_clobber_ops and add_call_read_ops.
11745 (add_call_clobber_ops, add_call_read_ops): Added code to reduce
11746 the number of vdefs and vuses inserted based on analysis of global
11747 variables across calls. * tree-dfa.c (find_referenced_vars):
11748 Needed to reset static var maps before each function is compiled.
11749 * cgraphunit.c:
11750 (static_vars_to_consider_by_tree,static_vars_to_consider_by_uid,
11751 static_vars_info,functions_to_static_vars_info,module_statics_escape,
11752 all_module_statics,searchc_env,dfs_info): New fields to support
11753 analysis of static global variables.
11754 (print_order, convert_UIDs_in_bitmap, new_static_vars_info,
11755 cgraph_reset_static_var_maps, get_global_static_vars_info,
11756 get_global_statics_not_read, get_global_statics_not_written,
11757 searchc, cgraph_reduced_inorder, has_proper_scope_for_analysis,
11758 check_rhs_var, check_lhs_var, get_asm_expr_operands,
11759 process_call_for_static_vars, scan_for_static_refs,
11760 cgraph_characterize_statics_local, cgraph_get_static_name_by_uid,
11761 clear_static_vars_maps, cgraph_propagate_bits,
11762 cgraph_characterize_statics): New. Functions to support analysis
11763 of static global variables.
11764 (cgraph_mark_local_and_external_functions): Renamed from:
11765 (cgraph_mark_local_functions)
11766 (cgraph_expand_all_functions): Remove call to
11767 cgraph_mark_local_and_external_functions.
11768 (cgraph_optimize): Added driver to analyze static variables whose
11769 scope is within the compilation unit. * cgraph.h (struct
11770 cgraph_local_info, GTY): Added statics_read, statics_written,
11771 local, calls_read_all, calls_write_all, for_functions_valid.
11772 (struct cgraph_node): Added next_cycle. * cgraph.c
11773 (dump_cgraph_node): Added print routines for new fields. *
11774 makefile.in: macroized cgraph.h, added cgraphunit.c to the ggc
11775 list.
11776
61f4f1cc
JM
117772004-09-13 Joseph S. Myers <jsm@polyomino.org.uk>
11778
11779 * c-decl.c (grokdeclarator): Correct comments about where storage
11780 class specifiers are rejected by grammar and add corresponding
11781 asserts. Diagnose typedefs and parameters declared inline.
11782 Change warning for inline main to a pedwarn. Only diagnose inline
11783 main if hosted.
11784 (declspecs_add_scspec): Allow duplicate "inline".
11785
88ed5ef5
SE
117862004-09-13 Steve Ellcey <sje@cup.hp.com>
11787
11788 * config/ia64/ia64.c (ia64_scalar_mode_supported_p): New.
11789 (TARGET_SCALAR_MODE_SUPPORTED_P): New.
11790
a5bfe141
RH
117912004-09-13 Richard Henderson <rth@redhat.com>
11792
11793 PR 17436
11794 * tree.h (TYPE_CONTAINS_PLACEHOLDER_INTERNAL): New.
11795 (tree_type): Replace spare with contains_placeholder_bits.
11796 (type_contains_placeholder_1): Rename from type_contains_placeholder_p,
11797 make static. Remove seen_types list.
11798 (type_contains_placeholder_p): New.
11799
1823bf53
JW
118002004-09-13 James E Wilson <wilson@specifixinc.com>
11801
11802 * config/mips/mips.c (CODE_FOR_mips_sqrt_ps): New.
11803 (sb1_bdesc, bdesc_map, bdesc_arrays): New.
11804 (mips_expand_builtin): Add SB-1 support. Use bdesc_map and
11805 bdesc_arrays instead of mips_bdesc.
11806 (mips_init_builtins): Likewise.
11807 * config/mips/mips.h (TARGET_SB1): New.
11808 (HAVE_SQRT_P): Delete.
11809 * config/mips/mips.md (divide_condition): Support V2SF.
11810 (sqrt_condition, recip_condition): New.
11811 (div<mode>3): Use ANYF instead of SCALARF.
11812 (*div<mode>3): Use ANYF instead of SCALARF. Use UNITMODE instead of
11813 MODE.
11814 (*recip<mode>3, *rsqrt<mode>a, *rsqrt<mode>b): Use recip_condition
11815 instead of ISA_HAS_FP4. Use ANYF instead of SCALARF. Use UNITMODE
11816 instead of MODE.
11817 (sqrt<mode>2): Use sqrt_condition instead of HAVE_SQRT_P. Use ANYF
11818 instead of SCALARF. Use UNITMODE instead of MODE.
11819
c8a52525
ZW
118202004-09-13 Zack Weinberg <zack@codesourcery.com>
11821
11822 * config.in: Regenerate after removal of libbanshee.
11823
a78e238e
AM
118242004-09-13 Andrew MacLeod <amacleod@redhat.com>
11825
11826 PR tree-optimization/17400
11827 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
11828 coalesce partitions when one occurs in an abnormal PHI.
6615c446 11829
5547b982
AP
118302004-09-13 Andrew Pinski <apinski@apple.com>
11831
11832 * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Change variable size's
11833 name to _new_size.
11834
0d87c765 118352004-09-13 Richard Henderson <rth@redhat.com>
c8a52525 11836
c892972f
SB
11837 PR inline-asm/6806
11838 * cselib.c (cselib_invalidate_rtx): Export. Remove unused args.
11839 (cselib_invalidate_rtx_note_stores): New.
11840 (cselib_record_sets, cselib_process_insn): Update to match.
11841 * cselib.h (cselib_invalidate_rtx): Declare.
11842 * postreload.c (reload_cse_simplify): Invalidate asm clobbers.
0d87c765 11843
84cce55d
RH
118442004-09-13 Richard Henderson <rth@redhat.com>
11845
11846 PR tree-opt/10528
11847 * tree-inline.c (copy_body_r): Recompute bits for ADDR_EXPR,
11848 after copying its argument.
11849
bda67431
JM
118502004-09-13 Joseph S. Myers <jsm@polyomino.org.uk>
11851
11852 * c-common.c, c-decl.c, c-lex.c, c-objc-common.c, c-opts.c,
11853 c-parse.in, c-pragma.c, c-typeck.c: Use %q, %< and %> for quoting
11854 in diagnostics. Use %' for English apostrophes.
11855 * c-tree.h (ATTRIBUTE_GCC_CDIAG): Define.
11856 (pedwarn_c90, pedwarn_c99): Use it.
11857 * c-decl.c (lookup_label): Quote label name in diagnostic.
11858 * c-parse.in (yyprint): Use ' instead of ` for left quote.
11859 * c-typeck.c (warn_for_assignment): Likewise.
11860
ad7b96a9
JH
118612004-09-13 Jan Hubicka <jh@suse.cz>
11862
11863 * i386.c (x86_schedule): New global variable.
11864 (override_options): Disable scheduling when not supported.
11865 * i386.h (x86_schedule): Declare.
11866 (TARGET_SCHEDULE): New macro.
11867
373c0e7f
RH
118682004-09-12 Richard Henderson <rth@redhat.com>
11869
11870 PR c++/16254
11871 * fold-const.c (fold) <case CLEANUP_POINT_EXPR>: Remove.
11872 * tree.c, tree.h (has_cleanups): Remove.
11873
7fac6722
ZD
118742004-09-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11875
11876 * tree-ssa-loop-manip.c (split_loop_exit_edge): Handle non-ssaname
11877 arguments of the phi nodes correctly.
11878
85914593
JH
118792004-09-12 Jan Hubicka <jh@suse.cz>
11880
11881 * ggc-common.c (cmp_statistics): Fix sorting.
11882
3d520aaf
DE
118832004-09-12 David Edelsohn <edelsohn@gnu.org>
11884
11885 PR target/16795
11886 * expmed.c (expand_divmod): If cheap power of 2 divide is
11887 available, use it for negative constant as well.
11888
8f8ccdf3
AP
118892004-09-12 Andrew Pinski <apinski@apple.com>
11890
c92d8761
AP
11891 * darwin.h (ASM_OUTPUT_COMMON): Make sure we do not have a
11892 size of 0.
11893
8f8ccdf3
AP
11894 * tree-chrec.c (initialize_scalar_evolutions_analyzer): Remove.
11895
93330ea1
RH
118962004-09-12 Richard Henderson <rth@redhat.com>
11897
11898 * config/i386/i386.c (ix86_split_ashldi): Special case op1 as one
11899 or minus one.
11900 (ix86_split_ashrdi, ix86_split_lshrdi): Clean up conditions for
11901 post-reload, and scratch NULL.
11902 * config/i386/i386.md (testqi_1): Use FLAGS_REG name.
11903 (x86_shift_adj_2): Use ix86_expand_clear.
11904 (ashldi3): Remove CMOVE expansion difference.
11905 (ashldi3_1): Remove.
11906 (*ashldi3_1): Rename from *ashldi3_2. Use reg_or_pm1_operand and
11907 add constraints for immediates. New peephole for split-with-temp.
11908 Run splitter after peep2 pass.
11909 (ashrdi3, ashrdi3_1, ashrdi3_2): Similarly.
11910 (lshrdi3, lshrdi3_1, lshrdi3_2): Similarly.
11911 (setcc_2): Rename with *.
11912 * config/i386/predicates.md (reg_or_pm1_operand): New.
11913 (ashldi_input_operand): New.
11914
21076c8e
RH
119152004-09-12 Richard Henderson <rth@redhat.com
11916
11917 * print-rtl.c (print_decl_name): New.
11918 (print_mem_expr): Use it.
11919
f6a41d17
RH
119202004-09-12 Richard Henderson <rth@redhat.com
11921
c892972f
SB
11922 PR 17186, part deux
11923 * except.c (sjlj_emit_function_exit): Fix logic locating
11924 sjlj_exit_after in final block.
f6a41d17 11925
a924fe34
TM
119262004-09-12 Toon Moene <toon@moene.indiv.nluug.nl>
11927
11928 * common.opt: Remove flags -fmove-all-movables and
11929 -freduce-all-givs.
11930 * loop-invariant.c (find_invariants_to_move):
11931 Remove all uses of flag_move_all_movables.
11932 * loop.c (move_movables): Remove all uses of
11933 flag_move_all_movables.
11934 (strength_reduce): Remove all uses of
11935 flag_reduce_all_givs.
11936 * doc/invoke.texi: Remove documentation of flags
11937 -fremove-all-movables and -freduce-all-givs.
11938
ec76a0e0
RS
119392004-09-11 Roger Sayle <roger@eyesopen.com>
11940
11941 PR middle-end/17411
11942 * tree-sra.c (generate_element_zero): Revert recent build_int_cst
11943 change. elt->type may be a floating point type, so use fold_convert.
11944
ca472546
GK
119452004-09-11 Geoffrey Keating <geoffk@apple.com>
11946
11947 * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Mark
11948 the thing referenced as used, not the stub itself.
11949
9a26d6ee
JM
119502004-09-11 Joseph S. Myers <jsm@polyomino.org.uk>
11951
11952 * c-tree.h (enum c_storage_class): New.
11953 (struct c_declspecs): Add storage_class, inline_p and thread_p.
11954 * c-decl.c (shadow_tag_warned): Give errors for "inline" in empty
11955 declarations and "auto" or "register" in file scope empty
11956 declarations. Give more specific warnings for other cases of
11957 storage class specifiers in empty declarations.
11958 (grokdeclarator): Update for new structures. Don't check for
11959 multiple storage classes. Diagnose file-scope "register" if
11960 pedantic.
11961 (build_null_declspecs): Update.
11962 (declspecs_add_scspec): Update. Diagnose multiple storage class
11963 specifiers and invalid uses of "__thread".
11964
a38b644b
ZW
119652004-09-11 Zack Weinberg <zack@codesourcery.com>
11966
11967 * tree.c (tree_code_size): New function, bulk of code from tree_size.
11968 (tree_size, make_node): Use it.
11969 * tree-ssa-pre.c (init_pre): Use it.
11970 * tree.h: Prototype it.
11971
30d396e3
ZD
119722004-09-11 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11973
11974 * tree-cfg.c (set_bb_for_stmt): Use PHI_BB.
11975 * tree-dfa.c (compute_immediate_uses, add_immediate_use,
11976 redirect_immediate_use): Use PHI_DF.
11977 * tree-flow-inline.h (stmt_ann): Abort on phi nodes.
11978 (bb_for_stmt): Use PHI_BB.
11979 (get_immediate_uses): Use PHI_DF.
11980 * tree-ssa-dse.c (max_stmt_uid): New variable.
11981 (get_stmt_uid): New function.
11982 (dse_optimize_stmt, dse_record_phis, tree_ssa_dse): Do not use phi
11983 node annotations.
11984 * tree-ssa-loop-im.c (LIM_DATA): Do not use phi statement annotations.
11985 (max_uid): Renamed to max_stmt_uid.
11986 (get_stmt_uid): New function.
11987 (maybe_queue_var, single_reachable_address, determine_lsm): Do not use
11988 phi node annotations.
11989 * tree-ssa.c (replace_immediate_uses): Do not use phi node annotations.
11990 * tree.h (PHI_BB, PHI_DF): New accessor functions.
11991 (struct tree_phi_node): Add bb and df fields.
11992
f4a6d54e
RH
119932004-09-11 Richard Henderson <rth@redhat.com>
11994
11995 PR middle-end/17416
11996 * cfgexpand.c (expand_used_vars_for_block): Fix off-by-one bug
11997 in conflict loop.
11998
f43329a5
JH
119992004-09-11 Jan Hubicka <jh@suse.cz>
12000
1d1df0df
JH
12001 * i386.h (MODE_NEEDED): Calls need UNINITIALIZED mode; add comment.
12002 (EMIT_MODE_SET): UNINITIALIZED mode needs no set.
12003 * i386.md (i387_cw): Add 'uninitialized' mode.
12004
f43329a5
JH
12005 * profile.c (BB_TO_GCOV_INDEX): move more to the front.
12006 (output_location): Break out from ....
12007 (branch_prob): ... here; handle gcov output on trees.
12008 * toplev.c (process_options): No longer be sorry about coverage for
12009 trees.
12010
05cf561d
SB
120112004-09-11 Steven Bosscher <stevenb@suse.de>
12012
12013 PR c++/17412
12014 * fold-const.c (fold): Do not try to fold the operand of a
12015 CLEANUP_POINT_EXPR if that operand does itself not have any
12016 operands.
12017
12018 PR middle-end/17417
12019 * langhooks.c (lhd_decl_printable_name): Make sure that this
12020 function is called with is a decl node that has an identifier.
12021 * tree-pretty-print.c (dump_function_name): New function to
12022 wrap PRINT_FUNCTION_NAME and dump_decl_name.
12023 (print_call_name): Use it.
12024
547d057d
ME
120252004-09-11 Mohan Embar <gnustuff@thisiscool.com>
12026
12027 * ggc-none.c: Include "bconfig.h" if -DGENERATOR_FILE,
12028 "config.h" if not.
12029
a17ea89b
JJ
120302004-09-11 Jakub Jelinek <jakub@redhat.com>
12031
12032 * tree-ssa-alias.c (collect_points_to_info_r): Handle
12033 pointing to PTR + OFFSET as PTR, not as pointing to PTR or pointing
12034 to OFFSET.
12035
70bb498a
RH
120362004-09-11 Richard Henderson <rth@redhat.com>
12037
12038 * expr.c (expand_expr_addr_expr_1) Rename from expand_expr_addr_expr.
12039 (expand_expr_addr_expr): New function. Take ADDR_EXPR instead of the
12040 operand of the ADDR_EXPR.
12041 (expand_expr_real_1): Update to match.
12042
0c94cda4
DE
120432004-09-11 David Edelsohn <edelsohn@gnu.org>
12044
d1909f7b 12045 PR target/17277
0c94cda4
DE
12046 * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Use __64BIT__ to
12047 choose 64-bit version.
12048
5e55f99d
RH
120492004-09-11 Richard Henderson <rth@redhat.com>
12050
12051 PR c/17396
12052 * c-typeck.c (build_unary_op): Add legacy offsetof hack.
12053
431ae0bf
KH
120542004-09-11 Kazu Hirata <kazu@cs.umass.edu>
12055
12056 * doc/cfg.texi, doc/hostconfig.texi, doc/install.texi,
12057 doc/invoke.texi, doc/md.texi, doc/tm.texi, doc/tree-ssa.texi:
12058 Insert @: after i.e. or e.g.
12059
70601cc2
GK
120602004-09-10 Geoffrey Keating <geoffk@apple.com>
12061
12062 * tree-pretty-print.c (dump_decl_name): Print unnamed decls as
12063 D.xxx rather than <Dxxx>.
12064
a38b644b 120652004-09-10 Adam Nemet <anemet@lnxw.com>
8a45d680
AN
12066
12067 * configure.ac (AC_MSG_CHECKING(what linker to use)):
12068 in_tree_ld_is_elf should be true for LynxOS.
a38b644b 12069 * configure: Regenerate.
8a45d680 12070
ecc50d72
AN
120712004-09-10 Adam Nemet <anemet@lnxw.com>
12072
12073 * Makefile.in (all.cross): Add srcextra.
12074
3ae472c2
RS
120752004-09-10 Roger Sayle <roger@eyesopen.com>
12076
12077 PR middle-end/17024
12078 * fold-const.c (fold_cond_expr_with_comparison): Handle unordered
12079 floating point comparison operators. Change aborts to gcc_asserts.
12080
dc9d0b14
GK
120812004-09-10 Geoffrey Keating <geoffk@apple.com>
12082
12083 * final.c (output_asm_insn): Correct problem with -fverbose-asm.
12084
a73b091d
JW
120852004-09-10 James E Wilson <wilson@specifixinc.com>
12086
1c8c309b
JW
12087 * Makefile.in (LIBGCC_DEPS): Delete duplicate stmp-int-hdrs reference.
12088 (stmp-fixproto): Change stmp-int-headers to stmp-int-hdrs in comment.
12089
273d67e7
JW
12090 * convert.c (convert_to_vector): Replace recursive call with
12091 error_mark_node.
12092
a73b091d
JW
12093 * emit-rtl.c (gen_const_vector): Renamed from gen_const_vector_0.
12094 Add integer argument named constant. Use const_tiny_rtx instead of
12095 CONST0_RTX.
12096 (gen_rtx_CONST_VECTOR): Rewrite to handle checks for both CONST0_RTX
12097 and CONST1_RTX.
12098 (init_emit_once): Fix users of gen_const_vector. Set CONST1_RTX for
12099 vector types.
12100 * expr.c (const_vector_from_tree): Call gen_rtx_CONST_VECTOR instead
12101 of gen_rtx_raw_CONST_VECTOR.
12102
110fce11
EC
121032004-09-10 Eric Christopher <echristo@redhat.com>
12104
12105 PR c/16046
12106 * c-parse.in (attribute): Add NULL_TREE for error case
12107 for error recovery.
12108
5d709b00
ZW
121092004-09-10 Zack Weinberg <zack@codesourcery.com>
12110
12111 * c-common.h (struct c_fileinfo): Comment moved here from cp-tree.h.
12112 (extract_interface_info): Delete prototype.
12113 * c-decl.c (extract_interface_info): Delete stub.
12114 * c-lex.c (get_fileinfo): Initialize file_info_tree here, if
12115 it's not already been done ...
12116 (init_c_lex): ... not here.
110fce11
EC
12117 (fe_file_change): Don't call extract_interface_info.
12118
616aeba2
JM
121192004-09-11 Joseph S. Myers <jsm@polyomino.org.uk>
12120
12121 * c-tree.h (struct c_declspecs): Remove typedef_decl. Add
12122 typedef_p and typedef_signed_p.
12123 * c-decl.c (shadow_tag_warned): Check typedef_p, not typedef_decl.
12124 (grokdeclarator): Don't use typedef_decl for warn_deprecated_use.
12125 Check typedef_p and typedef_signed_p, not typedef_decl.
12126 (grokfield): Check typedef_p, not typedef_decl.
12127 (build_null_declspecs): Initialize typedef_p and typedef_signed_p,
12128 not typedef_decl.
12129 (declspecs_add_type): Set typedef_p and typedef_signed_p, not
12130 typedef_decl.
12131
a8508d51
KH
121322004-09-10 Kazu Hirata <kazu@cs.umass.edu>
12133
12134 * doc/tm.texi, doc/tree-ssa.texi: Fix typos.
12135
18b3a02a
GK
121362004-09-10 Geoffrey Keating <geoffk@apple.com>
12137
769da818
GK
12138 * gimplify.c (create_tmp_var_raw): Don't name otherwise-nameless
12139 temporary variables.
12140
375d2edc
GK
12141 * dbxout.c (dbxout_block): Update for
12142 current_function_func_begin_label a string.
12143 * dwarf2out.c (dwarf2out_begin_prologue): Likewise.
12144 * except.c (dw2_output_call_site_table): Likewise.
12145 * toplev.c (current_function_func_begin_label): Likewise.
12146 * tree.h (current_function_func_begin_label): Likewise.
12147 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Likewise.
12148
c383c15f
GK
12149 * final.c (output_asm_insn): Use strtoul instead of atoi, save a
12150 loop.
12151
1adaa117
GK
12152 * config/darwin.c: Include target.h.
12153 (struct machopic_indirection): Make ptr_name a string.
12154 (machopic_indirection_hash): Update for ptr_name a string.
12155 (machopic_indirection_eq): Likewise.
12156 (machopic_indirection_name): Likewise.
12157 (machopic_output_indirection): Likewise.
12158 (machopic_validate_stub_or_non_lazy_ptr): Update for ptr_name a
12159 string. Don't expect stub names to be in the identifier hash table.
12160 Do call strip_name_encoding before looking up entry in ID hash table.
12161 * config/t-darwin (darwin.o): Add target.h to dependencies.
5d709b00 12162
fb5c67a7
GK
12163 * gcc/config/rs6000/rs6000.c (print_operand): Use fputs instead
12164 of fprintf for register names.
5d709b00 12165
5f11bc8b
GK
12166 * output.h (unlikely_section_label): Delete declaration.
12167 (unlikely_text_section_name): Likewise.
12168 * varasm.c (unlikely_section_label_printed): Make static.
12169 (unlikely_section_label): Likewise.
12170 (unlikely_text_section_name): Likewise.
12171 (assemble_start_function): Use reconcat.
12172
18b3a02a
GK
12173 * rtl.def (REG): Add comment to describe third field.
12174
76f60aa5
AP
121752004-09-10 Andrew Pinski <apinski@apple.com>
12176
12177 * config/darwin.c (machopic_mcount_stub_name): Call
12178 machopic_indirection_name instead of making the string
12179 ourselves.
12180
e30b0ae2
DN
121812004-09-10 Diego Novillo <dnovillo@redhat.com>
12182
12183 Revert
12184
12185 2004-09-08 Jie Zhang <zhangjie@magima.com.cn>
12186
12187 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
12188 memory tag is call clobbered, so are its aliases.
12189 (group_aliases): When two memory tags being grouped, if one is
12190 call clobbered, so are the other and its aliases.
12191 (add_may_alias): Remove call-clobbering stuff.
12192 (replace_may_alias): Likewise.
12193 (merge_pointed_to_info): Merge pt_global_mem
12194
89dbed81
KH
121952004-09-10 Kazu Hirata <kazu@cs.umass.edu>
12196
12197 * bb-reorder.c, c-common.c, c-incpath.c, c-typeck.c,
12198 genrecog.c, lambda-code.c, mips-tdump.c, mips-tfile.c,
12199 passes.c, tree-data-ref.c, tree-data-ref.h, tree-mudflap.c,
12200 tree-scalar-evolution.c, tree-ssa-copyrename.c,
12201 tree-ssa-live.c, tree-ssa-live.h: Fix comment typos.
12202
094e84fa
RS
122032004-09-10 Richard Sandiford <rsandifo@redhat.com>
12204
12205 * config/frv/frv.md (UNSPEC_MASACCS, UNSPEC_MDASACCS): New constants.
12206 (maddaccs, msubaccs, *maddacc): Turn operand 0 into a single ACC/ACCG
12207 pair. Remove match_dup from inputs. Remove masaccs handling.
12208 (mdaddaccs, mdsubaccs, *mdaddacc): Likewise a dual ACC/ACCG pair.
12209 (masaccs, mdasaccs): Turn into define_insns.
12210
85d62520
RS
122112004-09-10 Richard Sandiford <rsandifo@redhat.com>
12212
12213 * tree-tailcall.c (process_assignment): Only do accumulator transforms
12214 for floating-point types if flag_unsafe_math_optimizations.
12215
c112cf2b
KH
122162004-09-10 Kazu Hirata <kazu@cs.umass.edu>
12217
12218 * config/darwin.c, config/alpha/alpha.h, config/arm/arm.c,
12219 config/arm/arm.h, config/arm/arm.md, config/arm/bpabi.h,
12220 config/arm/predicates.md, config/frv/frv.c, config/frv/frv.md,
12221 config/h8300/h8300.md, config/i386/gmm_malloc.h,
12222 config/ia64/ia64.md, config/ip2k/libgcc.S,
12223 config/mips/mips-ps-3d.md, config/mips/mips.c,
12224 config/rs6000/rs6000.c, config/s390/s390.c,
12225 config/sh/symbian.c: Fix comment typos.
12226
2790879f
AK
122272004-09-10 Andreas Krebbel <krebbel1@de.ibm.com>
12228
12229 * config/s390/s390.c (s390_emit_prologue): Added missing
12230 "{}" brackets.
12231
27ef2cdd
KH
122322004-09-10 Kazu Hirata <kazu@cs.umass.edu>
12233
12234 * doc/extend.texi, doc/invoke.texi, doc/passes.texi: Fix
12235 typos. Follow spelling conventions.
12236
108ebf88
JM
122372004-09-10 Joseph S. Myers <jsm@polyomino.org.uk>
12238
12239 * toplev.c (warn_deprecated_use): Correct logic for saying "type"
12240 in diagnostic. Don't dereference NULL TYPE_NAME.
12241
6cb38cd4
KH
122422004-09-10 Kazu Hirata <kazu@cs.umass.edu>
12243
12244 * c-common.c, c-pch.c, defaults.h, lambda-code.c, passes.c,
12245 tree-data-ref.c, tree-flow.h, tree-ssa-operands.c,
12246 tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
12247 value-prof.c: Fix comment typos. Follow spelling conventions.
12248
b829f3fa
JH
122492004-09-10 Jan Hubicka <jh@suse.cz>
12250
12251 * tree-ssa-dce.c (remove_dead_stmt): Update profile.
12252 * tree-split_edge.c (tree_split_edge): Likewise.
12253 (thread_jumps): Likewise.
12254
229031d0
KH
122552004-09-10 Kazu Hirata <kazu@cs.umass.edu>
12256
12257 * cgraphunit.c, predict.c, tree-ssa-loop-ivopts.c: Fix comment
12258 typos.
12259
9b3e897d
PB
122602004-09-10 Paolo Bonzini <bonzini@gnu.org>
12261
12262 * cgraph.h (cgraph_dump_file): Do not declare.
12263 * cgraphunit.c (cgraph_dump_file): Declare as static.
12264 (init_cgraph): New.
12265 * toplev.c (cgraph_dump_file): Do not declare.
12266 (compile_file): Call init_cgraph.
12267 * tree-dump.c (dump_files): Add IPA dump file, remove
12268 XML dump of call graph.
12269 (get_dump_file_name): Support IPA dump file naming scheme.
12270 * tree.h (enum tree_dump_index): Add IPA dump file, remove
12271 XML dump of call graph.
12272 * doc/invoke.texi (Debugging Options): Document the new options.
12273
c3ee0579
RS
122742004-09-10 Richard Sandiford <rsandifo@redhat.com>
12275
12276 * doc/extend.texi: Document the FR-V built-in functions.
12277
236f9832
JW
122782004-09-09 James E Wilson <wilson@specifixinc.com>
12279
12280 * doc/sourcebuild.texi: Delete libbanshee reference.
12281
5a29def1
KC
122822004-09-10 Kelley Cook <kcook@gcc.gnu.org>
12283
12284 * Makefile.in (s-gtype): Add $(build_exeext) to gengtype command.
12285
3274deff
JW
122862004-09-09 James E Wilson <wilson@specifixinc.com>
12287
12288 * c-typeck.c (convert_for_assignment): Check that rhs has VECTOR_TYPE
12289 before calling vector_types_convertible_p.
12290 (digest_init): Check that inside_init has VECTOR_TYPE before calling
12291 vector_types_convertible_p. Don't give another error if
12292 convert_for_assignment returns error_mark_node.
12293
049e524f
RS
122942004-09-09 Roger Sayle <roger@eyesopen.com>
12295
12296 PR middle-end/17055
12297 * fold-const.c (build_zero_vector): New function to construct a
12298 vector (either floating point or integer) of zeros.
12299 (fold_convert): Internally, enable conversions of integer zero
12300 to arbitrary vector types, using the new build_zero_vector.
12301
1b83d209
RS
123022004-09-09 Roger Sayle <roger@eyesopen.com>
12303
12304 * config/i386/i386.c (ix86_expand_ashlsi3_const): New function to
12305 expand a left shift by an immediate constant as either an ashl or
12306 a sequence of additions.
12307 (ix86_split_ashldi): Use new ix86_expand_ashlsi3_const function
12308 instead of calling gen_ashlsi3 with a constant directly.
12309
903a5059
RS
123102004-09-09 Roger Sayle <roger@eyesopen.com>
12311
12312 * config/i386/i386.c (ix86_split_long_move): When optimizing for
12313 size, and the low and high parts of a DImode constant are equal,
12314 copy one register to another instead of loading the same immediate
12315 value twice.
12316
469c26f1
RH
123172004-09-09 Richard Henderson <rth@redhat.com>
12318
12319 PR middle-end/17367
12320 * function.c (assign_parm_setup_block): Only put PARALLELs into
12321 a register if use_register_for_decl.
12322
1aee688e
EC
123232004-09-09 Eric Christopher <echristo@redhat.com>
12324
12325 * ra-colorize.c (reset_lists): Move variable declaration inside
12326 ENABLE_CHECKING to avoid unused variable warnings when
12327 not --enable-checking.
12328 (check_colors): Ditto.
12329
89029cd4
MS
123302004-09-09 Mike Stump <mrs@apple.com>
12331
12332 * version.c (version_string): Bump to 4.0.0.
693ff889 12333 * doc/include/gcc-common.texi (version-GCC): Likewise.
89029cd4 12334
3f3174b6
JJ
123352004-09-10 Jakub Jelinek <jakub@redhat.com>
12336
12337 * doc/extend.texi (nothrow attribute): The attribute is not
12338 implemented in 3.2 and earlier.
12339
4c80d5ac
SE
123402004-09-09 Steve Ellcey <sje@cup.hp.com>
12341
12342 * genrecog.c (compute_predicate_codes): Use op0_codes
12343 instead of codes.
12344
2ec3ab99
UW
123452004-09-09 Ulrich Weigand <uweigand@de.ibm.com>
12346
12347 * ra-colorize.c (hardregset_to_string): Adapt to HARD_REG_SET
12348 implementation changes.
12349
0b21d1dc
UW
123502004-09-09 Ulrich Weigand <uweigand@de.ibm.com>
12351
12352 * combine.c (try_combine): When swapping i2 and i3, newi2pat may be
12353 a PARALLEL instead of a SET due to added clobbers.
12354
7bb09d15
UW
123552004-09-09 Ulrich Weigand <uweigand@de.ibm.com>
12356
1aee688e 12357 * reload.c (find_reloads_address): Pass correct operand to
7bb09d15
UW
12358 maybe_memory_address_p.
12359
0a050485
DB
123602004-09-09 Daniel Berlin <dberlin@dberlin.org>
12361
12362 * Makefile.in: Remove libbanshee, tree-alias-*.
12363 Remove tree-alias-common.h dependencies.
12364 * common.opt: Remove -ftree-points-to.
12365 * configure.ac: Remove libbanshee.
12366 * flags.h: Remove pta_type, flag_tree_points_to.
12367 * gengtype.c (open_base_files): Remove tree-alias-type.h.
12368 * opts.c (OPT_ftree_points_to): Remove.
12369 * toplev.c: Remove tree-alias-common.h, flag_tree_points_to.
12370 * tree-dfa.c: Remove tree-alias-common.h
12371 * tree-into-ssa.c: Ditto.
12372 * tree-outof-ssa.c: Ditto.
12373 * tree-ssa-copyrename.c: Ditto.
12374 * tree-ssa-live.c: Ditto.
12375 * tree-optimize.c: Ditto.
12376 * tree-ssa.c: Ditto.
12377 Remove pass_build_pta, pass_del_pta.
12378 * tree-pass.h: Ditto.
12379 * tree-ssa-alias.c: Remove tree-alias-common.h.
12380 (struct alias_stats_d): Remove pta_queries, pta_resolved.
12381 (pass_may_alias): Remove PROP_pta requirement.
12382 (may_alias_p): Remove pta_queries, pta_resolved, use of andersens.
12383 (get_tmt_for): Ditto.
12384 (dump_alias_stats): Ditto.
12385 * doc/passes.texi: Remove blurb about points-to analysis.
12386 * fortran/Make-lang.in: Remove tree-alias-*.o.
1aee688e 12387
c1a404bd
RS
123882004-09-09 Richard Sandiford <rsandifo@redhat.com>
12389
12390 * genattrtab.c (write_insn_cases): New function, split out from
12391 write_attr_case. Correctly handle define_peepholes when printing
12392 the instruction name.
12393 (write_attr_case, write_const_num_delay_slots): Use write_insn_cases.
12394
b2416742
HPN
123952004-09-09 Hans-Peter Nilsson <hp@axis.com>
12396
12397 PR target/17377
12398 * config/cris/cris-protos.h (cris_return_address_on_stack): Declare.
12399 * config/cris/cris.c (cris_return_address_on_stack): New function.
12400 * config/cris/cris.md ("return"): For location of return address,
12401 also check cris_return_address_on_stack.
12402
b49ce401
DN
124032004-09-09 Diego Novillo <dnovillo@redhat.com>
12404
12405 * tree-outof-ssa.c (coalesce_abnormal_edges): Fix typo in
12406 calling phi_ssa_name_p.
12407
116df786
RH
124082004-09-09 Richard Henderson <rth@redhat.com>
12409
12410 PR c/17322
12411 * c-typeck.c (valid_compound_expr_initializer): Use only
12412 initializer_constant_valid_p, and not TREE_CONSTANT.
12413 (digest_init): Likewise.
12414 (output_init_element): Likewise.
12415
41374e13
NS
124162004-09-09 Giovanni Bajo <giovannibajo@gcc.gnu.org>
12417
12418 * ra-build.c (copy_insn_p, remember_move, defuse_overlap_p_1,
12419 live_out_1, prune_hardregs_for_mode, init_one_web_common,
12420 reinit_one_web, add_subweb, add_subweb_2, init_web_parts,
12421 record_conflict, compare_and_free_webs, init_webs_defs_uses,
12422 parts_to_webs_1, parts_to_webs, reset_conflicts,
12423 check_conflict_numbers, remember_web_was_spilled, handle_asm_insn,
12424 ra_build_free): Use gcc_assert and gcc_unreachable instead of abort.
12425 * ra-colorize.c (push_list, put_web, reset_lists, put_web_at_end,
12426 put_move, remove_move, combine, select_spill, colorize_one_web,
12427 try_recolor_web, insert_coalesced_conflicts, check_colors,
12428 break_precolored_alias, restore_conflicts_from_coalesce,
12429 sort_and_combine_web_pairs, check_uncoalesced_moves): Likewise.
12430 * ra-rewrite.c (spill_coalescing, slots_overlap_p, emit_loads,
12431 reloads_to_loads, rewrite_program2, emit_colors): Likewise.
12432 * ra.c (first_hard_reg, create_insn_info, find_subweb, init_ra,
12433 check_df): Likewise.
12434 * real.c (do_add, do_multiply, do_divide, do_compare, do_fix_trunc,
12435 real_arithmetic, real_compare, real_exponent, real_ldexp,
12436 real_identical, real_to_integer, real_to_integer2, real_to_decimal,
12437 real_to_hexadecimal, real_from_integer, ten_to_ptwo, ten_to_mptwo,
12438 real_digit, real_nan, real_maxval, round_for_format, real_convert,
12439 real_to_target, real_from_target, real_hash, encode_ieee_single,
12440 encode_ieee_double, encode_ieee_extended, encode_ieee_quad,
12441 encode_vax_f, encode_vax_d, encode_vax_g, encode_i370_single,
12442 encode_i370_double, encode_c4x_single, encode_c4x_extended): Likewise.
12443 * recog.c (validate_change, validate_replace_rtx_1, asm_operand_ok,
12444 extract_insn, peep2_next_insn, peep2_reg_dead_p,
12445 peep2_find_free_register, peephole2_optimize, store_data_bypass_p,
12446 if_test_bypass_p): Likewise.
12447 * reg-stack.c (record_label_references, get_asm_operand_n_inputs,
12448 stack_result, remove_regno_note, get_hard_regnum, emit_pop_insn,
12449 emit_swap_insn, swap_to_top, move_for_stack_reg,
12450 subst_stack_regs_pat, subst_asm_stack_regs, change_stack,
12451 compensate_edge, convert_regs_1): Likewise.
12452 * regclass.c (init_reg_sets, init_reg_sets_1,
12453 memory_move_secondary_cost): Likewise.
12454 * regrename.c (note_sets, clear_dead_regs, scan_rtx_reg, scan_rtx):
12455 Likewise.
12456 * reload.c (push_secondary_reload, find_valid_class, push_reload,
12457 operands_match_p, decompose, immune_p, find_reloads,
12458 find_reloads_toplev, find_reloads_address_1, subst_reloads,
12459 copy_replacements, refers_to_regno_for_reload_p,
12460 reg_overlap_mentioned_for_reload_p): Likewise.
12461 * reload1.c (compute_use_by_pseudos, replace_pseudos_in, reload,
12462 count_pseudo, find_reg, eliminate_regs, eliminate_regs_in_insn,
12463 verify_initial_elim_offsets, finish_spills, clear_reload_reg_in_use,
12464 reload_reg_free_p, reload_reg_reaches_end_p, reloads_conflict,
12465 choose_reload_regs, merge_assigned_reloads, emit_input_reload_insns,
12466 do_output_reload, fixup_abnormal_edges): Likewise.
12467 * reorg.c (stop_search_p, emit_delay_sequence, get_jump_flags,
12468 fill_slots_from_thread, relax_delay_slots): Likewise.
12469 * resource.c (mark_referenced_resources, mark_set_resources):
12470 Likewise.
12471 * rtl.c (copy_rtx, rtx_equal_p): Likewise.
12472 * rtlanal.c (insn_dependent_p, reg_overlap_mentioned_p,
12473 dead_or_set_p, find_reg_fusage, remove_note, replace_rtx,
12474 subreg_lsb_1, subreg_regno_offset, subreg_offset_representable_p,
12475 find_first_parameter_load, can_hoist_insn_p, hoist_update_store,
12476 hoist_insn_after, hoist_insn_to_edge, nonzero_bits1): Likewise.
12477 * rtlhooks.c (gen_lowpart_general): Likewise.
12478 * sbitmap.c (sbitmap_difference): Likewise.
12479 * sched-deps.c (add_dependence, sched_analyze_1, sched_analyze_2,
12480 sched_analyze, add_forward_dependence): Likewise.
12481 * sched-ebb.c (fix_basic_block_boundaries, schedule_ebb): Likewise.
12482 * sched-rgn.c (debug_regions, compute_trg_info, schedule_region,
12483 schedule_insns): Likewise.
12484 * sched-vis.c (print_pattern): Likewise.
12485 * sdbout.c (sdbout_symbol, sdbout_toplevel_data): Likewise.
12486 * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
12487 simplify_const_relational_operation, simplify_ternary_operation,
12488 simplify_immed_subreg, simplify_subreg, simplify_gen_subreg):
12489 Likewise.
12490 * sreal.c (copy, sreal_sub, sreal_div): Likewise.
12491 * stmt.c (force_label_rtx, expand_goto, expand_asm_operands,
12492 resolve_operand_name_1, expand_return, expand_decl,
12493 expand_anon_union_decl, emit_case_bit_tests, expand_case): Likewise.
12494 * stor-layout.c (put_pending_size, smallest_mode_for_size,
12495 int_mode_for_mode, layout_decl, finish_builtin_struct, layout_type,
12496 set_sizetype, get_mode_bounds): Likewise.
12497
15072eb1
ZW
124982004-09-09 Zack Weinberg <zack@codesourcery.com>
12499
12500 * defaults.h (MULTIPLE_SYMBOL_SPACES): Provide default.
12501 * config/arm/pecoff.h, config/i386/beos-elf.h
12502 * config/i386/cygming.h, config/i386/i386-interix.h:
12503 Define MULTIPLE_SYMBOL_SPACES to 1, not nothing. Remove
12504 comment cloned from manual.
12505 * doc/tm.texi: Update description of MULTIPLE_SYMBOL_SPACES.
12506
c2433d7d
FCE
125072004-09-09 Frank Ch. Eigler <fche@redhat.com>
12508
12509 * builtins.c (build_va_arg_indirect_ref): New function.
12510 (std_gimplify_va_arg_expr): Call it instead of mudflap check and
12511 build_fold_indirect_ref.
12512 * config/i386/i386.c (ix86_gimplify_va_arg): Ditto.
12513 * config/ia64/ia64.c (ia64_gimplify_va_arg): Ditto.
12514 * tree.h: Declare new function.
12515
41374e13 125162004-09-09 Nathan Sidwell <nathan@codesourcery.com>
1a2caa7a
NS
12517
12518 * cgraphunit.c (cgraph_mark_functions_to_output): Renable node
12519 dumping for development builds.
12520 * emit-rtl.c (verify_rtx_sharing): Give verbose failure for
12521 development builds only.
12522 * genattrtab.c (write_eligible_delay): Fix typo in previous
12523 commit.
12524 * tree.c (iterative_hash_expr): Replace gcc_unreachable with
12525 gcc_assert.
12526
41374e13 125272004-09-09 Nathan Sidwell <nathan@codesourcery.com>
282899df
NS
12528
12529 * gcse.c (INSN_CUID, insert_set_in_table, find_avail_set,
12530 cprop_insn, do_local_cprop, local_cprop_pass, find_bypass_set,
12531 process_insert_insn, insert_insn_end_bb, pre_insert_copy_insn,
12532 hoist_code, extract_mentioned_regs_helper, compute_store_table,
12533 insert_store): Use gcc_assert and gcc_unreachable.
12534 * ggc-common.c (ggc_splay_alloc, ggc_splay_dont_free,
12535 gt_pch_note_object, gt_pch_note_reorder, relocate_ptrs,
12536 ggc_record_overhead): Likewise.
12537 * ggc-page.c (alloc_page, free_page, ggc_set_mark, ggc_marked_p,
12538 init_ggc, ggc_push_context, ggc_recalculate_in_use_p,
12539 ggc_pop_context, clear_marks, validate_free_objects,
12540 ggc_pch_read): Likewise.
12541 * ggc-zone.c (ggc_allocated_p, free_chunk, ggc_set_mark,
12542 ggc_marked_p, ggc_get_size, init_ggc, destroy_ggc_zone,
12543 ggc_push_context, check_cookies, ggc_collect,
12544 ggc_print_statistics): Likewise.
12545 * gimple-low.c (lower_function_body, lower_stmt,
12546 lower_bind_expr): Likewise.
12547 * gimplify.c (gimple_tree_eq, push_gimplify_context,
12548 pop_gimplify_context, gimple_pop_condition, create_tmp_var,
12549 declare_tmp_vars, gimple_add_tmp_var, annotate_all_with_locus,
12550 mostly_copy_tree_r, gimplify_return_expr, gimplify_switch_expr,
12551 gimplify_case_label_expr, gimplify_exit_block_expr,
12552 canonicalize_component_ref, gimplify_compound_lval,
12553 gimplify_self_mod_expr, gimplify_call_expr,
12554 gimplify_init_ctor_eval, gimplify_init_constructor,
12555 gimplify_modify_expr, gimplify_save_expr, gimplify_target_expr,
12556 gimplify_expr, check_pointer_types_r,
12557 force_gimple_operand): Likewise.
12558 * global.c (global_alloc, build_insn_chain): Likewise.
12559 * graph.c (clean_graph_dump_file,
12560 finish_graph_dump_file): Likewise.
12561 gcov-io.c (gcov_open): Use GCOV_CHECK.
12562
2a88ebca
RS
125632004-09-09 Richard Sandiford <rsandifo@redhat.com>
12564
12565 * config/frv/frv.c (acc_operand, accg_operand): Use REGNO.
12566
34132917
JH
125672004-09-09 Jan Hubicka <jh@suse.cz>
12568
12569 middle-end/17128
282899df
NS
12570 * tree-inline.c (expand_call_inline): Make overactive sanity check
12571 happy.
34132917 12572
9f7aa952
JH
125732004-09-09 Jan Hubicka <jh@suse.cz>
12574
12575 * tree-ssa-loop-ivopts.c (peel_address): Fix abort on
12576 VIEW_CONVERT_EXPR.
12577
b2d59f6f
NS
125782004-09-09 Nathan Sidwell <nathan@codesourcery.com>
12579
12580 * Makefile.in (gengtype): Use $(BUILD_ERRORS).
12581 (gengtype.o): Depend on errors.h.
12582 * genattrtab.c (strcmp_check): Use gcc_assert and gcc_unreachable.
12583 (attr_rtx_1, attr_printf, attr_copy_rtx, evaluate_eq_attr,
12584 attr_alt_subset_p, attr_alt_subset_of_compl_p,
12585 attr_alt_intersection, attr_alt_union, optimize_attrs, gen_insn,
12586 write_test_expr, write_attr_value, write_eligible_delay,
12587 make_internal_attr, make_numeric_value): Likewise.
12588 * genautomata.c (regexp_name, get_str_vect,
12589 gen_presence_absence_set, automaton_decl_hash,
12590 automaton_decl_eq_p, insn_decl_hash, insn_decl_eq_p, decl_hash,
12591 decl_eq_p, process_regexp, loop_in_regexp, check_loops_in_regexps,
12592 process_regexp_cycles, reserv_sets_cmp, set_unit_reserv,
12593 test_unit_reserv, it_is_empty_reserv_sets,
12594 reserv_sets_are_intersected, reserv_sets_shift, reserv_sets_or,
12595 reserv_sets_and, output_cycle_reservs, get_free_state,
12596 intersected_state_reservs_p, states_union, remove_arc,
12597 copy_insn_regexp, transform_1, transform_2, transform_3,
12598 regexp_transform_func, store_alt_unit_usage,
12599 check_regexp_units_distribution, process_seq_for_forming_states,
12600 process_alts_for_forming_states, make_automaton,
12601 form_arcs_marked_by_insn, create_composed_state,
12602 set_out_arc_insns_equiv_num, partition_equiv_class,
12603 process_insn_equiv_class, set_insn_equiv_classes,
12604 units_to_automata_heuristic_distr, form_regexp,
12605 longest_path_length, output_dfa_max_issue_rate, add_vect,
12606 out_state_arcs_num, add_vect_el, output_trans_table,
12607 output_state_alts_table, output_dead_lock_vect,
12608 output_max_insn_queue_index_def,
12609 output_min_insn_conflict_delay_func,
12610 output_internal_insn_latency_func, output_print_reservation_func,
12611 output_cpu_unit_reservation_p, output_state_arcs,
12612 make_insn_alts_attr, make_internal_dfa_insn_code_attr,
12613 make_default_insn_latency_attr,
12614 form_important_insn_automata_lists): Likewise.
12615 * genemit.c (gen_exp, output_add_clobbers,
12616 output_added_clobbers_hard_reg_p): Likewise.
12617 * genextract.c (print_path, main): Likewise.
12618 * genflags.c (gen_macro): Likewise.
12619 * gengenrtl.c: Include errors.h
12620 (type_from_format, accessor_from_format): Likewise.
12621 * gengtype.c (get_file_basename, output_mangled_typename,
12622 walk_type, write_types_process_field,
12623 write_types_local_process_field): Likewise.
12624 * genmodes.c (complete_mode): Likewise.
12625 * genopinit.c (gen_insn): Likewise.
12626 * genoutput.c (output_insn_data, check_constraint_len,
12627 constraint_len): Likewise.
12628 * genpreds.c (add_mode_tests):Likewise.
12629 * gen-protos.c (add_hash): Likewise.
12630 * genrecog.c (find_operand, find_matching_operand,
12631 validate_pattern, add_to_sequence, maybe_both_true,
12632 nodes_identical_1, merge_trees, write_switch, write_cond,
12633 write_action, is_unconditional, make_insn_sequence,
12634 debug_decision_2): Likewise.
12635 * gensupport.c (is_predicable, collect_insn_data,
12636 alter_predicate_for_insn, maybe_eval_c_test): Likewise.
12637
87022a6b
JH
126382004-09-09 Jan Hubicka <jh@suse.cz>
12639
12640 * basic-block.h (guess_outgoing_edge_probabilities): Declare.
b2d59f6f
NS
12641 * cfgbuild.c (compute_outgoing_frequencies): When probability is
12642 missing, guess it.
12643 (find_many_sub_basic_blocks): Do update profile only when it is
12644 present.
87022a6b 12645 * predict.c (set_even_probabilities): Break out from ...
b2d59f6f
NS
12646 (combine_predictions_for_insn): ... here; deal with
12647 !can_predict_insn_p insns.
87022a6b
JH
12648 (combine_predictions_for_bb): Use set_even_probabilities.
12649 (bb_estimate_probability_locally): Break out from ....
12650 (estimate_probability): ... here.
12651 (guess_outgoing_edge_probabilities): New entry point.
12652
e1537934
NS
126532004-09-09 Nathan Sidwell <nathan@codesourcery.com>
12654
3b5edfee
NS
12655 * gcc.c (add_sysrooted_prefix, execute, do_self_spec, do_spec_1,
12656 handle_braces, process_brace_body, main, used_arg,
12657 set_multilib_dir, print_multilib_info): Use fatal, not abort.
12658
d73d4593
NS
12659 * tree-nested.c (create_tmp_var_for): Correct missinverted assert.
12660
e1537934
NS
12661 * tree-outof-ssa.c (free_temp_expr_table): Add missed assert.
12662 * tree-ssa-ccp.c (set_lattice_value): Correct missapplied de
12663 Morgan's theorem in last checkin.
12664
1e128c5f
GB
126652004-09-09 Giovanni Bajo <giovannibajo@gcc.gnu.org>
12666 Nathan Sidwell <nathan@codesourcery.com>
12667
12668 * targhooks.c (default_unwind_emit, default_scalar_mode_supported_p):
12669 Use gcc_assert, gcc_unreachable & internal_error instead of abort.
12670 * timevar.c (timevar_push, timevar_pop, timevar_start,
12671 timevar_stop): Likewise.
12672 * toplev.c (default_pch_valid_p): Likewise.
12673 * tracer.c (tail_duplicate): Likewise.
12674 * tree-alias-common.c (get_alias_var_decl,
12675 get_values_from_constructor, create_alias_var, delete_alias_vars,
12676 empty_points_to_set, same_points_to_set, ptr_may_alias_var):
12677 Likewise.
12678 * tree.c (tree_size, make_node_stat, copy_node_stat,
12679 build_int_cst_wide, integer_all_onesp, list_length, chainon,
12680 tree_node_structure, type_contains_placeholder_p, substitute_in_expr,
12681 substitute_placeholder_in_expr, tabilize_reference_1, build0_stat,
12682 build1_stat, build2_stat, build3_stat, build4_stat, is_attribute_p,
12683 lookup_attribute, type_hash_canon, host_integerp, iterative_hash_expr,
12684 build_method_type_directly, decl_type_context, get_callee_fndecl,
12685 get_set_constructor_bits, build_vector_type_for_mode, int_cst_value,
12686 tree_fold_gcd): Likewise.
12687 * tree-cfg.c (create_bb, make_ctrl_stmt_edges, make_exit_edges,
12688 make_cond_expr_edges, group_case_labels, tree_merge_blocks,
12689 cleanup_control_expr_graph, find_taken_edge,
12690 find_taken_edge_switch_expr, phi_alternatives_equal,
12691 is_ctrl_altering_stmt, disband_implicit_edges, set_bb_for_stmt,
12692 stmt_for_bsi, tree_find_edge_insert_loc, bsi_insert_on_edge_immediate,
12693 tree_split_edge, tree_verify_flow_info, thread_jumps,
12694 tree_redirect_edge_and_branch, tree_flow_call_edges_add): Likewise.
12695 * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
12696 chrec_fold_multiply_poly_poly): Likewise.
12697 * tree-complex.c (extract_component, expand_complex_division,
12698 expand_complex_comparison, expand_complex_operations_1,
12699 build_replicated_const, expand_vector_operations_1): Likewise.
12700 * tree-data-ref.c (tree_fold_bezout, build_classic_dist_vector,
12701 build_classic_dir_vector): Likewise.
12702 * tree-dfa.c (compute_immediate_uses_for_phi,
12703 compute_immediate_uses_for_stmt, create_var_ann, create_stmt_ann,
12704 create_tree_ann, collect_dfa_stats, get_virtual_var): Likewise.
12705 * tree-dump.c (dequeue_and_dump): Likewise.
12706 * tree-eh.c (record_stmt_eh_region, add_stmt_to_eh_region,
12707 record_in_finally_tree, replace_goto_queue_1,
12708 maybe_record_in_goto_queue, verify_norecord_switch_expr,
12709 do_return_redirection): Likewise.
12710 * tree-if-conv.c (tree_if_convert_stmt, tree_if_convert_cond_expr,
12711 add_to_dst_predicate_list, find_phi_replacement_condition,
12712 replace_phi_with_cond_modify_expr, get_loop_body_in_if_conv_order):
12713 Likewise.
12714 * tree-inline.c (remap_decl, remap_type, remap_decls, copy_body_r,
12715 initialize_inlined_parameters, declare_return_variable,
12716 estimate_num_insns_1, expand_call_inline, expand_calls_inline,
12717 optimize_inline_calls, copy_tree_r): Likewise.
12718 * tree-into-ssa.c (rewrite_initialize_block_local_data, rewrite_stmt,
12719 ssa_rewrite_stmt, rewrite_into_ssa): Likewise.
12720 * tree-iterator.c (alloc_stmt_list, tsi_link_before, tsi_link_after,
12721 tsi_split_statement_list_after, tsi_split_statement_list_before):
12722 Likewise.
12723 * tree-mudflap.c (mf_varname_tree): Likewise.
12724 * tree-nested.c (create_tmp_var_for, lookup_field_for_decl,
12725 lookup_tramp_for_decl, convert_all_function_calls): Likewise.
12726 * tree-optimize.c (tree_rest_of_compilation): Likewise.
12727 * tree-outof-ssa.c (create_temp, eliminate_build, eliminate_phi,
12728 coalesce_abnormal_edges, coalesce_ssa_name, eliminate_virtual_phis,
12729 free_temp_expr_table, add_dependance, finish_expr, rewrite_trees):
12730 Likewise.
12731 * tree-phinodes.c (resize_phi_node, add_phi_arg,
12732 remove_all_phi_nodes_for): Likewise.
12733 * tree-pretty-print.c (op_prio, print_call_name): Likewise.
12734 * tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler,
12735 tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Likewise.
12736 * tree-sra.c (type_can_instantiate_all_elements, sra_hash_tree,
12737 sra_elt_eq, sra_walk_expr, instantiate_missing_elements,
12738 generate_one_element_ref, generate_element_copy,
12739 generate_element_zero, scalarize_copy, scalarize_init,
12740 scalarize_ldst): Likewise.
12741 * tree-ssa-alias.c (delete_alias_info, group_aliases, may_alias_p,
12742 add_may_alias, add_pointed_to_expr, add_pointed_to_var,
12743 collect_points_to_info_r, get_tmt_for, get_ptr_info): Likewise.
12744 * tree-ssa.c (walk_use_def_chains, check_phi_redundancy): Likewise.
12745 * tree-ssa-ccp.c (dump_lattice_value, get_default_value, get_value,
12746 set_lattice_value, likely_value, ccp_visit_phi_node, visit_assignment,
12747 widen_bitfield, ccp_fold_builtin): Likewise.
12748 * tree-ssa-copy.c (may_propagate_copy, merge_alias_info,
12749 replace_exp_1, propagate_tree_value): Likewise.
12750 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
12751 * tree-ssa-dce.c (set_control_dependence_map_bit,
12752 find_control_dependence, find_pdom, mark_operand_necessary,
12753 mark_stmt_if_obviously_necessary,
12754 mark_control_dependent_edges_necessary, remove_dead_stmt): Likewise.
12755 * tree-ssa-dom.c (dom_opt_initialize_block_local_data,
12756 simplify_switch_and_lookup_avail_expr, cprop_into_successor_phis,
12757 eliminate_redundant_computations, avail_expr_eq): Likewise.
12758 * tree-ssa-dse.c (fix_stmt_v_may_defs): Likewise.
12759 * tree-ssa-loop-ch.c (should_duplicate_loop_header_p,
12760 duplicate_blocks): Likewise.
12761 * tree-ssa-loop-im.c (for_each_index, set_level,
12762 is_call_clobbered_ref): Likewise.
12763 * tree-ssa-loop-ivopts.c (dump_use, divide, stmt_after_ip_normal_pos,
12764 stmt_after_increment, set_iv, contains_abnormal_ssa_name_p,
12765 find_interesting_uses_outer_or_nonlin, add_derived_ivs_candidates,
12766 peel_address, ptr_difference_cost, may_replace_final_value,
12767 determine_use_iv_cost, rewrite_use_nonlinear_expr, rewrite_use_outer,
12768 rewrite_use, rewrite_uses): Likewise.
12769 * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa,
12770 check_loop_closed_ssa_use): Likewise.
12771 * tree-ssanames.c (make_ssa_name): Likewise.
12772 * tree-ssa-operands.c (finalize_ssa_defs, finalize_ssa_uses,
12773 finalize_ssa_v_must_defs, finalize_ssa_stmt_operands,
12774 get_stmt_operands, get_expr_operands, get_asm_expr_operands,
12775 get_indirect_ref_operands, add_stmt_operand): Likewise.
12776 * tree-ssa-pre.c (value_exists_in_set_bitmap,
12777 value_remove_from_set_bitmap, bitmap_insert_into_set, insert_into_set,
12778 phi_translate, valid_in_set, compute_antic,
12779 find_or_generate_expression, create_expression_by_pieces, insert_aux,
12780 create_value_expr_from, eliminate): Likewise.
12781 * tree-ssa-propagate.c (cfg_blocks_get): Likewise.
12782 * tree-ssa-threadupdate.c (remove_last_stmt_and_useless_edges):
12783 Likewise.
12784 * tree-tailcall.c (independent_of_stmt_p, adjust_return_value,
12785 eliminate_tail_call): Likewise.
12786 * tree-vectorizer.c (vect_create_index_for_array_ref,
12787 vect_align_data_ref, vect_create_data_ref,
12788 vect_create_destination_var, vect_get_vec_def_for_operand,
12789 vect_finish_stmt_generation, vect_transform_stmt,
12790 vect_transform_loop_bound, vect_transform_loop,
12791 vect_analyze_operations): Likewise.
12792 * tree-vn.c (vn_compute, set_value_handle, get_value_handle):
12793 Likewise.
12794 * tree-flow-inline.h (var_ann, get_var_ann, get_def_from_ptr,
12795 get_use_op_ptr, immediate_use, phi_ssa_name_p, bsi_start,
12796 bsi_after_labels, bsi_last): Likewise.
12797 * tree-ssa-live.c (var_union, change_partition_var,
12798 create_ssa_var_map, calculate_live_on_entry, root_var_init,
12799 type_var_init, add_coalesce, sort_coalesce_list, pop_best_coalesce):
12800 Likewise.
12801 * tree-ssa-live.h (partition_is_global, live_entry_blocks,
12802 tpa_find_tree): Likewise.
12803 (register_ssa_partition_check): Declare.
12804 (register_ssa_partition): use it.
12805 * tree-ssa-live.c: Include errors.h.
12806 (register_ssa_partition_check): New.
12807 * tree-ssa-operands.c: Include errors.h.
12808 * Makefile.in (tree-ssa-operands.o): Depend on errors.h.
12809
c557edf4
RS
128102004-09-09 Richard Sandiford <rsandifo@redhat.com>
12811 Catherine Moore <clm@redhat.com>
12812
12813 * config/frv/frv-protos.h (FRV_CPU_FR550, FRV_CPU_FR450)
12814 (FRV_CPU_FR405): New processor enums.
12815 (frv_issue_rate, frv_acc_group): Declare.
12816 * config/frv/frv.h (CPP_SPEC, CPP_FRV_SPEC, CPP_FR500_SPEC): Delete.
12817 (CPP_FR400_SPEC, CPP_SIMPLE_SPEC): Delete.
12818 (MASK_DEFAULT_FR550, MASK_DEFAULT_FR450): New macros.
12819 (SUBTARGET_EXTRA_SPECS, EXTRA_SPECS, CPP_CPU_DEFAULT_SPEC): Delete.
12820 (TARGET_CPU_CPP_BUILTINS): Define the macros that were previously
12821 handled by CPP_SPEC.
12822 (MASK_LONG_CALLS, TARGET_LONG_CALLS): New macros.
12823 (MASK_ALIGN_LABELS, TARGET_ALIGN_LABELS): New macros.
12824 (ACC_MASK): New macro.
12825 (TARGET_MEDIA_REV2): Include FRV_CPU_{FR405,FR450,FR550}.
12826 (TARGET_MEDIA_FR450): New macro.
12827 (TARGET_FR500_FR550_BUILTINS, TARGET_FR405_BUILTINS): New macros.
12828 (TARGET_SWITCHES): Add -m{no-,}align-labels and -m{no-,}long-calls.
12829 (LABEL_ALIGN_AFTER_BARRIER): Define.
12830 (ACC_LAST, ACCG_LAST): Add four new accumulator registers.
12831 (IACC_FIRST, IACC_LAST): New pair of SPRs.
12832 (ACCG_FIRST, AP_FIRST, SPR_FIRST, SPR_LAST): Adjust accordingly.
12833 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER)
12834 (REGISTER_NAMES): Add entries for new registers.
12835 (REG_CLASS_CONTENTS): Update for new register ranges.
12836 (EXTRA_CONSTRAINT_FOR_S): Redefine in terms of call_operand.
12837 (ISSUE_RATE, CLEAR_VLIW_START, SET_VLIW_START): Delete.
12838 (PACKING_FLAG_USED_P): Delete.
12839 (FRV_BUILTIN_MQLCLRHS, FRV_BUILTIN_MQLMTHS, FRV_BUILTIN_MQSLLHI)
12840 (FRV_BUILTIN_MQSRAHI, FRV_BUILTIN_SMUL, FRV_BUILTIN_UMUL)
12841 (FRV_BUILTIN_PREFETCH0, FRV_BUILTIN_PREFETCH, FRV_BUILTIN_SMASS)
12842 (FRV_BUILTIN_SMSSS, FRV_BUILTIN_SMU, FRV_BUILTIN_SCUTSS)
12843 (FRV_BUILTIN_ADDSS, FRV_BUILTIN_SUBSS, FRV_BUILTIN_SLASS)
12844 (FRV_BUILTIN_IACCread{l,ll}, FRV_BUILTIN_IACCset{ll,l})
12845 (FRV_BUILTIN_SCAN): New members of frv_builtin_enum.
12846 (FRV_BUILTIN_FIRST_NONMEDIA): New macro.
12847 (CPU_UNITS_QUERY): Define to 1.
12848 * config/frv/frv.c: Include gt-frv.h
12849 (NUM_NOP_PATTERNS, NTH_UNIT, UNIT_NUMBER, PACKING_FLAG_P): New macros.
12850 (SET_PACKING_FLAG, CLEAR_PACKING_FLAG, FOR_EACH_REGNO): New macros.
12851 (frv_insn_group): New enumeration.
12852 (frv_unit_names, frv_unit_groups, frv_unit_codes): New variables.
12853 (frv_type_to_unit, frv_nops, frv_num_nops): New variables.
12854 (REGSTATE_DEAD, REGSTATE_LIVE, REGSTATE_UNUSED, REGSTATE_MASK)
12855 (REGSTATE_CONDJUMP): Delete. Shuffle other numbers to cover the
12856 gap left by REGSTATE_LIVE.
12857 (regstate_t): New typedef.
12858 (TARGET_MACHINE_DEPENDENT_REORG): Define.
12859 (frv_default_flags_for_cpu): Handle FRV_CPU_{FR550,FR450,FR405}.
12860 (frv_override_options): Check for -mcpu={fr550,fr450,fr405}.
12861 Initialize frv_unit_codes[] and frv_type_to_unit[].
12862 (frv_conditional_register_usage): Remove redundant fixing of
12863 accumulator registers.
12864 (frv_insn_packing_flag): Update specification.
12865 (frv_function_prologue): Don't set frv_insn_packing_flag here.
12866 Zero out frv_nops[].
12867 (frv_expand_epilogue): Remove comments about the no-longer-present
12868 SIBCALL_P argument.
12869 (frv_asm_output_mi_thunk): Check frv_issue_rate() rather than
12870 PACKING_FLAG_USED_P() when deciding whether to pack instructions.
12871 (frv_asm_output_opcode, frv_final_prescan_insn): Simplify in light
12872 of the new meaning of frv_insn_packing_flag. Emit an mnop.p if
12873 packing is disabled and if INSN can only issue to M1.
12874 (call_operand): Check TARGET_LONG_CALLS.
12875 (acc_operand, even_acc_operand, quad_acc_operand)
12876 (accg_operand): Simplify. Don't accept pseudo registers.
12877 (output_move_single): Handle SPR<-zero moves.
12878 (frv_issue_rate): Make non-static. Handle FRV_CPU_{FR550,FR450,FR405}.
12879 (frv_registers_update, frv_registers_used_p): Delete.
12880 (frv_registers_set_p): Delete.
12881 (frv_acc_group_1, frv_acc_group, frv_insn_unit): New functions.
12882 (frv_issues_to_branch_unit_p): New function.
12883 (frv_packet): New structure.
12884 (frv_cond_flags, frv_regstate_conflict_p): New functions.
12885 (frv_registers_conflict_p_1, frv_registers_conflict_p): New functions.
12886 (frv_registers_update_1, frv_registers_update): New functions.
12887 (frv_start_packet, frv_start_packet_block, frv_finish_packet)
12888 (frv_pack_insn_p, frv_add_insn_to_packet, frv_insert_nop_in_packet)
12889 (frv_for_each_packet, frv_sort_insn_group_1, frv_compare_insns)
12890 (frv_sort_insn_group, frv_reorder_packet): New functions.
12891 (frv_pack_insns): Use frv_reorder_packet.
12892 (frv_packet_address): New variable.
12893 (frv_fill_unused_units, frv_align_label, frv_reorg_packet)
12894 (frv_register_nop, frv_reorg): New functions.
12895 (bdesc_1arg): Add __SCUTSS.
12896 (bdesc_2arg): Add __MQLCLRHS, __MQLMTHS, __SMUL, __UMUL, __ADDSS,
12897 __SUBSS, __SLASS and __SCAN.
12898 (bdesc_2argimm): Add __MQSLLHI and __MQSRAHI.
12899 (bdesc_int_void2arg, bdesc_prefetches): New arrays.
12900 (frv_init_builtins): Register the above builtins.
12901 (frv_int_to_acc): Use ACC_MASK to check for valid accumulator
15072eb1 12902 registers. Turn the referenced accumulators into global registers.
c557edf4
RS
12903 (frv_read_iacc_argument): New function.
12904 (frv_expand_int_void2arg, frv_expand_prefetches): New functions.
12905 (frv_split_iacc_move): New function.
12906 (frv_expand_builtin): Handle the new builtins.
12907 * config/frv/frv.md: Replace old schedulers with new order-independent
12908 ones. Add schedulers for the FR405, FR450 and FR550. Describe new
12909 packing algorithm.
12910 (cpu): Add fr550, fr450 and fr405.
12911 (type): Add macc, scan, cut, fnop, fscmp, fdcmp, mnop, mqlimh and
12912 mqshift. Replace fmas with fsmadd and fmad with fdmadd. Delete m7.
12913 (*muladd[sd]f4, *mulsub[sd]f4): Fix types.
12914 (*cmp[sd]f_cc_fp): Use new f[sd]cmp types.
12915 (fnop, mnop): New patterns.
12916 (UNSPEC_MQLCLRHS, UNSPEC_MQLMTHS, UNSPEC_MQSLLHI, UNSPEC_MQSRAHI):
12917 New constants.
12918 (mexpdhw, *cond_exec_mexpdhw): Fix destination operands.
12919 (mclracca8): Use ACC_MASK to determine the upper set of accumulator
12920 registers.
12921 (mqlclrhs, mqlmths, mqsllhi, mqsrahi): New patterns.
12922 (UNSPEC_SMUL, UNSPEC_UMUL, UNSPEC_SMU, UNSPEC_ADDSS, UNSPEC_SUBSS)
12923 (UNSPEC_SLASS, UNSPEC_SCAN, UNSPEC_INTSS, UNSPEC_SCUTSS)
12924 (UNSPEC_PREFETCH0, UNSPEC_PREFETCH, UNSPEC_IACCreadll)
12925 (UNSPEC_IACCreadl, UNSPEC_IACCsetll, UNSPEC_IACCsetl, UNSPEC_SMASS)
12926 (UNSPEC_SMSSS, UNSPEC_IMUL, IACC0_REG): New constants.
12927 (smul, umul, smass, smsss, smu, addss, subss, slass, scan, scutss)
12928 (frv_prefetch0, frv_prefetch): New patterns.
12929 * config/frv/t-frv (MULTILIB_OPTIONS): Remove -mcpu=frv and
12930 -mcpu=simple. Add -mcpu=fr550.
12931 (MULTILIB_DIRNAMES): Update accordingly.
12932 (MULTILIB_MATCHES): Use the fr400 multilibs for -mcpu=fr405 and
12933 -mcpu=fr450.
12934 * doc/invoke.texi: Document the new -mcpu={fr550,fr450,fr405},
12935 -mlong-calls and -malign-labels options for FR-V.
12936
deb176fa
JM
129372004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
12938
12939 PR c/8420
12940 * c-tree.h (struct c_declspecs): New.
12941 (struct c_declarator, struct c_type_name, struct c_parm): Update
12942 element types.
12943 (build_array_declarator, grokfield, shadow_tag, shadow_tag_warned,
12944 start_function, start_decl, build_c_parm,
12945 make_pointer_declarator): Update prototypes.
12946 (build_null_declspecs, declspecs_add_qual, declspecs_add_type,
12947 declspecs_add_scspec, declspecs_add_attrs): New.
12948 (split_specs_attrs): Remove.
12949 * c-parse.in (%union): Add dsptype.
12950 (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
12951 declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
12952 declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
12953 declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
12954 declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
12955 declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
12956 declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
12957 declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
12958 declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
12959 declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
12960 maybe_type_quals_attrs): Change to dsptype.
12961 (struct c_declspec_stack): New.
12962 (current_declspecs, declspec_stack): Change type.
12963 (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): Update to new
12964 structures.
12965 (extdefs): Likewise.
12966 (setspecs): Likewise.
12967 (fndef): Use current_declspecs for empty declspecs list.
12968 (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
12969 declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
12970 declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
12971 declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
12972 declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
12973 declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
12974 declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
12975 declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea): Update to new
12976 structures and helper functions. Update comments.
12977 (typespec_nonattr): Correct comment.
12978 (maybe_type_quals_attrs, typename): Update to new structures.
12979 * c-decl.c (grokdeclarator, build_array_declarator, grokfield,
12980 shadow_tag, shadow_tag_warned, start_function, start_decl,
12981 build_c_parm, make_pointer_declarator,
12982 set_array_declarator_inner, groktypename): Update to new
12983 structures.
12984 (build_null_declspecs, declspecs_add_qual, declspecs_add_type,
12985 declspecs_add_scspec, declspecs_add_attrs): New.
12986 (split_specs_attrs): Remove.
12987 (shadow_tag_warned): Make warning for useless type names a
12988 pedwarn. Give hard error for long, short, signed, unsigned or
12989 _Complex used with struct, union or enum in empty declaration.
12990 Make found_tag a bool.
12991 (grokdeclarator): Remove checks now done at parse time.
12992
f8893e47
JM
129932004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
12994
12995 * c-tree.h (enum c_declarator_kind, struct c_arg_info, struct
12996 c_declarator, struct c_type_name, struct c_parm): New.
12997 (build_array_declarator, set_array_declarator_inner,
12998 get_parm_info, grokfield, groktypename, grokparm, push_parm_decl,
12999 start_function, start_decl, build_c_parm, build_attrs_declarator,
13000 build_function_declarator, make_pointer_declarator, c_cast_expr,
13001 store_parm_decls_newstyle, c_expr_sizeof_type): Update prototypes.
13002 (build_id_declarator): New.
13003 * c-typeck.c (c_cast_expr, c_expr_sizeof_type): Update to new
13004 structures.
13005 * c-decl.c (ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES,
13006 ARG_INFO_OTHERS): Remove.
13007 (build_id_declarator): New.
13008 (build_array_declarator, set_array_declarator_inner, groktypename,
13009 start_decl, grokparm, push_parm_decl, grokparms, get_parm_info,
13010 grokfield, start_function, store_parm_decls_newstyle,
13011 store_parm_decls_oldstyle, store_parm_decls,
13012 build_c_parm, build_attrs_declarator, build_function_declarator,
13013 make_pointer_declarator, grokdeclarator): Update to new
13014 structures.
13015 * c-parse.in (%union): Add arginfotype, dtrtype, typenametype and
13016 parmtype.
13017 (declarator, notype_declarator, after_type_declarator,
13018 parm_declarator, parm_declarator_starttypename,
13019 parm_declarator_nostarttypename, array_declarator, typename,
13020 absdcl, absdcl1, absdcl1_ea, absdcl1_noea, direct_absdcl1,
13021 absdcl_maybe_attribute, parm, firstparm, parms, parmlist,
13022 parmlist_1, parmlist_2, parmlist_or_identifiers,
13023 parmlist_or_identifiers_1): Use these types.
13024 (primary, after_type_declarator, parm_declarator_starttypename,
13025 notype_declarator, component_decl, component_declarator,
13026 component_notype_declarator, typename, absdcl,
13027 absdcl_maybe_attribute, absdcl1_ea, direct_absdcl1, parmlist_1,
13028 parmlist_2, parmlist_or_identifiers_1): Update to new structures.
13029
bc4b653b
JM
130302004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
13031
13032 * c-tree.h (C_DECL_USED, parser_obstack, in_alignof, in_sizeof,
13033 in_typeof, record_maybe_used_decl, pop_maybe_used,
13034 c_expr_sizeof_expr, c_expr_sizeof_type): New.
13035 * c-decl.c (parser_obstack): New.
13036 (c_init_decl_processing): Initialize parser_obstack.
13037 (c_write_global_declarations_1): Check for used but undefined
13038 static functions.
13039 * c-parse.in (%union): Add otype.
13040 (save_obstack_position): New.
13041 (extdefs): Use it.
13042 (unary_expr): Update in_sizeof and in_alignof. Use
13043 c_expr_sizeof_expr and c_expr_sizeof_type.
13044 (sizeof): Update in_sizeof.
13045 (alignof): Update in_alignof.
13046 (typeof): Update in_typeof.
13047 (typespec_nonreserved_nonattr): Call pop_maybe_used.
13048 * c-typeck.c (in_alignof, in_sizeof, in_typeof, struct
13049 maybe_used_decl, maybe_used_decls, record_maybe_used_decl,
13050 pop_maybe_used, c_expr_sizeof_expr, c_expr_sizeof_type): New.
13051 (build_external_ref): Set C_DECL_USED or call
13052 record_maybe_used_decl if appropriate.
13053 * toplev.c (check_global_declarations): Check TREE_NO_WARNING.
13054
f838cd94
EC
130552004-09-08 Eric Christopher <echristo@redhat.com>
13056
13057 * builtins.c: Fix prototype for fold_builtin_atan.
13058
667bbbbb
EC
130592004-09-08 Eric Christopher <echristo@redhat.com>
13060
13061 * builtins.c (fold_builtin_strlen, fold_builtin_sqrt, fold_builtin_cbrt,
13062 fold_builtin_pow, fold_builtin_sin, fold_builtin_cos, fold_builtin_tan,
13063 fold_builtin_atan): New functions. Migrate function bodies...
13064 (fold_builtin_1): ... from here.
13065
64045029
AM
130662004-09-09 Alan Modra <amodra@bigpond.net.au>
13067
13068 * config/rs6000/rs6000.c (rs6000_stack_info): Correct alignment of
13069 save_size.
13070
f0259218
DE
130712004-09-08 David Edelsohn <edelsohn@gnu.org>
13072
13073 * config/rs6000/power4.md (power4-lmul): du4 feeds iu1.
13074 * config/rs6000/power5.md (power5-lmul): Same.
13075
609c3937
RH
130762004-09-08 Richard Henderson <rth@redhat.com>
13077
13078 PR rtl-opt/17186
13079 * function.c (expand_function_end): Have fall-off-the-end
13080 return path jump around return register setup.
13081
4e5b002b
EB
130822004-09-08 Eric Botcazou <ebotcazou@libertysurf.fr>
13083
13084 * config/sparc/sparc.c (sparc_indent_opcode): New variable.
13085 (output_return): Do not test for the presence of the 'unimp' insn.
13086 Use 'current_function_uses_only_leaf_regs' and 'final_sequence'
13087 as predicates instead of custom ones. Return raw strings when
13088 possible.
13089 (output_sibcall): Likewise. Concatenate strings.
13090 (output_ubranch): Remove kludge for TurboSPARC.
13091 (output_cbranch): Remove 'noop' parameter. Do not output 'nop'.
13092 (output_v9branch): Likewise.
13093 (print_operand): Use 'final_sequence' instead of 'dbr_sequence_length'.
13094 <#>: Set sparc_indent_opcode if the delay slot is filled.
13095 <(>: Likewise.
13096 <)>: New operand to emit the displacement from the saved PC on return.
13097 <@>: Remove.
13098 * config/sparc/sparc.h (sparc_indent_opcode): Declare it.
13099 (ASM_OUTPUT_OPCODE): New macro.
13100 (PRINT_OPERAND_PUNCT_VALID_P): Remove '^' and add ')'.
13101 * config/sparc/sparc.md (normal_branch, inverted_branch,
13102 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
13103 inverted_fpe_branch): Adjust call to output_cbranch.
13104 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust
13105 call to output_v9branch.
13106 * config/sparc/sparc-protos.h (output_cbranch): Adjust.
13107 (output_v9branch): Likewise.
13108
5826770c
DP
131092004-09-08 Devang Patel <dpatel@apple.com>
13110
13111 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -segaddr,
13112 -segs_read_only_addr and -segs_read_write_addr.
13113 (WORD_SWITCH_TAKES_ARG): Same.
13114 (LINK_SPEC): Same.
13115 * doc/invoke.texi: Document -segaddr, -segs_read_only_addr and
13116 -segs_read_write_addr.
13117
6cdd5672
RH
131182004-09-08 Richard Henderson <rth@redhat.com>
13119
13120 * function.c (reference_callee_copied): New.
13121 (assign_parm_setup_reg): Use it.
13122 * calls.c (initialize_argument_information): Likewise.
13123 (emit_library_call_value_1): Likewise.
13124 * function.h (reference_callee_copied): Declare.
13125
13126 * target.h (struct gcc_target): Add callee_copies.
13127 * target-def.h (TARGET_CALLEE_COPIES): New.
13128 (TARGET_PASS_BY_REFERENCE): Update default.
13129 * expr.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
13130 * targhooks.c (hook_callee_copies_named): New.
13131 (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Rename from
13132 hook_pass_by_reference_false.
13133 (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): New.
13134 * targhooks.h: Update decls.
13135 * config/arc/arc.c (TARGET_CALLEE_COPIES): New.
13136 * config/arc/arc.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
13137 * config/frv/frv-protos.h (frv_function_arg_callee_copies): Remove.
13138 * config/frv/frv.c (frv_function_arg_callee_copies): Remove.
13139 * config/frv/frv.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
13140 * config/iq2000/iq2000.c (TARGET_CALLEE_COPIES): New.
13141 * config/iq2000/iq2000.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
13142 * config/m68hc11/m68hc11.c (TARGET_CALLEE_COPIES): New.
13143 * config/m68hc11/m68hc11.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
13144 * config/mips/mips.c (TARGET_CALLEE_COPIES): New.
13145 (mips_callee_copies): New.
13146 * config/mips/mips.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
13147 * config/mmix/mmix.c (TARGET_CALLEE_COPIES): New.
13148 * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
13149 * config/mn10300/mn10300.c (TARGET_CALLEE_COPIES): New.
13150 * config/mn10300/mn10300.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
13151 * config/pa/pa.c (TARGET_CALLEE_COPIES): New.
13152 * config/pa/pa.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
13153 * config/sh/sh.c (sh_callee_copies): New.
13154 (TARGET_CALLEE_COPIES): New.
13155 * config/sh/sh.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
13156 * config/v850/v850.c (TARGET_CALLEE_COPIES): New.
13157 * config/v850/v850.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
13158 * doc/tm.texi (TARGET_CALLEE_COPIES): Replace documentation
13159 for FUNCTION_ARG_CALLEE_COPIES.
13160 * doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Update.
13161
7f7e0703
DP
131622004-09-08 Devang Patel <dpatel@apple.com>
13163
6cdd5672
RH
13164 * tree-if-conv.c (find_phi_replacement_condition): Return true
13165 edge block.
13166 (replace_phi_with_cond_modify_expr): Select conditional expr args
13167 based on true edge basic block.
667bbbbb 13168
ed7f7d85
JH
131692004-09-08 Jan Hubicka <jh@suse.cz>
13170
13171 * tree-ssa-operands.c (add_stmt_operand): Use V_MUST_DEF even for
13172 variables being alias set.
13173
0bccc606
NS
131742004-09-08 Nathan Sidwell <nathan@codesourcery.com>
13175
13176 * final.c (shorten_branches, final, get_insn_template,
13177 output_alternate_entry_point, final_scan_insn, alter_subreg,
13178 alter_cond, output_operand, asm_fprintf, final_forward_branch_p,
13179 leaf_renumber_regs_insn): Use gcc_assert and gcc_unreachable.
13180 * fix-header.c (lookup_std_proto): Likewise.
13181 * flow.c (first_insn_after_basic_block_note, verify_wide_reg,
13182 verify_local_live_at_start, update_life_info, mark_reg,
13183 calculate_global_regs_live, allocate_reg_life_data,
13184 init_propagate_block_info, mark_set_regs, flush_reg_cond_reg_1,
13185 ior_reg_cond, not_reg_cond, and_reg_cond, elim_reg_cond,
13186 attempt_auto_inc, mark_used_reg, mark_used_regs): Likewise.
13187 * fold-const.c (force_fit_type, div_and_round_double,
13188 may_negate_without_overflow_p, int_const_binop, const_binop,
13189 size_binop, size_diffop, fold_convert_const, fold_convert,
13190 invert_tree_comparison, swap_tree_comparison,
13191 comparison_to_compcode, compcode_to_comparison, invert_truthvalue,
13192 range_binop, make_range, fold_cond_expr_with_comparison,
13193 fold_div_compare, fold, fold_checksum_tree, fold_negate_const,
13194 fold_abs_const, fold_not_const, fold_relational_const, round_up,
13195 round_down): Likewise.
13196 * function.c (find_function_data, assign_stack_temp_for_type,
13197 instantiate_virtual_regs_lossage, aggregate_value_p,
13198 assign_parm_find_entry_rtl, assign_parm_setup_block,
13199 expand_function_start, expand_function_end, keep_stack_depressed,
13200 handle_epilogue_set, thread_prologue_and_epilogue_insns): Likewise.
13201
599eabdb
DB
132022004-09-08 Daniel Berlin <dberlin@dberlin.org>
13203
13204 * Makefile.in (tree-loop-linear.o): Added.
13205 (OBJS-common): Add tree-loop-linear.o
13206 * common.opt: New flag, ftree-loop-linear.
13207 * timevar.def: New timevar, TV_TREE_LOOP_LINEAR.
13208 * tree-flow.h: Add prototype for linear_transform_loops.
13209 * tree-optimize.c: Add linear transform after vectorization.
13210 * tree-pass.h: Add struct pass_linear_transform.
13211 * tree-ssa-loop.c: Add pass_linear_transform.
13212 * tree-loop-linear.c: New file.
13213 * lambda-code.c: gcc_assertify.
13214 (gcc_loop_to_lambda_loop): Handle all exit tests.
13215 Handle case where we have (invariant >= induction var).
13216 (find_induction_var_from_exit_cond): Ditto.
667bbbbb 13217
13f5595a
JZ
132182004-09-08 Jie Zhang <zhangjie@magima.com.cn>
13219
13220 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
13221 memory tag is call clobbered, so are its aliases.
13222 (group_aliases): When two memory tags being grouped, if one is
13223 call clobbered, so are the other and its aliases.
13224 (add_may_alias): Remove call-clobbering stuff.
13225 (replace_may_alias): Likewise.
13226 (merge_pointed_to_info): Merge pt_global_mem
13227
89480522
JH
132282004-09-08 Jan Hubicka <jh@suse.cz>
13229
13230 * cgraph.c (cgraph_remove_node): Free DECL_INITIAL field of node.
13231 * cgraphunit.c (verify_cgraph): Don't verify on syntax errors.
13232 (cgraph_expand_function): Remove stale cgraph edges of currently
13233 compiled function; fix non-unit-at-a-time code copying function
13234 node for later reuse.
13235
4c254e68
NS
132362004-09-08 Nathan Sidwell <nathan@codesourcery.com>
13237
13238 * vec.c (vec_p_reserve, vec_o_reserve): Rename to ...
13239 (vec_gc_p_reserve, vec_gc_o_reserve): ... here. Clone to
13240 (vec_heap_p_reserve, vec_heap_o_reserve): ... here, adjust.
13241 (vec_gc_free, vec_heap_free): New.
13242 * vec.h (DEF_VEC_GC_P, DEF_VEC_MALLOC_P): New.
13243 (DEF_VEC_P): Add allocator argument. Adjust.
13244 (DEF_VEC_GC_O, DEF_VEC_MALLOC_O): New.
13245 (DEF_VEC_O): Add allocator argument. Adjust.
13246 (VEC(free)): New.
13247
13248 * tree.h (tree): Define a GC'd vector.
13249 * lamba-code.c (lambda_loop): Likewise.
13250 * value-prof.h (histogram_value): Likewise.
4c254e68 13251
5b0264cb
NS
132522004-09-08 Nathan Sidwell <nathan@codesourcery.com>
13253
13254 * emit-rtl.c (immed_double_const): Use gcc_assert and gcc_unreachable.
13255 (gen_rtx_SUBREG, gen_reg_rtx, mark_user_reg, subreg_hard_regno,
13256 gen_lowpart_common, gen_highpart, gen_highpart_mode,
13257 subreg_highpart_offset, operand_subword, operand_subword_force,
13258 mem_expr_equal_p, set_mem_attributes_minus_bitpos,
13259 set_mem_alias_set, change_address_1, verify_rtx_sharing,
13260 copy_most_rtx, set_first_insn, set_last_insn, prev_cc0_setter,
13261 try_split, add_insn_after, add_insn_before, remove_insn,
13262 remove_unnecessary_notes, emit_insn_before, emit_jump_insn_before,
13263 emit_call_insn_before, emit_insn_after, emit_jump_insn_after,
13264 emit_call_insn_after, emit_insn, emit_jump_insn, emit_call_insn,
13265 set_unique_reg_note, emit, push_to_full_sequence, copy_insn_1,
13266 gen_const_vector_0, emit_copy_of_insn_after): Likewise.
13267 * et-forest.c (set_prev, set_next, et_check_occ_sanity,
13268 record_path_before_1, check_path_after_1, check_path_after): Likewise.
13269 * except.c (gen_eh_region, resolve_one_fixup_region,
13270 remove_unreachable_regions, convert_from_eh_region_ranges_1,
13271 add_ehl_entry, duplicate_eh_region_1, build_post_landing_pads,
13272 connect_post_landing_pads, sjlj_emit_function_exit,
13273 remove_exception_handler_label, remove_eh_handler,
13274 reachable_next_level, collect_one_action_chain,
13275 output_function_exception_table): Likewise.
13276 * explow.c (trunc_int_for_mode, copy_to_mode_reg,
13277 optimize_save_area_alloca, allocate_dynamic_stack_space,
13278 probe_stack_range, hard_function_value): Likewise.
13279 * expmed.c (mode_for_extraction, store_bit_field,
13280 store_fixed_bit_field, extract_bit_field, expand_shift,
13281 expand_mult_const, expand_mult, choose_multiplier,
13282 expand_mult_highpart, expand_divmod, emit_store_flag,
13283 do_cmp_and_jump): Likewise.
13284 * expr.c (convert_move, convert_modes, move_by_pieces,
13285 move_by_pieces_ninsns, move_by_pieces_1, emit_block_move,
13286 move_block_from_reg, gen_group_rtx, emit_group_load,
13287 emit_group_move, emit_group_store, use_reg, use_regs,
13288 can_store_by_pieces, store_by_pieces, store_by_pieces_1,
13289 emit_move_insn, emit_move_insn_1, emit_push_insn,
13290 expand_assignment, store_expr, count_type_elements,
13291 store_constructor, store_field, safe_from_p, expand_var,
13292 expand_expr_addr_expr, expand_expr_real_1, do_store_flag): Likewise.
13293
ced3f397
NS
132942004-09-08 Nathan Sidwell <nathan@codesourcery.com>
13295
13296 * dbxout.c (dbxout_type, dbxout_type_name, dbxout_symbol): Use
13297 gcc_assert and gcc_unreachable.
13298 * ddg.c (create_ddg_dependence, add_deps_for_def,
13299 add_deps_for_use, create_ddg, add_edge_to_ddg): Likewise.
13300 * df.c (df_ref_unlink, df_ref_record, df_uses_record,
13301 df_reg_def_chain_create, df_reg_use_chain_create, df_analyze,
13302 df_insn_delete, df_refs_reg_replace, df_ref_reg_replace,
13303 df_insns_modify, df_pattern_emit_before, df_bb_reg_live_start_p,
13304 df_bb_reg_live_end_p, df_bb_regs_lives_compare,
13305 df_bb_single_def_use_insn_find, dataflow_set_a_op_b,
13306 dataflow_set_copy, hybrid_search, diagnostic.c,
13307 diagnostic_build_prefix, diagnostic_count_diagnostic): Likewise.
13308 * dojump.c (do_jump): Likewise.
13309 * dominance.c (calc_dfs_tree_nonrec, calc_dfs_tree,
13310 compute_dom_fast_query, calculate_dominance_info,
13311 free_dominance_info, get_immediate_dominator,
13312 set_immediate_dominator, get_dominated_by,
13313 redirect_immediate_dominators, nearest_common_dominator,
13314 dominated_by_p, verify_dominators, recount_dominator,
13315 iterate_fix_dominators, add_to_dominance_info,
13316 delete_from_dominance_info): Likewise.
13317 * dwarf2asm.c (size_of_encoded_value, eh_data_format_name,
13318 dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
13319 dw2_force_const_mem, dw2_asm_output_encoded_addr_rtx): Likewise.
13320 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes, reg_save,
13321 initial_return_save, stack_adjust_offset, dwarf2out_stack_adjust,
13322 flush_queued_reg_saves, dwarf2out_frame_debug_expr,
13323 dwarf2out_frame_debug, dw_cfi_oprnd1_desc, output_cfi,
13324 output_call_frame_info, output_loc_operands, build_cfa_loc,
13325 decl_ultimate_origin, AT_flag, AT_int, AT_unsigned, AT_string,
13326 AT_string_form, add_AT_specification, AT_ref, set_AT_ref_external,
13327 AT_loc, AT_loc_list, AT_addr, AT_lbl, add_child_die,
13328 splice_child_die, attr_checksum, same_dw_val_p,
13329 break_out_includes, build_abbrev_table, size_of_die, mark_dies,
13330 unmark_dies, value_format, output_loc_list, output_die,
13331 output_pubnames, output_aranges, base_type_die, is_base_type,
13332 modified_type_die, dbx_reg_number, multiple_reg_loc_descriptor,
13333 mem_loc_descriptor, loc_descriptor, loc_descriptor_from_tree_1,
13334 field_byte_offset, add_data_member_location_attribute,
13335 add_const_value_attribute, rtl_for_decl_location,
13336 add_location_or_const_value_attribute, add_byte_size_attribute,
13337 add_bit_offset_attribute, add_bit_size_attribute,
13338 add_abstract_origin_attribute, pop_decl_scope, scope_die_for,
13339 decl_start_label, gen_formal_parameter_die,
13340 gen_type_die_for_member, gen_subprogram_die, gen_label_die,
13341 gen_typedef_die, gen_type_die, gen_tagged_type_instantiation_die,
13342 force_decl_die, force_type_die, gen_decl_die,
13343 dwarf2out_imported_module_or_decl, prune_unused_types_prune,
13344 dwarf2out_finish): Likewise.
13345
faaaf610
AT
133462004-09-08 Andreas Tobler <toa@pop.agri.ch>
13347
13348 * Makefile.in (builtins.o): Depend on tree-mudflap.h.
13349 * builtins.c: Include tree-mudflap.h.
13350
45c8c47f
UB
133512004-09-08 Uros Bizjak <uros@kss-loka.si>
13352
13353 * config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
13354 force operand 0.0 into register in XFmode. Also do not force
13355 operand 0.0 into register if !TARGET_CMOVE.
13356 * config/i386/i386.md (*cmpfp_0): Delete. Remove comment.
667bbbbb 13357 (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf): New patterns to
45c8c47f
UB
13358 implement ftst x87 instruction.
13359 (*fp_jcc_7): New insn pattern. Change corresponding split
13360 pattern to handle "general_operand" instead of
13361 "nonimmediate_operand".
13362
70d5fb1c
BE
133632004-09-08 Ben Elliston <bje@au.ibm.com>
13364
13365 * doc/rtl.texi (Insns): Document NOTE_INSN_FUNCTION_BEG.
13366
4882ad24
FCE
133672004-09-07 Frank Ch. Eigler <fche@redhat.com>
13368
13369 * builtins.c (std_gimplify_va_arg_expr): Mark INDIRECT_REF nodes
13370 generated from standard va_arg expansion.
13371 * tree-mudflap.c (mx_xform_derefs_1): Omit instrumentation from
13372 marked nodes.
13373 (mf_varname_tree, mf_file_function_line_tree): Add some support
13374 for column numbers if compiled with USE_MAPPED_LOCATION.
13375
06f624ba
ZL
133762004-09-07 Ziemowit Laski <zlaski@apple.com>
13377
13378 * c-decl.c (groktypename_in_parm_context): Remove function.
13379 * c-tree.h (groktypename_in_parm_context): Remove prototype.
13380
6408ef33
ZL
133812004-09-07 Ziemowit Laski <zlaski@apple.com>
13382
13383 * Makefile.in (c-parse.o): Depend on $(C_COMMON_H).
13384 * c-parse.in: Include c-common.h instead of objc-act.h.
13385 (ivar_decl_list, ivar_decls, ivar_decl, ivars, ivar_declarator,
13386 myparms, myparm): Remove %type declarations.
13387 (methodtype, optparms, OBJC_TYPE_QUAL, objc_quals, objc_qual,
13388 objc_typename, objc_try_catch_stmt, optellipsis): Add %type
13389 declarations.
13390 (objc_inherit_code, objc_public_flag): Remove.
13391 (typespec_nonreserved_nonattr): Call
13392 objc_get_protocol_qualified_type() instead of get_static_reference()
13393 and get_protocol_reference().
13394 (stmt_nocomp): Call grokparm() on @catch parameter.
13395 (objcdef): Move semantic action to objc_finish_implementation().
13396 (classdef): Move semantic action to objc_start_class_interface(),
13397 objc_continue_interface(), objc_finish_interface(),
13398 objc_start_class_implementation(), objc_continue_implementation(),
13399 objc_start_category_interface() and
13400 objc_start_category_implementation().
13401 (protocoldef): Move semantic actions to objc_start_protocol() and
13402 objc_finish_interface().
13403 (ivar_decl_list): Remove nonterminal.
13404 (visibility_spec): Move semantic actions to objc_set_visibility().
13405 (ivar_decls): Remove assignment to $$.
13406 (ivar_decl): Rephrase in terms of component_decl; call
13407 objc_add_instance_variable().
13408 (ivars, ivar_declarator): Remove nonterminals.
13409 (opt_semi): New nonterminal.
13410 (methodtype): Remove semantic actions.
13411 (methoddef): Move semantic actions to objc_set_method_type(),
13412 objc_start_method_definition() and objc_finish_method_definition().
13413 (methodproto): Move semantic actions to objc_set_method_type() and
13414 objc_add_method_declaration().
13415 (methoddecl): Use objc_typename instead of typename; move semantic
13416 actions to objc_build_method_signature().
13417 (optarglist, myxdecls, mydecl, myparms, myparm): Remove nonterminals.
13418 (optparmlist): Express in terms of optparms and optellipsis.
13419 (optparms, optellipsis, objc_qual, objc_quals, objc_typename): New
13420 nonterminals.
13421 (keyworddecl): Use objc_typename instead of typename.
13422 (rid_to_yy): Mark RID_IN, RID_OUT, RID_INOUT, RID_BYCOPY, RID_BYREF
13423 and RID_ONEWAY as returning OBJC_TYPE_QUAL to yyparse().
13424
8662eb14
AM
134252004-09-08 Alan Modra <amodra@bigpond.net.au>
13426
13427 * doc/tm.texi (MD_UNWIND_SUPPORT): Document.
13428 (MD_FALLBACK_FRAME_STATE_FOR): Update.
13429 * unwind-dw2.c (MD_UNWIND_SUPPORT): #include if defined.
13430 (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
13431 (MD_FROB_UPDATE_CONTEXT): Remove default.
13432 (uw_update_context_1): Instead #ifdef invocation.
13433 * config/ia64/unwind-ia64.c (MD_UNWIND_SUPPORT): #include if defined.
13434 (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
13435 * config/alpha/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Don't undef.
13436 (MD_UNWIND_SUPPORT): Undefine this instead.
13437 * config/i386/gnu.h: Likewise.
13438 * config/alpha/linux-unwind.h: New file, macro converted to
13439 function, extracted from..
13440 * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): ..this.
13441 (MD_UNWIND_SUPPORT): Define.
13442 * config/alpha/vms-unwind.h, config/alpha/vms.h: Likewise.
13443 * config/i386/linux-unwind.h, config/i386/linux.h,
13444 config/i386/linux64.h: Likewise.
13445 * config/ia64/linux-unwind.h, config/ia64/linux.h: Likewise.
13446 MD_HANDLE_UNWABI too.
13447 * config/mips/linux-unwind.h, config/mips/linux.h: Likewise.
13448 * config/pa/linux-unwind.h, config/pa/pa32-linux.h: Likewise.
13449 * config/rs6000/darwin-unwind.h, config/rs6000/darwin.h: Likewise.
13450 * config/s390/linux-unwind.h, config/s390/linux.h: Likewise.
13451 * config/sparc/linux-unwind.h, config/sparc/linux.h,
13452 config/sparc/linux64.h: Likewise.
13453 * config/sh/linux-unwind.h, config/sh/linux.h: Likewise, but merge
13454 SH_FALLBACK_FRAME_FLOAT_STATE into sh_fallback_frame_state.
13455 * config/rs6000/linux-unwind.h, config/rs6000/linux.h,
13456 config/rs6000/linux64.h: Likewise. Split out get_sigcontext
13457 function. Use ARG_POINTER_REGNUM for 32-bit temp reg too.
13458
c4817ba6
JH
134592004-09-07 Jan Hubicka <jh@suse.cz>
13460
ec666d23
JH
13461 * cse.c (fold_rtx): Avoid building of
13462 (CONST (MINUS (CONST_INT) (SYMBOL_REF)))
13463
c4817ba6
JH
13464 * tree-ssa-pre.c (grand_bitmap_obstack): New.
13465 (value_insert_into_set_bitmap, bitmap_set_new): Use the obstack.
13466 (init_pre): Initialize obstack.
13467 (fini_pre): Free obstack.
13468
9f0df97a
DD
134692004-09-07 David Daney <ddaney@avtrex.com>
13470
13471 * config.gcc: Added support for --with-divide=[breaks|traps] for
13472 mips targets.
13473 * config/mips/mips.h (MASK_DIVIDE_BREAKS): New target_flags bit.
13474 (TARGET_DIVIDE_TRAPS): New macro.
13475 (TARGET_SWITCHES): Added -mdivide-traps and -mdivide-breaks.
13476 (OPTION_DEFAULT_SPECS): Added --with-divide= support.
13477 * config/mips/mips.c (mips_idiv_insns): Generate proper count on
13478 GENERATE_DIVIDE_TRAPS.
13479 (mips_output_division): Emit conditional trap if
13480 GENERATE_DIVIDE_TRAPS is set.
13481 * doc/install.texi: Document --with-divide.
13482 * doc/invoke.texi: Document -mdivide-traps and -mdivide-breaks.
13483
9beb1c84
CT
134842004-09-07 Caroline Tice <ctice@apple.com>
13485
13486 * cfgrtl.c (rtl_verify_flow_info_1): Add new edge flag,
13487 EDGE_CROSSING, to flags test case.
667bbbbb 13488
1905940f
JH
134892004-09-07 Jan Hubicka <jh@suse.cz>
13490
13491 * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Deal with '<'
13492 class too.
13493
341c100f
NS
134942004-09-07 Nathan Sidwell <nathan@codesourcery.com>
13495
13496 * cfganal.c (flow_depth_first_order_compute, dfs_enumerate_from,
13497 cfgbuild.c, inside_basic_block_p, control_flow_insn_p,
13498 make_label_edge, make_edges, find_basic_blocks_1): Use gcc_assert
13499 or gcc_unreachable.
13500 * cfg.c (clear_edges, initialize_bb_rbi, compact_blocks,
13501 remove_edge, alloc_aux_for_blocks, free_aux_for_blocks,
13502 alloc_aux_for_edges, free_aux_for_edges): Likewise.
13503 * cfgcleanup.c (try_forward_edges,
13504 merge_blocks_move_predecessor_nojumps,
13505 merge_blocks_move_successor_nojumps): Likewise.
13506 * cfgexpand.c (expand_gimple_cond_expr,
13507 expand_gimple_tailcall): Likewise.
13508 * cfghooks.c (duplicate_block): Likewise.
13509 * cfglayout.c (record_effective_endpoints,
13510 insn_locators_initialize, change_scope, fixup_reorder_chain,
13511 verify_insn_chain, fixup_fallthru_exit_predecessor,
13512 duplicate_insn_chain, cfg_layout_finalize): Likewise.
13513 * cfgloopanal.c (check_irred): Likewise.
13514 * cfgloop.c (superloop_at_depth, flow_loops_free,
13515 flow_loop_entry_edges_find, flow_loops_find,
13516 flow_loop_outside_edge_p, get_loop_body,
13517 get_loop_body_in_dom_order, get_loop_body_in_bfs_order,
13518 get_loop_exit_edges, num_loop_branches, cancel_loop,
13519 verify_loop_structure): Likewise.
13520 cfgloopmanip.c (find_path, remove_path, loop_delete_branch_edge,
13521 duplicate_loop_to_header_edge, create_preheader,
13522 create_loop_notes): Likewise.
13523 * cfgrtl.c (delete_insn, try_redirect_by_replacing_jump,
13524 edirect_branch_edge, force_nonfallthru_and_redirect,
13525 rtl_split_edge, insert_insn_on_edge, commit_one_edge_insertion,
13526 commit_edge_insertions, commit_edge_insertions_watch_calls,
13527 purge_dead_edges, cfg_layout_redirect_edge_and_branch,
13528 cfg_layout_redirect_edge_and_branch_force,
13529 cfg_layout_merge_blocks, rtl_flow_call_edges_add): Likewise.
13530 * cgraph.c (cgraph_node, cgraph_create_edge, cgraph_remove_edge,
13531 cgraph_redirect_edge_callee, cgraph_global_info, cgraph_rtl_info,
13532 cgraph_varpool_node): Likewise.
13533 * cgraphunit.c (cgraph_finalize_function,
13534 cgraph_finalize_compilation_unit, cgraph_mark_functions_to_output,
13535 cgraph_expand_function, cgraph_remove_unreachable_nodes,
13536 cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
13537 cgraph_mark_inline, cgraph_expand_all_functions,
13538 cgraph_build_static_cdtor): Likewise.
13539 * combine.c (do_SUBST, try_combine, subst, combine_simplify_rtx,
13540 simplify_logical, distribute_notes, insn_cuid): Likewise.
13541 * conflict.c (conflict_graph_add, print_conflict): Likewise.
13542 * coverage.c (rtl_coverage_counter_ref, tree_coverage_counter_ref,
13543 coverage_checksum_string): Likewise.
13544 * cse.c (make_new_qty, make_regs_eqv, insert, invalidate,
13545 hash_rtx, exp_equiv_p, cse_basic_block, count_reg_usage,
13546 cse_cc_succs, cse_condition_code_reg): Likewise.
13547 * cselib.c (entry_and_rtx_equal_p, remove_useless_values,
13548 rtx_equal_for_cselib_p, wrap_constant, cselib_hash_rtx,
13549 new_cselib_val, cselib_subst_to_values, cselib_invalidate_regno,
13550 cselib_record_set): Likewise.
13551
6b094f38
JH
135522004-09-07 Jan Hubicka <jh@suse.cz>
13553
13554 * tree-ssa-loop-ivopts.c (iv_value): Avoid invalid sharing on niter.
13555
5212068f
NS
135562004-09-07 Nathan Sidwell <nathan@codesourcery.com>
13557
13558 * builtins.c (fold_builtin_strchr): Use build_int_cst, not
13559 fold_convert.
13560 (fold_builtin_strpbrk): Likewise.
13561 * expr.c (array_ref_low_bound): Likewise.
13562 * tree-scalar-evolution.c (chrec_is_positive, add_to_evolution_1,
13563 interpret_rhs_modify_expr, number_of_iterations_in_loop): Likewise.
13564 * tree-sra.c (generate_element_zero): Likewise.
13565 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
13566 * tree-ssa-loop-ivopts.c (determine_biv_step, idx_find_step,
13567 add_old_iv_candidates, add_iv_candidates): Likewise.
13568 * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
13569
366de0ce
NS
135702004-09-07 Nathan Sidwell <nathan@codesourcery.com>
13571
13572 * c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable.
13573 * c-common.c (c_type_hash, c_common_nodes_and_builtins,
13574 c_expand_expr, boolean_increment, nonnull_check_p,
13575 check_function_arguments_recurse, fold_offsetof_1): Likewise.
13576 * c-cppbuiltin.c (define__GNUC__, builtin_define_stdint_macros,
13577 builtin_define_type_max): Likewise.
13578 * c-decl.c (bind, pop_scope, merge_decls, pushdecl_top_level,
13579 implicit_decl_warning, builtin_function, build_compound_literal,
13580 complete_array_type, grokdeclarator, get_parm_info,
13581 start_function, store_parm_decls_oldstyle,
13582 c_write_global_declarations): Likewise.
13583 * c-format.c (get_constant, decode_format_attr,
13584 maybe_read_dollar_number, get_flag_spec, check_format_arg,
13585 check_format_types, format_type_warning,
13586 find_char_info_specifier_index, init_dynamic_asm_fprintf_info,
13587 init_dynamic_diag_info, handle_format_attribute): Likewise.
667bbbbb 13588 * c-gimplify.c (push_context, pop_context, finish_bc_block):
366de0ce
NS
13589 * c-lex.c (c_lex_with_flags, lex_string): Likewise.
13590 * c-objc-common.c (c_tree_printer): Likewise.
13591 * c-pch.c (pch_init): Likewise.
13592 * c-pragma.c (maybe_apply_pragma_weak): Likewise.
13593 * c-pretty-print.c (pp_c_tree_decl_identifier): Likewise.
13594 * c-typeck.c (c_incomplete_type_error, composite_type,
13595 common_pointer_type, common_type, same_translation_unit_p,
13596 tagged_types_tu_compatible_p, finish_init, pop_init_level,
13597 set_designator, set_nonincremental_init_from_string,
13598 process_init_element, c_finish_if_stmt): Likewise.
13599 * caller-save.c (init_caller_save, save_call_clobbered_regs,
13600 insert_restore, insert_save, insert_one_insn): Likewise.
13601 * calls.c (emit_call_1, compute_argument_block_size,
13602 precompute_arguments, expand_call, emit_library_call_value_1,
13603 store_one_arg): Likewise.
13604
e1bbfc5c
NS
136052004-09-07 Nathan Sidwell <nathan@codesourcery.com>
13606
13607 * configure.ac (enable-checking): Add release option. Reorganize
13608 to avoid repetition.
13609 * configure: Rebuilt.
13610 * doc/install.texi (enable-checking): Amend documentation.
13611
e64dc647
L
136122004-09-06 H.J. Lu <hongjiu.lu@intel.com>
13613
13614 PR bootstrap/17313
13615 * Makefile.in (specs.ready): Depend on cc1$(exeext).
13616
d3a583b1
JW
136172004-09-06 James E Wilson <wilson@specifixinc.com>
13618
cfd8e493
JW
13619 * config/mips/mips.md (movsf_hardfloat, movdf_hardfloat_64bit,
13620 movdf_hardfloat_32bit): Split fG into two alternatives.
13621 (movv2sf_hardfloat_64bit): Split fYG into two alternatives.
13622
d3a583b1
JW
13623 * emit-rtl.c (try_split): Check INSN_P before may_trap_p call.
13624
ff8cea7e
EB
136252004-09-06 Eric Botcazou <ebotcazou@libertysurf.fr>
13626
13627 * final.c (output_in_slot): Delete.
13628 (final_scan_insn): Revert 2004-09-03 change.
13629 (output_asm_insn): Likewise.
13630 * config/sparc/sparc.c (output_return): Likewise.
13631 (output_sibcall): Likewise.
13632
8679c649
JH
136332004-09-06 Jan Hubicka <jh@suse.cz>
13634
13635 * loop.c (loop_dump_aux): Do not print RTL when not available.
13636 * tree-ssa-loop-ivopts.c (add_standard_iv_candidates): Do not use
13637 frontend specific type nodes.
13638 (produce_memory_decl_rtl): Break out from ...
13639 (prepare_decl_rtl): ... here. Handle ADDR_EXPR correctly.
13640 (get_computation_at): Avoid random tree sharing.
13641 (tree_ssa_iv_optimize): Verify tree sharing; dump loops.
13642
93f8bd9e
ZW
136432004-09-06 Zack Weinberg <zack@codesourcery.com>
13644
13645 * Makefile.in (rtl.o, bitmap.o): Correct dependencies, remove
13646 unnecessary commands.
13647
c802a859
ME
136482004-09-06 Mohan Embar <gnustuff@thisiscool.com>
13649
13650 * Makefile.in (rtl.o): Remove -DGENERATOR_FILE.
13651 (bitmap.o): Likewise.
13652
9f8628ba
PB
136532004-09-06 Paolo Bonzini <bonzini@gnu.org>
13654
13655 Unify the management of RTL and tree-level dump files.
13656
13657 * cfgexpand.c (tree_expand_cfg): Fix incorrect comment.
13658 Don't print function name to the dump file, the pass manager
13659 would do this for us. Add code from the top of
13660 rest_of_compilation, up to the initial RTL dump.
13661 * passes.c (rest_of_handle_jump): Call fixup_tail_calls and
13662 close the DFI_sibling dump file.
13663 (rest_of_compilation): Don't do that here. Remove code up to the
13664 initial RTL dump.
13665 (init_optimization_passes): Remove.
13666 (pass_rest_of_compilation): Change pass name to NULL.
13667 * toplev.c (lang_dependent_init): Do not use an empty dump file prefix.
13668 Do not call init_optimization_passes.
13669 * toplev.h (init_optimization_passes): Remove.
13670
13671 * graph.c (print_rtl_graph_with_bb, clean_graph_dump_file,
13672 finish_graph_dump_file): Remove SUFFIX parameter.
13673 * graph.h (print_rtl_graph_with_bb, clean_graph_dump_file,
13674 finish_graph_dump_file): Likewise.
13675
13676 * tree-pass.h (struct tree_opt_pass): Add `letter' field.
13677 * cfgexpand.c (pass_expand): Adjust.
13678 * gimple-low.c (pass_lower_cf, pass_remove_useless_vars): Adjust.
13679 * passes.c (pass_rest_of_compilation): Adjust.
13680 * predict.c (pass_profile): Adjust.
13681 * tree-alias-common.c (pass_build_pta, pass_del_pta): Adjust.
13682 * tree-cfg.c (pass_build_cfg, pass_remove_useless_stmts,
13683 pass_split_crit_edges, pass_warn_function_return): Adjust.
13684 * tree-complex.c (pass_lower_vector_ssa, pass_pre_expand): Adjust.
13685 * tree-dfa.c (pass_referenced_vars): Adjust.
13686 * tree-eh.c (pass_lower_eh): Adjust.
13687 * tree-if-conv.c (pass_build_ssa): Adjust.
13688 * tree-into-ssa.c (pass_build_ssa): Adjust.
13689 * tree-mudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
13690 * tree-nomudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
13691 * tree-nrv.c (pass_nrv): Adjust.
13692 * tree-optimize.c (pass_gimple, pass_all_optimizations,
13693 pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
13694 pass_init_datastructures): Adjust.
13695 * tree-outof-ssa.c (pass_del_ssa): Adjust.
13696 * tree-profile.c (pass_tree_profile): Adjust.
13697 * tree-sra.c (pass_sra): Adjust.
13698 * tree-ssa-alias.c (pass_may_alias): Adjust.
13699 * tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Adjust.
13700 * tree-ssa-copyrename.c (pass_rename_ssa_copies): Adjust.
13701 * tree-ssa-dce.c (pass_dce, pass_cd_dce): Adjust.
13702 * tree-ssa-dom.c (pass_dominator): Adjust.
13703 * tree-ssa-dse.c (pass_dse): Adjust.
13704 * tree-ssa-forwprop.c (pass_forwprop): Adjust.
13705 * tree-ssa-if-conv.c (pass_if_conversion): Adjust.
13706 * tree-ssa-loop-ch.c (pass_ch): Adjust.
13707 * tree-ssa-loop.c (pass_loop, pass_loop_init, pass_lim,
13708 pass_loop_done, pass_complete_unroll, pass_iv_canon,
13709 pass_iv_optimize, pass_vectorize): Adjust.
13710 * tree-ssa-phiopt.c (pass_phiopt): Adjust.
13711 * tree-ssa-pre.c (pass_pre, pass_fre): Adjust.
13712 * tree-ssa.c (pass_redundant_phi, pass_early_warn_uninitialized,
13713 pass_late_warn_uninnitialized): Adjust.
13714 * tree-tailcall.c (pass_tail_recursion, pass_tail_calls): Adjust.
13715
13716 * Makefile.in (tree-dump.o): Add new dependencies.
13717 * cgraph.c (cgraph_remove_node): TDF_all -> TDF_tree_all.
13718 * cgraphunit.c (cgraph_preserve_function_body_p, cgraph_optimize):
13719 Likewise.
13720 * toplev.c (dump_file_name): New.
13721 * tree-dump.c (dump_enable_all): Add LETTER parameter.
13722 (struct dump_file_info): Add NUM and LETTER fields.
13723 (dump_files): Adjust and add RTL dump files.
13724 (dump_register): Add NUM and LETTER fields.
13725 (get_dump_file_name, dump_initialized_p, enable_rtl_dump_file): New.
13726 (dump_begin): Use get_dump_file_name.
13727 (dump_switch_p_1): Adjust call to dump_enable_all.
13728 * tree-dump.h (dump_register): Adjust prototype.
13729 * tree-optimize.c (register_one_dump_file): Take dump file index.
13730 Support flags for RTL dumps.
13731 (register_dump_files): Fill in NUM field of struct dump_file_info.
13732 Track properties both when the gate is executed and when it is not.
13733 (execute_todo): Dump RTL. Add PROPERTIES parameter.
13734 (execute_one_pass): Pass properties to execute_todo. Handle VCG
13735 dumps of RTL.
13736 * tree-pass.h (dump_file_name): New.
13737 * tree.h (TDF_TREE, TDF_RTL, get_dump_file_name, dump_initialized_p):
13738 New.
13739
13740 * Makefile.in (passes.o): Add new dependencies.
13741 * passes.c (struct dump_file_info, enum dump_file_index,
13742 dump_file_tbl, init_optimization_passes): Remove.
13743 (open_dump_file, close_dump_file): Use tree-dumping infrastructure.
13744 (rest_of_handle_new_regalloc, rest_of_handle_old_regalloc): Use
13745 dump_enabled_p.
13746 (finish_optimization_passes): Update finish_graph_dump_file loop.
13747 (enable_rtl_dump_file): Remove.
13748 * tree-dump.c (dump_files): Adjust and add RTL dump files.
13749 (enable_rtl_dump_file): Add here.
13750 * tree.h (enum tree_dump_index): Add RTL dump file indices.
13751 * doc/invoke.texi (Debugging options): Document new RTL debugging
13752 options. Update.
13753
8c27b7d4
KH
137542004-09-05 Kazu Hirata <kazu@cs.umass.edu>
13755
13756 * c-common.c, c-decl.c, combine.c, defaults.h, fold-const.c,
13757 gimplify.c, gthr-nks.h, hooks.c, lambda-code.c, lambda-mat.c,
13758 stor-layout.c, target.h, tree-cfg.c, tree-chrec.c,
13759 tree-if-conv.c, tree-inline.c, tree-into-ssa.c,
13760 tree-mudflap.c, tree-optimize.c, tree-scalar-evolution.c,
13761 tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dce.c,
13762 tree-ssa-pre.c, tree-vectorizer.c, tree-vectorizer.h, tree.h,
13763 vec.h: Fix comment formatting.
13764
2a7e31df
KH
137652004-09-05 Kazu Hirata <kazu@cs.umass.edu>
13766
13767 * c-common.c, cfgexpand.c, cgraphunit.c, defaults.h,
13768 et-forest.c, expr.c, gimplify.c, global.c, gthr-lynx.h,
13769 hard-reg-set.h, modulo-sched.c, optabs.c, postreload-gcse.c,
13770 tree-data-ref.c, tree-flow.h, tree-if-conv.c, tree-inline.c,
13771 tree-sra.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
13772 tree-ssa-loop-niter.c, tree-ssa-operands.c,
13773 tree-ssa-operands.h, tree-ssa-propagate.c,
13774 tree-ssa-propagate.h, tree-ssa-threadupdate.c, value-prof.c,
13775 vec.c, vec.h: Fix comment typos. Follow spelling conventions.
13776
2addf926
DN
137772004-09-05 Diego Novillo <dnovillo@redhat.com>
13778
13779 * tree-if-conv.c (gate_tree_if_conversion): Enable only if the
13780 vectorizer is enabled.
13781
61b5f210
AJ
137822004-09-05 Andreas Jaeger <aj@suse.de>
13783
13784 * tree-if-conv.c: Spell check comments and clean up whitespace.
13785
8b11a64c
ZD
137862004-09-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13787
13788 * tree-ssa-loop-ivopts.c: New file.
13789 * Makefile.in (tree-ssa-loop-ivopts.c): Add.
13790 * cfgloop.h (target_avail_regs, target_res_regs, target_small_cost,
13791 target_pres_cost, target_spill_cost): Declare.
13792 * cfgloopanal.c (avail_regs, res_regs, small_cost, pres_cost,
13793 spill_cost): Renamed to ...
13794 (target_avail_regs, target_res_regs, target_small_cost,
13795 target_pres_cost, target_spill_cost): ... and exported.
13796 (init_set_costs, global_cost_for_size): Work with renamed variables.
13797 * common.opt (flag_ivopts): New flag.
13798 * expr.c (expand_expr_real_1): Handle SSA_NAME case. Handle
13799 REF_ORIGINAL.
13800 * gimplify.c (struct gimplify_ctx): Add into_ssa field.
13801 (internal_get_tmp_var, gimplify_modify_expr, gimplify_expr): Support
13802 generating SSA form.
13803 (force_gimple_operand): New function.
13804 * timevar.def (TV_TREE_LOOP_IVOPTS): New timevar.
13805 * tree-cfg.c (stmt_bsi): New function.
13806 * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
13807 PARAM_IV_MAX_CONSIDERED_USES): New.
13808 * tree-flow.h (stmt_bsi, tree_ssa_iv_optimize, split_loop_exit_edge,
13809 bsi_insert_on_edge_immediate_loop. standard_iv_increment_position,
13810 ip_end_pos, ip_normal_pos, force_gimple_operand): Declare.
13811 * tree-gimple.c (is_gimple_formal_tmp_var): Accept ssa names.
13812 * tree-nested.c (build_addr): Export.
13813 * tree-optimize.c (init_tree_optimization_passes): Add
13814 pass_iv_optimize.
13815 * tree-pass.h (pass_iv_optimize): Declare.
13816 * tree-ssa-loop-im.c (for_each_index): Handle REALPART_EXPR and
13817 IMAGPART_EXPR.
13818 * tree-ssa-loop-manip.c (create_iv): Force the base to be acceptable
13819 as a phi node argument.
13820 (split_loop_exit_edge, bsi_insert_on_edge_immediate_loop,
13821 ip_end_pos, ip_normal_pos, standard_iv_increment_position): New
13822 functions.
13823 * tree-ssa-loop-niter.c (zero_p, unsigned_type_for): Export.
13824 * tree-ssa-loop.c (tree_ssa_loop_ivopts, gate_tree_ssa_loop_ivopts,
13825 pass_iv_optimize): New pass.
13826 * tree-ssa-operands.c (get_indirect_ref_operands): Handle REF_ORIGINAL.
13827 * tree-ssanames.c (release_ssa_name): Allow calling with var = NULL.
13828 * tree.c (build_int_cst_type, cst_and_fits_in_hwi): New functions.
13829 * tree.h (REF_ORIGINAL): New macro.
13830 (build_int_cst_type, unsigned_type_for, zero_p,
13831 cst_and_fits_in_hwi, build_addr): Declare.
13832 * doc/invoke.texi (-fivopts): Document.
13833 (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
13834 PARAM_IV_MAX_CONSIDERED_USES): Document.
13835 * doc/passes.texi: Document induction variable optimizations pass.
13836
254986c7
KG
138372004-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13838
13839 * builtin-attrs.def (ATTR_NOTHROW_SENTINEL_1): New.
13840 * builtins.def (BUILT_IN_EXECLE): Set ATTR_NOTHROW_SENTINEL_1.
13841 * c-common.c (c_common_attribute_table): Accept parameters to
13842 sentinel attribute.
13843 (check_function_sentinel, handle_sentinel_attribute): Likewise.
13844 * doc/extend.texi: Update accordingly.
13845
3d091dac
KG
138462004-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13847
13848 * builtin-attrs.def (ATTR_SENTINEL, ATTR_SENTINEL_NOTHROW_LIST):
13849 New.
13850 * builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP): Add `sentinel'
13851 attribute.
13852 * c-common.c (handle_sentinel_attribute, check_function_sentinel):
13853 New functions.
13854 (c_common_attribute_table): Add `sentinel' attribute.
13855 (check_function_arguments): Handle `sentinel' attribute.
13856 * doc/extend.texi: Document `sentinel' attribute.
8f1529e6 13857
44269c40 138582004-09-04 H.J. Lu <hongjiu.lu@intel.com>
a60749f5 13859
3d091dac
KG
13860 * configure: Regenerated.
13861
44269c40
KG
138622004-09-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13863
875803a0
RK
13864 * gimplify.c (internal_get_tmp_var): Remove unused var CLASS.
13865
c51c248f
RK
13866 * tree.c (save_expr): No longer TREE_READONLY.
13867
8d168c24
JH
138682004-09-04 Jan Hubicka <jh@suse.cz>
13869
13870 * passes.c (rest_of_clean_state): Fix merge conflict made during
13871 commiting the patch.
13872
0a9aeefd
JH
138732004-09-04 Jan Hubicka <jh@suse.cz>
13874
13875 * passes.c (rest_of_clean_state): Decompose the instruction stream.
13876
273a2526
RS
138772004-09-04 Richard Sandiford <rsandifo@redhat.com>
13878
13879 * doc/md.texi (shift patterns): New anchor. Add reference to
13880 TARGET_SHIFT_TRUNCATION_MASK.
13881 * doc/tm.texi (TARGET_SHIFT_TRUNCATION_MASK): Document.
13882 * target.h (shift_truncation_mask): New target hook.
13883 * targhook.h (default_shift_truncation_mask): Declare.
13884 * targhook.c (default_shift_truncation_mask): Define.
13885 * target-def.h (TARGET_SHIFT_TRUNCATION_MASK): Define.
13886 (TARGET_INITIALIZER): Include it.
13887 * simplify-rtx.c (simplify_binary_operation): Combine ASHIFT, ASHIFTRT
13888 and LSHIFTRT cases. Truncate arg1 if SHIFT_COUNT_TRUNCATED, otherwise
13889 reject all out-of-range values. Fix sign-extension code for modes
13890 whose width is smaller than HOST_BITS_PER_WIDE_INT.
13891 * optabs.c (simplify_expand_binop, force_expand_binop): New functions.
13892 (expand_superword_shift, expand_subword_shift): Likewise.
13893 (expand_doubleword_shift_condmove, expand_doubleword_shift): Likewise.
13894 (expand_binop): Use them to implement double-word shifts.
13895 * config/arm/arm.c (arm_shift_truncation_mask): New function.
13896 (TARGET_SHIFT_TRUNCATION_MASK): Define.
13897
caf29de7
JH
138982004-09-04 Jan Hubicka <jh@suse.cz>
13899
13900 * tree.c (iterate_hash_expr): Optimize, avoid use of iterative_hash_object.
13901 (mix): New macro copied from hashtab.c
13902 (iterative_hash_hashval_t, iterative_hash_pointer,
13903 iterative_hash_host_wide_int): New functions based on hashtab.c
13904 implementation.
13905
e83adf94
RS
139062004-09-04 Richard Sandiford <rsandifo@redhat.com>
13907
13908 * config/mips/mips.md (mask): New mode attribute.
13909 (zero_extendsidi2): Add memory alternative.
13910 (*zero_extendsidi2_mem): Delete.
13911 (zero_extend[qh]i[sd]i2): Redefine using :GPR and :SHORT. Use
13912 memory_operand in the TARGET_MIPS16 check.
13913 (*zero_extend[qh]i[sd]i2{,_mips16}): Name previously unnamed patterns.
13914 Redefine using :GPR and :SHORT.
13915 (zero_extendqihi2): Use memory_operand in the TARGET_MIPS16 check.
13916
edeacc14
UB
139172004-09-04 Uros Bizjak <uros@kss-loka.si>
13918
13919 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_RINT{,F,L}
13920 using rint_optab.
13921 (expand_builtin): Expand BUILT_IN_RINT{,F,L} using
13922 expand_builtin_mathfn.
13923 * genopinit.c (optabs): Rename trunc_optab to btrunc_optab. Use
13924 btrunc?f patterns for btrunc_optab. Implement rint_optab using
13925 rint?f patterns.
13926 * optabs.c (init_optabs): Initialize rint_optab.
13927 * optabs.h (enum optab_index): Rename OTI_trunc to OTI_btrunc.
13928 Add new OTI_rint.
13929 (btrunc_optab): Rename macro from trunc_optab.
13930 (rint_optab): Define corresponding macro.
13931
13932 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT_FLOOR,
13933 UNSPEC_FRNDINT_CEIL, UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM.
13934
13935 * config/i386/i386-protos.h (emit_i387_cw_initialization):
13936 Change prototype. Add new int parameter.
13937 * config/i386/i386.c (emit_i387_cw_initialization):
13938 Handle new rounding modes.
13939
13940 * config/i386/i386.h (enum fp_cw_mode): Delete.
c9996000 13941 (MODE_NEEDED): Handle new rounding modes.
edeacc14
UB
13942 (EMIT_MODE_SET): Change condition to handle new rounding modes.
13943
13944 * config/i386/i386.md (UNSPEC_FRNDINT_FLOOR, UNSPEC_FRNDINT_CEIL,
13945 UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM): New unspecs to
13946 represent different rounding modes of frndint insn.
13947 (type): Add frndint type.
13948 (i387, length, memory): Handle this type.
13949 (i387_cw): New attribute definition.
13950 (*fix_truncdi_1, fix_truncdi_nomemory, fix_truncdi_memory,
13951 *fix_truncsi_1, fix_truncsi_nomemory, fix_truncsi_memory,
13952 *fix_trunchi_1, fix_trunchi_nomemory, fix_trunchi_memory):
13953 Add "i387_cw" attribute defined to "trunc".
13954 (x86_fnstcw_1): Remove comment.
13955 (*frndintxf2): Rename insn definition to frndintxf2. Move
13956 insn definition near rint?f2 expanders.
13957 (rintdf2, rintsf2, rintxf2): New expanders to implement rint,
13958 rintf and rintl built-ins as inline x87 intrinsics.
13959 (frndintxf2_floor): New pattern to implement floor rounding
13960 mode with frndint x87 instruction.
13961 (floordf2, floorsf2, floorxf2): New expanders to implement floor,
13962 floorf and floorl built-ins as inline x87 intrinsics.
13963 (frndintxf2_ceil): New pattern to implement ceil rounding
13964 mode with frndint x87 instruction.
13965 (ceildf2, ceilsf2, ceilxf2): New expanders to implement ceil,
13966 ceilf and ceill built-ins as inline x87 intrinsics.
13967 (frndintxf2_trunc): New pattern to implement trunc rounding
13968 mode with frndint x87 instruction.
13969 (btruncdf2, btruncsf2, btruncxf2): New expanders to implement trunc,
13970 truncf and truncl built-ins as inline x87 intrinsics.
13971 (frndintxf2_mask_pm): New pattern to implement rounding
13972 mode with exceptions with frndint x87 instruction.
13973 (nearbyintdf2, nearbyintsf2, nearbyintxf2): New expanders to
13974 implement nearbyint, nearbyintf and nearbyintl built-ins as
13975 inline x87 intrinsics.
13976
183f019b
RS
139772004-09-04 Richard Sandiford <rsandifo@redhat.com>
13978
13979 * config/mips/mips.md (SHORT): New mode macro.
13980 (size): New mode attribute.
13981 (extend[qh]i[sd]i2): Redefine using :GPR and :SHORT.
13982 (*extend[qh]i[sd]i2): New define_insn_and_split, combining previous
13983 *extend[qh]i[sd]i2 and *extend[qh]i[sd]i2_mem patterns. Use only if
13984 !ISA_HAS_SEB_SEH.
13985 (*extend[qh]i[sd]i2_se[bh]): New pattern, combining previous
13986 *extend[qh]isi2_hw patterns and extending them to di.
13987 (extendqihi2): Implement as define_insn_and_split that produces
13988 extendqisi2 after reload.
13989
40923b20
DP
139902004-09-03 Devang Patel <dpatel@apple.com>
13991
13992 * Makefile.in (OBJS-common): Add tree-if-conv.o
13993 (tree-if-conv.o): New rule.
13994 * cfgloop.c (flow_loop_exit_edges_find): Set EDGE_LOOP_EXIT flag.
13995 (get_loop_body_in_bfs_order): New.
13996 * cfgloop.h (get_loop_body_in_bfs_order): New.
13997 * tree-flow.h (enum move_pos): Move here from ..
13998 * tree-ssa-loop-im.c (enum move_pos): here.
13999 (movement_possibility): Make externally visible.
14000 * tree-optimize.c (init_tree_optimization_passes): New entry for
14001 if conversion pass.
14002 * tree-pass.h (pass_if_conversion): New.
14003 * tree-ssa-operands.c (get_expr_operands): Handle COND_EXPR.
14004 * tree-if-conv.c: New file.
14005 * doc/passes.texi: Document tree if-conversion pass.
c9996000 14006 * doc/tree-ssa.texi: Same.
40923b20 14007
443728bb
L
140082004-09-03 H.J. Lu <hongjiu.lu@intel.com>
14009
14010 PR target/14925:
14011 Makefile.in (LIB2ADDEHSTATIC): New.
14012 (LIB2ADDEHSHARED): New.
14013 (LIBUNWIND): New.
14014 (LIBUNWINDDEP): New.
14015 (SHLIBUNWIND_LINK): New.
14016 (SHLIBUNWIND_INSTALL): New.
14017 (libgcc.mk): Pass LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND,
14018 LIBUNWINDDEP, SHLIBUNWIND_LINK and SHLIBUNWIND_INSTALL.
14019 (clean): Remove libunwind*
14020 (stage1-start): Remove and copy stage1/libunwind*.
14021 (stage2-start): Remove and copy stage2/libunwind*.
14022 (stage3-start): Remove and copy stage3/libunwind*.
14023 (stage4-start): Remove and copy stage4/libunwind*.
14024 (stageprofile-start): Remove and copy stageprofile/libunwind*.
14025 (stagefeedback-start): Remove and copy stagefeedback/libunwind*.
14026
14027 * config.gcc (ia64*-*-linux*): Always add t-libunwind to
14028 tmake_file. Add t-libunwind-elf and ia64/t-glibc-libunwind to
14029 tmake_file if --with-system-libunwind isn't used.
14030
14031 * config/ia64/t-glibc-libunwind: New file.
14032 * config/t-libunwind-elf: Likewise.
14033 * unwind-compat.c: Likewise.
14034 * unwind-compat.h: Likewise.
14035 * unwind-dw2-fde-compat.c: Likewise.
14036
14037 * config/ia64/t-glibc (LIB2ADDEH): Updated.
14038 * config/ia64/t-hpux (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
14039
14040 * config/ia64/unwind-ia64.c: Include "unwind-compat.h". Define
14041 aliases if needed.
14042 * unwind-dw2-fde-glibc.c: Likewise.
14043 * unwind-dw2.c: Likewise.
14044
14045 * config/t-libunwind (LIB2ADDEH): Updated.
14046 (LIB2ADDEHSTATIC): New.
14047 (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
14048 (TARGET_LIBGCC2_CFLAGS): Set to -DUSE_GAS_SYMVER.
14049
14050 * configure.ac: Change --enable-libunwind-exceptions to
14051 --with-system-libunwind. Don't define USE_LIBUNWIND_EXCEPTIONS.
14052 * configure: Regenerated.
14053 * config.in: Updated.
14054
14055 * doc/install.texi (ia64-*-linux): Require libunwind 0.98 or
14056 above and mention --with-system-libunwind.
14057 (ia64-*-hpux*): Mention --enable-libunwind-exceptions is
14058 removed in gcc 3.4.3 and later.
14059
14060 * gcc.c (init_spec): Add -lunwind to -lgcc_s if
14061 USE_LIBUNWIND_EXCEPTIONS is defined.
14062
14063 * mklibgcc.in: Support libunwind.
14064
d20bf446
L
140652004-09-03 H.J. Lu <hongjiu.lu@intel.com>
14066
14067 * config/i386/i386.c (x86_branch_hints): Remove m_PENT4 and
14068 m_NOCONA.
14069
1f6d3a08
RH
140702004-09-03 Richard Henderson <rth@redhat.com>
14071
93f8bd9e
ZW
14072 PR middle-end/9997
14073 * cfgexpand.c (LOCAL_ALIGNMENT): Provide default.
14074 (STACK_ALIGNMENT_NEEDED, FRAME_GROWS_DOWNWARD): Likewise.
14075 (struct stack_var, EOC, stack_vars, stack_vars_alloc, stack_vars_num,
14076 stack_vars_sorted, stack_vars_conflict, stack_vars_conflict_alloc,
14077 frame_phase, get_decl_align_unit, add_stack_var, triangular_index,
14078 resize_stack_vars_conflict, add_stack_var_conflict,
14079 stack_var_conflict_p, add_alias_set_conflicts, stack_var_size_cmp,
14080 union_stack_vars, partition_stack_vars, dump_stack_var_partition,
14081 expand_one_stack_var_at, expand_stack_vars, expand_one_stack_var,
1f6d3a08
RH
14082 expand_one_static_var, expand_one_hard_reg_var,
14083 expand_one_register_var, expand_one_error_var, defer_stack_allocation,
14084 expand_one_var, expand_used_vars_for_block, clear_tree_used): New.
93f8bd9e 14085 (expand_used_vars): Rewrite.
1f6d3a08
RH
14086 * Makefile.in (cfgexpand.o): Update dependencies.
14087
80d8221e
JH
140882004-09-04 Jan Hubicka <jh@suse.cz>
14089
14090 * cfg.c (free_edge): Use ggc_free.
14091 (expunge_block): Use ggc_free.
14092 * passes.c (rest_of_clean_state): Free after compilation.
14093 * tree-ssa.c (delete_tree_ssa): Free annotations; call release_defs
14094 * tree-ssanames.c (release_defs): Ignore non-SSA_NAME arguments.
14095
bb1058e4
JW
140962004-09-03 James E Wilson <wilson@specifixinc.com>
14097
14098 * tree-ssa-alias.c (may_be_aliased): Move TREE_STATIC check after
14099 DECL_EXTERNAL check.
14100
ca83de6b
EB
141012004-09-03 Eric Botcazou <ebotcazou@libertysurf.fr>
14102
14103 * final.c (output_in_slot): New global variable.
14104 (final_scan_insn): Add new state '2' to the 'nopeepholes' parameter.
14105 Pass 2 as 'nopeepholes' to self for insns in a SEQUENCE. Set
14106 'output_in_slot' before invoking output_asm_insn.
14107 (output_asm_insn): Add a space after the tab if 'output_in_slot'
14108 is set.
14109 * config/sparc/sparc.c (output_return): Pass 2 as 'nopeepholes' to
14110 final_scan_insn.
14111 (output_sibcall): Likewise.
14112
1e3e17d3
JH
141132004-09-03 Jan Hubicka <jh@suse.cz>
14114
14115 * tree-ssa-operands.c (fini_ssa_operands): ggc_free unused arrays.
14116 * tree-ssanames (init_ssanames): Likewise.
14117
c41e5f27
ZL
141182004-09-03 Ziemowit Laski <zlaski@apple.com>
14119
14120 * stub-objc.c (objc_is_id, objc_declare_alias, objc_declare_class,
14121 objc_declare_protocols, objc_start_protocol,
14122 objc_start_class_interface, objc_start_category_interface,
14123 objc_continue_interface, objc_finish_interface,
14124 objc_add_instance_variable, objc_set_visibility, objc_set_method_type,
14125 objc_start_class_implementation, objc_start_category_implementation,
14126 objc_continue_implementation, objc_finish_implementation,
14127 objc_add_method_declaration, objc_start_method_definition,
14128 objc_finish_method_definition, objc_build_keyword_decl,
14129 objc_build_method_signature, objc_build_encode_expr,
14130 objc_build_protocol_expr, objc_build_selector_expr,
14131 objc_build_message_expr, objc_build_string_object,
14132 objc_get_class_reference, objc_get_protocol_qualified_type,
14133 objc_static_init_needed_p, objc_generate_static_init_call): New stubs.
14134
b30d77c4
JW
141352004-09-03 James E Wilson <wilson@specifixinc.com>
14136
14137 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips3d.
14138
14139 * config/mips/generic.md (generic_frecip_fsqrt_step): New.
14140 * config/mips/mips-ps-3d.md (mips_rsqrt1_<fmt>): Use frsqrt1 type.
14141 (mips_rsqrt2_<fmt>): Use frsqrt2 type.
14142 (mips_recip1_<fmt>): Use frdiv1 type.
14143 (mips_recip2_<fmt>): Use frdiv2 type.
14144 * config/mips/mips.md (type): Add frdiv1, frdiv2, frsqrt1, frsqrt2.
14145 * config/mips/sb1.md (ir_sb1_fpu_2pipes, ir_sb1_fpu_1pipe): Add frdiv1
14146 and frsqrt1.
14147 (ir_sb1_fpu_step2_2pipes, ir_sb1_fpu_step2_1pipe): New.
14148
87cda9d6
DJ
141492004-09-03 Daniel Jacobowitz <dan@debian.org>
14150
14151 * reload.c (find_reloads): Swap operand_loc pointers for
14152 find_dummy_reload if we have swapped two operands.
14153
f671762a
HPN
141542004-09-03 Hans-Peter Nilsson <hp@axis.com>
14155
14156 * config/cris/cris.h (ASM_OUTPUT_CASE_END): Use prev_nonnote_insn
14157 to get the tablejump-insn before the jump-table label.
14158
a45bcfb2
ZL
141592004-09-03 Ziemowit Laski <zlaski@apple.com>
14160
14161 * c-common.h (objc_is_id, objc_declare_alias, objc_declare_class,
14162 objc_declare_protocols, objc_build_message_expr,
14163 objc_finish_message_expr, objc_build_selector_expr,
14164 objc_build_protocol_expr, objc_build_encode_expr,
14165 objc_build_string_object, objc_get_protocol_qualified_type,
14166 objc_get_class_reference, objc_get_class_ivars,
14167 objc_start_class_interface, objc_start_category_interface,
14168 objc_start_protocol, objc_continue_interface, objc_finish_interface,
14169 objc_start_class_implementation, objc_start_category_implementation,
14170 objc_continue_implementation, objc_finish_implementation,
14171 objc_set_visibility, objc_set_method_type, objc_build_method_signature,
14172 objc_add_method_declaration, objc_start_method_definition,
14173 objc_finish_method_definition, objc_add_instance_variable,
14174 objc_build_keyword_decl, objc_build_throw_stmt, objc_begin_try_stmt,
14175 objc_finish_try_stmt, objc_begin_catch_clause,
14176 objc_finish_catch_clause, objc_build_finally_clause,
14177 objc_build_synchronized, objc_static_init_needed_p,
14178 objc_generate_static_init_call): New prototypes.
14179
9dec91d4
SE
141802004-09-03 Steve Ellcey <sje@cup.hp.com>
14181
14182 * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL even if there
14183 is only one reg.
14184 (ia64_function_value): Ditto.
14185
61fec9ff
JB
141862004-09-03 Jan Beulich <jbeulich@novell.com>
14187
14188 * config.gcc: Resurrect NetWare as a target. Handle special case of
14189 Novell linker to be used (specified through --with-ld=) and threading
14190 model of either Posix (default) or NKS.
14191 * config/i386/i386.c (ix86_return_pops_args): Conditionalize popping
14192 of incoming hidden argument on KEEP_AGGREGATE_RETURN_POINTER.
14193 * config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): New.
14194 * config/i386/netware.c, config/i386/netware.h: New.
14195 * config/i386/nwld.c, config/i386/nwld.h: New.
14196 * config/i386/netware-crt0.c: New.
14197 * config/i386/netware-libgcc.c: New.
14198 * config/i386/netware-libgcc.def: New.
14199 * config/i386/netware-libgcc.exp: New.
14200 * config/i386/t-netware, config/i386/t-nwld: New.
14201 * gthr-nks.h: New.
14202 * doc/install.texi: Document NKS threading model.
14203
467cecf3
JB
142042004-09-03 Jan Beulich <jbeulich@novell.com>
14205
14206 PR c/7054
14207 * defaults.h (TARGET_DEFAULT_PACK_STRUCT): Provide default.
14208 * tree.h (initial_max_fld_align): Declare
14209 * stor-layout.c (initial_max_fld_align): Define and initialize.
14210 (maximum_field_alignment): Initialize to the same value.
14211 * common.opt: Add -fpack-struct= variant of switch.
14212 * opts.c: Handle -fpack-struct= variant of switch.
14213 * c-pragma.c: Change #pragma pack() handling so that it becomes
14214 compatible to other compilers: accept individual 'push' argument,
14215 make final pop restore (command line) default, correct interaction
14216 of push/pop and sole specification of a new alignment (so that the
14217 sequence #pragma pack(push) - #pragma pack(<n>) becomes identical
14218 to #pragma pack(push, <n>).
14219 * doc/extend.texi: New node "Structure-Packing Pragmas" under
14220 "Pragmas", describing #pragma pack.
14221 * doc/invoke.texi: Document -fpack-struct=<n> variant of switch.
14222 * doc/tm.texi: Adjust description for HANDLE_PRAGMA_PACK_PUSH_POP.
14223 Document new TARGET_DEFAULT_PACK_STRUCT.
14224
90300b8c
DP
142252004-09-03 Devang Patel <dpatel@apple.com>
14226
14227 * dwarf2out.c (gen_field_die). Equate decl number to die.
c9996000 14228
d6df6ae2
VM
142292004-09-03 Vladimir Makarov <vmakarov@redhat.com>
14230
14231 PR target/15832
14232 * global.c (modify_reg_pav): New function.
14233 (make_accurate_live_analysis): Call the new function. Move pavin
14234 modification by earlyclobber set into the new function.
14235
25c99d8f
AS
142362004-09-03 Andreas Schwab <schwab@suse.de>
14237
14238 * config/m68k/m68k.c (output_andsi3): Use -1 instead of
14239 (HOST_WIDE_INT)0xffffffff since CONST_INT value are always sign
14240 extended.
14241
7f148c2f
JB
142422004-09-02 Jan Beulich <jbeulich@novell.com>
14243
14244 * Makefile.in (LIB2ADDEHDEP): Add unwind.h and unwind-pe.h.
14245 * mklibgcc.in (libgcc_dep): New, covering general dependencies, but
14246 not unwind code specific ones.
14247 (libgcc2_c_dep): Replace general dependencies with use of libgcc_dep.
14248 Remove unwind code specific dependencies.
14249 (libgcov_c_dep): Replace general dependencies with use of libgcc_dep.
14250 Remove gbl-ctors.h.
14251 Add libgcc_dep to output generated for LIB2ADD, LIB2ADDEH, and
14252 LIB2ADD_ST. Add LIB2ADDEHDEP to output generated for LIB2ADDEH.
14253 * tsystem.h: Declare memcpy and memset when inhibit_libc.
14254
9e42ab3e 142552004-09-02 Roman Zippel <zippel@linux-m68k.org>
c9996000 14256
9e42ab3e
RZ
14257 * combine.c (try_combine): Delay modifying of insns which cannot
14258 be easily undone.
14259
1b08d87d
DB
142602004-09-02 Daniel Berlin <dberlin@dberlin.org>
14261
14262 * gcc/common.opt: Rename ivcanon to tree-loop-ivcanon, tree-lim to
14263 tree-loop-im.
14264 * gcc/tree-ssa-loop.c: Ditto
14265 * gcc/tree-ssa-loop-ivcanon.c: Ditto
14266 * gcc/doc/invoke.texi: Ditto.
14267
d4e43dff
ZL
142682004-09-02 Ziemowit Laski <zlaski@apple.com>
14269
14270 * c-decl.c (store_parm_decls_newstyle): Make static.
14271 (store_parm_decls_from): New function.
14272 * c-tree.h (store_parm_decls_newstyle): Remove prototype.
14273 (store_parm_decls_from): New prototype.
14274
cd7d9ca4
DE
142752004-09-02 David Edelsohn <edelsohn@gnu.org>
14276
14277 * config/rs6000/rs6000.c (expand_block_move): Use SImode and
14278 HImode with STRICT_ALIGNMENT.
14279
40a1c5cb
MM
142802004-09-02 Mark Mitchell <mark@codesourcery.com>
14281
14282 * config/arm/bpabi.h (TARGET_BPABI_CPP_BUILTINS): Define.
14283 (TARGET_OS_CPP_BUILTINS): Likewise.
14284 * config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Include
14285 TARGET_BPABI_CPP_BUILTINS.
14286
b54567e2 142872004-09-02 Roman Zippel <zippel@linux-m68k.org>
c9996000 14288
b54567e2
RZ
14289 * combine.c (distribute_notes): Don't add REG_LABEL to jump insn.
14290
5906d013
EC
142912004-09-02 Eric Christopher <echristo@redhat.com>
14292
14293 * builtins.c (expand_builtin_cabs): Delete.
14294 (expand_builtin): If unable to fold the values do a normal
14295 library call for builtin_cab*.
14296 (fold_builtin_cabs): Depend on optimize and optimize_size.
14297 * optabs.c (expand_cmplxdiv_straight): Delete.
14298 (expand_cmplxdiv_wide): Ditto.
14299 (expand_vector_binop): Ditto.
14300 (expand_vector_unop): Ditto.
14301 (expand_complex_abs): Delete.
14302 (expand_binop): Remove calls to above functions.
14303 Remove open coding of complex arithmetic.
14304 (expand_unop): Ditto.
14305 * optabs.h: Remove prototypes.
14306
3041390d
ZL
143072004-09-02 Ziemowit Laski <zlaski@apple.com>
14308
14309 * c-decl.c (store_parm_decls_newstyle): Make externally visible.
14310 * c-tree.h (store_parm_decls_newstyle): New prototype.
14311
5514620a
GK
143122004-09-02 Geoffrey Keating <geoffk@apple.com>
14313
14314 * config/rs6000/rs6000.c (expand_block_clear): Use vector
14315 instructions if available.
14316 (expand_block_move): Likewise.
14317
02f14c38
JH
143182004-09-03 Jan Hubicka <jh@suse.cz>
14319
14320 * rtl.def (RANGE_INFO, RANGE_REG, RANGE_VAR, RANGE_LIVE): Kill.
14321
19dc705e
MM
143222004-09-02 Mark Mitchell <mark@codesourcery.com>
14323
14324 * config/arm/symbian.h (LIB_SPEC): Define to empty.
14325 * config/arm/t-symbian (SHLIB_LC): Likewise.
14326
24112ed0
PB
143272004-09-02 Paul Brook <paul@codesourcery.com>
14328
14329 * config/arm/bpabi.c (__aeabi_ul2d, __aeabi_ul2f): Remove.
14330
7ad769fe
RS
143312004-09-02 Richard Sandiford <rsandifo@redhat.com>
14332
14333 * config/mips/mips.c (mips_classify_symbol, mips_fetch_insns):
14334 (mips_restore_gp, mips_set_return_address, mips_expand_prologue)
14335 (mips16_fp_args, mips_avoid_hazard): Replace abort with gcc_assert.
14336 (build_mips16_call_stub): Likewise. Remove daft CALL_INSN checks.
14337 (mips_issue_rate): Remove unreachable abort.
14338 (mips_symbolic_constant_p, mips_symbolic_address_p, mips_symbol_insns)
14339 (mips_output_move, mips_relational_operand_ok_p, mips_arg_info)
14340 (mips_block_move_straight, print_operand_address, mips_file_start)
14341 (mips_initial_elimination_offset, mips16_fp_args, dump_constants_1)
14342 (mips_output_conditional_branch, mips_expand_builtin_direct)
14343 (mips_expand_builtin_compare): Replace abort with gcc_unreachable.
14344 * config/mips/mips.md (rotr<mode>3, consttable_float): Replace abort
14345 with gcc_assert.
14346
9f09b415
RS
143472004-09-02 Richard Sandiford <rsandifo@redhat.com>
14348
14349 * config/mips/mips.md (*lea_high64): Change split condition to
14350 flow2_completed. Add a peephole2 to generate a more parallel version.
14351
07724022
JH
143522004-09-02 Jan Hubicka <jh@suse.cz>
14353
14354 * gimplify.c (gimplify_compound_lval): Move "stack" varray out of
14355 GGC.
14356
14357 * ggc-page.c: include tree-flow.h.
14358 (extra_order_size_table): Add stmt_ann_d.
14359 (STAT_LABEL): Rename from ....
14360 (LABEL): ... this one.
14361 * Makefile.in (ggc-page.o): Add dependency.
14362
14363 * ggc-common.c (ggc_force_collect): New global variable.
14364 (loc_description): Add fields "freed", "collected"
14365 (ptr_hash): New static hash
14366 (ptr_hash_entry): New structure.
14367 (hash_ptr,eq_ptr,ggc_prune_ptr): New static functions.
14368 (ggc_record_overhead): Take ptr argument, record it
14369 (ggc_prune_overhead_list, ggc_free_overhead): New functions.
14370 (cmp_statistics): Imrove sorting.
14371 (dump_ggc_loc_statistics): Output newly collected statistics
14372 * ggc-page.c (ggc_alloc): Update call of ggc_record_overhead
14373 (ggc_free): Call ggc_free_overhead.
14374 (ggc_collect): Force collection when asked to be forced.
14375 (ggc_collect): Call ggc_prune_overhead_list.
14376 * ggc.h (ggc_force_collect): Declare
14377 (ggc_record_overhead): Update prototype.
14378 (ggc_free_overhead, ggc_prune_overhead_list): Declare.
14379
10060b83
JW
143802004-09-02 James E Wilson <wilson@specifixinc.com>
14381
14382 * common.opt (ftrapping-math): Default to on.
14383
9d2da95b
RE
143842004-09-02 Richard Earnshaw <rearnsha@arm.com>
14385
14386 * arm/predicates.md (arm_reload_memory_operand): Allow MEM.
14387
3f1f9228
DC
143882004-09-02 Denis Chertykov <denisc@overta.ru>
14389
14390 PR target/16884
14391 * config/avr/avr.md ("movmemhi"): Substitute match_dup to
14392 match_scratch.
14393 (*movmemqi_insn): Likewise.
14394 (*movmemhi): Likewise.
14395 (clrmemhi): Likewise.
14396 (*clrmemqi): Likewise.
14397 (*clrmemhi): Likewise.
14398
e6fc6c9b
PB
143992004-09-02 Paul Brook <paul@codesourcery.com>
14400
14401 * config.gcc (arm*-*-eabi* | arm*-*-symbianelf*): Set
14402 default_use_cxa_atexit=yes.
14403
d86c1b91
AM
144042004-09-02 Alan Modra <amodra@bigpond.net.au>
14405
14406 * config/rs6000/linux64.h: Don't include signal.h or sys/ucontext.h.
14407 (struct kernel_old_ucontext): Delete.
14408 (struct gcc_pt_regs, gcc_sigcontext, gcc_ucontext): New.
14409 (MD_FALLBACK_FRAME_STATE_FOR): Use gcc_* structs. Only define
14410 when IN_LIGGCC2.
14411
3806400d
RS
144122004-09-02 Richard Sandiford <rsandifo@redhat.com>
14413
14414 * toplev.c (process_options): Fix typo.
14415
9969aaf6
RH
144162004-09-01 Richard Henderson <rth@redhat.com>
14417
14418 PR middle-end/17258
14419 * calls.c (initialize_argument_information): Tighten pass-through
14420 conditions for pass-by-reference. Remove dead TARGET_EXPR code.
14421 Use build_fold_addr_expr.
14422 (emit_library_call_value_1): Use build_fold_addr_expr. Remove code
14423 that assumes ADDR_EXPR allocates stack space.
14424 * fold-const.c (build_fold_addr_expr_with_type): Look through
14425 WITH_SIZE_EXPR.
14426
1e8964cf
DN
144272004-09-01 Dan Nicolaescu <dann@ics.uci.edu>
14428
14429 * gengenrtl.c (gendef): Use rtx_alloc, don't do PUT_CODE.
14430 * ggc.h (ggc_alloc_rtx): Delete.
14431
26276705
RS
144322004-09-01 Roger Sayle <roger@eyesopen.com>
14433
14434 * expmed.c (enum alg_code): Remove long unused enumeration values.
7f148c2f 14435 (struct mult_cost): New structure to hold the "score" of a synthetic
26276705
RS
14436 multiply sequence, including both a rtx_cost and a latency field.
14437 (MULT_COST_LESS): New macro to compare mult_cost to a constant.
14438 (CHEAPER_MULT_COST): New macro to compare two mult_costs.
14439 (struct algorithm): Change type of cost field to be mult_cost.
14440 (synth_mult): Change type of cost_limit argument to be a
14441 pointer to a mult_cost. Update all cost comparisons to use the
5906d013 14442 new mult_cost infrastructure. For alg_add_factor and
26276705
RS
14443 alg_sub_factor operations, latency is lower than the rtx_cost.
14444 (choose_mult_variant): Update calls to synth_mult. Perform
14445 cost comparisons using the new mult_cost infrastructure.
14446 (expand_mult_highpart): Use alg.cost.cost instead of alg.cost
14447 to optain the total rtx_cost of a synth_mult "algorithm".
14448
594a3565
DE
144492004-09-01 David Edelsohn <edelsohn@gnu.org>
14450
14451 * config/rs6000/power4.md: Increase store latency to 12.
14452 * config/rs6000/power5.md: Same.
14453
130d5426
JW
144542004-09-01 James E Wilson <wilson@specifixinc.com>
14455
14456 PR target/14064
14457 * config/avr/avr.c (avr_unique_section): Delete prototype and
14458 definition.
14459 (TARGET_ASM_UNIQUE_SECTION): Delete.
14460
57a6af27
ZL
144612004-09-01 Ziemowit Laski <zlaski@apple.com>
14462
14463 * c-parse.in (primary): Call objc_build_message_expr(),
14464 objc_build_selector_expr(), objc_build_protocol_expr(),
14465 objc_build_encode_expr() and objc_build_string_object() instead of
14466 build_message_expr(), build_selector_expr(), build_protocol_expr(),
14467 build_encode_expr() and build_objc_string_object(), respectively.
14468 (component_decl_list2): Call objc_get_class_ivars() instead of
14469 get_class_ivars_from_name().
14470 (keyworddecl): Call objc_build_keyword_decl() instead of
14471 build_keyword_decl().
14472 (receiver): Call objc_get_class_reference() instead of
14473 get_class_reference().
14474 (reswords): Add blank line before @@ifobjc section, for clarity.
14475
5ec214fc
FJ
144762002-09-01 Fariborz Jahanian <fjahanian@apple.com>
14477
14478 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Restrict alignment
14479 to Altivec vetors.
14480
40219f96
WY
144812004-09-01 Wu Yongwei <adah@sh163.net>
14482 Danny Smith <dannysmith@users.sourceforge.net>
14483
14484 * gthr-win32.h (__gthread_recursive_mutex_t): Use 'unsigned long',
14485 not Windows 'DWORD'.
14486 (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Correct typo.
14487 (__GTHREAD_RECURSIVE_MUTEX_INIT_DEFAULT): Likewise.
14488 (__gthr_win32_recursive_mutex_init_function): Add prototype for
14489 __GTHREAD_HIDE_WIN32API case..
14490 (__gthr_win32_recursive_mutex_lock): Likewise.
14491 (__gthr_win32_recursive_mutex_trylock): Likewise.
14492 (__gthr_win32_recursive_mutex_unlock): Likewise.
14493 (__gthread_recursive_mutex_init_function); Add definition for
14494 __GTHREAD_HIDE_WIN32API case.
14495 (__gthread_recursive_mutex_lock): Correct call to InterlockedDecrement.
14496 * config/i386/grthr-win32.c (__gthread_recursive_mutex_lock): Correct
14497 call to InterlockedDecrement.
14498
78ad8fbe
RK
144992004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14500
ba2e294d
RK
14501 * tree-tailcall.c (find_tail_calls): Also fail is statement has
14502 volatile operands.
14503
0705d602
RK
14504 * tree-ssa.c (propagate_into_addr): Properly test for LHR.
14505
78ad8fbe
RK
14506 * doc/c-tree.texi: Document new operands for ARRAY_REF and
14507 COMPONENT_REF.
14508
6d9901e7
ZD
145092004-09-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14510
14511 * Makefile.in (rtl-profile.o, value-prof.o): Add GCC_H dependency.
14512 * common.opt (fspeculative-prefetching): New.
14513 * flags.h (flag_speculative_prefetching_set): Declare.
14514 * gcov-io.c (gcov_write_counter, gcov_read_counter): Allow negative
14515 values.
14516 * opts.c (flag_sepculative_prefetching_set): New variable.
14517 (common_handle_option): Handle -fspeculative-prefetching.
14518 * passes.c (rest_of_compilation): Ditto.
14519 * profile.c (instrument_values, compute_value_histograms, branch_prob):
14520 Use vectors instead of arrays.
14521 * toplev.c (process_options): Handle -fspeculative-prefetching.
14522 * rtl-profile.c: Include ggc.h.
14523 (rtl_gen_interval_profiler, rtl_gen_pow2_profiler,
14524 rtl_gen_one_value_profiler_no_edge_manipulation,
14525 rtl_gen_one_value_profiler, rtl_gen_const_delta_profiler): Type of
14526 argument changed.
14527 * tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler,
14528 tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Type of
14529 argument changed.
14530 * value-prof.c: Include ggc.h.
14531 (NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX): New
14532 macros.
14533 (insn_prefetch_values_to_profile, find_mem_reference_1,
14534 find_mem_reference_2, find_mem_reference, gen_speculative_prefetch,
14535 speculative_prefetching_transform): New.
14536 (value_profile_transformations): Call speculative_prefetching_transform.
14537 (insn_values_to_profile): Call insn_prefetch_values_to_profile.
14538 (insn_divmod_values_to_profile, rtl_find_values_to_profile,
14539 tree_find_values_to_profile, find_values to profile): Use vectors
14540 instead of arrays.
14541 (free_profiled_values): Removed.
14542 * value-prof.h (struct histogram_value): Renamed to
14543 struct histogram_value_t.
14544 (histogram_value, histogram_values): New types.
14545 (find_values_to_profile): Declaration changed.
14546 (free_profiled_values): Removed.
14547 (struct profile_hooks): Type of argument of the hooks changed to
14548 histogram_value.
14549 * doc/invoke.texi (-fspeculative-prefetching): Document.
14550
d7fe1183
ZD
145512004-09-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14552
14553 PR rtl-optimization/16408
14554 * gcse.c (replace_store_insn): Fix LIBCALL/RETVAL notes.
14555
938e234b
RH
145562004-09-01 Richard Henderson <rth@redhat.com>
14557
7f148c2f
JB
14558 * config/ns32k/ns32k.h (TRANSFER_FROM_TRAMPOLINE): Remove.
14559 (TRAMPOLINE_TEMPLATE): Merge code from __trampoline inline.
938e234b 14560
d0879c98
JJ
145612004-09-01 Jakub Jelinek <jakub@redhat.com>
14562
14563 * libgcc-std.ver (GCC_3.4.2): Export also __trampoline_setup.
14564
156a126c
MS
145652004-09-01 Mike Stump <mrs@apple.com>
14566
14567 * config/darwin.c (machopic_symbol_defined_p): In addition to
14568 being SYMBOL_REF_LOCAL_P, a symbol must also be
14569 ! SYMBOL_REF_EXTERNAL_P, as only those are _always_ locally
14570 defined in this output file, or translation unit in the case
14571 of IMA not being used.
14572 (machopic_output_indirection): SYMBOL_REF_LOCAL_P symbols
14573 never need .indirect_symbol when indirecting.
14574
a5d8b097
JJ
145752004-09-01 Jakub Jelinek <jakub@redhat.com>
14576
14577 * Makefile.in (bb-reorder.o): Add several dependencies.
14578
266bff3a
JJ
145792004-09-01 Jakub Jelinek <jakub@redhat.com>
14580
14581 * fold-const.c (operand_equal_p): Require equal sign also for
14582 FIX_{CEIL,TRUNC,FLOOR,ROUND}_EXPR.
14583
32078532
RE
145842004-09-01 Richard Earnshaw <rearnsha@arm.com>
14585
14586 * config.gcc (--with-cpu on ARM): Preserve the canonical cpu name
14587 for use in configargs.h. Put the cname in a separate variable. Use
14588 that to set target_cpu_default2.
14589
c0311627
R
145902004-09-01 J"orn Rennecke <joern.rennecke@superh.com>
14591 Nick Clifton <nickc@redhat.com>
14592
14593 * config/sh/sh.md ("length"): Increase branch length when
14594 SH1 pic code to 18: 12 bytes of instructions, 4 byte for the
14595 constant, 2 byte for aligning the constant.
14596
d98a72fd
RE
145972004-09-01 Richard Earnshaw <rearnsha@arm.com>
14598
14599 * arm/arm-cores.def (ARM_CORE): Add new field for the real name of the
14600 CPU.
14601 (arm7tdmi-s): New CPU name.
14602 * arm/arm.c (ARM_CORE): Update for new format.
14603 * arm/arm.h (ARM_CORE): Likewise.
14604 * arm/gentune.sh: Update for extra field.
14605 * config.gcc: Likewise.
14606 * arm/arm-tune.md: Regenerate.
14607 * doc/invoke.texi: Document the real processor names for ARM cpus.
14608
0a1aa867
RE
146092004-09-01 Richard Earnshaw <rearnsha@arm.com>
14610
14611 * arm/ieee754-df.S (aeabi_ul2d, aeabi_l2d, floatundidf)
14612 (floatdidf): New functions.
14613 * arm/ieee754-sf.S (aeabi_ul2f, aeabi_l2f, floatundisf)
14614 (floatdisf): New functions.
14615 * t-arm-elf: Use them.
14616
bc095846
ZL
146172004-09-01 Ziemowit Laski <zlaski@apple.com>
14618
14619 * c-common.h (lookup_interface): Remove prototype.
14620 (is_class_name): Rename to objc_is_class_name.
14621 (lookup_objc_ivar): Rename to objc_lookup_ivar.
14622 (get_current_scope): Rename to objc_get_current_scope.
14623 * c-decl.c (get_current_scope): Rename to objc_get_current_scope.
14624 * c-parse.in (parmlist_or_identifiers_1): Get rid of unused variable.
14625 (yylexname): Call objc_is_class_name() instead of is_class_name().
14626 * c-typeck.c (build_external_ref): Call objc_lookup_ivar()
14627 instead of lookup_objc_ivar().
14628 * stub-objc.c (lookup_interface): Remove stub.
14629 (is_class_name): Rename to objc_is_class_name.
14630 (lookup_objc_ivar): Rename to objc_lookup_ivar.
14631
14945fe6
MM
146322004-08-31 Mark Mitchell <mark@codesourcery.com>
14633
14634 * config.gcc (arm*-*-symbianelf*): Do not include t-bpabi.
14635 * config/arm/lib1funcs.asm: Do not include supplemental .S files
14636 when compiling for Symbian.
14637 * config/arm/symbian.h (RENAME_LIBRARY): New macro.
14638 (TARGET_OS_CPP_BUILTINS): Likewise.
14639 * config/arm/t-symbian (LIB1ASMFUNCS): Define.
14640
93415288
SS
146412004-08-31 Stan Shebs <shebs@apple.com>
14642
14643 * toplev.c (process_options): Ensure debug_hooks is initialized.
14644
505970fc
MM
146452004-08-31 Mark Mitchell <mark@codesourcery.com>
14646
14647 * target-def.h (TARGET_CXX): Add TARGET_CXX_EXPORT_CLASS_DATA.
14648 * target.h (cxx): Add export_class_data.
14649 * config/arm/arm.c (arm_cxx_export_class_data): New function.
14650 (TARGET_CXX_EXPORT_CLASS_DATA): Use it.
dc40803a 14651 * doc/tm.texi (TARGET_CXX_EXPORT_CLASS_DATA): Document it.
5906d013 14652
bee9efbc
KK
146532004-08-31 Kaz Kojima <kkojima@gcc.gnu.org>
14654
14655 * config/sh/sh.c (output_branch): Check the insn length possibly
14656 in the delayed slot.
14657
a4e9ffe5
RK
146582004-08-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14659
a0ca8e0c
RK
14660 * tree-pretty-print.c (dump_generic_node, case CONVERT_EXPR): Add
14661 blank after ')'.
14662 (op_symbol, case *_{DIV,MOD}_EXPR): Say what rounding is being used.
14663
a4e9ffe5
RK
14664 * c-common.c (c_alignof_expr): Use DECL_ALIGN_UNIT and TYPE_ALIGN_UNIT.
14665 (c_sizeof_of_alignof_type): Likewise.
14666 * expr.c (array_ref_element_size): Likewise.
14667 (highest_pow2_factor_for_target): Likewise.
14668 * gimplify.c (canonicalize_addr_expr): Likewise.
14669 (gimplify_compound_lval): Likewise.
14670 * stor-layout.c (finalize_record_size, finalize_type_size): Likewise.
14671 * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise.
14672 * varasm.c (assemble_variable): Likewise.
14673 (output_constant_def_contents): Alignments are unsigned.
14674
631b67ce
RK
146752004-08-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14676 Jeff Law <law@redhat.com>
14677
14678 * tree-cfg.c (cfg_remove_useless_stmts_bb): Also invalidate if VAL
14679 gets modified.
14680
af287697
MM
146812004-08-31 Mark Mitchell <mark@codesourcery.com>
14682
14683 * hooks.c (hook_bool_void_true): New function.
14684 * hooks.h (hook_bool_void_true): Declare.
14685 * target-def.h (TARGET_CXX): Add
14686 TARGET_CXX_KEY_METHOD_MAY_BE_INLINE.
14687 * target.h (struct cxx): Add key_method_may_be_inline.
14688 * config/arm/arm.c (arm_cxx_key_method_may_be_inline): New
14689 function.
14690 (TARGET_CXX_KEY_METHOD_MAY_BE_INLINE): New macro.
14691 * config/arm/bpabi.h: Use __THUMB_INTERWORK__ instead of
14692 __THUMB_INTERWORK.
5906d013 14693
678584fc
DC
146942004-08-31 Denis Chertykov <denisc@overta.ru>
14695
14696 PR target/15417
14697 * config/avr/avr.c (avr_hard_regno_mode_ok): Enable usage of
14698 frame pointer register only in Pmode while reload in progress.
14699
c4c9b76e
SC
147002004-08-31 Stephane Carrez <stcarrez@nerim.fr>
14701
14702 PR target/15334
14703 * config/m68hc11/m68hc11.c (m68hc11_override_options): Disable -fweb
14704 because it breaks the 32-bit shift patterns that rely on a match_dup.
14705
c61eceeb
MA
147062004-08-31 Matt Austern <austern@apple.com>
14707
14708 * config/darwin.c (darwin_make_decl_one_only): Allocate section
14709 names once per compilation, instead of once per symbol.
5906d013 14710
71b5d516
PB
147112004-08-31 Paolo Bonzini <bonzini@gnu.org>
14712
14713 * Makefile.in (build_subdir): New substitution.
14714 (fixinc.sh): Simplify heavily since fixincludes is already built.
14715 (stmp-fixinc): Depend on specs.ready.
14716 (install-mkheaders): Use new location of fixincludes.
14717 (clean): Do not descend into fixinc.
14718 (FORBUILD): Replace with ../$(build_subdir).
14719 * configure.ac (build_subdir): Substitute.
14720 (FORBUILD): Do not set.
14721 (all_outputs): Remove fixinc/Makefile.
14722 (default commands): Do not create links in fixinc.
14723 * mkfixinc.sh: New, from fixinc/mkfixinc.sh without
14724 the fixincludes configuration steps and substituting
14725 @FIXINCL@ in fixinc.in.
14726 * fixinc.in: New, from fixinc/fixincl.sh.
14727
14728 * fixinc/*: Removed.
5906d013 14729
f7b0fb68
JM
147302004-08-31 Joseph S. Myers <jsm@polyomino.org.uk>
14731
14732 * attribs.c (strip_attrs): Remove.
14733 (split_specs_attrs): Move ...
14734 * c-decl.c: ... to here.
14735 * tree.h (split_specs_attrs, strip_attrs): Remove.
14736 * c-tree.h (split_specs_attrs): Declare.
14737
f51a38b9
RS
147382004-08-31 Richard Sandiford <rsandifo@redhat.com>
14739
14740 * read-rtl.c: Disable RTL checking.
14741 (apply_macro_to_rtx): Use XTMPL to access 'T' fields.
14742
34ebf755
RS
147432004-08-31 Richard Sandiford <rsandifo@redhat.com>
14744
14745 * config/mips/mips.md (fcond): New code macro and attribute.
14746 (sunordered_[sd]f, suneq_[sd]f, sunlt_[sd]f, sunle_[sd]f)
14747 (seq_[sd]f, slt_[sd]f, sle_[sd]f): Redefine using :SCALARF and fcond.
14748 (sgt_[sd]f, sge_[sd]f): Redefine using :SCALARF.
14749
9b76aa3b
MM
147502004-08-30 Mark Mitchell <mark@codesourcery.com>
14751
14752 Revert:
14753 2004-08-29 Mark Mitchell <mark@codesourcery.com>
14754 PR rtl-optimization/16590
14755 * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
14756
99fa8911
AP
147572004-08-30 Andrew Pinski <apinski@apple.com>
14758
5906d013 14759 * hard-reg-set.h:
992c944c
AP
14760 s/HOST_BITS_PER_WIDES_FAST_INT/HOST_BITS_PER_WIDEST_FAST_INT.
14761 * ChangeLog: Fix previous ChangeLog entry.
14762
99fa8911 14763 PR rtl-opt/13987
5906d013 14764 * config.host (use_long_long_for_widest_fast_int): New, default is
99fa8911
AP
14765 off.
14766 (ia64-*-hpux*): Enable use_long_long_for_widest_fast_int.
14767 * configure.ac: If use_long_long_for_widest_fast_int, then
14768 define USE_LONG_LONG_FOR_WIDEST_FAST_INT.
14769 * configure: Regenerate.
14770 * config.in: Regenerate.
14771 * hwint.h (HOST_WIDEST_FAST_INT, HOST_BITS_PER_WIDEST_FAST_INT):
14772 New: widest integer type supported efficiently in hardware for the
14773 host.
14774 * sbitmap.h (SBITMAP_ELT_BITS): Define based on
14775 HOST_BITS_PER_WIDEST_FAST_INT.
14776 (SBITMAP_ELT_TYPE): Define based on HOST_WIDEST_FAST_INT.
5906d013 14777 * hard-reg-set.h (HARD_REG_ELT_TYPE): Define based on
99fa8911
AP
14778 HOST_WIDEST_FAST_INT
14779 instead of HOST_WIDE_INT.
14780 (HARD_REG_SET_LONGS): Likewise.
14781 (UHOST_BITS_PER_WIDE_INT): Likewise.
14782 Change the checks for the fast cases to be based on
992c944c 14783 HOST_BITS_PER_WIDEST_FAST_INT instead of HOST_BITS_PER_WIDE_INT.
99fa8911 14784
f4c0250b
SB
147852004-08-30 Steven Bosscher <stevenb@suse.de>
14786
14787 * cfgcleanup.c (merge_memattrs): Look at the value of MEM_SIZE,
14788 not the pointers.
14789
ff164b22
GK
147902004-08-30 Geoffrey Keating <geoffk@apple.com>
14791
14792 PR 12738
14793 PR 17205
14794 Radar 3460526
14795 Radar 3775729
14796 * c-decl.c (grokdeclarator): Produce error for 'static' on local
14797 function declaration.
14798
bc482be4
RH
147992004-08-30 Richard Henderson <rth@redhat.com>
14800
14801 * expr.c (array_ref_element_size): Force aligned_size back to
14802 sizetype.
14803 (component_ref_field_offset): Similarly for aligned_offset.
14804 * tree.c (recompute_tree_invarant_for_addr_expr): Mark raw
14805 low-bound, element-size, field-offset fields rather than
14806 computed values.
14807
21611613
JM
148082004-08-30 Joseph S. Myers <jsm@polyomino.org.uk>
14809
14810 * c-parse.in (parmlist_or_identifiers_1): Remove unreachable and
14811 redundant code.
14812
7b112487
JM
148132004-08-30 Joseph S. Myers <jsm@polyomino.org.uk>
14814
14815 * c-tree.h (struct language_function): Add arg_info element.
14816 * c-decl.c (current_function_arg_info): New.
14817 (grokdeclarator, store_parm_decls): Use it instead of
14818 DECL_ARGUMENTS.
14819 (c_push_function_context, c_pop_function_context): Save and
14820 restore it.
14821
5cc200fc
RH
148222004-08-30 Richard Henderson <rth@redhat.com>
14823
5906d013 14824 * c-typeck.c (build_unary_op): Don't expand ADDR_EXPR of a
5cc200fc
RH
14825 COMPONENT_REF to pointer arithmetic.
14826 * varasm.c (initializer_constant_valid_p): Allow "&(*c).f", for
14827 constant "c" as a valid constant initializer. Allow narrowing of
14828 differences against the same base object, for any base object.
14829
6377bb9a
RH
148302004-08-30 Richard Henderson <rth@redhat.com>
14831
14832 * expr.c (expand_expr_addr_expr): New.
14833 (expand_expr_real_1) <case ADDR_EXPR>: Use it.
14834
308cd611
RS
148352004-08-30 Richard Sandiford <rsandifo@redhat.com>
14836
14837 * config/mips/mips.c (MIPS_FP_CONDITIONS): New macro.
14838 (mips_fp_condition): New enum.
14839 (mips_fp_conditions): New array.
14840 (print_fcc_operand): Delete.
14841 (print_operand): Remove %V, %v and %Q. Redefine %Z so that it prints
14842 the operand and comma if and only if ISA_HAS_8CC. Add %Y.
14843 (builtin_description): Add "cond" field.
14844 (DIRECT_BUILTIN): Initialize it.
14845 (CMP_{SCALAR,PS,4S}_BUILTINS, MOVTF_BUILTINS): Split INSN parameter
14846 into INSN and CODE. Initialize the "cond" field.
14847 (CMP_BUILTINS): Update accordingly.
14848 (mips_bdesc): Use MIPS_FP_CONDITIONS to invoke CMP_BUILTINS.
14849 (mips_expand_builtin_movtf, mips_expand_builtin_compare): Take the
14850 mips_fp_condition as argument. Make it the final operand of the
14851 comparison instruction.
14852 (mips_expand_builtin): Update accordingly.
14853 * config/mips/mips.md (UNSPEC_C_*, UNSPEC_CABS_*): Delete.
14854 (UNSPEC_C, UNSPEC_CABS): New constants. Shuffle others to fill
14855 the gaps.
14856 * config/mips/mips-ps-3d.md (mips_cond_move_tf_ps, bc1any[24][ft]):
14857 Don't use the 'Q' operand prefix; just print the operand normally.
14858 (mips_cabs_*, mips_c_*): Delete, replacing with...
14859 (mips_c_cond_{ps,4s}, mips_cabs_cond_{s,d,ps,4s}): ...these new
14860 patterns. Split the 4s versions into 2 ps patterns after reload.
14861
88f19756
RH
148622004-08-30 Richard Henderson <rth@redhat.com>
14863
14864 * fold-const.c (tree_expr_nonzero_p): Use get_base_address before
14865 assuming an ADDR_EXPR is non-null.
14866
70008293
JM
148672004-08-30 Jason Merrill <jason@redhat.com>
14868
d92a3b38 14869 * gthr-posix.h, gthr-dce.h: Add #pragma weaks.
70008293 14870
8ce16ed6
NS
148712004-08-30 Nathan Sidwell <nathan@codesourcery.com>
14872
14873 * alias.c (mems_in_disjoint_alias_sets_p, record_alias_subset,
14874 record_set, rtx_equal_for_memref_p, init_alias_analysis): Use
14875 gcc_assert and gcc_unreachable instead of abort.
14876 * alloc-pool.c (abort, fancy_abort): Remove.
14877 (create_alloc_pool, free_alloc_pool, pool_alloc, pool_free): Use
14878 gcc_assert or gcc_unreachable.
14879 * attribs.c (init_attributes, decl_attributes): Likewise.
14880 * bb-reorder.c (FREE, find_traces_1_round, copy_bb,
14881 mark_bb_for_unlikely_executed_section,
14882 add_labels_and_missing_jumps, fix_crossing_conditional_branches,
14883 fix_crossing_unconditional_branches): Likewise.
14884 * bitmap.c (bitmap_first_set_bit, bitmap_last_set_bit,
14885 bitmap_operation): Likewise.
14886 * bt-load.c (insn_sets_btr_p, augment_live_range,
14887 move_btr_def): Likewise.
14888 * builtins.c (c_readstr, expand_builtin_longjmp, apply_args_size,
14889 apply_result_size, expand_builtin_apply, expand_builtin_mathfn,
14890 expand_builtin_mathfn_2, expand_builtin_mathfn_3,
14891 builtin_memcpy_read_str, expand_movstr, expand_builtin_stpcpy,
14892 expand_builtin_memcmp, expand_builtin_args_info,
14893 std_gimplify_va_arg_expr, expand_builtin_unop,
14894 expand_builtin_fputs, expand_builtin_profile_func,
14895 expand_builtin_fork_or_exec, fold_builtin_bitop,
14896 fold_builtin_classify, fold_builtin_fputs): Likewise.
14897
fc6633e0
NS
148982004-08-30 Nathan Sidwell <nathan@codesourcery.com>
14899
e0448193
NS
14900 * gcov-io.c (GCOV_CHECK): Use gcc_assert when available.
14901 * gcov.c (abort): Remove undef.
14902
fc6633e0
NS
14903 * tree.h (BINFO_PRIMARY_BASE_OF): Remove.
14904 (struct tree_binfo): Remove primary field.
14905
89b8abbf
PB
149062004-08-30 Paolo Bonzini <bonzini@gnu.org>
14907
14908 * fixinc/Makefile.in (machname.h): Remove.
14909 (fixincl.x): Do not pass $@ to genfixes.
14910 * fixinc/genfixes: Remove code to produce machname.h.
14911 * fixinc/fixincl.sh: Move it here instead.
14912 * fixinc/fixlib.c: Do not conditionalize on MN_NAME_PAT's presence,
14913 instead check if pz_mn_name_pat is NULL. Make mn_get_regexps
14914 return a bool indicating whether pz_mn_name_pat is NULL.
14915 * fixinc/fixlib.h: Do not conditionalize on MN_NAME_PAT's presence.
14916 Declare extern C variables for the ENV_TABLE.
14917 * fixinc/fixfixes.c: Do not conditionalize on MN_NAME_PAT's presence,
14918 instead use the result of mn_get_regexps.
14919 * fixinc/fixtests.c: Likewise.
14920
39880d37
PB
149212004-08-30 Paolo Bonzini <bonzini@gnu.org>
14922
14923 * configure.ac: Do not run fixincludes after stage1 during
14924 toplevel bootstrap.
14925 * configure: Regenerate.
14926
a8b3643c
RE
149272004-08-30 Richard Earnshaw <rearnsha@arm.com>
14928
14929 * sched-deps.c (get_condition): Partially revert previous, by never
14930 trying to extract the condition from a condjump.
14931
fc6633e0
NS
149322004-08-30 Nathan Sidwell <nathan@codesourcery.com>
14933
14934 * c-common.c (c_sizeof_or_alignof_type): Use gcc_assert.
14935 (handle_visibility_attribute, c_determine_visibility): Likewise.
14936 * c-common.h (my_friendly_assert): Remove.
14937
afa396ff
RS
149382004-08-30 Richard Sandiford <rsandifo@redhat.com>
14939
14940 * config/mips/mips.md (UNSPEC_{RSQRT,RECIP}[12]_{S,D,PS}): Delete.
14941 (UNSPEC_{RSQRT,RECIP}[12]): New constants.
14942 (UNSPEC_MOVE_TF_PS): Renumber to avoid gaps.
14943 * config/mips/mips-ps-3d.md (*movcc_v2sf_[sd]i): Use :GPR.
14944 (mips_{rsqrt,recip}[12]_{s,d,ps}): Use :ANYF.
14945
ef6379fd
DN
149462004-08-30 Diego Novillo <dnovillo@redhat.com>
14947
14948 * tree-pretty-print.c (dump_generic_node): Handle VALUE_HANDLE
14949 in COMPONENT_REF nodes.
14950
7783b402
GDR
149512004-08-29 Gabriel Dos Reis <gdr@integrable-solutions.net>
14952
14953 PR c++/15378
14954 * c-opts.c (c_common_handle_option): <case OPT_Werror> set
14955 global_dc->warning_as_error_requested.
14956 * diagnostic.c (diagnostic_initialize): Tidy.
14957 * diagnostic.h (diagnostic_context::x_data): Remove
14958 (diagnostic_context::issue_warnings_are_errors_message): Rename
14959 from warnings_are_errors_message.
14960 (diagnostic_context::warning_as_error_requested): New.
14961
adf968c7
RE
149622004-08-30 Richard Earnshaw <rearnsha@arm.com>
14963
14964 * sched-deps.c (get_condition): Fix breakage in previous patch.
14965
999f4d5e
PB
149662004-08-30 Paul Brook <paul@codesourcery.com>
14967
14968 * doc/install.texi: Fix broken mpfr link.
14969
5a0c2304
DB
149702004-08-29 David O'Brien <obrien@FreeBSD.org>
14971
14972 * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Sync '-p' handling with
14973 other FreeBSD platforms.
14974
880873be
RE
149752004-08-29 Richard Earnshaw <rearnsha@arm.com>
14976
14977 * arm.h (REVERSE_CONDITION): Define.
14978 (REVERSIBLE_CC_MODE): All comparisons are now reversible.
14979
15dce812
RE
149802004-08-29 Richard Earnshaw <rearnsha@arm.com>
14981
14982 * flow.c (REVERSE_CONDEXEC_PREDICATES_P): Use the whole comparison, not
14983 just the codes, call reversed_comparison_code ().
14984 (ior_reg_cond): Update arguments to REVERSE_CONDEXEC_PREDICATES_P.
14985 (not_reg_cond): Use reversed_comparison_code.
14986 (and_reg_cond): Likewise.
14987 * ifcvt.c (cond_exec_process_if_block): Likewise.
14988 * doc/tm.texi (REVERSE_CONDEXEC_PREDICATES_P): Update documentation.
14989
6903ecd4
RE
149902004-08-29 Richard Earnshaw <rearnsha@arm.com>
14991
14992 * sched-deps.c (get_condition): Rewrite using jump support functions.
14993 Use reversed_comparison_code.
14994 (conditions_mutex_p): Use reversed_comparison_code.
14995
ea9bfbf2
RS
149962004-08-29 Richard Sandiford <rsandifo@redhat.com>
14997
14998 * config/mips/mips.c (override_options): Disable hot/cold partitioning
14999 for MIPS16.
15000
4ca1f68f
RS
150012004-08-29 Richard Sandiford <rsandifo@redhat.com>
15002
15003 * config/mips/mips.h (mips_builtins, mips_cmp_choice): Delete.
15004 (mips_function_type): Move to mips.c.
15005 * config/mips/mips.c (mips_builtin_type): New enum.
15006 (builtin_description): Replace code and ftype with builtin_type
15007 and function_type.
15008 (DIRECT_BUILTIN, CMP_SCALAR_BUILTINS, CMP_PS_BUILTINS, CMP_4S_BUILTINS)
15009 (MOVTF_BUILTINS, CMP_BUILTINS): New macros.
15010 (CODE_FOR_mips_abs_ps): Define.
15011 (mips_bdesc): Use new macros.
15012 (mips_expand_builtin): Use builtin_type. Update calls to subroutines.
15013 (mips_init_builtins): Use the mips_bdesc[] index as the function code.
15014 (mips_expand_builtin_direct): New function.
15015 (mips_expand_builtin_movtf): Renamed from mips_expand_ps_cond_move_
15016 builtin. Replace boolean parameter with builtin_type.
15017 (mips_expand_compare_builtin, mips_expand_scalar_compare_builtin)
15018 (mips_expand_4s_compare_builtin): Delete, replacing with...
15019 (mips_expand_builtin_compare): ...this new function.
15020
5e9f78cc
MM
150212004-08-29 Mark Mitchell <mark@codesourcery.com>
15022
15023 PR rtl-optimization/16590
15024 * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
15025
766ff1b1
DN
150262004-08-29 Diego Novillo <dnovillo@redhat.com>
15027
15028 * tree-ssa-ccp.c (ccp_visit_stmt): Remove #if 0 guards.
15029 * tree-ssa-propagate.c: Fix documentation.
15030
2435c4c1
RS
150312004-08-29 Richard Sandiford <rsandifo@redhat.com>
15032
15033 * config/mips/mips.md (*mov[sd]f_on_*): Redefine using :SCALARF.
15034 (mov[sd]fcc): Likewise.
15035
53d9ac3b
RS
150362004-08-29 Richard Sandiford <rsandifo@redhat.com>
15037
15038 * config/mips/mips.md (cmp[sd]f): Redefine using :SCALARF.
15039
93898c8b
RS
150402004-08-29 Richard Sandiford <rsandifo@redhat.com>
15041
15042 * config/mips/mips.md (divide_condition): New mode attribute.
15043 (div[sd]f3, *div[sd]f3): Use it. Redefine using :SCALARF.
15044 (sqrt[sd]f3): Redefine using SCALARF.
15045 (*recip[sd]f3, *rsqrt<mode>[ab]): Likewise. Name formerly unnamed
15046 patterns.
15047
aae0609c
RS
150482004-08-29 Richard Sandiford <rsandifo@redhat.com>
15049
15050 * config/mips/mips.md (ANYF, SCALARF): New mode macros.
15051 (loadx, storex, fmt, UNITMODE): New mode attributes.
15052 (add{sf,df,v2sf}3, sub{sf,df,v2sf}3): Redefine using :ANYF.
15053 (mul[sd]f3): Redefine using :SCALARF.
15054 (*mul[sd]f3): Renamed from mul[sd]f3_internal. Use :SCALARF.
15055 (*mul[sd]3_r4300): Likewise mul[sd]f3_r4300.
15056 (*m{add,sub}{sf,df,v2sf}3): Name formerly unnamed patterns. Use :ANYF.
15057 Check TARGET_FUSED_MADD for V2SF too.
15058 (*nm{add,sub}{sf,df,v2sf}3{,_fastmath}): Likewise, except v2sf patterns
15059 were already named.
15060 (abs{sf,df,v2sf}3, neg{sf,df,v2sf}3): Redefine using :ANYF.
15061 (*[sl][wd]xc1_[sd]i): Redefine using :ANYF.
15062
74fc61d1
RS
150632004-08-29 Richard Sandiford <rsandifo@redhat.com>
15064
15065 * config/mips/mips.c (mips_init_builtins): Simplify. Only create
15066 V2SF_type_node if it will be needed.
15067
ff55fb9c
RS
150682004-08-29 Richard Sandiford <rsandifo@redhat.com>
15069
15070 * config/mips/mips.h (MIPS_CMP_MOVT, MIPS_CMP_MOVF): Delete.
15071 * config/mips/mips.c (mips_prepare_builtin_arg): New function.
15072 (mips_prepare_builtin_target): New function.
15073 (mips_expand_builtin): Use them. Update calls to subroutines.
15074 (mips_expand_ps_cond_move_builtin): Use the new functions. Replace
15075 cmp_choice with a boolean argument to select between movt and movf.
15076 Take the comparison's icode as an argument, not the function's fcode.
15077 (mips_expand_compare_builtin): New function. Rename existing function
15078 to mips_expand_scalar_compare_builtin.
15079 (mips_expand_scalar_compare_builtin, mips_expand_4s_compare_builtin)
15080 (mips_expand_ps_compare_builtin): Use the new functions. Take the
15081 comparison's icode as an argument, not the builtin's fcode.
15082
f691c4e3
RS
150832004-08-29 Richard Sandiford <rsandifo@redhat.com>
15084
15085 * config/mips/mips.c (print_operand): Remove '%Y' and '%y'.
15086 (mips_expand_4s_compare_builtin): Redefine CCV4 to be 0 if all
15087 registers are false and -1 if all registers are true.
15088 (mips_expand_ps_compare_builtin): Likewise CCV2. Use subregs for
15089 MIPS_CMP_UPPER and MIPS_CMP_LOWER.
15090 * config/mips/mips.md (mips_cond_move_tf_ps): Use %Q rather than %y.
15091 (bc1any4t, bc1any4f): Adjust for new CCV4 interpretation.
15092 (bc1any2t, bc1any2f): Likewise CCV2.
15093 (bc1upper2t, bc1lower2t, bc1upper2f, bc1lower2f): Delete.
15094
49135706
RS
150952004-08-29 Richard Sandiford <rsandifo@redhat.com>
15096
15097 * config/mips/mips.md (UNSPEC_MOVE_TF_PS): New.
15098 * config/mips/mips-ps-3d.md (mips_cond_move_tf_ps): Express as an
15099 UNSPEC rather than an IF_THEN_ELSE.
15100 * config/mips/mips.c (mips_expand_ps_cond_move_builtin): Emit
15101 mips_cond_move_tf_ps by name.
15102
06a4ab70
CF
151032004-08-29 Chao-ying Fu <fu@mips.com>
15104 James E Wilson <wilson@specifixinc.com>
5906d013 15105
06a4ab70
CF
15106 * config/mips/mips-modes.def (V2SF, CCV2, CCV4): New modes. Give CCV2
15107 8 byte size and alignment. Give CCV4 16 byte size and alignment.
15108 * config/mips/mips-ps-3d.md: New file.
15109 * config/mips/mips.c (TARGET_VECTOR_MODE_SUPPORTED_P,
15110 TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
15111 (mips_const_insns): Handle CONST_VECTOR the same as CONST_DOUBLE.
15112 (mips_output_move): Emit "mov.ps" for V2SFmode.
15113 (mips_arg_info): Add checks for VECTOR_FLOAT_TYPE_P and
15114 MODE_VECTOR_FLOAT.
15115 (override_options): Check if TARGET_MIPS3D and there was an explicit
15116 !TARGET_PAIRED_SINGLE_FLOAT. Set MASK_PAIRED_SINGLE, if TARGET_MIPS3D.
15117 Check if TARGET_FLOAT64 and TARGET_HARD_FLOAT are both true, when
15118 TARGET_PAIRED_SINGLE_FLOAT is true. Check if the ISA supports
15119 TARGET_PAIRED_SINGLE_FLOAT. Allow MODE_VECTOR_FLOAT in fp registers,
15120 and allow CCV2 and CCV4 to occupy two and four CC registers.
15121 (print_fcc_operand): New function.
15122 (print_operand): Add %Y, %y, %V, %v, %Q for CCV2, CCV4, CC. Modify
15123 %Z to call print_fcc_operand.
15124 (mips_function_value): Handle MODE_VECTOR_FLOAT.
15125 (mips_class_max_nregs): Check for ST_REGS, and handle CCmodes.
15126 (mips_vector_mode_supported_p): New function.
15127 (mips_hard_regno_nregs): Check for ST_REG_P, and handle CCmodes.
15128 (builtin_description): New struct.
15129 (mips_bdesc): New array of struct builtin_description.
15130 (mips_expand_builtin, mips_init_builtins,
15131 mips_expand_ps_cond_move_builtin, mips_expand_4s_compare_builtin,
15132 mips_expand_compare_builtin, mips_expand_ps_compare_builtin): New
15133 functions.
15134 * config/mips/mips.h (MASK_PAIRED_SINGLE, MASK_MIPS3D): New defines.
15135 (TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D): New defines.
15136 (TARGET_CPU_CPP_BUILTINS): Add __mips_paired_single_float.
15137 (TARGET_SWITCHES): Added "-mpaired-single", "-mno-paired-single",
15138 "-mips3d", and "-mno-mips3d".
15139 (ASM_SPEC): Map -mips3d to -mips3d in gas.
15140 (EXTRA_CONSTRAINT_Y): New macro.
15141 (EXTRA_CONSTRAINT_STR): Renamed from EXTRA_CONSTRAINT. Add new
15142 multi-letter constraint 'Y'.
15143 (CONSTRAINT_LEN): New macro.
15144 (enum mips_builtins): New for MIPS builtin functions.
15145 (enum mips_function_type): New for the types of MIPS builtin functions.
15146 (enum mips_cmp_choice): New for the MIPS comparison builtin functions.
5906d013 15147 * config/mips/mips.md: New constants for paired single and MIPS-3D
06a4ab70
CF
15148 instructions. Include the new mips-ps-3d.md file.
15149 (addv2sf3, subv2sf3, mulv2sf3, absv2sf2, negv2sf2, movv2sf,
15150 movv2sf_hardfloat_64bit): New named patterns.
15151 (madd.ps, msub.ps, nmaddv2sf, nmaddv2sf_fastmath, nmsubv2sf,
15152 nmsubv2sf_fastmath, ldxc1_v2sf_si, ldxc1_v2sf_di, sdxc1_v2sf_si,
15153 sdxc1_v2sf_di): New unnamed patterns.
15154 * config/mips/predicates.md (const_0_operand, const_1_operand): Add
15155 const_vector support.
15156 (const_0_or_1_operand): New predicate.
15157 * doc/invoke.texi (MIPS Options): Add -mpaired-single and -mips3d.
15158
750628d8
DN
151592004-08-29 Diego Novillo <dnovillo@redhat.com>
15160
15161 * Makefile.in (OBJS-common): Add tree-ssa-propagate.o
15162 (tree-ssa-propagate.o): New rule.
15163 (GTFILES): Add tree-ssa-propagate.c.
15164 * tree-flow.h (struct stmt_ann_d): Remove field
15165 in_ccp_worklist.
15166 * tree-ssa-propagate.c: New file.
15167 * tree-ssa-propagate.h: New file.
15168 * tree-ssa-ccp.c: Re-write to use the routines from
15169 tree-ssa-propagate.c.
15170
f108270b
AP
151712004-08-28 Andrew Pinski <apinski@apple.com>
15172
15173 * tree-ssa-loop.c: Remove extra include of basic-block.h.
15174
e5a002e3
ZL
151752004-08-28 Ziemowit Laski <zlaski@apple.com>
15176
15177 * c-common.h: Update comments about ObjC/ObjC++ entry points.
15178 (objc_is_reserved_word): New prototype.
15179 (get_current_scope, objc_mark_locals_volatile): Move prototypes to
15180 separate section; these are call-backs.
15181 * c-lex.c (c_lex_with_flags): Call objc_is_reserved_word() to detect
15182 ObjC/ObjC++ "@" keywords.
15183 * c-tree.h (get_current_scope, objc_mark_locals_volatile): Remove
15184 prototypes; they already live in c-common.h.
15185 * stub-objc.c: Update copyright notice.
15186 (objc_is_reserved_word): New stub.
15187
2c46a62f
NS
151882004-08-28 Nathan Sidwell <nathan@codesourcery.com>
15189
15190 * system.h (gcc_assert): Remove __builtin_expect. Evaluate EXPR
15191 even when not checking.
15192
40aac948
JM
151932004-08-27 Jason Merrill <jason@redhat.com>
15194
15195 PR c++/13684
15196 * gimplify.c (gimplify_cleanup_point_expr): Handle CLEANUP_EH_ONLY.
15197 (gimple_push_cleanup): Add eh_only parm.
15198 (gimplify_target_expr): Pass it.
15199 * c.opt (-fno-threadsafe-statics): New option.
15200 * c-opts.c (c_common_handle_option): Handle it.
15201 * c-common.h (flag_threadsafe_statics): Declare it.
15202 * c-common.c (flag_threadsafe_statics): Record it.
15203 * doc/invoke.texi: Document it.
15204 * tsystem.h (_GNU_SOURCE): Define.
15205 * gthr-posix.h (__gthread_recursive_mutex_t): New typedef.
15206 (__GTHREAD_RECURSIVE_MUTEX_INIT): New macro.
15207 (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): New macro.
15208 (__gthread_recursive_mutex_init_function): New fn.
15209 (__gthread_recursive_mutex_lock): New fn.
15210 (__gthread_recursive_mutex_trylock): New fn.
15211 (__gthread_recursive_mutex_unlock): New fn.
15212 * gthr-solaris.h, gthr-single.h, gthr-dce.h: Likewise.
15213 * gthr-win32.h, gthr-vxworks.h: Likewise.
15214 * gthr.h: Document.
15215
1494c534
DE
152162004-08-27 David Edelsohn <edelsohn@gnu.org>
15217
15218 * config/rs6000/rs6000.c (rs6000_override_options): Increase
15219 maximum skip to 15. Set function alignment, jump alignment, and
15220 loop alignment to 16 for processors that form dispatch groups.
03e9c50a 15221 (rs6000_rtx_costs): outer_code is used.
1494c534 15222
ce552f75
NS
152232004-08-27 Nathan Sidwell <nathan@codesourcery.com>
15224
e3861d2a
NS
15225 * stor-layout.c (sizetype_set): Remove.
15226 (set_sizetype): Don't test or set it.
15227
ce552f75
NS
15228 * tree.h (size_int_type): Remove.
15229 * fold-const.c: Do not #include gt-fold-const.h.
15230 (size_htab_hash, size_htab_eq): Remove.
15231 (size_int_kind): Use build_int_cst.
15232 (new_const, size_htab): Remove.
15233 (size_int_type): Remove.
15234 (round_up): Use build_int_cst.
15235 (round_down): Likewise. Remove spurious constant build.
15236
06c37c96
NS
152372004-08-27 Nathan Sidwell <nathan@codesourcery.com>
15238
15239 * configure.ac: Add ENABLE_ASSERT_CHECKING control.
15240 Add is_release variable, use it for --enable-werror and
15241 --enable-checking defaults.
15242 * system.h (gcc_assert, gcc_unreachable): New.
15243 * doc/install.texi (--enable-checking): Update.
15244 * configure, config.in: Rebuilt.
15245
57406c63
RS
152462004-08-26 Richard Sandiford <rsandifo@redhat.com>
15247
15248 * rtl.h (read_rtx): Change prototype.
15249 * read-rtl.c (read_rtx): Provide the caller with both an rtx and a
15250 line number. Return true on success.
15251 * gensupport.c (process_include, init_md_reader_args_cb): Adjust
15252 callers accordingly.
15253
ee8a6a3e
RH
152542004-08-26 Richard Henderson <rth@redhat.com>
15255
15256 * c-typeck.c (build_offsetof): Remove.
15257 * c-tree.h (build_offsetof): Remove.
15258 * c-common.c (fold_offsetof_1, fold_offsetof): New.
15259 * c-common.h (fold_offsetof): Declare.
15260 * c-parse.in (offsetof_base): New.
15261 (offsetof_member_designator): Use it. Build references, not just
15262 a tree list.
15263 (primary): Use fold_offsetof, not build_offsetof.
15264
525c6bf5
RH
152652004-08-26 Richard Henderson <rth@redhat.com>
15266
15267 * tree.c (staticp): Return the static object.
15268 * tree.h (staticp): Update decl.
15269 * langhooks.h (struct lang_hooks): Change staticp return type to tree.
15270 * langhooks.c (lhd_staticp): Return NULL_TREE.
15271 * langhooks-def.h (lhd_staticp): Update decl.
15272 * c-common.c (c_staticp): Return the static object.
15273 * c-common.h (c_staticp): Update decl.
15274
d416c0b3
RH
152752004-08-26 Richard Henderson <rth@redhat.com>
15276
15277 * config/alpha/alpha.h (HARD_REGNO_MODE_OK): Allow complex float
15278 modes.
15279
0b410f0b
JM
152802004-08-26 Joseph S. Myers <jsm@polyomino.org.uk>
15281
15282 PR c/13801
15283 * c-decl.c (struct c_binding): Add type and inner_comp fields.
15284 (bind): Set type and inner_comp fields.
15285 (pop_scope): Restore type of decl to the correct type from an
15286 outer scope. Give error when popping file scope for incomplete
15287 arrays completed incompatibly with default initialization in an
15288 inner scope.
15289 (diagnose_mismatched_decls): Handle externs with initializers at
15290 block scope.
15291 (pushdecl): Set type of external declaration at block scope based
15292 only on the visible declarations. Save type when changing the
15293 type of a declaration. Merge an external declaration at block
15294 scope with a visible static declaration at file scope.
15295 (implicitly_declare): Give recycled old declaration the new type
15296 except for incompatible declarations of built-in functions, saving
15297 the old type.
15298
b77c7437
ZL
152992004-08-26 Ziemowit Laski <zlaski@apple.com>
15300
15301 * c-parse.in (OBJC_TYPE_QUAL): New %token for ObjC use.
15302
a228baff
DB
153032004-08-26 Daniel Berlin <dberlin@dberlin.org>
15304
15305 * tree-alias-common.c (gate_pta): New function.
15306 (pass_build_pta): Use it.
15307 (pass_del_pta): Use it.
15308 (delete_alias_vars): Don't check flag_tree_points_to.
15309
2e6c9641
FJ
153102004-08-26 Fariborz Jahanian <fjahanian@apple.com>
15311
5906d013 15312 * config/rs6000/rs6000.h (HARD_REGNO_CALL_PART_CLOBBERED): Added
2e6c9641
FJ
15313 TFmode as additional register mode cloberred by call.
15314
153152004-08-26 Fariborz Jahanian <fjahanian@apple.com>
15316
15317 * config/rs6000/rs6000.c (rs6000_libcall_value): Generate
15318 parallel pattern for library call returning DImode in
15319 mixed mode.
15320
153212004-08-26 Fariborz Jahanian <fjahanian@apple.com>
15322
15323 * config/rs6000/rs6000.c (function_arg): Generate parallel
15324 pattern for more split args.
15325
153262004-08-26 Fariborz Jahanian <fjahanian@apple.com>
15327
15328 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Call
15329 either gen_movdi_di_update or gen_movdi_si_update depending on
15330 target mode.
15331 * config/rs6000/rs6000.md (movdi_update): Changed to movdi_<mode>_update,
15332 to generate two versions.
5906d013 15333
36d59cf7
DB
153342004-08-26 Daniel Berlin <dberlin@dberlin.org>
15335
15336 * Makefile.in (lambda-code.o): New.
15337 (lambda-trans.o): Ditto.
15338 (TREE_DATA_REF_H): Ditto.
15339 (LAMBDA_H): Ditto.
15340 (lambda-mat.o): Use LAMBDA_H.
15341 (tree-data-ref.o): Ditto.
15342 * lambda-code.c: New file. Lambda code generation algorithm.
15343 * lambda-trans.c: Ditto. Lambda transformation matrix support.
15344 * lambda.h: Add lambda loop structures.
15345 Add lambda loopnest structures.
15346 Add lambda body vector structure.
15347 Add lambda linear expression structures.
15348 Add prototypes for functions in new files.
15349 * lambda-mat.c: Include tree.h
15350
153512004-08-26 Daniel Berlin <dberlin@dberlin.org>
5906d013
EC
15352 Sebastian Pop <pop@cri.ensmp.fr>
15353
15354 * tree-data-ref.h: Include lambda.h
36d59cf7 15355 (free_dependence_relation): Declared here.
5906d013 15356 (free_dependence_relations): Ditto.
36d59cf7
DB
15357 (free_data_refs): Ditto.
15358 * tree-data-ref.c (free_dependence_relation): New function.
15359 (free_dependence_relations): Ditto.
15360 (free_data_refs): Ditot.
15361 (analyze_all_data_dependences): Free datarefs and dependence_relations.
15362 (build_classic_dist_vector): Store in the dependence_relations the
15363 information. Each arc in the dependence_relations graph is labelled
15364 with the distance and direction vectors.
15365 (build_classic_dir_vector): Ditto.
15366 (compute_rw_wr_ww_dependences): Renamed again compute_all_dependences.
15367 Now computes again the whole dependence graph including read-read
15368 relations.
15369 (compute_data_dependences_for_loop): Now dependence_relations contains
15370 all the data, and thus it doesn't need to initialize the classic_dir
15371 and classic_dist vectors.
15372 (analyze_all_data_dependences): Adjusted for using the new interface of
15373 compute_data_dependences_for_loop. Remove the statistics dump.
5906d013 15374
a46bbb5a
BW
153752004-08-26 Bob Wilson <bob.wilson@acm.org>
15376
15377 * config/xtensa/xtensa.c (xtensa_ld_opcodes, xtensa_st_opcodes): Delete.
15378 (xtensa_expand_block_move): Update comment.
15379 (override_options): Remove initialization of xtensa_{ld,st}_opcodes.
15380
52351a5e
RE
153812004-08026 Richard Earnshaw <rearnsha@arm.com>
15382
15383 PR target/13506
15384 * toplev.c (crash_signal): If we crashed while emitting
15385 a user asm, then die more gracefully.
15386
b72e46f0
NC
153872004-08-26 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
15388
15389 PR target/17119.
15390 * config/m32r.c (gen_compare): Use reg_or_int16_operand when
15391 checking for a valid constant, regardless of sign.
15392
fd9363bf
RH
153932004-08-25 Richard Henderson <rth@redhat.com>
15394
d416c0b3
RH
15395 PR target/16974
15396 * config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting
15397 if the constant satisfies add_operand.
fd9363bf 15398
45f413e4 153992004-08-25 Richard Henderson <rth@redhat.com>
5906d013 15400
d416c0b3
RH
15401 PR debug/10695
15402 * config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New.
15403 (alpha_expand_prologue): Handle >32-bit frames. Generate proper
15404 unwind info for >16-bit frames.
45f413e4 15405
7e233208
RK
154062004-08-25 Richard B. Kreckel <richard.kreckel@framatome-anp.com>
15407
15408 PR target/17171
15409 * config/i386/gas.h (ASM_COMMENT_START): Define to "#".
15410
04886dc0
RH
154112004-08-25 Richard Henderson <rth@redhat.com>
15412
d416c0b3
RH
15413 * config/alpha/alpha.c (alpha_cannot_force_const_mem): New.
15414 (TARGET_CANNOT_FORCE_CONST_MEM): New.
04886dc0 15415
aca2bd7c
AM
154162004-08-25 Andrew MacLeod <amacleod@redhat.com>
15417
15418 * doc/tree-ssa.texi: Document new operand iterator.
15419
0423421f
AM
154202004-08-26 Alan Modra <amodra@bigpond.net.au>
15421
15422 PR target/16480
15423 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Don't abort
15424 on "(mem (symbol_ref ..))" rtl. Look at LO_SUM base regs as well
15425 as PLUS base regs.
15426
e4dc702c
PB
154272005-08-28 Paul Brook <paul@codesourcery.com>
15428
15429 * config/arm/symbian.h (SUBTARGET_ASM_FLOAT_SPEC): Default to
15430 -mfpu=vfp -march=armv5t
37d5a9a5 15431 * config/arm/t-symbian: Change multilib to mfloat-abi=softfp.
e4dc702c 15432
6dd53648
RH
154332004-08-25 Richard Henderson <rth@redhat.com>
15434
15435 * target-def.h (TARGET_SCALAR_MODE_SUPPORTED_P): New.
15436 * target.h (struct gcc_target): Add scalar_mode_supported_p.
15437 * targhooks.c (default_scalar_mode_supported_p): New.
15438 * targhooks.h (default_scalar_mode_supported_p): Declare.
15439 * doc/tm.texi (TARGET_SCALAR_MODE_SUPPORTED_P): Document.
15440
15441 * c-common.c (handle_mode_attribute): Query scalar_mode_supported_p
15442 before attempting to create types. Tidy.
15443 * expr.c (vector_mode_valid_p): Use scalar_mode_supported_p.
15444
15445 * config/alpha/alpha.c (alpha_scalar_mode_supported_p): New.
15446 (TARGET_SCALAR_MODE_SUPPORTED_P): New.
15447
bab2b22b
RH
154482004-08-25 Richard Henderson <rth@redhat.com>
15449
15450 * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Don't
15451 set REAL_MODE_FORMAT for TFmode.
15452
c34be55e
ZL
154532004-08-25 Ziemowit Laski <zlaski@apple.com>
15454
15455 * c-decl.c (grokparm): New function.
15456 * c-tree.h (grokparm): New prototype.
15457
4c124b4c
AM
154582004-08-25 Andrew MacLeod <amacleod@redhat.com>
15459
15460 * tree-ssa-operands.h (struct ssa_operand_iterator_d): New. SSA operand
15461 iterator controlling structure.
15462 (SSA_OP_USE, SSA_OP_DEF, SSA_OP_VUSE, SSA_OP_VMAYUSE, SSA_OP_VMAYDEF,
15463 SSA_OP_VMUSTDEF, SSA_OP_VIRTUAL_USES, SSA_OP_VIRTUAL_DEFS,
15464 SSA_OP_ALL_USES, SSA_OP_ALL_DEFS, SSA_OP_ALL_OPERANDS): New. Operand
15465 iterator flags.
15466 (FOR_EACH_SSA_TREE_OPERAND): New. Iterate over operands as trees.
15467 (FOR_EACH_SSA_USE_OPERAND): New. Iterate over operands as uses.
15468 (FOR_EACH_SSA_DEF_OPERAND): New. Iterate over operands as defs.
15469 (FOR_EACH_SSA_MAYDEF_OPERAND): New. Iterate over V_MAY_DEFs.
5906d013 15470 * tree-ssa-operands.c (NULL_DEF_OPERAND_P, NULL_USE_OPERAND_P): New.
4c124b4c
AM
15471 Empty operand pointers.
15472 * tree-flow-inline.h (op_iter_done): New. Return true if finished.
15473 (op_iter_next_use): New. Return next use_operand_p.
15474 (op_iter_next_def): New. Return next def_operand_p.
15475 (op_iter_next_tree): New. Return next operands as a tree.
15476 (op_iter_init): New. Initialize an iterator structure.
15477 (op_iter_init_use): New. Initialize structure and get the first use.
15478 (op_iter_init_def): New. Initialize structure and get the first def.
15479 (op_iter_init_tree): New. Initialize structure and get the first tree.
15480 (op_iter_next_maydef): New. Return next V_MAY_DEF operands.
5906d013 15481 (op_iter_init_maydef): New. Initialize structure and get the first
4c124b4c
AM
15482 V_MAY_DEF operands.
15483 * tree-cfg.c (tree_duplicate_bb): Use new operand iterator.
5906d013 15484 * tree-dfa.c (compute_immediate_uses_for_stmt,
4c124b4c
AM
15485 redirect_immediate_uses): Use new operand iterator.
15486 (v_may_defs_disappeared_p, v_must_defs_disappeared_p): Delete.
15487 (mark_new_vars_to_rename): Use new operand iterator. Count virtual
15488 operands instead of using *_disappeared_p routines.
15489 * tree-into-ssa.c (mark_def_sites, ssa_mark_def_sites, rewrite_stmt,
15490 ssa_rewrite_stmt): Use new operand iterator.
15491 * tree-outof-ssa.c (check_replaceable, find_replaceable_in_bb,
15492 rewrite_trees): Use new operand iterator.
15493 * tree-pretty-print.c (dump_vops): Use new operand iterator.
15494 * tree-sra.c (mark_all_v_defs): Use new operand iterator.
5906d013 15495 * tree-ssa-alias.c (compute_points_to_and_addr_escape,
4c124b4c 15496 dump_points_to_info): Use new operand iterator.
5906d013
EC
15497 * tree-ssa-ccp.c (cp_lattice_meet, visit_stmt, initialize,
15498 replace_uses_in, replace_vuse_in, likely_value, set_rhs): Use new
4c124b4c 15499 operand iterator.
5906d013 15500 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary,
4c124b4c
AM
15501 propagate_necessity): Use new operand iterator.
15502 * tree-ssa-dom.c (cprop_into_stmt, optimize_stmt): Use operand iterator.
15503 (register_definitions_for_stmt): Use new operand iterator. Take stmt as
15504 a parameter instead of a stmt_ann_t.
15505 * tree-ssa-live.c (create_ssa_var_map, calculate_live_on_entry,
15506 build_tree_conflict_graph): Use new operand iterator.
15507 * tree-ssa-loop-im.c (determine_max_movement, single_reachable_address,
15508 rewrite_mem_refs): Use new operand iterator.
5906d013 15509 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt,
4c124b4c
AM
15510 check_loop_closed_ssa_use): Use new operand iterator.
15511 * tree-ssa.c (verify_ssa, replace_immediate_uses): Use operand iterator.
15512 * tree-ssanames.c (release_defs): Use new operand iterator.
15513 * tree-vectorizer.c (vect_create_data_ref): Use new operand iterator.
15514
4185f1ce
AN
155152004-08-25 Adam Nemet <anemet@lnxw.com>
15516
15517 * tlink.c (initial_cwd): New variable.
15518 (tlink_init): Initialize it.
15519 (recompile_files): Use tlink_execute() instead of system(). Don't
15520 duplicate verbose output of collect_execute. Restore initial_cwd.
15521 Update comment before the function.
15522
700686fa
ZL
155232004-08-25 Ziemowit Laski <zlaski@apple.com>
15524
15525 * c-typeck.c (build_c_cast): In ObjC, always preserve (and silently
15526 accept) a cast from one Objective-C pointer type to another.
15527
7fb654ef
PC
155282004-08-25 Paolo Carlini <pcarlini@suse.de>
15529
15530 * doc/install.texi: Document that libstdc++-v3 requires
15531 now automake 1.9.1.
15532
8e8d5162
CT
155332004-08-25 Caroline Tice <ctice@apple.com>
15534
15535 * bb-reorder.c (partition_hot_cold_basic_blocks): Add more details
15536 to comments at start of function.
15537 * cfgbuild.c (make_edges): Add more details to hot/cold partitioning
15538 comment.
5906d013
EC
15539 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
15540 merge_blocks_move_predecessor_nojumps,
15541 merge_blocks_move_successor_nojumps, merge_blocks_move,
8e8d5162
CT
15542 try_crossjump_to_edge, try_crossjump_bb): Likewise.
15543 * cfglayout.c (fixup_reorder_chain): Likewise.
15544 * cfgrtl.c (rtl_can_merge_blocks, try_redirect_by_replacing_jump,
15545 cfg_layout_can_merge_blocks_p): Likewise.
15546 * ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
5906d013 15547 * passes.c (rest_of_compilation): Update comments for calling
8e8d5162 15548 optimization that partitions hot/cold basic blocks.
5906d013 15549 * doc/invoke.texi: Update documentation of
8e8d5162 15550 freorder-blocks-and-partition flag.
5906d013 15551
41a21e1d
RS
155522004-08-25 Richard Sandiford <rsandifo@redhat.com>
15553
15554 * config/mips/mips.md (reg): Renamed mode attribute from ccreg.
15555 (*mov*_on_*): Adjust accordingly. Add an explicit MOVECC: prefix.
15556
e5f14571
RS
155572004-08-25 Richard Sandiford <rsandifo@redhat.com>
15558
15559 * config/mips/mips.md (any_shift): New code macro.
15560 (optab, insn): New code attributes.
15561 ({ashl,ashr,lshr}[sd]i3): Redefine using :GPR and any_shift.
15562 Use the standard rather than internal patterns for the MIPS16
15563 double-shift optimization.
15564 (*{ashl,ashr,lshr}[sd]i3): New names for the non-mips16 shift patterns.
15565 Redefine using :GPR and any_shift.
15566 (*{ashl,ashr,lshr}si3_extend): Generalize ashlsi3_internal1_extend
15567 to cover all three shifts.
15568 (*{ashl,ashr,lshr}si3_mips16): New names for the mips16 SImode shifts.
15569 Redefine using any_shift. Use :GPR and any_shift to combine splitters.
15570 (*{ashl,ashr,lshr}di3_mips16): New names for the mips16 DImode shifts.
15571
bbbb79d4
GK
155722004-08-24 Geoffrey Keating <geoffk@apple.com>
15573
15574 * gimplify.c (lookup_tmp_var): Separate temporaries when not
15575 optimizing.
15576
d711cf67
JDA
155772004-08-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15578
15579 PR libstdc++/17005 (fix for HP-UX 11.11)
15580 * config.gcc (hppa*-*-*): Move MASK_BIG_SWITCH to target_cpu_default2.
15581 (hppa*-*-hpux*): Consolidate hppa1.0-*-* code. Rework handling of
5906d013 15582 tm_file including pa-hpux1010.h or pa-hpux1111.h when appropriate.
d711cf67
JDA
15583 * config/pa/pa-hpux1010.h, config/pa/pa-hpux1111.h: New files.
15584 * config/pa/pa-hpux.h (TARGET_HPUX): Define.
15585 (LINK_SPEC): Handle march=1.0 option.
15586 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
15587 and _XOPEN_SOURCE_EXTENDED for UNIX 95.
15588 (SUBTARGET_OPTIONS): New define.
15589 (LINK_SPEC): Handle march=1.0 option.
15590 (STARTFILE_SPEC): New define.
15591 * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
15592 and _XOPEN_SOURCE_EXTENDED for UNIX 95. Additionally, predefine
15593 _INCLUDE__STDC_A1_SOURCE and _INCLUDE_XOPEN_SOURCE_500 for UNIX 98.
15594 (SUBTARGET_OPTIONS): New define.
15595 (LINK_SPEC): Handle march=1.0 option.
15596 (STARTFILE_SPEC): New define.
15597 * config/pa/pa.c (override_options): Add code to process -munix= option.
15598 * config/pa/pa.h (pa_unix_string, flag_pa_unix): Declare.
15599 (TARGET_HPUX, TARGET_HPUX_10_10, TARGET_HPUX_11_11): Provide default
15600 defines.
15601 (TARGET_OPTIONS): Add SUBTARGET_OPTIONS to option list.
15602 (SUBTARGET_OPTIONS): Provide default define.
15603 * config/pa/pa64-hpux.h (STANDARD_STARTFILE_PREFIX_1,
15604 STANDARD_STARTFILE_PREFIX_2): New defines.
15605 (STARTFILE_SPEC): Provide unix95.o or unix98.o startfiles as necessary.
15606 (ENDFILE_SPEC): Use %O.
15607 * doc/install.texi (hppa*-*-hpux*): Reword paragraph on -g and gas.
15608 Mention issue caused by changing namespace and runtime to UNIX 95/98.
15609 * doc/invoke.texi (HPPA options): Move misplaced text to FRV options.
15610 Document -munix=std option.
15611
5affca01
SB
156122004-08-25 Steven Bosscher <stevenb@suse.de>
15613
15614 * cse.c (cse_around_loop, cse_check_loop_start,
15615 cse_set_around_loop): Remove.
15616 (cse_basic_block): Remove the around_loop argument.
15617 (cse_end_of_basic_block): Remove the after_loop argument.
15618 (cse_main): Likewise.
15619 * rtl.h (cse_main): Update prototype.
15620 * passes.c (rest_of_handle_cse, rest_of_handle_cse2,
15621 rest_of_handle_gcse): Update cse_main calls.
15622
7d60be94
NS
156232004-08-25 Nathan Sidwell <nathan@codesourcery.com>
15624
15625 * tree.h (build_int_cst): New, sign extended constant.
15626 (build_int_cstu): New, zero extended constant.
15627 (build_int_cst_wide): Renamed from build_int_cst.
15628 * tree.c (build_int_cst, build_int_cstu): New.
15629 (build_int_cst_wide): Renamed from build_int_cst.
15630 (make_vector_type, build_common_tree_nodes,
15631 build_common_tree_nodes_2): Adjust build_int_cst calls.
15632 * builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
15633 expand_builtin_strpbrk, expand_builtin_fputs,
15634 build_string_literal, expand_builtin_printf,
15635 expand_builtin_sprintf, fold_builtin_classify_type,
15636 fold_builtin_lround, fold_builtin_bitop, fold_builtin_isascii,
15637 fold_builtin_toascii, fold_builtin_isdigit,
15638 simplify_builtin_strstr, simplify_builtin_strpbrk,
15639 fold_builtin_fputs, simplify_builtin_sprintf): Likewise.
15640 * c-common.c (start_fname_decls, fix_string_type, shorten_compare,
15641 DEF_ATTR_INT): Likewise.
15642 * c-decl.c (complete_array_type, check_bitfield_type_and_width):
15643 Likewise.
15644 * c-lex.c (interpret_integer, lex_charconst): Likewise.
15645 * c-parse.in (primary) <TYPES_COMPATIBLE_P> Likewise.
15646 * c-pretty-print.c (pp_c_integer_constant): Likewise.
15647 * c-typeck.c (really_start_incremental_init, push_init_level,
15648 set_nonincremental_init_from_string): Likewise.
15649 * calls.c (load_register_parameters): Likewise.
15650 convert.c (convert_to_pointer): Likewise.
15651 coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
15652 build_fn_info_type, build_fn_info_value, build_ctr_info_value,
15653 build_gcov_info): Likewise.
15654 * except.c (init_eh, assign_filter_values): Likewise.
15655 * expmed.c (store_fixed_bit_field, extract_bit_field,
15656 extract_fixed_bit_field, extract_split_bit_field, expand_shift,
15657 expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
15658 expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
15659 * expr.c (convert_move, emit_group_load, emit_group_store,
15660 expand_assignment, store_constructor, store_field,
15661 expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
15662 fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
15663 invert_truthvalue, optimize_bit_field_compare,
15664 decode_field_reference, all_ones_mask_p, constant_boolean_node,
15665 fold_div_compare, fold, fold_read_from_constant_string,
15666 fold_negate_const, fold_abs_const, fold_not_const, round_up,
15667 round_down): Likewise.
15668 * function.c (assign_parm_setup_block): Likewise.
15669 * stmt.c (shift_return_value, expand_case, estimate_case_costs):
15670 Likewise.
15671 * stor-layout.c (layout_type, initialize_sizetypes,
15672 set_min_and_max_values_for_integral_type): Likewise.
15673 * tree-chrec.c (chrec_fold_multiply_poly_poly,
15674 reset_evolution_in_loop): Likewise.
15675 * tree-chrec.h (build_polynomial_chrec): Likewise.
15676 * tree-complex.c (build_replicated_const): Likewise.
15677 * tree-eh.c (honor_protect_cleanup_actions,
15678 lower_try_finally_onedest, lower_try_finally_copy,
15679 lower_try_finally_switch): Likewise.
15680 * tree-mudflap.c (mf_build_string, mx_register_decls,
15681 mudflap_register_call, mudflap_enqueue_constant): Likewise.
15682 * tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
15683 * tree-pretty-print.c (dump_generic_node): Likewise.
15684 * tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
15685 Likewise.
15686 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
15687 * tree-ssa-loop-niter.c (number_of_iterations_cond,
15688 loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
15689 Likewise.
15690 * tree-ssa-loop-ivcanon.c (create_canonical_iv,
15691 canonicalize_loop_induction_variables): Likewise.
15692 * tree-vectorizer.c (vect_create_index_for_array_ref,
15693 vect_transform_loop_bound, vect_compute_data_ref_alignment):
15694 Likewise.
15695
15696 * config/alpha/alpha.c (alpha_initialize_trampoline, alpha_va_start,
15697 alpha_gimplify_va_arg_1): Likewise.
15698 * config/arm/arm.c (arm_get_cookie_size): Likewise.
15699 * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
15700 * config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
15701 * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
15702 * config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
15703 mips_gimplify_va_arg_expr): Likewise.
15704 * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
15705 * config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
15706 add_compiler_branch_island): Likewise.
15707 * config/s390/s390.c (s390_va_start): Likewise.
15708 * config/sh/sh.c (sh_va_start): Likewise.
15709 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
15710 Likewise.
15711 * config/xtensa/xtensa.c (xtensa_va_start,
15712 xtensa_gimplify_va_arg_expr): Likewise.
5906d013 15713
7d60be94
NS
15714 * objc/objc-act.c (build_objc_string_object,
15715 build_objc_symtab_template, init_def_list, init_objc_symtab,
15716 init_module_descriptor, generate_static_references,
15717 build_selector_translation_table, get_proto_encoding,
15718 build_typed_selector_reference, build_selector_reference,
15719 build_next_objc_exception_stuff,
15720 build_method_prototype_list_template, generate_descriptor_table,
15721 generate_protocols, build_protocol_initializer,
15722 build_ivar_list_template, build_method_list_template,
15723 build_ivar_list_initializer, generate_ivars_list,
15724 generate_dispatch_table, generate_protocol_list,
15725 build_category_initializer, build_shared_structure_initializer,
15726 generate_shared_structures, handle_impent,
15727 generate_objc_image_info): Likewise.
15728
8b63d0e5
PB
157292004-04-25 Paolo Bonzini <bonzini@gnu.org>
15730
15731 * cfglayout.c (duplicate_insn_chain): Remove references to
15732 NOTE_INSN_LOOP_VTOP and NOTE_INSN_LOOP_CONT.
15733 * cfgloop.h (struct loop): Remove fields vtop, cont and cont_dominator.
15734 * cfgrtl.c (rtl_delete_block): Remove handling of NOTE_INSN_LOOP_CONT.
15735 * final.c (final_scan_insn): Remove references to NOTE_INSN_LOOP_VTOP
15736 and NOTE_INSN_LOOP_CONT.
15737 * insn-notes.def (NOTE_INSN_LOOP_VTOP, NOTE_INSN_LOOP_CONT): Remove.
15738 * jump.c (squeeze_notes): Remove references to NOTE_INSN_LOOP_VTOP
15739 and NOTE_INSN_LOOP_CONT.
15740 * loop.c (scan_loops, find_and_verify_loops, for_each_insn_in_loop,
15741 check_dbra_loop, loop_dump_aux): Remove references to removed notes
15742 and fields.
15743 * reorg.c (mostly_true_jump): Do not rely on NOTE_INSN_LOOP_VTOPs.
15744 * unroll.c (unroll_loop, copy_loop_body, loop_iterations): Remove
15745 references to removed notes and fields.
15746 (subtract_reg_term, ujump_to_loop_cont): Remove.
15747
078e3ffe
PB
157482004-08-25 Paolo Bonzini <bonzini@gnu.org>
15749
8b63d0e5 15750 * doc/install.texi: Document that libcpp does not require
078e3ffe
PB
15751 Automake any longer. Document that Automake 1.9.1 should
15752 work everywhere.
15753
f8ca7e49
ZW
157542004-08-25 Zack Weinberg <zack@codesourcery.com>
15755
15756 * flags.h (enum debug_info_type): Remove DWARF_DEBUG.
15757 * defaults.h (PREFERRED_DEBUGGING_TYPE): Remove check for
15758 DWARF_DEBUGGING_INFO from choice-of-definition chain;
15759 restructure using C89 features (#elif, #error).
15760 * c-lex.c, final.c, opts.c, config/cris/cris.c, config/frv/frv.c
15761 * config/sh/sh.h: Remove references to DWARF_DEBUG.
15762 * doc/invoke.texi: Remove references to DWARF version 1;
15763 clarify why -gdwarf-2<n> doesn't work.
15764
51a904c9
ZW
157652004-08-25 Zack Weinberg <zack@codesourcery.com>
15766
15767 * basic-block.h (BB_SET_PARTITION): Clear old value first.
15768 * cfg.c (clear_bb_flags): Don't clear partition setting.
69b9b0d2 15769 * ifcvt.c (find_if_case_1): Remove ??? comment.
51a904c9 15770
e548ead9
AM
157712004-08-25 Alan Modra <amodra@bigpond.net.au>
15772
15773 PR target/17052
15774 * config/rs6000/rs6000.h (machine_function): Remove sysv_varargs_p.
15775 * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
15776 current_function_stdarg in place of sysv_varargs_p.
15777 * config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
15778 sysv_varargs_p.
15779
1e19ac74
RH
157802004-08-24 Richard Henderson <rth@redhat.com>
15781
15782 PR target/16298
15783 * config/i386/i386.c (legitimate_constant_p): Rework to not accept
15784 random codes within CONST.
15785
c61225e7
JW
157862004-08-24 James E Wilson <wilson@specifixinc.com>
15787
15788 * Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS): Remove
15789 -freorder-blocks-and-partition.
15790
37840132
JDA
157912004-08-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15792
15793 PR middle-end/17044
15794 * tree-ssa-threadupdate.c (redirection_data): Make static.
15795 (thread_block): Use ggc_alloc_cleared to allocate struct
15796 redirection_data. Don't free elements in redirection_data.
15797
cf1d880b
RS
157982004-08-24 Richard Sandiford <rsandifo@redhat.com>
15799
15800 * config/mips/predicates.md (small_data_pattern): Match prefetches.
15801
b3393f1f
ZD
158022004-08-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15803
15804 PR tree-optimization/17016
15805 * tree-ssa-loop-niter.c (number_of_iterations_cond,
15806 number_of_iterations_exit): Use POINTER_TYPE_P instead
15807 of testing for POINTER_TYPE.
15808
82b85a85
ZD
158092004-08-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15810
15811 * tree-ssa-loop-ivcanon.c: New file.
15812 * tree-ssa-loop-manip.c (create_iv): New function.
15813 * Makefile.in (tree-ssa-loop-ivcanon.o): Add.
15814 (tree-ssa-loop.o, tree-ssa-loop-manip.o): Add SCEV_H dependency.
15815 * cfgloop.c (mark_single_exit_loops): New function.
15816 (verify_loop_structure): Verify single-exit loops.
15817 * cfgloop.h (struct loop): Add single_exit field.
15818 (LOOPS_HAVE_MARKED_SINGLE_EXITS): New constant.
15819 (mark_single_exit_loops): Declare.
15820 (tree_num_loop_insns): Declare.
15821 * cfgloopmanip.c (update_single_exits_after_duplication): New function.
15822 (duplicate_loop_to_header_edge): Use it.
15823 * common.opt (fivcanon): New flag.
15824 * timevar.def (TV_TREE_LOOP_IVCANON, TV_COMPLETE_UNROLL): New timevars.
15825 * tree-cfg.c (tree_find_edge_insert_loc): Return newly created block.
15826 (bsi_commit_edge_inserts_1): Pass null to tree_find_edge_insert_loc.
15827 (bsi_insert_on_edge_immediate): New function.
15828 * tree-flow.h (bsi_insert_on_edge_immediate,
15829 canonicalize_induction_variables, tree_unroll_loops_completely,
15830 create_iv): Declare.
15831 * tree-optimize.c (init_tree_optimization_passes): Add
15832 pass_iv_canon and pass_complete_unroll.
15833 * tree-pass.h (pass_iv_canon, pass_complete_unroll): Declare.
15834 * tree-scalar-evolution.c (get_loop_exit_condition,
15835 get_exit_conditions_rec, number_of_iterations_in_loop,
15836 scev_initialize): Use single_exit information.
15837 * tree-ssa-loop-niter.c (number_of_iterations_cond): Record
15838 missing assumptions.
15839 (loop_niter_by_eval): Return number of iterations as unsigned
15840 int.
15841 * tree-ssa-loop.c (tree_ssa_loop_init): Mark single exit loops.
15842 (tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_iv_canon,
15843 tree_complete_unroll, gate_tree_complete_unroll, pass_complete_unroll):
15844 New passes.
15845 (tree_ssa_loop_done): Call free_numbers_of_iterations_estimates.
15846 * tree-ssanames.c (make_ssa_name): Allow creating ssa name before
15847 the defining statement is ready.
15848 * tree-vectorizer.c (vect_create_iv_simple): Removed.
15849 (vect_create_index_for_array_ref, vect_transform_loop_bound):
15850 Use create_iv.
15851 (vect_transform_loop_bound): Use single_exit information.
15852 (vect_analyze_loop_form): Cleanup bogus tests.
15853 (vectorize_loops): Do not call flow_loop_scan.
15854 * tree.h (may_negate_without_overflow_p): Declare.
15855 * fold-const.c (may_negate_without_overflow_p): Split out from ...
15856 (negate_expr_p): ... this function.
15857 (tree_expr_nonzero_p): Handle overflowed constants correctly.
15858 * doc/invoke.texi (-fivcanon): Document.
15859 * doc/passes.texi: Document canonical induction variable creation.
15860
b3c90666
RS
158612004-08-24 Richard Sandiford <rsandifo@redhat.com>
15862
15863 * config/mips/mips.h (ISA_HAS_INT_CONDMOVE): Delete.
15864 * config/mips/mips.c (print_operand): Fold %B/%b handling into %T/%t,
15865 using the mode of the operand to decide between them.
15866 * config/mips/mips.md (MOVECC): New mode macro.
15867 (ccreg): New mode attribute.
15868 (*mov{si,di,sf,df}_on_{cc,si,di}): Name formerly unnamed patterns.
15869 Redefine using :GPR and :MOVECC. Use %T and %t for the condition.
15870 (mov[sd]icc): Redefine using :GPR.
15871
4767c570
RS
158722004-08-24 Richard Sandiford <rsandifo@redhat.com>
15873
04550232
RS
15874 * config/mips/mips-protos.h (mips_emit_prefetch): Delete.
15875 (mips_prefetch_cookie): New function.
15876 * config/mips/mips.c (print_operand_address): Fix handling of
15877 ADDRESS_CONST_INT.
15878 (mips_emit_prefetch): Delete.
15879 (mips_prefetch_cookie): New function.
15880 * config/mips/mips.md (prefetch): Turn into a define_insn. Use a
15881 mode of QImode for the address_operand. Use mips_prefetch_cookie
15882 to calculate the first "pref" operand.
15883 (prefetch_[sd]i, prefetch_[sd]i_address): Delete.
15884 (prefetch_indexed_[sd]i): Redefine using :P. Use mips_prefetch_cookie.
4767c570 15885
a657c98a
RE
158862004-08-24 Richard Earnshaw <rearnsha@arm.com>
15887
15888 * arm.md: Include predicates.md.
15889 * predicates.md: New file.
15890 * arm.c (s_register_operand, arm_hard_register_operand)
15891 (arm_general_register_operand, f_register_operand, reg_or_int_operand)
15892 (arm_immediate_operand, arm_neg_immediate_operand)
15893 (arm_not_immediate_operand, arm_rhs_operand, arm_rhsm_operand)
15894 (arm_add_operand, arm_addimm_operand, arm_not_operand)
15895 (offsettable_memory_operand, alignable_memory_operand)
15896 (arm_reload_memory_operand, arm_float_rhs_operand)
15897 (arm_float_add_operand, vfp_compare_operand, arm_float_compare_operand)
15898 (index_operand, shiftable_operator, logical_binary_operator)
15899 (shift_operator, equality_operator, arm_comparison_operator)
15900 (minmax_operator, cc_register, dominant_cc_register)
15901 (arm_extendqisi_mem_op, power_of_two_operand, nonimmediate_di_operand)
15902 (di_operand, nonimmediate_soft_df_operand, soft_df_operand)
15903 (const_shift_operand, load_multiple_operation)
15904 (store_multiple_operation, multi_register_push, thumb_cmp_operand)
15905 (thumb_cmpneg_operand, thumb_cbrch_target_operand)
15906 (cirrus_register_operand, cirrus_fp_register)
15907 (cirrus_shift_const): Delete, replaced with equivalents in
15908 predicates.md.
15909 (shift_op): Handle ROTATE.
15910 * arm-protos.h: Delete declarations for above.
15911 * arm.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete.
15912 * t-arm (MD_INCLUDES): Add predicates.md.
15913 (s-preds): Depends on MD_INCLUDES.
15914
886ce862
RS
159152004-08-24 Richard Sandiford <rsandifo@redhat.com>
15916
15917 * config/mips/mips.c (mips_gen_conditional_trap): Fix mode.
15918 * config/mips/mips.md (*conditional_trap[sd]i): Name previously unnamed
15919 patterns. Redefine using :GPR. Give the match_operator a mode.
15920 Use '%2' rather than '%z2' for operand 2.
15921
be659abd
RS
159222004-08-24 Richard Sandiford <rsandifo@redhat.com>
15923
15924 * config/mips/mips.md (load_call[sd]i): Redefine using :P. Add mode
15925 attribute.
15926
92dcb882
RS
159272004-08-24 Richard Sandiford <rsandifo@redhat.com>
15928
15929 * config/mips/mips.md (indirect_jump): Use force_reg. Adjust names
15930 of internal patterns.
15931 (indirect_jump[sd]i): Renamed from indirect_jump_internal[12].
15932 Redefine using :P.
15933 (tablejump): Use expand_binop to calculate address. Adjust names
15934 of internal patterns.
15935 (tablejump[sd]i): Renamed from tablejump_internal[12].
15936 Redefine using :P.
15937 (tablejump_mips16[12]): Delete.
15938
a0160289
RS
159392004-08-24 Richard Sandiford <rsandifo@redhat.com>
15940
15941 * config/mips/mips.md (*seq_[sd]i, *seq_[sd]i_mips16, *sne_[sd]i)
15942 (*sgt_[sd]i, *sgt_[sd]i_mips16, *sge_[sd]i, *slt_[sd]i)
15943 (*slt_[sd]i_mips16, *sle_[sd]i, *sle_[sd]i_mips16, *sgtu_[sd]i)
15944 (*sgtu_[sd]i_mips16, *sge_[sd]i, *sltu_[sd]i, *sltu_[sd]i_mips16)
15945 (*sleu_[sd]i, *sleu_[sd]i_mips16): Redefine using :GPR.
15946
2c4402f4
RS
159472004-08-24 Richard Sandiford <rsandifo@redhat.com>
15948
15949 * config/mips/mips.md (cmpsi, cmpdi): Redefine using :GPR.
15950 (*branch_zero[sd]i): Renamed from branch_zero{,_di}. Redefine
15951 using :GPR.
15952 (*branch_zero[sd]i_inverted): Likewise branch_zero{,_di}_inverted.
15953 (*branch_equality[sd]i): Likewise branch_equality{,_di}.
15954 (*branch_equality[sd]i_inverted): Likewise
15955 branch_equality{,_di}_inverted.
15956 (*branch_equality[sd]i_mips16): Name formerly unnamed patterns.
15957 Redefine using :GPR.
15958
b5c2f1d1
ZW
159592004-08-24 Zack Weinberg <zack@codesourcery.com>
15960
15961 * rtl.def: Reorganize, placing all codes used only in machine
15962 descriptions at the end.
15963
9e995780
ZW
15964 * rtl.def: Wrap MD-only codes in #ifdef GENERATOR_FILE.
15965 * gengtype.c: Don't include rtl.h. Define enum rtx_code and
15966 rtx_name, rtx_format arrays by direct reference to rtl.def,
15967 first undefining GENERATOR_FILE. Define enum insn_note and
15968 note_insn_name array by direct reference to insn-notes.def.
15969 (adjust_field_rtx_def): Remove local definition of rtx_name.
15970 Use symbolic names for insn notes.
15971 * Makefile.in (gengtype.o): Update dependencies.
15972
076c7ab8
ZW
159732004-08-24 Zack Weinberg <zack@codesourcery.com>
15974
15975 * basic-block.h (struct basic_block_def): Reorder fields to
15976 eliminate interior padding. Remove 'partition' field.
15977 (BB_DISABLE_SCHEDULE, BB_HOT_PARTITION, BB_COLD_PARTITION)
15978 (BB_UNPARTITIONED, BB_PARTITION, BB_SET_PARTITION)
15979 (BB_COPY_PARTITION): New macros.
15980 * bb-reorder.c, cfgcleanup.c, cfglayout.c, cfgrtl.c, ifcvt.c
15981 Replace all references to the 'partition' field of a basic
15982 block with new macros.
15983
15984 * insn-notes.def: Delete NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
15985 * final.c (final_scan_insn): Don't handle it.
15986 * modulo-sched.c: Set BB_DISABLE_SCHEDULE flag on g->bb
15987 instead of emitting a NOTE_INSN_DISABLE_SCHED_OF_BLOCK note.
15988 * sched-rgn.c (sched_is_disabled_for_current_region_p):
15989 Look for a BB_DISABLE_SCHEDULE flag on the block instead of a note.
15990
8c1d6d62
NS
159912004-08-24 Nathan Sidwell <nathan@codesourcery.com>
15992
15993 * c-decl.c (c_init_decl_processing): Adjust
15994 build_common_tree_nodes call.
15995 * expmed.c (const_mult_add_overflow_p): Use
15996 build_distinct_type_copy.
15997 * stor-layout.c (early_type_list): Remove.
15998 (layout_type): Don't append to early_type_list.
15999 (initialize_sizetypes): Add signed_p argument.
16000 (set_sizetype): Overwrite the stub type nodes directly.
16001 * tree.c (copy_node_stat): Clear a type's value cache here ...
16002 (build_distinct_type): ... not here.
16003 (build_common_tree_nodes): Add signed_sizetype argument. Adjust.
16004 * tree.h (initialize_sizetypes): Add signed_p argument.
16005 (build_common_tree_nodes): Likewise.
16006
16007 * objc/objc-act.c (get_static_reference): Use
16008 build_variant_type_copy.
16009 (get_protocol_reference): Likewise.
16010 * objc/objc-act.h (TREE_STATIC_TEMPLATE): Use TREE_PRIVATE.
16011
97dc04b3 160122004-08-24 Richard Henderson <rth@redhat.com>
076c7ab8 16013 Andrew Pinski <apinski@apple.com>
97dc04b3
RH
16014
16015 * gimplify.c (gimplify_array_ref_to_plus): Delete.
16016 (gimplify_addr_expr): Do not call gimplify_array_ref_to_plus
16017 for ARRAY_REF.
16018
16019 * config/rs6000/rs6000.c (altivec_expand_builtin): Go passed
16020 ARRAY_REF also to get to the STRING_CST.
16021
72cdc543
PB
160222004-08-24 Paul Brook <paul@codesourcery.com>
16023
16024 * config/arm/arm.c (arm_override_options): Update error message.
16025 * config/arm/arm.h (TARGET_HARD_FLOAT): Rename to
16026 TARGET_HARD_FLOAT_ABI.
16027 (TARGET_SOFT_FLOAT_ABI): Rename to TARGET_HARD_FLOAT.
16028 (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Use TARGET_HARD_FLOAT_ABI.
16029
bd5ca07e
NC
160302004-08-24 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
16031
16032 PR target/17093
16033 * config/m32r.md (movsi_sda): Add SI mode specification to
16034 UNSPEC.
16035
160362004-08-24 Nick Clifton <nickc@redhat.com>
16037
16038 * config/m32r/m32r.h (PREDICATE_CODES): Remove duplicate definition
16039 of seth_add3_operand.
16040
d46cd2be
NS
160412004-08-24 Nathan Sidwell <nathan@codesourcery.com>
16042
16043 * Makefile.in (PROTO_OBJS): Add errors.o.
16044 * protoize.c (fancy_abort): Remove.
16045 * mips-tfile.c (fancy_abort): Add parameters.
16046
748fa294
JW
160472004-08-24 Jonathan Wakely <redi@gcc.gnu.org>
16048
16049 * doc/trouble.texi (C++ misunderstandings): Fix example code.
16050
4505f099
AT
160512004-08-24 Andreas Tobler <a.tobler@schweiz.ch>
16052
16053 * Makefile.in (HOOKS_H): Add dependency on MACHMODE_H.
16054 (host-default.o): Add dependency on HOOKS_H.
16055 * config/x-linux: Likewise.
16056 * config/x-solaris: Likewise.
16057 * config/i386/x-mingw32: Likewise.
16058 * config/rs6000/x-darwin: Likewise.
16059
a2fe1975
JW
160602004-08-23 James E Wilson <wilson@specifixinc.com>
16061
16062 * reg-notes.def (REG_NOTE): In comment, change DEF_INSN_NOTE to
16063 DEF_REG_NOTE.
16064
c3f216e2
MM
160652004-08-23 Mark Mitchell <mark@codesourcery.com>
16066
16067 PR c/14492
16068 * dwarf2out.c (loc_descriptor_from_tree): Robustify.
16069
2e6ae27f
DN
160702004-08-23 Diego Novillo <dnovillo@redhat.com>
16071
16072 * cfg.c (check_bb_profile): Fix typos.
16073 * function.c (assign_parm_is_stack_parm): Likewise.
16074 * tree-nested.c: Likewise.
16075
d685c974
DJ
160762004-08-23 Daniel Jacobowitz <dan@debian.org>
16077
16078 * ggc-zone.c (struc alloc_chunk): Rearrange flag bits and SIZE.
16079 Remove TYPECODE.
16080 (ggc_alloc_zone_1): Mark TYPE as unused. Don't save it in the chunk.
16081
f676971a
EC
160822004-08-23 Eric Christopher <echristo@redhat.com>
16083
16084 * defaults.h (VECTOR_MODE_SUPPORTED_P): Remove macro.
16085 * system.h (VECTOR_MODE_SUPPORTED_P): Poison.
16086 * target-def.h (TARGET_VECTOR_MODE_SUPPORTED_P): Define.
16087 * target.h: Ditto.
16088 * hooks.h: Include machmode.h.
16089 (hook_bool_mode_false): Declare.
16090 * hooks.c (hook_bool_mode_false): Define.
16091 * expr.c (vector_mode_valid_p): Use targetm.vector_mode_supported_p.
16092 * stor-layout.c (layout_type): Ditto.
16093 * config/alpha/alpha.c (alpha_vector_mode_supported_p): New function.
16094 Define to target macro.
16095 * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): Delete.
16096 * config/arm/arm.c: Ditto. Use.
16097 * config/arm/arm.h: Ditto.
16098 * config/arm/arm-protos.h: Ditto.
16099 * config/i386/i386.c: Ditto.
16100 * config/i386/i386.h: Ditto.
16101 * config/rs6000/rs6000.c: Ditto.
16102 * config/rs6000/rs6000.h: Ditto.
16103 * config/sh/sh.c: Ditto.
16104 * config/sh/sh.h: Ditto.
16105 * config/sh/sh-protos.h: Ditto.
16106 * config/sh/sh.md: Use.
16107 * doc/tm.texi: Move documentation for VECTOR_MODE_SUPPORTED_P
16108 to TARGET_VECTOR_MODE_SUPPORTED_P.
16109
8dd16ecc
NS
161102004-08-23 Nathan Sidwell <nathan@codesourcery.com>
16111
b3d1f5b4
NS
16112 * Makefile.in (BUILD_ERRORS): Set to build-errors.
16113 (errors.o): New target for host.
16114 (build-errors.o): New target for build.
16115 (genobjs): Replace errors.o with build-errors.
16116 (gengenrtl$(buildexeext)): Add $(BUILD_ERRORS).
16117 (GCOV_OBJS, GCOV_DUMP_OBJS): Add errors.o.
16118 (fix-headers$(build_exeext)): Add $(BUILD_ERRORS).
16119 (fix-header.o): Add errors.h
16120 * collect2.c (fancy_abort): Add parameters.
16121 * collect2.h (fancy_abort): Don't declare.
16122 * errors.h (fancy_abort): Don't declare.
16123 * errors.c: Include either bconfig.h or config.h.
16124 (fancy_abort): Trim filename.
16125 * fix-header.c (v_fatal, fatal): Remove.
16126 (progname): Remove definition.
16127 (main): Set progname here.
16128 * gcc.c (fancy_abort): Add parameters.
16129 * gcc.h (fancy_abort): Remove declaration.
16130 * gcov.c (fancy_abort): Remove.
16131 * rtl.h (fancy_abort): Don't declare.
16132 (abort): Don't define.
16133 * tree.h (fancy_abort): Don't declare.
16134 (abort): Don't define.
16135 * system.h (fancy_abort): Declare.
16136 (abort): Define to fancy_abort.
16137 * fixinc/Makefile.in (ALLOBJ): Add ../build-errors.o
16138
be88a628
NS
16139 * tree.h (enum size_type_kind): Remove USIZETYPE, UBITSIZETYPE.
16140 (usize_type, ubitsizetype): Remove.
16141 * stor-layout.c (set_sizetype): Don't initialize usizetype,
16142 ubitsizetype.
16143 * fold-const.c (size_diffop): TYPE can never be ubitsizetype.
16144
8dd16ecc
NS
16145 * tree.h (build_distinct_type_copy): New.
16146 (build_type_copy): ... here. Rename to ...
16147 (build_variant_type_copy): ... here.
16148 * tree.c (build_qualified_type): Rename build_type_copy call.
16149 (build_distinct_type_copy): New, broken out of ...
16150 (build_type_copy): ... here. Rename to ...
16151 (build_variant_type_copy): ... here. Use
16152 build_distinct_type_copy.
16153 (build_common_tree_nodes_2): Rename build_type_copy call.
16154 * c-common.c (c_common_nodes_and_builtins): Rename build_type_copy
16155 call.
16156 (handle_packed_attribute, handle_unused_attribute,
16157 handle_transparanet_union_attribute, handle_aligned_attribute,
16158 handle_deprecated_attribute): Likewise.
16159 * c-decl.c (clone_underlying_type, store_parm_decls_oldstyle):
16160 Likewise.
16161 * config/arm/arm.c (arm_handle_isr_attribyte): Likewise.
16162 * config/rs6000/rs6000.c (rs6000_init_builtins): Use
16163 build_distinct_type_copy.
16164
e8bf0f3b
RS
161652004-08-23 Richard Sandiford <rsandifo@redhat.com>
16166
16167 * config/mips/mips.md (mfhilo_[sd]i): Redefine using :GPR. Add mode
16168 attribute.
16169
4d06ed0a
RS
161702004-08-23 Richard Sandiford <rsandifo@redhat.com>
16171
16172 * config/mips/mips.md (length): Don't use mips_fetch_insns for indexed
16173 loads and stores.
16174 (*lwxc1_<mode>, *ldxc1_<mode>, *swxc1_<mode>, *sdxc1_<mode>): Name
16175 formerly unnamed patterns. Redefine using :P for the address. Remove
16176 explicit length attributes.
16177
a3631d97
ZD
161782004-08-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
16179
16180 * tree-ssa-loop-im.c (fem_single_reachable_address, for_each_memref):
16181 New functions.
16182 (single_reachable_address): Use them.
16183 (schedule_sm): Add dump.
16184 (is_call_clobbered_ref): New function.
16185 (determine_lsm_reg): Check whether the reference is call clobbered.
16186 Only work for gimple_reg_type values.
16187
b1f58428
RS
161882004-08-23 Richard Sandiford <rsandifo@redhat.com>
16189
16190 * config/mips/mips.md (*mov<mode>_ra): Name previously unnamed MIPS16
16191 $31 store insns. Redefine using :GPR.
16192
237b301e
RS
161932004-08-23 Richard Sandiford <rsandifo@redhat.com>
16194
16195 * config/mips/mips.md (P): New mode macro.
16196 (*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_page[sd]i)
16197 (*load_got[sd]i, *low[sd]i, *low[sd]i_mips16): Redefine using :P.
16198 Add mode attributes.
16199
c9081a92
RS
162002004-08-23 Richard Sandiford <rsandifo@redhat.com>
16201
16202 * config/mips/mips.md (UNSPEC_[LS][WD][LR]): Delete in favor of...
16203 (UNSPEC_{LOAD,STORE}_{LEFT,RIGHT}): ...these new constants. Shuffle
16204 later constants to cover the gap.
16205 (load, store): New mode attributes.
16206 (mov_l[wd]l, mov_l[wd]r, mov_s[wd]l, mov_s[wd]r): Redefine using :GPR.
16207 Use new unspec constants.
16208
3d1f285d
RS
162092004-08-23 Richard Sandiford <rsandifo@redhat.com>
16210
16211 * config/mips/mips.md (one_cmpl[sd]i2): Redefine using :GPR.
16212 (and[sd]3, ior[sd]i3, xor[sd]i3): Likewise. Change 32-bit patterns
16213 to use register_operand rather than uns_arith_operand as the predicate
16214 for operand 1. Remove redundant MIPS16 force_reg() for operand 1.
16215 (*and[sd]i3, *ior[sd]i3, *xor[sd]i3): Name formerly unnamed patterns.
16216 Redefine using :GPR. Make same predicate change here. Extend the
16217 commutativity of operands 1 and 2 from the SImode version to the
16218 DImode one.
16219 (*and[sd]i3_mips16, *ior[sd]i3_mips16, *xor[sd]i3_mips16): Likewise,
16220 but with no predicate changes.
16221 (*nor[sd]i3): Redefine using :GPR.
16222
c0e1b12f
ZD
162232004-08-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
16224
16225 * tree-ssa-operands.c (get_call_expr_operands): Add VUSE operands for
16226 noreturn functions.
16227
400a9325
RS
162282004-08-23 Richard Sandiford <rsandifo@redhat.com>
16229
16230 * config/mips/mips.h (ISA_HAS_DCLZ_DCLO): Delete.
16231 * config/mips/mips.md (abs[sd]i2): Redefine using :GPR. Only use
16232 branch-likely insns for absdi2 if GENERATE_BRANCHLIKELY. Use "%."
16233 rather than "%z2" (with a fake const0_rtx for operand 2).
16234 (ffs[sd]i2): Redefine using :GPR.
16235 (clz[sd]i2): Likewise. Use ISA_HAS_CLO_CLZ for the 64-bit case.
16236
2222da3a
RS
162372004-08-23 Richard Sandiford <rsandifo@redhat.com>
16238
16239 * config/mips/mips.md ({,u}divmod[sd]i4): Redefine using :GPR.
16240
15ac4ccf
RS
162412004-08-23 Richard Sandiford <rsandifo@redhat.com>
16242
16243 * config/mips/mips.md (any_extend): New code macro.
16244 (u, su): New code attributes.
16245 ({,u}mulsidi3, {,u}mulsidi3_32bit_internal, {,u}mulsidi3_32bit_r4000)
16246 ({u,s}mulsi3_highpart, {u,s}mulsi3_highpart_internal)
16247 ({u,s}mulsi3_highpart_mulhi_internal, {s,u}muldi3_highpart)
16248 (*{s,u}mul_acc_di): Redefine using any_extend.
16249 (*{,u}muls_di, *{s,u}msac_di): Likewise. Change names of patterns
16250 to reflect real insn names.
16251 (*mulsidi3_64bit, *mulsidi3_64bit_parts): Replace use of match_operator
16252 with an any_extend template.
16253 ({u,s}mulsi3_highpart_neg_mulhi_internal): Redefine using any_extend.
16254 Add '*' to name.
16255
d46c971d
RS
162562004-08-23 Richard Sandiford <rsandifo@redhat.com>
16257
16258 * config/mips/mips.h (GENERATE_MULT3_SI): Check TARGET_MAD.
16259 * config/mips/mips.md (mul[sd]i3, mul[sd]i3_internal)
16260 (mul[sd]i3_r4000): Redefine using :GPR.
16261 (mulsi3_mult3): Don't check TARGET_MAD separately.
16262 (muldi3_mult3): Moved after mulsi_mult3.
16263
5811cb27
RS
162642004-08-23 Richard Sandiford <rsandifo@redhat.com>
16265
16266 * config.gcc (mips-*-*): Remove definitions of MASK_GAS and
16267 OBJECT_FORMAT_ELF. Set MASK_SPLIT_ADDR by default if using GNU ld.
16268 * config/mips/mips.h (MASK_GAS): Delete. Shuffle later masks down.
16269 (TARGET_GAS, TARGET_MIPS_AS): Delete.
16270 (TARGET_GPWORD): Define to true for n32 on IRIX.
16271 (TARGET_SWITCHES): Remove -mmips-as. Turn -mgas into a no-op.
16272 (MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete.
16273 (GAS_ASM_SPEC): Delete, folding into ASM_SPEC.
16274 (ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete.
16275 (MDEBUG_ASM_SPEC): Delete, folding into...
16276 (SUBTARGET_ASM_DEBUGGING_SPEC): ...here.
16277 (ASM_SPEC): Inline old GAS_ASM_SPEC. Use GNU names for ABI switches.
16278 (EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec,
16279 subtarget_mips_as_asm_spec, mdebug_asm_spec. Use MULTILIB_ABI_DEFAULT
16280 to define asm_abi_default_spec.
16281 (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete.
16282 (TARGET_ASM_SELECT_SECTION): Delete.
16283 * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0
16284 for non-mips16 code, removing previous workaround for SGI assemblers.
16285 (TARGET_ASM_INTEGER, mips_assemble_integer): Delete.
16286 (TARGET_ASM_ALIGNED_DI_OP): Define this instead.
16287 (override_options): Remove !TARGET_GAS and !have_named_sections code.
16288 (print_operand): Fold TARGET_GAS conditionals into asm strings.
16289 (mips_output_filename): Remove !TARGET_GAS code. Replace use of
16290 ASM_STABS_OP and ASM_STABN_OP.
16291 (mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks.
16292 (mips_output_aligned_decl_common): Remove mention of SGI o32 assembler.
16293 (mips_output_function_prologue): Remove !TARGET_GAS code.
16294 (mips_select_rtx_section): Remove !have_named_sections code.
16295 (mips_select_section): Delete.
16296 * config/mips/mips.md (trap): Remove !TARGET_GAS check.
16297 * config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS.
16298 * config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete.
16299 (PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional.
16300 * config/mips/vxworks.h (ASM_SPEC): As for mips.h.
16301 * config/mips/windiss.h (ASM_SPEC): Likewise.
16302
032e8348
RS
163032004-08-23 Richard Sandiford <rsandifo@redhat.com>
16304
16305 * read-rtl.c (map_value, mapping, macro_group): New structures.
16306 (BELLWETHER_CODE): New macro.
16307 (modes, codes, bellwether_codes): New variables.
16308 (find_mode, uses_mode_macro_p, apply_mode_macro, find_code)
16309 (uses_code_macro_p, apply_code_macro, apply_macro_to_string)
16310 (apply_macro_to_rtx, uses_macro_p, add_condition_to_string)
16311 (add_condition_to_rtx, apply_macro_traverse, add_mapping)
16312 (add_map_value, initialize_macros): New functions.
16313 (def_hash, def_hash_eq_p): Generalize to anything that points to,
16314 or starts with, a char * field.
16315 (find_macro, read_mapping, check_code_macro): New functions.
16316 (read_rtx_1): New, split out from read_rtx. Handle the new
16317 define_{mode,code}_{macro,attr} constructs. Use find_macro
16318 to parse the name of a code or mode. Use BELLWETHER_CODE to
16319 extract the format and to choose a suitable code for rtx_alloc.
16320 Modify recursive invocations to use read_rtx_1.
16321 (read_rtx): Call initialize_macros. Apply code and mode macros
16322 to the rtx returned by read_rtx_1. Cache everything after the
16323 first macro expansion for subsequent read_rtx calls.
16324 * doc/md.texi: Document new .md constructs.
16325 * config/mips/mips.md (GPR): New mode macro.
16326 (d, si8_di5): New mode attributes.
16327 (any_cond): New code macro.
16328 (add[sd]i3): Redefine using :GPR.
16329 (*add[sd]i3): Likewise, renaming from add[sd]i3_internal.
16330 (*add[sd]i3_sp[12], *add<mode>3_mips16): Redefine using :GPR, naming
16331 previously unnamed MIPS16 patterns.
16332 (*addsi3_extended): Renamed from addsi3_internal_2. Fix overly long
16333 lines. Don't match (plus (const_int 0) ...).
16334 (*addsi3_extended_mips16): Name previously unnamed MIPS16 pattern.
16335 Use a define_split to generate the addition.
16336 (sub[sd]i3): Redefine using :GPR. Turn subsi3 into a define_insn.
16337 (subsi3_internal): Delete.
16338 (*subsi3_extended): Renamed from subsi3_internal_2.
16339 (bunordered, bordered, bunlt, bunge, buneq, bltgt, bunle, bungt)
16340 (beq, bne, bgt, bge, blt, ble, bgtu, bgeu, bltu, bleu): Redefine
16341 using an any_cond template.
16342
ecce923e
RS
163432004-08-23 Richard Sandiford <rsandifo@redhat.com>
16344
16345 * read-rtl.c (read_rtx): Tidy use of format_ptr.
16346
a269d6c8
RS
163472004-08-23 Richard Sandiford <rsandifo@redhat.com>
16348
16349 * read-rtl.c (string_obstack): New file-scope variable.
16350 (read_string, read_quoted_string, read_braced_string)
16351 (read_escape): Remove obstack parameter and use string_obstack instead.
16352 (read_rtx): Remove function-local rtl_obstack and initialize
16353 string_obstack instead. Update call to read_string.
16354
9fc3b39a
AP
163552004-08-22 Andrew Pinski <apinski@apple.com>
16356
16357 PR c/15262
16358 * c-typeck.c (build_unary_op): Use &a.b if the foldded lowered
16359 expression is not constant.
16360 (c_finish_return): Do not go through INDIRECT_REF when looking
16361 for the inner expression of an ADDR_EXPR for warning about.
16362
cea49550
RH
163632004-08-22 Richard Henderson <rth@redhat.com>
16364
16365 PR 17075
16366 * cfgexpand.c (expand_gimple_tailcall): Detect when we can both
16367 create new blocks and fall through.
16368 (expand_gimple_basic_block): Update to match.
16369
0b540f12
UW
163702004-08-22 Ulrich Weigand <uweigand@de.ibm.com>
16371
16372 * reload.c (find_reloads_address): Make return value tri-state.
16373 Return -1 if LEGITIMIZE_RELOAD_ADDRESS succeeded.
16374 (find_reloads): Assume that reloaded addresses match 'o' or
16375 EXTRA_MEMORY_CONSTRAINT constraints only if find_reloads_address
16376 returned 1 (not -1). Omit optional reloads for address operands
16377 only if find_reloads_address returned 1 (not -1).
16378
16379 * config/s390/s390.c (legitimize_reload_address): New function.
16380 * config/s390/s390-protos.h (legitimize_reload_address): Declare.
16381 * config/s390/s390.h (LEGITIMIZE_RELOAD_ADDRESS): Define. Call
16382 legitimize_reload_address.
16383
7f5e6307
RH
163842004-08-22 Richard Hendersion <rth@redhat.com>
16385
16386 * tree.h (SAVE_EXPR_RESOLVED_P): New.
16387 * gimplify.c (gimplify_save_expr): Use it.
16388 * expr.c (expand_expr_real_1): Likewise. Also set DECL_IGNORED_P
16389 on the temporary variable.
16390
efd610a6
AP
163912004-08-22 Andrew Pinski <pinskia@physics.uc.edu>
16392
16393 * fold-const.c (rtl_expr_nonnegative_p): Delete.
16394 * tree.h (rtl_expr_nonnegative_p): Remove.
16395
324a6c95
SB
163962004-08-22 Steven Bosscher <stevenb@suse.de>
16397
16398 * config/i386/ppro.md (ppro_complex_insn): Add missing check
16399 for cpu==pentiumpro.
16400
16401 * combine.c (struct reg_stat): Fix comment typo.
16402
41db8425
JM
164032004-08-22 Joseph S. Myers <jsm@polyomino.org.uk>
16404
16405 * c-tree.h (c_sizeof_nowarn): Remove.
16406
00325bce
JM
164072004-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
16408
16409 * c-decl.c (set_array_declarator_type): Rename to
16410 set_array_declarator_inner.
16411 (build_c_parm, build_attrs_declarator, build_function_declarator):
16412 New functions.
16413 (make_pointer_declarator): Call build_attrs_declarator.
16414 * c-tree.h (set_array_declarator_type): Rename to
16415 set_array_declarator_inner.
16416 (build_c_parm, build_attrs_declarator, build_function_declarator):
16417 New prototypes.
16418 * c-parse.in (after_type_declarator,
16419 parm_declarator_starttypename, parm_declarator_nostarttypename,
16420 notype_declarator, absdcl_maybe_attribute, direct_absdcl1, parm,
16421 firstparm): Use these functions
16422
60919bce
JM
164232004-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
16424
16425 * c-decl.c (build_array_declarator, set_array_declarator_type,
16426 start_decl, grokdeclarator, grokparms): Change boolean parameters
16427 to type bool.
16428 * c-tree.h (build_array_declarator, set_array_declarator_type,
16429 start_decl): Update prototypes.
16430 * c-decl.c, c-parse.in: All callers changed.
16431
bdfd0ed4
MS
164322004-08-21 Mike Stump <mrs@apple.com>
16433
16434 * config/rs6000/darwin.h (SUBTARGET_OPTIONS): Move from here, to...
16435 (darwin_fix_and_continue): Likewise.
16436 (darwin_fix_and_continue_switch): Likewise.
16437 * config/darwin.h (SUBTARGET_OPTIONS): ...here, to fix -mone-byte-bool.
16438 (darwin_fix_and_continue): Likewise.
16439 (darwin_fix_and_continue_switch): Likewise.
16440
35da8b56 164412004-08-21 Danny Smith <dannysmith@users.sourceforge.net>
23d34220
DS
16442
16443 PR c++/16030
16444 * config/i386/winnt/c (gen_stdcall_suffix, gen_fastcall_suffix):
16445 Remove, merging into ...
16446 (gen_stdcall_or_fastcall_suffix): New function, returning tree
16447 rather than const char*, and accepting additional parameter.
16448 Don't add suffix to '*'-prefixed symbols or variadic functions.
16449 (i386_pe_encode_section_info): Adjust for call to new function.
16450 Call change_decl_assembler_name.
16451
828a4fe4
MS
164522004-08-20 Mike Stump <mrs@apple.com>
16453
16454 * config/darwin.c (machopic_indirect_data_reference): Mark
16455 stubs as defined.
16456 * config/386/386.c (darwin_local_data_pic): Add.
16457 (legitimate_constant_p): Reorder so that PLUS handling runs
16458 before darwin_local_data_pic to match the ordering in
16459 legitimate_pic_address_disp_p and so that MINUS runs after
16460 darwin_local_data_pic as otherwise the darwin_local_data_pic
16461 logic can be skipped, which would be very bad.
16462 (legitimate_pic_address_disp_p): Move from from here to
16463 darwin_local_data_pic so it can be reused.
16464
85b776df
AM
164652004-08-21 Alan Modra <amodra@bigpond.net.au>
16466
16467 * config/rs6000/linux64.h (DOT_SYMBOLS): Define.
16468 (CRT_CALL_STATIC_FUNCTION): Define !DOT_SYMBOLS version.
16469 (ASM_DECLARE_FUNCTION_SIZE): Modify for !DOT_SYMBOLS.
16470 (ASM_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Likewise.
16471 (RS6000_ABI_NAME): Define as "linux".
16472 (SUBSUBTARGET_OVERRIDE_OPTIONS): Set dot_symbols.
16473 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Select
16474 ABI_AIX when rs6000_abi_name is "linux" and TARGET_64BIT.
16475 * config/rs6000/rs6000-protos.h (rs6000_output_function_entry): Decl.
16476 * config/rs6000/rs6000.c (dot_symbols): New global var.
16477 (rs6000_output_function_entry): New function, modified for
16478 !DOT_SYMBOLS..
16479 (print_operand <case 'z'>): ..extracted from here.
16480 (rs6000_assemble_visibility): Modify for !DOT_SYMBOLS.
16481 (rs6000_output_function_epilogue): Likewise.
16482 (rs6000_elf_declare_function_name): Likewise.
16483 * config/rs6000/rs6000.h (DOT_SYMBOLS): Define.
16484 (ASM_WEAKEN_DECL, ASM_OUTPUT_DEF_FROM_DECLS): Modify for !DOT_SYMBOLS.
16485 * configure.ac (HAVE_LD_NO_DOT_SYMS): Add new AC_DEFINE.
16486 * configure: Regenerate.
16487 * config.in: Regenerate.
16488
14d3dc34
MM
164892004-08-20 Mark Mitchell <mark@codesourcery.com>
16490
0e544c37
MM
16491 * reload.c (find_reloads_address): Fix thinko in previous change.
16492
14d3dc34
MM
16493 * reload.c (find_reloads_address): Reload the sum of a LO_SUM and
16494 a CONST_INT.
16495
f3b2657c
JJ
164962004-08-20 Jakub Jelinek <jakub@redhat.com>
16497
16498 PR rtl-optimization/17099
16499 * combine.c (force_to_mode): Check if inner_mask has any bits set
16500 outside of GET_MODE (x) instead of op_mode.
16501
d2294baa
MM
165022004-08-20 Mark Mitchell <mark@codesourcery.com>
16503
16504 * config.gcc (arm*-*-symbianelf*): Add t-symbian Makefile
16505 fragment.
16506 * config/arm/bpabi.h (RENAME_LIBRARY_SET): Fix typo.
16507 (SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=3 to the assembler.
16508 * config/arm/symbian.h (SUBTARGET_CPU_DEFAULT): Assume ARMV5
16509 architecture.
16510 (SUBTARGET_ASM_FLOAT_SPEC): Default to -mfpu=vfp for hard-float
16511 configurations.
16512 * config/arm/t-symbian: New file.
16513
753d0efa
AP
165142004-08-20 Andrew Pinski <apinski@apple.com>
16515
16516 * regrename.c (kill_value_regno): ANSIfy.
16517
627b6fe2
DJ
165182004-08-20 Dale Johannesen <dalej@apple.com>
16519
324a6c95 16520 * config/rs6000/rs6000.c (rs6000_rtx_costs): Improve DIV/MOD.
627b6fe2 16521
d64d5e80
DJ
165222004-08-20 Daniel Jacobowitz <dan@debian.org>
16523
16524 * regrename.c (kill_value_one_regno): Renamed from kill_value_regno.
16525 (kill_value_regno): New function, derived from kill_value.
16526 (kill_value): Update.
16527 (copyprop_hardreg_forward_1): Update call to kill_value_regno.
16528
af75a7ea 165292004-08-20 Daniel Berlin <dberlin@dberlin.org>
f676971a 16530
af75a7ea
DB
16531 Fix PR tree-optimization/17111
16532 * tree-ssa-pre.c (create_value_expr_from): Don't change the types
16533 of non-value_handles.
16534 (bitmap_set_contains): All constants are in every set.
16535
0a936b12
NS
165362004-08-20 Nathan Sidwell <nathan@codesourcery.com>
16537
16538 * fold-const.c (round_up, round_down): Use build_int_cst.
16539 Optimize common case.
16540
774acadf
ZW
165412004-08-20 Zack Weinberg <zack@codesourcery.com>
16542 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16543
324a6c95 16544 * config/pa/pa-protos.h (readonly_data, one_only_readonly_data_section,
774acadf
ZW
16545 one_only_data_section): Rename to som_readonly_data_section,
16546 som_one_only_readonly_data_section and som_one_only_data_section.
324a6c95 16547 * config/pa/pa.c (ONE_ONLY_TEXT_SECTION_ASM_OP,
0a936b12
NS
16548 NEW_TEXT_SECTION_ASM_OP, DEFAULT_TEXT_SECTION_ASM_OP): Delete
16549 conditional defines.
774acadf
ZW
16550 (som_text_section_asm_op): Replace ONE_ONLY_TEXT_SECTION_ASM_OP,
16551 NEW_TEXT_SECTION_ASM_OP and DEFAULT_TEXT_SECTION_ASM_OP with actual
16552 string values.
16553 (pa_select_section): Use renamed section functions.
16554 * config/pa/pa.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
324a6c95 16555 SOM_READONLY_DATA_SECTION_FUNCTION,
774acadf 16556 SOM_ONE_ONLY_READONLY_DATA_SECTION_FUNCTION,
324a6c95
SB
16557 SOM_ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION):
16558 Define here ...
16559 * config/pa/som.h: ... not here.
16560 (DEFAULT_TEXT_SECTION_ASM_OP, NEW_TEXT_SECTION_ASM_OP,
774acadf
ZW
16561 ONE_ONLY_TEXT_SECTION_ASM_OP, READONLY_DATA_ASM_OP,
16562 ONE_ONLY_READONLY_DATA_SECTION_ASM_OP,
324a6c95
SB
16563 ONE_ONLY_DATA_SECTION_ASM_OP): Delete.
16564 (READONLY_DATA_SECTION): Use som_readonly_data_section.
774acadf 16565
3224bead
NS
165662004-08-20 Nathan Sidwell <nathan@codesourcery.com>
16567
fabead06
NS
16568 * fold-const.c (int_const_binop): Don't generate non-overflowing
16569 size-types specially.
16570 (fold_convert_const): Likewise.
16571
3224bead
NS
16572 * stor-layout.c (initialize_sizetypes): Set SIZETYPE earlier,
16573 clear cache on copied sizetype.
16574
fb38008e
BE
165752004-08-20 Ben Elliston <bje@au.ibm.com>
16576
16577 * configure.ac: Don't escape apostrophe in --enable-coverage help.
16578 * configure: Regenerate.
16579
a9024779
DS
165802004-08-20 Danny Smith <dannysmith@users.sourceforge.net>
16581
16582 PR 5620
16583 * gcc.c (struct stat input_stat): Don't define if
16584 HOST_LACKS_INODE_NUMBERS
16585 (do_spec_1): If HOST_LACKS_INODE_NUMBERS, use lrealpath rather
16586 than stat to determine if temp file is same as input file.
16587 * doc/hostconfig.texi: Document HOST_LACKS_INODE_NUMBERS.
16588 * config/i386/xm-mingw32.h: Define HOST_LACKS_INODE_NUMBERS
16589
82563d35
RS
165902004-08-20 Richard Sandiford <rsandifo@redhat.com>
16591
16592 * configure.ac (mips*-*-*): Print an error if not using GAS.
16593 * configure: Regenerated.
16594 * doc/install.texi: Remove irix5 bullet from --with-gnu-as. Remove
16595 comments about buggy MIPSpro assemblers.
16596 * config.gcc (mips-sgi-irix[56]*): Combine stanzas. Include elfos.h
16597 before mips.h and iris.h after it. Use t-iris and t-slibgcc-irix.
16598 Use iris5.h only for IRIX 5 configs. Use iris6.h and t-iris6 for
16599 IRIX 6 configs. Define IRIX_USING_GNU_LD if using GNU ld.
16600 * config/mips/iris5.h (TARGET_IRIX, SWITCHES_NEED_SPACES)
16601 (DEFAULT_SIGNED_CHAR, WORD_SWITCH_TAKES_ARG, SUBTARGET_CC1_SPEC)
16602 (NO_IMPLICIT_EXTERN_C, MIPS_DEFAULT_GVALUE)
16603 (TARGET_ASM_EXTERNAL_LIBCALL): Move to iris.h.
16604 (WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS): Delete in favor
16605 of more general IRIX 6 definitions.
16606 (OBJECT_FORMAT_ELF, ASM_OUTPUT_ASCII, ASM_WEAKEN_LABEL)
16607 (HANDLE_SYSV_PRAGMA): Delete in favor of elfos.h definitions.
16608 (TARGET_IRIX5, ABICALLS_ASM_OP, BSS_SECTION_ASM_OP, HAS_INIT_SECTION)
16609 (LD_INIT_SWITCH, LD_FINI_SWITCH, SUBTARGET_ASM_OPTIMIZING_SPEC)
16610 (ASM_FINAL_SPEC, DBX_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
16611 (PREFERRED_DEBUGGING_TYPE, DWARF2_UNWIND_INFO, SET_FILE_NUMBER)
16612 (LABEL_AFTER_LOC, DOLLARS_IN_IDENTIFIERS, NO_DOLLAR_IN_LABEL)
16613 (TARGET_ASM_NAMED_SECTION, EXTRA_SECTION_FUNCTIONS)
16614 (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_WEAK_ALIAS)
16615 (SUBTARGET_EXTRA_SPECS): Delete definitions or undefs.
16616 (LINK_SPEC): Move most of definition to iris.h.
16617 (SUBTARGET_LINK_SPEC): New macro.
16618 (IRIX_STARTFILE_SPEC): Fold into...
16619 (STARTFILE_SPEC): ...here.
16620 (IRIX_ENDFILE_SPEC): Fold into...
16621 (ENDFILE_SPEC): ...here.
16622 * config/mips/iris6.h (TARGET_IRIX5): Remove override.
16623 (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE)
16624 (DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE, SET_ASM_OP)
16625 (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES, ASM_DECLARE_OBJECT_NAME)
16626 (ASM_FINISH_DECLARE_OBJECT, LOCAL_LABEL_PREFIX): Move to iris.h.
16627 (TARGET_OS_CPP_BUILTINS): Likewise. Guard IRIX6-specific bits.
16628 (DWARF2_UNWIND_INFO, DWARF2_GENERATE_TEXT_SECTION_LABEL)
16629 (SUBTARGET_CPP_SPEC, DWARF2_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
16630 (PREFERRED_DEBUGGING_TYPE, DWARF2_FRAME_INFO, MD_EXEC_PREFIX)
16631 (ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_FUNCTION_SIZE)
16632 (FUNCTION_NAME_ALREADY_DECLARED, SUPPORTS_INIT_PRIORITY)
16633 (POPSECTION_ASM_OP, SUBTARGET_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC)
16634 (SUBTARGET_ASM_DEBUGGING_SPEC, SUBTARGET_ASM_OPTIMIZING_SPEC)
16635 (BSS_SECTION_ASM_OP*, READONLY_DATA_SECTION_ASM_OP*)
16636 (EH_FRAME_SECTION_NAME, MUST_USE_SJLJ_EXCEPTIONS, CTORS_SECTION_ASM_OP)
16637 (DTORS_SECTION_ASM_OP, TARGET_ASM_NAMED_SECTION, EH_FRAME_SECTION_NAME)
16638 (ASM_OUTPUT_ALIGN, ASM_OUTPUT_FILENAME, ASM_OUTPUT_ALIGNED_LOCAL)
16639 (ASM_OUTPUT_ALIGNED_BSS): Remove definitions or undefs.
16640 (TARGET_IRIX6): Define to 1.
16641 (DRIVER_SELF_SPECS): Define.
16642 (DWARF2_FRAME_INFO): Define to 1 rather than !TARGET_SGI_O32_AS.
16643 (SUBTARGET_CC1_SPEC): Remove in favor of DRIVER_SELF_SPECS.
16644 (SUBTARGET_LINK_SPEC): New macro.
16645 (IRIX_STARTFILE_SPEC): Fold into...
16646 (STARTFILE_SPEC): ...here. Remove !mabi=* case.
16647 (SUBTARGET_{,DONT_}WARN_UNUSED_SPEC): New macros.
16648 (LIB_SPEC, LIBGCC_SPEC): Use them.
16649 (LIB_SPEC): Remove !mabi=* case.
16650 (IRIX_ENDFILE_SPEC): Fold into...
16651 (ENDFILE_SPEC): ...here. Remove !mabi=* case.
16652 * config/mips/mips-protos.h (irix_output_external_libcall): Delete.
16653 * config/mips/mips.h (TARGET_IRIX5, TARGET_SGI_O32_AS): Delete.
16654 (TARGET_IRIX6): New macro.
16655 (ASM_ABI_DEFAULT_SPEC): Remove !ELF definition.
16656 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX, SET_FILE_NUMBER)
16657 (LABEL_AFTER_LOC): Delete.
16658 * config/mips/mips.c (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END)
16659 (TARGET_SECTION_TYPE_FLAGS): Remove TARGET_IRIX versions.
16660 (mips_build_builtin_va_list): Check TARGET_IRIX6.
16661 (override_options): Remove TARGET_SGI_O32_AS-related code.
16662 (irix_output_external_libcall): Make static.
16663 (mips_output_filename): Avoid use of SET_FILE_NUMBER and
16664 LABEL_AFTER_LOC.
16665 (mips_file_start): Tidy guard for ABI sections. Remove use of
16666 ABICALLS_ASM_OP; use .abicalls instead.
16667 (mips_output_aligned_decl_common, mips_declare_object_name)
16668 (mips_finish_declare_object): Remove use of TARGET_SGI_O32_AS.
16669 (mips_output_function_prologue): Set TREE_ASM_WRITTEN if emitting
16670 .globl foo .text directives.
16671 (irix_asm_named_section_1, irix_asm_named_section)
16672 (irix_section_align_entry, irix_section_align_htab)
16673 (irix_orig_asm_out_file, irix_section_align_entry_eq)
16674 (irix_section_align_entry_hash, irix_asm_output_align)
16675 (irix_file_start, irix_section_align_1, copy_file_data)
16676 (irix_file_end, irix_section_type_flags): Delete.
16677 * config/mips/irix-crti.asm (__gcc_init): Move to .gcc_init section.
16678 Use standard section syntax. Remove protective "jr $31".
16679 (__gcc_fini): Likewise .gcc_fini.
16680 * config/mips/irix-crtn.asm: Adjust sections accordingly.
16681 * config/mips/sdb.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Moved from
16682 iris5gas.h.
16683 * config/mips/t-iris (irix-crti.o, irix-crtn.o): New rules, moved
16684 from t-irix-gld.
16685 (EXTRA_MULTILIB_PARTS): Define.
16686 * config/mips/t-iris6: Remove bogus comment.
16687 (EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS): Delete.
16688 * config/mips/iris5gas.h, config/mips/iris5gld.h,
16689 config/mips/iris6gas.h, config/mips/iris6gld.h,
16690 config/mips/t-iris5-as, config/mips/t-iris5-gas
16691 config/mips/t-irix-gld: Delete.
16692 * config/mips/iris.h: New file.
16693 * config/mips/t-slibgcc-irix: Renamed from t-iris5-6.
16694
c4cdb8e1
RE
166952004-08-20 Richard Earnshaw <rearnsha@arm.com>
16696
16697 * postreload.c (reload_cse_move2add): Allow any condjump, but check
16698 that the implicit set isn't clobbered in the jump insn.
16699
d55ab31d
MM
167002004-08-19 Mark Mitchell <mark@codesourcery.com>
16701
16702 * defaults.h (TARGET_LIBGCC_LIBFUNCS): Remove.
16703 * optabs.c (init_optabs): Don't check it.
16704 * config/arm/bpabi.h (TARGET_LIBGCC_LIBFUNCS): Do not define.
16705 * doc/tm.texi (TARGET_LIBGCC_FUNCS): Remove.
16706
d75f90f1
AK
167072004-08-18 Andreas Krebbel <krebbel1@de.ibm.com>
16708
16709 * config/s390/s390.md (s390_warn_framesize_string)
16710 (s390_warn_dynamic_string, s390_stack_size_string)
16711 (s390_stack_guard_string): New global string variables.
16712 (s390_warn_framesize, s390_warn_dynamicstack_p, s390_stack_size)
16713 (s390_stack_guard): New global variables.
16714 (override_options): Added checks for the new options.
16715 (s390_emit_prologue): Emit stack check and trap code and perform
16716 compile time stack size checking.
f676971a
EC
16717
16718 * config/s390/s390.h (TARGET_OPTIONS): Added new options
d75f90f1
AK
16719 "warn-framesize", "warn-dynamicstack", "stack-size" and
16720 "stack-guard".
16721
16722 * doc/invoke.texi: Added documentation for the new options.
16723
ca29916b
UW
167242004-08-19 Ulrich Weigand <uweigand@de.ibm.com>
16725
16726 * unwind-dw2-fde.c (get_cie_encoding): Cast argument to strlen
16727 to eliminate warning.
16728 (linear_search_fdes): Declare p as unsigned.
16729 (binary_search_mixed_encoding_fdes): Likewise.
16730 * unwind-dw2.c (get_cie_encoding): Cast argument to strlen
16731 to eliminate warning.
16732 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Add missing
16733 type cast.
16734
e1d5ee28
UW
167352004-08-19 Ulrich Weigand <uweigand@de.ibm.com>
16736
16737 * config/s390/s390-protos.h (preferred_la_operand_p): Adapt prototype.
16738 * config/s390/s390.c (preferred_la_operand_p): Accept two operands
16739 instead of one. Check for strictly legitimate address.
16740 * config/s390/s390.md ("*la_31"/"*la_64" peepholes): Adapt call
16741 to preferred_la_operand_p, do not call gen_rtx_PLUS in predicate.
16742
19114537
EC
167432004-08-19 Eric Christopher <echristo@redhat.com>
16744
16745 * langhooks-def.h (LANG_HOOKS_UNSAVE_EXPR_NOW): Remove.
16746 * langhooks.h (unsave_expr_now): Ditto.
16747 * tree.h (unsave_expr_1): Remove prototype.
16748 (lhd_unsave_expr_now): Rename to unsave_expr_now.
16749 * tree-inline.c (unsave_expr_1): Move here
16750 from tree.c. Make static.
16751 (unsave_expr_now): Rename from lhd_unsave_expr_now.
16752 * tree-sra.c: Fix up for rename.
16753 * tree-ssa-copy.c: Ditto.
16754 * tree-eh.c: Ditto.
16755 * tree.c (unsave_expr_1): Move to tree-inline.c.
16756
d5bfecf2
CT
167572004-08-19 Caroline Tice <ctice@apple.com>
16758
324a6c95
SB
16759 * config/i386/cygming.h (switch_to_section): Fix typo (change
16760 in_unlikely_text_section to in_unlikely_executed_text).
19114537 16761
58152808
DB
167622004-08-19 Daniel Berlin <dberlin@dberlin.org>
16763
16764 * vec.h (VEC_lower_bound): New macro.
19114537 16765
ae043003
RS
167662004-08-19 Richard Sandiford <rsandifo@redhat.com>
16767
16768 PR target/16446
16769 * config/mips/mips.c (struct mips_arg_info): Delete num_bytes.
16770 (mips_arg_info): Update accordingly. Remove common treatment of fpr_p;
16771 treat each ABI separately. Deal with n32/n64 complex float arguments.
16772 (function_arg): Add associated complex handling here.
16773
50ed9cea
RH
167742004-08-19 Richard Henderson <rth@redhat.com>
16775
16776 * config/arm/arm.c (arm_gen_load_multiple): Use
16777 adjust_automodify_address. Take base memory and offset instead
16778 of unchanging/struct/scalar bits.
16779 (arm_gen_store_multiple): Likewise.
16780 (arm_gen_movmemqi): Use adjust_automodify_address.
16781 * config/arm/arm-protos.h: Update decls.
16782 * config/arm/arm.md (load_multiple): Update arm_gen_load_multiple call.
16783 (store_multiple): Similarly.
16784
74ae207d
R
167852004-08-19 J"orn Rennecke <joern.rennecke@superh.com>
16786
16787 * regclass.c (globalize_reg): Update call_really_used_regs.
16788
89b0433e
NS
167892004-08-19 Nathan Sidwell <nathan@codesourcery.com>
16790
31ebd7c8
NS
16791 * doc/invoke.texi (integer-share-limit): Document.
16792
89b0433e
NS
16793 * tree.h (TYPE_CACHED_VALUES_P): New.
16794 (TYPE_CACHED_VALUES): New.
16795 (TYPE_ORIG_SIZE_TYPE): Adjust.
16796 * tree.def (INTEGER_CST): Update documentation.
16797 * tree.c: Inlcude params.h.
16798 (build_int_cst): Cache small values.
16799 (build_type_copy): Do not copy the value cache.
16800 * c-common.c (c_common_nodes_and_builtins): Add comment, remove
16801 unneeded zeroing.
16802 * c-typeck.c (build_c_cast): Add comment about OVERFLOW setting.
16803 * expmed.c (const_mult_add_overflow_p): Clear type copy's value
16804 cache.
16805 * fold-const.c (force_fit_type): Copy value when setting
16806 overflows.
16807 (int_const_binop): Likewise.
16808 * stor-layout.c: Include params.h
16809 (set_sizetype): Create values cache.
16810 (fixup_unsigned_type): Set UNSIGNED_P before caching any values.
16811 * params.def (PARAM_INTEGER_SHARE_LIMIT): New.
16812 * params.h (INTEGER_SHARE_LIMIT): New.
16813 * Makefile.in (tree.o, stor-layout.o): Depend on PARAMS_H.
19114537 16814
c2504783
PB
168152004-08-19 Paolo Bonzini <bonzini@gnu.org>
16816
16817 * gimplify.c (gimplify_minimax_expr): Remove.
16818 (gimplify_expr) <MIN_EXPR, MAX_EXPR>: Remove special handling.
16819
7a8554ce
DN
168202004-08-19 Dorit Naishlos <dorit@il.ibm.com>
16821
19114537 16822 * tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace
7a8554ce
DN
16823 STACK_BOUDARY with PREFERRED_STACK_BOUNDARY.
16824
1905f33d
MM
168252004-08-19 Mark Mitchell <mark@codesourcery.com>
16826
16827 * bpabi.h (FPUTYPE_DEFAULT): Set it to FPUTYPE_VFP.
16828
f1732751
AP
168292004-08-18 Andrew Pinski <apinski@apple.com>
16830
16831 * varasm.c (ecode_reg_name): Do nothing if the asmspec is empty.
16832
8c78a388
MM
168332004-08-18 Mark Mitchell <mark@codesourcery.com>
16834
16835 * config/arm/bpabi.c (__aeabi_ul2d): Give it default visibility.
16836 (__aeabi_ul2f): Likewise.
16837
7eda7cda
RH
168382004-08-18 Richard Henderson <rth@redhat.com>
16839
16840 * config/xtensa/xtensa.c (xtensa_expand_block_move): Expand block
16841 move to rtl completely.
16842 (struct meminsnbuf, xtensa_emit_block_move): Remove.
16843 (xtensa_find_mode_for_size): Remove.
16844 * config/xtensa/xtensa-protos.h (xtensa_emit_block_move): Remove.
16845 * config/xtensa/xtensa.md (movmemsi_internal): Remove.
16846
88042663
RH
168472004-08-18 Richard Henderson <rth@redhat.com>
16848
16849 * config/mcore/mcore.c (mode_from_align): Remove DImode.
16850 (block_move_sequence): Rewrite to use adjust_address.
16851 (mcore_expand_block_move): Cleanup logic. Accept only operands.
16852 Return boolean indicating success/failure.
16853 * config/mcore/mcore-protos.h (mcore_expand_block_move): Update decl.
16854 * config/mcore/mcore.md (movmemsi): Update to match.
16855
699c914a
MS
168562004-08-18 Mike Stump <mrs@apple.com>
16857
16858 * doc/invoke.texi (-mfix-and-continue): Add support for
16859 fast turn around debugging.
16860 (-ffix-and-continue): Likewise.
16861 (-mindirect-data): Likewise.
16862 (-findirect-data): Likewise.
16863 * config/darwin.c (TARGET_FIX_AND_CONTINUE): Likewise.
16864 (indirect_data): Likewise.
16865 (machopic_data_defined_p): Likewise.
16866 (machopic_output_indirection): Likewise.
16867 (darwin_encode_section_info): Likewise.
16868 (darwin_fix_and_continue): Likewise.
16869 (darwin_fix_and_continue_switch): Likewise.
16870 * config/darwin.h (MACHO_SYMBOL_STATIC): Likewise.
16871 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
16872 (SUBTARGET_OPTION_TRANSLATE_TABLE): Likewise.
16873 (SUBTARGET_OPTIONS): Likewise.
16874 (darwin_fix_and_continue): Likewise.
16875 (darwin_fix_and_continue_switch): Likewise.
16876 (TARGET_FIX_AND_CONTINUE): Likewise.
16877 * config/rs6000.c (rs6000_emit_prologue): Likewise.
16878
168792004-08-19 Steven Bosscher <stevenb@suse.de>
bd454efd
SB
16880
16881 * basic-block.h (struct edge_def): Remove crossing_edge.
16882 (EDGE_CROSSING): New define.
16883 (EDGE_ALL_FLAGS): Update.
16884 * bb-reorder.c (find_traces_1_round, better_edge_p,
16885 find_rarely_executed_basic_blocks_and_cr, fix_up_fall_thru_edges,
16886 find_jump_block, fix_crossing_conditional_branches,
16887 fix_crossing_unconditional_branches, add_reg_crossing_jump_notes):
16888 Replace all occurences of crossing_edge with an edge flag check
16889 or set/reset.
16890 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
16891 try_crossjump_bb): Likewise.
16892 * cfglayout.c (fixup_reorder_chain): Likewise.
16893 * cfgrtl.c (force_nonfallthru_and_redirect,
16894 commit_one_edge_insertion): Likewise.
16895
16896 * Makefile.in (cfganal.o): Depend on TIMEVAR_H.
16897 * tree-flow.h (compute_dominance_frontiers): Move prototype...
16898 * basic-block.h: ...here.
16899 * tree-cfg.c (compute_dominance_frontiers_1,
16900 compute_dominance_frontiers): Move from here...
16901 * cfganal.c: ...to here. Include timevar.h.
16902
9ff6992e
JW
169032004-08-18 James E Wilson <wilson@specifixinc.com>
16904
c831f54b 16905 * config/mips/mips.h (ASM_SPEC): In comment, change -meabi= to -mabi=.
a1627d80
JW
16906 * config/mips/sb1.md (ir_sb1_divsf_1pipe): Renamed from ...1pipes.
16907
9ff6992e
JW
16908 * config/mips/mips.md (type): Add frdiv.
16909 (divsf3+1, divsf3+2): Change type to frdiv.
16910 * config/mips/sb1.md (ir_sb1_recipsf_2pipes, ir_sb1_recipsf_1pipe,
16911 ir_sb1_recipdf_2pipes, ir_sb1_recipdf_1pipe): New.
19114537 16912
9ff6992e
JW
16913 * config/mips/3000.md (r3k_fdiv_single, r3k_fdiv_double): Add frdiv.
16914 * config/mips/4300.md (r4300_fdiv_single, r4300_fdiv_double): Likewise.
16915 * config/mips/4600.md (r4600_fdiv_single, f4600_fdiv_double): Likewise.
16916 * config/mips/5000.md (r5k_fdiv_single): Likewise.
16917 * config/mips/5400.md (ir_vr54_fdiv_sf, ir_vr54_fdiv_df): Likewise.
16918 * config/mips/5500.md (ir_vr55_fdiv_sf, ir_vr55_fdiv_df): Likewise.
16919 * config/mips/6000.md (r6k_fdiv_single, r6k_fdiv_double): Likewise.
16920 * config/mips/7000.md (rm7_fp_divsqrt_df, rm7_fp_divsqrt_sf): Likewise.
16921 * config/mips/9000.md (rm8k_fdivs, rm9k_fdivd): Likewise.
16922 * config/mips/generic.md (generic_fdiv_single, generic_fdiv_double):
16923 Likewise.
16924 * config/mips/sr71k.md (ir_sr70_fdiv_sf, ir_sr70_fdiv_df): Likewise.
16925
c16eb900
RB
169262004-08-18 Robert Bowdidge <bowdidge@apple.com>
16927
16928 * config/rs6000/x-darwin: Remove XCFLAGS -mdynamic-no-pic to
324a6c95 16929 get regression tester working again.
c16eb900 16930
826c9564
ZW
169312004-08-18 Zack Weinberg <zack@codesourcery.com>
16932
16933 * insn-notes.def, reg-notes.def: New files.
16934 * rtl.h: Use them to define enum insn_note and enum reg_note.
16935 * rtl.c: Use them to define note_insn_name and reg_note_name.
4b179e92 16936 * Makefile.in (RTL_BASE_H): Update.
826c9564
ZW
16937
16938 * modulo-sched.c, sched-rgn.c, final.c: NOTE_DISABLE_SCHED_OF_BLOCK
16939 renamed to NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
16940
21b5653c
RE
169412004-08-18 Richard Earnshaw <rearnsha@arm.com>
16942
16943 * arm.c (arm_size_rtx_costs): New function.
16944 (arm_override_options): Use it if optimizing for space.
16945
542a8afa
RH
169462004-08-18 Richard Henderson <rth@redhat.com>
16947
16948 * emit-rtl.c (gen_const_mem): New.
16949 * rtl.h (gen_const_mem): Declare.
16950 * expr.c (do_tablejump): Use it.
16951 * varasm.c (force_const_mem): Likewise.
16952 * config/darwin.c (machopic_indirect_data_reference): Likewise.
16953 (machopic_legitimize_pic_address): Likewise.
16954 * config/arm/arm.c (legitimize_pic_address): Likewise.
16955 * config/i386/i386.c (legitimize_pic_address): Likewise.
16956 (legitimize_tls_address): Likewise.
16957 * config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
16958 * config/ia64/ia64.md (load_fptr): Likewise.
16959 * config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
16960 * config/pa/pa.c (legitimize_pic_address): Likewise.
16961 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
16962 (rs6000_emit_move): Likewise.
16963 * config/s390/s390.c (legitimize_pic_address): Likewise.
16964 (legitimize_tls_address): Likewise.
16965 * config/s390/s390.md (casesi): Likewise.
16966 * config/sh/sh.c (sh_reorg): Likewise.
16967 * config/sparc/sparc.c (legitimize_pic_address): Likewise.
16968 * config/v850/v850.md (casesi): Likewise.
16969
16970 * config/darwin.c (machopic_indirect_call_target): Set MEM_NOTRAP_P.
16971 * config/sh/sh.c (prepare_move_operands): Remove incorrect
16972 use of MEM_READONLY_P.
16973
0516f6fe
SB
169742004-08-18 Steven Bosscher <stevenb@suse.de>
16975
16976 * Makefile.in (OBJS-common): Add postreload-gcse.c.
16977 Add new postreload-gcse.o.
16978 * cse.c (SAFE_HASH): Define as wrapper around safe_hash.
16979 (lookup_as_function, insert, rehash_using_reg, use_related_value,
16980 equiv_constant): Use SAFE_HASH instead of safe_hash.
16981 (exp_equiv_p): Export. Add for_gcse argument when comparing
16982 for GCSE.
16983 (lookup, lookup_for_remove, merge_equiv_classes, find_best_addr,
16984 find_comparison_args, fold_rtx, cse_insn): Update callers.
16985 (hash_rtx): New function derived from old canon_hash and bits
16986 from gcse.c hash_expr_1.
16987 (canon_hash_string): Rename to hash_rtx_string.
16988 (canon_hash, safe_hash): Make static inline. Call hash_rtx.
16989 * cselib.c (hash_rtx): Rename to cselib_hash_rtx.
16990 (cselib_lookup): Update this caller.
16991 * gcse.c (modify_mem_list_set, canon_modify_mem_list_set):
16992 Make static.
16993 (hash_expr): Call hash_rtx.
16994 (ldst_entry): Likewise.
16995 (expr_equiv_p): Call exp_equiv_p.
16996 (struct unoccr, hash_expr_1, hash_string_1, lookup_expr,
16997 reg_used_on_edge, reg_set_between_after_reload_p,
16998 reg_used_between_after_reload_p, get_avail_load_store_reg,
16999 is_jump_table_basic_block, bb_has_well_behaved_predecessors,
17000 get_bb_avail_insn, hash_scan_set_after_reload,
17001 compute_hash_table_after_reload,
17002 eliminate_partially_redundant_loads, gcse_after_reload,
17003 get_bb_avail_insn, gcse_after_reload_main): Remove.
17004 * postreload-gcse.c: New file, reincarnating most of the above.
17005 * rtl.h (exp_equiv_p, hash_rtx): New prototypes.
17006 (gcse_after_reload_main): Update prototype.
17007 * timevar.def (TV_GCSE_AFTER_RELOAD): New timevar.
17008 * passes.c (rest_of_handle_gcse2): Use it.
17009
95013377
DN
170102004-08-18 Diego Novillo <dnovillo@redhat.com>
17011
17012 * tree-ssa-loop.c (pass_loop_init): Add TODO_dump_func.
17013 (pass_loop_done): Likewise.
17014
ac9e2cff
AP
170152004-08-18 Andrew Pinski <apinski@apple.com>
17016
826c9564 17017 * config/rs6000/darwin.md: Delete the altivec patterns which are
ac9e2cff
AP
17018 handled differently now.
17019 (load_macho_picbase_di): Make sure that is only happens for TARGET_64BIT
17020 (macho_correct_pic_di): Likewise.
17021 (call_indirect_nonlocal_darwin64): Likewise.
17022 Delete the save world/saveFP/saveVec patterns.
826c9564 17023
ac9e2cff 17024 Revert the reversion of: 2004-08-16 Stan Shebs <shebs@apple.com>
826c9564
ZW
17025 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
17026 * config/rs6000/rs6000.md: Include darwin.md.
17027 (builtin_setjmp_receiver): Add DImode case.
17028 * config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
17029 Darwin bits.
ac9e2cff 17030
92b9a671
MA
170312004-08-18 Matt Austern <austern@apple.com>
17032
17033 Dead code stripping
17034 * darwin.h (EH_FRAME_SECTION_ATTR): Mark so it doesn't get stripped.
17035 * darwin.c (darwin_file_end): Mark file as potentially strippable.
826c9564 17036
4766261d
RH
170372004-08-18 Richard Henderson <rth@redhat.com>
17038
17039 * alias.c (readonly_fields_p): Remove.
17040 (objects_must_conflict_p): Don't call it.
17041 * tree.h (readonly_fields_p): Remove.
17042 * langhooks.h (struct lang_hooks): Remove honor_readonly.
17043 * langhooks-def.h (LANG_HOOKS_HONOR_READONLY): Remove.
17044
50dc9a88
DN
170452004-08-18 Diego Novillo <dnovillo@redhat.com>
17046
17047 * tree-dfa.c (add_referenced_var): Only global variables are
17048 call-clobbered.
17049 * tree-flow.h (struct ptr_info_def): Add field pt_global_mem.
17050 * tree-ssa-alias.c (compute_points_to_and_addr_escape): Mark
17051 all pointers dereferenced if the statement dereferences them.
17052 (create_name_tags): Do not create memory tags for pointers
17053 that have PT_ANYTHING set.
17054 Also check if PT_VARS is not empty before creating a name tag.
17055 (compute_flow_sensitive_aliasing): Don't mark call-clobbered
17056 variables that share the same alias set with a pointer that
17057 may point anywhere.
17058 (add_may_alias): Add FIXME comment to remove clobbering
17059 aliased variables and tags.
17060 (replace_may_alias): Likewise.
17061 (set_pt_anything): Do not clear PT_VARS nor IS_DEREFERENCED.
17062 (merge_pointed_to_info): If the original variable has not
17063 points-to information, call set_pt_anything.
17064 (add_pointed_to_var): Do not prevent adding a pointed-to
17065 variable if the pointers is PT_ANYTHING.
17066 If the variable is a global, set PT_GLOBAL_MEM.
17067 (collect_points_to_info_r): Don't assume that PLUS_EXPRs of
17068 pointer type only come in PTR+OFFSET flavours.
17069 Always call merge_pointed_to_info on PHI arguments that are
17070 SSA_NAMEs.
17071 (get_nmt_for): Mark call-clobbered tags whose pointer points
17072 to global memory.
17073 * tree-ssa-operands.c (opf_kill_def, opf_no_vops): Switch
17074 values.
17075 (get_indirect_ref_operands): Always clear OPF_KILL_DEF from
17076 FLAGS.
17077 (add_stmt_operand): Abort if the caller tried to add a killing
17078 definition for a memory tag.
17079 * tree-ssa.c (verify_flow_sensitive_alias_info): Remove
17080 unnecessary checks.
17081
62164eb4
R
170822004-08-18 J"orn Rennecke <joern.rennecke@superh.com>
17083
17084 * sh.h (CONDITIONAL_REGISTER_USAGE): Don't exclude fixed registers
17085 from call_used_regs. Update call_really_used_regs.
17086 (CALL_REALLY_USED_REGISTERS): Define.
17087 * sh.c (output_stack_adjust, shmedia_target_regs_stack_space):
17088 Replace call_used_regs with call_really_used_regs.
17089 (calc_live_regs, sh_media_register_for_return): Likewise.
17090 (sh5_schedule_saves, sh_expand_prologue, reg_unused_after): Likewise.
17091 * sh.md (return_media): Likewise.
17092
f9b0ac3b
AP
170932004-08-18 Andrew Pinski <apinski@apple.com>
17094
826c9564 17095 * config/darwin.c (machopic_legitimize_pic_address): Only set
ac9e2cff 17096 MEM_READONLY_P in the non TARGET_TOC case.
f9b0ac3b 17097
f822d252
ZW
170982004-08-18 Zack Weinberg <zack@codesourcery.com>
17099
17100 * rtl.def (NIL): Delete.
17101 * read-rtl.c (read_rtx): Handle (nil) like (define_constants).
17102 Tighten the syntax a little.
17103
17104 * cfgloop.h, combine.c, cse.c, loop-iv.c, postreload.c, reload.c
17105 * config/alpha/alpha.c, config/alpha/alpha.h, config/arc/arc.h
17106 * config/arm/arm.h, config/frv/frv.h, config/i386/i386.c
17107 * config/i386/predicates.md, config/m32r/m32r.h
17108 * config/m68hc11/m68hc11.c, config/mcore/mcore.h, config/mips/mips.c
17109 * config/mmix/mmix.c, config/pa/pa.h, config/sh/sh.h
17110 * config/sparc/sparc.h, doc/tm.texi:
17111 Replace all occurrences of NIL with UNKNOWN.
17112
6aaf3dde
ZW
171132004-08-18 Zack Weinberg <zack@codesourcery.com>
17114
17115 * dojump.c (do_jump <unordered_bcc>): Do not recursively call
17116 self with a TRUTH_ORIF_EXPR; generate the appropriate jump
17117 sequence inline. Move drop_through_label code into this
17118 block, being the only place it is used. Adjust comments.
17119
d62294f5
FJ
171202004-08-18 Fariborz Jahanian <fjahanian@apple.com>
17121
6aaf3dde
ZW
17122 * config/rs6000/altivec.md: Add new patterns for calls to
17123 save_world/rest_world functions.
17124
17125 * config/rs6000/rs6000-protos.h: (save_world_operation,
17126 restore_world_operation) new declarations.
17127
17128 * config/rs6000/rs6000.c: (struct rs6000_stack) new world_save_p
17129 field added.
17130 (rs6000_stack_info): Set world_save_p field.
17131 (save_world_operation): New function.
17132 (restore_world_operation): New function.
17133 (compute_save_world_info): New function.
17134 (rs6000_stack_info): Call compute_save_world_info.
17135 (rs6000_emit_prologue): Check for world_save_p and generate
17136 pattern to call save_world for saving all non-volatile and
17137 special registers.
17138 (rs6000_emit_epilogue): Check for world_save_p and generate
17139 pattern to call rest_world to restore saved registers.
17140
17141 config/rs6000/rs6000.h: macros FIRST_SAVED_ALTIVEC_REGNO,
17142 FIRST_SAVED_FP_REGNO, FIRST_SAVED_GP_REGNO defined.
17143 (rs6000_reg_names): New entries added for save_world_operation and
17144 restore_world_operation.
d62294f5 17145
790ac0e1
CT
171462004-08-18 Caroline Tice <ctice@apple.com>
17147
6aaf3dde 17148 * Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS) Add
790ac0e1
CT
17149 "-freorder-blocks-and-partition" to the flags used in second
17150 stage of profiledbootstrap.
17151 * bb-reorder.c (push_to_next_round_p): Add new variable,
17152 next_round_is_last; set and use variable to make sure, when
17153 partitioning, that the last trace construction round consists
17154 of all (and only) cold basic blocks.
17155 (rotate_loop): Don't copy blocks that end in a section
17156 crossing jump.
17157 (copy_bb): Correctly initialize "partition" of duplicated bb.
17158 (add_unlikely_executed_notes): Add a comment.
17159 (find_rarely_executed_basic_blocks_and_crossing_edges): Modify
17160 to make sure, if function contains hot blocks, that the
17161 successors of ENTRY_BLOCK_PTR are hot; also, only look for
17162 crossing edges if the architecture supports named sections.
17163 (mark_bb_for_unlikely_executed_section): Modify to always
17164 insert the NOTE_INSN_UNLIKELY_EXECUTED_CODE immediately after
17165 the basic block note insn.
17166 (fix_crossing_unconditional_branches): Remove extra space.
17167 (fix_edges_for_rarely_executed_code): Modify to only do
17168 partitioning work if the architecture supports named sections.
17169 (reorder_basic_blocks): Modify to only add
17170 NOTE_INSN_UNLIKELY_EXECUTED_CODE notes if the architecture
17171 supports named sections.
17172 * c-common.c (handle_section_attribute): Initialize new global
17173 variable, user_defined_section_attribute, to true if user has
17174 specified one.
17175 * cfgcleanup.c (try_forward_edges): Modify to not attempt to
17176 forward edges that cross section boundaries.
17177 * cfglayout.c (fixup_reorder_chain): Modify to only fix up
17178 partitioning information if the architecture supports named
17179 sections.
17180 * cfgrtl.c (target.h): Add statement to include this.
17181 (rtl_split_block): Make sure newly created bb gets correct
17182 partition.
17183 (try_redirect_by_replacing_jump): Make sure redirection isn't
17184 attempting to cross section boundaries.
17185 (force_nonfallthru_and_redirect): Only do partition fix up if
17186 architecture supports named sections.
17187 (rtl_split_edge): Make sure newly created bb ends up in
17188 correct partition.
17189 (commit_one_edge_insertion): Remove code that incorrectly
17190 updated basic block partition; Make sure partition fix up only
17191 happens if architecture supports named sections and it's not
17192 already done.
17193 (rtl_verify_flow_info_1): Fix if-condition on test/error
17194 condition that fallthru edges are not allowed to cross section
17195 boundaries.
17196 * defaults.h (NORMAL_TEXT_SECTION_NAME): Remove this.
17197 * final.c (final_scan_insn): Remove redundant test from if-statement;
17198 change calls to text_section into calls to function_section; add code
17199 to only to partitioning fix up if architecture supports named
17200 sections.
17201 * ifcvt.c (find_if_case_1): Make sure newly created bb has correct
17202 partition.
17203 (if_convert): Add targetm.have_named_sections to test.
17204 * output.h (unlikely_section_label): Extern declaration for new global
17205 variable.
17206 (unlikely_text_section_name): Likewise.
17207 * opts.c (decode_options): If both partitioning and DWARF debugging
17208 are turned on, issue a warning that this doesn't work, and change
17209 partitiong to basic block reordering (without hot/cold partitions).
6aaf3dde 17210 * passes.c (rest_of_handle_final): Re-set new global variable,
790ac0e1
CT
17211 user_defined_section_attribute, to false.
17212 (rest_of_compilation): Change options for calling partitioning
17213 function: Don't call if the user defined the section attribute, and
17214 don't call if DECL_ONE_ONLY is true for the current function.
17215 * predict.c (choose_function_section): Return immediately if we
17216 are doing hot/cold partitioning (i.e. let the basic block partitioning
17217 determine where the function belongs).
17218 * reg-stack.c (emit_swap_insn): Add condition to step over
17219 NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
17220 * toplev.c (user_defined_section_attribute): New global variable.
89b0433e
NS
17221 * toplev.h (user_defined_section_attribute): Extern declaration
17222 for new global variable.
790ac0e1
CT
17223 * varasm.c (unlikely_section_label): New global variable.
17224 (unlikely_text_section_name): New global variable.
89b0433e
NS
17225 (unlikely_text_section): Add code to initialize
17226 unlikely_text_section_name if necessary; modify to use
17227 unlikely_text_section_name and unlikely_section_label; also to use
17228 named_section properly.
17229 (in_unlikely_text_section): Modify to work correctly with
17230 named_section and to use unlikely_text_section_name.
790ac0e1
CT
17231 (named_section): Add code to work properly with cold section.
17232 (function_section): Clean up if-statement.
89b0433e
NS
17233 * config/darwin.c (darwin_asm_named_section): Return to original
17234 code, removing use of SECTION_FORMAT_STRING.
6aaf3dde 17235 * config/arm/pe.h (switch_to_section): Add case for
790ac0e1
CT
17236 in_unlikely_executed_text to switch statement.
17237 * config/i386/cygming.h (switch_to_section): Likewise.
17238 * config/i386/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
17239 (SECTION_FORMAT_STRING): Likewise.
17240 * config/mcore/mcore.h (switch_to_section): Likewise.
17241 * config/rs6000/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
17242 (SECTION_FORMAT_STRING): Remove.
17243
3a4416fb
RS
172442004-08-18 Roger Sayle <roger@eyesopen.com>
17245
17246 * config/i386/i386.h (FIXED_REGISTERS): Update encoding to be
17247 -ffixed-reg safe, by preserving the meanings of zero and one.
17248 (CALL_USED_REGISTERS): Likewise.
17249 (CONDITIONAL_REGISTER_USAGE): Update to process new encodings.
17250
03904fb3
KK
172512004-08-18 Kaz Kojima <kkojima@gcc.gnu.org>
17252
17253 * config/sh/sh.c (split_branches): Check the result of
17254 next_active_insn.
17255 (sh_output_mi_thunk): Call init_flow if basic_block_info is null.
17256 Call rtl_register_cfg_hooks.
17257
389fdba0
RH
172582004-08-18 Richard Henderson <rth@redhat.com>
17259
17260 * rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
17261 * alias.c (true_dependence): Update to match new semantics.
17262 (canon_true_dependence, write_dependence_p): Likewise.
17263 (anti_dependence, output_dependence): Update write_dependence_p args.
17264 (unchanging_anti_dependence): Remove.
17265 * calls.c (purge_mem_unchanging_flag): Remove.
17266 (fixup_tail_calls): Don't call it.
17267 (expand_call): Don't add unchanging memory to function usage.
17268 * expr.c (emit_block_move_via_libcall): Likewise.
17269 (clear_storage_via_libcall): Don't clobber RTX_UNCHANGING_P mems.
17270 (get_subtarget): Don't use RTX_UNCHANGING_P.
17271 (expand_assignment, store_constructor, expand_expr_real_1): Likewise.
17272 (do_tablejump): Set MEM_READONLY_P, not RTX_UNCHANGING_P.
17273 * combine.c (get_last_value_validate): Use MEM_READONLY_P.
17274 * cse.c (insert): Don't use RTX_UNCHANGING_P.
17275 (cse_insn, canon_hash): Use MEM_READONLY_P.
17276 * emit-rtl.c (set_mem_attributes_minus_bitpos): Use MEM_READONLY_P
17277 instead of RTX_UNCHANGING_P.
17278 * explow.c (maybe_set_unchanging): Remove.
17279 * expr.h (maybe_set_unchanging): Remove.
17280 * flow.c (insn_dead_p, mark_used_regs): Use anti_dependence.
17281 * function.c (assign_stack_temp_for_type): Don't use RTX_UNCHANGING_P.
17282 (assign_parm_setup_reg, expand_function_start): Likewise.
17283 * integrate.c (copy_rtx_and_substitute): Likewise.
17284 * ra-rewrite.c (emit_colors): Likewise.
17285 * regmove.c (copy_src_to_dest, regmove_optimize): Likewise.
17286 (fixup_match_1): Likewise.
17287 * reload1.c (reload, alter_reg): Likewise.
17288 * local-alloc.c (validate_equiv_mem): Check MEM_READONLY_P,
17289 not RTX_UNCHANGING_P.
17290 (equiv_init_varies_p): Likewise.
17291 * loop-invariant.c (check_maybe_invariant): Likewise.
17292 * resource.c (mark_referenced_resources, mark_set_resources): Likewise.
17293 * loop.c (note_addr_stored): Likewise.
17294 (prescan_loop): Likewise. Don't check function usage for clobbered
17295 unchanging memory.
17296 * rtlanal.c (rtx_unstable_p): Check MEM_READONLY_P,
6aaf3dde 17297 not RTX_UNCHANGING_P.
389fdba0
RH
17298 (rtx_varies_p, modified_between_p, modified_in_p): Likewise.
17299 * varasm.c (force_const_mem): Likewise.
17300 * stmt.c (expand_decl): Don't set RTX_UNCHANGING_P.
17301 * web.c (entry_register): Likewise.
17302 * tree-gimple.h (get_base_address): Move decl ...
17303 * tree.h: ... here.
17304 * doc/rtl.texi (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
17305
17306 * config/alpha/alpha.c (alpha_set_memflags_1): Rewrite to be
17307 called via for_each_rtx. Copy MEM_SCALAR_P, MEM_NOTRAP_P too.
17308 (alpha_set_memflags): Update to match.
17309
17310 * config/darwin.c (machopic_indirect_data_reference): Set
17311 MEM_READONLY_P instead of RTX_UNCHANGING_P.
17312 (machopic_indirect_call_target): Likewise.
17313 (machopic_legitimize_pic_address): Likewise.
6aaf3dde 17314 * config/arm/arm.c (legitimize_pic_address, arm_gen_load_multiple,
389fdba0
RH
17315 arm_gen_store_multiple, arm_gen_movmemqi): Likewise.
17316 * config/arm/arm.md (load_multiple, store_multiple): Likewise.
17317 * config/frv/frv.md (symGOT2reg): Likewise.
17318 * config/i386/i386.c (legitimize_pic_address,
17319 legitimize_tls_address, ix86_split_to_parts): Likewise.
17320 * config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
17321 * config/ia64/ia64.md (load_fptr): Likewise.
17322 * config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
17323 * config/m68k/m68k.c (legitimize_pic_address): Likewise.
17324 * config/mcore/mcore.c (block_move_sequence): Likewise.
17325 * config/mn10300/mn10300.md (symGOT2reg): Likewise.
17326 * config/pa/pa.c (legitimize_pic_address): Likewise.
17327 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
17328 (rs6000_emit_move): Likewise.
17329 * config/s390/s390.c (legitimize_pic_address): Likewise.
17330 (legitimize_tls_address): Likewise.
17331 * config/s390/s390.md (casesi): Likewise.
17332 * config/sh/sh.c (prepare_move_operands, sh_reorg): Likewise.
17333 * config/sh/sh.md (symGOT2reg): Likewise.
17334 * config/sparc/sparc.c (legitimize_pic_address): Likewise.
17335 * config/v850/v850.md (casesi): Likewise.
17336
17337 * config/ia64/ia64.c (gen_thread_pointer): Don't set RTX_UNCHANGING_P.
17338 * config/iq2000/iq2000.c (save_restore_insns): Likewise.
17339 * config/mips/mips.c (mips_restore_gp): Likewise.
17340 (mips_save_restore_reg, mips16_gp_pseudo_reg): Likewise.
17341 * config/sh/sh.c (sh_reorg): Likewise.
17342
17ad5b5e
RH
173432004-08-18 Richard Henderson <rth@redhat.com>
17344
17345 * tree.h (struct tree_decl): Add gimple_formal_temp.
17346 (DECL_GIMPLE_FORMAL_TEMP_P): New.
17347 * gimplify.c (pop_gimplify_context): Clear it.
17348 (lookup_tmp_var): Set it, if is_formal.
17349 (gimplify_init_constructor): Use rhs_predicate_for for COMPLEX.
17350 Use is_gimple_val for VECTOR. Simplify return value.
17351 (gimplify_save_expr): Use and set DECL_GIMPLE_FORMAL_TEMP_P.
17352 (gimplify_expr): Likewise.
17353 * tree-gimple.c (is_gimple_formal_tmp_rhs): Rename from
17354 is_gimple_tmp_rhs for clarity. Update all callers.
17355 (is_gimple_reg_rhs): Simplify logic.
17356 (is_gimple_formal_tmp_var): Rename from is_gimple_tmp_var for
17357 clarity; use DECL_GIMPLE_FORMAL_TEMP_P.
17358 (is_gimple_formal_tmp_reg): Similarly.
17359 * tree-gimple.h: Update decls.
17360 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Use
17361 DECL_IGNORED_P, not DECL_ARTIFICIAL. Tidy formatting.
17362 * tree-ssa-live.c (var_union, type_var_init): Likewise.
17363
5b0eba61
PB
173642004-08-18 Paolo Bonzini <bonzini@gnu.org>
17365
17366 * c4x.c (legitimize_operands): Remove calls to
17367 preserve_subexpressions_p.
17368
07e15286
DE
173692004-08-18 David Edelsohn <edelsohn@gnu.org>
17370
17371 * varasm.c (MAX_OFILE_ALIGNMENT): Move ...
17372 * defaults.h (MAX_OFILE_ALIGNMENT): ... here.
17373
ad8c162b
ZL
173742004-08-18 Ziemowit Laski <zlaski@apple.com>
17375
17376 * gcc.c (default_compilers): Add info about ".mm", ".M" and ".mii"
17377 Objective-C++ extensions.
17378 * gengtype.c (get_file_basename): Match entire subdirectory name
17379 ('cp', 'objc', 'objcp') rather than just its suffix.
17380 (get_base_file_bitmap): Allow for files to belong to more than one
17381 language.
17382 (get_output_file_with_visibility): Treat objc/objc-act.h as a header
17383 used by more than one front-end.
17384
d56993f2
RE
173852004-08-18 Richard Earnshaw <rearnsha@arm.com>
17386
17387 * arm.md (addsi3, subsi3, andsi3, iorsi3, movsi, movhi): Rework to
17388 avoid use of preserve_subexpressions_p.
17389
504c0e4f
RH
173902004-08-17 Richard Henderson <rth@redhat.com>
17391
17392 PR 17051
17393 * tree-sra.c (scalarize_use): Mark all v_defs for !is_output too.
17394
54e9a19d
DD
173952004-08-17 DJ Delorie <dj@redhat.com>
17396
17397 * doc/extend.texi: Document new xstormy16 attribute.
17398
17399 * config/stormy16/stormy16.c (xstormy16_splittable_below100_operand): New.
17400 (xstormy16_splittable_below100_or_register): New.
17401 (combine_bnp): New.
17402 (xstormy16_reorg): New.
17403 (TARGET_MACHINE_DEPENDENT_REORG): Define.
17404
54e9a19d
DD
17405 * config/stormy16/stormy16.md (movqi_internal): Make name public.
17406 (movhi_internal): Likewise.
17407 (cbhranchhi): Likewise.
17408 (cbhranchhi_neg): Likewise.
17409 (andhi3): Only allow splittable below100 operands.
17410 (iorhi3): Likewise.
17411 (peephole2): New and/zero_extend->and peephole.
17412 (peephole2): New load/ior/save->set1 peephole.
17413 (peephole2): New load/and/save->clr1 peephole.
17414 (bclrx, bclrx2, bclr7, bclr15): New.
17415 (bsetx, bsetx2, bset7, bset15): New.
17416
17417 * config/stormy16/stormy16.c (xstormy16_print_operand): Be more
17418 liberal about acceptable 'B' masks.
17419
17420 * config/stormy16/stormy16-protos.h
17421 (xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
17422 xstormy16_below100_operand, xstormy16_below100_or_register,
17423 xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
17424 (PREDICATE_CODES): Add new predicates.
6aaf3dde 17425
54e9a19d
DD
17426 * config/stormy16/stormy16.c
17427 (xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
17428 xstormy16_below100_operand, xstormy16_below100_or_register,
17429 xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
17430 (xstormy16_expand_iorqi3, xstormy16_expand_andqi3): New.
17431 (xstormy16_legitimate_address_p): Allow below100 symbols.
17432 (xstormy16_extra_constraint_p): Add 'W' for below100 operands.
17433 (xstormy16_expand_move): Leave below100 operands as-is.
17434 (xstormy16_encode_section_info): Encode below100 symbols.
17435 (xstormy16_strip_name_encoding): New.
17436 (xstormy16_print_operand): Print 'b' as shift mask.
17437 (xstormy16_attribute_table): Add below100 attributes.
17438 (xstormy16_handle_below100_attribute): New.
17439
17440 * config/stormy16/stormy16.h (EXTRA_SECTIONS): add in_bss100.
17441 (XSTORMY16_SECTION_FUNCTION): New.
17442 (EXTRA_SECTION_FUNCTIONS): Define using the above.
17443 (ASM_OUTPUT_ALIGNED_DECL_COMMON, ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
17444 (ASM_OUTPUT_SYMBOL_REF): Handle encoded symbols.
17445 (ASM_OUTPUT_LABELREF): Define.
17446
17447 * config/stormy16/stormy16.md (movqi_internal): Add below100 support.
17448 (movhi_internal): Add below100 support.
17449 (andhi3): Add below100 support.
17450 (iorhi3): Add below100 support.
17451 (iorqi3, iorqi3_internal, andqi3, andqi3_internal): New.
17452
4ef47bd8
JW
174532004-08-17 James E Wilson <wilson@specifixinc.com>
17454
17455 * config/mips/mips.c (gen_conditional_move): Use GET_MODE (op0) instead
17456 of VOIDmode for comparison code mode.
17457 * config/mips/mips.md: For conditional move patterns, use mode of
17458 first compare operand for comparison mode, instead of VOIDmode.
e17c734b
JW
17459
17460 * config/mips/mips.md: Add canonical nmadd and nmsub patterns for both
17461 normal and -ffast-math code.
17462
1a10290c
MM
174632004-08-17 Mark Mitchell <mark@codesourcery.com>
17464
17465 PR c++/15871
17466 * doc/invoke.texi (-fkeep-inline-functions): Update documentation.
17467
f4e736dd 174682004-08-17 Robert Bowdidge <bowdidge@apple.com>
6aaf3dde
ZW
17469
17470 * config/rs6000/x-darwin: Add -mdynamic-no-pic to gcc build flags.
f4e736dd 17471
13a98f14
AT
174722004-08-17 Andreas Tobler <a.tobler@schweiz.ch>
17473
17474 * config/rs6000/darwin.md (*call_nonlocal_darwin64): Add #else clause
17475 for non Darwin targets.
17476 (*call_value_nonlocal_darwin64): Likewise.
17477
d0b2079e
FJ
174782004-08-17 Fariborz Jahanian <fjahanian@apple.com>
17479
17480 * config/rs6000/rs6000.c (rs6000_function_value): Check for
17481 altivec mode for altivec return register.
17482
feb3dc8b
DE
174832004-08-17 David Edelsohn <edelsohn@gnu.org>
17484
17485 Revert 2004-08-16 Stan Shebs <shebs@apple.com>
ef0e2729 17486 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
feb3dc8b
DE
17487 * config/rs6000/rs6000.md: Include darwin.md.
17488 (builtin_setjmp_receiver): Add DImode case.
17489 * config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
17490 Darwin bits.
17491
79fe1b3b
DN
174922004-08-17 Dorit Naishlos <dorit@il.ibm.com>
17493
89b0433e
NS
17494 * tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE
17495 trees.
79fe1b3b
DN
17496 * tree-vectorizer.h: New File: Same.
17497 * Makefile.in (tree-vectorizer.c, tree-vectorizer.h): Add new files.
17498 * common.opt (ftree-vectorize): New flag to enable vectorization.
89b0433e
NS
17499 * timevar.def (TV_TREE_VECTORIZATION): New dump file for
17500 vectorization pass.
79fe1b3b
DN
17501 * tree-data-ref.h (init_data_ref): Additional argument.
17502 (array_base_name_differ_p): Moved to tree-data-ref.c.
17503 * tree-data-ref.c (array_base_name_differ_p): Revised.
17504 (initialize_data_dependence_relation): Call array_base_name_differ_p
17505 with an extra argument.
17506 (analyze_all_data_dependences): Same.
17507 (init_data_ref): Additional argument is_read to set DR_IS_READ.
89b0433e
NS
17508 * tree-ssa-phiopt.c (empty_block_p): Expose for usage out of this
17509 file.
79fe1b3b
DN
17510 * tree-flow.h (vectorize_loops, empty_block_p): Add declaration.
17511 * tree-optimize.c (pass_vectorize): Schedule the vectorization pass.
6aaf3dde 17512 * tree-pass.h (tree_opt_pass pass_vectorize): Declare the new
79fe1b3b
DN
17513 vectorization pass.
17514 * tree-ssa-loop.c (tree_ssa_loop_init): Call scev_initialize.
17515 (tree_ssa_loop_done): Call scev_finalize.
17516 (tree_vectorize): Define the new vectorization pass.
89b0433e
NS
17517 * defaults.h (UNITS_PER_SIMD_WORD): Allow targets to specify the
17518 size of the vector they support (until support for multiple vector
17519 sizes is added to the vectorizer).
79fe1b3b
DN
17520 * config/i386/i386.h (UNITS_PER_SIMD_WORD): Define.
17521 * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Define.
17522 * invoke.texi (fdump-tree-vect, ftree-vectorize): Add
17523 documentation.
17524
e15987c1
NS
175252004-08-17 Nathan Sidwell <nathan@codesourcery.com>
17526
17527 * objc/objc-act.c (build_protocol_initializer): Fix build_int_cst
17528 usage.
17529 (generate_protocol_list, handle_impent): Likewise.
17530
e3cadb61
RS
175312004-08-17 Roger Sayle <roger@eyesopen.com>
17532
17533 * regclass.c (init_reg_sets_1): Add ENABLE_CHECKING sanity tests to
17534 ensure that call_used_regs is a superset of both fixed_regs and
17535 call_really_used_regs.
17536
108a579c
DB
175372004-08-17 Daniel Bornstein <danfuzz@milk.com>
17538
17539 PR target/17019
17540 * arm.md (addsi3_cbranch_scratch): Correct case labels.
17541
62fc1d7d
PB
175422004-08-17 Paolo Bonzini <bonzini@gnu.org>
17543
17544 PR middle-end/17036
17545 * fold-const.c (fold): Check for integer operand when
17546 folding (A >> N) & 1 ? (1 << N) : 0. Fix from Andrew
17547 Pinski <pinskia@physics.uc.edu>.
17548
7c27e184
PB
175492004-08-17 Paolo Bonzini <bonzini@gnu.org>
17550
17551 * configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO.
17552 No need to check if in a cross configuration.
17553 * configure: Regenerate.
17554
17555 * calls.c (precompute_register_parameters):
17556 Inline preserve_subexpressions_p ().
17557 * expmed.c (expand_mult_const, emit_store_flag): Likewise.
17558 * optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn):
17559 Likewise.
17560 * expr.c (get_subtarget): Likewise.
17561 * rtl.h (preserve_subexpressions_p): Remove.
17562 * stmt.c (preserve_subexpressions_p): Remove.
17563
17564 * dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR,
17565 TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
17566 Abort on gimplified cases.
17567
d97c6333
JW
175682004-08-16 James E Wilson <wilson@specifixinc.com>
17569
17570 * tree.h (VECTOR_FLOAT_TYPE_P): New.
17571 (FLOAT_TYPE_P): Use it.
17572 * c-typeck.c (build_binary_op): After convert calls, check for
17573 check for ERROR_MARK operands.
17574
45c8116d
ZW
175752004-08-16 Zack Weinberg <zack@codesourcery.com>
17576
17577 * Makefile.in (BUILD_PREFIX, BUILD_PREFIX_1): Delete.
17578 (BUILD_RTL, BUILD_PRINT, BUILD_ERRORS, BUILD_VARRAY): Update.
17579 (genobjs): Add build-rtl.o, build-print-rtl.o, build-varray.o.
17580 (genobjs static pattern rule): Remove %.c dependency.
17581 ($(BUILD_PREFIX_1)rtl.o, print-rtl.o, $(BUILD_PREFIX_1)varray.o):
17582 Rename rules; delete commands; fix dependencies.
17583 (mostlyclean): Do not delete temporary source copies.
17584 * configure.ac: Delete all references to BUILD_PREFIX and
17585 BUILD_PREFIX_1.
17586 * configure: Regenerate.
17587
17588 * print-rtl.c: Include bconfig.h #ifdef GENERATOR_FILE.
17589 Do not include tree.h, real.h, flags.h, hard-reg-set.h, or
17590 basic-block.h #ifdef GENERATOR_FILE. Surround some more code
17591 with #ifndef GENERATOR_FILE so that nothing from those headers
17592 is used.
17593
17594 * rtl.c, varray.c: Include bconfig.h #ifdef GENERATOR_FILE.
17595
4d73e20b
AN
175962004-08-16 Adam Nemet <anemet@lnxw.com>
17597
17598 * Makefile.in (LIBS): Move $(LIBIBERTY) after $(BANSHEELIB).
6aaf3dde 17599
62114438
AP
176002004-08-16 Andrew Pinski <apinski@apple.com>
17601
17602 * target-def.h (TARGET_EH_RETURN_FILTER_MODE): Remove
17603 extraneous semicolon.
17604
8e3e233b
DP
176052004-08-16 Devang Patel <dpatel@apple.com>
17606
17607 * c-common.c (handle_used_attribute): Set DECL_PRESERVE_P.
17608 * print-tree.c (print_node): Print DECL_PRESERVE_P.
17609 * target-def.h (TARGET_ASM_MARK_DECL_PRESERVED): New #define.
17610 (TARGET_ASM_OUT): New member, TARGET_ASM_MARK_DECL_PRESERVED
17611 * target.h (struct gcc_target): New member, mark_decl_preserved.
45c8116d
ZW
17612 * hooks.c (hook_void_charptr): Rename to ...
17613 (hook_void_constcharptr): ... new name.
17614 * hooks.h (hook_void_charptr): Rename to ..
17615 (hook_void_constcharptr): ... new name.
8e3e233b
DP
17616 * tree.h (DECL_PRESERVE_P): New #define.
17617 (struct tree_decl): New member, preserve_flag.
17618 * varasm.c (assemble_start_function): Mark decl preserved.
17619 (assemble_variable): Same.
17620 * darwin.c (darwin_mark_decl_preserved): New function.
17621 * darwin.h (TARGET_ASM_MARK_DECL_preserved): New #define.
17622 * darwin-protos.h (darwin_mark_decl_preserved): New decl.
17623 * doc/tm.texi (TARGET_ASM_MARK_DECL_PRESERVED): Document.
17624
580b3958
JM
176252004-08-16 Joseph S. Myers <jsm@polyomino.org.uk>
17626
17627 * c-decl.c (grokdeclarator): Allow for function definition where
17628 innermost declarator has attributes.
17629
93f90be6
FJ
176302004-08-16 Fariborz Jahanian <fjahanian@apple.com>
17631
17632 * except.c (get_exception_filter, build_post_landing_pads,
17633 dw2_build_landing_pads): Use target-specific mode for 'filter'.
17634 * target-def.h (TARGET_EH_RETURN_FILTER_MODE): macro defined and used.
17635 * target.h (eh_return_filter_mode): New field added.
17636 * targhooks.c (default_eh_return_filter_mode): Defined.
17637 * targhooks.h (default_eh_return_filter_mode): Declared.
17638 * config/rs6000/rs6000.c (rs6000_eh_return_filter_mode): Defined.
17639
392765bf
NN
176402004-08-16 Nathanael Nerode <neroden@gcc.gnu.org>
17641
17642 * configure.ac: Replace _GCC_TOPLEV_NONCANONICAL_TARGET with
17643 ACX_NONCANONICAL_TARGET; remove now-unneeded AC_SUBST.
17644 * configure: Regenerate.
17645
49bd1d27
SS
176462004-08-16 Stan Shebs <shebs@apple.com>
17647
17648 Basic support for 64-bit Darwin.
17649 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
17650 (machopic_legitimize_pic_address): Similarly, plus use Pmode
17651 instead of SImode.
17652 * config/rs6000/darwin.h (PTRDIFF_TYPE): Be "long int" if 64-bit.
17653 (TARGET_OS_CPP_BUILTINS): Add 64-bit preprocessor macro.
17654 (SUBTARGET_SWITCHES): Add -m32 and -m64 flags.
17655 (SUBTARGET_OVERRIDE_OPTIONS): Require 64-bit processor if -m64.
17656 (PROCESSOR_DEFAULT64): Define.
17657 * config/rs6000/darwin.md: New file, patterns specific to 64-bit
17658 Darwin.
17659 * config/rs6000/rs6000.md: Include darwin.md.
17660 (builtin_setjmp_receiver): Add DImode case.
17661 * config/rs6000/rs6000.c (TARGET_ASM_UNALIGNED_DI_OP): Define for
17662 Darwin.
17663 (TARGET_ASM_ALIGNED_DI_OP): Ditto.
17664 (rs6000_emit_move): Add DImode case to Darwin bits.
17665 (machopic_output_stub): Use .quad if 64-bit.
17666 * invoke.texi: Document -m32 and -m64.
17667
4e6e4e4c
JJ
176682004-08-16 Janis Johnson <janis187@us.ibm.com>
17669
17670 * doc/extend.texi (AltiVec builtins): Document additional differences
17671 from the Motorola AltiVec PIM.
17672
092313ae
NS
176732004-08-16 Nathan Sidwell <nathan@codesourcery.com>
17674
17675 * c-typeck.c (build_c_cast): Only copy overflow from expr nodes.
17676 * tree.h (IS_NON_TYPE_CODE_CLASS): Simplify.
17677 (struct tree_common): Update public_flag documentation.
17678
dffc9ae5
NN
176792004-08-16 Nathanael Nerode <neroden@gcc.gnu.org>
17680
17681 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
62fc1d7d 17682 Check for artificial variables, not is_gimple_tmp_var.
dffc9ae5
NN
17683 * tree-ssa-live.c (var_union): Likewise.
17684
16e9be4c
NS
176852004-08-16 Nathan Sidwell <nathan@codesourcery.com>
17686
17687 * calls.c (load_register_parameters): Remove spurious FIXME token.
17688
9a4d6480
ZL
176892004-08-15 Ziemowit Laski <zlaski@apple.com>
17690
17691 * Makefile.in (C_PRETTY_PRINT_H): Add c-pretty-print.h.
17692 (c-lang.o): Depend on c-objc-common.h.
45c8116d 17693 (c-objc-common.o): Depend on $(C_PRETTY_PRINT_H) and
9a4d6480
ZL
17694 c-objc-common.h; remove duplicate $(C_TREE_H) dependency.
17695 * c-lang.c: Include c-objc-common.h.
17696 (LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS,
17697 LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION,
17698 LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS,
45c8116d
ZW
17699 LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P,
17700 LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE,
9a4d6480
ZL
17701 LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION,
17702 LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL,
45c8116d 17703 LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME,
9a4d6480
ZL
17704 LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL,
17705 LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED,
17706 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL,
17707 LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
17708 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
17709 LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
17710 LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
17711 LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
17712 LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING,
17713 LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
17714 LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN,
17715 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE,
17716 LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE,
17717 LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE,
17718 LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO,
17719 LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS):
17720 Move to c-objc-common.h.
17721 * c-objc-common.c: Include c-objc-common.h.
17722 * c-objc-common.h: New file.
17723
869464ba
AT
177242004-08-15 Andreas Tobler <a.tobler@schweiz.ch>
17725 Andrew Pinski <pinskia@physics.uc.edu>
17726
17727 PR target/14931
17728 * config/rs6000/darwin-tramp.asm (L_abort$stub): Change to new stub
17729 style.
17730
4a90aeeb
NS
177312004-08-15 Nathan Sidwell <nathan@codesourcery.com>
17732
17733 * tree.h (build_int_cst): New.
17734 (build_int_2): Remove.
17735 * tree.c (build_int_2): Remove.
17736 (build_int_cst): New.
17737 (make_vector_type, build_common_tree_nodes,
17738 build_common_tree_nodes_2): Use build_int_cst.
17739 * builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
17740 expand_builtin_strpbrk, expand_builtin_fputs,
17741 build_string_literal, expand_builtin_printf,
17742 expand_builtin_sprintf, fold_builtin_lround, fold_builtin_bitop,
17743 fold_builtin_bitop, fold_builtin_isascii, fold_builtin_toascii,
17744 fold_builtin_isdigit, simplify_builtin_strstr,
17745 simplify_builtin_strpbrk, fold_builtin_fputs,
17746 simplify_builtin_sprintf): Use build_int_cst.
17747 * c-common.c (start_fname_decls, fix_string_type,
17748 c_common_nodes_and_builtins, c_init_attributes,
17749 shorten_compare): Likewise.
17750 * c-decl.c (complete_array_type,
17751 check_bitfield_type_and_width): Likewise.
17752 * c-lex.c (interpret_integer, lex_charconst): Likewise.
17753 * c-parse.in (primary): <TYPES_COMPATIBLE_P> Likewise.
17754 * c-pretty-print.c (pp_c_integer_constant): Likewise.
17755 * c-typeck.c (really_start_incremental_init, push_init_level,
17756 set_nonincremental_init_from_string): Likewise.
17757 * calls.c (load_register_parameters): Likewise.
17758 * convert.c (convert_to_pointer): Likewise.
17759 * coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
17760 build_fn_info_type, build_ctr_info_value, build_gcov_info):
17761 Likewise.
17762 * except.c (init_eh, assign_filter_values, assign_filter_values):
17763 Likewise.
17764 * expmed.c (store_fixed_bit_field, extract_bit_field,
17765 extract_fixed_bit_field, extract_split_bit_field, expand_shift,
17766 expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
17767 expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
17768 * expr.c (convert_move, emit_group_load, emit_group_store,
17769 expand_assignment, store_constructor, store_field,
17770 expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
17771 * fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
17772 invert_truthvalue, optimize_bit_field_compare,
17773 decode_field_reference, all_ones_mask_p, constant_boolean_node,
17774 fold_div_compare, fold, fold_read_from_constant_string,
17775 fold_negate_const, fold_abs_const, fold_not_const): Likewise.
17776 * function.c (assign_parm_setup_block): Likewise.
17777 * stmt.c (shift_return_value, expand_end_case_type,
17778 estimate_case_costs): Likewise.
17779 * stor-layout.c (layout_type, initialize_sizetypes,
17780 set_min_and_max_values_for_integral_type): Likewise.
17781 * tree-chrec.c (chrec_fold_multiply_poly_poly,
17782 reset_evolution_in_loop): Likewise.
17783 * tree-chrec.h (build_polynomial_chrec): Likewise.
17784 * tree-complex.c (build_replicated_const): Likewise.
17785 * tree-eh.c (honor_protect_cleanup_actions,
17786 lower_try_finally_onedest, lower_try_finally_copy,
17787 lower_try_finally_switch): Likewise.
17788 * tree-mudflap.c (mf_build_string, mx_register_decls,
17789 mudflap_register_call, mudflap_enqueue_constant): Likewise.
17790 * tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
17791 * tree-pretty-print.c (dump_generic_node): Likewise.
17792 * tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
17793 Likewise.
17794 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
17795 * tree-ssa-loop-niter.c (number_of_iterations_cond,
17796 loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
17797 Likewise.
45c8116d 17798
4a90aeeb
NS
17799 * config/alpha/alpha.c (alpha_initialize_trampoline,
17800 alpha_va_start, alpha_gimplify_va_arg_1): Use build_int_cst.
17801 * config/arm/arm.c (arm_get_cookie_size): Likewise.
17802 * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
17803 * config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
17804 * config/i860/i860.c (i860_va_start): Likewise.
17805 * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
17806 * config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
17807 mips_gimplify_va_arg_expr): Likewise.
17808 * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
17809 * config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
17810 add_compiler_branch_island): Likewise.
17811 * config/s390/s390.c (s390_va_start): Likewise.
17812 * config/sh/sh.c (sh_va_start): Likewise.
17813 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
17814 Likewise.
17815 * config/xtensa/xtensa.c (xtensa_va_start,
17816 xtensa_gimplify_va_arg_expr): Likewise.
45c8116d 17817
4a90aeeb
NS
17818 * objc/objc-act.c (build_objc_string_object,
17819 build_objc_symtab_template, init_def_list, init_objc_symtab,
17820 init_module_descriptor, generate_static_references,
17821 build_selector_translation_table, get_proto_encoding,
17822 build_typed_selector_reference, build_selector_reference,
17823 build_next_objc_exception_stuff,
17824 build_method_prototype_list_template, generate_descriptor_table,
17825 generate_protocols, build_protocol_initializer,
17826 build_ivar_list_template, build_method_list_template,
17827 build_ivar_list_initializer, generate_ivars_list,
17828 generate_dispatch_table, generate_protocol_list,
17829 build_category_initializer, build_shared_structure_initializer,
17830 generate_shared_structures, handle_impent,
17831 generate_objc_image_info): Use build_int_cst.
17832
2a68a7de
BE
178332004-08-15 Ben Elliston <bje@au.ibm.com>
17834
17835 * vec.h: Comment improvements.
17836
53fb4de3
RS
178372004-08-14 Roger Sayle <roger@eyesopen.com>
17838
17839 * c-common.c (shorten_compare, pointer_int_sum,
17840 c_common_truthvalue_conversion, boolean_increment): Replace calls
17841 to build with calls to buildN.
17842 * c-decl.c (complete_array_type, grokdeclarator): Likewise.
17843 * c-gimplify.c (c_build_bind_expr, gimplify_c_loop,
17844 gimplify_switch_stmt): Likewise.
17845 * c-typeck.c (default_function_array_conversion,
17846 build_component_ref, build_array_ref, build_function_call,
17847 pointer_diff, build_unary_op, build_conditional_expr,
17848 build_compound_expr, build_modify_expr, c_finish_goto_label,
17849 c_finish_goto_ptr, c_finish_return, c_finish_loop,
17850 c_finish_bc_stmt, c_finish_stmt_expr, c_end_compound_stmt,
17851 build_binary_op): Likewise.
17852
254b17dd
SB
178532004-08-15 Steven Bosscher <stevenb@suse.de>
17854
17855 * rtl.c (note_insn_name): Add NOTE_DISABLE_SCHED_OF_BLOCK.
17856
a5252c84
JDA
178572004-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
17858
17859 * fixinc/inclhack.def (stdio_va_list): Also fix com_err.h, cps.h,
17860 curses.h, krb5.h, lc_core.h, pfmt.h, wchar.h and curses_colr/curses.h.
17861 * fixinc/fixincl.x: Rebuilt.
17862
96a30b18
RS
178632004-08-14 Richard Sandiford <rsandifo@redhat.com>
17864
17865 * config/mips/mips-protos.h (mips_symbolic_constant_p)
17866 (mips_atomic_symbolic_constant_p, mips_stack_address_p)
17867 (mips_small_data_pattern_p): Declare.
17868 * config/mips/mips.h (CONST_GP_P): Moved from mips.c.
17869 (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete.
17870 * config/mips/mips.c (mips_symbolic_constant_p): Make global.
17871 (mips_atomic_symbolic_constant_p, mips_stack_address_p): New functions.
17872 (uns_arith_operand, const_arith_operand, arith_operand, sle_operand)
17873 (sleu_operand, small_int, reg_or_0_operand, const_float_1_operand)
17874 (reg_or_const_float_1_operand, hilo_operand, extend_operator)
17875 (macc_msac_operand, equality_op, cmp_op, trap_cmp_op)
17876 (pc_or_label_operand, call_insn_operand, move_operand)
17877 (consttable_operand, symbolic_operand, general_symbolic_operand)
17878 (global_got_operand, local_got_operand, stack_operand)
17879 (fp_register_operand, lo_operand, fcc_register_operand): Delete.
17880 (mips_small_data_pattern_1): Renamed from small_data_pattern_1.
17881 (mips_small_data_pattern_p): Replace previous small_data_pattern
17882 predicate. Turn into a bool () (rtx) function.
17883 * config/mips/predicates.md: New file.
17884 * config/mips/mips.md: Include it. Use the target-independent
17885 comparison_operator instead of cmp_op. Rename trap_cmp_op to
17886 trap_comparison_operator and equality_op to equality_operator.
17887 Replace uses of small_int with the equivalent const_arith_operand.
17888 Rename reg_or_const_float_1_operand to reg_or_1_operand. Rename
17889 const_float_1_operand to const_1_operand. Rename fcc_register_operand
17890 to fcc_reload_operand.
17891 * config/mips/sb1.md: Rename fp_register_operand to fpr_operand.
17892
e41c9fcb
JDA
178932004-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
17894
17895 PR libstdc++/17005 partial fix.
17896 * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define _INCLUDE__STDC_A1_SOURCE
17897 except when generating ANSI/C89 code.
17898
af9c6659
NS
178992004-08-14 Nathan Sidwell <nathan@codesourcery.com>
17900
17901 * c-common.c (shorten_compare): Use force_fit_type directly.
17902
37de1373
GP
179032004-08-14 Gerald Pfeifer <gerald@pfeifer.com>
17904 Dimitri Papadopoulos-Orfanos <papadopo@shfj.cea.fr>
17905 Dave Korn <dk@artimi.com>
17906
17907 * doc/install.texi (Building): Avoid duplicate reference to GNU
17908 make requirement.
17909 (*-*-solaris2*): Do not recommend GNU make any longer. Simplify.
17910
06d69cd3
RH
179112004-08-14 Richard Henderson <rth@redhat.com>
17912
17913 * config/alpha/alpha.h (PROMOTE_MODE): Don't promote vector types.
17914 * config/alpha/alpha.c (function_value): Use PROMOTE_MODE.
17915
e427abbf
RH
179162004-08-13 Richard Henderson <rth@redhat.com>
17917
17918 * config/i386/i386.md (call_1, sibcall_1, call_1_rex64): Use Pmode
17919 for constant_call_address_operand.
17920 (call_value_pop_1, call_value_1): Likewise.
17921 (sibcall_value_1, call_value_1_rex64): Likewise.
17922
2b407936
JW
179232004-08-13 James E Wilson <wilson@specifixinc.com>
17924
17925 * config/mips/sb1.md (ir_sb1_divdf_2pipes, ir_sb1_divdf_1pipe):
17926 Correct mode from SFmode to DFmode.
17927
3e0d5ae2
ZL
179282004-08-13 Ziemowit Laski <zlaski@apple.com>
17929
17930 * config/darwin.h (EXTRA_SECTION_FUNCTIONS): Mark the __sel_fixup,
17931 __cstring_object and __image_info sections with the no_dead_strip
17932 attribute.
17933
e0704143
RS
179342004-08-13 Roger Sayle <roger@eyesopen.com>
17935 David Billinghurst <David.Billinghurst@riotinto.com>
17936
17937 PR libgfortran/15930
17938 * fixinc/inclhack.def (irix___generic1, irix___generic2): New.
17939 * fixinc/fixincl.x: Regenerate.
17940 * fixinc/tests/base/internal/math_core.h: New file.
17941
8768c655
RH
179422004-08-13 Richard Henderson <rth@redhat.com>
17943
17944 * dbxout.c (NO_DBX_FUNCTION_END): Default to zero.
17945 (dbxout_function_end): Remove ifdefs for it.
17946 (dbxout_begin_prologue): Protect N_BNSYM with it, and gdb extensions.
17947
201312c2
RH
179482004-08-13 Richard Henderson <rth@redhat.com>
17949
17950 * Makefile.in (insn-preds.o): Depend on TREE_H.
17951 * genpreds.c (write_insn_preds_c): Include tree.h.
17952 * config/alpha/alpha.c (reg_or_0_operand, reg_or_6bit_operand,
17953 reg_or_8bit_operand, cint8_operand, add_operand, sext_add_operand,
17954 const48_operand, and_operand, or_operand, mode_width_operand,
17955 mode_mask_operand, mul8_operand, const0_operand,
17956 hard_fp_register_operand, hard_int_register_operand,
17957 reg_or_cint_operand, some_operand, some_ni_operand, input_operand,
17958 samegp_function_operand, direct_call_operand, small_symbolic_operand,
45c8116d 17959 global_symbolic_operand, call_operand, symbolic_operand,
201312c2
RH
17960 dtp16_symbolic_operand, dtp32_symbolic_operand,
17961 gotdtp_symbolic_operand, tp16_symbolic_operand, tp32_symbolic_operand,
17962 gottp_symbolic_operand, alpha_comparison_operator,
17963 alpha_zero_comparison_operator, alpha_swapped_comparison_operator,
17964 signed_comparison_operator, alpha_fp_comparison_operator,
17965 divmod_operator, fix_operator, aligned_memory_operand,
17966 unaligned_memory_operand, reg_or_unaligned_mem_operand,
17967 any_memory_operand, reg_not_elim_operand, normal_memory_operand,
17968 reg_no_subreg_operand, addition_operation): Move to predicates.md.
17969 (reg_or_const_int_operand): Remove. Replace all users with
17970 reg_or_cint_operand.
17971 (tls_symbolic_operand_1): Export. Don't check mode or for CONST.
17972 (resolve_reload_operand): Split out of aligned_memory_operand.
17973 * config/alpha/alpha-protos.h: Update for exports.
17974 * config/alpha/alpha.h (PREDICATE_CODES): Remove.
17975 * config/alpha/alpha.md: Include predicates.md.
17976 * config/alpha/predicates.md: New file.
17977
1e9c8405
RS
179782004-08-13 Richard Sandiford <rsandifo@redhat.com>
17979
17980 * genattrtab.c (insn_ent): Replace insn_code, insn_index and lineno
17981 fields with a pointer to the instruction definition.
17982 (get_attr_value, fill_attr, make_length_attrs, remove_insn_ent)
17983 (insert_insn_ent, simplify_test_exp, optimize_attrs, write_attr_get)
17984 (write_attr_case, write_const_num_delay_slots): Update accordingly.
17985 (write_attr_case, write_const_num_delay_slots): Write the name of
17986 an insn next to its case statement.
17987 * genoutput.c (data): Add a filename field.
17988 (gen_insn, gen_peephole, gen_expand, gen_split): Set it.
17989 (output_insn_data): Print the location of each insn definition.
17990 * genrecog.c (write_action): Print the name of an insn above
17991 the statement that returns its code.
17992
1e5f1716
AP
179932004-08-12 Andrew Pinski <pinskia@physics.uc.edu>
17994
17995 * config/darwin-c.c (find_subframework_file): Fix spelling of cannot.
17996 * config/libgloss.h: Likewise.
17997 * config/arm/arm.c (arm_gen_load_multiple): Likewise.
17998 * c4x/c4x-modes.def: Likewise.
17999 * config/c4x/c4x.c (c4x_hard_regno_rename_ok): Likewise.
18000 (c4x_rptb_nop_p): Likewise.
18001 (c4x_rptb_valid_p): Likewise.
18002 (c4x_rptb_insert): Likewise.
18003 (c4x_address_conflict): Likewise.
18004 * config/c4x/c4x.md: Likewise.
18005 * config/frv/frv.md: Likewise.
18006 * config/i386/athlon.md: Likewise.
18007 * config/i386/i386.md: Likewise.
18008 * config/i386/predicates.md: Likewise.
18009 * config/ia64/ia64.c: Likewise.
18010 * config/ia64/itanium1.md: Likewise.
18011 * config/ia64/itanium2.md: Likewise.
18012 * config/iq2000/iq2000.md: Likewise.
18013 * config/mcore/mcore.c: Likewise.
18014 * config/mips/mips.c: Likewise.
18015 * config/mips/r3900.h: Likewise.
18016 * config/mips/sb1.md: Likewise.
18017 * config/pa/milli64.S: Likewise.
18018 * config/pa/pa.c: Likewise.
18019 * config/pa/pa.h: Likewise.
18020 * config/rs6000/8540.md: Likewise.
18021
9bcc9490
DB
180222004-08-13 Daniel Berlin <dberlin@dberlin.org>
18023
18024 * Makefile.in (BOOT_CFLAGS): Remove accidental addition of -dU.
18025
68fe56fc
R
180262004-08-13 J"orn Rennecke <joern.rennecke@superh.com>
18027
18028 * sh.md (cbranch define_delay) Use cond_delay_slot for
18029 non-anulled condition too.
18030
85d346f1
DE
180312004-08-12 David Edelsohn <edelsohn@gnu.org>
18032
18033 * config/rs6000/rs6000.c (any_parallel_operand): New predicate.
18034 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
18035 any_parallel_operand, lmw_operation, stmw_operation,
a688b3ac 18036 mfcr_operation, mtcrf_operation. Remove PARALLEL from any_operand.
85d346f1
DE
18037 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Use
18038 any_parallel_operand.
18039 (return_and_restore_fpregs_{si,di}): Same.
18040
47d2cee5
ZW
180412004-08-12 Zack Weinberg <zack@codesourcery.com>
18042
18043 * genrecog.c (add_to_sequence): When processing a MATCH_PARALLEL,
18044 if pred->singleton != PARALLEL, issue a warning and pretend it was.
18045 Also issue a warning for any predicate we don't know about.
18046
8fe75e43
RH
180472004-08-12 Richard Henderson <rth@redhat.com>
18048
18049 * config/i386/i386.c (internal_label_prefix): Export.
18050 (internal_label_prefix_len, struct ix86_address,
18051 ix86_decompose_address, maybe_get_pool_constant,
18052 ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes,
18053 memory_address_length): Export.
47d2cee5 18054 (any_fp_register_operand, fp_register_operand,
8fe75e43 18055 register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand,
47d2cee5 18056 x86_64_general_operand, x86_64_szext_general_operand,
8fe75e43
RH
18057 x86_64_nonmemory_operand, x86_64_movabs_operand,
18058 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
18059 x86_64_zext_immediate_operand, const_int_1_31_operand,
18060 symbolic_operand, pic_symbolic_operand, local_symbolic_operand,
18061 tls_symbolic_operand, global_dynamic_symbolic_operand,
18062 local_dynamic_symbolic_operand, initial_exec_symbolic_operand,
18063 local_exec_symbolic_operand, call_insn_operand, sibcall_insn_operand,
18064 constant_call_address_operand, const0_operand, const1_operand,
18065 const248_operand, const_0_to_3_operand, const_0_to_7_operand,
18066 const_0_to_15_operand, const_0_to_255_operand, incdec_operand,
18067 shiftdi_operand, reg_no_sp_operand, mmx_reg_operand,
18068 general_no_elim_operand, nonmemory_no_elim_operand,
18069 index_register_operand, q_regs_operand, flags_reg_operand,
18070 non_q_regs_operand, zero_extended_scalar_load_operand,
18071 vector_move_operand, no_seg_address_operand, sse_comparison_operator,
47d2cee5 18072 ix86_comparison_operator, ix86_carry_flag_operator,
8fe75e43
RH
18073 fcmov_comparison_operator, promotable_binary_operator,
18074 cmp_fp_expander_operand, ext_register_operand, binary_fp_operator,
47d2cee5 18075 mult_operator, div_operator, arith_or_logical_operator,
8fe75e43
RH
18076 memory_displacement_operand, cmpsi_operand, long_memory_operand,
18077 aligned_operand): Move to predicates.md as define_predicates.
18078 (tls_symbolic_operand_1): Remove.
18079 (x86_64_sign_extended_value): Merge into x86_64_immediate_operand.
18080 (x86_64_zero_extended_value): Merge into x86_64_zext_immediate_operand.
18081 (legitimize_address): Merge tls_symbolic_operand contents.
18082 (ix86_expand_move): Likewise.
18083 * config/i386/i386-protos.h: Update for exports.
18084 * config/i386/i386.h (EXTRA_CONSTRAINT): Update for renames.
18085 (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Remove.
18086 * config/i386/i386.md: Include predicates.md.
18087 * config/i386/predicates.md: New file.
18088
ea3d83a7
MM
180892004-08-13 Mark Mitchell <mark@codesourcery.com>
18090
18091 PR c++/16924
18092 * config/i386/winnt.c (i386_pe_mark_dllexport): Set
18093 SYMBOL_REF_DECL.
18094 (i386_pe_mark_dllimport): Likewise.
18095 (i386_pe_encode_section_info): Likewise, when overriding
18096 dllimport attribute.
18097
414adbdd
GK
180982004-08-12 Geoffrey Keating <geoffk@apple.com>
18099
18100 * configure.ac: When testing for flex, nm, ar, and bison, check
18101 that they will actually be built.
18102 * configure: Regenerate.
18103
c5443745
UW
181042004-08-12 Ulrich Weigand <uweigand@de.ibm.com>
18105
18106 * config/s390/s390.h (MAX_FIXED_MODE_SIZE): Define.
18107 (MOVE_MAX_PIECES): Define.
18108
8fa5469d
DP
181092004-08-12 Devang patel <dpatel@apple.com>
18110
18111 * dbxout.c (dbxout_begin_prologue): New function.
18112 (dbx_debug_hooks): Use new begin prologue hook.
18113 (dbxout_function_end): Emit N_ENSYM.
18114 * stab.def (N_BNSYM, N_ENSYM): Define and document these two new stabs.
47d2cee5 18115
b0b343db
JJ
181162004-08-12 Janis Johnson <janis187@us.ibm.com>
18117
e390eb0a
JJ
18118 * config/rs6000/altivec.h (vec_dst): Fix C++ functions whose first
18119 argument is float*.
18120
e34b6648
JJ
18121 * config/rs6000/rs6000.c (altivec_init_builtins): Fix argument type
18122 for vec_dss.
18123
b0b343db
JJ
18124 * doc/extend.texi (AltiVec builtins): Fix description for recent
18125 changes. Update operation list to match current support.
18126
adf39f8f
AK
181272004-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
18128
18129 * config/s390/s390.c (struct s390_frame_layout): New struct as element
18130 of struct machine_function.
18131 (cfun->machine->frame_size): Moved into cfun->machine->frame_layout and
18132 changed all uses.
18133 (cfun->machine->save_fprs_p): Replaced by cfun_save_high_fprs and
18134 changed all uses.
18135 (cfun_frame_layout, cfun_save_high_fprs_p, cfun_gprs_save_area_size)
18136 (cfun_set_fpr_bit, cfun_fpr_bit_p): New macros.
18137 (s390_frame_area, s390_register_info): New functions.
18138 (s390_optimize_prolog): Renamed to s390_optimize_prologue. Added check
18139 for base register.
18140 (s390_return_addr_rtx, s390_return_address_offset)
18141 (s390_va_start, s390_gimplify_va_arg)
18142 (s390_emit_prologue, s390_emit_epilogue): Adjusted for new stack
18143 layouts.
18144 (s390_frame_info): Functionality partly moved to s390_register_info.
18145 Made adaptions for new stack layout.
18146 (save_gprs, restore_gprs): Changed meaning of second parameter and
18147 adapted all callers.
18148
18149 * config/s390/s390.h (s390_backchain_string): New global variable.
18150 (MASK_BACKCHAIN): Removed definition.
18151 (TARGET_BACKCHAIN): Changed check.
18152 (TARGET_KERNEL_BACKCHAIN): New macro.
18153 (TARGET_SWITCHES): Removed entries of "backchain" and "no-backchain".
18154 (TARGET_OPTIONS): Added "backchain", "no-backchain" and
18155 "kernel-backchain".
18156 (DYNAMIC_CHAIN_ADDRESS): Adjusted for new stack layouts.
18157
18158 * config/s390/s390.md ("allocate_stack"): Added TARGET_KERNEL_BACKCHAIN
18159 as condition. Adjusted for new stack layout.
18160
18161 * doc/invoke.texi: Added documentation for new option
18162 "-mkernel-backchain" and adjusted documentation of "-mbackchain" and
18163 "-mno-backchain".
18164
db151e9d
PB
181652004-08-12 Paul Brook <paul@codesourcery.com>
18166
18167 * config/arm/lib1funcs.asm (ARM_FUNC_ALIAS): Also alias _L__name.
18168 (aeabi_uidivmod, aeabi_idivmod): Provide thumb implementation.
18169
02b75262
DD
181702004-08-12 David Daney <ddaney@avtrex.com>
18171
db151e9d 18172 * java/gcj.texi: Add subsection on signal usage.
02b75262 18173
f64d6991
DE
181742004-08-12 David Edelsohn <edelsohn@gnu.org>
18175
18176 * expr.c (move_by_pieces): Set alignment for move to minimum of
18177 MOVE_MAX_PIECES mode alignment and the largest non-slow mode
18178 alignment, but not less than the original alignment.
18179 (move_by_pieces_ninsns): Same.
18180 (can_store_by_pieces): Similar for store with STORE_MAX_PIECES.
18181 (store_by_pieces_1): Same.
18182
c597ef4e
DN
181832004-08-12 Diego Novillo <dnovillo@redhat.com>
18184
18185 PR tree-optimization/16867
18186 * tree.c (is_global_var): New function.
18187 (needs_to_live_in_memory): Check for TREE_ADDRESSABLE.
18188 Call is_global_var.
18189 * tree.h (DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL): Remove.
18190 Update all users.
18191 (is_global_var): Declare.
18192 * tree-dfa.c (dump_variable): Display global and addressable
18193 attributes.
18194 (add_referenced_var): Clarify documentation when marking
18195 variables call-clobbered.
18196 * tree-flow-inline.h (is_call_clobbered): Call is_global_var
18197 instead of needs_to_live_in_memory.
18198 (mark_call_clobbered): If the variable is a tag, mark it
18199 DECL_EXTERNAL.
18200 * tree-gimple.c (is_gimple_reg): Don't check for
18201 TREE_ADDRESSABLE.
18202 (is_gimple_non_addressable): Likewise.
18203 * tree-ssa-alias.c (get_nmt_for): Always check whether the tag
18204 needs to be marked call-clobbered.
18205 (setup_pointers_and_addressables): Call is_global_var instead
18206 of needs_to_live_in_memory.
18207 * tree-ssa-dce.c (need_to_preserve_store): Remove.
18208 Update all users with is_global_var.
18209 (mark_stmt_if_obviously_necessary): Fix processing of aliased
18210 stores. Don't check the virtual definitions. Rather, check
18211 whether the store is going into global memory.
18212 (find_obviously_necessary_stmts): Get the symbol from the PHI
18213 result.
18214 * tree-ssa-operands.c (get_call_expr_operands): Do not add
18215 clobbering may-defs if the call does not have side effects.
18216
ab5c8549
JJ
182172004-08-12 Jakub Jelinek <jakub@redhat.com>
18218
18219 PR c++/16276
18220 * output.h (default_function_rodata_section,
18221 default_no_function_rodata_section): New prototypes.
18222 * target.h (struct gcc_target): Add asm_out.function_rodata_section.
18223 * target-def.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
18224 (TARGET_ASM_OUT): Add it.
18225 * varasm.c (default_function_rodata_section,
18226 default_no_function_rodata_section): New functions.
18227 * final.c (final_scan_insn): Call
18228 targetm.asm_out.function_rodata_section instead of
18229 readonly_data_section.
18230 * config/darwin.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
18231 * config/mcore/mcore.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
18232 * config/ip2k/ip2k.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
18233 * config/rs6000/xcoff.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
18234 Likewise.
18235 * config/alpha/alpha.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
18236 * config/i386/cygming.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
18237 Likewise.
18238 * config/i386/i386-interix.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
18239 Likewise.
18240 * config/arm/pe.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
18241 * config/avr/avr.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
18242 * doc/tm.texi (TARGET_ASM_FUNCTION_RODATA_SECTION): Document.
18243
5cf58f28
PB
182442004-08-12 Paul Brook <paul@codesourcery.com>
18245
18246 * dwarf2out.h (dwarf2out_frame_finish): Conditionalize outputting eh
18247 frame info.
18248 * doc/tm.texi: Document interaction between TARGET_UNWIND_INFO and
18249 DWARF2_UNWIND_INFO.
18250
87e184d1
BE
182512004-08-12 Ben Elliston <bje@au.ibm.com>
18252
18253 PR target/16286
18254 * config/rs6000/altivec.h: Change vector to __vector throughout.
18255 (Except for the `vector' macro itself).
18256
e543e219
ZW
182572004-08-12 Zack Weinberg <zack@codesourcery.com>
18258
18259 * genpreds.c: Add capability to generate predicate bodies as
18260 well as function prototypes. Write function prototypes for
18261 the generic predicates too.
18262 (process_define_predicate, write_tm_preds_h, write_insn_preds_c)
18263 (write_predicate_subfunction, mark_mode_tests, add_mode_tests)
18264 (write_match_code, write_predicate_expr, write_one_predicate_function)
18265 (parse_option): New functions.
18266 (output_predicate_decls): Delete.
18267 (main): Read the machine description, process DEFINE_PREDICATE or
18268 DEFINE_SPECIAL_PREDICATE patterns, write tm-preds.h or insn-preds.c
18269 as appropriate.
18270
18271 * genrecog.c (struct decision_test): Replace index with
18272 struct pred_data pointer.
18273 (next_index): Remove, unused.
18274 (pred_table, preds, special_mode_pred_table): Delete.
18275 (compute_predicate_codes, process_define_predicate): New functions.
18276 (validate_pattern, add_to_sequence, write_switch): Update for
18277 new data structures.
18278 (main): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
18279 Check both error_count and have_error.
18280
18281 * gensupport.c (in_fname, first_predicate): New globals.
18282 (define_pred_queue, define_pred_tail): New RTL-pattern queue.
18283 (predicate_table, last_predicate, old_pred_table)
18284 (old_special_pred_table): New statics.
18285 (hash_struct_pred_data, eq_struct_pred_data, lookup_predicate)
18286 (add_predicate, init_predicate_table): New functions.
18287 (process_rtx): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
18288 (init_md_reader_args_cb): Use the global in_fname. No need to zero
18289 it or max_include_len. Call init_predicate_table.
18290 (read_rtx): Run the predicate queue after the attribute queue
18291 but before all the others.
18292 * gensupport.h (in_fname, struct pred_data, first_predicate)
18293 (lookup_predicate, add_predicate, FOR_ALL_PREDICATES): Declare.
18294 * rtl.def (MATCH_CODE, MATCH_TEST, DEFINE_PREDICATE)
18295 (DEFINE_SPECIAL_PREDICATE): New RTL codes.
18296 * dummy-conditions.c: Don't include bconfig.h, system.h,
18297 coretypes.h, tm.h, or system.h. Do include stddef.h.
18298 Duplicate declaration of struct c_test from gensupport.h.
18299
18300 * Makefile.in (OBJS-common): Add insn-preds.o.
18301 (STAGESTUFF, .PRECIOUS): Add insn-preds.c.
18302 (insn-preds.c, insn-preds.o): New rules.
18303 (s-preds): Also generate insn-preds.c.
18304 (dummy-conditions.o, genpreds$(build_exeext), genpreds.o):
18305 Update dependencies.
18306 (print-rtl.o, print-rtl1.o): Correct dependencies.
18307
18308 * recog.h: Delete prototypes of predicate functions.
18309
18310 * doc/md.texi (Predicates): New section with complete
18311 documentation of operand/operator predicates. Remove some
18312 incomplete documentation of predicates from other places.
18313 * doc/tm.texi (Misc): Move SPECIAL_MODE_PREDICATES next to
18314 PREDICATE_CODES; indicate that both are deprecated in favor
18315 of define_predicate/define_special_predicate.
18316
18317 * config/ia64/ia64.c: All predicate function definitions moved
18318 to ia64.md, except
18319 (small_addr_symbolic_operand, tls_symbolic_operand): Delete.
18320 (ia64_expand_load_address, ia64_expand_move):
18321 Check SYMBOL_REF_TLS_MODEL directly, don't use tls_symbolic_operand.
18322
18323 * config/ia64/ia64.md: All predicates now defined here.
18324 (symbolic_operand): Is now a special predicate.
18325
18326 * config/ia64/ia64.h: Declare ia64_section_threshold.
18327 (PREDICATE_CODES): Delete.
18328
174283a3
RH
183292004-08-12 Richard Henderson <rth@redhat.com>
18330
18331 * c-common.h (STATEMENT_LIST_HAS_LABEL): New.
18332 * c-semantics.c (add_stmt): Set it.
18333 * c-decl.c (finish_decl): Use it to create a new BIND_EXPR
18334 before instantiating a variable sized type.
18335
15931954
RH
183362004-08-12 Richard Henderson <rth@redhat.com>
18337
18338 * stor-layout.c (round_up, round_down): Move ...
e543e219 18339 * fold-const.c (round_up, round_down): ... here. Use
15931954
RH
18340 multiple_of_p to avoid any arithmetic at all.
18341
57d1dd87
RH
183422004-08-12 Richard Henderson <rth@redhat.com>
18343
18344 * gimplify.c (struct gimplify_init_ctor_preeval_data): New.
18345 (gimplify_init_ctor_preeval_1): New.
18346 (gimplify_init_ctor_preeval): New.
18347 (gimplify_init_ctor_eval): New.
18348 (gimplify_init_constructor): Use them. Always gimplify the LHS
18349 object first.
18350
46e34f96
ZL
183512004-08-12 Ziemowit Laski <zlaski@apple.com>
18352
18353 (This patch is part of merge of objc-improvements-branch
18354 into mainline.)
18355
18356 * doc/frontends.texi: Mention Objective-C++ in addition to
18357 Objective-C.
18358 * doc/install.texi: Add 'obj-c++' to list of configurable
18359 languages.
18360 * doc/invoke.texi: Rename Objective-C option headings to
18361 indicate they also apply to Objective-C++. List file
18362 extensions for Objective-C++ sources. Mention that
18363 ObjC and ObjC++ compilations may also use C and C++ options,
18364 respectively. Point users to doc/standards.texi for
18365 further info on ObjC and ObjC++.
18366 * doc/sourcebuild.texi: Mention the objcp/ directory and
18367 the Objective-C++ sources it contains.
18368 * doc/standards.texi: Update link to Apple ObjC site;
18369 add link to gcc readings.html WWW doc.
18370
07f12d8b
AM
183712004-08-12 Alan Modra <amodra@bigpond.net.au>
18372
18373 * config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28
18374 and 2004-07-14 changes.
18375
89aa5a20
PB
183762004-08-12 Paul Brook <paul@codesourcery.com>
18377
18378 * doc/invoke.texi: Fix typo.
18379
5079843a
DP
183802004-08-11 Devang Patel <dpatel@apple.com>
18381
18382 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -dead_strip
18383 and -no_dead_strip_inits_and_terms.
18384 (LINK_SPEC): Same.
18385 * doc/invoke.texi (Darwin Options): Document -dead_strip and
18386 -no_dead_strip_inits_and_terms.
e543e219 18387
876f13b0
PB
183882004-08-11 Paul Brook <paul@codesourcery.com>
18389
18390 * config/arm/arm-protos.h (arm_finalize_pic) Rename ...
18391 (arm_load_pic_register): ... to this.
18392 * config/arm/arm.c (arm_finalize_pic): Rename ...
18393 (arm_load_pic_register): ... to this. Always output insns at the
18394 current location. Load via low reg in thumb mode.
18395 (arm_expand_prologue): Call arm_load_pic_register.
18396 (thumb_expand_prologue): Ditto.
18397 * config/arm/arm.h (FINALIZE_PIC): Remove.
18398 * config/arm/arm.md (builtin_setjmp_receiver): Call
18399 arm_load_pic_register.
18400
57934c39
PB
184012004-08-11 Paul Brook <paul@codesourcery.com>
18402
18403 * arm.c (thumb_force_lr_save): Add prototype.
18404 (thumb_compute_save_reg_mask): New function.
18405 (thumb_find_work_register): New function.
18406 (arm_get_frame_offsets): Use thumb_compute_save_reg_mask.
18407 (thumb_unexpanded_epilogue): Ditto. Remove redundant code.
18408 Don't clobber r3 when removing pretend args.
18409 (thumb_expand_prologue): Use thumb_compute_save_reg_mask.
18410 (thumb_output_function_prologue): Use new functions.
18411 (thumb_set_return_address): Use thumb_compute_save_reg_mask.
18412 * arm.h (THUMB_REG_PUSHED_P): Remove.
18413
af874237
JW
184142004-08-11 James E Wilson <wilson@specifixinc.com>
18415
18416 PR rtl-optimization/16490
18417 * cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and
18418 global_live_at_end for new basic block if already set for other blocks.
18419
c1618c0c
DE
184202004-08-11 David Edelsohn <edelsohn@gnu.org>
18421
18422 * config/rs6000/rs6000.h (MAX_FIXED_MODE_SIZE): Define.
18423
18424 * config/rs6000/rs6000.md (mfcr rlwinm patterns): Set length to 8.
18425 (mfcr rlwinm rlwinm patterns): Set length to 12.
18426
1a24f92f
AM
184272004-08-11 Andrew MacLeod <amacleod@redhat.com>
18428
18429 * tree-flow-inline.h (get_def_ops, get_use_ops, get_v_may_def_ops,
18430 get_vuse_ops,get_v_must_def_ops): Add operand structure reference.
18431 (get_v_may_def_result_ptr, get_v_may_def_op_ptr): New access struct.
18432 (start_ssa_stmt_operands): Delete.
e543e219 18433 * tree-flow.h (struct stmt_ann_d): Replace operand vectors with new
1a24f92f
AM
18434 struct stmt_operands_d.
18435 (build_ssa_operands): New extern entry point.
e543e219 18436 * tree-ssa-dom.c (record_equivalences_from_stmt): Remove operand
1a24f92f
AM
18437 building code, replace with create_ssa_artficial_load_stmt().
18438 * tree-ssa-operands.c (struct voperands_d): Delete.
18439 (allocate_v_may_def_optype): Allocate v_may_def_operand_type_t vector.
18440 (allocate_v_must_def_optype): Use sizeof (tree), not sizeof (tree *).
e543e219 18441 (free_uses, free_defs, free_vuses, free_v_may_defs,
1a24f92f
AM
18442 free_v_must_defs): Remove dealloc parameter.
18443 (remove_vuses, remove_v_may_def, remove_v_must_defs): Delete.
18444 (finalize_ssa_defs, finalize_ssa_uses, finalize_ssa_v_may_defs,
18445 finalize_ssa_vuses, finalize_ssa_v_must_defs): Perform all operand
18446 vector comparisons, ssa_name reuse, and allocations here.
18447 (verify_start_operands): Delete.
18448 (finalize_ssa_stmt_operands): Set new operands by calling finalize
18449 routines.
18450 (start_ssa_stmt_operands): Move from tree-flow-inline.h.
18451 (append_def, append_usei): Simplify to simple accumulation.
18452 (append_v_may_def, append_vuse, append_v_must_def): Simplify to avoiding
18453 duplicates and simple accumulation.
18454 (free_ssa_operands): Free vectors in a stmt_operand structure.
18455 (build_ssa_operands): New. Create a new stmt_operand structure from
e543e219 18456 a stmt and an old set of stmt_operands.
1a24f92f
AM
18457 (get_stmt_operands): Simplify and call build_ssa_operands.
18458 (get_expr_operands, get_asm_expr_operands, get_indirect_ref_operands,
18459 get_call_expr_operands, add_stmt_operand, add_call_clobber_ops,
18460 add_call_read_ops): Don't pass prev_vops around anymore.
18461 (note_addressable): Return if no stmt annotation.
18462 (copy_virtual_operands): Access v_may_def operands through a struct.
18463 (create_ssa_artficial_load_stmt): New. Create a load stmt for DOM's
18464 hash tables without treating the stmt as a real stmt.
18465 * tree-ssa-operands.h (struct v_may_def_operand_type): New. Access
18466 v_may_def def and use through a struct instead of 2 array elements.
18467 (struct v_may_def_optype_d): Use v_may_def_operand_type.
18468 (struct stmt_operands_d): New. Struct for storing all operand vectors.
18469
a77655b1
NC
184702004-08-11 Nick Clifton <nickc@redhat.com>
18471
18472 * config/arm/arm.c (arm_is_longcall_p): Update comment describing
18473 this funciton's behaviour. Return true when the current function
18474 has a section attribute and -mlong-calls is in effect.
18475 * config/arm/arm.h (ARM_DECLARE_FUNCTION_SIZE): Do not set the
18476 short-call marker when -mlong-calls is in effect and the function
18477 has a section attribute.
18478
6f4a43e0
ZW
184792004-08-10 Zack Weinberg <zack@codesourcery.com>
18480
18481 * stmt.c (expand_return): If asked to return the RESULT_DECL,
18482 just call expand_value_return on result_rtl.
18483
1a186ec5
RH
184842004-08-10 Richard Henderson <rth@redhat.com>
18485
18486 * builtins.def (BUILT_IN_STACK_ALLOC): Remove.
18487 * builtins.c (expand_builtin) <BUILT_IN_STACK_ALLOC>: Remove.
18488 * dwarf2out.c (loc_descriptor): Handle PARALLEL here ...
18489 (add_location_or_const_value_attribute): ... not here. Use
18490 loc_descriptor_from_tree if possible.
18491 (loc_descriptor_from_tree_1): Rename from loc_descriptor_from_tree.
18492 Simplify address handling. Handle DECL_VALUE_EXPR. Handle register
18493 values specially.
18494 (loc_descriptor_from_tree): New. Update callers.
18495 * expr.c (expand_var): Ignore DECL_VALUE_EXPR variables.
18496 * gimplify.c (gimplify_decl_expr): Lower variable sized types to
18497 pointer plus dereference. Set DECL_VALUE_EXPR. Set save_stack.
18498 (gimplify_call_expr): Do not recognize BUILT_IN_STACK_ALLOC
18499 and BUILT_IN_STACK_RESTORE.
18500 (gimplify_expr): Lower DECL_VALUE_EXPR decls.
18501 * stmt.c (expand_stack_alloc): Remove.
18502 * tree-mudflap.c (mx_register_decls): Don't look for
18503 BUILT_IN_STACK_ALLOC.
18504 * tree-nested.c (convert_local_reference): Likewise.
18505 * tree.h (DECL_VALUE_EXPR): New.
18506
7109c195
RH
185072004-08-10 Richard Henderson <rth@redhat.com>
18508
bf4ccdd6
RH
18509 * stor-layout.c (round_up): Check for 0/1 before dividing.
18510 (round_down): Likewise.
18511
7109c195
RH
18512 * tree-tailcall.c (suitable_for_tail_opt_p): Also check DECL_EXTERNAL.
18513
b3f8d95d
MM
185142004-08-09 Mark Mitchell <mark@codesourcery.com>
18515
18516 * config.gcc (arm*-*-eabi*): New target.
18517 * defaults.h (TARGET_LIBGCC_FUNCS): New macro.
18518 (TARGET_LIB_INT_CMP_BIASED): Likewise.
18519 * expmed.c (expand_divmod): Try a two-valued divmod function as a
18520 last resort.
18521 * gthr.h: Remove bogus tokens at end of #pragma.
18522 * optabs.c (expand_twoval_binop_libfunc): New function.
18523 (prepare_cmp_insn): Handle the !TARGET_LIB_INT_CMP_BIASED case.
18524 (prepare_float_lib_cmp): Try reversing the condition.
18525 (debug_optab_libfuncs): New function.
18526 * optabs.h (expand_twoval_binop_libfunc): Declare.
18527 * config/arm/arm.c (arm_init_libfuncs): New function.
18528 (arm_compute_initial_eliminatino_offset): Return HOST_WIDE_INT.
18529 (TARGET_INIT_LIBFUNCS): Define it.
18530 * config/arm/arm.h (TARGET_BPABI): New macro.
18531 * config/arm/arm-protos.h
18532 (arm_compute_initial_elimination_offset): Return HOST_WIDE_INT.
18533 * config/arm/bpabi.S: New file.
18534 * config/arm/bpabi.c: Likewise.
18535 * config/arm/bpabi.h: Likewise.
18536 * config/arm/ieee754-df.S (__aeabi_dneg): New function or alias.
18537 (__aeabi_drsub): Likewise.
18538 (__aeabi_dsub): Likewise.
18539 (__aeabi_dadd): Likewise.
18540 (__aeabi_ui2d): Likewise.
18541 (__aeabi_i2d): Likewise.
18542 (__aeabi_f2d): Likewise.
18543 (__aeabi_dmul): Likewise.
18544 (__aeabi_ddiv): Likewise.
18545 (__aeabi_cdrcmple): Likewise.
18546 (__aeabi_cdcmpeq): Likewise.
18547 (__aeabi_cdcmple): Likewise.
18548 (__aeabi_dcmpeq): Likewise.
18549 (__aeabi_dcmplt): Likewise.
18550 (__aeabi_dcmple): Likewise.
18551 (__aeabi_dcmpge): Likewise.
18552 (__aeabi_dcmpgt): Likewise.
18553 (__aeabi_dcmpun): Likewise.
18554 (__aeabi_d2iz): Likewise.
18555 (__aeabi_d2uiz): Likewise.
18556 (__aeabi_d2f): Likewise.
18557 * config/arm/ieee754-sf.S (__aeabi_fneg): New function or alias.
18558 (__aeabi_frsub): Likewise.
18559 (__aeabi_fsub): Likewise.
18560 (__aeabi_fadd): Likewise.
18561 (__aeabi_ui2f): Likewise.
18562 (__aeabi_i2f): Likewise.
18563 (__aeabi_fmul): Likewise.
18564 (__aeabi_fdiv): Likewise.
18565 (__aeabi_cfrcmple): Likewise.
18566 (__aeabi_cfcmpeq): Likewise.
18567 (__aeabi_cfcmple): Likewise.
18568 (__aeabi_fcmpeq): Likewise.
18569 (__aeabi_fcmplt): Likewise.
18570 (__aeabi_fcmple): Likewise.
18571 (__aeabi_fcmpge): Likewise.
18572 (__aeabi_fcmpgt): Likewise.
18573 (__aeabi_fcmpun): Likewise.
18574 (__aeabi_f2iz): Likewise.
18575 (__aeabi_f2uiz): Likewise.
18576 * config/arm/lib1funcs.asm (ARM_CALL): New macro.
18577 (__aeabi_uidivmod): New function or alias.
18578 (__aeabi_idivmod): Likewise.
18579 (__aeabi_idiv0): Likewise.
18580 (__aeabi_ldiv0): Likewise.
18581 (__aeabi_llsr): Likewise.
18582 (__aeabi_lasr): Likewise.
18583 (__aeabi_llsl): Likewise.
18584 (bpabi.S): Include it.
18585 * config/arm/libgcc-bpabi.ver: New file.
18586 * config/arm/symbian.h (ARM_DEFAULT_ABI): Remove.
18587 (LINK_SPEC): Remove.
18588 * config/arm/t-arm-elf (LIB1ASMFUNCS): Add __aeabi_lcmp and
18589 __aeabi_ulcmp.
18590 * config/arm/t-bpabi: New file.
18591 * doc/tm.texi (TARGET_LIBGCC_FUNCS): New entry.
18592 (TARGET_LIB_INT_CMP_BIASED): Likewise.
6f4a43e0 18593
fba73eb1
DE
185942004-08-10 David Edelsohn <edelsohn@gnu.org>
18595
18596 * config/rs6000/rs6000-protos.h (expand_block_clear): Declare.
18597 * config/rs6000/rs6000.md (clrmemsi): New pattern.
18598 * config/rs6000/rs6000.c (expand_block_clear): New function.
18599 (expand_block_move): Convert alignment to bits. Use SImode and
18600 HImode for unaligned addresses if not STRICT_ALIGNMENT.
18601
186022004-08-10 Caroline Tice <ctice@apple.com>
c295317d
CT
18603
18604 * varasm.c (unlikely_section_label): New global variable.
18605 (unlikely_text_section_name): New global variable.
18606 (text_section): Remove alignment statement.
6f4a43e0 18607 (unlikely_text_section): Remove alignment statement; use
c295317d
CT
18608 unlikely_section_label rather than hard-coded string.
18609 (assemble_start_function): Initialize unlikely_section_label and
18610 unlikely_text_section_name; make sure cold section is properly
18611 aligned at start of function; output unlikely_section_label if
18612 appropriate.
18613
68f9c5e2
UW
186142004-08-10 Ulrich Weigand <uweigand@de.ibm.com>
18615
18616 * config/s390/s390-protos.h (s390_canonicalize_comparison): Declare.
18617 * config/s390/s390.c (s390_canonicalize_comparison): New function.
18618 * config/s390/s390.h (CANONICALIZE_COMPARISON): Define.
18619 * config/s390/s390.md ("*tmdi_ext", "*tmsi_ext", "*tmqisi_ext",
18620 "*tmqidi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem"): Remove.
18621 ("*tmqi_mem"): Remove SUBREG from pattern.
18622 ("*anddi3_cconly"): Prevent accidentally matching TM pattern.
18623 ("*andsi3_cconly"): Likewise.
6f4a43e0 18624
22116d84
L
186252004-08-10 H.J. Lu <hongjiu.lu@intel.com>
18626
18627 PR target/16909
18628 * config/i386/i386.md (*strsetdi_rex_1): Use DI instead of SI.
18629
c75095b2
JJ
186302004-08-10 Janis Johnson <janis187@us.ibm.com>
18631
18632 * doc/sourcebuild.texi (compat testing): Document available test
18633 framework commands. Use the preferred spelling of DejaGnu.
18634
98975653
DB
186352004-08-10 Daniel Berlin <dberlin@dberlin.org>
18636
18637 * lambda.h: Add matrix type, and prototypes for remainder of
18638 matrix and vector functions.
18639 (lambda_vector_mult_const): New function.
18640 (lambda_vector_negate): Ditto.
18641 (lambda_vector_add): Ditto.
18642 (lambda_vector_add_mc): Ditto.
18643 (lambda_vector_copy): Ditto.
18644 (lambda_vector_zerop): Ditto.
18645 (lambda_vector_equal): Ditto.
18646 (lambda_vector_min_nz): Ditto.
18647 (lambda_vector_first_nz): Ditto.
18648 (lambda_vector_matrix_mult): Ditto.
18649 * lambda-mat.c: New file.
18650 * Makefile.in (lambda-mat.o): New.
18651
68b9f53b
AM
186522004-08-10 Andrew MacLeod <amacleod@redhat.com>
18653
18654 * tree-cfg.c (bsi_insert_before, bsi_insert_after): Call modify_stmt
18655 after linking stmt into the program.
18656 (bsi_remove): Don't call modify_stmt.
6f4a43e0 18657 * tree-complex.c (update_complex_assignment,
68b9f53b 18658 expand_complex_comparison): Call modify_stmt after changing the stmt.
6f4a43e0 18659 * tree-outof-ssa.c (rewrite_trees): Call modify_stmt only if not
68b9f53b
AM
18660 removing the stmt.
18661 * tree-ssa-ccp.c (substitute_and_fold): Call modify_stmt after changing
18662 the stmt, and only if needed.
18663 * tree-ssa-dom.c (thread_across_edge): Pass no annotation for a dummy
18664 expression.
18665 (simplify_rhs_and_lookup_avail_expr): Don't take an annotation param.
18666 (simplify_cond_and_lookup_avail_expr): Use modify_stmt.
18667 (simplify_switch_and_lookup_avail_expr): Don't take an annotation param.
6f4a43e0 18668 (eliminate_redundant_computations): Don't pass an annotation. Call
68b9f53b
AM
18669 modify_stmt rather than setting the annotation directly.
18670 (record_equivalences_from_stmt): Remove unused local 'j'.
18671 (cprop_operand): Take a stmt rather than an annotation as a parameter.
18672 Call modify_stmt.
18673 (cprop_into_stmt): Pass stmt rather than annotation.
18674 (update_rhs_and_lookup_avail_expr): Call modify_stmt.
6f4a43e0 18675 * tree-ssa-loop-im.c (schedule_sm): Call get_stmt_ann rather than
68b9f53b
AM
18676 modify_stmt.
18677 * tree-ssa.c (propagate_into_addr): Dont call modify_stmt.
18678
01c98570
JM
186792004-08-10 Jason Merrill <jason@redhat.com>
18680
6c9c4526 18681 PR middle-end/16948
01c98570
JM
18682 * function.c (expand_function_start): Handle DECL_BY_REFERENCE on
18683 the RESULT_DECL.
18684
b2ddaebb
GK
186852004-08-10 Geoffrey Keating <geoffk@apple.com>
18686
18687 * tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the
18688 hash function.
18689
23657388
RS
186902004-08-10 Roger Sayle <roger@eyesopen.com>
18691
18692 * config/mips/mips.md: New reciprocal square root patterns that
18693 match sqrt(1.0/x) in addition to the existing 1.0/sqrt(x) insns.
18694
c9ca9b88
PB
186952004-08-10 Paul Brook <paul@codesourcery.com>
18696
18697 * config/arm/arm-protos.h (arm_set_return_address,
18698 thumb_set_return_address): Add prototypes.
18699 * config/arm/arm.h (ARM_FT_EXCEPTION_HANDLER): Remove.
18700 * config/arm/arm.c (arm_compute_func_type,
18701 use_return_insn, arm_compute_save_reg0_reg12_mask,
18702 arm_compute_save_reg_mask, arm_output_function_prologue,
18703 arm_output_epilogue): Replace ARM_FT_EXCEPTION_HANDLER with
18704 current_function_calls_eh_return.
18705 (thumb_exit, thumb_pushpop, thumb_unexpanded_epilogue): Replace
18706 old eh code.
18707 (arm_set_return_address, thumb_set_return_address): New functions.
18708 * config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS, DWARF2_UNWIND_INFO,
18709 ARM_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX): Define.
18710 * config/arm/arm.md (VUNSPEC_EH_RETURN): Add.
18711 (epilogue): Use the stackadj register.
18712 (eh_return, arm_eh_return, thumb_eh_return): New pattern.
18713
45d78e7f
JJ
187142004-08-10 Jakub Jelinek <jakub@redhat.com>
18715
18716 PR target/3144
18717 * expr.c (move_by_pieces_ninsns): Add max_size argument.
18718 (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1 to it.
18719 (CLEAR_BY_PIECES_P): Pass STORE_MAX_PIECES + 1 to it.
18720 (STORE_BY_PIECES_P): Define similarly to CLEAR_BY_PIECES_P,
18721 but using MOVE_RATIO.
18722 (move_by_pieces): Pass max_size to move_by_pieces_ninsns.
18723 (can_store_by_pieces): Change max_size type to unsigned int.
18724 (store_by_pieces_1): Likewise. Pass max_size to
18725 move_by_pieces_ninsns.
18726 * config/s390/s390.h (STORE_BY_PIECES_P): Define.
18727 * config/sh/sh.c (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1
18728 to move_by_pieces_ninsns.
18729 (STORE_BY_PIECES_P): Define.
18730 * config/ns32k/ns32k.h (STORE_BY_PIECES_P): Pass STORE_MAX_PIECES + 1
18731 to move_by_pieces_ninsns.
18732 * doc/tm.texi (STORE_BY_PIECES_P): Document changed default.
18733
18734 * config/i386/i386.h (CLEAR_RATIO): Define.
18735
25f3e06c
PB
187362004-08-09 Paolo Bonzini <bonzini@gnu.org>
18737
18738 * expr.c (expand_expr_real_1): Add back code that was not dead.
18739
6a3203c8
AP
187402004-08-09 Andrew Pinski <apinski@apple.com>
18741
18742 * c-common.c (c_common_get_alias_set): Set the aliasing set of the type
18743 which is found to be compatible before returning the aliasing set.
18744
b9bfca81
DJ
187452004-08-09 Daniel Jacobowitz <dan@debian.org>
18746
18747 * ggc-zone.c (struct alloc_zone): Add statistics counters.
18748 (always_collect): New flag.
18749 (ggc_alloc_zone_1): Update statistics support. Don't include
18750 overhead in allocated counter.
18751 (sweep_pages): Update allocated counter for large pages. Don'y
18752 include overhead.
18753 (ggc_collect_1): Always collect.
18754 (ggc_collect): Honor always_collect flag. Sum all zones to decide
18755 whether to collect.
18756 (SCALE, LABEL): New macros.
18757 (ggc_print_statistics): Add statistics support.
18758
fdded401
RS
187592004-08-09 Roger Sayle <roger@eyesopen.com>
18760
18761 * expmed.c (sdiv_pow2_cheap, smod_pow2_cheap): Change type to bool.
18762 (init_expmed): Fix potential overrun problem with "all.reg".
18763 (expand_sdiv2_pow2): Add an alternate implementation for signed
18764 division, if the target provides a suitable conditional move insn.
18765
9d8646d7
PB
187662004-08-09 Paul Brook <paul@codesourcery.com>
18767 Richard Henderson <rth@redhat.com>
18768
18769 * unwind-dw2.c (uw_install_context_1): Update target saved stack
18770 pointer.
18771
d37e6b50
GK
187722004-08-09 Geoffrey Keating <geoffk@apple.com>
18773
18774 * ggc-common.c (ggc_rlimit_bound): Don't check RSS limit.
18775 Check DATA limit only if there's no AS limit. Ignore insanely
18776 low DATA limits.
18777 (ggc_min_heapsize_heuristic): Don't divide AS or RSS limits by 8,
18778 but take care that the AS limit isn't overrun.
18779 * doc/invoke.texi: Update documentation of min-heapsize parameter.
18780
56b043c8
JL
187812004-08-09 Jeff Law <law@redhat.com>
18782
18783 * Makefile.in (OBJC-common): Add tree-ssa-threadupdate.c
18784 (tree-ssa-threadupdate.o): Add dependencies.
18785 * tree-ssa-threadupdate.c: New file.
18786 * tree-flow.h (incoming_edge_threaded): New flag in block annotation.
18787 (rewrite_vars_out_of_ssa): Remove prototype.
18788 (cleanup_tree_cfg): Returns a bool.
18789 * tree.h (thread_through_all_blocks): Prototype.
18790 * tree-outof-ssa.c (SSANORM_*): Move into here.
18791 (remove_ssa_form): Now static.
18792 (rewrite_vars_out_of_ssa): Kill.
18793 * tree-ssa-live.c (register_ssa_partitions_for_vars): Kill.
18794 * tree-ssa-live.h (SSANORM_*): Moved into tree-outof-ssa.c.
18795 (remove_ssa_form, register_partitions_for_vars): Kill declarations.
18796 * tree-cfg.c (cleanup_tree_cfg): Return a value indicating if
18797 anything was changed.
18798 * tree-phinodes.c (add_phi_arg): Get the block for the PHI
18799 from the PHI's annotation rather than the edge associated with
18800 the new argument.
18801 * tree-ssa-dom.c (redirection_edges): Kill.
18802 (redirect_edges_and_update_ssa_graph): Kill.
18803 (tree_ssa_dominator_optimize): Do not reset forwardable flag
18804 for blocks anymore. Do not initialize redirection_edges.
18805 Call thread_through_all_blocks. Simplify code for cleanup
18806 of the CFG and iterating. No longer call cleanup_tree_cfg
18807 outside the iteration loop.
18808 (thread_across_edge): No longer mess with forwardable blocks.
18809
9b305d55
ZW
188102004-08-09 Zack Weinberg <zack@codesourcery.com>
18811
18812 * explow.c (memory_address): Use memory_address_p.
18813 * recog.c (general_operand): Likewise.
18814 * regrename.c: No need to define REG_OK_STRICT.
18815
27fb79ad
SB
188162004-08-09 Steven Bosscher <stevenb@suse.de>
18817
18818 * timevar.def (TV_CPROP1, TV_CPROP2, TV_PRE, TV_HOIST, TV_LSM):
18819 New timers.
18820 * gcse.c: Include timevar.h.
18821 (const_prop_count, copy_prop_count): Rename to global_const_prop_count
18822 and global_copy_prop_count.
18823 (local_const_prop_count, local_copy_prop_count): New static globals.
18824 (gcse_main): Set the right timevar for each pass.
18825 (cprop_jump): Increment global_const_prop_count when a constant is
18826 propagated. Add "GLOBAL" to dump output.
18827 (cprop_insn): Increment global_const_prop_count when a constant is
18828 propagated, or global_copy_prop_count when a copy is propagated.
18829 (do_local_cprop): Likewise for local_const_prop_count and
18830 local_copy_prop_count.
18831 (one_cprop_pass): Initialize const/cprop counters to zero.
18832 Print out results of local and global const/cprop separately.
18833 (bypass_block): Break over-length line.
702d4b73
SB
18834 * Makefile.in (gcse.o): Add TIMEVAR_H dependency. Fix dependencies
18835 for bb-reorder.o and tracer.o.
27fb79ad 18836
7efcb746
PB
188372004-08-09 Paolo Bonzini <bonzini@gnu.org>
18838
18839 * Makefile.in (GTFILES): Remove stmt.c
18840 (stmt.o): Do not depend on gt-stmt.h.
18841 * emit-rtl.c (emit_line_note): Do not call
18842 set_file_and_line_for_stmt.
18843 * expr.c (expand_expr_real_1) <SWITCH_EXPR>: Let expand_case
18844 do everything.
18845 * function.c (free_after_parsing): Do not free STMT field.
18846 (allocate_struct_function): Do not call init_stmt_for_function.
18847 (assign_stack_temp_for_type): Do not accept values of keep
18848 other than 0 or 1.
18849 (init_temp_slots): Do not initialize removed variables.
18850 * function.h (struct function): Remove STMT, X_TARGET_TEMP_SLOT_LEVEL
18851 and X_VAR_TEMP_SLOT_LEVEL fields.
18852 * rtl.h (set_file_and_line_for_stmt): Remove.
18853 * stmt.c (struct nesting, ALLOC_NESTING, POPSTACK,
18854 struct stmt_status, cond_stack, case_stack, nesting_stack,
18855 nesting_depth, emit_locus, set_file_and_line_for_stmt,
18856 same_case_target_p, init_stmt_for_function, emit_nop,
18857 expand_start_cond, expand_start_elseif, expand_start_else,
18858 expand_elseif, expand_end_cond): Remove.
18859 (preserve_subexpressions_p): Remove references to CFUN->STMT.
18860 (expand_start_case, expand_end_case_type): Remove, merge into...
18861 (expand_case): ... this one, including other bits from
18862 expand_expr_real_1. Inline same_case_target_p. Turn members
18863 of CASE_STACK into local variables.
18864 (emit_case_bit_tests): Inline same_case_target_p.
18865 (add_case_node): Add HEAD argument, return new head of the list,
18866 do not handle default label here.
18867 * tree.h (expand_start_cond, expand_end_cond, expand_start_else,
18868 expand_start_elseif, current_nesting_level, expand_start_case,
18869 expand_end_case_type, expand_end_case, add_case_node,
18870 init_stmt_for_function, expand_elseif): Remove prototypes.
18871 (expand_case): Add prototype.
18872
c4d70ce3
PB
188732004-08-09 Paolo Bonzini <bonzini@gnu.org>
18874
18875 * expr.c (expand_expr_real_1): Use optab_for_tree_code.
18876
188772004-08-09 Paolo Bonzini <bonzini@gnu.org>
e5bacf32
PB
18878
18879 * expr.c (var_rtx): Remove.
18880 (expand_expr_real_1) <LOOP_EXPR, EXIT_EXPR,
18881 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRUTH_ANDIF_EXPR,
18882 TRUTH_ORIF_EXPR, COMPOUND_EXPR, CONJ_EXPR, INIT_EXPR>:
18883 Abort.
18884 (expand_expr_real_1) <COND_EXPR>: Remove most special cases.
18885 * optabs.c (emit_clr_insn, emit_0_to_1_insn): Remove.
18886 * optabs.h (emit_clr_insn, emit_0_to_1_insn): Remove.
18887
d72372e4
MH
188882004-08-08 Mostafa Hagog <mustafa@il.ibm.com>
18889 Ayal Zaks <zaks@il.ibm.com>
18890
18891 * common.opt (freschedule-modulo-scheduled-loops): New flag.
18892 * final.c (final_scan_insn): Handle NOTE_DISABLE_SCHED_OF_BLOCK.
18893 * modulo-sched.c (sms_schedule): Emit a note to disable scheduling
18894 when -freschedule-modulo-scheduled-loops flag is not specified.
18895 (sms_schedule_by_order, ps_insn_advance_column, add_node_to_ps,
18896 add_node_to_ps, ps_has_conflicts, ps_add_node_check_conflicts):
18897 More accurate placing of insn in row of partial schedule.
18898 (ps_insn_find_column): New function.
18899 * rtl.h (NOTE_DISABLE_SCHED_OF_BLOCK): New note.
18900 * sched-rgn.c (sched_is_disabled_for_current_region_p): New.
18901 (schedule_region): Use sched_is_disabled_for_current_region_p.
18902 * docs/invoke.texi: Document -freschedule-modulo-scheduled-loops.
18903
0737fbff
L
189042004-08-07 H.J. Lu <hongjiu.lu@intel.com>
18905
18906 * config/i386/i386.c (ix86_expand_clrmem): Revert the last
18907 change.
18908
11c4576f
L
189092004-08-07 H.J. Lu <hongjiu.lu@intel.com>
18910
18911 * config/i386/i386.c (ix86_expand_clrmem): Properly call
18912 gen_strset for 64bit target.
18913
34def210
OH
189142004-08-07 Olivier Hainque <hainque@act-europe.fr>
18915
18916 * config/vxworks.h (HANDLE_SYSV_PRAGMA): Remove definition.
18917
5201931e
JM
189182004-08-07 Jason Merrill <jason@redhat.com>
18919
cc77ae10
JM
18920 Make return in memory explicit.
18921 * function.c (aggregate_value_p): Check DECL_BY_REFERENCE.
18922 (assign_parm_find_data_types): Remove code for old front end
18923 invisible reference handling.
18924 (assign_parms): Handle DECL_BY_REFERENCE on the RESULT_DECL.
18925 (expand_function_end): Likewise.
18926 * gimplify.c (gimplify_return_expr): Handle a dereferenced
18927 RESULT_DECL.
18928 * tree-inline.c (copy_body_r): Don't bother looking for &* anymore.
18929 (declare_return_variable): Handle DECL_BY_REFERENCE.
18930 * cp/cp-gimplify.c (is_invisiref_parm): Also handle RESULT_DECL.
18931 (cp_genericize_r): Use convert_from_reference.
18932 Don't dereference a RESULT_DECL directly inside a RETURN_EXPR.
18933 (cp_genericize): Handle the RESULT_DECL. Unset TREE_ADDRESSABLE.
18934
5201931e
JM
18935 * c-common.c (c_warn_unused_result): Check TREE_USED before
18936 warning about a CALL_EXPR with an unused value.
18937
2ed9e527
MM
189382004-08-06 Mark Mitchell <mark@codesourcery.com>
18939
18940 * config/arm/symbian.h (CC1_SPEC): Avoid passing duplicate options
18941 to the compiler. Use -fshort-wchar by default.
18942
12183e0f
PH
189432004-08-06 Pat Haugen <pthaugen@us.ibm.com>
18944
18945 * params.def (PARAM_MIN_CROSSJUMP_INSNS): New.
18946 * cfgcleanup.c (try_crossjump_to_edge): Add minimum insn match
18947 threshhold.
18948 * doc/invoke.texi (param): Document min-crossjump-insns.
18949
eaac4679
RS
189502004-08-06 Richard Sandiford <rsandifo@redhat.com>
18951
18952 PR c/13282
18953 * c.opt (Wmissing-field-initializers): New option.
18954 * c-opts.c (c_common_post_options): Make -Wextra turn it on by default.
18955 * c-typeck.c (pop_init_level): Guard the missing field warning with
18956 warn_missing_field_initializers rather than extra_warnings.
18957 * doc/invoke.texi (-Wmissing-field-initializers): Document, moving
18958 some of the explanation from...
18959 (-Wextra): ...here. Say that the missing field warning can be
18960 seperately controlled by -Wmissing-field-initializers.
18961
caad9f81
PB
189622004-08-06 Paolo Bonzini <bonzini@gnu.org>
18963
18964 * expr.c (expand_expr_real_1) <ENTRY_VALUE_EXPR>: Remove.
18965 * tree-inline.c (estimate_num_insns_1) <ENTRY_VALUE_EXPR>: Remove.
18966 * tree-pretty-print.c (dump_generic_node) <ENTRY_VALUE_EXPR>: Remove.
18967 * tree.def (ENTRY_VALUE_EXPR): Remove.
18968
6b32b628
JJ
189692004-08-06 Jakub Jelinek <jakub@redhat.com>
18970
18971 * config/i386/i386.c (ix86_expand_clrmem): Move gen_cld down to
18972 the places where it is actually needed. Don't use repz; stosb
18973 for -Os with sufficiently small constant sizes.
18974 For sufficiently small repz; stos{l,q} repeat counts use a sequence
18975 of stos{l,q} instructions instead.
18976
6797f908
ZD
189772004-08-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
18978
18979 PR tree-optimization/16807
18980 * loop-iv.c (dump_iv_info): Dump invariants correctly.
18981 (iv_subreg, iv_extend): Express value of invariant purely in
18982 base field.
18983
866cf037
MM
189842004-08-06 Mark Mitchell <mark@codesourcery.com>
18985
18986 * config/arm/symbian.h (CC1_SPEC): Add -fno-short-enums.
18987 (CC1PLUS_SPEC): Define it to be the same as CC1_SPEC.
18988
9652c531 189892004-08-06 Roman Zippel <zippel@linux-m68k.org>
9b305d55 18990
27fb79ad
SB
18991 * config/m68k/m68k.c (post_inc_operand,pre_dec_operand): New.
18992 * config/m68k/m68k.h (PREDICATE_CODES): add post_inc_operand,
18993 pre_dec_operand.
18994 * config/m68k/m68k.md (zero_extend*2): delay the splitting of the
18995 pattern until reload is finished to allow better code generation
18996 and split them completely into separate instrunctions.
18997 (*andsi3_split): New pattern.
9652c531 18998
b2ca3702
MM
189992004-08-05 Mark Mitchell <mark@codesourcery.com>
19000
19001 * tree.c (handle_dll_attribute): Move here from i383/winnt.c.
19002 Replace use of DECL_INLINE with DECL_DECLARED_INLINE_P. Set
19003 DECL_VISIBLITY. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
19004 * tree.h (handle_dll_attribute): Declare. Test
19005 TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
19006 * c-common.h (c_determine_visibility): Declare.
19007 * c-common.c (c_determine_visibility): New function.
19008 * c-decl.c (finish_decl): Use it.
19009 (finish_function): Likewise.
19010 * defaults.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define it to
19011 zero, by default. Use #if, not #ifdef, to test it.
19012 * config/arm/arm.c (arm_attribute_table): Use
19013 handle_dll_attribute. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with
19014 #if.
19015 * config/arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define to 1.
19016 * config/i386/cygming.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
19017 to 1.
19018 * config/i386/i386-protos.h (ix86_handle_dll_attribute): Remove.
19019 * config/i386/i386.c (ix86_attribute_table): Use
19020 handle_dll_attribute for dllimport/dllexport. Test
19021 TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
19022 * config/i386/winnt.c (ix86_handle_dll_attribute): Remove.
19023 * config/mcore/mcore.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
19024 it to 1.
19025 * config/mcore/mcore.c (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Test it
19026 with #if.
19027 * config/sh/symbian-pre.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
19028 it to 1.
19029 * doc/extend.texi (dllexport): Clarify and correct documentation.
19030 (dllimport): Likewise.
19031 * doc/tm.texi (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Mention
19032 handle_dll_attribute.
9b305d55 19033
c913f08a
ZD
190342004-08-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
19035
19036 * tree-ssa-loop-manip.c: New file.
19037 * Makefile.in (tree-ssa-loop-manip.o): Add.
19038 * tree-flow.h (rewrite_into_loop_closed_ssa, verify_loop_closed_ssa):
19039 Declare.
19040 * tree-ssa-loop.c (tree_loop_optimizer_init): Create loop closed ssa
19041 form.
19042 (tree_ssa_loop_done): Verify loop closed ssa form.
19043 * tree-ssa-loop-im.c (move_computations): Update loop closed ssa form.
19044
d4482715
JDA
190452004-08-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19046
19047 * pa.c (pa_asm_output_aligned_bss, pa_asm_output_aligned_common,
19048 pa_asm_output_aligned_local): New functions.
19049 * pa-protos.h: Add prototypes for pa_asm_output_aligned_bss,
19050 pa_asm_output_aligned_common and pa_asm_output_aligned_local.
19051 * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Use
19052 pa_asm_output_aligned_common.
19053 (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
19054 * pa.h (ASM_OUTPUT_ALIGNED_BSS): New macro.
19055 (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common.
19056 (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
19057 * pa64-hpux.h (MAX_OFILE_ALIGNMENT): New macro.
19058 (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common.
19059 (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
19060 * som.h (MAX_OFILE_ALIGNMENT): Provide maximum alignment of global
19061 common data.
19062
21149a79
AP
190632004-08-05 Andrew Pinski <apinski@apple.com>
19064
19065 * objc/objc-act.c (build_objc_string_object): Mark the address
19066 expression as constant.
19067
d5861a7a
DE
190682004-08-05 David Edelsohn <edelsohn@gnu.org>
19069
19070 * config/rs6000/rs6000.c (rs6000_rtx_costs): Fix mask_operand
19071 and mask64_operand thinkos. Handle ZERO_EXTRACT. Handle
19072 SIGN_EXTEND / ZERO_EXTEND of MEM. Handle rlwinm patterns.
19073
0a2b72a6
JM
190742004-08-05 Joseph S. Myers <jsm@polyomino.org.uk>
19075
19076 * config/linux.h, config/i386/linux.h, config/sparc/linux.h:
19077 Remove definitions conditioned on USE_GNULIBC_1 or conditioned
19078 out, and associated obsolete comments.
19079
ca7a3bd7
NS
190802004-08-05 Nathan Sidwell <nathan@codesourcery.com>
19081
19082 * tree.h (force_fit_type): Return a tree, take three flags.
19083 * fold-const.c (force_fit_type): Set TREE_OVERFLOW and
19084 TREE_CONSTANT_OVERFLOW here.
19085 (int_const_binop, const_binop): Adjust.
19086 (size_int_type): Do sign extension here.
19087 (fold_convert_const, optimize_bit_field_compare,
19088 decode_field_reference, all_ones_mask_p, fold_div_compare, fold,
19089 fold_negate_const, fold_abs_const, fold_not_const): Adjust.
19090 * tree.c (size_in_bytes, int_fits_type_p): Adjust.
19091
d36837f4
ZD
190922004-08-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
19093
19094 PR tree-optimization/16864
19095 * tree-tailcall.c (eliminate_tail_call): Do not create phi nodes
19096 for ssa names without default_def.
19097
ea5f7a19
RS
190982004-08-05 Richard Sandiford <rsandifo@redhat.com>
19099
19100 * config/i386/i386.c (ix86_expand_prologue): If the function uses a
19101 frame pointer, restore eax with an ebp-relative address.
19102
0e6df31e
GK
191032004-08-04 Geoffrey Keating <geoffk@apple.com>
19104
19105 PR 14516
19106 * c-common.c (c_expand_decl): Don't special-case static VAR_DECLs.
19107 * c-common.h (make_rtl_for_local_static): Delete.
19108 * c-decl.c (shadow_tag_warned): Clean up comment.
19109 (finish_decl): Clean up spacing. Use set_user_assembler_name when
19110 appropriate. Don't pass asmspec to rest_of_decl_compilation.
19111 * c-semantics.c (make_rtl_for_local_static): Delete.
19112 * expr.c (init_block_move_fn): Use set_user_assembler_name.
19113 (init_block_clear_fn): Likewise.
19114 * passes.c (rest_of_decl_compilation): Remove asmspec parameter,
19115 expect it to be in DECL_ASSEMBLER_NAME. Update callers in many files.
19116 * toplev.h (rest_of_decl_compilation): Remove asmspec parameter.
19117 * tree.h (make_decl_rtl): Remove second parameter.
19118 (set_user_assembler_name): New.
19119 * varasm.c (set_user_assembler_name): New.
19120 (make_decl_rtl): Remove second parameter. Update callers in many
19121 files.
19122
4f587cb0
AN
191232004-08-05 Adam Nemet <anemet@lnxw.com>
19124
19125 * config.gcc (case i[34567]86-*-lynxos*): Update to LynxOS 4.0.
19126 (case rs6000-*-lynxos*): Rename it to powerpc-*-lynxos*. Update
19127 to LynxOS 4.0.
19128 * gthr-lynx.h: New file.
19129 * config/lynx-ng.h: Remove file.
19130 * config/lynx.h: Update to LynxOS 4.0.
19131 * config/t-lynx: New file.
19132 * config/i386/lynx-ng.h: Remove file.
19133 * config/i386/lynx.h: Update to LynxOS 4.0.
19134 * config/rs6000/lynxbase.h: Remove file.
19135 * config/rs6000/lynx.h: Update to LynxOS 4.0.
19136 * config/rs6000/t-lynx: New file.
19137 * doc/install.texi (Options specification): Remove reference to
19138 LynxOS from systems where --with-gnu-as makes a difference.
19139
85291069
JM
191402004-08-05 Joseph S. Myers <jsm@polyomino.org.uk>
19141
19142 * c-common.c (c_stddef_cpp_builtins): Define __INTMAX_TYPE__ and
19143 __UINTMAX_TYPE__.
19144 * c-cppbuiltin.c (builtin_define_stdint_macros): New. Define
19145 __INTMAX_MAX__.
19146 (c_cpp_builtins): Call it.
19147 * doc/cpp.texi: Update.
19148
30a555d9
DE
191492004-08-04 David Edelsohn <edelsohn@gnu.org>
19150
19151 * config/rs6000/rs6000.c (rs6000_rtx_costs): LABEL_REFs are zero
19152 cost.
19153
878f99d2
JH
191542004-08-04 Jan Hubicka <jh@suse.cz>
19155
19156 * basic-block.h (profile_staus): New global variable.
19157 * cfg.c (profile_status): Declare.
19158 (check_bb_profile): Break out from ....; use profile_status
19159 (dump_flow_info): ... here.
19160 * cfgbuild.c (find_basic_blocks): Set profile_status.
19161 * cfgexpand.c (tree_expand_cfg): Likewise.
19162 * predict.c (estimate_probability): Likewise.
19163 * profile.c (branch_prob): Likewise.
19164 * tree-cfg.c (build_tree_cfg): Likewise.
19165 (dump_function_to_file): Use check_bb_profile.
19166 * tree-pretty-print (dump_bb_header): Likewise.
19167 * tree-profile.c (do_tree_profiling): Cleanup.
19168
7e7ec48e
ZW
191692004-08-04 Zack Weinberg <zack@codesourcery.com>
19170
19171 * Makefile.in (RTL_BASE_H, RTL_H): Correct.
19172 (BUILD_RTL): Remove $(BUILD_PREFIX) from ggc-none.o.
19173 (genobjs): Add errors.o, ggc-none.o, and min-insn-modes.o.
19174 (read-rtl.o, gensupport.o, genconfig.o, genflags.o, gencodes.o)
19175 (genconstants.o, genemit.o, genopinit.o, genrecog.o, genextract.o)
19176 (genpeep.o, genattr.o, genattrtab.o, genautomata.o, genoutput.o)
19177 (genconditions.o): Depend on $(RTL_BASE_H) not $(RTL_H).
19178 (ggc-none.o, errors.o): Move rule to generators section;
19179 correct dependencies.
19180 (min-insn-modes.o): Move rule to generators section; remove
19181 unnecessary explicit command; correct dependencies.
19182 (print-rtl.o, print-rtl1.o): Correct dependencies.
19183 ($(BUILD_PREFIX_1)errors.o. $(BUILD_PREFIX_1)ggc-none.o): Delete rule.
19184 (mostlyclean): Update.
19185
19186 * errors.c: Include bconfig.h not config.h. Correct comment.
19187 * gengtype.c, genpreds.c: Don't define NO_GENRTL_H.
19188 * ggc-none.c: Include bconfig.h; not config.h or tm.h.
19189 * print-rtl.c: Don't include tm_p.h.
19190
19191 * rtl.h: Move forward-decl of struct function down where it's
19192 needed. Include genrtl.h #ifndef GENERATOR_FILE, not
19193 #ifndef NO_GENRTL_H. Remove unnecessary #ifdef BUFSIZ statements.
19194
b0382c67
ZD
191952004-08-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
19196 Jeff Law <law@redhat.com>
19197
19198 * tree-cfg.c (tree_duplicate_bb): Mark duplicated definitions.
19199 * tree-flow.h (rewrite_ssa_into_ssa): Declaration changed.
19200 * tree-into-ssa.c (rewrite_ssa_into_ssa): Use new interface to
19201 manipulate the duplicated ssa names.
19202 * tree-ssanames.c (ssa_names_to_rewrite): New variable.
19203 (marked_for_rewrite_p, any_marked_for_rewrite_p, mark_for_rewrite,
19204 unmark_all_for_rewrite, marked_ssa_names, release_ssa_name_force):
19205 New functions.
19206 (release_ssa_name): Do not release ssa names that may have multiple
19207 definitions.
19208 * tree.h (release_ssa_name_force, mark_for_rewrite,
19209 unmark_all_for_rewrite, marked_for_rewrite_p, any_marked_for_rewrite_p,
19210 marked_ssa_names): Declare.
19211 * tree-ssa-loop-ch.c (mark_defs_for_rewrite): Remove.
19212 (duplicate_blocks): Remove call to mark_defs_for_rewrite.
19213 Update call to rewrite_ssa_into_ssa.
19214
63c5b495
MM
192152004-08-04 Mark Mitchell <mark@codesourcery.com>
19216
19217 * defaults.h (TARGET_DECLSPEC): New macro.
19218 * c-cppbuiltin.c (c_cpp_builtins): Handle TARGET_DECLSPEC.
19219 * config/arm/pe.h (SUBTARGET_CPP_SPEC): Remove __declspec support.
b2ca3702 19220 * config/arm/symbian.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
63c5b495
MM
19221 * config/i386/beof-elf.h (TARGET_OS_CPP_BUILTINS): Remove
19222 __declspec support.
19223 (TARGET_DECLSPEC): Define.
19224 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Remove
19225 __declspec support.
19226 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS): Remove
19227 __declspec support.
19228 (TARGET_DECLSPEC): Define.
19229 * config/mcore/mcore.h (TARGET_CPU_CPP_BUILTINS): Remove
19230 __declspec support.
19231 * config/sh/symbian-pre.h (SUBTARGET_CPP_SPEC): Remove __declspec
19232 support.
19233 * doc/tm.texi (TARGET_DECLSPEC): Document.
19234
19235 * doc/extend.texi: Fix typo in comment.
19236
44d10c10
PB
192372004-08-04 Paul Brook <paul@codesourcery.com>
19238
19239 * target-def.h (TARGET_CXX_CDTOR_RETURNS_THIS): Define.
19240 (TARGET_CXX): Use it.
19241 * target.h (struct gcc_target): Add cdtor_returns_this.
19242 * config/arm/arm.c (arm_cxx_cdtor_returns_this): New function.
19243 (TARGET_CXX_CDTOR_RETURNS_THIS): Define.
19244 * doc/tm.texi: Document TARGET_CXX_CDTOR_RETURNS_THIS.
19245
5e9754af
NS
192462004-08-03 Nathan Sidwell <nathan@codesourcery.com>
19247
19248 * c-lex.c (narrowest_unsigned_type, narrowest_signed_type): Take
19249 low/high pair. Do range checking directly.
19250 (interpret_integer): Adjust.
19251
2acc29bd
NC
192522004-08-04 Nick Clifton <nickc@redhat.com>
19253
19254 * config/sh/sh.h (TARGET_SWITCHES): Add no-renesas to select the
19255 GCC ABI.
19256 * doc/invoke.texi: Document this new switch and also the -mrenesas
19257 switch.
19258
2496942a
NS
192592004-08-04 Nathan Sidwell <nathan@codesourcery.com>
19260
19261 * cfglayout.c (insn_locators_initialize): Update the current
19262 location before initializing a location.
19263
7e2e8179
ZW
192642004-08-03 Zack Weinberg <zack@codesourcery.com>
19265
403f8503
ZW
19266 * dbxout.c (dbxout_function_decl): Always call dbxout_function_end.
19267 (dbxout_function_end): Return after emitting the "Lscope" symbol
19268 under the same conditions that this function formerly wasn't called.
19269 Add explanatory comments.
19270
bcc7f708 19271 PR 14860
ca043393
ZW
19272 * c-decl.c (record_builtin_type): Call debug_hooks->type_decl
19273 on the new decl.
19274
bcc7f708 19275 PR 13956
7e2e8179
ZW
19276 * dbxout.c (dbx_output_lbrac, dbx_output_rbrac): New
19277 functions, broken out of dbxout_block.
19278 (dbxout_block): The block at depth 0 should get LBRAC/RBRAC
19279 stabs too, if it contains symbols. Use the begin_label and
19280 the Lscope label (emitted by dbxout_function_end) for the
19281 range of this block.
19282
5d75ba94
NN
192832004-08-03 Nathanael Nerode <neroden@gcc.gnu.org>
19284
19285 * doc/install.texi: Update autoconf version requirements.
19286
2e4e72b1
ZW
192872004-08-03 Zack Weinberg <zack@codesourcery.com>
19288
19289 * defaults.h (LEGITIMATE_PIC_OPERAND_P): Provide default definition.
19290 * recog.c (general_operand, immediate_operand, nonmemory_operand)
19291 (asm_operand_ok): Remove #ifdefs on LEGITIMATE_PICOPERAND_P.
19292 * regclass.c (record_reg_classes): Likewise.
19293 * reload.c (find_reloads): Likewise.
19294 * reload1.c (reload): Likewise.
19295
f9942f4e
ZW
192962004-08-03 Zack Weinberg <zack@codesourcery.com>
19297
19298 * gensupport.c (init_md_reader_args_cb): Renamed from
19299 init_md_reader_args. Add third option, callback function for
19300 parsing program-specific options. Add diagnosis of incorrect
19301 number of input files.
19302 (init_md_reader): Fold into init_md_reader_args_cb.
19303 (init_md_reader_args): Now a thin wrapper around
19304 init_md_reader_args_cb.
19305 * gensupport.h: Update prototypes.
19306
19307 * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c
19308 * genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c
19309 * genrecog.c: No need to diagnose lack of an input file;
19310 init_md_reader_args will handle it.
19311 * genconditions.c: Likewise, and use init_md_reader_args.
19312 * genconstants.c: Likewise, and no need to call read_md_rtx.
19313
9cbe78fb
JM
193142004-08-03 Joseph S. Myers <jsm@polyomino.org.uk>
19315
19316 * c-decl.c (implicitly_declare): Diagnose incompatible implicit
19317 declarations.
19318
3e558e80
MS
193192004-08-03 Mike Stump <mrs@apple.com>
19320
19321 * config/darwin-c.c: Don't search in "/Local/Library/Frameworks"
19322 for frameworks.
19323 * doc/invoke.texi (Darwin Options): Update to reflect above.
19324
a0fac73d
RS
193252004-08-03 Roger Sayle <roger@eyesopen.com>
19326
19327 PR middle-end/16790
19328 * fold-const.c (extract_muldiv_1) <NOP_EXPR>: Disallow local
19329 truncations, not just global truncations.
19330
cddbddb7
AP
193312004-08-03 Andrew Pinski <apinski@apple.com>
19332
19333 PR bootstrap/16865
19334 * loop-iv.c (simplify_using_assignment): Initialize lhs.
19335
bebf829d
PB
193362004-08-03 Paul Brook <paul@codesourcery.com>
19337
19338 * gcc/doc/install.texi: Document MPFR requirement.
19339
cddbddb7 193402004-08-03 Maciej W. Rozycki <macro@linux-mips.org>
3b0727a0 19341
f9942f4e
ZW
19342 * aclocal.m4 (gcc_AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
19343 and mmap() explicitly instead of relying on preset autoconf cache
3b0727a0
MR
19344 variables.
19345 * configure: Regenerate.
19346
f6bc51cb
L
193472004-08-03 H.J. Lu <hongjiu.lu@intel.com>
19348
19349 PR target/16570
19350 * config.gcc (i[34567]86-*-* | x86_64-*-*): Add i386/t-gmm_malloc
19351 to tmake_file.
19352 (i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1): Likewise.
19353 (i[34567]86-*-linux* | x86_64-*-linux*): Add i386/t-pmm_malloc
19354 to tmake_file.
19355
19356 * config/i386/t-gmm_malloc: New file.
19357 * config/i386/t-pmm_malloc: Likewise.
f9942f4e 19358
f6bc51cb
L
19359 * config/i386/xmmintrin.h: Include <mm_malloc.h>.
19360
193612004-08-03 H.J. Lu <hongjiu.lu@intel.com>
0ddcd94f 19362