]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
Daily bump.
[gcc.git] / gcc / ChangeLog
CommitLineData
413803d3
VR
12006-08-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2
3 PR c++/28250
4 PR c++/28257
5 PR c++/28259
6 PR c++/28267
7 * toplev.c (compile_file): Return early on errorcount or sorrycount.
8 * cgraphunit.c (cgraph_finalize_compilation_unit): Likewise.
9 (cgraph_optimize): Likewise.
10
4fbbe694
SH
112006-08-01 Stuart Hastings <stuart@apple.com>
12
13 * rtl.h (UINTVAL) New.
14 * config/rs6000/rs6000.c (SMALL_INT) Use it.
15 * testsuite/gcc.dg/20060801-1.c: New.
16
6193b8b7
DJ
172006-08-01 Daniel Jacobowitz <dan@codesourcery.com>
18
19 PR debug/23336
20 * c-typeck.c (build_external_type): Mark used enum types.
21 * dwarf2out.c (dwarf2out_abstract_function): Save and restore
22 cfun also.
23 (gen_subprogram_die): Whitespace fix.
24
9824b886
JH
252006-08-01 Jan Hubicka <jh@suse.cz>
26
27 * tree-outof-ssa.c (check_replaceable): Do not allocate def_vars
28 bitmap when not needed.
29 * tree-ssa-pre.c (bitmap_set_and, bitmap_set_and_compl): Free temporary
30 bitmaps.
31
53743367
DM
322006-08-01 Dirk Mueller <dmueller@suse.de>
33
34 * tree-vrp.c (fix_equivalence_set): Avoid bitmap memory leak.
35
73e9d512
VR
362006-07-31 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
37
38 * Makefile.in: Revert part of previous patch:
39 Replace $(VARRAY_H) by varray.h in definition of BASIC_BLOCK_H
40 and REGS_H.
41
1ccbef77
EC
422006-07-30 Eric Christopher <echristo@apple.com>
43
44 PR target/27543
45 * doc/extend.texi (i386 Variable Attributes): Add anchor.
46 (PowerPC Variable Attributes): New section.
47
56ee081b
AN
482006-07-30 Atsushi Nemoto <anemo@mba.ocn.ne.jp>
49
50 PR target/28126 (partial fix)
51 * config/mips/mips.md (tls_get_tp_<mode>): Set can_delay to no.
52
370adb7b
JH
532006-07-28 Jan Hubicka <jh@suse.cz>
54
55 PR rtl-optimization/28071
56 * cfgrtl.c (rtl_delete_block): Free regsets.
57 * flow.c (allocate_bb_life_data): Re-use regsets if available.
58
48779194
VR
592006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
60
61 * Makefile.in: Use $(HEADER_H) instead of header.h in dependencies
62 and variables used in dependencies.
63
fa6adcab
AV
642006-07-27 Arjan van de Ven <arjan@linux.intel.com>
65
66 * config/i386/i386.md (stack_tls_protect_set_di) Use %gs rather than
67 %fs for -mcmodel=kernel.
68 (stack_tls_protect_test_di): Likewise.
69
ab7efd91
CD
702006-07-27 Carlos O'Donell <carlos@codesourcery.com>
71
72 * Makefile.in: Use mkinstalldirs.
73
faa88843
L
742006-07-27 H.J. Lu <hongjiu.lu@intel.com>
75
76 PR driver/28437
77 * opts-common.c (prune_options): Skip joined switches.
78
96d0cc81
JH
792006-07-27 Jan Hubicka <jh@suse.cz>
80
81 PR rtl-optimization/28071
82 * cselib.c (cselib_process_insn): Don't remove useless values too
83 often for very large hashtables.
84
69bfd3c9
JH
852006-07-27 Jan Hubicka <jh@suse.cz>
86
87 PR rtl-optimization/28071
88 * global.c (greg_obstack): New obstack.
89 (allocate_bb_info): Use it.
90 (free_bb_info): Likewise.
91 (modify_reg_pav): Likewise.
92
482c6ce8
RS
932006-07-27 Roger Sayle <roger@eyesopen.com>
94
95 * builtins.c (fold_fixed_mathfn): When long and long long are the
96 same size, canonicalize llceil*, llfloor*, llround* and llrint*
97 functions to their lceil*, lfloor*, lround* and lrint* forms.
98
721cedf2
KI
992006-07-27 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
100
101 PR gcc/28508
102 * config/m32r/m32r.md (branch_insn): Reduce pc range for short
103 branch.
104 (rev_branch_insn): Likewise.
105
65d169d9
JH
1062006-07-27 Jan Hubicka <jh@suse.cz>
107
108 PR rtl-optimization/28071
109 * regmove.c (reg_is_remote_constant_p): Avoid quadratic behaviour.
110 (reg_set_in_bb, max_reg_computed): New static variables.
111 (regmove_optimize): Free the new array.
112 (fixup_match_1): Update call of reg_is_remote_constant_p.
113
96fc428c
JH
1142006-07-26 Jan Hubicka <jh@suse.cz>
115
116 PR tree-optimization/27882
117 * cgraph.c (cgraph_remove_node): Clear needed, reachable, next, previous
118 and decl fields.
119 * cgraphunit.c (cgraph_reset_node): Expect cgraph_remove_node to kill
120 next pointer
121 (cgraph_analyze_compilation_unit): Likewise.
122 * ipa.c (cgraph_remove_unreachable_nodes): Likewise.
123 * ipa-inline.c (cgraph_decide_recursive_inlining): Likewise.
124 (cgraph_early_inlinine): Make order garbage collected.
125 * Makefile.in (gt-ipa-inline): New garbagecollected file.
126
88c4be5e
DJ
1272006-07-26 Daniel Jacobowitz <dan@codesourcery.com>
128
129 * dbxout.c (output_types_sort): Add a comment.
130 (output_used_types): Free the VEC.
131
51b7d006
DJ
1322006-07-26 Daniel Jacobowitz <dan@codesourcery.com>
133
134 * function.c (reorder_fix_fragments): Delete.
135 (reorder_blocks): Don't call it.
136 (reorder_blocks_1): Put all subblocks under the origin block.
137
e69e3d0e
ZD
1382006-07-26 Zdenek Dvorak <dvorakz@suse.cz>
139
140 PR rtl-optimization/27907
141 * expr.c (force_operand): Use convert_move to handle FLOAT_EXTEND and
142 FLOAT_TRUNCATE.
143
738764ef
RS
1442006-07-25 Roger Sayle <roger@eyesopen.com>
145
146 PR middle-end/28473
147 * convert.c (convert_to_integer): When transforming (T)foo(x) into
148 bar(x) check that bar's result type can represent all the values of T.
149
cdc30c45
ZD
1502006-07-25 Zdenek Dvorak <dvorakz@suse.cz>
151
152 * tree-chrec.c (chrec_convert_aggressive): Return NULL on failure.
153
6583cf15
NC
1542006-07-25 Nick Clifton <nickc@redhat.com>
155
156 * ggc-page.c (NUM_SIZE_LOOKUP): New constant - the length of the
157 size_lookup[] array.
158 (ggc_alloc_stat): Use NUM_SIZE_LOOKUP.
159 (ggc_pch_count_object): Likewise.
160 (ggc_pch_alloc_object): Likewise.
161 (ggc_pch_write_object): Likewise.
162 (init_ggc): Do not attempt to initialize entries in the
163 size_lookup[] array for objects whose size is greater than than
164 the length of the array.
165
2daec0f0
DJ
1662006-07-25 Daniel Jacobowitz <dan@codesourcery.com>
167
168 * dbxout.c (output_used_types_helper): Push queued types
169 on a VEC.
170 (output_types_sort): New.
171 (output_used_types): Collect used types on a VEC and sort them
172 before emission.
173
63c2d00c
RG
1742006-07-24 Richard Guenther <rguenther@suse.de>
175
176 PR middle-end/28463
177 * cgraph.c (cgraph_remove_node): Do not check if dumps
178 are enabled.
179 * cgraphunit.c (cgraph_optimize): Likewise.
180
597ae074
JH
1812006-07-24 Jan Hubicka <jh@suse.cz>
182
183 PR rtl-optimization/28071
184 * tree-cfg.c (tree_split_block): Do not allocate new stmt_list nodes.
185 * tree-iterator.c (tsi_split_statement_list_before): Do not crash when
186 splitting before first stmt.
187
f10d1a74
JH
1882006-07-24 Jan Hubicka <jh@suse.cz>
189
190 PR rtl-optimization/28071
191 * ipa-inline.c (update_caller_keys): Remove edges that
192 are no longer inline candidates.
193
f629051e
DJ
1942006-07-23 Daniel Jacobowitz <dan@codesourcery.com>
195
196 PR debug/27473
197 * dbxout.c (output_used_types_helper, output_used_types): New.
198 (dbxout_symbol): Call output_used_types.
199
386b46cf
JH
2002006-07-23 Jan Hubicka <jh@suse.cz>
201
202 PR c/25795
203 PR c++/27369
204 * cgraph.c (cgraph_varpool_nodes): Export.
205 (decide_is_variable_needed): Ignored "used" attribute in
206 unit-at-a-time mode.
207 * cgraph.h (cgraph_varpool_nodes): Declare.
208 * cgraphunit.c (decide_is_function_needed): Ignored "used" attribute in
209 unit-at-a-time mode.
210
74e55d0f
RS
2112006-07-23 Roger Sayle <roger@eyesopen.com>
212
213 PR target/28247
214 * gthr-solaris.h: Prototype __gthrw forms of thr_self, mutex_init and
215 mutex_destroy even when !_LIBOOBJC. Remove duplicate prototype of
216 the __gthrw form of thr_keycreate.
217 (__gthread_key_delete): Silence the unused argument warning.
218
d88259d1
SB
2192006-07-23 Steven Bosscher <steven@gcc.gnu.org>
220
221 PR debug/25468
222 * config/elfos.h (ASM_OUTPUT_ASCII): Remove 'register' marks.
223 Cache the last found '\0' marker to avoid quadratic behavior.
224
3dcdd4e4
JH
2252006-07-23 Jan Hubicka <jh@suse.cz>
226
227 * i386.md (subsi_3_zext): Fix output template.
228
dfb84d62
MS
2292006-07-21 Mike Stump <mrs@apple.com>
230
231 * doc/invoke.texi (C++ Dialect Options): Note that
232 -fvisibility-inlines-hidden doesn't affect explicitly
233 instantiationed inline methods.
234
79387e57
RS
2352006-07-20 Roger Sayle <roger@eyesopen.com>
236
237 * config.gcc (i[34567]86-*-solaris2*): Add usegas.h to $tm_file
238 if the target assembler is GNU binutils' gas.
239 * config/i386/sol2-10.h (ASM_SPEC): Check USE_GAS to determine
240 whether to pass GNU gas or native as command line options.
241
b70f0f48
JM
2422006-07-20 Jason Merrill <jason@redhat.com>
243
244 * tree.c (remove_attribute): New fn.
bd741f34 245 * tree.h: Declare it.
b70f0f48 246
05c433f3
PB
2472006-07-20 Paul Brook <paul@codesourcery.com>
248
249 PR 27363
250 * cse.c (cse_insn): Add destination addresses to hash table. Check if
251 they are invalidated by this instruction.
252
b0e46dff
DS
2532006-07-21 Danny Smith <dannysmith@users.sourceforge.net>
254
255 PR target/28427
256 * config/i386/cygming.h (MAX_OFILE_ALIGNMENT): Define.
257
1cba2b96
EC
2582006-07-20 Eric Christopher <echristo@apple.com>
259
260 PR target/26877
261 * config/i386/i386.h (OPTION_DEFAULT_SPECS): Reorder.
262
96f342c1
EC
2632006-07-19 Eric Christopher <echristo@apple.com>
264
265 * config/t-slibgcc-darwin (stmp-lipo): Remove.
266 Rewrite dependencies for libgcc_s.1.dylib.
267
4841d432
JJ
2682006-07-19 Jakub Jelinek <jakub@redhat.com>
269
270 * except.c (duplicate_eh_regions_1): Clear next_peer.
271
87c365a4
NS
2722006-07-17 Nathan Sidwell <nathan@codesourcery.com>
273
274 * doc/invoke.texi (RS/6000 and PowerPC Options): Document that
275 -mlongcall does not guarantee all calls will be long.
276 * doc/extend.texi (long_call/short_call): Document that longcall
277 does not guarantee a long call will be used.
278 (longcall/shortcall): Likewise.
279
cb2eb96f
RS
2802006-07-18 Roger Sayle <roger@eyesopen.com>
281
282 PR middle-end/28283
283 * expmed.c (expand_shift): Additionally check that the shift_cost
284 is not MAX_COST and that INTVAL(op1) is less than MAX_BITS_PER_WORD
285 before implementing a LSHIFT_EXPR as a sequence of additions.
286 * config/sh/sh.c (shift_costs): Return MAX_COST to inform the
287 middle-end that DImode shifts need to be synthesized by expand.
288
548a6c6d
DN
2892006-07-18 Diego Novillo <dnovillo@redhat.com>
290
291 PR 28410
292 * tree-ssa-operands.c (access_can_touch_variable): Update
293 comment.
294 Return true if ALIAS is .GLOBAL_VAR.
295
b3cccd58
DD
2962006-07-18 David Daney <ddaney@avtrex.com>
297
298 * gcc.c (display_help): Fix typo in help text.
299
fe24d485
OH
3002006-07-18 Olivier Hainque <hainque@adacore.com>
301
302 * tree.h (categorize_ctor_elements): Adjust prototype and add
303 descriptive comment, both in accordance with the interface change
304 described below.
305 * varasm.c (constructor_static_from_elts_p): New function.
306 Whether a constructor node is a valid static constant initializer
307 if all its elements are.
308 (initializer_constant_valid_p) <CONSTRUCTOR value>: Use it.
96f342c1 309 * output.h: Declare it.
fe24d485
OH
310 * expr.c (categorize_ctor_elements_1): Return whether the constructor
311 is a valid constant initializer instead of computing the number of
312 non-constant elements. Use constructor_static_from_elts_p for this
313 purpose. Replace the head comment with an indication that this is a
314 helper for categorize_ctor_elements.
315 (categorize_ctor_elements): Same interface change as for the _1
316 helper. Former head comment from this helper moved here, adjusted to
317 account for the interface changes.
318 (mostly_zeros_p): Adjust call to categorize_ctor_elements.
96f342c1 319 (all_zeros_p): Likewise.
fe24d485
OH
320 * gimplify.c (gimplify_init_constructor): Decide whether we can make
321 static versions of the constructor from the categorize_ctor_elements
322 return value instead of the formerly computed number of non-constant
323 elements.
324
57255173
PB
3252006-07-18 Paolo Bonzini <bonzini@gnu.org>
326
327 * configure: Regenerate.
328 * Makefile.in (build_libsubdir): New configure substitution
329 (build_libobjdir): New variable.
330 (BUILD_LIBIBERTY): Use it.
331
12050e44
VR
3322006-07-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
333
334 PR c/28286
335 * c-pragma.c (handle_pragma_pack): Handle invalid constants.
336
e1cf56b1
AO
3372006-07-18 Alexandre Oliva <aoliva@redhat.com>
338
339 PR c/26993
340 * c-common.c (handle_weakref_attribute): Ignore attribute in
341 the same conditions the alias attribute is ignored.
342
e098f3a5
CD
3432006-07-17 Carlos O'Donell <carlos@codesourcery.com>
344
345 * dbxout.c (dbxout_function_end): Do not increment scope_labelno.
346 (dbxout_begin_prologue): Increment scope_labelno.
347
8bcbc000
RH
3482006-07-17 Richard Henderson <rth@redhat.com>
349
350 PR 27889
351 * tree-nested.c (create_tmp_var_for): Set DECL_COMPLEX_GIMPLE_REG_P
352 if needed.
353
4f5afe7d
RS
3542006-07-17 Roger Sayle <roger@eyesopen.com>
355 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
356
357 * config/i386/gmon-sol2.c: Silence compilation warnings by partially
358 synchronizing code with config/sparc/gmon-sol2.c. Remove #if 0
359 blocks. #include "tconfig.h" and "tsystem.h" to prototype system
360 functions such as sbrk, write, etc.. Add function prototypes.
361 Convert function declarations from K&R to ISO C. Cast pointers
362 to "long" and "unsigned long" instead of "int" and "unsigned int".
363 Convert tokens following #endif into comments.
364
dc5abe77
TM
3652006-07-17 Toon Moene <toon@moene.indiv.nluug.nl>
366
367 * invoke.texi: Remove mention of f77; Reformat table for
368 inline parameter options correctly; mention that -malign-double
369 is default on x86-64 targets.
370
64a7ab5f
ZD
3712006-07-17 Zdenek Dvorak <dvorakz@suse.cz>
372
373 * tree-chrec.c (avoid_arithmetics_in_type_p): New.
374 (convert_affine_scev, chrec_convert_aggressive): Use
375 avoid_arithmetics_in_type_p. Do not check for the subtypes
376 separately.
377
2763a67e
RS
3782006-07-17 Richard Sandiford <richard@codesourcery.com>
379
380 PR middle-end/28403
381 * optabs.c (expand_doubleword_shift): Wrap the call to
382 do_compare_rtx_and_jump with NO_DEFER_POP and OK_DEFER_POP.
383
f8bdb931
RS
3842006-07-17 Richard Sandiford <richard@codesourcery.com>
385
386 PR middle-end/28402
387 * optabs.c (expand_binop): Pass next_methods rather than methods
388 to expand_doubleword_shift.
389
24a7799e
R
3902006-07-17 J"orn Rennecke <joern.rennecke@st.com>
391
392 PR other/28251
393 * tree.h (dump_addr): Declare.
394 * print-tree.c (dump_addr): New function.
395 (print_node_brief, print_node): Use it.
396 * print-rtl.c (print_rtx): Likewise.
397 * common.opt (-fdump-noaddr): New option.
398 * doc/invoke.texi (-fdump-noaddr): Document.
399 * loop-unroll.c (si_info_hash): Make hash independent of addresses.
400 (ve_info_hash): Likewise.
401
9d335249
AH
4022006-07-13 Andrew Haley <aph@redhat.com>
403
404 PR tree-optimization/19505
405 * tree-cfgcleanup.c (tree_forwarder_block_p): If we have an EH
406 edge leaving this block, make sure that the destination of this
407 block has only one predecessor.
408
2b65dae5
RG
4092006-07-17 Richard Guenther <rguenther@suse.de>
410
411 PR tree-optimization/28238
412 * tree-inline.c (copy_bb): Check if we produced valid
413 gimple copying and substituting a stmt. If not, gimplify
414 it.
415
3e27aa84
EB
4162006-07-16 Eric Botcazou <ebotcazou@adacore.com>
417
418 * optabs.c (maybe_encapsulate_block): New function extracted from...
419 (emit_libcall_block): ...here. Invoke it on the block of insns to
420 maybe emit REG_LIBCALL/REG_RETVAL notes around the block.
421 (emit_no_conflict_block): Likewise.
422
bb2ffd7f
EB
4232006-07-16 Eric Botcazou <ebotcazou@libertysurf.fr>
424
c5ee132b 425 * doc/install.texi (sparc-sun-solaris2*): Add GMP version number.
bb2ffd7f 426
b0d5d5de
RS
4272006-07-15 Roger Sayle <roger@eyesopen.com>
428
429 * tree-gimple.c (is_gimple_stmt): Sink test of IS_EMPTY_STMT into
430 a new NOP_EXPR case of the switch statement.
431
72aeff7c
KK
4322006-07-15 Kaz Kojima <kkojima@gcc.gnu.org>
433
434 PR middle-end/28160
435 * stor-layout.c (place_field): Take the bit field with
436 an excessive size into account in the ms-bitfiled case.
437
438 PR middle-end/28161
439 * stor-layout.c (place_field): Use DECL_BIT_FIELD_TYPE of
440 the previous bit field.
441
27714d43
ED
4422006-07-14 Eliot Dresselhaus <eliot@sonic.net>
443
444 PR target/27287
445 * config/rs6000/spe.md (frob_di_df_2): Add m->r alternative.
446
47a4949a
UW
4472006-07-14 Ulrich Weigand <uweigand@de.ibm.com>
448
449 * config/s390/linux-unwind.h (s390_fallback_frame_state): Detect
450 signal frames correctly even when the signal was installed with
451 sa_restorer set.
452
1c1534e9 4532006-07-14 Carlos O'Donell <carlos@codesourcery.com>
03471b3f
CD
454
455 * dbxout.c (dbxout_begin_prologue): Emit LFBB label at function start.
96f342c1 456 (dbxout_function_end): Use local label LFBB. Remove hook
1c1534e9 457 DBX_OUTPUT_NFUN.
03471b3f
CD
458 (dbxout_source_line): Use local label LFBB.
459 (dbxout_block): Likewise.
460 (dbx_output_lbrac): Remove hook DBX_OUTPUT_LBRAC.
461 (dbx_output_rbrac): Remove hook DBX_OUTPUT_RBRAC.
462 * config/rs6000/linux64.h: Remove DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC,
463 and DBX_OUTPUT_NFUN.
464
263108e1
JJ
4652006-07-13 Janis Johnson <janis187@us.ibm.com>
466
467 * doc/sourcebuild.texi (Test Directives): Document dg-shouldfail.
468
88d03811
JH
4692006-07-13 Jan Hubicka <jh@suse.cz>
470
471 * cgraphunit.c (cgraph_varpool_analyze_pending_decls): Call
472 align_variable.
473 * output.h (align_variable): Declare.
474 * varasm.c (align_variable): Export.
475 * value-prof.c (tree_value_profile_transformations): Recompute iterator
476 when basic block changed.
477
6915d7f0
NC
4782006-07-13 Nick Clifton <nickc@redhat.com>
479
480 * config/sh/sh.c (sh_reorg): Ignore deleted insns whilst
481 walking the LOG_LINKS chain.
96f342c1 482
7c0de6a5
GK
4832006-07-12 Geoffrey Keating <geoffk@apple.com>
484
485 * doc/invoke.texi (C++ Dialect Options): Explain difference
486 between -fvisibility-inlines-hidden and setting hidden
487 visibility explicitly.
488
3fb8727b
EC
4892006-07-12 Eric Christopher <echristo@apple.com>
490
491 * config/t-slibgcc-darwin (SHLIB_LINK): Don't munge stmp-lipo.
492 (stmp-lipo): Depend on libgcc.a.
493
5f89204e
KH
4942006-07-12 Kazu Hirata <kazu@codesourcery.com>
495
496 * tree.c: Fix a comment typo.
497
8a01e7d9
N
4982006-07-12 Naveen.H.S <naveenh@kpitcummins.com>
499
3fb8727b 500 * config/m32c/muldiv.md (umulhisi3_c): Use only registers for
8a01e7d9
N
501 dest.
502 (umulhisi3_r): Likewise.
503
93e89068
PC
5042006-07-12 Paolo Carlini <pcarlini@suse.de>
505
506 PR libstdc++/27878
507 * doc/install.texi (mips-sgi-irix6): Add note about IRIX 6.5.x,
508 x < 19, vs wchar_t support.
509
45e49d96
NC
5102006-07-12 Nick Clifton <nickc@redhat.com>
511
512 * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Use -isa=sh4-up
513 instead of -isa=sh4.
514
f2702694
MS
5152006-07-12 Mike Stump <mrs@apple.com>
516
517 * protoize.c (edit_fn_definition): Add volatile to clean_text_p.
518
fb49f596
EC
5192006-07-10 Eric Christopher <echristo@apple.com>
520
521 * config/t-slibgcc-darwin: Rewrite.
522
b24f7f6b
LB
5232006-07-10 Laurynas Biveinis <laurynas.biveinis@gmail.com>
524
525 PR bootstrap/20437
526 * Makefile.in (configure): add missing aclocal.m4 and acinclude.m4
527 dependencies.
528
0ee5ccdf
MK
5292006-07-08 Matthias Klose <doko@debian.org>
530
531 * doc/sourcebuild.texi: Fix typo.
532
72d41343
MS
5332006-07-07 Mike Stump <mrs@apple.com>
534
535 * toplev.c (process_options): Don't give -ffunction-sections may
536 affect debugging warning for Mach-O.
537
c81d6e2a
JW
5382006-07-07 James E Wilson <wilson@specifix.com>
539
540 * config/mips/mips.md (cpu): Add sb1a.
541 * config/mips/sb1.md: Modify almost all patterns to accept sb1a in
542 addition to sb1. Adjust comments to clarify SB-1A differences from
543 SB-1.
544 (ir_sb1a_load): New. Modify bypasses to use it.
545 (ir_sb1a_simple_alu): Likewise.
546 * config/mips/mips.c (mips_cpu_info_table): Add sb1a.
547 (mips_rtx_cost_data): Add PROCESSOR_SB1A support.
548 (mips_issue_rate): Add PROCESSOR_SB1A.
549 (mips_multipass_dfa_lookahead): Use TUNE_SB1 instead of PROCESSOR_SB1.
550 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1A.
551 (TARGET_SB1): Add PROCESSOR_SB1A check.
552 (TUNE_SB1): Likewise.
553
554 * config/mips/mips-protos.h (mips_store_data_bypass_p): New.
555 * config/mips/mips.c (mips_store_data_bypass_p): New.
556 * config/mips/sb1.md: Use mips_store_data_bypass_p instead of
557 store_data_bypass_p.
558
1b13a490
PB
5592006-07-08 Paul Brook <paul@codesourcery.com>
560
561 PR target/27991
562 * config/m68k/m68k.md: Add r-m patterns for 68881 movxf.
563
bfabddb6
RG
5642006-07-07 Richard Guenther <rguenther@suse.de>
565
566 PR middle-end/28268
567 * tree.h (build_one_cst): Declare.
568 * tree.c (build_one_cst): New function.
569 * tree-ssa-math-opts.c (get_constant_one): Remove.
570 (insert_reciprocals): Use build_one_cst.
571 * fold-const.c (fold_plusminus_mult): Likewise.
572
83f676b3
RS
5732006-07-07 Roger Sayle <roger@eyesopen.com>
574
575 * pointer-set.c (pointer_set_destroy): Correct whitespace.
576 * cfgloopanal.c (dump_graph): Likewise.
577 * dojump.c (discard_pending_stack_adjust): Likewise.
578 * fix-header.c (TARGET_EXTRA_INCLUDE, TARGET_EXTRA_PRE_INCLUDES):
579 Likewise.
580 * alloc-pool.c (dump_alloc_pool_statistics): Likewise.
581 * function.c (finalize_block_changes): Likewise.
582 * gcc-common.c (ggc_free_overhead, dump_gcc_loc_statistics): Likewise.
583 * tree-ssa-dce.c (clear_control_dependence_bitmap): Likewise.
584 * rtl.c (dump_rtx_statistics): Likewise.
fb49f596 585 * tree-ssa-structalias.c (sort_fieldstack, init_alias_heapvars):
83f676b3
RS
586 Likewise.
587 * varray.c (dump_varray_statistics): Likewise.
588 * dfp.c (encode_decimal32, decode_decimal32, encode_decimal64,
589 decode_decimal64, encode_decimal128, decode_decimal128,
590 decimal_real_to_decimal): Likewise.
591
1ce35d26
RG
5922006-07-07 Richard Guenther <rguenther@suse.de>
593
594 PR tree-optimization/28187
595 * tree-vrp.c (vrp_operand_equal_p): New function.
596 (vrp_bitmap_equal_p): Likewise.
597 (update_value_range): Use them to compare old and new
598 max and min values.
599
9e33de05
RS
6002006-07-06 Roger Sayle <roger@eyesopen.com>
601
602 * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Add
603 a default case to switch statement to silence compiler warnings.
604
b6c03bcd
RS
6052006-07-06 Roger Sayle <roger@eyesopen.com>
606
607 PR target/27968
fb49f596 608 * configure.ac (HAVE_AS_IX86_FFREEP): On x86 targets check whether
b6c03bcd
RS
609 the configured assembler supports the x87's ffreep mnemonic.
610 * configure: Regenerate.
611 * config.in: Regenerate.
612
613 * config/i386/i386.c (output_387_ffreep): New function.
614 (output_fp_compare): Use output_387_ffreep to emit ffreep insns.
615 (output_387_reg_move): Likewise.
616
27b56ba6
PE
6172006-07-06 Paul Eggert <eggert@cs.ucla.edu>
618
619 Port to hosts whose 'sort' and 'tail' implementations
620 treat operands with leading '+' as file names, as POSIX
621 has required since 2001. However, make sure the code still
622 works on pre-POSIX hosts.
623 * Makefile.in (slowcompare): Port to POSIX 1003.1-2001,
624 which says you should use "tail -c +N" rather than "tail +Nc".
625 Fix a bug: the old code incorrectly skipped 15 bytes, not 16.
626
525dc87d
ZD
6272006-07-06 Zdenek Dvorak <dvorakz@suse.cz>
628
b6c03bcd
RS
629 * tree-ssa-loop-niter.c (scev_probably_wraps_p): Fix typo in
630 argument name.
525dc87d 631
429ec7dc
DE
6322006-07-06 David Edelsohn <edelsohn@gnu.org>
633
634 PR target/28150
635 * config/rs6000/rs6000.c (rs6000_legitimate_address): Do not allow
636 PRE_{INC,DEC} of TFmode.
637
6382006-07-06 David Edelsohn <edelsohn@gnu.org>
639 Alan Modra <amodra@bigpond.net.au>
640
641 PR target/28170
642 * config/rs6000/rs6000.c (insvdi_rshift_rlwimi_p): Correct shiftop
643 bounds. Simplify.
644
cec12c7a
RO
6452006-07-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
646
647 PR target/28285
648 * config/alpha/predicates.md (alpha_swapped_comparison_operator):
649 Remove duplicate gtu.
650
1937f939
JM
6512006-07-05 Jason Merrill <jason@redhat.com>
652
653 PR c++/13983
654 PR c++/17519
655 * stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants.
656 * c-common.c (handle_packed_attribute): So don't copy it here.
657 * c-decl.c (finish_struct): Don't copy TYPE_ALIGN.
658
63b08b60
MS
6592006-07-05 Mike Stump <mrs@apple.com>
660
661 * doc/invoke.texi (Invoking G++): Clarify prose for g++.
662
28a026d9
L
6632006-07-05 H.J. Lu <hongjiu.lu@intel.com>
664
665 PR target/26146
666 * config.gcc: Check with_cpu for i[34567]86--*-solaris2.1[0-9]*.
667
dc8f5205
RG
6682006-07-05 Richard Guenther <rguenther@suse.de>
669
670 PR target/28158
671 * config/i386/i386.md (*negdf2_1): Restrict pattern to
672 TARGET_SSE2 targets if using SSE math.
673 (*absdf2_1): Likewise.
674
30a843c3
RG
6752006-07-05 Richard Guenther <rguenther@suse.de>
676
677 PR tree-optimization/28162
678 * fold-const.c (fold_binary): For (-A) * (-B) -> A * B
679 make sure to convert the operands to the correct type.
680
d898f3ce
PB
6812006-07-04 Paolo Bonzini <bonzini@gnu.org>
682
683 PR tree-optimization/28218
684
685 * tree-ssa-math-opts.c (execute_cse_reciprocals): Fix calls
686 to calculate and free the dominator information.
fb49f596 687
706601d9
PG
6882006-07-04 Peter O'Gorman <peter@pogma.com>
689
690 * mklibgcc.in: chmod 644 before ranlib during install.
691
dbc02e7f
AS
6922006-07-04 Andrew Stubbs <andrew.stubbs@st.com>
693 J"orn Rennecke <joern.rennecke@st.com>
694
695 * configure.ac (.eh_frame data check): Use diff -b.
696
0b50988a
EB
6972006-07-04 Eric Botcazou <ebotcazou@libertysurf.fr>
698
699 PR bootstrap/18058
700 * Makefile.in (BUILD_RTL): Add build/vec.o.
701 (build/gencondmd.o): Filter out -fkeep-inline-functions.
702 (build/genextract): Delete.
703 (build/genautomata): Likewise.
704
84e9ad15
AM
7052006-07-04 Alan Modra <amodra@bigpond.net.au>
706
707 PR target/28207
708 * config/rs6000/rs6000.c (function_arg_boundary): Double-word align
709 128-bit IBM long doubles for ABI_V4.
710
11fc4275
EB
7112006-07-03 Eric Botcazou <ebotcazou@adacore.com>
712
713 * tree.c (range_in_array_bounds_p): New predicate.
714 * tree.h (range_in_array_bounds_p): Declare it.
715 * tree-eh.c (tree_could_trap_p) <ARRAY_RANGE_REF>: Use it to
716 return a less conservative answer.
717 * tree-sra.c (struct sra_elt): Add new pointer field 'groups'
718 and flag 'is_group'.
719 (IS_ELEMENT_FOR_GROUP): New macro.
720 (FOR_EACH_ACTUAL_CHILD): Likewise.
721 (next_child_for_group): New helper function.
722 (can_completely_scalarize_p): Take into account groups.
723 (sra_hash_tree): Handle RANGE_EXPR.
724 (sra_elt_eq): Likewise.
725 (lookup_element): Be prepared for handling groups.
726 (is_valid_const_index): Delete.
727 (maybe_lookup_element_for_expr) <ARRAY_REF>: Use in_array_bounds_p
728 instead of is_valid_const_index.
729 <ARRAY_RANGE_REF>: New case.
730 (sra_walk_expr) <ARRAY_REF>: Use in_array_bounds_p instead of
731 is_valid_const_index.
732 <ARRAY_RANGE_REF>: Do not unconditionally punt.
733 (scan_dump): Dump info for groups too.
734 (decide_instantiation_1): Likewise.
735 (decide_block_copy): Assert that the element is not a group.
736 Propagate decision to groups.
737 (generate_one_element_ref): Handle RANGE_EXPR.
738 (mark_no_warning): Iterate over actual childs.
739 (generate_copy_inout): Likewise.
740 (generate_element_copy): Likewise.
741 (generate_element_zero): Likewise.
742 (generate_element_init_1): Likewise.
743 (dump_sra_elt_name): Handle RANGE_EXPR.
744
31a9760a
RS
7452006-07-03 Roger Sayle <roger@eyesopen.com>
746
747 PR tree-optimization/26251
748 * tree-ssa-threadupdate.c (redirection_block_p): New function.
749 (thread_block): When optimizing for size refuse to thread jumps
750 that would require duplication of blocks other than redirection
751 blocks.
752
b6348cb3
PB
7532006-07-03 Paolo Bonzini <bonzini@gnu.org>
754
755 * configure.ac: Fix thinko in previous check-in.
756 * configure: Regenerate.
757
1546bb64
PB
7582006-07-03 Paolo Bonzini <bonzini@gnu.org>
759
760 PR other/27063
761 * configure.ac (for lang...): Simplify nesting of conditionals.
762 Test subdir_requires for non-enabled languages. Move processing
763 of lang_opt_files and lang_tree_fiels below that test.
764 * configure: Regenerate.
765 * doc/sourcebuild.texi (Front End Config): Document subdir_requires.
766
3e72a66f
MM
7672006-07-01 Martin Michlmayr <tbm@cyrius.com>
768
769 * doc/gcov.texi (Invoking Gcov): Add a missing word.
770
2a8a8292
KH
7712006-06-30 Kazu Hirata <kazu@codesourcery.com>
772
773 * cfgexpand.c, config/i386/i386.c, genpreds.c, tree-cfg.c: Fix
774 comment typos.
775
b9e75696
JM
7762006-06-29 Jason Merrill <jason@redhat.com>
777
778 PR c++/26905
779 PR c++/26612
780 PR c++/27000
781 PR c++/26984
782 PR c++/19134
783 * tree.c (build_decl_stat): Don't hande #pragma visibility here.
784 * c-common.c (c_determine_visibility): Handle it here.
fb49f596 785 * c-decl.c (finish_decl): Call c_determine_visibility for
b9e75696
JM
786 functions, too.
787 * flags.h (enum symbol_visibility): Sort from most to least visibility.
788 * tree.h: Likewise.
789 * varasm.c (default_assemble_visibility): Likewise.
790 * c-common.c (handle_visibility_attribute): Complain about trying
791 to give visibility to an already defined class, or trying to change
792 declared visibility. Always attach the attribute.
793
794 PR c++/26905
795 PR c++/21675
796 PR c++/17470
797 * attribs.c (decl_attributes): Ignore type-in-place attributes
798 once the type has been defined.
799
8646f3df
RS
8002006-06-29 Roger Sayle <roger@eyesopen.com>
801
802 PR middle-end/27428
803 * c-lex.c (c_lex_with_flags) <CPP_N_INVALID>: Increment errorcount
804 to indicate the cpplib has issued an error message for us.
805
f8c2645c
AL
8062006-06-29 Asher Langton <langton2@llnl.gov>
807
808 PR target/25765
809 * config/i386/i386.c (ix86_output_function_epilogue): Don't
810 insert a label at the end of an function under Mach-O.
fb49f596 811
5656a184
EC
8122006-06-29 Eric Christopher <echristo@apple.com>
813 Evan Cheng <evan.cheng@apple.com>
814
815 * predicates.md (vector_all_ones_operand): New.
816 (nonimmediate_or_sse_const_operand): Ditto.
817 * config/i386/i386-protos.h (standard_sse_constant_opcode): Declare.
818 * config/i386/i386.c (standard_sse_constant_opcode): Define.
819 (standard_sse_mode_p): Ditto.
820 (standard_sse_constant_p): Add case for -1 vector.
821 (ix86_expand_vector_move): Try to use.
822 * sse.md (*mov<mode>_internal): Use nonimmediate_or_sse_const_operand.
823 Call standard_sse_constant_opcode.
824 (*movv4sf_internal): Ditto.
825 (*movv2df_internal): Ditto.
826
c8d560fa
RS
8272006-06-29 Roger Sayle <roger@eyesopen.com>
828
829 * genpreds.c (write_match_code_switch): Correctly use XSTR instead
830 of XEXP to extract the operands of a MATCH_CODE rtx.
831
43b50eb2
AP
8322006-06-28 Andrew Pinski <pinskia@gmail.com>
833
834 * tree.c (tree_size): Do not waste tail padding in
835 struct tree_string and make the size be the same as
836 build_string will generate.
837
99495729
JM
8382006-06-28 Jason Merrill <jason@redhat.com>
839
840 PR c++/27768
841 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add
842 may_aliases already in the tag's annotations to the bitmap.
843
8547c7f8
RS
8442006-06-28 Roger Sayle <roger@eyesopen.com>
845
846 * genpreds.c (write_predicate_stmts) <IOR>: Add missing break.
847
7caf6734
RS
8482006-06-28 Roger Sayle <roger@eyesopen.com>
849
850 * genpreds.c (generate_switch_p): New function.
851 (add_mode_tests): Push the new mode test down inside an AND expr
852 if this allows the switch-suitable MATCH_CODE to be near the root.
853 (write_match_code_switch): New function to write a MATCH_CODE as
854 a switch statement.
855 (write_predicate_stmts): New function to write a predicate RTX
856 expression as a sequence of statements.
857 (write_one_predicate_function): Use write_predicate_stmts.
858 (write_tm_constrs_h): Likewise.
859
f340b6fc
FF
8602006-06-26 Fred Fish <fnf@specifix.com>
861
862 * config/mips/t-sb1: New file.
863 * config.gcc (mipsisa64sb1-*-elf*): Add mips/t-sb1 to
864 tmake_file list.
865
ff485e71
DD
8662006-06-26 DJ Delorie <dj@redhat.com>
867
868 * config/m32c/m32c.c (m32c_print_operand): Fix sign-merging logic.
869
8702006-06-26 Naveen H.S <naveenh@kpitcummins.com>
871 Jayant Sonar <jayants@kpitcummins.com>
872 Jaydeep Vipradas <jaydeepv@kpitcummins.com>
873
874 * config/m32c/addsub.md (addsi3, addsi3_1, addsi3_2): New.
875 (subsi3, subsi3_1, subsi3_2): New.
876 * config/m32c/bitops.md (andsi3, iorsi3, xorsi3): New.
877 * config/m32c/mov.md (SI mov peephole): New.
878 * config/m32c/m32.c (m32c_immd_dbl_mov): New.
879 * config/m32c/m32c-protos.h (m32c_immd_dbl_mov): New.
5656a184 880
500c353d
OH
8812006-06-26 Olivier Hainque <hainque@adacore.com>
882
883 * function.c (aggregate_value_p): Honor DECL_BY_REFERENCE on
884 a CALL_EXPR target function declaration.
885
28df01ac
RG
8862006-06-26 Richard Guenther <rguenther@suse.de>
887
888 * tree.c (build_string): Do not waste tail padding in
889 struct tree_string.
890
a469a4f2
RG
8912006-06-26 Richard Guenther <rguenther@suse.de>
892
893 * ggc-page.c (init_ggc): Add missing element to size_lookup
894 table.
895
896 Revert
897 2006-06-23 Richard Guenther <rguenther@suse.de>
898
899 * ggc-page.c (init_ggc): Do not round up the extra_order_size_table
900 sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour
901 alignment requests instead. Add verification code.
902 Add struct tree_function_decl and struct tree_binfo size to
903 extra_order_size_table. Add missing element to size_lookup
904 table.
905
858214db
EB
9062006-06-25 Eric Botcazou <ebotcazou@adacore.com>
907
908 PR middle-end/28151
909 * fold-const.c (const_binop): Be prepared for self returning zero.
910 Simplify code handling complex values.
911
61c25908
OH
9122006-06-24 Olivier Hainque <hainque@adacore.com>
913
914 * gimplify.c (gimplify_scalar_mode_aggregate_compare): New function.
915 (gimplify_expr): Use it for tcc_comparison of operands of non BLKmode
916 aggregate types.
917
9182006-06-24 Olivier Hainque <hainque@adacore.com>
919
920 * tree-ssa-loop-im.c (for_each_index): Handle ARRAY_RANGE_REF as
921 ARRAY_REF, so have the callback called for the low bound expression.
922
5fc89bfd
JJ
9232006-06-23 Janis Johnson <janis187@us.ibm.com>
924
925 * tree.h (DECIMAL_FLOAT_TYPE_P): New.
926 * c-typeck.c (c_common_type): Disallow operations on decimal float
927 types and other float types.
928 * convert.c (convert_to_real): Don't ignore conversions involving
929 decimal float types.
930
a441447f
OH
9312006-06-23 Olivier Hainque <hainque@adacore.com>
932
933 * tree.c (max_int_size_in_bytes): New function, inspired from
934 code in function.c:assign_temp.
935 * tree.h (max_int_size_in_bytes): Declare.
936 * function.c (assign_temp): Use it.
937 * gimplify.c (create_tmp_var): Relax the assertions on the type
938 properties, not mandating constant size any more.
939 (force_constant_size): New static function.
940 (gimple_add_tmp_var): Use it, forcing variable size to a
941 constant upper bound if it is not constant on entry.
942
4e2bb0a4
DS
9432006-06-23 Danny Smith <dannysmith@users.sourceforge.net>
944
945 PR target/27789
946 * config/i386/winnt.c (ix86_handle_selectany_attribute): Move check
947 for initialization and setting of one_only flag to ...
948 (i386_pe_encode_section_info): ...here.
949 (i386_pe_dllimport_p): Check for DECL_DLLIMPORT_P also.
950 Recheck that the symbol has not been defined.
951
ecf7b86f
RG
9522006-06-23 Richard Guenther <rguenther@suse.de>
953
954 * ggc-page.c (init_ggc): Do not round up the extra_order_size_table
955 sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour
956 alignment requests instead. Add verification code.
957 Add struct tree_function_decl and struct tree_binfo size to
958 extra_order_size_table. Add missing element to size_lookup
959 table.
960
e577c8c0
RS
9612006-06-22 Roger Sayle <roger@eyesopen.com>
962 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
963
964 PR middle-end/28131
965 * expr.c (expand_expr_real_1) <VECTOR_CST>: Check whether the
966 call to lang_hooks.types.type_for_mode returned NULL_TREE.
967
f64ad1d3
BE
9682006-06-23 Ben Elliston <bje@au.ibm.com>
969
970 * dfp.c (decimal_to_decnumber): Do not use decNumberNegate to
971 negate dn -- manipulate it directly.
972
8c339083
RS
9732006-06-22 Roger Sayle <roger@eyesopen.com>
974 Steven Bosscher <stevenb.gcc@gmail.com>
975
976 PR target/27531
977 * reload1.c (gen_reload): Call mark_jump_label on the new insns
978 generated by gen_move_insn to add REG_LABEL notes if necessary.
979
03c8b1be
BW
9802006-06-22 Bob Wilson <bob.wilson@acm.org>
981
982 * config/xtensa/lib1funcs.asm (MIN_ESA): Delete.
983 (leaf_entry): Remove use of MIN_ESA.
984
0ef90296
ZD
9852006-06-22 Zdenek Dvorak <dvorakz@suse.cz>
986
987 PR rtl-optimization/28121
988 * cfgexpand.c (tree_expand_cfg): Clean EDGE_EXECUTABLE flag from
989 the entry edge.
990
a1ec220c
DD
9912006-06-21 DJ Delorie <dj@redhat.com>
992
993 * config/m32c/muldiv.md (mulhisi3_i): Only use registers for dest
994 (TN-16C-A156A/E).
995 (mulhisi3_r): Likewise.
996
35fa8915
RS
9972006-06-21 Richard Sandiford <richard@codesourcery.com>
998
999 PR middle-end/28034
1000 * coverage.c (coverage_counter_alloc): Leave the index type
1001 unspecified.
1002 (coverage_counter_alloc): Use null arguments for operands 2 and 3
1003 of the ARRAY_REF.
1004
17d6caa1
AP
10052006-06-21 Andrew Pinski <pinskia@physics.uc.edu>
1006
1007 * doc/invoke.texi (-fopenmp) Move to "Options Controlling C Dialect"
1008 section from the "Options for Code Generation Conventions".
1009
b0100a44
RH
10102006-06-21 Richard Henderson <rth@redhat.com>
1011
1012 PR target/26347
1013 PR target/27082
1014 * config/alpha/predicates.md (small_symbolic_operand): Deny weak
1015 symbols.
1016 (global_symbolic_operand): Allow weak symbols, even if local_p.
1017
75715cf6
EB
10182006-06-21 Eric Botcazou <ebotcazou@adacore.com>
1019
1020 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): New function.
1021 (find_interesting_uses_address): Punt if above function returns true.
1022
18fc9bd4
RG
10232006-06-21 Richard Guenther <rguenther@suse.de>
1024
1025 * configure: Regenerated.
1026
0882b52e
JM
10272006-06-21 Joseph Myers <joseph@codesourcery.com>
1028
1029 * config/mips/mips.c (function_arg): Where one part of a
1030 complex argument is in registers and the other part in the stack,
1031 return a REG not a PARALLEL.
1032
0f57bf40
MM
10332006-06-21 Mark Mitchell <mark@codesourcery.com>
1034
1035 * configure.ac: Set gcc_gxx_include_dir to $target/include/c++
1036 when cross-compiling. Do not substitute libstdcxx_incdir.
1037 * configure: Regenerated.
1038
0841534a
JJ
10392006-06-21 Jakub Jelinek <jakub@redhat.com>
1040
1041 * varasm.c (mergeable_string_section): Check for embedded NULs and
1042 NUL termination in the first int_size_in_bytes (TREE_TYPE (decl))
1043 rather than TREE_STRING_LENGTH bytes.
1044
470f18fc
RG
10452006-06-21 Richard Guenther <rguenther@suse.de>
1046
1047 * ggc-page.c (extra_order_size_table): Add var_ann_d,
1048 tree_ssa_name, bitmap_element and phi_node with 4 arguments
1049 sizes.
1050
b16fb82d
RG
10512006-06-21 Richrad Guenther <rguenther@suse.de>
1052
1053 * tree-ssa-loop-niter.c (simplify_using_initial_conditions):
1054 Limit iteration over the dominators.
1055
8043a72a
RS
10562006-06-20 Roger Sayle <roger@eyesopen.com>
1057
1058 * config/mips/iris6.h (LIB_SPEC): Add support for -pthread.
1059 (SUBTARGET_CPP_SPEC): Define _REENTERANT if -pthread specified.
1060
5a6ccafd
RG
10612006-06-20 Richard Guenther <rguenther@suse.de>
1062 Michael Matz <matz@suse.de>
1063
1064 * alloc-pool.h (free_alloc_pool_if_empty): Prototype new
1065 function.
1066 * alloc-pool.c (free_alloc_pool_if_empty): New function.
1067 * et-forest.h (et_free_pools): Prototype new function.
5656a184 1068 * et-forest.c (et_free_tree_force): Free parent occurrence.
5a6ccafd
RG
1069 (et_free_pools): New function.
1070 * dominance.c (free_dominance_info): Free et-forest alloc
1071 pools.
1072
1000b34d
RS
10732006-06-20 Roger Sayle <roger@eyesopen.com>
1074
1075 * expr.c (expand_expr_real_1) <VECTOR_CST>: For vector constants with
1076 integer modes, attempt to directly construct an integer constant.
1077
1078 * fold-const.c (native_encode_vector): Determine the size of each
1079 element from the vector type instead of the first vector element.
1080
1081 * tree.c (build_constructor_single): Mark a CONSTRUCTOR as constant,
1082 if all of its elements/components are constant.
1083 (build_constructor_from_list): Likewise.
1084
8fdbc9c6
ZD
10852006-06-20 Zdenek Dvorak <dvorakz@suse.cz>
1086
1087 PR tree-optimization/27331
1088 * tree-data-ref.c (free_data_ref): New function.
1089 (create_data_ref): Fail if the data reference has unknown access
1090 function.
1091 (free_data_refs): Use free_data_ref.
1092
73dab33b
AP
10932006-06-19 Andrew Pinski <pinskia@gmail.com>
1094
1095 PR middle-end/28075
1096 * tree-inline.c (setup_one_parameter): Strip useless
1097 type conversion before adding it to the IR.
1098 (declare_return_variable): Likewise.
1099
48e2909e
MM
11002006-06-19 Martin Michlmayr <tbm@cyrius.com>
1101
1102 PR c/27149
1103 * c-common.c (c_common_truthvalue_conversion): Fix grammar in warning.
1104
ca84a9a2
MS
11052006-06-19 Mike Stump <mrs@apple.com>
1106
1107 * tree.c (variably_modified_type_p): VM arguments don't make the
1108 type a VM type.
1109
81126126
RG
11102006-06-19 Richard Guenther <rguenther@suse.de>
1111
1112 * tree-ssa-pre.c (try_combine_conversion): Strip useless
1113 type conversions after folding.
1114
f5938dcd
RG
11152006-06-19 Richard Guenther <rguenther@suse.de>
1116
1117 * ggc-page.c (extra_order_size_tab): Add entries with
1118 size of struct function and basic_block.
1119 (size_lookup): Extend to cover sizes up to 511.
1120 (ggc_alloc_stat): Adjust user.
1121 (ggc_pch_count_object): Likewise.
1122 (ggc_pch_alloc_object): Likewise.
1123 (ggc_pch_write_object): Likewise.
1124
20fb52af
ZD
11252006-06-19 Zdenek Dvorak <dvorakz@suse.cz>
1126
1127 * tree-ssa-loop-niter.c (implies_ge_p): New function.
1128 (derive_constant_upper_bound): Handle OP0 - CST in unsigned types
1129 correctly.
1130
7ed9c001
DC
11312006-06-19 Denis Chertykov <denisc@overta.ru>
1132
1133 * config/avr/libgcc.S : Correct my wrong previous commit.
1134
fa00f91b
RS
11352006-06-19 Roger Sayle <roger@eyesopen.com>
1136
1137 PR target/27861
1138 * expmed.c (expand_shift): On SHIFT_COUNT_TRUNCATED targets, we may
1139 have stripped a SUBREG from the shift count, so we may need to
1140 convert_to_mode back to the type's mode before calling make_tree.
1141 Use new_amount instead of amount to avoid expanding a tree twice.
1142
096dce1b
RG
11432006-06-19 Richard Guenther <rguenther@suse.de>
1144
1145 PR middle-end/28045
1146 * fold-const.c (operand_equal_p): Check if the argument types
1147 have the same precision before stripping NOPs.
1148
46b86adc
DB
11492006-06-19 Daniel Berlin <dberlin@dberlin.org>
1150
1151 Fix PR tree-optimization/27341
1152 * tree-cfg.c (gimplify_val): Call mark_new_vars_to_rename on the
1153 statement we get.
5656a184 1154 * tree-complex.c (pass_lower_complex): Update SMT usage.
46b86adc 1155
7e665d18
AK
11562006-06-19 Andreas Krebbel <krebbel1@de.ibm.com>
1157
5656a184 1158 * config/s390/s390.md ("doloop_si64", "doloop_si31", "doloop_di"):
7e665d18
AK
1159 Add a new alternative to the constraint strings. Add move of
1160 operand 1 to 3 to the splitter definition.
1161 ("doloop_si_long"): Second contraint alternative removed.
1162
4301ec4f
AS
11632006-06-08 Anatoly Sokolov <aesok@post.ru>
1164
1165 * config/avr/avr.h (avr_have_movw_lpmx_p): Declare.
5656a184 1166 (TARGET_CPU_CPP_BUILTINS): Add __AVR_HAVE_MOVW__ and
4301ec4f
AS
1167 __AVR_HAVE_LPMX__.
1168 (AVR_HAVE_MOVW) Define.
1169 (ASSEMBLER_DIALECT): Use AVR_HAVE_MOVW.
1170 (ASM_SPEC): Add avr25.
1171 (LINK_SPEC): Add avr25.
1172 * config/avr/avr.c (avr_have_movw_lpmx_p): Add.
1173 (base_arch_s): Add new member 'have_movw_lpmx'.
1174 (avr_arch_types): Init 'have_movw_lpmx'.
1175 (avr_mcu_types): Add 'avr25'. Move attiny13, attiny2313, attiny24,
1176 attiny44, attiny84, attiny25, attiny45, attiny85, attiny261,
1177 attiny461, attiny861 and at86rf401 in 'avr25' arhitecture.
1178 (avr_override_options): Init 'avr_have_movw_lpmx_p'.
5656a184 1179 (output_movhi, output_movsisf, ashlsi3_out, avr_rtx_costs): Use
4301ec4f
AS
1180 AVR_HAVE_MOVW.
1181 (avr_file_start): Do not output '.arh' derective.
1182 * config/avr/libgcc.S (mov_l): Use __AVR_HAVE_MOVW__.
1183 (__do_copy_data): Use __AVR_HAVE_LPMX__.
1184 * config/avr/avr.md (mcu_enhanced): Delete.
1185 (mcu_have_movw): Define.
1186 (negsi2, extendhisi2, zero_extendhisi2): Use 'mcu_have_movw'.
1187 (call_insn, call_value_insn): Use 'call_insn' and __AVR_HAVE_MOVW__.
1188 * config/avr/t-avr(MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add avr25.
1189 (MULTILIB_MATCHES): Add attiny13, attiny2313, attiny24, attiny44,
5656a184 1190 attiny84, attiny25, attiny45, attiny85, attiny261, attiny461,
4301ec4f
AS
1191 attiny861 and at86rf401 devices.
1192
40327e03
JZ
11932006-06-18 Jie Zhang <jie.zhang@analog.com>
1194
1195 * config/bfin/bfin.c (MAX_LOOP_LENGTH): Define to be 2042 instead
1196 of 4096.
1197
c3cb54c6
KB
11982006-06-17 Karl Berry <karl@gnu.org>
1199
1200 * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi,
1201 doc/gccint.texi, doc/install.texi (@dircategory): Use
1202 "Software development" instead of "Programming", following
1203 the Free Software Directory.
1204
31ebc801
AO
12052006-06-17 Alexandre Oliva <aoliva@redhat.com>
1206
1207 * config/i386/i386.c (legitimate_tls_address)
1208 <TARGET_GNU2_TLS>: Add tp after DTPOFF.
1209 * config/i386/i386.md (*tls_dynamic_gnu2_combine_32): Adjust.
1210 (*tls_dynamic_gnu2_combine_64): Likewise.
1211
1af8dcbf
RG
12122006-06-16 Richard Guenther <rguenther@suse.de>
1213
1214 PR middle-end/27116
1215 * fold-const.c (negate_expr_p): Do not introduce undefined
1216 overflow in negating INTEGER_CSTs.
1217 (fold_negate_expr): Rename from negate_expr. Revert last
1218 change for folding BIT_NOT_EXPR. Change semantics to
1219 return NULL_TREE for non-simplified negations. Do not
1220 strip type conversions and unify type handling.
1221 (negate_expr): New function, wrap around fold_negate_expr
1222 but ensure building a tree always. Strip type conversions
1223 here, fold to result type.
1224 (fold_unary): Use fold_negate_expr for folding NEGATE_EXPR.
1225
2d0df1f9
RS
12262006-06-16 Roger Sayle <roger@eyesopen.com>
1227
1228 PR middle-end/27802
1229 * reg-stack.c (subst_stack_regs): Handle noreturn function calls
1230 that (would) return their results in stack registers.
1231
47392a21
MM
12322006-06-16 Michael Matz <matz@suse.de>
1233 Richard Guenther <rguenther@suse.de>
1234
1235 * fold-const.c (fold_truthop): Only return new tree node if
1236 we canonicalized something.
1237
55dea919
RG
12382006-06-16 Richard Guenther <rguenther@suse.de>
1239
1240 * function.h (enum function_frequency): Move declaration
1241 out of struct function.
1242 (struct function): Move bool fields and the enum to the bitfield
1243 section. Reorder elements to avoid padding. Remove unused
1244 fields left over from the RTL inliner removal.
1245 * function.c (free_after_compilation): Do not zero removed fields.
1246 * Makefile.in (ipa-reference.o): Add $(FUNCTION_H) dependency.
1247 (ipa-type-escape.o): Likewise.
1248
b4e19405
RG
12492006-06-16 Richard Guenther <rguenther@suse.de>
1250
1251 * cgraph.h (struct cgraph_local_info): Turn bool elements
1252 into a bitfield.
1253 (struct cgraph_node): Likewise.
1254 (struct cgraph_varpool_node): Likewise.
1255
d817ed3b
RG
12562006-06-15 Richard Guenther <rguenther@suse.de>
1257
1258 * fold-const.c (fold_truth_not_expr): Rename from
1259 invert_truthvalue. Give it fold_* semantics to avoid
1260 generating garbage.
1261 (invert_truthvalue): New function. Wrapper around
1262 fold_truth_not_expr.
1263 (optimize_minmax_comparison): Avoid creating garbage.
1264 (fold_unary): Use fold_truth_not_expr for folding
1265 TRUTH_NOT_EXPR.
1266 (fold_ternary): Replace uses of invert_truthvalue with
1267 fold_truth_not_expr where applicable.
1268 * tree.h (fold_truth_not_expr): Prototype.
1269
5d35c171
RG
12702006-06-16 Richard Guenther <rguenther@suse.de>
1271
1272 PR tree-optimization/27781
1273 * Makefile.in (ipa-pure-const.o): Add $(TARGET_H) dependency.
1274 * ipa-pure-const.c (target.h): Include.
1275 (analyze_function): Do not analyze functions that do not
1276 bind locally.
1277
82460c75 12782006-06-15 Andrew MacLeod <amacleod@redhat.com>
5656a184 1279
82460c75
AM
1280 PR middle-end/27793
1281 * tree-dfa.c (referenced_vars_dup_list): Remove.
1282 (find_referenced_vars): Remove assert.
1283 (referenced_var_check_and_insert): Replace dup list with assert.
1284 * tree-ssa.c (delete_tree_ssa): Remove dup list processing.
1285 * tree-flow.h (referenced_vars_dup_list): Remove extern decl.
1286
4f6c9110
RG
12872006-06-15 Richard Guenther <rguenther@suse.de>
1288
1289 * tree-ssa-structalias.c (alias_get_name): Avoid creating
1290 extra unused identifiers if not dumping.
1291 (create_variable_info_for): Likewise.
1292
0ad1d5a1
ZD
12932006-06-15 Zdenek Dvorak <dvorakz@suse.cz>
1294
1295 * tree-ssa-loop-niter.c (implies_nonnegative_p): New function.
1296 (derive_constant_upper_bound): Derive more precise upper bound in
1297 common cases. Return type changed to double_int.
1298 (record_estimate): Reflect the changed return type of
1299 derive_constant_upper_bound.
1300 * double-int.c (double_int_zext, double_int_sext): Fix.
1301
ec6c7392
PB
13022006-06-15 Paolo Bonzini <bonzini@gnu.org>
1303
1304 * configure.ac (CFLAGS): Get them from the toplevel or from the
1305 configure invocation.
1306 * configure: Regenerate.
1307 * Makefile.in (CFLAGS): Substitute value provided by configure.
1308
fe89d797
MM
13092006-06-14 Mark Mitchell <mark@codesourcery.com>
1310
1311 PR c++/26559
1312 * c-common.h (c_finish_omp_atomic): Adjust declaration.
1313 * c-omp.c (c_finish_omp_atomic): Return the expression to perform,
1314 rather than calling add_stmt on it.
1315 * c-parser.c (c_parser_omp_atomic): Adjust accordingly.
1316
184f4c56
AK
13172006-06-14 Andreas Krebbel <krebbel1@de.ibm.com>
1318
1319 PR middle-end/27959
1320 * reload1.c (reload): Remove registers returned by update_eliminables
1321 from used_spill_regs.
1322
e3d437c0
DD
13232006-06-13 DJ Delorie <dj@redhat.com>
1324
1325 * config/m32c/muldiv.md (mulpsi3): Expect arbitrary constants.
1326
9288b845
CD
13272006-06-13 Carlos O'Donell <carlos@codesourcery.com>
1328
1329 * Makefile.in: Define HTMLS_BUILD, HTMLS_INSTALL,
1330 html__strip_dir, html__mkdir_p. Enhance install-html target.
5656a184 1331 * configure.ac: AC_SUBST datarootdir, docdir and htmldir.
9288b845
CD
1332 * configure: Regenerate.
1333
6b4e9576
FJ
13342006-06-13 Fariborz Jahanian <fjahanian@apple.com>
1335
5656a184 1336 * fold-const.c (fold_cond_expr_with_comparison): Check for
6b4e9576
FJ
1337 Objective-C++ as language in deciding COND_EXPR transformation.
1338
31b6f0ae
R
13392006-06-06 J"orn Rennecke <joern.rennecke@st.com>
1340
1341 PR target/28014:
1342 * config/sh/t-sh (LIB1ASMFUNCS): Add _udiv_qrnnd16
1343 * config/sh/sh.c (print_operand): Add !SHMEDIA functionality to 'M'.
1344 * config/sh/lib1funcs.h (SL, SL1): Define.
1345 * config/sh/lib1funcs.asm (__udiv_qrnnd16): New hidden function.
1346 * longlong.h (__sh__): Define umul_ppmm, udiv_qrnnd and sub_ddmmss.
1347 * config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): New rule.
1348 (OBJS_Os_4_200): New variable.
1349 ($(T)libgcc-Os-4-200.a): Use it.
1350 * sh.md (udivsi3): For TARGET_DIVIDE_CALL_TABLE, avoid function call
1351 when dividing 1 and/or by 0.
1352
de4fb767
RS
13532006-06-13 Roger Sayle <roger@eyesopen.com>
1354
1355 * configure.ac (HAS_MCONTEXT_T_UNDERSCORES): Include <sys/signal.h>
1356 before <ucontext.h> to define sigset_t required by <sys/ucontext.h>.
1357 * configure: Regenerate.
1358
f0f1c408
JZ
13592006-06-13 Jie Zhang <jie.zhang@analog.com>
1360
1361 * config/bfin/bfin.c (bfin_reorg_loops): Only call recog_memoized ()
1362 for real instruction.
1363
cd8d4e24
MK
13642006-06-13 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
1365
1366 PR middle-end/26807
1367 * haifa-sched.c (check_cfg): Handle special case.
1368
5123ad09
EB
13692006-06-13 Eric Botcazou <ebotcazou@adacore.com>
1370
1371 PR debug/26754
1372 * gimplify.c (declare_tmp_vars): Rename into declare_vars.
1373 Add debug_info parameter. Chain the vars to the BLOCK instead
1374 of the BIND_EXPR if debug info are requested for them.
1375 (pop_gimplify_context): Adjust for above change.
1376 (gimple_add_tmp_var): Likewise.
1377 * tree-gimple.h (declare_tmp_vars): Rename into declare_vars.
1378 Add bool parameter.
1379 * tree-nested.c (convert_nonlocal_reference): Adjust for above change.
1380 (convert_local_reference): Likewise.
1381 (get_local_debug_decl): Set DECL_IGNORED_P on the original variable.
1382 (finalize_nesting_tree_1): Request that debug info be emitted
1383 for debug_var_chain.
1384
6f2ba390
MK
13852006-06-13 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
1386
1387 * haifa-sched.c (unlink_other_notes, unlink_line_notes): Fix the patch
1388 for PR target/27863.
1389
cda5bf39
RG
13902006-06-13 Richard Guenther <rguenther@suse.de>
1391
1392 PR middle-end/27536
1393 * except.c (output_ttype): Expand type with EXPAND_INITIALIZER.
1394
8e85fd14
RG
13952006-06-13 Richard Guenther <rguenther@suse.de>
1396
1397 PR tree-optimization/27830
1398 * tree-inline.c (copy_body_r): For copying the operand
1399 of an ADDR_EXPR make sure to fold &* afterwards.
1400
02a5eac4
EB
14012006-06-12 Eric Botcazou <ebotcazou@adacore.com>
1402
1403 * gimplify.c (gimplify_expr): Treat VIEW_CONVERT_EXPR like other
1404 lvalues in the fb_none case with side-effects.
1405
c90b053b
KH
14062006-06-12 Kazu Hirata <kazu@codesourcery.com>
1407
1408 * tree-flow.h: Remove the prototype for
1409 compute_phi_arg_on_exit.
1410 * tree-ssa-loop-ivopts.c (protect_loop_closed_ssa_form_use,
1411 protect_loop_closed_ssa_form, compute_phi_arg_on_exit):
1412 Remove.
1413
dda69cbf
MS
14142006-06-12 Mark Shinwell <shinwell@codesourcery.com>
1415
1416 * builtins.c (expand_builtin_return_addr): Only use
1417 frame_pointer_rtx when count == 0 and we are expanding
1418 __builtin_return_address.
1419
0901c5a3
FF
14202006-06-12 Fred Fish <fnf@specifix.com>
1421
1422 * config/mips/mips.c (mips_file_start): Create special section
1423 ".gcc_compiled_longXX" for o64 ABI as well as EABI.
1424
f7eb0dcd
EC
14252006-06-11 Eric Christopher <echristo@apple.com>
1426
1427 PR middle-end/27948
1428 * stor-layout.c (place_field): Remove check for
1429 remaining_in_alignment when aligning at the end of a run.
1430
6bb7beac
EC
14312006-06-11 Eric Christopher <echristo@apple.com>
1432
1433 PR 27542
1434 * doc/extend.texi (Structure-Packing Pragmas): Document ms_struct
1435 pragma.
1436
4119019b
RS
14372006-06-11 Roger Sayle <roger@eyesopen.com>
1438
1439 PR target/27858
1440 Revert incorrect fix for PR target/27158
1441 2006-05-08 Roger Sayle <roger@eyesopen.com>
1442 * reload.c (find_reloads_toplev): Only return the simplified SUBREG
1443 of a reg_equiv_constant if the result is a legitimate constant.
1444
0972012c
RS
14452006-06-11 Roger Sayle <roger@eyesopen.com>
1446
1447 PR target/27158
1448 * config/rs6000/rs6000.c (const_vector_elt_as_int): New function to
1449 extract a CONST_VECTOR element and interpret it as an integer.
1450 (vspltis_constant): Use const_vector_elt_as_int instead of the
1451 macro CONST_VECTOR_ELT in order to handle FP vector modes.
1452 * config/rs6000/predicates.md (easy_vector_const): Consider
1453 floating point ALTIVEC_VECTOR_MODEs via easy_altivec_constant.
1454
cb312376
KK
14552006-06-11 Kaz Kojima <kkojima@gcc.gnu.org>
1456
1457 PR middle-end/27942
1458 * stor-layout.c (update_alignment_for_field): Don't add extra
1459 alignment for packed non-bitfield fields in ms_bitfield_layout_p
1460 code.
1461
53e95921
RC
14622006-06-09 Ralf Corsepius <ralf.corsepius@rtems.org>
1463
1464 * config/mips/t-rtems: Add EL/EB multilib variants.
1465
71d0c100
MS
14662006-06-09 Mike Stump <mrs@apple.com>
1467
1468 * c-typeck.c (c_begin_vm_scope): Fix file_scope processing.
1469
549fb079
DD
14702006-06-09 David Daney <ddaney@avtrex.com>
1471
1472 * doc/install.texi: Add binutils version recommendation for mips-*-*.
1473
6c65d757
AK
14742006-06-09 Andreas Krebbel <krebbel1@de.ibm.com>
1475
1476 * reload.c (find_reloads): Unset force_reload for 'X' constraint.
1477
96b2034b
RG
14782006-06-09 Richard Guenther <rguenther@suse.de>
1479
1480 PR tree-optimization/26998
1481 * tree-vrp.c (extract_range_from_unary_expr): For NEGATE_EXPR
1482 of signed types, only TYPE_MIN_VALUE is special, but for both,
1483 minimum and maximum value. Likewise VR_ANTI_RANGE is special
1484 in this case, as is -fwrapv.
1485
23f99493
MS
14862006-06-08 Mike Stump <mrs@apple.com>
1487
1488 PR target/26427
1489 * config/darwin.c (darwin_asm_output_anchor): Disable
1490 -fsection-anchors on darwin for now.
1491 * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Likewise.
1492 * rs6000/rs6000.c (optimization_options): Likewise.
1493
118ed72a
VR
14942006-06-08 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1495
1496 PR target/27421
1497 * config/i386/i386.c (classify_argument): Skip fields with invalid
1498 types in unions.
1499
524e3576
SB
15002006-06-08 Steven Bosscher <steven@gcc.gnu.org>
1501
1502 * cse.c (flush_hash_table): Use VOIDmode to invalidate a REG.
1503 (cse_insn): Likewise for the stack_pointer_rtx.
1504
14b41b5f
RS
15052006-06-08 Roger Sayle <roger@eyesopen.com>
1506
1507 * tree-ssa-dom.c (record_conditions): Only record "unordered"
1508 conditions from floating point comparisons.
1509
33b881ca
PB
15102006-06-08 Paolo Bonzini <bonzini@gnu.org>
1511
1512 PR middle-end/27733
1513 * expmed.c (struct alg_hash_entry): Fix type of field T
1514 to match synth_mult argument.
1515 (NUM_ALG_HASH_ENTRIES): Make it bigger for 64-bit HOST_WIDE_INT.
1516
f70b22c9
MK
15172006-06-08 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
1518
1519 PR target/27863
1520 * haifa-sched.c (unlink_other_notes, unlink_line_notes): Update basic
1521 block boundaries.
1522
960f80d1
RG
15232006-06-08 Richard Guenther <rguenther@suse.de>
1524
1525 PR middle-end/27116
1526 * fold-const.c (negate_expr_p): We can negate BIT_NOT_EXPR
1527 only, if overflow is defined and not trapping.
1528 (negate_expr): Likewise.
1529
8e08deeb
ZD
15302006-06-07 Zdenek Dvorak <dvorakz@suse.cz>
1531
1532 PR tree-optimization/27872
1533 * tree-ssa-loop-manip.c (tree_unroll_loop): Set EDGE_IRREDUCIBLE_LOOP
1534 flag on the new exit edge of the unrolled loop.
1535
136778e9
ZD
15362006-06-07 Zdenek Dvorak <dvorakz@suse.cz>
1537
1538 PR rtl-optimization/26449
1539 * loop-invariant.c (move_invariant_reg): Fail if force_operand fails.
1540
4b5e2dbc
AM
15412006-06-07 Andrew MacLeod <amacleod@redhat.com>
1542
1543 PR middle-end/27793
6bb7beac 1544 * tree-dfa.c (referenced_vars_dup_list): New. List of duplicate
4b5e2dbc
AM
1545 referenced_variables with matching DECL_UID's.
1546 (find_referenced_vars): Make sure duplicate list is empty to start.
1547 (referenced_var_p): Remove.
6bb7beac 1548 (referenced_var_check_and_insert): Renamed from referenced_var_insert.
4b5e2dbc
AM
1549 Check if var is in the list, and add if needed. Update the duplicate
1550 list if a different var is in the list with the same DECL_UID.
1551 (add_referenced_var): Call routine to check and insert.
1552 * tree-ssa.c (delete_tree_ssa): Clear var_ann's on duplicates.
1553 * tree-flow.h (referenced_vars_dup_list): External declaration.
1554
dd286892
FF
15552006-06-07 Fred Fish <fnf@specifix.com>
1556
1557 * config/mips/t-elf (MULTILIB_MATCHES): Combine two entries
1558 into single entry.
1559
190e9534
PB
15602006-06-07 Paolo Bonzini <bonzini@gnu.org>
1561
1562 PR target/27390
1563 * reg-stack.c (subst_stack_regs_pat): Reorder resetting of
1564 the imaginary and real parts of a clobbered register.
1565 Emit insn to set the imaginary part.
1566
7c78582a
PL
15672006-06-06 Peter Lemieszewski <lemie@us.ibm.com>
1568
1569 * config/s390/t-tpf (LIB2ADDEH): Include unwind-dw2-fde-glibc.c
1570 in lieu of unwind-dw2-fde.c.
1571
33815e0c
FXC
15722006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1573
1574 * config/i386/mingw32.h (GOMP_SELF_SPECS): Define.
1575
8cf0db2b
UW
15762006-06-06 Ulrich Weigand <uweigand@de.ibm.com>
1577
1578 PR target/27842
1579 * config/rs6000/altivec.md (UNSPEC_VSLW): Remove.
1580 ("altivec_vspltisw_v4sf", "altivec_vslw_v4sf"): Remove.
1581 ("mulv4sf3", "absv4sf3", "negv4sf3"): Adapt users to use
1582 V4SImode temporaries and operations instead.
1583
406af897
JM
15842006-06-06 Joseph S. Myers <joseph@codesourcery.com>
1585
1586 * config/mips/t-linux64 (tp-bit.c): Append to tp-bit.c, not
1587 dp-bit.c.
1588
22482f74
MS
15892006-06-06 Mike Stump <mrs@apple.com>
1590
1591 * Makefile.in: Rename to htmldir to build_htmldir to avoid
1592 installing during build.
1593
bb83aa4b
MK
15942006-06-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
1595
1596 * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): Change default
1597 value to 0.
1598 * doc/invoke.texi (max-sched-extend-regions-iters): Document.
1599 * config/ia64/ia64.c (params.h): New header.
1600 (ia64_optimization_options): New function to adjust parameters.
1601 * config/ia64/ia64-protos.h (ia64_optimization_options): New prototype.
1602 * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): New macro.
1603 * config/ia64/t-ia64 (ia64.o): Add dependence from params.h .
1604
0c397f9c
KH
16052006-06-05 Kazu Hirata <kazu@codesourcery.com>
1606
1607 * stor-layout.c (debug_rli): Fix a typo in a debug message.
1608
1f4a2e84
SE
16092006-06-05 Steve Ellcey <sje@cup.hp.com>
1610
1611 PR target/27051
1612 * config/ia64/ia64.c (ia64_select_rtx_section): Check TARGET_NO_SDATA.
1613
a8b28492
DN
16142006-06-05 Dorit Nuzman <dorit@il.ibm.com>
1615 Victor Kaplansky <victork@il.ibm.com>
1616
1617 PR tree-optimization/26360
1618 * tree-vectorizer.c (destroy_loop_vec_info): Remove (dead) pattern
1619 stmts.
1620
ffbf5f7f
RS
16212006-06-04 Roger Sayle <roger@eyesopen.com>
1622 Andrew Pinski <pinskia@physics.uc.edu>
1623
1624 PR middle-end/27382
1625 * c-common.c (c_common_truthvalue_conversion): Explicitly check
1626 for LABEL_DECL before calling DECL_WEAK.
1627
1628 PR c/27150
1629 * c-typeck.c (build_binary_op): Likewise, explicitly check for
1630 LABEL_DECL and PARM_DECL.
1631
5c076987
JM
16322006-06-05 Joseph S. Myers <joseph@codesourcery.com>
1633
1634 PR c/25161
1635 PR c/27020
1636 * c-decl.c (grokdeclarator): Disallow variably modified types at
1637 file scope. Avoid marking shared array type of constant size as
1638 VLA.
1639
545b7d8c
VR
16402006-06-04 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1641
1642 PR c++/27601
1643 * c-common.c (fold_offsetof_1): Handle static members.
1644
0ac11108
EC
16452006-06-04 Eric Christopher <echristo@apple.com>
1646
1647 * stor-layout.c (start_record_layout): Initialize remaining_in_alignment.
1648 (debug_rli): Output value for remaining_in_alignment.
1649 (update_alignment_for_field): Unconditionalize
1650 ms_bitfield_layout_p code. Handle non-bitfield fields. Remove
1651 extra alignment code.
1652 (place_field): Don't realign if ms_bitfield_layout_p. Unconditionalize
1653 ms_bitfield_layout_p code. Rewrite handling of structure fields.
1654 * tree.h (record_layout_info_s): Remove prev_packed.
1655 * doc/extend.texi (ms_struct): Add documentation of format.
1656
63b48197
MS
16572006-06-04 Mark Shinwell <shinwell@codesourcery.com>
1658
1659 * tree.h: Declare folding_initializer.
1660 * builtins.c (fold_builtin_constant_p): Give definite answer
1661 if folding inside an initializer.
1662 * fold-const.c: Define folding_initializer.
1663 (START_FOLD_INIT): Save and then set folding_initializer.
1664 (END_FOLD_INIT): Restore folding_initializer.
1665
7ec434b8
RG
16662006-06-04 Richard Guenther <rguenther@suse.de>
1667
1668 PR tree-optimization/27039
1669 * fold-const.c (fold_comparison): Handle pointer comparison
1670 again for all comparison codes. Compare offsets in signed
1671 size type.
1672 (fold_binary): Move code from here.
1673
94e76332
RS
16742006-06-03 Roger Sayle <roger@eyesopen.com>
1675
1676 PR target/26223
1677 * config/i386/i386.c (construct_container): Split static issued_error
1678 flag into issued_sse_arg_error, issued_sse_ret_error and
1679 issued_x87_ret_error. Issue a daignostic if the x86-64 ABI
1680 requires the use of x87 registers and the user explicitly
1681 specified the -mno-80387 command line option.
1682
4f6d8cc8
GK
16832006-06-02 Geoffrey Keating <geoffk@apple.com>
1684
1685 * config/rs6000/host-darwin.c (sigaltstack): Protect prototype with
1686 HAVE_DECL_SIGALTSTACK.
1687 (MC_FLD): New.
1688 (segv_handler): Use MC_FLD.
1689 * configure.ac: Check for a sigaltstack declaration.
1690 Compute HAS_MCONTEXT_T_UNDERSCORES on Darwin.
1691 * configure: Regenerate.
1692 * config.in: Regenerate.
1693
af33a0c0
R
16942006-06-03 J"orn Rennecke <joern.rennecke@st.com>
1695
1696 PR other/27850
1697 * Makefile.in (stmp-fixinc): Fix typo.
1698
9734ebaf
RS
16992006-06-02 Roger Sayle <roger@eyesopen.com>
1700
1701 * fold-const.c (fold_unary) <CONJ_EXPR>: Ensure folded expressions
1702 are type correct. Clean-up.
1703 <REALPART_EXPR>: Likewise. Optimize creal(~z) as creal(z).
1704 <IMAGPART_EXPR>: Likewise. Optimize cimag(~z) as -cimag(z).
1705
df5c71ac
DD
17062006-06-01 DJ Delorie <dj@redhat.com>
1707
1708 * config/v850/v850.h (ASM_OUTPUT_ADDR_DIFF_ELT): Disabled the
1709 shift, as we've disabled the "switch" insn that needs it.
1710
112598f4
PB
17112006-06-01 Per Bothner <bothner@bothner.com>
1712
1713 Suppress extra '#1 <built-in> or '#1 <command line>' on -dD output.
1714 * c-opts.c (finish_options): Use internal line 0 for <command-line>.
1715 * c-ppoutput.c (cb_define): Don't increment line 0.
1716
e118597e
PS
17172006-06-01 Pete Steinmetz <steinmtz@us.ibm.com>
1718
1719 * doc/invoke.texi: Add cpu_type power6.
1720 * config.gcc: Add cpu_type power6.
1721 * config/rs6000/rs6000.c (rs6000_override_options): Alias power6
1722 to power5+ with Altivec.
1723 * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6.
1724 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add power6.
1725
d3f27077
AS
17262006-05-30 Anatoly Sokolov <aesok@post.ru>
1727
1728 * config/avr/avr.h (SET_ASM_OP): Define.
1729
aab26080
KH
17302006-06-01 Kazu Hirata <kazu@codesourcery.com>
1731
1732 * config/bfin/bfin.c: Fix comment typos.
1733
f5c3bb4b
PB
17342006-06-01 Paolo Bonzini <bonzini@gnu.org>
1735
1736 PR 25453
1737 * doc/install.texi: Document --enable-bootstrap and
1738 --disable-bootstrap.
1739
02809848
PB
17402006-06-01 Paolo Bonzini <bonzini@gnu.org>
1741
1742 * doc/install.texi: Document that InfoZIP can replace jar.
1743
86ce1825
RS
17442006-05-31 Roger Sayle <roger@eyesopen.com>
1745
1746 * config/i386/i386.c (ix86_expand_fp_absneg_operator): When SSE
1747 isn't available, directly generate the simpler x87 patterns without
1748 the (use (const_int 0)).
1749 * config/i386/i386.md (*negsf2_1): Enable pre-reload if the SSE
1750 implementation isn't available.
1751 (*negdf2_1): Likewise.
1752 (*negxf2_1): XF mode negation is always done using the x87.
1753 (*abssf2_1, *absdf2_1, *absxf2_1): Likewise^3 for fabs.
1754
4f31c7ec
RS
17552006-05-31 Roger Sayle <roger@eyesopen.com>
1756
1757 * builtins.c (fold_builtin_cabs): Delete prototype. Require an
1758 additional FNDECL argument. Optimize cabs(-z) and cabs(~z) as
1759 cabs(z).
1760 (fold_builtin_decl) <BUILT_IN_CABS>: Update fold_builtin_cabs call.
1761
b03149e1
JZ
17622006-05-31 Jie Zhang <jie.zhang@analog.com>
1763
1764 * config/bfin/bfin-protos.h (bfin_hardware_loop): Declare.
1765 * config/bfin/bfin.c (basic-block.h): Include.
1766 (struct machine_function): New.
1767 (bfin_init_machine_status): New.
1768 (override_options): Initialize init_machine_status.
1769 (bfin_hardware_loop): New.
1770 (MAX_LOOP_DEPTH, MAX_LOOP_LENGTH): Define.
1771 (DEF_VEC_P (loop_info)): New.
1772 (DEF_VEC_ALLOC_P (loop_info,heap)): New.
1773 (struct loop_info): New.
1774 (loop_info): New typedef.
1775 (struct loop_work): New.
1776 (loop_work): New typedef.
1777 (DEF_VEC_O (loop_work)): New.
1778 (DEF_VEC_ALLOC_O (loop_work,heap)): New.
1779 (bfin_dump_loops): New.
1780 (bfin_bb_in_loop): New.
1781 (bfin_scan_loop): New.
1782 (bfin_optimize_loop): New.
1783 (bfin_reorg_loops): New.
1784 (bfin_reorg): Use bfin_reorg_loops.
1785 * config/bfin/bfin.h (FIRST_PSEUDO_REGISTER): Adjust for adding
1786 loop registers.
1787 (I_REGNO_P): Simplify.
1788 (DP_REGNO_P, DPREG_P): New macros.
1789 (REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS,
1790 REG_ALLOC_ORDER): Add LT0, LT1, LC0, LC1, LB0, LB1.
1791 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
1792 Add LT_REGS, LC_REGS, LB_REGS.
1793 (REG_CLASS_FROM_LETTER): Add 't' for LT_REGS, 'k' for LC_REGS,
1794 'l' for LB_REGS.
1795 (REGNO_REG_CLASS): Deal with loop registers.
1796 * config/bfin/bfin.md: Add comment for 't', 'k', 'l' constraint
1797 letters.
1798 (REG_LT0, REG_LT1, REG_LC0, REG_LC1, REG_LB0, REG_LB1):
1799 New constants for loop registers.
1800 (UNSPEC_LSETUP_END): New.
1801 (seq_insns): New define_attr. Set it for appropriate insns.
1802 (movsi_insn): Add alternatives for move from/to
1803 loop count registers.
1804 (doloop_end): New define_expand.
1805 (loop_end): New define_insn.
1806 (define_split for bad doloop_end): New.
1807 (lsetup_with_autoinit): New define_insn.
1808 (lsetup_without_autoinit): New define_insn.
1809 (rep_movsi, rep_movhi): Clobber LT1, LC1, LB1.
1810 * config/bfin/predicates.md (lc_register_operand): New.
1811 (lt_register_operand): New.
1812 (lb_register_operand): New.
1813 (nondp_register_operand): New.
1814 (nondp_reg_or_memory_operand): New.
1815 * doc/md.texi: Document Blackfin new 't', 'k', 'l' constraint letters.
1816
54aefc36
JZ
18172006-05-31 Jie Zhang <jie.zhang@analog.com>
1818
1819 * config/bfin/bfin.c (bfin_delegitimize_address): New.
1820 (TARGET_DELEGITIMIZE_ADDRESS): Define.
1821
5c3c3683
DJ
18222006-05-31 Daniel Jacobowitz <dan@codesourcery.com>
1823
1824 * Makefile.in (CATALOGS): Add po/ prefix.
1825 * configure: Regenerated.
1826
beed32b8
RE
18272006-05-31 Richard Earnshaw <richard.earnshaw@arm.com>
1828
4fe56d83 1829 PR target/27829
beed32b8
RE
1830 * arm.c (arm_print_operand case 'S'): Validate that the operand is
1831 a shift operand before calling shift_op. Avoid redundant call of
1832 shift_op.
1833
9cb96754
N
18342006-05-30 Naveen.H.S <naveenh@kpitcummins.com>
1835 DJ Delorie <dj@redhat.com>
1836
1837 * config/m32c/m32c.c (m32c_expand_insv): Check that the value
1838 we're inserting is a singlt-bit constant.
1839
e40122f0
RS
18402006-05-30 Roger Sayle <roger@eyesopen.com>
1841
1842 * simplify-rtx.c (simplify_binary_operation_1) <LSHIFTRT>: Cast
1843 width to HOST_WIDE_INT to avoid comparison warnings on some targets.
1844
99b25753
RS
18452006-05-30 Roger Sayle <roger@eyesopen.com>
1846
1847 PR tree-optimization/23452
1848 * fold-const.c (fold_mult_zconjz): New subroutine of fold_binary,
1849 to optimize z * conj(z) as realpart(z)^2 + imagpart(z)^2.
1850 (fold_binary) <MULT_EXPR>: Call fold_mult_zconjz for integral
1851 complex values and with -ffast-math for FP complex values.
1852
c98662e0
KH
18532006-05-30 Kazu Hirata <kazu@codesourcery.com>
1854
1855 * c-common.h: Remove the prototype for yyparse.
1856 * rtl.h: Remove the prototype for init_loop.
1857
67e0a632
AK
18582006-05-30 Andreas Krebbel <krebbel1@de.ibm.com>
1859
1860 * cse.c (validate_canon_reg, cse_insn): Don't change insns without
1861 calling recog.
1862
70233f37
RS
18632006-05-30 Roger Sayle <roger@eyesopen.com>
1864
1865 * simplify-rtx.c (simplify_binary_operation): Unfactor the shift
1866 and rotate cases.
1867 <LSHIFTRT>: Optimize (lshiftrt (clz X) C) as (eq X 0) where C is
1868 log2(GET_MODE_BITSIZE(X)) on targets with the appropriate semantics.
1869
d117b270
DM
18702006-05-30 Dirk Mueller <dmueller@suse.de>
1871
1872 PR c/27273
1873 * c-common.c (convert_and_check): Only track TREE_CONSTANT_OVERFLOW
1874 for CONSTANT_CLASS_P expresisons.
1875
16464cc1
VR
18762006-05-30 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1877
1878 PR c/27718
1879 * c-typeck.c (c_expr_sizeof_type): Handle invalid types.
1880
d91d2db7
ZD
18812006-05-30 Zdenek Dvorak <dvorakz@suse.cz>
1882
1883 PR tree-optimization/27779
1884 * tree-data-ref.c (analyze_siv_subscript_cst_affine): Use
1885 initial_condition instead of CHREC_LEFT.
1886
6a728a2d
SB
18872006-05-30 Steven Bosscher <stevenb.gcc@gmail.com>
1888
1889 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Fix type of begin_label.
1890 * config/m32r/initfini.c (__do_global_dtors, __do_global_ctors):
1891 Make prototypes ISO C90.
1892
375bc622 18932006-05-30 Mircea Namolaru <namolaru@il.ibm.com>
d91d2db7 1894 Leehod Baruch <leehod.baruch@weizmann.ac.il>
375bc622 1895
d91d2db7
ZD
1896 * see.c (see_analyze_one_def): Correct check.
1897 (see_get_extension_data): Check if extension is parallel.
1898 (see_get_extension_reg): Likewise.
375bc622 1899
55b2de75
UB
19002006-05-30 Uros Bizjak <uros@kss-loka.si>
1901
1902 PR target/27790
1903 * config/i386/i386.c (ix86_expand_int_vcond): Force cop0
1904 into register for (code == GTU).
1905
1753331b
RS
19062006-05-29 Roger Sayle <roger@eyesopen.com>
1907
1908 PR tree-optimization/24964
1909 * simplify-rtx.c (simplify_binary_operation_1): Add function comment.
1910 <MULT>: Minor clean-up. Don't convert x*-1.0 into -x if we honor
1911 signaling NaNs. Optimize -x*-x as x*x for all float modes, and
1912 abs(x)*abs(x) as x*x for scalar floating point modes.
1913
06ac89d1
SP
19142006-05-29 Sebastian Pop <pop@cri.ensmp.fr>
1915
1916 PR middle-end/27745
1917 * lambda-code.c (perfect_nestify): Don't copy statements
1918 in the inner loop: move them to the inner loop header.
1919
96e36096
DN
19202006-05-29 Diego Novillo <dnovillo@redhat.com>
1921
1922 PR 26237
1923 * c-tree.texi: Document OpenMP directives and clauses.
1924
eb5fa773
KH
19252006-05-29 Kazu Hirata <kazu@codesourcery.com>
1926
1927 * varasm.c (globalize_decl): Fix indentation.
1928
a6719dc6
DN
19292006-05-29 Diego Novillo <dnovillo@redhat.com>
1930
1931 PR 26242
1932 * doc/passes.texi: Add documentation for pass_vrp, pass_ipa_pta,
1933 pass_fre, pass_store_ccp, pass_copy_prop,
1934 pass_store_copy_prop, pass_merge_phi, pass_nrv,
1935 pass_return_slot, pass_object_size, pass_lim,
1936 pass_linear_transform, pass_empty_loop, pass_complete_unroll,
1937 pass_loop_prefetch and pass_stdarg.
1938
6614f9f5
BS
19392005-05-29 Bernd Schmidt <bernd.schmidt@analog.com>
1940
1941 * config/bfin/bfin.opt (mfdpic): New option.
1942 * config/bfin/t-bfin-elf (EXTRA_PARTS): Add crtbeginS.o and crtendS.o.
1943 (EXTRA_MULTILIB_PARTS): Likewise.
1944 (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS): Use -fpic.
1945 (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Build one extra -mfdpic
1946 multilib.
1947 * config/bfin/elf.h (STARTFILE_SPEC): Don't link in crt0.o if -shared.
1948 (CRT_CALL_STATIC_FUNCTION): New.
1949 * config/bfin/uclinux.h (STARTFILE_SPEC): Don't link in crt0.o if
1950 -shared.
1951 (CRT_CALL_STATIC_FUNCTION): New.
1952 * config/bfin/bfin.c (legitimize_pic_address): Now static. Handle
1953 FD-PIC moves.
1954 (n_pregs_to_save): PIC register doesn't need to be saved with FD-PIC.
1955 (print_operand): Handle UNSPEC_MOVE_FDPIC and UNSPEC_FUNCDESC_GOT17M4.
1956 (initialize_trampoline): Changed to handle FD-PIC code generation.
1957 (expand_move): If TARGET_FDPIC, use emit_pic_move as needed.
1958 (bfin_expand_call): Generate FD-PIC calls if TARGET_FDPIC.
1959 (override_options): Disallow -mid-shared-library -mfdpic combination.
1960 Can't do unaligned ops if FD-PIC.
1961 Turn off flag_pic if trying to generate non-id-shared-library
1962 non-fdpic code, since it's not supported.
1963 (bfin_assemble_integer): New function.
1964 (TARGET_ASM_INTEGER): Define.
1965 * config/bfin/crti.s (__init, __fini): Save P3 on the stack if
1966 __BFIN_FDPIC__.
1967 * config/bfin/crtn.s: Restore them.
1968 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __BFIN_FDPIC__
1969 if TARGET_FDPIC.
1970 (DRIVER_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS,
1971 LINK_GCC_C_SEQUENCE_SPEC, ASM_SPEC, LINK_SPEC): New macros.
1972 (FDPIC_FPTR_REGNO, FDPIC_REGNO, OUR_FDPIC_REG): New macros.
1973 (TRAMPOLINE_SIZE, TRAMPOLINE_TEMPLATE): Adjust for FD-PIC.
1974 (CONDITIONAL_REGISTER_USAGE): If TARGET_FDPIC, FDPIC_REGNO is
1975 call-used.
1976 (enum reg_class, REG_CLASS_CONTENTS, REG_CLASS_NAMES): Add
1977 FDPIC_REGS and FDPIC_FPTR_REGS.
1978 (REG_CLASS_FROM_LETTER): Use 'Z' and 'Y' for them.
1979 * config/bfin/bfin.md (UNSPEC_MOVE_FDPIC, UNSPEC_FUNCDESC_GOT17M4,
1980 UNSPEC_VOLATILE_LOAD_FUNCDESC): New constants.
1981 (load_funcdescsi): New pattern.
1982 (call_symbol_fdpic, sibcall_symbol_fdpic, call_value_symbol_fdpic,
1983 sibcall_value_symbol_fdpic, call_insn_fdpic, sibcall_insn_fdpic,
1984 call_value_insn_fdpic, sibcall_value_insn_fdpic): New patterns.
1985
db3edc20
KH
19862006-05-29 Kazu Hirata <kazu@codesourcery.com>
1987
1988 * gcse.c, rtlanal.c: Remove obsolete comments associated with
1989 loop.c.
1990
a9488625
KH
1991 * config/bfin/bfin.h (PARM_BOUNDRY, STACK_BOUNDRY): Remove.
1992
152279c4
KH
1993 * tree-flow.h: Remove the prototype for add_type_alias.
1994 * tree-ssa-alias.c (add_type_alias): Remove.
1995
6fc0bb99
KH
19962006-05-28 Kazu Hirata <kazu@codesourcery.com>
1997
1998 * cfgcleanup.c, cfgexpand.c, cgraphunit.c, config/arm/arm.c,
1999 config/fr30/fr30.md, config/i386/i386-interix.h,
2000 config/i386/i386.c, config/i386/i386.md, config/sh/superh.h,
2001 config/sh/superh64.h, config/v850/v850.c, df-core.c,
2002 df-problems.c, df.h, except.c, final.c, haifa-sched.c,
2003 lambda-code.c, libgcc2.h, omp-low.c, optabs.c, predict.c,
2004 reload.c, tree-flow.h, tree-outof-ssa.c, tree-ssa-dce.c,
2005 tree-ssa-pre.c, tree-vect-transform.c: Fix comment typos.
2006 Follow spelling conventions.
2007 * doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix typos.
2008 Follow spelling conventions.
2009
9e030af9
RG
20102006-05-27 Richard Guenther <rguenther@suse.de>
2011
2012 PR middle-end/27773
2013 * fold-const.c (fold_plusminus_mult_expr): Use fold_convert
2014 to produce a constant of value 1 of generic type.
2015
46f5f7f2
DM
20162006-05-27 Dirk Mueller <dmueller@suse.de>
2017
2018 * cgraphunit.c (decide_is_function_needed): Fix wrong
2019 PR reference.
2020
7c7ce73a
UW
20212006-05-26 Ulrich Weigand <uweigand@de.ibm.com>
2022
2023 PR rtl-optimization/27661
2024 * reload.c (find_reloads): When reloading a VOIDmode constant
2025 as address due to an EXTRA_MEMORY_CONSTRAINT or 'o' constraint,
2026 use Pmode as mode of the reload register.
2027
c539d463
EB
20282006-05-26 Eric Botcazou <ebotcazou@adacore.com>
2029
2030 * doc/invoke.texi (Optimize Options): Document that -funit-at-a-time
2031 is enabled at -O and above.
2032
20332006-05-26 Steven Bosscher <steven@gcc.gnu.org>
807bdfb6
FH
2034
2035 PR target/27571
2036 * config/alpha/alpha.c (alpha_does_function_need_gp): Skip jump
2037 table data.
2038
e92fb501
MM
20392006-05-25 Mark Mitchell <mark@codesourcery.com>
2040
2041 PR c++/20103
2042 * gimplify.c (gimplify_decl_expr): Do not call gimple_add_tmp_var
0ac11108 2043 for anonymous variables explicitly declared by front ends.
e92fb501 2044
05a58ad4
EB
20452006-05-25 Eric Botcazou <ebotcazou@adacore.com>
2046
2047 * tree-ssa-structalias.h (PTR_IS_REF_ALL): New macro.
2048 (struct alias_info): Add new field ref_all_symbol_mem_tag.
2049 * tree-ssa-alias.c (compute_may_aliases): If the program contains
2050 ref-all pointers, run a finalization pass for them.
2051 (compute_flow_insensitive_aliasing): Skip ref-all pointers.
2052 (finalize_ref_all_pointers): New function.
2053 (is_escape_site): Return ESCAPE_BAD_CAST for conversion from a
2054 regular pointer type to a ref-all pointer type.
2055 (get_tmt_for): Return the special memory tag for ref-all pointers.
2056
2d60e929
RG
20572006-05-25 Richard Guenther <rguenther@suse.de>
2058
2059 PR middle-end/27743
2060 * fold-const.c (fold_binary): Do not look at the stripped
2061 op0 for (a OP c1) OP c2 to a OP (c1+c2) shift optimization.
2062
9d6eefd5
EB
20632006-05-25 Eric Botcazou <ebotcazou@adacore.com>
2064
2065 * tree-vrp.c (extract_range_from_assert): Set the range to VARYING
2066 for LT and GT if the computed range is effectively empty.
2067
20682006-05-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5877ca2e
JDA
2069
2070 PR target/27627
2071 * pa/pa-modes.def: Use mips_single_format, mips_double_format and
2072 mips_quad_format formats instead of ieee_single_format,
2073 ieee_double_format and ieee_quad_format formats, respectively.
2074
d7f5de76
ZD
20752006-05-24 Zdenek Dvorak <dvorakz@suse.cz>
2076
2077 PR tree-optimization/27639
2078 PR tree-optimization/26719
2079 * tree-vrp.c (adjust_range_with_scev): Use scev_direction and adjust
2080 call to scev_probably_wraps_p.
2081 * tree-ssa-loop-niter.c (compare_trees, convert_step_widening,
2082 used_in_pointer_arithmetic_p, convert_step): Removed.
2083 (nowrap_type_p): New function.
2084 (scev_probably_wraps_p): Rewritten.
2085 * tree-scalar-evolution.c (instantiate_parameters_1): Do not call
2086 chrec_convert if chrec_convert_aggressive might have been used.
2087 * tree-chrec.c (convert_affine_scev, chrec_convert_1,
2088 scev_direction): New functions.
2089 (chrec_convert): Changed to a wrapper over chrec_convert_1.
2090 * tree-ssa-loop-ivopts.c (idx_find_step): Use convert_affine_scev
2091 instead of convert_step.
2092 * tree-flow.h (scev_probably_wraps_p): Declaration changed.
2093 (convert_step): Declaration removed.
2094 (convert_affine_scev, nowrap_type_p, scev_direction): Declare.
2095
b11550aa
KZ
20962006-05-23 Kenneth Zadeck <zadeck@naturalbridge.com>
2097
d7f5de76 2098 * df-core.c: Added to header comments.
b11550aa
KZ
2099 * df.h (df_ru_bb_info, df_rd_bb_info, df_lr_bb_info,
2100 df_ur_bb_info, df_urec_bb_info): Added comments.
0ac11108 2101 * df-problems (df_ref_bitmap, ru, rd, lr, ur,
b11550aa 2102 urec, ri problems): Fixed header comments.
0ac11108 2103 (df_ru_transfer_function): Fixed in-out set dyslexia when copying
b11550aa 2104 code from df_rd_transfer_function.
0ac11108 2105
b2a203c8
RS
21062006-05-23 Richard Sandiford <richard@codesourcery.com>
2107
2108 * libgcc2.c (LIBGCC2_MAX_UNITS_PER_WORD): New macro.
2109 (LIBGCC2_UNITS_PER_WORD): Use LIBGCC2_MAX_UNITS_PER_WORD rather than
2110 MIN_UNITS_PER_WORD to set the default. Also use it in the guard.
2111
550ab0c6
JM
21122006-05-23 Joseph Myers <joseph@codesourcery.com>
2113
2114 * expr.c (undefined_operand_subword_p): New.
2115 (emit_move_multi_word): Do not generate move from undefined bits
2116 of a paradoxical subreg.
2117
e5d7a520
RS
21182006-05-23 Richard Sandiford <richard@codesourcery.com>
2119
2120 PR rtl-optimization/27736
2121 * combine.c (replaced_rhs_value): New variable.
2122 (combine_instructions): Set it.
2123 (distribute_notes): When distributing a note in replaced_rhs_insn,
2124 check whether the value was used in replaced_rhs_value.
2125
f004ab02
AM
21262006-05-23 Andrew MacLeod <amacleod@redhat.com>
2127
2128 PR c++/26757
0ac11108 2129 * tree-ssa-loop-im.c (determine_invariantness_stmt): Use
f004ab02
AM
2130 add_referenced_var instead of add_referenced_tmp_var.
2131 * tree-complex.c (create_one_component_var): Use add_referenced_var.
2132 * tree-ssa-loop-manip.c (create_iv, tree_unroll_loop): Use
2133 add_referenced_var.
2134 * tree-tailcall.c (adjust_accumulator_values, adjust_return_value,
2135 tree_optimize_tail_calls_1): Use add_referenced_var.
2136 * tree-ssa-loop-ivopts.c (create_new_iv): Use add_referenced_var.
2137 * tree-ssa-alias.c (create_memory_tag, create_global_var, create_sft):
2138 Use add_referenced_var.
2139 * tree-if-conv.c (ifc_temp_var): Use add_referenced_var.
2140 * gimplify.c (force_gimple_operand): Use add_referenced_var.
2141 * tree-ssa-phiopt.c (conditional_replacement, abs_replacement):
2142 Use add_referenced_var.
2143 * tree-dfa.c (struct walk_state): Remove.
2144 (find_referenced_vars): Remove walk state and vars_found hash table.
2145 (make_rename_temp): Use add_referenced_var.
2146 (find_vars_r): Pass less parameters to add_referenced_var.
2147 (referenced_var_p): New. Is var in referenced_var hash table.
2148 (referenced_var_insert): Assert var isn't already in hash table.
2149 (add_referenced_var): Don't need walk_state parameter. Add var if it
2150 isn't already in the hash table.
2151 (add_referenced_tmp_var): Remove.
2152 (find_new_referenced_vars_1): Use add_referenced_var.
0ac11108 2153 * tree-ssa-pre.c (create_expression_by_pieces,
f004ab02
AM
2154 insert_into_preds_of_block, insert_extra_phis, realify_fake_stores):
2155 Use add_referenced_var.
2156 * tree-vect-patterns.c (vect_pattern_recog_1): Use add_referenced_var.
2157 * lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression,
0ac11108 2158 lambda_loopnest_to_gcc_loopnest, perfect_nestify): Use
f004ab02
AM
2159 add_referenced_var.
2160 * tree-vect-transform.c (vect_create_addr_base_for_vector_ref,
2161 vect_create_data_ref_ptr, vect_create_destination_var,
0ac11108 2162 vect_init_vector, vect_build_loop_niters,
f004ab02
AM
2163 vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer,
2164 vect_gen_niters_for_prolog_loop, vect_create_cond_for_align_checks):
2165 Use add_referenced_var.
2166 * tree-outof-ssa.c (create_temp): Use add_referenced_var.
2167 * tree-flow.h (add_referenced_tmp_var): Remove prototype
2168 (add_referenced_var): Add prototype.
0ac11108 2169 * tree-ssa-structalias.c (get_constraint_for,
f004ab02
AM
2170 intra_create_variable_infos): Use add_referenced_var.
2171
dedc1e6d
AO
21722006-05-23 Alexandre Oliva <aoliva@redhat.com>
2173
2174 * simplify-rtx.c (simplify_subreg): Adjust REG_OFFSET for
2175 big-endian paradoxical subregs.
2176 * var-tracking.c (struct micro_operation_def): Document that,
2177 for modify micro operations, insn is the subsequent instruction.
2178 (var_reg_delete_and_set, var_mem_delete_and_set): Split into...
2179 (var_reg_set, var_mem_set): ... new functions.
2180 (add_stores): Record subsequent insn.
2181 (compute_bb_dataflow): Use new functions for MO_USE.
2182 (emit_notes_in_bb): Use new functions for MO_USE. Emit use
2183 notes after the insn, and modify notes before the insn known
2184 to be the subsequent one.
2185 (vt_initialize): Invert sorting of MO_CLOBBERs and MO_SETs.
2186
546be535
KH
21872006-05-23 Kazu Hirata <kazu@codesourcery.com>
2188
2189 PR target/27696
2190 * config/i386/i386.c (ix86_expand_builtin): Use
2191 gen_sse3_monitor64 for TARGET_64BIT.
2192
1a1a5f4b
KZ
21932006-05-22 Kenneth Zadeck <zadeck@naturalbridge.com>
2194
2195 PR rtl-optimization/26375
2196 PR rtl-optimization/26855
2197 * df-problems (df_ru_bb_local_compute_process_def): Removed update
2198 to gen set.
2199 (df_ru_bb_local_compute): Reversed statements and removed bogus
2200 comment explaining why they should be in wrong order.
0ac11108 2201 (df_ru_dump, df_rd_dump): Enhanced debug info.
1a1a5f4b 2202 * modulo-sched.c (sms_schedule, tree_opt_pass pass_sms): Enhanced
0ac11108 2203 debug info.
1a1a5f4b 2204 * ddg.c (add_deps_for_def): Converted use of reaching defs to
d7f5de76 2205 reaching uses and fixed space problem.
1a1a5f4b 2206
b633db7b
JH
22072006-05-23 Jan Hubicka <jh@suse.cz>
2208
2209 * cgraphunit.c (decide_is_function_needed): Also nested functions
2210 and functions declared inline can be optimized out at -O0.
2211
3f2c089f
GP
22122006-05-22 Gerald Pfeifer <gerald@pfeifer.com>
2213
2214 * doc/install.texi (Configuration): Remove reference to CrossGCC
14d92b15 2215 FAQ which was gone.
3f2c089f
GP
2216 (Building): Ditto.
2217
3d763bcf
KH
22182006-05-22 Kazu Hirata <kazu@codesourcery.com>
2219
2220 PR target/27266
2221 * config/i386/i386.c (ix86_expand_branch): Jump to simple if
2222 ix86_compare_emitted is non-NULL.
2223
123b24e7
VR
22242006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2225
2226 PR c++/27451
2227 * stmt.c (expand_asm_operands): Skip asm statement with erroneous
2228 clobbers.
2229
1ff3ac02
RS
22302006-05-22 Richard Sandiford <richard@codesourcery.com>
2231
2232 PR rtl-optimization/25514
2233 * combine.c (replaced_rhs_insn): New variable.
2234 (combine_instructions): Set replaced_rhs_insn when trying to replace
2235 a SET_SRC with a REG_EQUAL note.
2236 (distribute_notes): Use replaced_rhs_insn when determining the live
2237 range of a REG_DEAD register.
2238
8c21550d
JW
22392006-18-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
2240 Anatoly Sokolov <aesok@post.ru>
2241
2242 * config/avr/avr.c (avr_mcu_types): Add support for attiny261,
2243 attiny461, attiny861, attiny25, attiny45, attiny85, attiny24,
0ac11108
EC
2244 attiny44, attiny84, at90pwm2, at90pwm3, atmega165p, atmega169p,
2245 atmega164p, atmega324p, atmega644p, atmega644, atmega329,
2246 atmega3290, atmega649, atmega6490, atmega406, atmega640,
2247 atmega1280, atmega1281, at90can32, at90can64, at90usb646,
2248 at90usb647, at90usb1286 and at90usb1287 devices.
8c21550d
JW
2249 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
2250 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
2251
350f18df
RS
22522006-05-22 Richard Sandiford <richard@codesourcery.com>
2253
2254 * mklibgcc.in (lib2funcs): Remove _floatdidf from initial assignment.
2255
c31202cd
RG
22562006-05-22 Richard Guenther <rguenther@suse.de>
2257
2258 Revert
2259 2006-01-31 Richard Guenther <rguenther@suse.de>
2260 Paolo Bonzini <bonzini@gnu.org>
2261
2262 * doc/install.texi (--disable-libgcc-math): Document.
2263
9714c911
RG
22642006-05-22 Richard Guenther <rguenther@suse.de>
2265
2266 Revert
2267 2006-01-31 Richard Guenther <rguenther@suse.de>
2268
2269 * doc/invoke.texi (-msselibm): Document.
2270 * target.h (expand_library_builtin): New target hook.
2271 * builtins.c (expand_builtin): Use expand_library_builtin.
2272 (default_expand_library_builtin): New function.
2273 * gcc.c (LINK_GCC_MATH_SPEC): Define.
2274 (LINK_COMMAND_SPEC): Handle %(link_gcc_math).
2275 (link_gcc_math_spec): Declare.
2276 (static_specs): Add link_gcc_math_spec.
2277 * expr.h (default_expand_library_builtin): Declare.
2278 * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
2279 (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN.
2280 * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC.
2281 * config/i386/i386.opt (msselibm): New target option.
2282 * config/i386/i386.c (ix86_builtin_function_variants): New array.
2283 (ix86_init_sse_abi_builtins): New function.
2284 (ix86_expand_library_builtin): Likewise.
2285 (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
2286 (override_options): Handle error conditions wrt -msselibm.
2287 (ix86_builtins): Add function codes for SSE2 ABI builtins.
2288 (ix86_init_builtins): Call ix86_init_sse_abi_builtins.
2289 * doc/extend.texi (__builtin_sse2_*): Document new target specific
2290 builtins.
2291
4271a6f3
VR
22922006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2293
694fea20
VR
2294 PR c/27420
2295 * c-common.c (self_promoting_args_p): Skip erroneous args.
2296
4271a6f3
VR
2297 PR c/26818
2298 * c-decl.c (finish_struct): Skip erroneous fields.
2299
c3e242e7
NC
23002006-05-22 Nick Clifton <nickc@redhat.com>
2301
2302 * config/cris/cris.opt (march): Remove VarExists attribute.
2303 (max-stackframe=): Likewise.
2304
41c6dd59
KH
23052006-05-22 Kazu Hirata <kazu@codesourcery.com>
2306
2307 * doc/rtl.texi: Fix a typo.
2308 * see.c: Fix comment typos.
2309
eec077bd
KH
2310 * tree-ssa-structalias.h (alias_info): Remove num_references.
2311
76ad5c10
MS
23122006-05-21 Mike Stump <mrs@apple.com>
2313
2314 * config/darwin-c.c (BAD): Conditionalize on OPT_Wpragmas.
2315 (BAD2): Add.
213af8c8
MS
2316 (darwin_pragma_options): Use BAD instead.
2317 (darwin_pragma_unused): Likewise.
2318 (darwin_pragma_ms_struct): Likewise.
2319
d29b7f64
DE
23202006-05-21 David Edelsohn <edelsohn@gnu.org>
2321
2322 * config/rs6000/rs6000.md (floatsitf2): Remove constraints.
2323
4d49d44d
KH
23242006-05-21 Kazu Hirata <kazu@codesourcery.com>
2325
2326 PR rtl-optimization/27671
2327 * simplify-rtx.c (simplify_relational_operation_1): Fix
2328 simplifications of (eq/ne (xor x y) y) and
2329 (eq/ne (xor x y) x).
2330
5104d648
KH
2331 PR tree-optimization/26622.
2332 * fold-const.c (fold_ternary) <COND_EXPR>: Call fold_convert
2333 on arg1.
2334
6531d1be
BF
23352006-05-21 Bernhard Fischer <aldot@gcc.gnu.org>
2336
2337 * tree-cfg.c: Prune whitespace.
2338 (debug_tree_cfg): Point to correct header containing the
2339 TDF_* defines.
2340
95a52ebb
BF
23412006-05-21 Bernhard Fischer <aldot@gcc.gnu.org>
2342
2343 PR middle-end/25776
2344 * cgraphunit.c (verify_cgraph_node): Typo in error message.
2345
7e2fe9d8
AP
23462006-05-20 Andrew Pinski <pinskia@physics.uc.edu>
2347
2348 PR middle-end/25776
2349 * cgraphunit.c (cgraph_optimize): Don't run ipa passes if error
2350 or sorry count is non zero.
2351
e29c9705 23522006-05-20 Andreas Schwab <schwab@suse.de>
9be3bc1f
AS
2353
2354 * config/pa/pa-linux.h (STRING_ASM_OP): Prepend and append a tab.
2355
5d384034
DB
23562006-05-19 Daniel Berlin <dberlin@dberlin.org>
2357 Kenneth Zadeck <zadeck@naturalbridge.com>
2358
2359 PR rtl-optimization/26855
2360
2361 * df-scan.c (mw_reg_pool, mw_link_pool): New allocation pools for
2362 multiword refs.
2363 (df_scan_alloc): Added code to properly handle multiword hard
2364 registers and add all_blocks parameter.
2365 (df_scan_free_internal, df_insn_refs_delete, df_ref_record): Added
2366 code to properly handle multiword hard registers.
2367 (df_rescan_blocks): Added code to remove deleted blocks from
2368 bitmap.
2369 (df_ref_create_structure, df_ref_record): Added code to properly
2370 handle subregs.
2371 (df_ref_record_1): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER
2372 and set DF_REF_PARTIAL.
2373 (df_defs_record): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER.
0ac11108 2374 (df_uses_record): Added DF_REF_PARTIAL for subreg.
5d384034
DB
2375 (df_scan_add_problem): Added flags parameter.
2376 (df_ref_create_structure): Changed switching structure.
2377 (df_bb_refs_record): Fixed case where duplicate artificial refs
2378 were created. Changed location of flags.
2379 (df_record_entry_block_defs): Added code to make stack pointer
2380 live in entry block. Refined cases where frame pointer is needed.
2381 Changed location of flags.
2382 (df_record_exit_block_uses, df_insn_refs_record): Changed location of flags.
2383 (df_set_state): Removed function.
2384 (df_grow_reg_info, df_reg_chain_unlink, df_ref_remove,
0ac11108
EC
2385 df_insn_create_insn_record, df_insn_refs_delete,
2386 df_ref_create_structure): Formatting changes.
5d384034
DB
2387 * df-core.c (df_mvs_dump, df_set_flags, df_clear_flags,
2388 df_delete_basic_block): New function.
2389 (df_init): Changed location of flags.
2390 (df_add_problem): Added flags parameter and the way flags are
2391 processed.
2392 (df_insn_uid_debug, df_ref_debug, debug_df_defno, debug_df_ref,
2393 debug_df_chain): Improved debugging output.
2394 (df_insn_debug, df_insn_uid_debug): Added multiword reg support.
2395 (df_refs_chain_dump): Removed df parameter.
2396 (df_iterative_dataflow): Added consistency check.
2397 (df_prune_to_subcfg): Made public.
2398 (df_analyze_problem): Added blocks_to_init parameter and made
2399 public.
0ac11108 2400 (df_ref_record, df_bb_refs_record, df_mark_reg,
5d384034
DB
2401 df_record_exit_block_uses): Whitespace changes.
2402 (df_dump): Whitespace changes.
2403 * df.h: Some reordering to remove forward references.
2404 (df_ref_flags.DF_REF_MW_HARDREG, DF_REF_PARTIAL,
2405 DF_REF_MUST_CLOBBER, DF_REF_MAY_CLOBBER): New fields.
2406 (df_ref_flags.DF_REF_CLOBBER): Deleted field.
2407 (dataflow.flags): New field.
2408 (df.flag): Deleted field.
2409 (df_alloc_function): Added additional bitmap parameter.
2410 (df_dependent_problem_function): New type.
2411 (df_problem.changeable_flags): New field.
2412 (df_ref_flags.DF_REF_DIES_AFTER_THIS_USE, DF_SCAN_INITIAL,
2413 DF_SCAN_GLOBAL, DF_SCAN_POST_ALLOC, df_state): Removed.
2414 (df_mw_hardreg): New struct.
2415 (DF_INSN_UID_MWS): New macro.
2416 (df_refs_chain_dump, df_ref_debug, df_chain_dump): Removed df
2417 parameter.
2418 (df_add_problem, df_ru_add_problem, df_rd_add_problem,
2419 df_lr_add_problem, df_ur_add_problem, df_urec_add_problem,
2420 df_ri_add_problem, df_scan_add_problem): Added flags parameter.
2421 (df_set_state): Removed function.
2422 (df_set_flags, df_clear_flags, df_delete_basic_block) New functions.
2423 * df-problems.c (df_chain_dump): Removed df parameter.
2424 (df_ru_alloc, df_rd_alloc, df_lr_alloc, df_ur_alloc,
2425 df_urec_alloc, df_chain_alloc, df_ri_alloc): Added all blocks
2426 parameter.
2427 (df_ru_alloc, df_rd_alloc): Now resets all blocks.
2428 (df_rd_bb_local_compute_process_def, df_ur_bb_local_compute,
2429 df_chain_create_bb, df_create_unused_note, df_ri_bb_compute):
2430 Split DF_REF_CLOBBER into DF_REF_MAY_CLOBBER and
2431 DF_REF_MUST_CLOBBER cases.
2432 (df_ru_bb_local_compute_process_def,
2433 df_rd_bb_local_compute_process_def, df_lr_bb_local_compute,
2434 df_lr_bb_local_compute, df_ur_bb_local_compute,
2435 df_chain_create_bb): Made subreg aware.
2436 (df_ru_bb_local_compute, df_rd_bb_local_compute,
2437 df_lr_bb_local_compute, df_lr_bb_local_compute,
2438 df_chain_create_bb): Cleanup to use proper macros.
2439 (df_ur_local_finalize, df_urec_local_finalize): Removed unnecessary
2440 code to fixup bitvectors.
2441 (df_ri_alloc): Cleared lifetime.
2442 (df_ignore_stack_reg, df_kill_notes, df_set_notes_for_mw,
2443 df_create_unused_note): New function.
2444 (df_ri_bb_compute, df_ri_compute): Added code to create/update
2445 REG_DEAD and REG_UNUSED notes as well as register information.
2446 (df_ru_dump, df_rd_dump, df_lr_dump, df_ur_dump, df_urec_dump,
2447 df_chains_dump): Fixed crash if problem was never run.
2448 (df_ru_add_problem, df_rd_add_problem, df_lr_add_problem,
2449 df_ur_add_problem, df_urec_add_problem, df_chain_add_problem,
2450 df_ri_add_problem): Processes flags in uniform manner.
2451 (df_ru_alloc, df_ru_local_compute, df_ru_confluence_n, df_ru_free,
2452 df_ru_dump, df_rd_local_compute, df_rd_confluence_n, df_rd_free,
2453 df_rd_dump, df_urec_free_bb_info): Formatting changes.
2454 (df_ru_free_bb_info, df_ru_bb_local_compute, df_ru_dump,
2455 df_rd_free_bb_info, df_rd_bb_local_compute_process_def,
2456 df_rd_bb_local_compute, df_rd_dump, df_lr_free_bb_info,
2457 df_lr_bb_local_compute, df_lr_local_compute, df_ur_free_bb_info,
2458 df_ur_dump, df_urec_free_bb_info, df_urec_dump,
2459 df_chain_create_bb, df_ri_bb_compute): Whitespace changes.
2460 * modulo-sched.c (sms_schedule): Added flag parameter to calls.
2461 * see.c (see_initialize_data): Ditto.
2462 * final.c (rest_of_clean_state) Added regstack_completed.
2463 * rtl.h (regstack_completed): Ditto.
2464 * reg-stack.c (regstack_completed): Ditto.
2465
d593cb3d
MS
24662006-05-19 Mike Stump <mrs@apple.com>
2467
2468 * c-tree.h (default_conversion): Remove.
2469 * c-common.h (default_conversion): Add.
2470
04dce5a4
ZD
24712006-05-19 Zdenek Dvorak <dvorakz@suse.cz>
2472
2473 * tree-vrp.c (valid_value_p): New function.
2474 (adjust_range_with_scev): Fail if the value of bound is not
2475 simple.
2476
fa807ff6
RS
24772006-05-19 Richard Sandiford <richard@codesourcery.com>
2478
2479 * config/mips/linux-unwind.h: Include <asm/unistd.h>
2480 (mips_fallback_frame_state): Use syscall numbers to determine
2481 the appropriate li instruction for the current ABI. Only use
2482 __NR_sigreturn for o32.
2483
721a8ac5
NS
24842006-05-19 Nicolas Setton <setton@adacore.com>
2485
2486 * langhooks.h (struct lang_hooks): Add dwarf_name language hook.
2487 * langhooks.c (lhd_dwarf_name): New function.
2488 * langhooks-def.h (lhd_dwarf_name): Declare.
2489 (LANG_HOOKS_DWARF_NAME): New macro, defaults to lhd_dwarf_name.
2490 * dwarf2out.c (dwarf2_name): Use the dwarf_name language hook.
2491 * ada/misc.c (gnat_dwarf_name): New function.
2492 (LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name.
0ac11108 2493
baffad1f
RS
24942006-05-19 Richard Sandiford <richard@codesourcery.com>
2495
2496 * libgcc2.c (MIN_UNITS_PER_WORD): Move default definition from
2497 libgcc2.h.
2498 (LIBGCC2_UNITS_PER_WORD): Provide default definition, using old
2499 MIN_UNITS_PER_WORD logic from libgcc2.h. Do nothing if
2500 LIBGCC2_UNITS_PER_WORD > MIN_UNITS_PER_WORD.
2501 * libgcc2.h (MIN_UNITS_PER_WORD): Remove definition from here.
2502 Use LIBGCC2_UNITS_PER_WORD rather than MIN_UNITS_PER_WORD to
2503 determine the size of Wtype, etc.
2504 * mklibgcc.in (LIB2_SIDITI_CONV_FUNCS): New argument.
2505 (swfloatfuncs): New variable.
2506 (dwfloatfuncs): Likewise.
2507 (lib2funcs): Remove floating-point conversion functions from
2508 initial assignment. Use LIB2_SIDITI_CONV_FUNCS to determine
2509 the set of conversion routines needed. Allow entries to specify
2510 an object name, filename and word size. Update users accordingly.
2511 * Makefile.in (libgcc.mk): Pass LIB2_SIDITI_CONV_FUNCS.
2512 * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Define.
2513
2514 Revert:
2515
2516 2006-02-08 Roger Sayle <roger@eyesopen.com>
2517
2518 PR target/22209
2519 * config/fixtfdi.c: New libgcc source file.
2520 * config/fixunstfdi.c: New source file.
2521 * config/floatditf.c: New source file.
2522 * config/floatunditf.c: New souce file.
2523 * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
2524 files above instead of config/mips/_tilib.c.
2525 * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
2526
03be9d6b
JDA
25272006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2528
2529 * pa/t-hpux-shlib (SHLIB_LINK): Remove `-lc'.
2530 * pa/pa-hpux11.h (LIB_SPEC): Update comment.
2531
52ffd86e
MS
25322006-05-18 Mike Stump <mrs@apple.com>
2533
2534 Fix up vla, vm and [*] sematics.
2535
2536 PR c/18740
2537 PR c/7948
2538 PR c/25802
6a1f8611 2539 PR c/27673
52ffd86e
MS
2540 * c-tree.h (struct c_arg_info): Add had_vla_unspec.
2541 (c_vla_unspec_p): Add.
2542 (c_vla_type_p): Add.
2543 * c-decl.c (struct c_scope): Add had_vla_unspec.
2544 (build_array_declarator): Add support for [*].
2545 (grokdeclarator): Likewise.
2546 (grokparms): Likewise.
2547 (get_parm_info): Likewise.
2548 * c-objc-common.c (c_vla_unspec_p): Likewise.
2549 * c-objc-common.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Likewise.
2550 * c-parser.c (c_parser_typeof_specifier): Evaluate arguments to
2551 typeof when argument is a variably modified type not inside sizeof or alignof.
2552 (c_parser_direct_declarator_inner): Propagate errors.
2553 (c_parser_sizeof_expression): Add support for [*].
6a1f8611
MS
2554 (c_parser_parms_declarator): Initialize had_vla_unspec.
2555 (c_parser_parms_list_declarator): Likewise.
52ffd86e
MS
2556 * c-typeck.c (c_vla_type_p): Add.
2557 (composite_type): Add support for vla compositing.
2558 (comptypes_internal): Add support for vla compatibility.
2559 (c_expr_sizeof_expr): Evaluate vla arguments.
2560 * tree.c (variably_modified_type_p): Update comment for [*].
2561
eaec4980
MM
25622006-05-18 Michael Matz <matz@suse.de>
2563
2564 PR target/27599
2565 * config.host: Make assignments to host_xmake_file cumulative.
2566 * config.host (*-darwin*): Test $host, not $target.
2567
33932946
SH
25682006-05-12 Stuart Hastings <stuart@apple.com>
2569
a1d1988f
MS
2570 * config/i386/i386.opt (-mstackrealign): New flag.
2571 * config/i386/i386.c (force_align_arg_pointer): New attribute.
33932946
SH
2572 (ix86_handle_cconv_attribute): Emit error when
2573 force_align_arg_pointer attribute collides with too many regparms.
2574 (ix86_function_regparm): Limit regparms when used with
2575 force_align_arg_pointer attribute. (ix86_internal_arg_pointer):
2576 Support stack-realigning prologue in non-main functions. Emit
2577 warning for nested functions under -mstackrealign, emit error for
2578 nested functions with force_align_arg_pointer attribute.
a1d1988f
MS
2579 * doc/extend.texi (force_align_arg_pointer): Document it.
2580 * doc/invoke.texi (-mstackrealign): Document it.
e8366202 2581
c8983342
KH
25822006-05-17 Kazu Hirata <kazu@codesourcery.com>
2583
2584 PR rtl-optimization/27477
2585 * combine.c (try_combine): Don't split a parallel consisting
2586 of two sets into two individual sets if both sets reference
2587 cc0.
2588
344185f1
L
25892006-05-17 H.J. Lu <hongjiu.lu@intel.com>
2590
2591 * config/arm/arm.opt (target_fpe_name): Remove VarExists.
2592 * config/rs6000/rs6000.opt (TARGET_NO_FP_IN_TOC): Likewise.
2593
2594 * doc/options.texi (VarExists): Updated.
2595
edbaf6a2
JDA
25962006-05-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2597
2598 * unwind-dw2.c: Add declarations for uw_update_context and
2599 uw_frame_state_for.
2600 * pa/hpux-unwind.h (pa_fallback_frame_state): When an export stub is
2601 detected, advance frame state and context once to skip over stub.
2602
c93c5025
SP
26032006-05-17 Sebastian Pop <pop@cri.ensmp.fr>
2604
2605 PR middle-end/20256
2606 PR middle-end/26435
2607 * tree-loop-linear.c (linear_transform_loops): Don't test perfect_nest_p.
2608 Call rewrite_into_loop_closed_ssa only when something changed.
2609 * lambda.h (gcc_loopnest_to_lambda_loopnest): Update declaration.
2610 * lambda-code.c (can_convert_to_perfect_nest): Declared.
2611 (gcc_loopnest_to_lambda_loopnest): Removed need_perfect_nest parameter.
2612 Test for perfect_nest_p here. Fix formating.
2613 (replace_uses_equiv_to_x_with_y): Fix formating.
2614 (stmt_uses_op): Removed.
2615 (can_convert_to_perfect_nest): Removed loopivs parameter.
2616 Complete the test by checking the scalar dependences.
2617 (perfect_nestify): Remove the test for can_convert_to_perfect_nest.
2618 Fix formating.
2619
be448346
BS
26202005-05-17 Bernd Schmidt <bernd.schmidt@analog.com>
2621
2622 PR bootstrap/22541
2623 From Dan Kegel <dank@kegel.com>:
2624 * Makefile.in: Strip "dir/../" combinations from SYSTEM_INCLUDE_DIR.
2625
2e3b8fe7
EB
26262006-05-17 Eric Botcazou <ebotcazou@adacore.com>
2627
2628 * tree.c (variably_modified_type_p) <ARRAY_TYPE>: Return true
2629 if the element type is variably modified without recursing.
2630
9cb8f1ba
SP
26312006-05-17 Sebastian Pop <pop@cri.ensmp.fr>
2632
2633 PR middle-end/27332
e8366202 2634 * tree-loop-linear.c (try_interchange_loops): Test for
9cb8f1ba
SP
2635 no data dependences.
2636
e5db3515
ZD
26372006-05-17 Zdenek Dvorak <dvorakz@suse.cz>
2638
2639 PR tree-optimization/27548
2640 * tree-scalar-evolution.c (scev_const_prop): Do not prolong life
2641 range of ssa names that appear on abnormal edges.
2642 * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Export.
2643 * tree-flow.h (contains_abnormal_ssa_name_p): Declare.
2644
33598a1b
BS
26452005-05-17 Bernd Schmidt <bernd.schmidt@analog.com>
2646
2647 PR middle-end/27620
2648 * expr.c (safe_from_p): Handle CONSTRUCTOR again.
2649
761041be
JJ
26502006-05-17 Jakub Jelinek <jakub@redhat.com>
2651
2652 PR middle-end/27415
2653 * tree.h (OMP_PARALLEL_COMBINED): Define.
2654 * gimplify.c (struct gimplify_omp_ctx): Add is_combined_parallel field.
2655 (new_omp_context): Add is_combined_parallel argument.
2656 (gimplify_scan_omp_clauses): Add in_combined_parallel argument, adjust
2657 new_omp_context caller.
2658 (gimplify_omp_parallel, gimplify_omp_for, gimplify_omp_workshare):
2659 Adjust gimplify_scan_omp_clauses callers.
2660 (omp_is_private): Issue errors if iteration variable is firstprivate
2661 or reduction in the current context.
2662 * c-parser.c (c_parser_omp_parallel): Set OMP_PARALLEL_COMBINED
2663 on combined parallel workshare constructs.
2664
8dc3f290
L
26652006-05-16 H.J. Lu <hongjiu.lu@intel.com>
2666
2667 * Makefile.in (GCC_OBJS): Replace options.o with gcc-options.o.
2668 (gcc-options.o): New rule.
2669
2670 * optc-gen.awk: Protect variables for gcc-options.o with
2671 #ifdef GCC_DRIVER/#endif.
2672
2ed4b0ce 26732006-05-16 Daniel Berlin <dberlin@dberlin.org>
e8366202 2674
2ed4b0ce
DB
2675 Fix PR tree-optimization/27373
2676 * tree-ssa-forwprop.c: (forward_propagate_addr_expr_1): Add argument.
2677 (forward_propagate_addr_expr): Update call.
2678
48b06e94
L
26792006-05-16 H.J. Lu <hongjiu.lu@intel.com>
2680
2681 * doc/options.texi: Move the Negative option.
2682
faaf1436
RG
26832006-05-16 Richard Guenther <rguenther@suse.de>
2684
2685 PR tree-optimization/22303
2686 * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle reads
2687 from STRING_CSTs.
2688 (evaluate_stmt): Fall back to fold_const_aggregate_ref, if
2689 ccp_fold did not simplify the statement.
2690
14c7833c
L
26912006-05-16 H.J. Lu <hongjiu.lu@intel.com>
2692
2693 PR driver/26885
2694 * Makefile.in (GCC_OBJS): New.
2695 (OBJS-common): Add opts-common.o.
2696 (xgcc$(exeext)): Replace gcc.o with $(GCC_OBJS).
2697 (cpp$(exeext)): Likewise.
2698 (gcc.o): Also depend on opts.h.
2699 (opts-common.o): New.
2700
2701 * common.opt (gcoff): Add Negative(gdwarf-2).
2702 (gdwarf-2): Add Negative(gstabs).
2703 (gstabs): Add Negative(gstabs+).
2704 (gstabs+): Add Negative(gvms).
2705 (gvms): Add Negative(gxcoff).
2706 (gxcoff): Add Negative(gxcoff+).
2707 (gxcoff+): Add Negative(gcoff).
2708 * config/i386/i386.opt (m32): Add Negative(m64).
2709 (m64): Add Negative(m32).
2710
2711 * doc/options.texi: Document the Negative option.
2712
2713 * gcc.c: Include "opts.h".
2714 (main): Call prune_options after expandargv.
2715
2716 * optc-gen.awk: Generate common declarations for all flag
2717 variables in options.c. Output the neg_index field.
2718
2719 * opts.c (find_opt): Moved to ...
2720 * opts-common.c: Here. New file.
2721
2722 * opts.h (cl_option): Add a neg_index field.
2723 (find_opt): New.
2724 (prune_options): Likewise.
2725
4156f84b
JJ
27262006-05-16 Jakub Jelinek <jakub@redhat.com>
2727
b570947c
JJ
2728 PR middle-end/27573
2729 * omp-low.c (expand_omp_parallel): Don't assert
2730 .OMP_DATA_I = &.OMP_DATA_O is the first statement in the block,
2731 instead search for it.
2732
4156f84b
JJ
2733 PR c/27499
2734 * gimplify.c (gimplify_omp_for): Remove assertion that iteration var
2735 is signed.
2736
726e9992
AS
27372006-05-16 Andreas Schwab <schwab@suse.de>
2738
2739 * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Add missing @end
2740 defmac.
2741
d0b89852
RS
27422006-05-15 Roger Sayle <roger@eyesopen.com>
2743
2744 PR target/26600
2745 * config/i386/i386.c (legitimate_constant_p) <CONST_DOUBLE>: TImode
2746 integer constants other than zero are only legitimate on TARGET_64BIT.
2747 <CONST_VECTOR> Only zero vectors are legitimate.
2748 (ix86_cannot_force_const_mem): Integral and vector constants can
2749 always be put in the constant pool.
2750
a0cfeb0f
DD
27512006-05-16 DJ Delorie <dj@redhat.com>
2752
2753 * crtstuff.c (__dso_handle): Set section from
2754 TARGET_LBIGCC_SDATA_SECTION if defined.
726e9992 2755 * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Document.
a0cfeb0f
DD
2756 * config/mips/mips.h (TARGET_LIBGCC_SDATA_SECTION): Define.
2757
21028020
DS
27582006-05-16 Danny Smith <dannysmith@users.sourceforge.net>
2759
eaec4980 2760 PR target/27599
21028020
DS
2761 * config.host (i[34567]86-*-mingw*): Append i386/x-mingw32 to
2762 host_xmake_file.
2763
4741d956
BE
27642006-05-16 Ben Elliston <bje@au.ibm.com>
2765
2766 * tree-cfg.c (split_edge_bb_loc): Remove unused variable `src'.
2767
44422aa3
PB
27682006-05-15 Per Bothner <per@bothner.com>
2769
0977c9ab 2770 * tree.c: (last_annotated_node): Use source_locus typedef.
44422aa3
PB
2771 This permits bootstrapping with --enable-mapped-location.
2772
95dd3097
ZD
27732006-05-15 Zdenek Dvorak <dvorakz@suse.cz>
2774
2775 PR tree-optimization/26830
2776 * tree-into-ssa.c (struct ssa_name_info): Add age field.
2777 (info_for_ssa_name, current_info_for_ssa_name_age,
2778 blocks_to_update): New variables.
2779 (get_ssa_name_ann): Use info_for_ssa_name instead of SSA_NAME_AUX.
2780 (clear_ssa_name_info, initialize_flags_in_bb,
2781 mark_block_for_update): New functions.
2782 (mark_def_sites, rewrite_stmt): Assert that blocks_to_update is NULL.
2783 (insert_phi_nodes_for, mark_use_interesting, prepare_block_for_update,
2784 prepare_def_site_for): Use mark_block_for_update.
2785 (mark_def_interesting): Assert that the processed block is marked in
2786 blocks_to_update. Do not take blocks argument.
2787 (prepare_use_sites_for, prepare_names_to_update): Do not take blocks
2788 argument.
2789 (rewrite_update_init_block, rewrite_update_stmt): Only process
2790 blocks with statements to rewrite.
2791 (delete_update_ssa): Do not clear SSA_NAME_AUX.
2792 (update_ssa): Initialize and free blocks_to_update. Do not
2793 clear flags on statements. Do not use blocks bitmap.
2794 * tree.h (SSA_NAME_AUX): Removed.
2795 (struct tree_ssa_name): Removed aux field.
2796 * print-tree.c (print_node): Do not print SSA_NAME_AUX.
2797
7136db7a
RG
27982006-05-15 Richard Guenther <rguenther@suse.de>
2799
2800 PR tree-optimization/27603
2801 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
2802 Do computations in original type.
2803
a0145633
MN
28042006-05-15 Mircea Namolaru <namolaru@il.ibm.com>
2805
f8f80cbb
ZD
2806 * see.c: Code style changes such as redundant paranthesis,
2807 redundant intialization of local variables etc.
2808 (see_main): Declared now as static.
2809 * doc/invoke.texi: Update that -fsee is not enabled by
2810 default at -O3.
a0145633 2811
eeb1d9e0
JJ
28122006-05-15 Jakub Jelinek <jakub@redhat.com>
2813
a6fc8e21
JJ
2814 * omp-low.c (check_omp_nesting_restrictions): New function.
2815 (scan_omp_1): Call it.
2816
eeb1d9e0
JJ
2817 PR middle-end/27416
2818 * omp-low.c (build_outer_var_ref): If VAR is reference in orphaned
2819 construct, return *VAR.
2820
a1709769
KK
28212006-05-14 Kaz Kojima <kkojima@gcc.gnu.org>
2822
2823 PR rtl-optimization/27406
2824 * bt-load.c (migrate_btr_def): Skip the block having abnormal
2825 edges.
2826
56106c2e
RS
28272006-05-14 Roger Sayle <roger@eyesopen.com>
2828
2829 PR rtl-optimization/27538
2830 * combine.c (expand_compound_operation): Call gen_lowpart
2831 before calling simplify_shift_const.
2832
c505fc06
RS
28332006-05-14 Roger Sayle <roger@eyesopen.com>
2834
2835 PR rtl-optimization/22563
2836 * expmed.c (store_fixed_bit_field): When using AND and IOR to store
2837 a fixed width bitfield, always force the intermediates into psuedos.
2838
f9a4b91e
BF
28392006-05-14 Bernhard Fischer <aldot@gcc.gnu.org>
2840
2841 PR 27501
2842 * mkconfig.sh: Use operator = instead of == for test.
2843
83409463
NC
28442006-05-13 Nick Clifton <nickc@redhat.com>
2845
2846 * dwarf2out.c (dbx_reg_number): Check return value from
2847 LEAF_REG_REMAP and only use it if it is valid.
2848 (multiple_reg_loc_descriptor): Likewise.
2849
75c3fb73
RG
28502006-05-13 Richard Guenther <rguenther@suse.de>
2851
2852 * config.host <i[34567]86-*-cygwin*>: Append i386/x-cygwin to
2853 host_xmake_file.
2854
a1b53177
SB
28552006-05-13 Steven Bosscher <stevenb.gcc@gmail.com>
2856
2857 * df-core.c (df_bb_regno_last_use_find): Do not look for dataflow
2858 information attached to non-INSNs such as NOTEs.
2859 (df_bb_regno_first_def_find, df_bb_regno_last_def_find): Likewise.
2860
651a36e3
AK
28612006-05-12 Andreas Krebbel <krebbel1@de.ibm.com>
2862
2863 * config/s390/s390.c (s390_const_ok_for_constraint_p): Disallow -4G for
2864 On contraint.
2865 * config/s390/s390.md: Adjust comment describing On constraint.
2866
5d342ef9
JH
28672006-05-11 Jan Hubicka <jh@suse.cz>
2868
2869 * cgraphunit.c (decide_is_function_needed): Don't force always_inline
2870 to be output at -O0.
2871
81e61fb4
VR
28722006-05-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2873
7ebcc52c
VR
2874 PR middle-end/27384
2875 * fold-const.c (size_binop): Move sanity check for arguments to
2876 the beginning of the function.
2877
81e61fb4
VR
2878 PR middle-end/27488
2879 * fold-const.c (tree_expr_nonnegative_p): Return early on invalid
2880 expression.
2881
497cfe24
RG
28822006-05-11 Richard Guenther <rguenther@suse.de>
2883
2884 PR middle-end/27529
2885 * fold-const.c (fold_unary): Handle intermediate conversion
2886 to a pointer type like intermediate conversion to an integer
2887 type in folding of (T1)(T2)var to var.
2888 Match the code to the comment in the final conversion for
2889 (T1)(T2)var to (T1)var regarding to type precision. Rather
2890 than disallow T1 being of pointer type, assert that both T1
2891 and var are of pointer type or not. Make sure not to fall
2892 over the frontends lazyness wrt array to pointer decay though.
2893
29e339b9
RE
28942006-05-10 Richard Earnshaw <rearnsha@arm.com>
2895
2896 * arm.c (arm_struct_value_rtx): Delete.
2897 (TARGET_STRUCT_VALUE_RTX): Use the default definition.
2898 (arm_init_cumulative_args): Always initialize nregs to zero.
2899
5ac4f3bb
RG
29002006-05-10 Richard Guenther <rguenther@suse.de>
2901
2902 PR tree-optimization/27532
2903 * tree-object-size.c (plus_expr_object_size): Fix typo.
2904
e43d8b8a
KH
29052006-05-10 Kazu Hirata <kazu@codesourcery.com>
2906
2907 PR target/24949
2908 * config/m68k/m68k.md (ashrdi_const32, ashrdi_const32_mem,
2909 ashrdi_const, ashrdi3): Use a scratch register.
2910
a04d8591
RG
29112006-05-10 Richard Guenther <rguenther@suse.de>
2912
2913 PR tree-optimization/27302
2914 * fold-const.c (operand_equal_p): For two comparisons,
2915 try comparison of one comparison code swapped if that yields
2916 the same code.
2917
9c5835d5
BE
29182006-05-10 Ben Elliston <bje@au.ibm.com>
2919
4db60bd0
BE
2920 * tree-pretty-print.c (pretty_print_string): No need to handle
2921 '\0' as a special character.
2922
9c5835d5
BE
2923 * tree.h: Include "hashtab.h".
2924 (iterative_hash_expr): Use hashval_t in its prototype.
2925 * Makefile.in (TREE_H): Add $(HASHTAB_H).
2926
543b6009
SE
29272006-05-09 Steve Ellcey <sje@cup.hp.com>
2928
2929 PR bootstrap/26872
2930 * config.gcc (hppa[12]*-*-hpux10*): Set gas to yes.
2931 (hppa*64*-*-hpux11*): Ditto.
2932 (hppa[12]*-*-hpux11*): Ditto.
2933
7ac159a5
DE
29342006-05-09 David Edelsohn <edelsohn@gnu.org>
2935
2936 PR target/26545
2937 * config/rs6000/aix41.h (TARGET_64BIT): Define.
2938
fa959ce4
MM
29392006-05-09 Michael Matz <matz@suse.de>
2940
2941 * config.host (<i[34567]86-*-*, x86_64-*-*>): Set
2942 host_extra_gcc_objs and host_xmake_file.
2943 (<*-*-linux*>): Don't overwrite host_xmake_file.
2944 * gcc.c (static_spec_functions): Add EXTRA_SPEC_FUNCTIONS.
2945 * config/i386/i386.h (EXTRA_SPEC_FUNCTIONS): Define.
2946 (host_detect_local_cpu): Declare.
2947 (CC1_CPU_SPEC): Add -march=native and -mtune=native cases.
2948 * config/i386/i386.c (override_options): Handle -mtune=native
2949 as -mtune=generic.
2950 * config/i386/x-i386: New file.
2951 * config/i386/driver-i386.c: New file.
2952 * doc/invoke.texi (<i386 and x86-64 Options>): Describe
2953 cpu-type "native".
2954
f9c3744b
DM
29552006-05-09 Dirk Mueller <dmueller@suse.de>
2956 Richard Guenther <rguenther@suse.de>
2957
2958 PR middle-end/27498
2959 * fold-const.c (fold_read_from_constant_string): Relax check
2960 for matching types to matching modes.
2961
2c790a28
ZD
29622006-05-09 Zdenek Dvorak <dvorakz@suse.cz>
2963
2964 PR rtl-optimization/27335
2965 * loop-unroll.c (peel_loops_completely): Use loops->parray to walk the
2966 loops.
2967
ec4fc7ed
RS
29682006-05-08 Chao-ying Fu <fu@mips.com>
2969 Richard Sandiford <richard@codesourcery.com>
2970
2971 * config/mips/mips-ps-3d.md (scc_ps, s<code>_ps): New patterns.
2972 (vcondv2sf, sminv2sf3, smaxv2sf3): Likewise.
2973 * config/mips/mips.md (UNSPEC_SCC): New constant.
2974 * config/mips/mips-protos.h (mips_expand_vcondv2sf): Declare.
2975 * config/mips/mips.c (mips_reverse_fp_cond_p): New function.
2976 (mips_emit_compare): Use it.
2977 (mips_expand_vcondv2sf): New function.
2978
74be08f8
DB
29792006-05-08 Daniel Berlin <dberlin@dberlin.org>
2980
2981 Fix PR tree-optimization/27093
e8366202 2982 * tree-ssa-alias.c (recalculate_used_alone): Mark variables for
74be08f8
DB
2983 renaming when they become not-used_alone.
2984
fdaaf002
JDA
29852006-05-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2986
2987 * hpux-unwind.h (pa_fallback_frame_state): Handle return parameter
2988 relocation and relocation stubs.
2989
90c92323
EC
29902006-05-08 Eric Christopher <echristo@apple.com>
2991
2992 * unwind-dw2-fde-darwin.c (examine_objects): Only check data
2993 section for ppc.
2994
04f77d0f
JH
29952006-05-08 Jan Hubicka <jh@suse.cz>
2996
46f5f7f2 2997 PR middle-end/24561
04f77d0f
JH
2998 * cgraphunit.c (decide_is_function_needed): When not optimizing even
2999 unused static functions are needed.
3000
857e5753
RS
30012006-05-08 Roger Sayle <roger@eyesopen.com>
3002
3003 PR target/27158
3004 * reload.c (find_reloads_toplev): Only return the simplified SUBREG
3005 of a reg_equiv_constant if the result is a legitimate constant.
3006
b81bd6c9
UB
30072006-05-08 Uros Bizjak <uros@kss-loka.si>
3008
3009 PR target/27277
3010 * config/i386/i386.c (ix86_rtx_costs) [FLOAT_EXTEND]: For
3011 standard 80387 constants, raise the cost to prevent
3012 compress_float_constant() to generate load from memory.
3013
923d16d4
KH
30142006-05-08 Kazu Hirata <kazu@codesourcery.com>
3015
3016 * config/arm/constraints.md (c): Fix a typo.
3017
bca50406
KH
3018 * see.c, tree-flow-inline.h, tree-phinodes.c: Fix comment
3019 typos.
3020
67a4b391
L
30212006-05-07 H.J. Lu <hongjiu.lu@intel.com>
3022
3023 PR target/24879
3024 * config/i386/pmmintrin.h (_mm_monitor): Remove macro. Use
3025 inline function.
3026 (_mm_mwait): Likewise.
3027
3028 * config/i386/sse.md (sse3_mwait): Replace "mwait\t%0, %1" with
3029 "mwait".
3030 (sse3_monitor): Make it 32bit only.
3031 (sse3_monitor64): New. 64bit monitor.
3032
f7360901
VR
30332006-05-07 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3034
3035 PR target/27421
3036 * config/i386/i386.c (classify_argument): Skip fields with invalid
3037 types.
3038
18455d17
RG
30392006-05-07 Richard Guenther <rguenther@suse.de>
3040
3041 PR tree-optimization/27409
3042 * tree-ssa-structalias.c (get_constraint_for_component_ref):
3043 Do not try to find zero-sized subvars.
3044
ed52affe
RG
30452006-05-07 Richard Guenther <rguenther@suse.de>
3046
3047 PR tree-optimization/27136
3048 * tree-ssa-loop-niter.c (get_val_for): Correct function
3049 comment, assert requirements.
3050 (loop_niter_by_eval): Stop processing if the iterated
3051 value did not simplify.
3052
ef5d0a89
MN
30532006-05-07 Mircea Namolaru <namolaru@il.ibm.com>
3054
e8366202 3055 * opts.c (flag_see): remove its setting at -O3.
90c92323 3056
ce92b223
RE
30572006-05-07 Richard Earnshaw <rearnsha@arm.com>
3058
3059 * genpeep.c (main): Make insn-peep.c depend on flags.h.
3060 * arm/constraints.md: New file.
3061 * arm.h (REG_CLASS_FROM_LETTER_P): Delete.
3062 (CONST_OK_FOR_ARM_LETTER, CONST_OK_FOR_THUMB_LETTER)
3063 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_ARM_LETTER)
3064 (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT_STR_ARM)
3065 (CONSTRAINT_LEN, EXTRA_CONSTRAINT_THUMB, EXTRA_CONSTRAINT_STR)
3066 (EXTRA_MEMORY_CONSTRAINT): Likewise.
3067 * arm.md: Include constraints.md.
3068 (thumb_movsi_insn): Use satisfies_constraint_J.
3069 (movhi, movqi): Use satisfies_constraint_I.
3070
ed1a08a7
AS
30712006-04-29 Anatoly Sokolov <aesok@post.ru>
3072
e8366202 3073 * config/avr/avr.h (CRT_BINUTILS_SPECS): Fixed crt* file name
ed1a08a7
AS
3074 for atmeg a645 device.
3075
75bfa678
RG
30762006-05-06 Richard Guenther <rguenther@suse.de>
3077
3078 PR tree-optimization/27151
3079 * tree-vect-transform.c (vectorizable_condition): Punt on
3080 values that have a different type than the condition.
3081
8d8d1a28
AH
30822006-05-03 Aldy Hernandez <aldyh@redhat.com>
3083
3084 PR/21391
3085 * c-parser.c (c_parser_cast_expression): Only insert casts into
3086 hash table if pointer.
3087 * function.c (used_types_insert_helper): Rename from
3088 used_types_insert.
3089 (used_types_insert): Call used_types_insert_helper.
3090 * function.h (used_types_insert): Accept only one argument.
3091
edd54d25
DE
30922006-05-05 David Edelsohn <edesohn@gnu.org>
3093
3094 * config/rs6000/rs6000.md: Mark all "X" constraints for clobbered
3095 scratch with output modifier.
3096
1958f718
DE
30972006-05-04 David Edelsohn <edelsohn@gnu.org>
3098
3099 PR target/26481
3100 * config/rs6000/rs6000.md (stmsi_power): Mark clobber constraint
3101 with output modifier.
3102
05431b85
KH
31032006-05-04 Richard Sandiford <richard@codesourcery.com>
3104
3105 PR target/26765
3106 * config/mips/mips.c (mips_symbolic_address_p): Return true
3107 for SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_TPREL,
3108 SYMBOL_GOTTPREL, and SYMBOL_TLS.
3109
d818832c
RG
31102006-05-04 Richard Guenther <rguenther@suse.de>
3111
3112 PR tree-optimization/14287
3113 PR tree-optimization/14844
3114 PR tree-optimization/19792
3115 PR tree-optimization/21608
3116 PR tree-optimization/27090
3117 * tree-ssa-pre.c (try_combine_conversion): New function.
3118 (compute_avail): After constructing the value-handle
3119 expression, use try_combine_conversion to combine NOP_EXPRs
3120 with previous value-handle expressions and use the result if it
3121 is available.
3122
6c4b5a19
JM
31232006-05-04 Joseph S. Myers <joseph@codesourcery.com>
3124
3125 * config/mips/linux64.h (DWARF_OFFSET_SIZE): Remove.
3126
69fb1284
JH
31272006-05-04 Jan Hubicka <jh@suse.cz>
3128
3129 PR middle-end/25962
3130 * cgraphunit.c (verify_cgraph_node): Fix cgraph_hash testing.
3131
554006bd
BS
31322006-05-04 Bernd Schmidt <bernd.schmidt@analog.com>
3133
3134 * config/bfin/predicates.md (const01_rtx): Tell generator programs
3135 that this only matches CONST_INTs. All users changed to VOIDmode
3136 operands.
3137
42da70b7
BS
3138 * config/bfin/bfin.c: Include "optabs.h".
3139 (bfin_rtx_costs): Some costs for vector operations, to allow combine
3140 to do more work.
3141 (enum bfin_builtins): Add a number of fractional and vector builtins.
3142 (bfin_init_builtins): Likewise.
3143 (struct builtin_description, bdesc_2arg, bdesc_1arg): New.
3144 (safe_vector_operand, bfin_expand_binop_builtin,
3145 bfin_expand_unop_builtin): New functions.
3146 (bfin_expand_builtin): Handle the new builtins.
3147 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
3148 __ADSPBLACKFIN__.
3149
8cd37d0b
RL
31502006-05-04 Leehod Baruch <leehod@il.ibm.com>
3151
e8366202
MS
3152 * see.c: New file.
3153 * Makefile.in (OBJS-common): Add see.o.
3154 (see.o): Add dependencies.
3155 * common.opt (fsee): New flag for the see optimization was added.
3156 * opts.c (flag_see): Initialized.
3157 * passes.c (init_optimization_passes, pass_see): New pass.
3158 * rtl.h (see_main): Declaration as extern.
3159 * timevar.def (TV_SEE): New.
3160 * tree-pass.h (pass_see): Declaration as extern.
3161 * invoke.texi (-fsee): Document.
3162 * recog.c (validate_simplify_insn): New function.
3163 * recog.h (validate_simplify_insn): Declaration as extern.
3164 * df-problems.c (df_chain_dump): Check for NULL.
8cd37d0b
RL
3165
31662006-05-04 Kenneth Zadeck <zadeck@naturalbridge.com>
e8366202 3167 Daniel Berlin <dberlin@dberlin.org>
8cd37d0b 3168
e8366202
MS
3169 * cfgrtl.c (insert_insn_bb_end_new): New function.
3170 * basic-block.h (insert_insn_bb_end_new): Declaration as extern.
8cd37d0b
RL
3171
31722006-05-04 Leehod Baruch <leehod.baruch@weizmann.ac.il>
3173
e8366202
MS
3174 * df.h (struct web_entry): Moved from web.c.
3175 (union_defs): Declaration as extern.
3176 (unionfind_root): Likewise.
3177 (unionfind_union): Likewise.
3178 * web.c (struct web_entry): Moved to df.h.
3179 (unionfind_root): Remove static declaration.
3180 (unionfind_union): Likewise.
3181 (union_defs): Likewise and generalize to use callback function.
3182 (web_main): Update arguments for union_defs function call.
8cd37d0b 3183
23ba9627
RG
31842006-05-04 Richard Guenther <rguenther@suse.de>
3185
3186 PR tree-optimization/26447
3187 * tree-ssa-pre.c (realify_fake_stores): For necessary loads
3188 produce SSA_NAME copies before the store stmt to avoid
3189 breaking exception handling.
3190
f6a5ffbf
JJ
31912006-05-04 Jakub Jelinek <jakub@redhat.com>
3192
3193 PR middle-end/27388
3194 * gimplify.c (omp_is_private): If var is shared in some outer context,
3195 return false instead of true. Stop searching on parallel context
3196 boundary.
3197
0ef1a537
AO
31982006-05-03 Alexandre Oliva <aoliva@redhat.com>
3199
3200 PR java/8260
3201 * coverage.c: Use get_gcov_unsigned_t() instead of
3202 unsigned_type_node all over.
3203
afd83fe4
AM
32042006-05-02 Andrew MacLeod <amacleod@redhat.com>
3205
3206 PR tree-optimization/27381
90c92323 3207 * tree-phinodes.c (remove_phi_arg_num): When moving a phi argument,
afd83fe4 3208 maintain the same immediate_use links.
90c92323 3209 * tree-ssa-operands.c (dump_immediate_uses_for): Show iteration marker
afd83fe4
AM
3210 node rather than segfaulting.
3211
693d710f
JJ
32122006-05-03 Jakub Jelinek <jakub@redhat.com>
3213
3214 PR fortran/27395
3215 * gimplify.c (gimplify_scan_omp_clauses): Compare OMP_CLAUSE_CODE
3216 rather than TREE_CODE to OMP_CLAUSE_REDUCTION. Set also GOVD_SEEN
3217 bit for OMP_CLAUSE_REDUCTION_PLACEHOLDER.
3218
832a0c1d
DB
32192006-05-02 Daniel Berlin <dberlin@dberlin.org>
3220
3221 Fix PR tree-optimization/26626
3222 * tree-ssa-structalias.c (compute_points_to_sets): For now, solve
3223 always.
3224 * tree-ssa-operands.c (access_can_touch_variable): Allow
3225 typecasting through union pointers.
3226
8ca5b2a2
JJ
32272006-05-02 Jakub Jelinek <jakub@redhat.com>
3228
3229 PR c++/26943
3230 * omp-low.c (maybe_lookup_decl_in_outer_ctx): New function.
3231 (build_outer_var_ref): Use maybe_lookup_decl_in_outer_ctx
3232 to find if var will be a global variable even in the nested context.
3233 (omp_copy_decl): Only check for global variable at the end, it might
3234 be overridden in outer contexts.
3235 (scan_sharing_clauses): For global variables don't create a field.
3236 (lower_rec_input_clauses): Do nothing for global shared variables.
3237 Emit a barrier at the end of ILIST if there were any decls in both
3238 firstprivate and lastprivate clauses.
3239 (lower_send_clauses): Do nothing for global variables except for
3240 COPYIN.
3241
a3428e07
ZD
32422006-05-02 Zdenek Dvorak <dvorakz@suse.cz>
3243
3244 * tree.c (unsigned_type_for, signed_type_for): Make sure a type
3245 of the correct signedness is returned.
3246
26ef4301
JL
32472006-05-02 Jeff Law <law@redhat.com>
3248
3249 PR tree-optimization/27364
3250 * tree-vrp.c (vrp_int_const_binop): Fix detection of overflow from
3251 multiply expressions.
3252
263bb8fb
TT
32532006-05-02 Tom Tromey <tromey@redhat.com>
3254
3255 * tree-flow-inline.h (op_iter_init_phiuse): Fixed typo.
3256
54b9e939
KH
32572006-05-02 Kazu Hirata <kazu@codesourcery.com>
3258
3259 PR target/27387
3260 * arm.c (arm_output_mi_thunk): Use pc-relative addressing when
3261 -mthumb -fPIC are used.
3262
2297e173
SS
32632006-05-02 Stanislaw Skowronek <skylark@linux-mips.org>
3264 Joshua Kinard <kumba@gentoo.org>
d541888b
SS
3265
3266 PR target/25871
a1d1988f 3267 * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Avoid 32-bit moves
d541888b
SS
3268 with 64-bit pointers.
3269
7a7017bc
PB
32702006-05-02 Paul Brook <paul@codesourcery.com>
3271
3272 * config/arm/arm.c (add_minipool_forward_ref): Check if insn
3273 and pool overlap.
3274 (create_fix_barrier): Check that a suitable barrier location is
3275 found.
3276 (arm_reorg): Include ftmp->address in allowable range of addresses.
3277
3beef5cb
DB
32782006-05-02 David Billinghurst <David.Billinghurst@riotinto.com>
3279
3280 PR ada/27366
90c92323 3281 * ada/env.c (__gnat_clearenv): Use unsetenv() to clear environment
7a7017bc 3282 on Cygwin.
3beef5cb 3283
d5d86fde
JJ
32842006-05-02 Jakub Jelinek <jakub@redhat.com>
3285
077b0dfb
JJ
3286 PR middle-end/27337
3287 * gimplify.c (gimplify_scan_omp_clauses): Handle INDIRECT_REF
3288 around RESULT_DECL for result passed by reference.
3289 (gimplify_expr): Call omp_notice_variable when RESULT_DECL is seen.
3290 * omp-low.c (use_pointer_for_field): Don't look at
3291 DECL_HAS_VALUE_EXPR_P for RESULT_DECLs.
3292 (scan_omp_1): Call remap_decl on RESULT_DECLs.
3293 (lower_rec_input_clauses): Don't allocate VLA memory for the second
3294 time or var for passing by reference for
3295 OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses. Allow creation of
3296 TREE_ADDRESSABLE variables when passing by reference.
3297
3298 * omp-low.c (dump_omp_region): Fix output formatting.
3299
2aee3e57
JJ
3300 PR middle-end/27328
3301 * omp-low.c (remove_exit_barrier): Handle NULL exit_bb.
3302 (expand_omp_parallel): Likewise.
3303 * tree-cfg.c (move_sese_region_to_fn): Likewise.
3304
4a31b7ee
JJ
3305 PR middle-end/27325
3306 * omp-low.c (lower_omp_sections): Call maybe_catch_exception
3307 on statement list containing also constructors and destructors.
3308 (lower_omp_single, lower_omp_for, lower_omp_parallel): Likewise.
3309
d5d86fde
JJ
3310 PR middle-end/27310
3311 * except.c (duplicate_eh_regions): Fix clearing of
3312 cfun->eh->region_array entries.
3313
c15b113b
DD
33142006-05-01 DJ Delorie <dj@redhat.com>
3315
3316 * configure.ac (gcc_cv_nm): Don't use an in-tree nm if
3317 build!=host.
3318 (gcc_cv_objdump): Likewise.
3319 * configure: Regenerated.
3320
94634f14
KH
33212006-05-01 Kazu Hirata <kazu@codesourcery.com>
3322
3323 PR target/27374
3324 * config/arm/vfp.md (*arm_movdi_vfp): Correct the output
3325 templates for case 3 and 4.
3326
2d5bc016
DD
33272006-05-01 DJ Delorie <dj@redhat.com>
3328
3329 * vec.c: Include bconfig.h when appropriate.
3330 * Makefile.in (build/vec.o): Adjust dependencies.
3331 * mkconfig.sh: Make sure config.h isn't used for build machine
3332 compiles.
3333
2ce79879
ZD
33342006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
3335
3336 * tree-into-ssa.c (phis_to_rewrite, blocks_with_phis_to_rewrite): New
3337 variables.
3338 (mark_phi_for_rewrite): New function.
3339 (insert_phi_nodes_for, mark_use_interesting): Call
3340 mark_phi_for_rewrite.
3341 (rewrite_update_phi_arguments): Traverse only phis in phis_to_rewrite.
3342 (update_ssa): Initialize and free phis_to_rewrite.
3343
ed541ddb
ZD
33442006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
3345
3346 PR rtl-optimization/27291
3347 * loop-doloop.c (add_test, doloop_modify): Handle the case condition is
3348 folded to a constant.
3349
dcccd88d
ZD
33502006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
3351
3352 PR tree-optimization/27283
3353 * tree-ssa-loop-ivopts.c (struct nfe_cache_elt): Store just trees,
3354 not whole # of iteration descriptions.
3355 (niter_for_exit): Return just # of iterations. Fail if # of iterations
3356 uses abnormal ssa name.
3357 (niter_for_single_dom_exit): Ditto.
3358 (find_induction_variables, may_eliminate_iv): Expect niter_for_exit to
3359 return just the number of iterations.
3360
763f4527
ZD
33612006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
3362
3363 PR tree-optimization/27144
3364 * tree-ssa-loop-niter.c (derive_constant_upper_bound): New function.
3365 (record_estimate): Only record constant upper bound.
3366 (infer_loop_bounds_from_undefined): Call
3367 compute_estimated_nb_iterations just once.
3368 (proved_non_wrapping_p): Renamed to ...
3369 (n_of_executions_at_most): ... this. Expect bound to be a constant.
3370 (convert_step_widening, scev_probably_wraps_p): Call
3371 n_of_executions_at_most instead of proved_non_wrapping_p.
3372 (substitute_in_loop_info): Do not replace values in bounds.
3373 * cfgloop.h (struct nb_iter_bound): Remove "additional" field. Update
3374 comments.
3375
2a83cc52
RH
33762006-05-01 Richard Henderson <rth@redhat.com>
3377
3378 PR c/27358
3379 * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Move after
3380 c_parser_skip_to_pragma_eol. Convert to switch statement. Handle
3381 CPP_PRAGMA.
3382
0f57299d
RS
33832006-05-01 Roger Sayle <roger@eyesopen.com>
3384
3385 * c-typeck.c (parser_build_binary_op): Don't call the function
3386 unsigned_conversion_warning to spot operand/result type overflow.
3387 (build_binary_op): Instead, call convert_and_check instead of
3388 convert to report the problem when the operands are promoted.
3389 * c-common.c (unsigned_conversion_warning): Make static.
3390 * c-common.h (unsigned_conversion_warning): Delete prototype.
3391
ea643120
RG
33922006-05-01 Richard Guenther <rguenther@suse.de>
3393
3394 PR tree-optimization/26726
3395 * tree-ssa-loop-ivopts.c (idx_find_step): Mark source of the
3396 problem ...
3397 (find_interesting_uses_address): ... we work around here
3398 by folding INDIRECT_REFs in the substituted base.
3399
444e96af
DN
34002006-05-01 Diego Novillo <dnovillo@redhat.com>
3401
3402 * omp-low.c (dump_omp_region): Add newlines.
3403
71834ad3
RS
34042006-04-30 Roger Sayle <roger@eyesopen.com>
3405
3406 * common.opt (Woverflow): New command line option.
3407 * c-common.c (constant_expression_warning): Check warn_overflow.
3408 (overflow_waring): Pass OPT_Woverflow to warning.
3409 (unsigned_conversion_warning): Likewise.
3410 (convert_and_check): Likewise.
3411 * doc/invoke.texi: Document new command line option.
3412
194c524a
DE
34132006-04-30 David Edelsohn <edelsohn@gnu.org>
3414
3415 * config/rs6000/rs6000.c (rs6000_override_options): Enable
3416 TARGET_NO_FP_IN_TOC for section anchors.
3417 (optimization_options): Enable section anchors for all
3418 non-"Objective" languages.
3419
4f8bdef9
EC
34202006-04-28 Eric Christopher <echristo@apple.com>
3421
3422 * config/darwin-c.c (darwin_ms_struct): Move this
3423 (darwin_set_default_type_attributes): and this...
3424 * config/darwin.c: ... here.
3425 * config/darwin.h (darwin_ms_struct): Declare.
3426
a5f84464
AM
34272006-04-28 Andrew MacLeod <amacleod@redhat.com>
3428
3429 * tree-ssa-dom.c (propagate_rhs_into_lhs): Fix assert clause.
3430
a0f0ab9f
RS
34312006-04-28 Roger Sayle <roger@eyesopen.com>
3432
3433 PR c/25309
3434 * c-typeck.c (struct spelling): Make I an unsigned HOST_WIDE_INT.
3435 (push_array_bounds): Delete prototype. Change BOUNDS argument to
3436 an unsigned HOST_WIDE_INT.
3437 (print_spelling): Use HOST_WIDE_INT_PRINT_UNSIGNED to output the
3438 array index.
3439 (really_start_incremental_init): No need to call convert because
3440 bitsize_zero_node is already of type bitsizetype.
3441 (push_init_level): Extract the value of constructor_index as an
3442 unsigned HOST_WIDE_INT quantity, using tree_low_cst.
3443 (process_init_element): Likewise.
3444
c7370b83
JM
34452006-04-28 Joseph S. Myers <joseph@codesourcery.com>
3446
3447 * gcc.c (process_command): Add program name to GCC_EXEC_PREFIX
3448 value before passing to make_relative_prefix.
3449
bb6a0ee1
AM
34502006-04-28 Alan Modra <amodra@bigpond.net.au>
3451
3452 PR middle-end/27260
3453 * builtins.c (expand_builtin_memset): Expand val in original mode.
3454
16d6f994
EC
34552006-04-27 Eric Christopher <echristo@apple.com>
3456
3457 * target-def.h (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Bracket
3458 with #ifndef/#endif.
3459 * config/darwin-c.c (darwin_ms_struct): New.
3460 (darwin_pragma_ms_struct): Ditto.
3461 (darwin_set_default_type_attributes): Ditto.
3462 * config/darwin-protos.h (darwin_pragma_ms_struct): Declare.
3463 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS):
3464 Register ms_struct pragma.
3465 * config/i386/darwin.h (REGISTER_TARGET_PRAGMAS): Declare.
3466 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Ditto.
3467 * config/rs6000/rs6000.c (rs6000_set_default_type_attributes): Call
3468 darwin_set_default_type_attributes if TARGET_MACHO.
3469
6c00f606
AM
34702006-04-27 Andrew MacLeod <amacleod@redhat.com>
3471
3472 PR tree-optimization/26854
3473 * tree-vrp.c (remove_range_assertions): Use new Immuse iterator.
3474 * doc/tree-ssa.texi: Update immuse iterator documentation.
3475 * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Use new iterator.
3476 * tree-ssa-dom.c (propagate_rhs_into_lhs): Use new iterator.
3477 * tree-flow-inline.h (end_safe_imm_use_traverse, end_safe_imm_use_p,
3478 first_safe_imm_use, next_safe_imm_use): Remove.
3479 (end_imm_use_stmt_p): New. Check for end of immuse stmt traversal.
3480 (end_imm_use_stmt_traverse): New. Terminate immuse stmt traversal.
3481 (move_use_after_head): New. Helper function to sort immuses in a stmt.
3482 (link_use_stmts_after): New. Link all immuses in a stmt consescutively.
3483 (first_imm_use_stmt): New. Get first stmt in an immuse list.
3484 (next_imm_use_stmt): New. Get next stmt in an immuse list.
3485 (first_imm_use_on_stmt): New. Get first immuse on a stmt.
3486 (end_imm_use_on_stmt_p): New. Check for end of immuses on a stmt.
3487 (next_imm_use_on_stmt): New. Move to next immuse on a stmt.
3488 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Use new iterator.
3489 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use new iterator.
3490 (perfect_nestify): Use new iterator.
16d6f994 3491 * tree-vect-transform.c (vect_create_epilog_for_reduction): Use new
6c00f606
AM
3492 iterator.
3493 * tree-flow.h (struct immediate_use_iterator_d): Add comments.
3494 (next_imm_name): New field in struct immediate_use_iterator_d.
3495 (FOR_EACH_IMM_USE_SAFE, BREAK_FROM_SAFE_IMM_USE): Remove.
16d6f994 3496 (FOR_EACH_IMM_USE_STMT, BREAK_FROM_IMM_USE_STMT,
6c00f606
AM
3497 FOR_EACH_IMM_USE_ON_STMT): New immediate use iterator macros.
3498 * tree-cfg.c (replace_uses_by): Use new iterator.
3499 * tree-ssa-threadedge.c (lhs_of_dominating_assert): Use new iterator.
3500 * tree-ssa-operands.c (correct_use_link): Remove.
3501 (finalize_ssa_use_ops): No longer call correct_use_link.
3502
9613eaff
SH
35032006-04-27 Stuart Hastings <stuart@apple.com>
3504
3505 * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New.
3506 * config/t-darwin (crt3.o): Use it.
3507 * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Remove
3508 'pmode', use Pmode instead of SImode for SYMBOL_REF.
3509 * config/rs6000/rs6000.md (call_indirect_nonlocal_sysv,
3510 call_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
3511 call_value_nonlocal_sysv): Suffix with the "P" macro for 32/64
3512 support.
16d6f994 3513
135c2bd4
RS
35142006-04-27 Roger Sayle <roger@eyesopen.com>
3515
3516 * expmed.c (store_fixed_bit_field): If we're not optimizing for
3517 size, force the intermediate into a new pseudo rather instead of
3518 performing both a bitwise AND and a bitwise IOR in memory.
3519
921b02cd
RG
35202006-04-27 Richard Guenther <rguenther@suse.de>
3521
3522 PR rtl-optimization/26685
3523 * params.def (PARAM_MAX_CSE_INSNS): Correct typo that named
3524 this one "max-flow-memory-locations".
3525
67ac6e63
RG
35262006-04-27 Richard Guenther <rguenther@suse.de>
3527
3528 PR tree-optimization/25148
3529 * tree-vrp.c (compare_values): Remove code dealing with
3530 comparisons against type min/max value. Honour overflow
3531 and negative constants in code dealing with comparisons
3532 of plus and minus expressions.
3533 (value_inside_range): Use fold_binary with LE_EXPR and
3534 GE_EXPR rather than compare_values.
3535
869170df
DM
35362006-04-27 Dirk Mueller <dmueller@suse.de>
3537
3538 * config/i386/xmmintrin.h (_mm_shuffle_pi16): Declare
3539 prototype for SSE.
3540
3bf7d5e7
KZ
35412006-04-26 Kenneth Zadeck <zadeck@naturalbridge.com>
3542
3543 * basic-block.h (safe_insert_insn_on_edge): Removed.
3544 * cfgrtl.c (mark_killed_regs, safe_insert_insn_on_edge): Removed.
3545
7b282ff9
DE
35462006-04-26 David Edelsohn <edelsohn@gnu.org>
3547 Paolo Bonzini <bonzini@gnu.org>
3548
3549 PR middle-end/27282
3550 * combine.c (simplify_and_const_int_1): Use gen_int_mode.
3551 (simplify_and_const_int): Same.
3552
44470433
AH
35532006-04-26 Aldy Hernandez <aldyh@redhat.com>
3554
e8366202 3555 * tree-ssa-dse.c (dse_optimize_stmt): Remove unused variable USE.
44470433 3556
21a66e91
JJ
35572006-04-26 Jakub Jelinek <jakub@redhat.com>
3558
91b6c26d
JJ
3559 PR c/26171
3560 * cgraph.c (cgraph_varpool_finalize_decl): Don't call
3561 cgraph_varpool_assemble_pending_decls if -fopenmp, unless
3562 cgraph_global_info_ready.
3563
07ed51c9
JJ
3564 PR middle-end/26913
3565 * tree-cfg.c (find_outermost_region_in_block): Handle RESX_EXPR.
3566
1562e1fe
JJ
3567 PR c/25996
3568 * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for if
3569 either decl or init is error_mark_node.
3570
21a66e91
JJ
3571 PR middle-end/25989
3572 * tree-flow.h (struct omp_region): Add sched_kind.
3573 * omp-low.c (expand_parallel_call): Use region->inner->sched_kind
3574 instead of extracting omp for data.
3575 (expand_omp_for): Save extracted sched_kind.
3576
f7acbf4c
RS
35772006-04-25 Roger Sayle <roger@eyesopen.com>
3578
3579 * expmed.c (store_bit_field): Also check whether the bitsize is
3580 valid for the machine's "insv" instruction before moving the
3581 target into a pseudo for use with the insv.
3582 * config/i386/predicates.md (const8_operand): New predicate.
3583 * config/i386/i386.md (extv, extzv, insv): Use the new
3584 const8_operand predicate where appropriate.
3585
c9936427
DD
35862006-04-25 DJ Delorie <dj@redhat.com>
3587
3588 * doc/install.texi (Specific): Clarify that this is not a list of
3589 supported hosts or targets.
3590
c0c5d392
RS
35912006-04-25 Richard Sandiford <richard@codesourcery.com>
3592
3593 PR rtl-optimization/26725
3594 * cfgrtl.c (rtl_redirect_edge_and_branch_force): Set the source
3595 block's BB_DIRTY flag.
3596
d61772b2
GK
35972006-04-25 Geoffrey Keating <geoffk@apple.com>
3598
887dc802
GK
3599 * dwarf2out.c (size_of_locs): Don't fill dw_loc_addr if there
3600 are no branches.
3601
d61772b2
GK
3602 * dwarf2asm.c (dw2_asm_output_data): Don't generate RTL just
3603 to print an integer.
3604
d5fa3ec8
DE
36052006-04-25 David Edelsohn <edelsohn@gnu.org>
3606
3607 * varasm.c (align_variable): New function.
3608 (get_block_for_decl): Apply align_variable to DECL before
3609 calculating section information.
3610 (assemble_variable): Split out alignment computation.
3611
495db1a1
AK
36122006-04-25 Andreas Krebbel <krebbel1@de.ibm.com>
3613
3614 * expmed.c (store_bit_field): Handle paradoxical subregs on big endian
3615 machines.
3616
75d8b2d0
BS
36172006-04-25 Bernd Schmidt <bernd.schmidt@analog.com>
3618
3619 * genmodes.c (make_vector_mode): Allow making VECTOR_MODE_INT of a
3620 MODE_PARTIAL_INT mode.
3621 * config/bfin/bfin-modes.def: Add V2PDI and V2SI.
3622 * config/bfin/bfin.c (print_operand): Add macflag and mac/msu modifiers
3623 for CONST_INTs.
3624 (hard_regno_mode_ok): V2PDImode is ok for accumulators.
3625 * config/bfin/bfin.h (CLASS_MAX_NREGS, HARD_REGNO_NREGS): Handle
3626 V2PDImode.
3627 * config/bfin/predicates.md (const01_operand, vec_shift_operand):
3628 New predicates.
3629 * config/bfin/bfin.md (UNSPEC_MUL_WITH_FLAG, UNSPEC_MAC_WITH_FLAG):
3630 New constants.
3631 (MACFLAG_NONE, MACFLAG_T, MACFLAG_FU, MACFLAG_TFU, MACFLAG_IS,
3632 MACFLAG_IU, MACFLAG_W32, MACFLAG_M, MACFLAG_S2RND, MACFLAG_ISS2,
3633 MACFLAG_IH): Likewise.
3634 (movstricthi_1): Renamed from "*movstricthi".
3635 (load_accumulator, load_accumulator_pair, movsi_insv, insv,
3636 ssaddsi3, sssubsi3, ssnegsi2, signbitssi2, smaxhi3, sminhi3,
3637 abshi2, neghi2, ssneghi2, signbitshi2, movhi_low2high,
3638 movhi_high2high, movhi_low2low, movhi_high2low, movhiv2hi_low,
3639 movhiv2hi_high, composev2hi, movv2hi_hi, movv2hi_hi_low,
3640 movv2hi_hi_high, ssaddhi3, sssubhi3, ssaddv2hi3, sssubv2hi3,
3641 addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3,
3642 sublohiv2hi3, subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3,
3643 addlohiv2hi3, addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3,
3644 mulhisi_ll, mulhisi_lh, mulhisi_hl, mulhisi_hh, ssnegv2hi2,
3645 ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3, packv2hi,
3646 flag_mulhi, flag_mulhisi_parts, flag_machi, flag_machi_acconly,
3647 flag_macinithi, flag_macinit1hi, flag_mulv2hi, flag_mulv2hi_parts,
3648 flag_macv2hi_parts, flag_macv2hi_parts_acconly,
3649 flag_macinitv2hi_parts, flag_macinit1v2hi_parts): New patterns.
3650
6d75cd5f
BS
3651 * doc/rtl.texi (ss_ashift): Improve wording.
3652
6f8d8ef0
GK
36532006-04-24 Geoffrey Keating <geoffk@apple.com>
3654
3655 * dwarf2out.c (verify_marks_clear): New.
3656 (prune_unused_types): Call verify_marks_clear initially, not
3657 prune_unmark_dies.
3658
e551ad26
BS
36592006-04-24 Bernd Schmidt <bernd.schmidt@analog.com>
3660
3661 * rtl.def (SS_ASHIFT, SS_NEG): New codes.
3662 * doc/rtl.texi: Document them.
3663 * simplify-rtx.c (simplify_unary_operation,
3664 simplify_binary_operation_1): Don't abort when we see them.
3665
bfa11223
MM
36662006-04-24 Mark Mitchell <mark@codesourcery.com>
3667
3668 Revert:
3669 2006-04-23 Mark Mitchell <mark@codesourcery.com>
3670 * configure.ac: Completely disregard languages that are not
3671 enabled.
3672 * configure: Regenerated.
3673
d84b37b0
AP
36742006-04-24 Andrew Pinski <pinskia@gcc.gnu.org>
3675 Richard Guenther <rguenther@suse.de>
3676
3677 PR tree-optimization/27236
3678 * tree-inline.c (copy_body_r): Make sure to copy
3679 TREE_THIS_VOLATILE flag.
3680
c0a3f887
RG
36812006-04-24 Richard Guenther <rguenther@suse.de>
3682
3683 PR middle-end/26869
3684 * tree-complex.c (update_parameter_components): Don't handle
3685 unused parameters which have no default def.
3686
72fa5e06
AP
36872006-04-24 Andrew Pinski <pinskia@gcc.gnu.org>
3688 Richard Guenther <rguenther@suse.de>
3689
3690 PR tree-optimization/27218
3691 * tree-inline.c (expand_call_inline): Strip useless type
3692 conversions for the return slot address.
3693
0162f155
RG
36942006-04-24 Richard Guenther <rguenther@suse.de>
3695
3696 * cfgloop.h (struct loops): Remove unused field array. Reorder
3697 state after num.
3698 (LOOP_PREFETCH): Remove.
3699
7e1584f8
RG
37002006-04-24 Richard Guenther <rguenther@suse.de>
3701
3702 PR tree-optimization/22525
3703 * value-prof.c (tree_mod_pow2): Remove unnecessary temporary
3704 variable, adjust types of generated expressions.
3705
d24b23bb
L
37062006-04-23 H.J. Lu <hongjiu.lu@intel.com>
3707
3708 * Makefile.in (c-convert.o): Add dependency on $(TARGET_H)
3709 (tree-vect-patterns.o): Likewise.
3710 (jump.o): Likewise.
3711 (cselib.o): Likewise.
3712 (loop-doloop.o): Likewise.
3713 (regclass.o): Likewise.
3714 (reload1.o): Likewise.
3715 (explow.o): Replace target.h with $(TARGET_H).
3716 (ipa-prop.o): Likewise.
3717 (ipa-cp.o): Likewise.
3718 (ipa-inline.o): Likewise.
3719 (reorg.o): Likewise.
3720 (reg-stack.o): Likewise.
3721
e8c3ff97
EB
37222006-04-23 Eric Botcazou <ebotcazou@adacore.com>
3723
3724 * tree-tailcall.c (pass_tail_recursion): Use gate_tail_calls too.
3725
38a4afee
MM
37262006-04-23 Mark Mitchell <mark@codesourcery.com>
3727
bfa11223
MM
3728 * print-tree.c (print_node): Print DECL_BIT_FIELD_TYPE.
3729
3730 * configure.ac: Completely disregard languages that are not
3731 enabled.
3732 * configure: Regenerated.
3733
38a4afee
MM
3734 PR c++/26534
3735 * c-common.h (c_build_bitfield_integer_type): Declare.
3736 * c-decl.c (c_build_bitfield_integer_type): Move to ...
3737 * c-common.c (c_build_bitfield_integer_type): ... here.
3738
acb188c1
RS
37392006-04-23 Roger Sayle <roger@eyesopen.com>
3740
3741 PR target/21283
3742 * config/fr30/fr30.md (define_split): Avoid calling gen_lowpart on
3743 a SImode SUBREG of a floating point register after no_new_pseudos.
3744
a02ee5b2
RS
37452006-04-23 Roger Sayle <roger@eyesopen.com>
3746
3747 * config/fr30/fr30.md (addsi_small_int): Use REGNO_PTR_FRAME_P to
3748 identify potentially eliminable registers to additionally catch
3749 VIRTUAL_INCOMING_ARGS_REGNUM.
3750 (addsi3): Update the conditions on when to use addsi_small_int.
3751
c21242e8
RS
37522006-04-23 Roger Sayle <roger@eyesopen.com>
3753
3754 PR target/16641
3755 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check REGNO for
3756 STACK_POINTER_RTX and FRAME_POINTER_RTX instead of comparing the
3757 rtx to stack_pointer_rtx or frame_pointer_rtx directly.
3758
1464eeb8
EB
37592006-04-23 Eric Botcazou <ebotcazou@adacore.com>
3760
3761 * fold-const.c (range_predecessor): Use operand_equal_p
3762 as the predicate for equality.
3763 (range_successor): Likewise.
3764
9542abd3
KH
37652006-04-22 Kazu Hirata <kazu@codesourcery.com>
3766
3767 Revert:
3768 * config/soft-fp/op-common.h: Fix a typo.
3769
110c4563
FCE
37702006-04-22 Frank Ch. Eigler <fche@redhat.com>
3771
3772 PR libmudflap/26864
3773 * common.opt (flag_mudflap_threads): Overload flag_mudflap.
3774 * tree-mudflap.c (flag_mudflap_threads): Derive from flag_mudflap.
3775
66a4ad37
KH
37762006-04-22 Kazu Hirata <kazu@codesourcery.com>
3777
3778 * config/soft-fp/op-common.h, double-int.h, tree-ssa-dom.c:
3779 Fix comment typos.
3780 * doc/tm.texi: Fix a typo.
3781
d6eeb3ba
GK
37822006-04-21 Geoffrey Keating <geoffk@apple.com>
3783
3784 * dwarf2out.c (struct die_struct): Document that die_sib makes
3785 a circular linked list.
3786 (FOR_EACH_CHILD): New.
3787 (reverse_die_lists): Delete.
3788 (reverse_all_dies): Delete.
3789 (add_dwarf_attr): Correct documentation.
3790 (remove_child_with_prev): New.
3791 (remove_child_TAG): Update for change to die_struct, use
3792 remove_child_with_prev.
3793 (add_child_die): Update for change to die_struct.
3794 (splice_child_die): Use remove_child_with_prev and add_child_die.
3795 (print_die): Use FOR_EACH_CHILD.
3796 (die_checksum): Likewise.
3797 (assign_symbol_names): Likewise.
3798 (output_location_lists): Likewise.
3799 (build_abbrev_table): Likewise.
3800 (calc_die_sizes): Likewise.
3801 (mark_dies): Likewise.
3802 (unmark_dies): Likewise.
3803 (unmark_all_dies): Likewise.
3804 (output_die): Likewise.
3805 (prune_unused_types_mark): Likewise.
3806 (prune_unused_types_walk): Likewise.
3807 (same_die_p): Update for change to die_struct.
3808 (break_out_includes): Likewise.
3809 (prune_unused_types_prune): Likewise.
3810 (add_sibling_attributes): Use FOR_EACH_CHILD, simplify logic.
3811 (prune_unmark_dies): Use FOR_EACH_CHILD, don't clear die_mark if
3812 it's already clear.
3813 (dwarf2out_finish): Don't call reverse_all_dies.
3814
7a0b46c9
EC
38152006-04-21 Eric Christopher <echristo@apple.com>
3816
3817 * df-core.c, tree-outof-ssa.c, config/i386/i386.c: Fix typos
3818 in comments and function names.
3819
5d5e98dc
VR
38202006-04-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3821
f01da1a5
VR
3822 PR c/25875
3823 * c-typeck.c (digest_init): Robustify.
3824
5d5e98dc
VR
3825 * c-typeck.c (pop_init_level): Simplify.
3826
3144998a
SE
38272006-04-21 Steve Ellcey <sje@cup.hp.com>
3828
3829 * config/pa/t-pa64: Add dependencies on $(GCC_PASSES).
3830
87b24aaf
PB
38312006-04-21 Paul Brook <paul@codesourcery.com>
3832
3833 * config/arm/arm.c (arm_override_options): Error on iWMMXt and
3834 hardware floating point.
3835
e3604432
DE
38362006-04-21 David Edelsohn <edelsohn@gnu.org>
3837
3838 * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add sfp to
3839 NON_FLOAT_REGS.
3840
15eaa78f
NC
38412006-04-21 Nick Clifton <nickc@redhat.com>
3842
3843 * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Include
3844 OPT_EXTRA_PARTS.
3845
56438901
AM
38462006-04-21 Alan Modra <amodra@bigpond.net.au>
3847
3848 PR target/27230
3849 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
3850 C++ lang type in traceback table for Objective-C++.
3851
3852 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Update comment.
3853
a46cec70
L
38542006-04-20 H.J. Lu <hongjiu.lu@intel.com>
3855
3856 * config/i386/i386.c (asm_preferred_eh_data_format): Reformat.
3857
06866a73
VR
38582006-04-20 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3859
3860 PR mudflap/26789
3861 * tree-mudflap.c (mudflap_finish_file): Skip function when there
3862 were errors. Remove check for erroneous objects.
3863
bfc646bf
JL
38642006-04-20 Jeff Law <law@redhat.com>
3865
3866 PR tree-optimization/26854
3867 * tree-ssa-dse.c (dse_optimize_stmt): Avoid num_imm_uses when
3868 checking for zero or one use.
3869 * tree-ssa-dom.c (propagate_rhs_into_lhs): Similarly.
3870 * tree-cfgcleanup.c (merge_phi_nodes): Similarly.
3871 * tree-ssa-reassoc.c (negate_value): Similarly.
3872 (reassociate_bb): Similarly.
3873
455f78d9
JJ
38742006-04-20 Jakub Jelinek <jakub@redhat.com>
3875
3876 * c-pretty-print.c (pp_c_direct_abstract_declarator): Print
3877 TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather
3878 than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)).
3879
9a74f8ee
AM
38802006-04-20 Alan Modra <amodra@bigpond.net.au>
3881
3882 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all
3883 fp regs if the last fp arg doesn't fit in regs.
3884
904b6a0e
KK
38852006-04-20 Kaz Kojima <kkojima@gcc.gnu.org>
3886
3887 PR target/27182
3888 * config/sh/sh.md (movsicc_true+3): Tweak condition for the case
3889 that the last insn has the REG_INC note.
3890
9dfb66b9
CD
38912006-04-19 Carlos O'Donell <carlos@codesourcery.com>
3892 Nathan Sidwell <nathan@codesourcery.com>
3893
3894 PR c/26774
7a0b46c9 3895 * stor-layout.c (update_alignment_for_field): Do not align
9dfb66b9
CD
3896 ERROR_MARK nodes.
3897 (place_union_field): Place union field at the start of the union.
3898 (place_field): Move ERROR_MARK check later, and use the current
3899 allocation position to maintain monotonicity.
3900
74c96e0c
ZD
39012006-04-19 Zdenek Dvorak <dvorakz@suse.cz>
3902
3903 * dominance.c: Include timevar.h.
3904 (calculate_dominance_info): Use TV_DOMINANCE.
3905 * timevar.def (TV_DOMINANCE): New timevar.
3906 * Makefile.in (dominance.o): Add TIMEVAR_H dependency.
3907
e90cd854
AK
39082006-04-19 Andreas Krebbel <krebbel1@de.ibm.com>
3909
4414de4a 3910 PR rtl-optimization/14261
e90cd854
AK
3911 * ifcvt.c (noce_emit_move_insn): Call store_bit_field if the resulting
3912 move would be an INSV insn.
7a0b46c9 3913 (noce_process_if_block): Don't optimize if the destination is a
e90cd854
AK
3914 ZERO_EXTRACT which can't be handled by noce_emit_move_insn.
3915
43a09b63
AK
39162006-04-19 Andreas Krebbel <krebbel1@de.ibm.com>
3917
3918 * config/s390/s390.md: Add comments with the instructions emitted
3919 by an insn pattern if macros are used.
3920
0f35201e
AM
39212006-04-19 Alan Modra <amodra@bigpond.net.au>
3922
3923 PR rtl-optimization/26026
3924 * fold-const.c (fold_binary): Optimize div and mod where the divisor
3925 is a known power of two shifted left a variable amount.
3926
76f7a74f
GK
39272006-04-18 Geoffrey Keating <geoffk@apple.com>
3928
3929 * dwarf2out.c (prune_unused_types_update_strings): Don't add strings
3930 to hash table twice when the debug_str section has SECTION_MERGE.
3931
49721058
JM
39322006-04-18 Joseph S. Myers <joseph@codesourcery.com>
3933
3934 * config/soft-fp: New directory. From glibc.
3935 * config/soft-fp/t-softfp: New.
3936 * config/soft-fp/README: New.
3937 * mklibgcc.in: Handle LIB2FUNCS_EXCLUDE.
3938 * Makefile.in (LIB2FUNCS_EXCLUDE, SFP_MACHINE): New.
3939 (libgcc.mk): Pass LIB2FUNCS_EXCLUDE.
3940 (LIBGCC_DEPS): Add $(SFP_MACHINE).
3941 * config.gcc: Use rs6000/t-fprules-fpbit or
3942 rs6000/t-fprules-softfp and soft-fp/t-softfp together with
3943 rs6000/t-fprules.
3944 * config/rs6000/sfp-machine.h: New. Based on glibc.
3945 * config/rs6000/t-fprules-fpbit, config/rs6000/t-fprules-softfp:
3946 New.
3947 * config/rs6000/t-fprules: Remove fp-bit rules.
3948 * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Use +=.
3949 * config/rs6000/t-linux64: Likewise. Remove duplicates from
3950 LIB2FUNCS_EXTRA. Remove fp-bit rules.
3951 (softfp_wrap_start, softfp_wrap_end): New.
3952
7e96ee36
DD
39532006-04-18 DJ Delorie <dj@redhat.com>
3954
3955 * config/m32c/m32c.h (PTRDIFF_TYPE): Define.
3956
d955420e
DP
39572006-04-18 Devang Patel <dpatel@apple.com>
3958
3959 * doc/invoke.texi (-Wuninitialized): Clarify -O connection.
7a0b46c9 3960
503b5c9f
NC
39612006-04-18 Nick Clifton <nickc@redhat.com>
3962
3963 * config/sh/t-symbian: Add rule to build sh-c.o
3964 * config/sh/symbian.c (sh_symbian_mark_dllexport): Replace use
3965 of DECL_NON_ADDR_CONST_P with DECL_DLLIMPORT_P.
3966 (sh_symbian_encode_section_info): Likewise.
3967
c2f07c00
AK
39682006-04-18 Andreas Krebbel <krebbel1@de.ibm.com>
3969
7a0b46c9 3970 * builtins.c (expand_builtin_strcmp): Cover label definition of
c2f07c00
AK
3971 do_libcall with HAVE_cmpstrnsi.
3972
6370682a
KH
39732006-04-18 Kazu Hirata <kazu@codesourcery.com>
3974
3975 * function.c (temp_slots_at_level, max_slot_level): Use VEC
3976 instead of VARRAY.
3977 * function.h (temp_slot_p): New.
3978 (function): Change the type of x_used_temp_slots to
3979 VEC(temp_slot_p,gc) *.
3980
224504d2
NC
39812006-04-18 Nick Clifton <nickc@redhat.com>
3982
13a41b42
NC
3983 * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove reference to
3984 flag_strength_reduce.
3985
224504d2
NC
3986 * doc/tm.texi (TARGET_SECTION_TYPE_FLAGS): Fix typo.
3987
6ee2e158
PB
39882006-04-18 Paolo Bonzini <bonzini@gnu.org>
3989
e8366202 3990 PR target/27117
6ee2e158
PB
3991
3992 Partial revert of revision 112637
3993 2006-04-03 Paolo Bonzini <bonzini@gnu.org>
3994 Dale Johannesen <dalej@apple.com>
3995
3996 PR target/19653
3997 * regclass.c (struct reg_pref): Update documentation.
3998 (regclass): Set prefclass to NO_REGS if memory is the best option.
3999 (record_reg_classes): Cope with a prefclass set to NO_REGS.
4000
e3949961
PB
40012006-04-18 Paolo Bonzini <bonzini@gnu.org>
4002
e8366202
MS
4003 PR tree-optimization/26821
4004 * tree-ssa-math-opts.c (get_constant_one): New.
4005 (insert_reciprocals): Use it.
e3949961 4006
e26303c2
GK
40072006-04-17 Geoffrey Keating <geoffk@apple.com>
4008
4009 * dwarf2out.c (free_AT): Delete.
4010 (remove_AT): Update string ref counts.
4011 (remove_child_TAG): Don't call free_die.
4012 (free_die): Delete.
4013 (break_out_includes): Don't call free_die on DW_TAG_GNU_BINCL
4014 or DW_TAG_GNU_EINCL.
4015 (prune_unused_types_walk_attribs): Reset string refcounts.
4016 (prune_unused_types_update_strings): New.
4017 (prune_unused_types_prune): Don't make unnecessary stores. Don't
4018 call free_die. Do call prune_unused_types_update_strings.
4019 (prune_unused_types): Empty debug_str_hash.
4020
6cc1d694
RS
40212006-04-17 Roger Sayle <roger@eyesopen.com>
4022
4023 * expr.c (expand_assignment): Optimize away no-op moves where the
4024 source and destination are equal and have no side-effects.
4025
71a9b19a
RG
40262006-04-17 Richard Guenther <rguenther@suse.de>
4027
4028 PR target/26826
4029 * reload.c (push_reload): Guard calls to get_secondary_mem
4030 for memory subregs.
4031
08c79682
KH
40322006-04-16 Kazu Hirata <kazu@codesourcery.com>
4033
4034 * alias.c (reg_base_value, old_reg_base_value): Change the
4035 type to VEC(rtx,gc) *.
4036 (REG_BASE_VALUE, find_base_value, record_set,
4037 init_alias_analysis): Use VEC instead of VARRAY.
4038
1a5640b4
KH
4039 * alias.c (alias_sets): Change the type to
4040 VEC(alias_set_entry,gc) *.
4041 (get_alias_set_entry, new_alias_set, record_alias_subset): Use
4042 VEC instead of VARRAY.
4043 (last_alias_set): Remove.
4044
b2c0ad40
KH
4045 * cgraph.h (cgraph_edge_p): New.
4046 Update the prototype of cgraph_function_versioning.
4047 * cgraphunit.c (cgraph_copy_node_for_versioning,
4048 cgraph_function_versioning): Use VEC instead of VARRAY.
4049 * ipa-cp.c (ipcp_insert_stage): Likewise.
4050
726ac11e
RS
40512006-04-16 Roger Sayle <roger@eyesopen.com>
4052
4053 PR target/26961
4054 * fold-const.c (fold_ternary): When converting "A ? B : C" into either
4055 "A op B" or "A op C", we may need to convert A to the type of B and C.
4056
b12cbf2c
AN
40572006-04-16 Adam Nemet <anemet@caviumnetworks.com>
4058
4059 * target.h (struct gcc_target): Add mode_rep_extended.
4060 * rtlanal.c (num_sign_bit_copies_in_rep): New global.
4061 (init_num_sign_bit_copies_in_rep): Initialize it using
4062 mode_rep_extended.
4063 (truncate_to_mode): Use it.
4064 (init_rtlanal): Call init_num_sign_bit_copies_in_rep.
4065 * targhooks.h (default_mode_rep_extended): Declare it.
4066 * targhooks.c (default_mode_rep_extended): Define it.
4067 * target-def.h (TARGET_MODE_REP_EXTENDED): New macro. Default to
4068 default_mode_rep_extended.
4069 (TARGET_INITIALIZER): Include it.
4070 * doc/tm.texi (Misc): Document it.
4071 * config/mips/mips.c (TARGET_TRUNCATED_TO_MODE): Override it.
4072 (mips_truncated_to_mode): New function.
4073
d763e130
RS
40742006-04-16 Roger Sayle <roger@eyesopen.com>
4075
4076 PR middle-end/25474
4077 * expr.c (compress_float_constant): Copy the narrow constant into
4078 a new pseudo before extending it to its final width.
4079
2ff61948
RS
40802006-04-16 Roger Sayle <roger@eyesopen.com>
4081 Andrew Pinski <pinskia@gcc.gnu.org>
4082 Dale Johannesen <dalej@apple.com>
4083
4084 PR target/24076
4085 * config/i386/i386.c (ix86_expand_vector_init_duplicate): Add
4086 special case code to implement V8HImode and V16QImode with SSE2.
4087
3db8a113
RS
40882006-04-15 Roger Sayle <roger@eyesopen.com>
4089
4090 * config/i386/i386.c (ix86_va_start): Ensure all integer constant
4091 trees are constructed with a suitable tree type.
4092
7fe25d1a
RS
40932006-04-15 Roger Sayle <roger@eyesopen.com>
4094
4095 * tree.c (integer_zerop): Ignore TREE_CONSTANT_OVERFLOW.
4096 (integer_onep): Likewise.
4097 (integer_all_onesp): Likewise.
4098 (integer_pow2p): Likewise.
4099 (integer_nonzerop): Likewise.
4100 (real_zerop): Likewise.
4101 (real_onep): Likewise.
4102 (real_twop): Likewise.
4103 (real_minus_onep): Likewise.
4104 (int_size_in_bytes): Likewise.
4105 (host_integerp): Likewise.
4106
75c40d56
KH
41072006-04-15 Kazu Hirata <kazu@codesourcery.com>
4108
4109 * cfgcleanup.c, config/dfp-bit.c, expr.c, fold-const.c,
4110 jump.c, mips-tfile.c, omp-low.c, sched-int.h,
4111 tree-ssa-loop-prefetch.c, tree-vrp.c: Fix comment typos.
4112
aacac31f
KH
4113 * tree-ssa-structalias.h (alias_info): Remove num_references.
4114
8370f6fa
JDA
41152006-04-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4116
4117 * pa.md (output_bb patterns): Shorten long branch alternatives by 4.
4118 (output_bvb patterns): Likewise.
4119 * pa.c (output_bb): Use 'bb' insn for long branch case.
4120 (output_bvb): Likewise use '{bvb|bb}' for long branch case.
4121 (output_dbra): Use '{comb|cmpb}' for long branch case for alternative
4122 1. Correct length operand for alternatives 1 and 2.
4123 (output_movb): Use '{comb|cmpb}' for long branch case for alternatives
4124 1, 2 and 3. Correct length operand for alternatives 1, 2 and 3.
4125
bed575d5
RS
41262006-04-14 Roger Sayle <roger@eyesopen.com>
4127
4128 * tree-cfg.c (make_edges, make_omp_sections_edges, move_stmt_r,
4129 is_ctrl_altering_stmt): Reinstate RTH's changes from r112935 that
4130 were accidentally reverted by r112959.
4131
7e2df4a1
JJ
41322006-04-15 Jakub Jelinek <jakub@redhat.com>
4133
4134 PR middle-end/26823
4135 * except.h (eh_region_outermost): New prototype.
4136 * except.c (eh_region_outermost): New function.
4137 * tree-cfg.c (find_outermost_region_in_block): Use it.
4138
43b373a2
KH
41392006-04-14 Kazu Hirata <kazu@codesourcery.com>
4140
4141 * local-alloc.c (rest_of_handle_local_alloc): Use VEC instead
4142 of VARRAY.
4143 * reload1.c (reg_equiv_memory_loc_varray): Rename to
4144 reg_equiv_memory_loc_vec. Change the type to VEC(rtx,gc) *.
4145 (init_reload, reload): Use VEC instead of VARRAY.
4146 * reload.h: Update the prototype for
4147 reg_equiv_memory_loc_varray.
4148
68ba34f3 41492006-04-14 Alexey Starovoytov <alexey.starovoytov@sun.com>
e8366202 4150 Eric Botcazou <ebotcazou@libertysurf.fr>
68ba34f3
AS
4151
4152 * config/sparc/sparc.c (emit_and_preserve): Allocate space for the
4153 register save area.
4154
39b1ec97
UB
41552005-04-13 Uros Bizjak <uros@kss-loka.si>
4156
4157 PR middle-end/27134
4158 * builtins.c (expand_builtin_int_roundingfn): Use expand_normal()
4159 to expand fallback builtin function call.
4160
880864cf
AM
41612006-04-14 Alan Modra <amodra@bigpond.net.au>
4162
4163 PR middle-end/27095
4164 * builtins.c: (expand_builtin_memset): Stabilize args before expansion
4165 and emit libcall here in case the builtin fails.
4166 (expand_builtin_strcmp): Always emit the libcall here on failure.
4167
1935e8a8
KH
41682006-04-14 Kazu Hirata <kazu@codesourcery.com>
4169
4170 * basic-block.h (REG_BASIC_BLOCK): Use VEC instead of VARRAY.
4171 * flow.c (reg_n_info): Change the type to
4172 VEC(reg_info_p,heap) *.
4173 * regclass.c (allocate_reg_info, free_reg_info): Use VEC
4174 instead of VARRAY.
4175 * regs.h (reg_info_p): New.
4176 (REG_N_REFS, REG_FREQ, REG_N_SETS, REG_N_DEATHS,
4177 REG_N_CALLS_CROSSED, REG_N_THROWING_CALLS_CROSSED,
4178 REG_LIVE_LENGTH, REGNO_FIRST_UID, REGNO_LAST_UID): Use VEC
4179 instead of VARRAY.
4180
6f8dd94b
EB
41812006-04-13 Eric Botcazou <ebotcazou@adacore.com>
4182
4183 * params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter,
4184 defaulting to 100.
4185 * params.h (MAX_SCHED_READY_INSNS): New macro.
4186 * haifa-sched.c: (queue_to_ready): Re-queue insns for the next cycle
4187 past MAX_SCHED_READY_INSNS during the first scheduling pass.
4188 (schedule_block): Delay insns past MAX_SCHED_READY_INSNS in
4189 the ready list for 1 cycle during the first scheduling pass.
4190 * doc/invoke.texi (--param): New parameter max-sched-ready-insns.
4191
777f7f9a
RH
41922006-04-13 Richard Henderson <rth@redhat.com>
4193
bed575d5 4194 PR libgomp/26651
777f7f9a
RH
4195 * gimple-low.c (lower_omp_directive): Remove dead code.
4196 (lower_stmt): Do nothing except for openmp, except for OMP_PARALLEL.
4197 * gimplify.c (gimplify_expr): Update for OMP_RETURN, OMP_CONTINUE.
4198 * omp-low.c (struct omp_region): Move to tree-flow.h.
4199 (root_omp_region): Export.
4200 (omp_regions, lookup_omp_region): Remove.
4201 (determine_parallel_type): Update for struct omp_region changes.
4202 (dump_omp_region): Dump regions with block numbers.
4203 (new_omp_region): Take type and block instead of stmt; malloc
4204 instead of ggc.
4205 (free_omp_region_1, free_omp_regions): New.
4206 (expand_parallel_call): Take entry_stmt as argument; update for
4207 changes to omp_region.
4208 (remove_exit_barrier): Rewrite to update OMP_RETURN_NOWAIT.
4209 (remove_exit_barriers): New.
4210 (expand_omp_parallel): Update for struct omp_region changes.
4211 (expand_omp_synch): Likewise.
4212 (expand_omp): Likewise.
4213 (expand_omp_for_static_nochunk): Likewise; update for OMP_CONTINUE.
4214 (expand_omp_for_static_chunk): Likewise.
4215 (expand_omp_for): Likewise.
4216 (expand_omp_for_generic): Likewise; emit the proper GOMP_loop_end call.
4217 (expand_omp_sections): Similarly, with GOMP_sections_end.
4218 (expand_omp_single): New.
4219 (build_omp_regions_1): Update for OMP_CONTINUE.
4220 (execute_expand_omp): Call remove_exit_barriers, free_omp_regions.
4221 (lower_omp_sections): Expand with OMP_CONTINUE, do not collect
4222 OMP_SECTIONS_SECTIONS.
4223 (lower_omp_single_simple): Don't emit barrier here.
4224 (lower_omp_single_copy): Likewise.
4225 (lower_omp_single): Fix bindings, and lower to straightline now.
4226 (lower_omp_master, lower_omp_ordered): Likewise.
4227 (lower_omp_critical): Likewise.
4228 (lower_omp_for): Likewise. Emit OMP_CONTINUE.
4229 * tree-cfg.c (make_edges): Collect an omp_region tree, use it for
4230 omp edges, free it afterward.
4231 (make_omp_sections_edges): Remove.
4232 (is_ctrl_altering_stmt): Don't bother checking flag_openmp.
4233 (move_stmt_r): Handle OMP_CONTINUE.
7a0b46c9 4234 * tree-flow.h (struct omp_region): Move from omp-low.c. Switch
777f7f9a
RH
4235 statement pointers to basic blocks. Add type member.
4236 (root_omp_region, new_omp_region, free_omp_regions): Declare.
4237 * tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN, OMP_CONTINUE.
4238 * tree-inline.c (estimate_num_insns_1): Likewise.
4239 * tree-pretty-print.c (dump_generic_node): Likewise.
4240 * tree-ssa-operands.c (get_expr_operands): Likewise.
4241 * tree.def (OMP_SECTIONS): Remove OMP_SECTIONS_SECTIONS operand.
4242 (OMP_RETURN): Rename from OMP_RETURN_EXPR.
4243 (OMP_CONTINUE): New.
4244 * tree.h (OMP_DIRECTIVE_P): Add OMP_CONTINUE.
4245 (OMP_SECTIONS_SECTIONS): Remove.
4246 (OMP_SECTION_LAST): New.
4247 (OMP_RETURN_NOWAIT): New.
4248
15b1c12a
RS
42492006-04-13 Roger Sayle <roger@eyesopen.com>
4250
4251 * fold-const.c (native_encode_vector, native_interpret_real):
4252 Correct obvious mistakes in the previous check-in.
4253
78bf6e2f
RS
42542006-04-13 Roger Sayle <roger@eyesopen.com>
4255
4256 * fold-const.c (native_encode_expr): New function to encode
4257 the target representation of an INTEGER_CST, REAL_CST, COMPLEX_CST
4258 or VECTOR_CST into a specified buffer.
4259 (native_encode_int): New function.
4260 (native_encode_real): New function.
4261 (native_encode_complex): New function.
4262 (native_encode_vector): New function.
4263 (native_interpret_expr): Inverse of native_encode_expr to convert
4264 a target representation into an INTEGER_CST, REAL_CST etc...
4265 (native_interpret_int): New function.
4266 (native_interpret_real): New function.
4267 (native_interpret_complex): New function.
4268 (native_interpret_vector): New function.
4269 (fold_view_convert_expr): New function to constant fold/evaluate
4270 a VIEW_CONVERT_EXPR of a suitable constant expression.
4271 (fold_unary) <VIEW_CONVERT_EXPR>: Call fold_view_convert_expr.
4272 Change call of build1 to fold_build1 when constructing a
4273 VIEW_CONVERT_EXPR.
4274
76492753
PB
42752006-04-13 Paolo Bonzini <bonzini@gnu.org>
4276 Ulrich Weigand <uweigand@de.ibm.com>
4277
4278 PR target/27006
4279 * config/rs6000/rs6000.h (EASY_VECTOR_15_ADD_SELF): Require n
4280 to be even.
4281
7b5d92b2
AM
42822006-04-13 Alan Modra <amodra@bigpond.net.au>
4283
4284 PR target/26459
4285 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
4286 optimize to lo_sum for DFmode if !TARGET_FPRS.
4287
d96f49bf
KH
42882006-04-12 Kazu Hirata <kazu@codesourcery.com>
4289
4290 * tree-ssa-alias.c (set_initial_properties, init_alias_info,
4291 delete_alias_info, compute_flow_sensitive_aliasing,
4292 group_aliases): Use VEC instead of VARRAY.
4293 * tree-ssa-structalias.c (update_alias_info): Likewise.
4294 * tree-ssa-structalias.h (alias_info): Change the type of
4295 processed_ptrs to VEC(tree,heap) *.
4296
3f1d3526
R
42972006-04-12 J"orn Rennecke <joern.rennecke@st.com>
4298
4299 PR target/27060
e8366202
MS
4300 * config/sh/lib1funcs.h: New file, broken out of:
4301 * config/sh/lib1funcs.asm.
4302 * config/sh/lib1funcs.h (DR00, DR01, DR20, DR21, DR40, DR41):
3f1d3526
R
4303 New macros.
4304 * config/sh/lib1funcs.asm (udivsi3_i4): Use them.
e8366202 4305 * config/sh/lib1funcs-Os-4-200.asm: New file.
3f1d3526
R
4306 * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-Os-4-200.
4307 * config/sh/t-sh (OPT_EXTRA_PARTS): New variable.
4308 (EXTRA_MULTILIB_PARTS): Include it.
4309 ($(T)sdivsi3_i4i-Os-4-200.o): New rule.
4310 ($(T)udivsi3_i4i-Os-4-200.o, $(T)libgcc-Os-4-200.a): Likewise.
4311 * config/sh/t-superh (EXTRA_MULTILIB_PARTS): Include OPT_EXTRA_PARTS.
4312 * config/sh/sh.h (OVERRIDE_OPTIONS): Recognize -mdiv=call-table for
4313 TARGET_SH2.
4314
dacb336e
KH
43152006-04-12 Kazu Hirata <kazu@codesourcery.com>
4316
4317 * Makefile.in (TREE_SSA_LIVE_H): Add vecprim.h.
4318 * tree-ssa-live.c (tpa_init, tpa_remove_partition, tpa_delete,
4319 tpa_compact, root_var_init, type_var_init): Use VEC instead of
4320 VARRAY.
4321 * tree-ssa-live.h: Include vecprim.h.
4322 (tree_partition_associator_d): Change the type of
4323 first_partition to VEC(int,heap) *.
4324 (tpa_first_partition): Use VEC instead of VARRAY.
4325
597d6703
KH
4326 * Makefile.in (GTFILES): Move functions.h after tree.h.
4327 * function.c (reset_block_changes, record_block_change,
4328 check_block_change, free_block_changes): Use VEC instead of
4329 VARRAY.
4330 * function.h (function): Change the type of
4331 ib_boundaries_block to VEC(tree,gc) *.
4332 * tree-inline.c (copy_cfg_body): Initialize
4333 ib_boundaries_block to NULL instead of (varray_type) 0.
4334
7488662d
RS
43352006-04-12 Roger Sayle <roger@eyesopen.com>
4336
4337 * expr.c (emit_group_store): Correct operand order in call to
4338 subreg_lowpart_offset. Always create paradoxical SUBREGs with
4339 a SUBREG_BYTE of zero.
4340
76783bc2
RG
43412006-04-12 Richard Guenther <rguenther@suse.de>
4342
4343 * profile.c (compute_branch_probabilities): Remove code
4344 encapsulated in !ir_type (), which are remanents of the
4345 removed RTL profiling code.
4346 * rtl-profile.c: Remove.
4347
79773478
AM
43482006-04-12 Alan Modra <amodra@bigpond.net.au>
4349
4350 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Update
4351 magic NULL_RTX comment.
4352 (function_arg): Store entire fp arg to mem if any part should go
4353 on stack.
4354 (rs6000_arg_partial_bytes): Adjust for above change.
4355
10934c3b
RS
43562006-04-11 Roger Sayle <roger@eyesopen.com>
4357
4358 * dwarf2out.c (output_call_frame_info): Create debug_frame_section
4359 if it hasn't been initialized by dwarf2out_init.
4360
58be56ea
JDA
43612006-04-11 John David Anglin <dava.anglin@nrc-cnrc.gc.ca>
4362
4363 * pa.md (MAX_12BIT_OFFSET, MAX_17BIT_OFFSET): Define and use new
4364 symbolic constants in branch patterns.
4365
f6c4ed08
RS
43662006-04-11 Roger Sayle <roger@eyesopen.com>
4367
4368 * caller-save.c: #include "addresses.h" after #include "tm_p.h".
4369
205eb6e7
RS
43702006-04-11 Richard Sandiford <richard@codesourcery.com>
4371
4372 PR rtl-optimization/27073
4373 * gcse.c (try_replace_reg): Revert last change. Continue to search
4374 for both REG_EQUAL and REG_EQUIV notes, but only perform replacements
4375 on the former.
4376
ef6843ed
EB
43772006-04-11 Eric Botcazou <ebotcazou@libertysurf.fr>
4378
4379 * config/sparc/sparc.c (function_arg_slotno) <BLKmode>: Handle
4380 aggregate types other than record and union types.
4381 (function_arg): Likewise.
4382 (function_arg_pass_by_reference): In 64-bit mode, return 0 for
4383 small arrays.
4384 (function_value): In 64-bit mode, return objects that require it
4385 in FP registers.
4386
b4426e0a
RS
43872006-04-11 Roger Sayle <roger@eyesopen.com>
4388
4389 * dwarf2out.c (premark_used_types): Remove problematic prototype.
4390
8beb0d9e
JJ
43912006-04-11 Jakub Jelinek <jakub@redhat.com>
4392
4393 * gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o.
4394
cf282d0a
JL
43952006-04-03 Jeff Law <law@redhat.com>
4396
4397 PR/27087
4398 * tree-ssa-copy.c (may_propagate_copy): Test flow sensitive
4399 alias information too.
4400
b3b2cbc4
MF
44012006-04-10 Mike Frysinger <vapier@gentoo.org>
4402
a1d1988f 4403 * Makefile.in (gcc-cross): Add $(exeext) to target name.
b3b2cbc4 4404
33c9159e
AH
44052006-04-10 Aldy Hernandez <aldyh@redhat.com>
4406
4407 PR/21391
4408 * dwarf2out.c (struct die_struct): Add die_perennial_p field.
4409 (premark_used_types_helper): New.
4410 (premark_used_types): New.
4411 (gen_subprogram_die): Call premark_used_types.
4412 (prune_unused_types_walk): Do not prune perennial dies.
4413 * function.c (used_types_insert): New.
4414 * function.h (struct function): Add used_types_hash field.
4415 (used_types_insert): Add prototype.
4416 * Makefile.in (FUNCTION_H): Depend on HASHTAB_H.
4417 * c-parser.c (c_parser_cast_expression): Save casted types in used
4418 types hash table.
4419
ab9260ac
MM
44202006-04-11 Mark Mitchell <mark@codesourcery.com>
4421
4422 PR target/26459
4423 * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Test
4424 rs6000_explicit_options.float_gprs.
4425
acef130f
RS
44262006-04-10 Roger Sayle <roger@eyesopen.com>
4427
4428 * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Renamed
4429 from ix86_expand_vector_init_low_nonzero. Take an additional
4430 one_var argument indicating which element is non-zero. Support
4431 one_var != 0 for V4SFmode and V4SImode by permuting the result.
4432 (ix86_expand_vector_init): Call ix86_expand_vector_init_one_nonzero
4433 with one_var instead of ix86_expand_vector_init_low_nonzero.
4434
e3df376d
KH
44352006-04-10 Kazu Hirata <kazu@codesourcery.com>
4436
4437 * Makefile.in (tree-into-ssa.o, tree-outof-ssa.o,
4438 tree-ssa-live.o, tree-ssa-alias.o, function.o, df-problems.o,
4439 global.o, cfglayout.o, lambda-code.o, reg-stack.o,
4440 build/genextract.o): Depend on vecprim.h.
4441 * cfglayout.c, df-problems.c, function.c, genextract.c,
4442 global.c, lambda-code.c, reg-stack.c, tree-into-ssa.c,
4443 tree-outof-ssa.c, tree-ssa-alias.c, tree-ssa-live.c: Include
4444 vecprim.h.
4445 * vecprim.h: New.
4446
1a27722f
GK
44472006-04-10 Geoffrey Keating <geoffk@apple.com>
4448
4449 * dwarf2out.c (struct dw_attr_struct): Remove dw_attr_next.
4450 Declare VECs of this type.
4451 (struct die_struct): Make field die_attr a VEC of dw_attr_struct.
4452 (remove_children): Delete.
4453 (add_dwarf_attr): Use VEC routines.
4454 (add_AT_flag): Update for changes to add_dwarf_attr.
4455 (add_AT_int): Likewise.
4456 (add_AT_unsigned): Likewise.
4457 (add_AT_long_long): Likewise.
4458 (add_AT_vec): Likewise.
4459 (add_AT_string): Likewise.
4460 (add_AT_die_ref): Likewise.
4461 (add_AT_fde_ref): Likewise.
4462 (add_AT_loc): Likewise.
4463 (add_AT_loc_list): Likewise.
4464 (add_AT_addr): Likewise.
4465 (add_AT_lbl_id): Likewise.
4466 (add_AT_lineptr): Likewise.
4467 (add_AT_macptr): Likewise.
4468 (add_AT_offset): Likewise.
4469 (add_AT_range_list): Likewise.
4470 (get_AT): Use VEC_iterate.
4471 (remove_AT): Use VEC_ordered_remove.
4472 (free_die): Fold remove_children into here; have it use VEC_iterate.
4473 (print_die): Use VEC_iterate on attrs.
4474 (reverse_die_lists): Don't reverse attr lists.
4475 (die_checksum): Use VEC_iterate on attrs.
4476 (same_die_p): Likewise.
4477 (output_location_lists): Likewise.
4478 (build_abbrev_table): Likewise.
4479 (size_of_die): Likewise.
4480 (unmark_all_dies): Likewise.
4481 (output_abbrev_section): Likewise.
4482 (output_die): Likewise.
4483 (prune_unused_types_walk_attribs): Likewise.
4484
1da1ce3f
EB
44852006-04-10 Eric Botcazou <ebotcazou@libertysurf.fr>
4486
1f3d30ed 4487 * doc/install.texi (*-*-solaris2*): Point to the configure page.
1da1ce3f 4488
ef85ac9a
JJ
44892006-04-10 Jakub Jelinek <jakub@redhat.com>
4490
4491 PR debug/27057
4492 * dwarf2out.c (is_symbol_die): Return true also for namespaces.
4493
cf26aa89
RS
44942006-04-09 Roger Sayle <roger@eyesopen.com>
4495
4496 * expr.c (store_constructor): Don't bother clearing target if
4497 we're about to assign a vector to it using vec_init_optab.
4498
ef2bb311 44992006-04-10 Daniel Berlin <dberlin@dberlin.org>
7a0b46c9 4500
ef2bb311
DB
4501 * tree-ssa-alias.c (lhs_may_store_to): New function.
4502 (recalculate_used_alone): Handle LHS of calls.
4503
8b89a26a
JDA
45042006-04-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4505
4506 PR target/27034
4507 PR target/26508
4508 * config.gcc (hppa*64*-*-hpux11*): Add 'libgcc_stub.a' to extra_parts.
4509 * pa64-hpux.h (LIB_SPEC): Correct typo. Don't append milli.a.
4510 (LINK_GCC_C_SEQUENCE_SPEC): Define. Append milli.a here.
4511 (PA_CXA_FINALIZE_STUB, PA_JV_REGISTERCLASSES_STUB): Delete defines.
4512 (PA_INIT_FINI_HACK): Rename to PA_CRTBEGIN_HACK.
4513 (PA_CRTBEGIN_HACK): Ensure __do_global_ctors_aux is placed in text
4514 section. Delete PA_CXA_FINALIZE_STUB and PA_JV_REGISTERCLASSES_STUB
4515 stubs. Add ".align 8" directives before all ".dword" directives.
4516 (GTHREAD_USE_WEAK): Revise comment.
4517 (TARGET_ATTRIBUTE_WEAK): Define.
4518 * pa/t-pa64 (LIBGCCSTUB_OBJS): Add new rules for stublib.c, rfi-stub.o,
4519 dfi-stub.o, cxaf-stub.o and jvrc-stub.o.
4520 * stublib.c: New file.
16d74a3c
JDA
4521
4522 PR target/26743
4523 PR target/11254
4524 PR target/10274
4525 * pa.md (cbranch patterns): Revise arguments used in calls to
4526 output_cbranch, output_bb and output_bvd. Add long branch length
4527 attributes.
4528 (fbranch patterns): Handle long branches.
4529 (jump): Revise length check. Revise arguments for output_lbranch call.
4530 Add long branch length attributes.
4531 (decrement_and_branch_until_zero): Add long branch length attributes.
4532 (output_movb, output_parallel_addb and output_parallel_movb patterns):
4533 Likewise. Revise arguments for output_parallel_addb and
4534 output_parallel_movb calls.
4535 * pa-protos.h (output_cbranch, output_lbranch, output_bb, output_bvb,
4536 output_parallel_movb and output_parallel_addb): Update prototypes.
4537 * pa.c (output_cbranch): Revise arguments. Correct handling of
4538 nullification in long branches.
4539 (output_lbranch): Add new argument to control extraction of delay
4540 instruction.
4541 (output_bb): Handle long branches.
4542 (output_bvb, output_dbra, output_movb, output_parallel_movb,
4543 output_parallel_addb): Likewise.
4544
c3a50ca3
RS
45452006-04-09 Richard Sandiford <richard@codesourcery.com>
4546
4547 PR rtl-optimization/27073
4548 * gcse.c (try_replace_reg): Just propagate into REG_EQUAL notes,
4549 not REG_EQUIVs.
4550
9ccfe0cd
DB
45512006-04-08 Daniel Berlin <dberlin@dberlin.org>
4552
4553 * tree.h (tree_memory_tag): Add old_used_alone.
4554 (SMT_OLD_USED_ALONE): New macro.
4555 * tree-ssa-alias.c (recalculate_used_alone): Stop
4556 marking things for renaming unnecessarily.
4557
917f1b7e
KH
45582006-04-08 Kazu Hirata <kazu@codesourcery.com>
4559
4560 * builtins.c, config/arm/arm.c, config/i386/cygwin.h,
4561 config/i386/i386.c, config/ia64/ia64.c, config/s390/fixdfdi.h,
4562 config/sh/sh.c, config/sh/sh.h, df-scan.c, except.c,
4563 haifa-sched.c, optabs.c, rtl.h, sched-deps.c, sched-int.h,
4564 sched-rgn.c, tree-inline.h, tree-ssa-dom.c,
4565 tree-ssa-loop-prefetch.c, tree-ssa-operands.c,
4566 tree-vect-patterns.c, tree-vrp.c: Fix comment typos. Follow
4567 spelling convensions.
4568 * config/ia64/ia64.opt, doc/contrib.texi, doc/invoke.texi,
4569 doc/passes.texi, doc/tm.texi, doc/tree-ssa.texi: Fix comment
4570 typos. Follow spelling conventions.
4571
9d746d5e
DD
45722006-04-07 DJ Delorie <dj@redhat.com>
4573
4574 * config/m32c/m32c.c (m32c_function_arg): Structures are always
4575 passed on the stack.
4576 (m32c_init_cumulative_args): When a function returns a structure,
4577 always pass the pointer to that return area on the stack.
4578 (m32c_function_arg_advance): Don't increment the parameter number
4579 if we're processing the returned structure pointer.
4580 (pushm_info): Reverse order of registers.
4581
ff5e9a94
SP
45822006-04-07 Sebastian Pop <pop@cri.ensmp.fr>
4583
4584 * tree-ssa-loop-niter.c (inverse, number_of_iterations_ne,
4585 assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt,
4586 number_of_iterations_le, number_of_iterations_cond, find_loop_niter,
7a0b46c9 4587 estimate_numbers_of_iterations_loop): Use build_int_cst instead of
ff5e9a94
SP
4588 build_int_cst_type.
4589 * tree-chrec.c (chrec_fold_multiply_poly_poly,
4590 chrec_fold_multiply): Same.
4591 * tree-ssa-loop-ivopts.c (strip_offset_1, force_expr_to_var_cost,
4592 force_expr_to_var_cost): Same.
4593 * tree-mudflap.c (mf_xform_derefs_1): Same.
4594 * tree-ssa-loop-prefetch.c (idx_analyze_ref): Same.
4595
f6fe3a22
DE
45962006-04-07 David Edelsohn <edelsohn@gnu.org>
4597
4598 * config/rs6000/rs6000.c (rs6000_rtx_costs) <CONST_DOUBLE>: Do not
4599 treat CONST_DOUBLE as INTVAL. and64_2_operands require an extra
4600 insn.
28e6f134
JH
4601
46022006-04-07 Jan Hubicka <jh@suse.cz>
4603
4604 * ipa-inline.c (cgraph_early_inlining): Collect garbage.
4605
fcfa143a
RB
46062006-04-07 Richard Guenther <rguenther@suse.de>
4607
4608 PR tree-optimization/26135
4609 * tree-ssa-copy.c (stmt_may_generate_copy): Handle memory
4610 loads for store copy-prop.
4611 (copy_prop_visit_stmt): Likewise.
4612
46132006-04-05 Robert Millan <robertmh@gnu.org>
8224ee20 4614
e8366202 4615 * config/i386/linux.h: Add a comment to mark macros that are
8224ee20 4616 being overriden in config/k*bsd-gnu.h.
e8366202 4617 * config/kfreebsd-gnu.h: Redefine GLIBC_DYNAMIC_LINKER instead of
8224ee20 4618 DYNAMIC_LINKER.
e8366202 4619 * config/knetbsd-gnu.h: Ditto.
8224ee20 4620
1f651229
JH
46212006-04-06 Jan Hubicka <jh@suse.cz>
4622
4623 PR profile/20815
4624 PR profile/26399
4625 * coverage.c (coverage_checksum_string): Reorganize loop to not read
4626 after buffer.
4627
3425c35f
MS
46282006-04-06 Mike Stump <mrs@apple.com>
4629
4630 * builtins.c (expand_builtin_longjmp):Use #ifdef instead of #if
4631 for HAVE_nonlocal_goto to be consistent.
4632 (expand_builtin_nonlocal_goto): Likewise.
4633 (expand_builtin_strcmp): Use #ifdef instead of #if
4634 for HAVE_cmpstrnsi to be consistent.
4635
0f681872
DD
46362006-04-05 DJ Delorie <dj@redhat.com>
4637
4638 * config/m32c/m32c.h (INCOMING_FRAME_SP_OFFSET): Adjust for m16c
4639 vs m32c.
4640
300adfc2
BS
46412006-04-05 Bernd Schmidt <bernd.schmidt@analog.com>
4642
4643 * config/bfin/bfin.c (bfin_legitimate_address_p): Disallow
4644 got-relative addressing for anything but SImode.
4645
dcef6aba
BS
4646 * config/bfin/lib1funcs.asm (modsi): P1/P2 can be call-clobbered
4647 even if the calling function doesn't modify them.
4648
cf51dca2
RG
46492006-04-05 Richard Guenther <rguenther@suse.de>
4650
4651 PR tree-optimization/26919
4652 * ipa-inline.c (cgraph_decide_inlining_incrementally): Fix argument
4653 to cgraph_estimate_size_after_inlining.
4654
e17e34d8
AM
46552006-04-05 Alan Modra <amodra@bigpond.net.au>
4656
4657 * reload.c (find_dummy_reload): Fix typo in 2006-04-03 change.
4658
42d375ed
SP
46592006-04-05 Sebastian Pop <pop@cri.ensmp.fr>
4660
4661 PR tree-optimization/26996
4662 * tree-scalar-evolution.c (analyze_scalar_evolution_1): Don't analyze
4663 VECTOR_TYPE variables.
4664
6eee9893
RG
46652006-04-05 Richard Guenther <rguenther@suse.de>
4666
4667 PR tree-optimization/26763
4668 * fold-const.c (fold_comparison): Move folding of
4669 PTR + CST CMP PTR + CST ...
4670 (fold_binary): ... here. Fold only for EQ_EXPR and NE_EXPR.
4671
80521187
GP
46722006-04-05 Gerald Pfeifer <gerald@pfeifer.com>
4673
4674 * doc/install.texi (Prerequisites): Refine some wording on
4675 bootstrapping and ksh.
4676 Move the version numbers of DejaGnu here from the testing section
4677 and fix casing of names.
4678 Fix markup and clarify wording for autogen requirements.
4679 Refer to GCJ instead of just java.
4680 Refer to SVN instead of CVS.
4681 Describe diffutils as useful instead of necessary.
4682 (Downloading the source): Refer to SVN instead of CVS.
4683 Adjust a link to our web site accordingly.
4684 (Configuration): Fix casing of Bison.
7a0b46c9 4685 (Building): Refer to SVN instead of CVS.
80521187
GP
4686 Fix a sentence on the use of Bison and remove duplicate (and
4687 incorrect) version number of Bison requirement.
4688 Remove one redundant list of packages needed for building.
4689 (Specific): Avoid reference to CVS.
4690
77ccdfed
EC
46912006-04-04 Eric Christopher <echristo@apple.com>
4692
4693 * config/rs6000/rs6000.c (TARGET_MS_BITFIELD_LAYOUT_P): Define.
4694 (TARGET_USE_MS_BITFIELD_LAYOUT): Ditto.
4695 (rs6000_handle_struct_attribute): New.
4696 (rs6000_ms_bitfield_layout_p): Ditto.
4697
b3c2c547
GK
46982006-04-04 Geoffrey Keating <geoffk@apple.com>
4699
4700 * config/darwin-crt3.c (atexit): Pass &__dso_handle rather than
4701 NULL for dso parameter to atexit_common.
4702
4b1c1f6f
EC
47032006-04-04 Eric Christopher <echristo@apple.com>
4704
4705 * config/i386/i386.c (machopic_output_stub): Output \t
4706 between instructions and operands.
4707
547b216d
DE
47082006-04-04 David Edelsohn <edelsohn@gnu.org>
4709
4710 * config/rs6000/rs6000.c (num_insns_constant_wide): Change
4711 satisfies_constraint_[IL] to explicit tests on value.
4712
dc61cc6b
SP
47132006-04-04 Sebastian Pop <pop@cri.ensmp.fr>
4714
4715 * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
4716 set_nb_iterations_in_loop): Use build_int_cst instead of
4717 build_int_cst_type.
4718 * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Use
4719 build_int_cst instead of convert.
4720
2225b57c
CD
47212006-04-04 Carlos O'Donell <carlos@codesourcery.com>
4722
4723 * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document
4724 new value 2 for incoming.
4725 * function.c (expand_function_start): Call struct_value_rtx
4726 with incoming as 2.
4727 * config/sparc/sparc.md: Comment updated_return.
4728 * config/sparc/sparc.opt: Add -mstd-struct-return option.
4729 * config/sparc/sparc.c (sparc_struct_value_rtx): Use standard
4730 struct return if sparc_std_struct_return and incoming is 2.
4731 (print_operand): Do not adjust return if
4732 sparc_std_struct_return.
4733
3967bc2d
RS
47342006-04-04 Roger Sayle <roger@eyesopen.com>
4735
4736 * builtins.c (fold_builtin_sprintf): Use fold_convert instead of
4737 convert in the middle-end.
4738 * expr.c (store_expr, store_constructor, get_inner_reference,
4739 expand_expr_real_1, string_constant, try_casesi, try_tablejump):
4740 Likewise.
4741 * tree.c (build_range_type): Likewise.
4742
b52be2c8
TT
47432006-04-04 Tom Tromey <tromey@redhat.com>
4744
4745 * doc/install.texi (Prerequisites): Mention jar.
4746
d9d93d96
DB
47472006-04-04 Daniel Berlin <dberlin@dberlin.org>
4748
4749 * doc/tree-ssa.texi (Preserving the virtual ssa form): New
4750 subsection.
4751
8160ab35
MK
47522006-04-04 Matthias Klose <doko@debian.org>
4753
4754 * Makefile.in (unprotoize.o): Same dependencies as for protoize.o.
9edaf51e
MK
4755 * Makefile.in (s-macro_list): Conform to POSIX rules in single quoted
4756 strings.
8160ab35 4757
a7d37464
GK
47582006-04-03 Geoffrey Keating <geoffk@apple.com>
4759
4b1c1f6f 4760 * doc/extend.texi (Function Attributes): Rewrite visibility
46bdbc00
GK
4761 attribute documentation.
4762 * doc/invoke.texi (C++ Dialect Options): Rewrite
4763 -fvisibility-inlines-hidden documentation to describe something
4764 entirely different, although in practise compatible.
4cb19a9f 4765 (Code Gen Options): Warn about system headers in -fvisibility=
46bdbc00
GK
4766 documentation.
4767
a7d37464
GK
4768 * doc/extend.texi (Other Builtins): Document that
4769 __builtin_nan is a compile-time constant only when its argument
4770 is valid.
4771
2332d585
AN
47722006-04-03 Adam Nemet <anemet@caviumnetworks.com>
4773
4774 * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: When
4775 trying to remove TRUNCATE check if all bits outside the new mode
4776 are identical to the sign bit.
4777
cbc75e62
JL
47782006-04-03 Jeff Law <law@redhat.com>
4779
4780 * tree-ssa-dom.c (propagate_rhs_into_lhs): Avoid useless folding
4781 and operand scanning in some common cases.
4782
4735cca6 47832006-04-03 Paolo Bonzini <bonzini@gnu.org>
b5c82fa1
PB
4784 Dale Johannesen <dalej@apple.com>
4785
4786 PR target/19653
4787 * regclass.c (struct reg_pref): Update documentation.
4788 (regclass): Set prefclass to NO_REGS if memory is the best option.
4789 (record_reg_classes): Cope with a prefclass set to NO_REGS.
4790 * reload.c (find_reloads): Take PREFERRED_OUTPUT_RELOAD_CLASS
4791 into account. For non-registers, equate an empty preferred
4792 reload class to a `!' in the constraint; move the if clause to
4793 do so after those that reject the insn.
4794 (push_reload): Allow PREFERRED_*_RELOAD_CLASS to liberally
4795 return NO_REGS.
4796 (find_dummy_reload): Likewise.
4797 * doc/tm.texi (Register Classes): Document what it means
4798 if PREFERRED_*_RELOAD_CLASS return NO_REGS.
4799 * config/i386/i386.c (ix86_preferred_reload_class): Force
4800 using SSE registers (and return NO_REGS for floating-point
4801 constants) if math is done with SSE.
4802 (ix86_preferred_output_reload_class): New.
4803 * config/i386/i386-protos.h (ix86_preferred_output_reload_class): New.
4804 * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): New.
4805 * config/i386/i386.md: Remove # register preferences.
4806
16a2acea
SP
48072006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
4808
4809 PR bootstrap/26992
4810 * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
4811 chrec_is_positive, set_nb_iterations_in_loop): Use a variable for
4812 the type of nb_iter.
4813 (instantiate_parameters_1): Convert the operands before calling
4814 chrec_fold_minus, chrec_fold_plus, or chrec_fold_multiply.
4815 * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Same.
4816
b6f65e3c
RS
48172006-04-02 Roger Sayle <roger@eyesopen.com>
4818
4819 * builtins.c (dummy_object): Use build_int_cst instead of convert.
4820 * tree-ssa-ccp.c (maybe_fold_stmt_addition): Use fold_convert
4821 instead of convert.
4822 * dojump.c (do_jump): Likewise.
4823 * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE): Likewise.
4824 * gimplify.c (gimple_boolify, gimplify_init_constructor,
4825 gimplify_boolean_expr): Likewise.
4826 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
4827 * varasm.c (array_size_for_constructor): Likewise.
4828 * tree-object-size.c (compute_object_offset): Likewise.
4829
9fd20553
RS
48302006-04-02 Roger Sayle <roger@eyesopen.com>
4831
4832 PR middle-end/26977
4833 * expr.c (emit_group_store): Check whether simplify_gen_subreg returns
4834 NULL_RTX, indicating it couldn't create a valid paradoxical subreg.
4835
ace23abf
SP
48362006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
4837
4838 PR tree-optimization/26939
4839 * tree-chrec.c (chrec_merge): Use eq_evolutions_p.
4840
e2157b49
SP
48412006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
4842
4843 * tree-scalar-evolution.c (add_to_evolution_1): Pass an extra argument
4b1c1f6f 4844 at_stmt. Convert the type of operands before calling
e2157b49
SP
4845 build_polynomial_chrec.
4846 (add_to_evolution): Pass an extra argument at_stmt. Adjust the call to
4847 add_to_evolution_1.
4848 (follow_ssa_edge_in_rhs): Adjust call to add_to_evolution.
4b1c1f6f 4849 (instantiate_parameters_1): Convert the type of operands before calling
e2157b49
SP
4850 build_polynomial_chrec.
4851 * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
4852 chrec_fold_multiply_poly_poly, chrec_replace_initial_condition,
4853 reset_evolution_in_loop): Insert asserts to check the types of the
4854 operands.
4855 (chrec_type): Moved...
4856 (eq_evolutions_p): Use operand_equal_p.
4857 * tree-chrec.h (build_polynomial_chrec): Insert an assert to check
4858 the types of the operands.
4859 (chrec_type): ...here.
4860 * tree-data-ref.c (create_data_ref): Convert the operands before
4861 calling chrec_replace_initial_condition.
4862 (same_access_functions, analyze_subscript_affine_affine,
4863 analyze_miv_subscript, all_chrecs_equal_p): Use eq_evolutions_p.
4864 (compute_subscript_distance, analyze_ziv_subscript,
4865 analyze_siv_subscript_cst_affine, compute_overlap_steps_for_affine_1_2,
4866 analyze_miv_subscript): Convert the operands before calling
4867 chrec_fold_minus or chrec_fold_plus.
4868
a84481aa
SP
48692006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
4870
4871 * tree-data-ref.c (compute_all_dependences): Use a pointer to
4872 the dependence_relations vector.
4873 (compute_data_dependences_for_loop): Adjust call to
4874 compute_all_dependences.
4875
d568d1a8
RS
48762006-04-01 Roger Sayle <roger@eyesopen.com>
4877 Richard Henderson <rth@redhat.com>
4878
4879 * gimplify.c (gimplify_scan_omp_clauses) <OMP_CLAUSE_IF>: Call
4880 gimple_boolify on the condition before calling gimplify_expr.
4881
b7974b3a
BW
48822006-03-31 Bob Wilson <bob.wilson@acm.org>
4883
4884 * config/xtensa/lib1funcs.asm: Rename abi_entry/abi_return macros
4885 to leaf_entry/leaf_return. Change leaf_entry to add 16 bytes to
4886 the frame size. Update to use the new macros.
4887 * config/xtensa/ieee754-sf.S: Use new leaf_entry/leaf_return macros.
4888 * config/xtensa/ieee754-df.S: Likewise.
4889
48902006-03-31 Richard Henderson <rth@redhat.com>
56e84019
RH
4891
4892 * tree-cfg.c (make_ctrl_stmt_edges, make_exit_edges): Merge into...
4893 (make_edges): ... here. Control fallthru creation with a local
4894 variable. Do not play with fake edges.
4895 (make_omp_sections_edges): Don't set EDGE_ABNORMAL.
4896 (make_goto_expr_edges): Don't play with fake edges. Make for_call
4897 a boolean.
4898
0c33762a
JM
48992006-04-01 Joseph S. Myers <joseph@codesourcery.com>
4900
4901 * dwarf2.h (DW64_CIE_ID): Define.
4902 * dwarf2out.c (DWARF_CIE_ID): Define.
4903 (output_call_frame_info): Output 0xffffffff before standard 8-byte
4904 length header. Use DWARF_CIE_ID.
4905 (value_format): Use DW_FORM_data4 or DW_FORM_data8 for
4906 dw_val_class_loc_list depending on DWARF_OFFSET_SIZE.
4907
b890ea50
KK
49082006-03-31 Kaz Kojima <kkojima@gcc.gnu.org>
4909
4910 * config/sh/linux-atomic.asm: New file.
4911 * config/sh/t-linux (LIB2FUNCS_EXTRA): Add linux-atomic.asm.
4912
16659fcf
DD
49132006-03-31 DJ Delorie <dj@redhat.com>
4914
4915 * config/m32c/cond.md: Set condition flags properly throughout.
4916 * config/m32c/minmax.md: Likewise.
4917 * config/m32c/prologue.md: Likewise.
4918 * config/m32c/bitops.md: Likewise.
4919 * config/m32c/muldiv.md: Likewise.
4920 * config/m32c/mov.md: Likewise.
4921 * config/m32c/addsub.md: Likewise.
4922 * config/m32c/m32c.md: Likewise.
4923 * config/m32c/jump.md: Likewise.
4924 * config/m32c/shift.md: Likewise.
4925
4926 * config/m32c/cond.md (cmp<mode>): Call m32c_output_compare to
4927 conditionally output the pattern for this.
4928 * config/m32c/m32c.c (flags_needed_for_conditional): New.
4929 (m32c_compare_redundant): New.
4930 (m32c_output_compare): New.
4931 * config/m32c/m32c-protos.h (m32c_output_compare): New.
4932
4933 * config/m32c/m32c.c (m32c_prepare_shift): Fix logic to clobber
4934 dest, not src. Allow other 4-byte modes.
4935
fc262682
DC
49362006-03-30 Denis Chertykov <denisc@overta.ru>
4937
4938 * doc/md.texi: Refer to avr/constraints.md instead of
4939 avr/avr.h.
4940
5650dfbd
RS
49412006-03-30 Roger Sayle <roger@eyesopen.com>
4942
4943 * expr.c (emit_group_store): Make BYTEPOS a HOST_WIDE_INT to
4944 signed vs. unsigned comparison failures on some hosts.
4945
d3603e8c
AM
49462006-03-31 Alan Modra <amodra@bigpond.net.au>
4947
ca0e79d9
AM
4948 PR target/26459
4949 * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Limit 2003-12-08
4950 change to FLOAT_REGS.
4951
d3603e8c
AM
4952 * config/rs6000/rs6000.c (rs6000_explicit_options): Add ieee.
4953 (rs6000_override_options): Use it.
4954 (rs6000_handle_option): Set it. Set rs6000_explicit_options.abi
4955 only for -mabi=spe/no-spe and -mabi=altivec.
4956
24cec83c
GK
49572006-03-30 Geoffrey Keating <geoffk@apple.com>
4958
4959 * config/darwin.h (LINK_COMMAND_SPEC): Don't try to protect %S with
4960 !Zdynamiclib.
4961
ad3a7ce3
CD
49622006-03-30 Carlos O'Donell <carlos@codesourcery.com>
4963
4964 * Makefile.in: Rename docdir to gcc_docdir.
4965
79edfde8
RS
49662006-03-30 Roger Sayle <roger@eyesopen.com>
4967
4968 PR target/17959
e8366202 4969 * expr.c (emit_group_store): Optimize group stores into a pseudo
79edfde8
RS
4970 register by using a paradoxical subreg to initialize the destination
4971 if the first or last member of the group specifies a "low part".
4972
c7ec5472
MK
49732006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
4974
4975 PR target/26734
4976 * rtl.def (DEPS_LIST): Change type of the second operand to 'int'.
4977 * target.h (struct gcc_target.speculate_insn): Change type of the
4978 second parameter to 'int'.
4979 * lists.c (alloc_DEPS_LIST): Change signature. Update reference to
4980 the second operand of the DEPS_LIST.
4981 (copy_DEPS_LIST_list): Update reference to the second operand of the
4982 DEPS_LIST.
4983 * rtl.h (alloc_DEPS_LIST): Update signature.
4984 * sched-int.h (ds_t): Change typedef to 'int'.
4985 (DEP_STATUS, BITS_PER_DEP_STATUS): Update.
4986
682b6a9e
MK
49872006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
4988
4989 * haifa-sched.c (try_ready): Change condition to restore
4990 non-speculative pattern of the instruction.
4991 (process_insn_depend_be_in_spec): Code to keep probability of the
4992 speculative dependence non-decreasing.
4993
144f8315
JZ
49942006-03-30 Jie Zhang <jie.zhang@analog.com>
4995
4996 * config/bfin/bfin.c (single_move_for_strmov): Renamed to...
4997 (single_move_for_movmem): ... this. Also change all uses.
4998 (bfin_expand_strmov): Renamed to...
4999 (bfin_expand_movmem): ... this. Also change all uses.
5000 * config/bfin/bfin.md (movstrsi): Renamed to...
5001 (movstrsi): ...this.
5002
ae25dbda
PB
50032006-03-30 Paolo Bonzini <bonzini@gnu.org>
5004
5005 PR tree-optimization/26830
5006
5007 * tree-ssa-copy.c (copy_prop_visit_assignment): Do not check loop depth.
5008 (copy_prop_visit_stmt): Remove write-only variable ann.
5009 (init_copy_prop): Check variable loop depth here. Do not simulate
5010 memory-tag and virtual operand PHIs except for store copy prop.
5011
7d3a3b01
RG
50122006-03-30 Richard Guenther <rguenther@suse.de>
5013
5014 * config/i386/i386.c: Remove builtins for SSE2 ABI intrinsic
5015 variants with double arguments.
5016
10a27391
DE
50172006-03-29 David Edelsohn <edelsohn@gnu.org>
5018
5019 * genpreds.c (write_tm_constrs_h): Delete variable p.
f8569394
DE
5020 * genconditions.c (write_header): Add tm-constrs.h to included
5021 headers.
f160357f 5022 * genpeep.c (main): Add toplev.h to included headers.
92cf85e9 5023 * Makefile.in (build/gencondmd.o): Add tm-constrs.h dependency.
c13a761d 5024 (build/genpeep.o): Add toplev.h dependency.
40377a6d 5025 * config/rs6000/constraints.md: Add "W" constraint.
10a27391 5026
a6a12bb9
RS
50272006-03-29 Roger Sayle <roger@eyesopen.com>
5028
5029 * stor-layout.c (mode_for_size_tree): Remove restiction on type
5030 sizes by correctly testing whether the size fits a host integer.
5031 (initialize_sizetypes): Use set_min_and_max_values_for_integral_type
5032 to correctly set TYPE_MIN_VALUE and TYPE_MAX_VALUE to the full
5033 SImode range for the default sizetype and bitsizetype.
5034
0a931ce5
RS
50352006-03-29 Roger Sayle <roger@eyesopen.com>
5036
5037 * convert.c (convert_to_pointer): Preserve the TREE_OVERFLOW
5038 and TREE_CONSTANT_OVERFLOW bits of the argument. Return
5039 quickly if the argument is already of the correct type.
5040 Call fold_build1 instead of build1. Tidy up blank lines.
5041
279bb624
DE
50422006-03-29 David Edelsohn <edelsohn@gnu.org>
5043
5044 * genemit.c (main): Add tm-constrs.h to included headers.
5045 * genoutput.c (output_prologue): Add tm-constrs.h to included headers.
5046 * genpeep.c (main): Add tm-constrs.h to included headers.
5047 * genpreds.c (write_satisfies_constraint_fns): Rename to ...
5048 (write_tm_constrs_h): this and write complete file.
5049 (write_tm_preds_h): Do not emit satisfies_constraint fns.
5050 (write_insn_preds_c): Add tm-constrs.h to included headers.
5051 (gen_constrs): New variable.
5052 (parse_option): Parse "-c".
5053 (main): Invoke write_tm_constrs_h.
5054 * genrecog.c (write_header): Add tm-constrs.h to included headers.
5055 * Makefile.in (STAGECOPYSTUFF): Add tm-constrs.h.
5056 (object_out_file): Add tm-constrs.h dependency.
5057 (insn-emit.o): Same.
5058 (insn-output.o): Same.
5059 (insn-peep.o): Same.
5060 (insn-preds.o): Same.
5061 (insn-recog.o): Same.
5062 (tm-constsr.h): New target.
5063 (s-constrs-h): New target.
5064
5065 * config/rs6000/constraints.md: New file.
5066 * config/rs6000/rs6000.c: Include tm-constrs.h.
5067 (num_insn_constant_wide): Convert to satisfies_constraint.
5068 (rs6000_rtx_costs): Convert to satisfies_constraint.
5069 * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Delete.
5070 (CONST_OK_FOR_LETTER_P): Delete.
5071 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
5072 (EXTRA_CONSTRAINT): Delete.
5073 (EXTRA_MEMORY_CONSTRAINT): Delete.
5074 (EXTRA_ADDRESS_CONSTRAINT): Delete.
5075 * config/rs6000/predicates.md: Convert to satisfies_constraint.
5076 * config/rs6000/rs6000.md: Include constraints.md. Convert to
5077 satisfies_constraint.
5078
5079 * config/i386/i386.c: Include tm-constrs.h.
5080
e14b10df
SP
50812006-03-29 Sebastian Pop <pop@cri.ensmp.fr>
5082
5083 * tree-loop-linear.c (compute_data_dependences_for_loop): Adjust calls.
5084 * tree-data-ref.c (find_data_references_in_loop,
5085 compute_data_dependences_for_loop): Use pointers to VEC.
5086 (analyze_all_data_dependences): Adjust calls.
5087 * tree-data-ref.h (find_data_references_in_loop,
5088 compute_data_dependences_for_loop): Adjust declarations.
5089 * tree-vect-analyze.c (vect_analyze_data_refs): Adjust call to
5090 compute_data_dependences_for_loop.
5091
221b2a64
PB
50922006-03-29 Paul Brook <paul@codesourcery.com>
5093
5094 * config/arm/vfp.md (movsf_vfp): Disparage w<->r alternatives.
5095 (movdf_vfp): Ditto.
5096
d31db22f
SP
50972006-03-29 Sebastian Pop <pop@cri.ensmp.fr>
5098
5099 PR tree-optimization/26859
5100 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Avoid
5101 division by zero.
5102 (convert_step): Remove TREE_OVERFLOW and TREE_CONSTANT_OVERFLOW flags
5103 for the step after fold_convert.
5104
67f07489
PB
51052006-03-29 Paul Brook <paul@codesourcery.com>
5106
5107 * reload1.c (choose_reload_regs): Check for all RTX_AUTOINC operators.
5108 (inc_for_reload): Handle PRE_MODIFY and POST_MODIFY addresses.
5109
c2a64439
PB
51102006-03-29 Paul Brook <paul@codesourcery.com>
5111
5112 PR middle-end/23623
5113 * targhooks.c (default_narrow_bitfield): New fuction.
5114 * targhooks.h (default_narrow_bitfield): add prototype.
5115 * target.h (gcc_target): Add narrow_volatile_bitfield.
5116 * target-def.h (TARGET_NARROW_VOLATILE_BITFIELD): Define.
5117 * stor-layout.c (get_best_mode): Use targetm.narrow_volatile_bitfield.
5118 * doc/tm.texi: Document TARGET_NARROW_VOLATILE_BITFIELDS.
5119 * config/arm/arm.c (TARGET_NARROW_VOLATILE_BITFIELD): Define.
5120
4dc19cc0
AK
51212006-03-29 Andreas Krebbel <krebbel1@de.ibm.com>
5122
4b1c1f6f 5123 * config.gcc (s390-*-linux-*, s390x-*-linux*): Add t-dfprules to
4dc19cc0
AK
5124 tmake_file.
5125 * config/s390/s390.c (S390_scalar_mode_supported_p): New function.
5126 (NR_C_MODES): Add TDmode, DDmode and SDmode.
5127 (s390_output_pool_entry, ): Accept MODE_DECIMAL_FLOAT.
5128 (s390_hard_regno_mode_ok): Disallow TDmode in integer regs.
5129 (s390_function_arg_float): Allow SDmode and DDmode values to be
5130 passed in floating point registers.
4b1c1f6f 5131 (s390_function_arg_integer, s390_function_value): Replace MODE_FLOAT
4dc19cc0
AK
5132 check with SCALAR_FLOAT_MODE_P.
5133 (TARGET_SCALAR_MODE_SUPPORTED_P): Define target macro.
5134
f08ac361
ZD
51352006-03-28 Zdenek Dvorak <dvorakz@suse.cz>
5136
5137 PR tree-optimization/25985
5138 * tree-ssa-loop-niter.c (number_of_iterations_le,
5139 number_of_iterations_ne): Make comments more precise.
5140 (number_of_iterations_cond): Add only_exit argument. Use the
5141 fact that signed variables do not overflow only when only_exit
5142 is true.
5143 (loop_only_exit_p): New.
5144 (number_of_iterations_exit): Pass result of loop_only_exit_p to
5145 number_of_iterations_cond.
5146
dd79d394
ZD
51472006-03-28 Zdenek Dvorak <dvorakz@suse.cz>
5148
5149 PR tree-optimization/26643
5150 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not handle
5151 bit_field_refs.
5152
95ec2af0
KK
51532006-03-28 Kaz Kojima <kkojima@gcc.gnu.org>
5154
5155 * config/sh/sh.md (udivsi3_i4_int): Clobber MACH_REG and MACL_REG.
5156 (divsi3_i4_int): Likewise.
5157
e8366202 51582006-03-28 Roger Sayle <roger@eyesopen.com>
5ac60669
RS
5159
5160 * expr.c (emit_group_store): Only create a new pseudo reg if the
5161 quantity it needs to hold isn't already a suitable pseudo.
5162
b6313dcf
JL
51632006-03-28 Jeff Law <law@redhat.com>
5164
5165 * timevar.def (TV_TREE_PHI_CPROP): New timevar.
5166 * tree-ssa-dom.c (pass_phi_only_cprop): Use it.
5167
dd2c62dc
RS
51682006-03-28 Roger Sayle <roger@eyesopen.com>
5169
5170 * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & Y) ^ Y as
5171 the equivalent ~X & Y, and the symmetry related transformations.
4b1c1f6f 5172 (fold_binary) <BIT_AND_EXPR>: Similarly, fold (X ^ Y) & Y as
dd2c62dc
RS
5173 ~X & Y, and symmetry related transforms.
5174
3cc82eea
MK
51752006-03-28 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
5176
5177 Revert my 2006-03-27 patches.
5178
e8206491
RS
51792006-03-28 Roger Sayle <roger@eyesopen.com>
5180
5181 * fold-const.c (fold_unary) <NOP_EXPR>: Fold (T1)(~(T2)X) as
5182 ~(T1)X, when T1 and T2 are integer types of the same precision
5183 and (T2)X isn't an extension.
5184
72922229
JL
51852006-03-28 Jeff Law <law@redhat.com>
5186
5187 PR tree-optimization/26796
5188 * tree-ssa-dom.c (propagate_rhs_into_lhs): Queue blocks which
5189 need EH edge cleanups rather than purging them immediately.
5190 (eliminate_degenerate_phis): Handle queued EH cleanups.
5191
c245c134
DB
51922006-03-28 Daniel Berlin <dberlin@dberlin.org>
5193
5194 * tree-ssa-alias.c (create_sft): Initially inherit TREE_ADDRESSABLE
5195 from parent_var.
5196
7f166b0a
RS
51972006-03-27 Roger Sayle <roger@eyesopen.com>
5198
5199 PR middle-end/22524
5200 * fold-const.c (fold_binary) <MINUS_EXPR>: Call fold_convert to
5201 cast BIT_NOT_EXPR operand to the correct type.
5202
ebf78a47
SP
52032006-03-27 Sebastian Pop <pop@cri.ensmp.fr>
5204
5205 * tree-loop-linear.c: Don't include varray.h.
5206 (gather_interchange_stats, try_interchange_loops,
5207 linear_transform_loops): Use VEC instead of VARRAY.
5208 * lambda-mat.c: Don't include varray.h.
5209 * tree-chrec.c: Same.
5210 * lambda-trans.c: Same.
5211 * tree-vectorizer.c (new_loop_vec_info, destroy_loop_vec_info): Use
5212 VEC instead of VARRAY.
5213 * tree-vectorizer.h: Idem.
5214 * tree-data-ref.c (dump_data_references,
5215 dump_data_dependence_relations, dump_dist_dir_vectors, dump_ddrs,
5216 initialize_data_dependence_relation, finalize_ddr_dependent,
5217 compute_all_dependences, find_data_references_in_loop,
5218 compute_data_dependences_for_loop, analyze_all_data_dependences,
5219 free_dependence_relation, free_dependence_relations,
5220 free_data_refs): Idem.
5221 * tree-data-ref.h (data_reference_p, subscript_p): New.
5222 (data_dependence_relation, DDR_SUBSCRIPT, DDR_NUM_SUBSCRIPTS): Use
5223 VEC instead of VARRAY.
5224 (DDR_SUBSCRIPTS_VECTOR_INIT): Removed.
5225 (find_data_references_in_loop, compute_data_dependences_for_loop,
5226 dump_ddrs, dump_dist_dir_vectors, dump_data_references,
5227 dump_data_dependence_relations, free_dependence_relations,
5228 free_data_refs): Adjust declaration.
5229 (lambda_transform_legal_p): Move declaration here...
5230 * tree-vect-analyze.c (vect_analyze_data_ref_dependences,
5231 vect_compute_data_refs_alignment, vect_verify_datarefs_alignment,
5232 vect_enhance_data_refs_alignment, vect_analyze_data_ref_accesses,
5233 vect_analyze_data_refs): Use VEC instead of VARRAY.
5234 * lambda.h (lambda_transform_legal_p): ...from here.
5235 * lambda-code.c (lambda_transform_legal_p): Use VEC instead of VARRAY.
5236 * tree-vect-transform.c (vect_update_inits_of_drs): Idem.
5237 * Makefile.in (tree-loop-linear.o, lambda-mat.o, lambda-trans.o,
5238 tree-chrec.o): Don't depend on VARRAY_H.
5239
5edb2b13
MK
52402006-03-27 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
5241
5242 * rtl.def (Copyright): Update date.
5243 (DEPS_LIST): Change type of the second operand to 'int'.
5244 * target.h (Copyright): Update date.
5245 (struct gcc_target.speculate_insn): Change type of the second parameter
5246 to 'int'.
5247 * lists.c (Copyright): Update date.
5248 (alloc_DEPS_LIST): Change signature. Update reference to the second
5249 operand of the DEPS_LIST.
5250 (copy_DEPS_LIST_list): Update reference to the second operand of the
5251 DEPS_LIST.
5252 * rtl.h (Copyright): Update date.
5253 (alloc_DEPS_LIST): Update signature.
5254 * sched-int.h (Copyright): Update date.
5255 (ds_t): Change typedef to 'int'.
5256 (DEP_STATUS, BITS_PER_DEP_STATUS): Update.
5257
c96a7cc5
MK
52582006-03-27 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
5259
5260 * haifa-sched.c (Copyright): Update date.
5261 (try_ready): Change condition to restore non-speculative pattern
5262 of the instruction.
5263 (process_insn_depend_be_in_spec): Code to keep probability of the
5264 speculative dependence non-decreasing.
5265
b256fbaf
BS
52662006-03-27 Bernd Schmidt <bernd.schmidt@analog.com>
5267
5268 * regrename.c (replace_oldest_value_addr): Initialize a variable to
5269 shut up the compiler.
5270
575066d2
R
52712006-03-27 J"orn Rennecke <joern.rennecke@st.com>
5272
5273 * config/sh/t-sh ($(T)libic_invalidate_array_4-100.a): Fix rule
5274 to use lib prefix for target.
5275 ($(T)libic_invalidate_array_4-200.a): Likewise.
5276 ($(T)libic_invalidate_array_4a.a): Likewise.
5277
25e651ca
AS
52782006-03-27 Andrew Stubbs <andrew.stubbs@st.com>
5279 J"orn Rennecke <joern.rennecke@st.com>
5280
5281 * superh.opt: New file.
5282 * sh.c (boardtype, osruntime): Remove.
5283 * superh.h (SUBTARGET_OPTIONS): Remove.
5284 * config.gcc (sh*-superh-elf): Add sh/superh.opt to extra_options.
5285
5286 * config.gcc (sh*-*-*): Don't use c-c ranges for tr. Quote sed
5287 arguments with ^ and/or [].
5288
5289 * config.gcc (sh-*-*): Add quoting to account for quirk of
5290 Solaris /bin/sh.
5291 Replace == with = in enable_incomplete_targets test.
5292
5293 * config/sh/superh.h (SUBTARGET_LINK_SPEC): Replace LITTLE_ENDIAN_BIT
5294 with MASK_LITTLE_ENDIAN.
5295
5296 * config.gcc (sh*-superh-elf): Add sh/superh.h to tm_file.
5297 * config/sh/sh.opt: Added to some comments.
5298 * config/sh/superh.h: Removed some chaff.
5299
5300 * config/sh/sh.opt: Add m4-[1234]00* options.
5301 * config/sh/sh.c (sh_handle_option): Likewise.
5302 * config/sh/t-sh (IC_EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Define.
5303 (ic_invalidate_array_4-100.o): New rule.
5304 ($(T)libic_invalidate_array_4-100.a): Likewise.
5305 (ic_invalidate_array_4-200.o): Likewise.
5306 ($(T)libic_invalidate_array_4-200.a): Likewise.
5307 (ic_invalidate_array_4a.o): Likewise.
5308 ($(T)libic_invalidate_array_4a.a): Likewise.
5309 * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Add IC_EXTRA_PARTS.
5310 * config/sh/embed-elf.h (LIBGCC_SPEC): Add clauses for m4-100*,
5311 m4-200*, and m4a*.
5312 * config/sh/crt1.asm: Merged in profiling code.
5313 * config/sh/superh.h (STARTFILE_SPEC): Override.
5314 * config/sh/t-superh: Override EXTRA_MULTILIB_PARTS.
5315 Add rules for $(T)crt1-mmu.o, $(T)gcrt1-mmu.o and $(T)gcrt1.o.
5316 * config.gcc (sh*-superh-elf): Add t-superh to tmake_file.
5317
5318 * t-sh (MULTILIB_MATCHES): Add sh4-[1245]00* variants.
5319 * config/sh/t-superh: Removed now-redundant MULTILIB_OPTIONS /
5320 MULTILIB_DIRNAMES / MULTILIB_MATCHES settings.
5321
5322 * sh.opt (mpretend-cmove): New option.
5323 * sh.h (OPERRIDE_OPTIONS): Switch it off if not TARGET_SH1.
5324 * sh.md (movsicc_t_false, movsicc_t_tru): New patterns.
5325 (movsicc): Add TARGET_PRETEND_CMOVE code.
5326
74aa8b4b
AK
53272006-03-27 Andreas Krebbel <krebbel1@de.ibm.com>
5328
4b1c1f6f 5329 * config/s390/s390-protos.h (s390_hard_regno_mode_ok,
74aa8b4b
AK
5330 s390_class_max_nregs): New function prototypes.
5331 * config/s390/s390.c (REGNO_PAIR_OK): New macro.
5332 (s390_hard_regno_mode_ok, s390_class_max_nregs): New functions.
5333 * config/s390/s390.h (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK,
5334 CLASS_MAX_NREGS): Macro bodies replaced by function calls.
5335
0d06ead5
GK
53362006-03-26 Geoffrey Keating <geoffk@apple.com>
5337
5338 * dwarf2out.c (add_location_or_const_value_attribute): Call
5339 tree_add_const_value_attribute if nothing else works.
5340 (reference_to_unused): New.
5341 (rtl_for_decl_init): Use reference_to_unused to decide whether
5342 to output an initializer.
5343
036aadfc
AM
53442006-03-27 Alan Modra <amodra@bigpond.net.au>
5345
5346 PR target/26459
5347 * config/rs6000/rs6000.md (DF reg move peephole): Prevent
5348 peephole removing spe frob_di_df_2.
5349
ba42e045
SP
53502006-03-26 Sebastian Pop <pop@cri.ensmp.fr>
5351
5352 * tree-data-ref.c: Rename DDR_SIZE_VECT to DDR_NB_LOOPS.
5353 (subscript_dependence_tester_1): Declared.
5354 (print_dir_vectors, print_dist_vectors): New.
5355 (debug_data_dependence_relation): New.
5356 (dump_data_dependence_relation): Print more details.
5357 (initialize_data_dependence_relation): Initialize DDR_LOOP_NEST.
5358 (analyze_subscript_affine_affine): Don't ICE when gcd_alpha_beta is 0.
5359 (save_dist_v, save_dir_v, add_outer_distances,
5360 build_classic_dist_vector_1): New.
5361 (build_classic_dist_vector): Rewrite to work on DDR_LOOP_NEST.
5362 Don't test for lambda_vector_lexico_pos.
5363 (same_access_functions, add_multivariate_self_dist,
5364 add_other_self_distances, dir_from_dist): New.
4b1c1f6f 5365 (build_classic_dir_vector): Replace implementation almost identical to
ba42e045
SP
5366 build_classic_dist_vector with a walk of DDR_DIST_VECTS with a call to
5367 dir_from_dist.
5368 (subscript_dependence_tester_1): New.
5369 (subscript_dependence_tester): Handle the lexicographically negative
5370 distance vectors by recomputing the dependence relation.
5371 (compute_affine_dependence): Remove parameter loop_nest_depth.
5372 (compute_self_dependence): Don't call compute_subscript_distance.
5373 (compute_all_dependences): Remove parameters nb_loops, loop_nest_depth.
5374 Add a parameter for the loop_nest.
5375 (find_loop_nest_1, find_loop_nest): New.
5376 (compute_data_dependences_for_loop): Compute the loop nest, and give
5377 up if the nest is not well formed.
5378 * tree-data-ref.h (loop_p): New.
4b1c1f6f 5379 (struct data_dependence_relation): Replace size_vect field with
ba42e045
SP
5380 loop_nest, a vec of loops.
5381 (DDR_SIZE_VECT): Renamed DDR_NB_LOOPS.
5382 (DDR_LOOP_NEST): New.
5383 (print_dir_vectors, print_dist_vectors,
5384 debug_data_dependence_relation): Declared.
5385 (index_in_loop_nest): New.
5386 * tree-vect-analyze.c (vect_analyze_data_ref_dependence): Use
5387 DDR_LOOP_NEST and index_in_loop_nest to determine the dependence
5388 distance.
5389
30a440a7
AN
53902006-03-25 Adam Nemet <anemet@caviumnetworks.com>
5391
5392 * simplify-rtx.c (simplify_relational_operation): Call
5393 simplify_relational_operation_1 even if mode is VOIDmode.
5394
fe1f8f44
DB
53952006-03-25 Daniel Berlin <dberlin@dberlin.org>
5396
5397 PR tree-optimization/26804
5398 * tree.h (DECL_CALL_CLOBBERED): New macro.
5399 (tree_decl_common): Add call_clobbered_flag.
5400 * tree-flow-inline.h (is_call_clobbered): Use DECL_CALL_CLOBBERED.
5401 (mark_call_clobbered): Set DECL_CALL_CLOBBERED.
5402 (clear_call_clobbered): Clear DECL_CALL_CLOBBERED.
5403 (mark_non_addressable): Ditto.
5404 * tree-ssa.c (verify_call_clobbered): New function.
5405 (verify_alias_info): Use it.
5406 * tree-pass.h (pass_reset_cc_flags): New prototype.
5407 * tree-ssa-alias.c (pass_reset_cc_flags): New structure.
5408 (reset_cc_flags): New function.
5409 * passes.c (init_optimization_passes): Call reset_cc_flags after
5410 initializing referenced_vars.
5411
1d8b38a0
UB
54122006-03-25 Uros Bizjak <uros@kss-loka.si>
5413 Roger Sayle <roger@eyesopen.com>
5414
5415 PR middle-end/26717
5416 * fold-const.c (fold_binary) [RDIV_EXPR]: Do not optimize A / A
5417 to 1.0 for non-real operands. Implement A / A optimization for
5418 complex operands.
5419
75bcbcdb
L
54202006-03-25 H.J. Lu <hongjiu.lu@intel.com>
5421
5422 * config/i386/i386.c (size_cost): Correct the comment for
5423 cost of storing fp registers.
5424 (i386_cost): Likewise.
5425 (i486_cost): Likewise.
5426 (pentium_cost): Likewise.
5427 (pentiumpro_cost): Likewise.
5428 (k6_cost): Likewise.
5429 (athlon_cost): Likewise.
5430 (k8_cost): Likewise.
5431 (pentium4_cost): Likewise.
5432 (nocona_cost): Likewise.
5433 (generic64_cost): Likewise.
5434 (generic32_cost): Likewise.
5435
625a46d9
DC
54362006-03-24 Denis Chertykov <denisc@overta.ru>
5437
5438 * config/avr/avr-protos.h (extra_constraint): Delete.
5439 (extra_constraint_Q): New declaration.
5440 * config/avr/constraints.md: New file.
5441 * config/avr/avr.md: Include it.
5442 (REG_X, REG_Y, REG_Z, REG_W): New constants.
5443 (TMP_REGNO, ZERO_REGNO): Likewise.
5444 (UNSPEC_STRLEN, UNSPEC_INDEX_JMP): Likewise.
5445 * config/avr/avr.c (avr_reg_class_from_letter): Delete.
5446 (extra_constraint): Delete.
5447 (extra_constraint_Q): Test for memory constraint 'Q'.
5448 * config/avr/avr.h (REG_X,REG_Y,REG_Z,REG_W): Delete.
5449 (REG_CLASS_FROM_LETTER): Delete.
5450 (CONST_OK_FOR_LETTER_P): Delete.
5451 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
5452 (EXTRA_CONSTRAINT): Delete.
5453 (TMP_REGNO): Delete.
5454 (ZERO_REGNO): Delete.
5455
3ae194cd
JL
54562006-03-24 Jeff Law <law@redhat.com>
5457
5458 * tree-ssa-dom.c (propagate_rhs_into_lhs): Don't call update_stmt
5459 directly. Call mark_new_vars_to_rename slightly earlier.
5460
895de5a8
GK
54612006-03-24 Geoffrey Keating <geoffk@apple.com>
5462
9e51ddaa
GK
5463 * dwarf2out.c (is_c_family): Understand new DWARF3 language types.
5464 (is_cxx): Likewise.
5465 (gen_compile_unit_die): Use new language types for Objective-C and
5466 Objective-C++.
5467 (dwarf2out_decl): Use is_cxx rather than testing explicitly against
5468 DW_LANG_C_plus_plus.
5469
895de5a8
GK
5470 PR 26793
5471 * config/t-darwin (crt3.o): Work around bug 26840.
5472 * config/darwin-crt3.c: Rewrite.
5473 * config/darwin.h (STARTFILE_SPEC): Don't use -l for crt3.o.
5474
e713adf6
CD
54752006-03-24 Carlos O'Donell <carlos@codesourcery.com>
5476
5477 * doc/invoke.texi: Document -femit-class-debug-always
5478 * common.opt: Add -femit-class-debug-always.
5479
93fa8428
AK
54802006-03-24 Andreas Krebbel <krebbel1@de.ibm.com>
5481
5482 * config/s390/s390.c (s390_decompose_address): Allow SImode for
5483 index and base register.
5484 (s390_expand_plug_operand, legitimate_address_p, preferred_la_operand_p,
5485 print_operand_address, print_operand): Replaced REG_OK_FOR_BASE_STRICT_P
5486 with REGNO_OK_FOR_BASE_P and REG_OK_FOR_INDEX_STRICT_P with
5487 REGNO_OK_FOR_INDEX_P.
5488 * config/s390/s390.h (REGNO_OK_FOR_INDEX_P): Replaced check with
5489 ADDR_REGNO_P.
5490 (REG_OK_FOR_INDEX_NONSTRICT_P, REG_OK_FOR_BASE_NONSTRICT_P,
5491 REG_OK_FOR_INDEX_STRICT_P, REG_OK_FOR_BASE_STRICT_P, REG_OK_FOR_INDEX_P,
5492 REG_OK_FOR_BASE_P): Definitions removed.
5493
8cb86b65
JJ
54942006-03-24 Jakub Jelinek <jakub@redhat.com>
5495
5496 PR middle-end/26611
5497 * gimplify.c (gimplify_bind_expr): Only call omp_add_variable on
5498 non-global variables that don't have DECL_SEEN_IN_BIND_EXPR_P bit
5499 set yet or weren't marked as local yet.
5500
84c9cb12
BS
55012006-03-24 Bernd Schmidt <bernd.schmidt@analog.com>
5502
5503 * regrename.c (scan_rtx_address): Initialize a variable to shut up
5504 the compiler.
5505
d04b6e6e
EB
55062006-03-24 Eric Botcazou <ebotcazou@adacore.com>
5507
5508 * config/rs6000/rs6000-protos.h (rs6000_offsettable_memref_p): Declare.
5509 (rs6000_legitimate_small_data_p): Delete.
5510 * config/rs6000/rs6000.c (rs6000_offsettable_memref_p): New predicate.
5511 (rs6000_legitimate_small_data_p): Rename to legitimate_small_data_p
5512 and make static. Add forward declaration. Update uses.
5513 (rs6000_split_multireg_move): Use rs6000_offsettable_memref_p instead
5514 of offsettable_memref_p.
5515 * config/rs6000/rs6000.md (movdf_hardfloat32): Revert 2005-08-23 fix.
5516 Use rs6000_offsettable_memref_p instead of a less accurate predicate.
5517
243cc836
JL
55182006-03-24 Jeff Law <law@redhat.com>
5519
5520 * tree-ssa-dom.c (propagate_rhs_into_lhs): Temporarily work
5521 around bug in immediate-use iterator.
5522
5b314bb3
AM
55232006-03-24 Alan Modra <amodra@bigpond.net.au>
5524
5525 PR target/26607
5526 * config/rs6000/darwin-ldouble.c: Don't compile when __NO_FPRS__
5527 or __LITTLE_ENDIAN__.
5528
b368d6b8
R
55292006-03-23 J"orn Rennecke <joern.rennecke@st.com>
5530
5531 * config/sh/divtab-sh4.c, config/sh/divcost-analysis: New files.
5532 * config/sh/lib1funcs.asm (div_table): Add !__SH5__ variant.
5533 * config/sh/t-sh (LIB1ASMFUNCS): Add _div_table.
5534 * config/sh/sh.opt (mdiv=): Amend description.
5535 * config/sh/sh.h (TARGET_DIVIDE_CALL_DIV1): New macro.
5536 (TARGET_DIVIDE_CALL_FP, TARGET_DIVIDE_CALL_TABLE): Likewise.
5537 (sh_divide_strategy_e): Add new members SH_DIV_CALL_DIV1,
5538 SH_DIV_CALL_FP, SH_DIV_CALL_TABLE and SH_DIV_INTRINSIC.
5539 (OVERRIDE_OPTIONS): Also process sh_div_str for TARGET_SH1.
5540 Calculate sh_divsi3_libfunc using TARGET_DIVIDE_* macros.
5541 * config/sh/sh.md (udivsi3_i4_int, divsi3_i4_int): New patterns.
5542 (udivsi3, divsi3): Use them. Check TARGET_DIVIDE_CALL_TABLE /
5543 TARGET_DIVIDE_CALL_FP.
5544
a57aee2a
MK
55452006-03-23 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
5546
5547 * haifa-sched.c (choose_ready): Fix type of the local variable.
5548 Move local variables. Add comment.
5549 (check_reg_live): Change signature. Make callable from debugger.
5550 * sched-int.h (check_reg_live): Update signature.
5551 * sched-ebb.c (check_reg_live): Update parameters.
5552 * sched-rgn.c (check_reg_live): Ditto.
5553 (region_head_or_leaf_p): Check pointer before dereferencing.
5554 * config/ia64/ia64.c (ia64_set_sched_flags): Disable data speculation
5555 before reload on optimization levels below 1.
5556
dec6909b
RH
55572006-03-23 Richard Henderson <rth@redhat.com>
5558
e584065d
RH
5559 * config/alpha/alpha.c (alpha_legitimate_constant_p): Reject
5560 tls symbols.
5561
dec6909b
RH
5562 PR target/26347
5563 * config/alpha/predicates.md (local_symbolic_operand): Reject
5564 weak symbols.
5565
60fee157
AP
55662006-03-23 Andrew Pinski <pinskia@physics.uc.edu>
5567
5568 PR tree-opt/26795
5569 * tree-ssa-pre.c (create_value_expr_from): Don't reject
5570 expressions which have overflowed constants.
5571
79b9dd8c
ZD
55722006-03-23 Zdenek Dvorak <dvorakz@suse.cz>
5573
5574 * cse.c (cse_end_of_basic_block): Do not check for LOOP_END note.
5575
054a09fb
ZD
55762006-03-23 Zdenek Dvorak <dvorakz@suse.cz>
5577
5578 * cfgloopmanip.c (create_loop_notes): Removed.
5579 * final.c (final_scan_insn): Do not handle loop notes.
5580 * jump.c (squeeze_notes): Ditto.
5581 * cfglayout.c (skip_insns_after_block,
5582 duplicate_insn_chain): Ditto.
5583 * cfgcleanup.c (rest_of_handle_jump2): Do not call
5584 create_loop_notes.
5585 * cfgloop.h (create_loop_notes): Declaration removed.
5586
c16ba1d5
RS
55872006-03-23 Richard Sandiford <richard@codesourcery.com>
5588
5589 * varasm.c (output_constant_pool): Restore fnname and fndecl
5590 arguments.
5591 (assemble_start_function): Adjust call accordingly.
5592 (assemble_end_function): Likewise.
5593
698cf1c8
VR
55942006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5595
91d876d9 5596 PR mudflap/26789
7a752640
VR
5597 * tree-mudflap.c (mudflap_finish_file): Skip erroneous objects.
5598
91d876d9 5599 PR mudflap/26790
698cf1c8
VR
5600 * tree-mudflap.c (mf_xform_derefs_1): Return early on error_mark_node.
5601
ddaf3b86
VR
56022006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5603
5604 PR driver/22600
5605 * system.h (ICE_EXIT_CODE): New macro.
5606 * diagnostic.c (diagnostic_count_diagnostic): Exit with ICE_EXIT_CODE.
5607 (diagnostic_action_after_output): Likewise.
5608 * gcc.c (fatal_ice): New function.
5609 (execute): Use it instead of fatal.
5610 (fancy_abort): Likewise.
5611 * doc/invoke.texi (-pass-exit-codes): Document return code for ICEs.
5612
4dc7782d
JL
56132006-03-22 Jeff Law <law@redhat.com>
5614
5615 * loop-unroll.c (analyze_iv_to_split_insn): Handle
5616 iv_analyze_result returning false.
5617
f328a23a
JZ
56182006-03-22 Jie Zhang <jie.zhang@analog.com>
5619
5620 * config/bfin/bfin.h (ASM_FORMAT_PRIVATE_NAME): Remove.
5621
fad41cd7
RH
56222006-03-22 Richard Henderson <rth@redhat.com>
5623
5624 PR middle-end/26084
5625 * except.c (duplicate_eh_regions_0): New.
5626 (duplicate_eh_region_1): Duplicate the children of the node as
5627 well as the node itself. Link them up properly.
5628 (duplicate_eh_region_2): Merge into ...
5629 (duplicate_eh_regions): ... here. Take copy_region argument, and
5630 copy only a sub-tree if asked. Simplify copying and fixup.
5631 (eh_region_outer_p): New.
5632 * except.h (duplicate_eh_regions): Update decl.
5633 (eh_region_outer_p): Declare.
5634 * omp-low.c (lower_omp_single): Fix eh region placement wrt OMP_RETURN.
5635 (lower_omp_master): Likewise.
5636 (lower_omp_ordered): Likewise.
5637 * tree-cfg.c (struct move_stmt_d): Add new_label_map.
5638 (move_stmt_r): Use it to remap labels. Handle recursion vs
5639 remap_decls_p properly.
5640 (move_block_to_fn): Pass in new_label_map. Remap RESX_EXPR.
5641 (find_outermost_region_in_block): New.
5642 (new_label_mapper): New.
5643 (move_sese_region_to_fn): Copy eh information to the new function
5644 properly.
5645 * tree-inline.c (copy_cfg_body): Update for new duplicate_eh_regions
5646 argument.
5647 * tree-pretty-print.c (dump_generic_node): Dump RESX_EXPR region
5648 number.
5649
bc4a3483
RS
56502006-03-22 Richard Sandiford <richard@codesourcery.com>
5651
5652 * doc/md.texi (-mshared): Mention that -mshared code can be linked
5653 into shared libraries.
5654
08b1e29a
RS
56552006-03-22 Richard Sandiford <richard@codesourcery.com>
5656
5657 * doc/md.texi: Refer to i386/constraints.md instead of
5658 i386/predicates.md.
5659 * config/i386/constraints.md: New file, extracted from...
5660 * config/i386/predicates.md: ...here.
5661 * config/i386/i386.md: Include constraints.md.
5662
5b5cba1f
JM
56632006-03-21 Jason Merrill <jason@redhat.com>
5664
ac382b62
JM
5665 * builtins.c (expand_builtin_fork_or_exec): Fix pasto.
5666
5b5cba1f
JM
5667 PR middle-end/20297
5668 * expr.c (init_block_move_fn): Force default visibility.
5669 (init_block_clear_fn): Likewise.
5670 * builtins.c (expand_builtin_fork_or_exec): Likewise.
5671 * targhooks.c (default_external_stack_protect_fail): Likewise.
5672
d9870b7e
RS
56732006-03-21 Richard Sandiford <richard@codesourcery.com>
5674
5675 * config/mips/predicates.md (const_call_insn_operand): Allow direct
5676 calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS.
5677 * config/mips/mips.md (jal_macro): Test TARGET_ABSOLUTE_ABICALLS.
5678 Use TARGET_OLDABI instead of !TARGET_NEWABI.
5679 (loadgp): Use mips_current_loadgp_style.
5680 (loadgp_noshared): New pattern.
5681 (sibcall_internal): Use MIPS_CALL.
5682 (sibcall_value_internal): Likewise.
5683 (sibcall_value_multiple_internal): Likewise.
5684 (call_internal): Likewise.
5685 (call_value_internal): Likewise.
5686 (call_value_multiple_internal): Likewise.
5687 (call_split): Use MIPS_CALL and add an 'S' constraint.
5688 (call_value_split): Likewise.
5689 (call_value_multiple_split): Likewise.
5690 * config/mips/mips.opt (-mabicalls): Tweak docstring.
5691 (-mshared): New option.
5692 * config/mips/mips-protos.h (mips_loadgp_style): New enum.
5693 (mips_current_loadgp_style): Declare.
5694 * config/mips/mips.c (mips_classify_symbol): Avoid using
5695 SYMBOL_GOT_LOCAL if TARGET_ABSOLUTE_ABICALLS. Use SYMBOL_GENERAL
5696 rather than SYMBOL_GOT_GLOBAL for locally-binding symbols if
5697 TARGET_ABSOLUTE_ABICALLS.
5698 (override_options): Adjust comments. Improve the warning that is
5699 issued when -mabicalls and -G are used together.
5700 (mips_file_start): Remove comment.
5701 (mips_current_loadgp_style): New function.
5702 (mips_gnu_local_gp): New variable.
5703 (mips_emit_loadgp): Use mips_current_loadgp_style. Handle
5704 LOADGP_ABSOLUTE.
5705 (mips_output_function_prologue): Use mips_current_laodgp_style.
5706 (mips_expand_prologue): Call mips_emit_loadgp before emitting
5707 the cprestore instruction.
5708 (mips_extra_live_on_entry): Fix reversed test. Don't make $25
5709 live for TARGET_ABSOLUTE_ABICALLS.
5710 * config/mips/mips.h (TARGET_ABSOLUTE_ABICALLS): New macro.
5711 (ASM_SPEC): Pass down -mshared and -mno-shared.
5712 (MIPS_CALL): New macro.
5713 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove __ABICALLS__
5714 definition.
5715 * doc/invoke.texi (-mabicalls): Update documentation.
5716 (-mshared): Document.
5717
487d9a61
SE
57182006-03-21 Steve Ellcey <sje@cup.hp.com>
5719
5720 * config/ia64/unwind-hpux.c: New file.
5721 * config/ia64/t-hpux: Add unwind-hpux.c to libgcc.
5722
f7da48ef
SE
57232006-03-21 Steve Ellcey <sje@cup.hp.com>
5724
5725 PR libgomp/26384
5726 * config/pa/pa64-hpux.h (LIB_SPEC): Fix for -mt and -pthread options.
5727
a3b196e3
JL
57282006-03-21 Jeff Law <law@redhat.com>
5729
5730 * tree-vrp.c (extract_range_from_unary_expr): Derive ranges for
5731 type conversions of a VR_VARYING source to a wider type.
5732
ec23ed60
EB
57332006-03-21 Eric Botcazou <ebotcazou@libertysurf.fr>
5734
5735 * config.gcc (i[34567]86-*-solaris2*): Add config/sol2-10.h to
5736 tm_file on Solaris 10 and later.
5737 (sparc64-*-solaris2*): Likewise.
5738 (sparc-*-solaris2*): Likewise.
5739 * config/sol26.h: Rename to config/sol2-6.h.
5740 * config/sol2-10.h: New file.
5741
5ded46eb
AP
57422006-03-21 Andrew Pinski <pinskia@physics.uc.edu>
5743
5744 PR tree-opt/26781
5745 * tree-ssa-pre.c (create_component_ref_by_pieces):
5746 Handle STRING_CST.
5747
3c9bb46e
JJ
57482006-03-21 Jakub Jelinek <jakub@redhat.com>
5749
5750 PR c++/26690
5751 * tree.c (get_callee_fndecl): If CALL is error_mark_node,
5752 return it immediately.
5753
b6bbd675
MM
57542006-03-21 Michael Matz <matz@suse.de>
5755
5756 * genautomata.c (<struct state>, num_out_arcs, presence_signature):
5757 New members.
5758 (remove_arc, add_arc): Update num_out_arcs member.
5759 (set_out_arc_insns_equiv_num): Returns nothing instead of number
5760 of out arcs.
5761 (cache_presence): New function.
5762 (compare_states_for_equiv): New function.
5763 (state_is_differed): Don't take number of outargs, adjust callers.
5764 Use new invariant for speeding up.
5765 (init_equiv_class): Create initial classes based on sorted
5766 input.
5767 (partition_equiv_class): Don't track out_arcs_num.
5768 (evaluate_equiv_classes): Call cache_presence on all states and
5769 sort them.
5770
c4963a0a
BS
57712006-03-21 Bernd Schmidt <bernd.schmidt@analog.com>
5772
5773 * config/bfin/bfin-protos.h (bfin_dsp_memref_p): Declare.
5774 * config/bfin/bfin.c (bfin_dsp_memref_p): New function.
5775 (bfin_valid_reg_p): Test for pseudos explicitly and use only
5776 REGNO_MODE_CODE_OK_FOR_BASE_P. New args MODE and OUTER_CODE; all
5777 callers changed.
5778 * config/bfin/bfin.h (PREG_P): Use P_REGNO_P.
5779 (IREG_P, P_REGNO_P, I_REGNO_P): New macros.
5780 (enum reg_class, REG_CLASS_CONTENTS): Add IPREGS.
5781 (BASE_REG_CLASS, REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
5782 REGNO_OK_FOR_BASE_STRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): Delete
5783 macros.
5784 (IREG_POSSIBLE_P, MODE_CODE_BASE_REG_CLASS,
5785 REGNO_MODE_CODE_OK_FOR_BASE_P): New macros.
5786 (REGNO_REG_CLASS): ARGP is in PREGS.
5787 * config/bfin/bfin.md (movhi_insn): Allow for addresses containing
5788 IREGS.
5789 (zero_extendhisi2, extendhisi2): Likewise; changed to define_and_split
5790 to deal with those addresses.
5791 * addresses.h: New file.
5792 * caller-save.c: Include "addresses.h".
5793 (init_caller_save): Use new base_reg_class function.
5794 * rtl-factoring.c: Include "addresses.h".
5795 (recompute_gain_for_pattern_seq): Use new function ok_for_base_p_1.
5796 * recog.c: Include "addresses.h".
5797 (preprocess_constraints): Use new base_reg_class function.
5798 * regrename.c: Include "addresses.h".
5799 (scan_rtx_address): Use new regno_ok_for_base_p and base_reg_class
5800 functions. Keep track of a new var INDEX_CODE to compute valid
5801 classes.
5802 (replace_oldest_value_addr): Likewise.
5803 (replace_oldest_value_mem): Use base_reg_class.
5804 * reload.c: Include "addresses.h".
5805 (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Delete macros.
5806 (find_reloads): Use new base_reg_class function.
5807 (find_reloads_address): Likewise; also use regno_ok_for_base_p.
5808 (find_reloads_address_1): Likewise. New args OUTER_CODE and INDEX_CODE;
5809 all callers and prototype changed.
5810 * reload1.c: Include "addresses.h".
5811 (maybe_fix_stack_asms): Use base_reg_class.
5812 * regclass.c: Include "addresses.h".
5813 (ok_for_index_p_nonstrict, ok_for_base_p_nonstrict): New functions.
5814 (init_reg_autoinc): Use new base_reg_class function.
5815 (record_reg_classes): Likewise.
5816 (record_address_regs): Delete arg CLASS; add args CONTEXT, MODE,
5817 OUTER_CODE and INDEX_CODE. All callers and prototype changed.
5818 Use new args to compute necessary class.
5819
5820 * Makefile.in (regclass.o, reload.o, reload1.o, caller-save.o, recog.o,
5821 regrename.o, rtl-factoring.o): Update dependencies.
5822 * doc/tm.texi (MODE_CODE_BASE_REG_CLASS): Document.
5823 (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
5824 (REG_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_REG_BASE_P,
5825 REG_OK_FOR_INDEX_P): Delete documentation.
5826
69bdb292
AS
58272006-03-21 Alexey Starovoytov <alexey.starovoytov@sun.com>
5828
5829 * config.gcc (sparc-*-solaris2*): Change the default CPU setting
5830 from V7 to V9 for Solaris 7 and above.
5831
0698a1d2
TM
58322006-03-21 Toon Moene <toon@moene.indiv.nluug.nl>
5833
5834 * doc/invoke.texi: Document new flag -fargument-noalias-anything.
5835 * tree-ssa-alias.c (may_alias_p): If flag_argument_noalias > 2,
5836 argument pointers may not alias any other storage.
5837 * common.opt: Define option -fargument-noalias-anything.
5838 * tree-ssa-structalias.c (intra_create_variable_infos): Fortran
5839 alias semantics is specified by flag_argument_noalias > 2.
5840
ee51e035 58412006-03-20 Jeff Law <law@redhat.com>
e67c25c7
JL
5842
5843 * tree-pass.h (pass_phi_only_copy_prop): Delete.
5844 (pass_phi_only_cprop): Declare.
5845 * passes.c (init_optimization_passes): Replace pass_phi_only_copy_prop
5846 with phi_only_cprop
5847 * tree-ssa-dom.c (degenerate_phi_result): New function.
5848 (remove_stmt_or_phi, get_lhs_or_phi_result): Likewise.
5849 (get_rhs_or_phi_arg, propagate_rhs_into_lhs): Likewise.
5850 (eliminate_const_or_copy, eliminate_degenerate_phis_1): Likewise.
5851 (eliminate_degenerate_phis): Likewise.
5852 (pass_phi_only_cprop): New pass descriptor.
5853 * tree-ssa-copy.c (init_copy_prop): Lose PHIS_ONLY argument and
5854 support code. Callers updated.
5855 (execute_copy_prop, do_copy_prop): Likewise and corresponding changes.
5856 (store_copy_prop): Likewise.
5857 (do_phi_only_copy_prop, pass_phi_only_copy_prop): Remove.
5858
0ed5edac
JM
58592006-03-20 Jason Merrill <jason@redhat.com>
5860
5861 PR c++/21764
5862 * c-pragma.c (visstack): Move out of handle_pragma_visibility.
5863 (push_visibility, pop_visibility): Likewise.
5864 * c-pragma.h: Declare them.
5865
c6d56443
KK
58662006-03-20 Kaz Kojima <kkojima@gcc.gnu.org>
5867
5868 * config/sh/sh.c (untangle_mova): Initialize n_addr and n_target.
5869
5870 * config/sh/sh.c (find_regmode_weight): Change the type of the first
5871 parameter and use get_ebb_head_tail.
5872 (sh_md_init_global): Adjust uses of find_regmode_weight.
5873
ede497cf
SB
58742006-03-20 Steven Bosscher <stevenb.gcc@gmail.com>
5875
5876 * function.h (struct function) <x_tail_recursion_reentry>:
5877 Rename to x_stack_check_probe_note.
5878 (tail_recursion_reentry): Rename to stack_check_probe_note.
5879 * function.c: Replace tail_recursion_reentry with
5880 stack_check_probe_note everywhere.
5881 (expand_function_start): Only emit a note for
5882 stack_check_probe_note with -fstack-protect.
5883 * stmt.c (expand_case): Don't emit NOTE_INSN_DELETED notes.
5884
5885 * emit-rtl.c (remove_unnecessary_notes): Remove.
5886 (pass_remove_unnecessary_notes): Remove.
5887 * rtl.h (remove_unnecessary_notes): Remove prototype.
5888 * final.c (final_start_function): Don't call remove_unnecessary_notes.
5889 * tree-pass.h (pass_remove_unnecessary_notes): Remove.
5890 * passes.c (pass_remove_unnecessary_notes): Don't run it.
5891
e13f1c14
AP
58922006-03-20 Andrew Pinski <pinskia@physics.uc.edu>
5893
5894 PR tree-opt/26629
5895 * tree-ssa-pre (phi_translate): Handle ARRAY_REF's operands.
5896 (valid_in_set): Handle ARRAY_REF.
5897 Change "if min_variant or VH" to asserts.
5898 (create_component_ref_by_pieces): Handle ARRAY_REF.
5899 (create_expression_by_pieces): Likewise.
5900 (can_PRE_operation): ARRAY_REFs can now be PRE'd.
5901
7a22dbec
DE
59022006-03-20 David Edelsohn <edelsohn@gnu.org>
5903
5904 * genpreds.c (write_insn_extra_address_constraint): Argument `c'
5905 is operand of switch, not str[0].
5906
e0bf274f
AM
59072006-03-20 Alan Modra <amodra@bigpond.net.au>
5908
5909 * config/rs6000/rs6000.c (rs6000_handle_option): Use
5910 TARGET_NO_FP_IN_TOC inside #ifdef TARGET_USES_SYSV4_OPT too.
5911
e800e79b
DE
59122006-03-19 David Edelsohn <edelsohn@gnu.org>
5913
5914 * genpreds.c (write_tm_preds_h): Add semicolon and newline at
5915 end of insn_extra_address_constraint declaration.
5916
d2894ab5
DE
59172006-03-19 David Edelsohn <edelsohn@gnu.org>
5918
5919 * config/rs6000/rs6000.opt (no-fp-in-toc): Use Var not Mask.
5920 (no-sum-in-toc): Same.
5921 * config/rs6000/rs6000.c (rs6000_handle_option): Use new
5922 variables.
5923 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
5924 NO_FP_IN_TOC for -fPIC instead of mask.
5925
5926 * config/rs6000/t-aix43 (T_ADAFLAGS): Delete.
5927 (BOOT_LDFLAGS): Delete.
5928 (LDFLAGS): Delete.
5929 * config/rs6000/t-aix52: Same.
5930
5931 * config/rs6000/rs6000.md (store_multiple_power): Delete.
5932 (stmsi[345678]_power): New.
5933
30b82356
SE
59342006-03-17 Steve Ellcey <sje@cup.hp.com>
5935
5936 * config/ia64/ia64.opt: Add empty line to end of file.
5937
445a6ba4
RG
59382006-03-17 Richard Guenther <rguenther@suse.de>
5939
5940 PR middle-end/26721
5941 * builtins.c (get_pointer_alignment): For component style references
5942 adjust alignment to the component type alignment. Make sure
5943 to adjust alignment for component access of constants.
5944
ea5bd0d8
DE
59452006-03-17 David Edelsohn <edelsohn@gnu.org>
5946
5947 * config/rs6000/rs6000.md (strlensi): Emit barrier after
5948 unconditional jump.
5949
3cf94279
PB
59502006-03-17 Paul Brook <paul@codesourcery.com>
5951
5952 * doc/install.texi: Docuemnt --with-mode.
5953 * config.gcc: Add --with-mode for arm*-*-*.
5954 * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "mode".
5955
4241ecb0
R
59562006-03-17 J"orn Rennecke <joern.rennecke@st.com>
5957
5958 * sh.c (max_labelno_before_reorg): New variable.
5959 (sh_reorg): Initialize it.
5960 (find_barrier): Check max_labelno_before_reorg before using
5961 label_to_alignment. Take length of explicit alignment insns
5962 into account. When seeing a UNSPECV_CONST_END, return it.
5963
5964 * sh.c (fixup_mova): Set mode of affected label to QImode.
5965 (untangle_mova): New function.
5966 (find_barrier): Use it. Check mode of label before decrementing
5967 num_mova.
5968 (sh_reorg): Likewise.
5969 Set mode of all insns back to VOIDmode.
5970
5971 * sh.c (MOVA_LABELREF): New macro.
5972 (mova_p, fixup_mova, sh_reorg): Use it.
5973 (find_barrier, sh_reorg): Don't count num_mova back to 0 unless
5974 ADDR_DIFF_VEC matches mova.
5975
79252435
SB
59762006-03-17 Steven Bosscher <stevenb.gcc@gmail.com>
5977
5978 * dwarf2asm.c (dw2_asm_output_offset): Mark 'base' argument
5979 with ATTRIBUTE_UNUSED.
5980
6a037308
AO
59812006-03-17 Alexandre Oliva <aoliva@redhat.com>
5982
5983 * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
5984 pointer, instead of assuming it is possible to derive the
5985 correct args size from a call insn.
5986
d97c1295
JBG
59872006-03-16 Jan-Benedict Glaw <jbglaw@lug-owl.de>
5988
5989 * rtl.h (CONST_INT_P): Define.
5990 * config/vax/vax.c (print_operand_address): Use CONST_INT_P()
5991 instead of GET_CODE(x) == CONST_INT.
5992 (vax_rtx_costs): Likewise.
5993 (vax_output_int_move): Likewise.
5994 (vax_output_int_add): Likewise.
5995 (legitimate_constant_address_p): Likewise.
5996 (index_term_p): Likewise.
5997 * config/vax/vax.h (PRINT_OPERAND): Likewise.
5998 * config/vax/vax.md (and<mode>3): Likewise.
5999 (ashrsi3): Likewise.
6000 (extv): Likewise.
6001 (movstricthi): Likewise.
6002 (movstrictqi): Likewise.
6003 (rotrsi3): Likewise.
6004 (five unnamed insns): Likewise.
6005
192d0f89
GK
60062006-03-16 Geoffrey Keating <geoffk@apple.com>
6007
6008 * doc/tm.texi (SDB and DWARF): Add extra parameter to
6009 ASM_OUTPUT_DWARF_OFFSET. Use @var to indicate metavariables.
6010 * dwarf2asm.h (dw2_asm_output_offset): Add section parameter.
6011 * dwarf2asm.c (dw2_asm_output_offset): Add base section parameter.
6012 Pass to ASM_OUTPUT_DWARF_OFFSET.
6013 * dwarf2out.c (debug_frame_section): New.
6014 (output_call_frame_info): Use debug_frame_section. Pass it to
6015 dw2_asm_output_offset.
6016 (output_die): Pass appropriate section to dw2_asm_output_offset.
6017 (output_compilation_unit_header): Likewise.
6018 (output_pubnames): Likewise.
6019 (output_aranges): Likewise.
6020 (enum dw_val_class): Break dw_val_class_lbl_offset into
6021 dw_val_class_lineptr and dw_val_class_macptr.
6022 (add_AT_lbl_offset): Delete.
6023 (add_AT_lineptr): New.
6024 (add_AT_macptr): New.
6025 (AT_lbl): Expect a lineptr or macptr.
6026 (print_die): Handle dw_val_class_lineptr and dw_val_class_macptr.
6027 (attr_checksum): Likewise.
6028 (same_dw_val_p): Likewise.
6029 (size_of_die): Likewise.
6030 (value_format): Likewise.
6031 (output_die): Likewise.
6032 (dwarf2out_finish): Call add_AT_lineptr and add_AT_macptr instead of
6033 add_AT_lbl_offset.
6034 * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter.
6035 * config/i386/i386.c (x86_file_start): Call darwin_file_start.
6036 * config/darwin-protos.h (darwin_file_start): New.
6037 (darwin_asm_output_dwarf_offset): New.
6038 * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter.
6039 * config/rs6000/rs6000.c (rs6000_darwin_file_start): Call
6040 darwin_file_start.
6041 * config/darwin.c (darwin_emit_unwind_label): Don't output label
6042 if not EH section; simplify.
6043 (darwin_file_start): New.
6044 (darwin_asm_output_dwarf_offset): New.
6045 * config/darwin.h (DEBUG_FRAME_SECTION): In __DWARF segment,
6046 mark as 'debug'.
6047 (DEBUG_INFO_SECTION): Likewise.
6048 (DEBUG_ABBREV_SECTION): Likewise.
6049 (DEBUG_ARANGES_SECTION): Likewise.
6050 (DEBUG_MACINFO_SECTION): Likewise.
6051 (DEBUG_LINE_SECTION): Likewise.
6052 (DEBUG_LOC_SECTION): Likewise.
6053 (DEBUG_PUBNAMES_SECTION): Likewise.
6054 (DEBUG_STR_SECTION): Likewise.
6055 (DEBUG_RANGES_SECTION): Likewise.
6056 (FRAME_BEGIN_LABEL): Must start with 'L' in debug section.
6057 (ASM_OUTPUT_DWARF_OFFSET): New.
6058
620b87b3
JM
60592006-03-16 Joseph S. Myers <joseph@codesourcery.com>
6060
6061 * config.gcc (tm_defines): Always add to previous value rather
6062 than replacing it.
6063
ea462dd0
RS
60642006-03-16 Richard Sandiford <richard@codesourcery.com>
6065
6066 * config/mips/predicates.md (splittable_const_int_operand): New,
6067 split from move_operand.
6068 (splittable_symbolic_operand): New.
6069 (move_operand): Add commentary. Use splittable_const_int_operand.
6070 Inline mips_atomic_symbolic_constant_p.
6071 * config/mips/mips.md: Add combine splitters for handling moves
6072 of splittable_const_int_operands and splittable_symbolic_operands.
6073 * config/mips/mips-protos.h (mips_atomic_symbolic_constant_p): Delete.
6074 (mips_split_symbol): Declare.
6075 (mips_move_integer): Declare.
6076 * config/mips/mips.c (mips_split_p): Make global.
6077 (TARGET_MIN_ANCHOR_OFFSET): Override default.
6078 (TARGET_MAX_ANCHOR_OFFSET): Likewise.
6079 (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
6080 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Likewise.
6081 (mips_offset_within_object_p): Handle block symbols.
6082 (mips_atomic_symbolic_constant_p): Delete.
6083 (mips_cannot_force_const_mem): Return false for constants that
6084 mips_legitimize_move can handle.
6085 (mips_use_blocks_for_constant_p): New function.
6086 (mips_split_symbol): Make global.
6087 (mips_move_integer): Likewise. Add a temporary register argument.
6088 (mips_legitimize_const_move): Use splittable_const_int_operand and
6089 splittable_symbolic_operand.
6090 (mips_use_anchors_for_symbol_p): New function.
6091 * config/mips/mips.h: Protect externs with !USED_FOR_TARGET.
4b1c1f6f 6092 (mips_split_p): Declare.
ea462dd0 6093
5d2a73d5
RS
60942006-03-16 Richard Sandiford <richard@codesourcery.com>
6095
6096 * config.gcc (mips64*-*-linux*): Keep existing tm_defines.
6097 (mips*-*-linux*): Likewise.
6098
da54e73b
RS
60992006-03-16 Roger Sayle <roger@eyesopen.com>
6100 Daniel Speyer <dspeyer@wam.umd.edu>
6101
6102 PR middle-end/18259
6103 * tree-dump.c (dump_real): New function.
6104 (dequeue_and_dump) <REAL_CST>: Use it to dump FP constants.
6105 * Makefile.in (REAL_H): New macro for dependencies on real.h.
6106 (tree-dump.o): Add $(REAL_H) to the dependencies.
6107
a47564c8
RS
61082006-03-16 Roger Sayle <roger@eyesopen.com>
6109
6110 PR middle-end/21781
6111 * real.c (real_from_string): If the mantissa is zero, don't bother
6112 parsing the exponent as the result should always be zero.
6113
349f4ea1
AK
61142006-03-16 Andreas Krebbel <krebbel1@de.ibm.com>
6115
6116 * simplify-rtx.c (simplify_plus_minus): Simplify within CONST terms.
6117
048d0d36
MK
61182006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
6119
dec6909b
RH
6120 * config/ia64/ia64.c (stops_p): Added explicit initialization.
6121 (ia64_first_cycle_multipass_dfa_lookahead_guard_spec,
6122 ia64_h_i_d_extended, ia64_set_sched_flags, ia64_speculate_insn,
6123 ia64_needs_block_p, ia64_gen_check, ia64_sched_init_global,
048d0d36
MK
6124 ia64_sched_finish_global): New static functions to implement
6125 hooks from gcc_target.sched.
6126 (spec_check_no, max_uid, pending_data_specs): New static variables.
dec6909b 6127 (ia64_mode_to_int, ia64_gen_spec_insn, ia64_spec_check_p,
048d0d36 6128 ia64_spec_check_src_p): New static functions.
dec6909b
RH
6129 (ia64_adjust_cost): Renamed to ia64_adjust_cost_2.
6130 (TARGET_SCHED_ADJUST_COST): Removed.
6131 (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_INIT_GLOBAL,
048d0d36
MK
6132 TARGET_SCHED_FINISH_GLOBAL, TARGET_SCHED_H_I_D_EXTENDED,
6133 TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P,
6134 TARGET_SCHED_GEN_CHECK,
6135 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
dec6909b
RH
6136 TARGET_SCHED_SET_SCHED_FLAGS): New macros.
6137 (update_set_flags, group_barrier_needed, set_src_needs_barrier):
048d0d36 6138 Fixed to handle speculation checks.
dec6909b
RH
6139 (rtx_needs_barrier): Fixed to handle speculative loads and
6140 their checks.
6141 (ia64_variable_issue): Added code to count speculative loads and their
6142 checks.
6143 (ia64_first_cycle_multipass_dfa_lookahead_guard): Fixed to handle
6144 speculative loads.
6145 (enum SPEC_MODES, enum SPEC_GEN_LD_MAP, SPEC_GEN_CHECK_OFFSET):
6146 New enumerations.
6147 (SPEC_GEN_EXTEND_OFFSET, SPEC_N, SPEC_GEN_CHECK_MUTATION_OFFSET):
6148 New constants.
6149 (ia64_ld_address_bypass_p): Fixed to handle speculative loads.
048d0d36 6150 (ia64_reorg): Reset stops_p to NULL after it is freed.
dec6909b 6151 * config/ia64/ia64.md (UNSPEC_LDA, UNSPEC_LDS, UNSPEC_LDSA,
048d0d36 6152 UNSPEC_LDCCLR, UNSPEC_CHKACLR, UNSPEC_CHKS): New constants.
dec6909b
RH
6153 (itanium_class): chk_s renamed to chk_s_i. New constants: chk_s_f,
6154 chk_a.
6155 (data_speculative, control_speculative, check_load): New attributes.
6156 (mov<mode>_advanced, mov<mode>_speculative,
6157 mov<mode>_speculative_advanced, zero_extend<mode>di2_advanced,
6158 zero_extend<mode>di2_speculative,
6159 zero_extend<mode>di2_speculative_advanced): New patterns for
6160 data and control speculative loads.
6161 (mov<mode>_clr, zero_extend<mode>di2_clr): New patterns for
6162 check loads.
6163 (advanced_load_check_clr_<mode>, speculation_check_<mode>):
6164 New pattern for data and control speculation checks.
048d0d36
MK
6165 (MODE, MODE_FOR_EXTEND, output_a, output_s, output_sa, output_c_clr,
6166 ld_reg_constr, ldc_reg_constr, chk_reg_constr, mem_constr,
6167 reg_pred_prefix, ld_class, chka_class, chks_class, attr_yes):
6168 Auxiliary definitions for the patterns.
dec6909b
RH
6169 * config/ia64/itanium1.md (1_fldc, 1_fldpc, 1_ldc, 1_chk_s_f, 1_chk_a,
6170 1b_fldc, 1b_fldpc, 1b_ldc, 1b_chk_s_f, 1b_chk_a): New resource
6171 constraints.
048d0d36 6172 (1_fld, 1_fldp, 1_ld, 1b_fld, 1b_fldp, 1b_ld): Add a condition
dec6909b
RH
6173 for speculation.
6174 (1_chk_s, 1b_chk_s): Renamed to 1_chk_s_i, 1b_chk_s_i.
6175 * config/ia64/itanium2.md (2_flda, 2_fldc, 2_fldpc, 2_ldc, 2_chk_s_f,
048d0d36
MK
6176 2_chk_a, 2b_flda, 2b_fldc, 2b_fldpc, 2b_ldc, 2b_chk_s_f, 2b_chk_a):
6177 New resource constraints.
6178 (2_fld, 2_fldp, 2_ld, 2b_fld, 2b_fldp, 2b_ld): Add a condition
dec6909b
RH
6179 for speculation.
6180 (2_chk_s, 2b_chk_s): Renamed to 2_chk_s_i, 2b_chk_s_i.
6181 * config/ia64/ia64.opt (msched-br-data-spec, msched-ar-data-spec,
6182 msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec,
6183 msched-in-control-spec, msched-ldc, msched-control-ldc,
6184 msched-spec-verbose, msched-prefer-non-data-spec-insns,
6185 msched-prefer-non-control-spec-insns,
048d0d36
MK
6186 msched-count-spec-in-critical-path): New flags to tune speculative
6187 scheduling.
6188 * doc/invoke.texi (msched-br-data-spec, msched-ar-data-spec,
dec6909b
RH
6189 msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec,
6190 msched-in-control-spec, msched-ldc, msched-control-ldc,
6191 msched-spec-verbose, msched-prefer-non-data-spec-insns,
6192 msched-prefer-non-control-spec-insns,
048d0d36
MK
6193 msched-count-spec-in-critical-path): Document new flags.
6194
496d7bb0
MK
61952006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
6196
dec6909b
RH
6197 * target.h (struct spec_info_def): New opaque declaration.
6198 (struct gcc_target.sched): New fields: adjust_cost_2, h_i_d_extended,
6199 speculate_insn, needs_block_p, gen_check,
6200 first_cycle_multipass_dfa_lookahead_guard_spec, set_sched_flags.
6201 * target-def.h (TARGET_SCHED_ADJUST_COST_2,
6202 TARGET_SCHED_H_I_D_EXTENDED, TARGET_SCHED_SPECULATE_INSN,
6203 TARGET_SCHED_NEEDS_BLOCK_P, TARGET_SCHED_GEN_CHECK,
6204 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
6205 TARGET_SCHED_SET_SCHED_FLAGS): New macros to initialize fields in
6206 gcc_target.sched.
6207 (TARGET_SCHED): Use new macros.
6208 * rtl.h (copy_DEPS_LIST_list): New prototype.
6209 * sched-int.h (struct sched_info): Change signature of new_ready field,
496d7bb0 6210 adjust all initializations. New fields: add_remove_insn,
dec6909b 6211 begin_schedule_ready, add_block, advance_target_bb, fix_recovery_cfg,
496d7bb0 6212 region_head_or_leaf_p.
dec6909b
RH
6213 (struct spec_info_def): New structure declaration.
6214 (spec_info_t): New typedef.
6215 (struct haifa_insn_data): New fields: todo_spec, done_spec, check_spec,
6216 recovery_block, orig_pat.
6217 (glat_start, glat_end): New variables declaraions.
6218 (TODO_SPEC, DONE_SPEC, CHECK_SPEC, RECOVERY_BLOCK, ORIG_PAT):
496d7bb0 6219 New access macros.
dec6909b
RH
6220 (enum SCHED_FLAGS): New constants: SCHED_RGN, SCHED_EBB,
6221 DETACH_LIFE_INFO, USE_GLAT.
6222 (enum SPEC_SCHED_FLAGS): New enumeration.
6223 (NOTE_NOTE_BB_P): New macro.
6224 (extend_dependency_caches, xrecalloc, unlink_bb_notes, add_block,
6225 attach_life_info, debug_spec_status, check_reg_live): New functions.
6226 (get_block_head_tail): Change signature to get_ebb_head_tail, adjust
6227 all uses in ddg.c, modulo-sched.c, haifa-sched.c, sched-rgn.c,
6228 sched-ebb.c
496d7bb0 6229 (get_dep_weak, ds_merge): Prototype functions from sched-deps.c .
dec6909b
RH
6230 * ddg.c (get_block_head_tail): Adjust all uses.
6231 * modulo-sched.c (get_block_head_tail): Adjust all uses.
496d7bb0
MK
6232 (sms_sched_info): Initialize new fields.
6233 (contributes_to_priority): Removed.
dec6909b 6234 * haifa-sched.c (params.h): New include.
496d7bb0 6235 (get_block_head_tail): Adjust all uses.
dec6909b
RH
6236 (ISSUE_POINTS): New macro.
6237 (glat_start, glat_end): New global variables.
6238 (spec_info_var, spec_info, added_recovery_block_p, nr_begin_data,
496d7bb0
MK
6239 nr_be_in_data, nr_begin_control, nr_be_in_control, bb_header,
6240 old_last_basic_block, before_recovery, current_sched_info_var,
6241 rgn_n_insns, luid): New static variables.
dec6909b
RH
6242 (insn_cost1): New function. Move logic from insn_cost to here.
6243 (find_insn_reg_weight1): New function. Move logic from
6244 find_insn_reg_weight to here.
6245 (reemit_notes, move_insn, max_issue): Change signature.
6246 (move_insn1): Removed.
6247 (extend_h_i_d, extend_ready, extend_global, extend_all, init_h_i_d,
6248 extend_bb): New static functions to support extension of scheduler's
6249 data structures.
6250 (generate_recovery_code, process_insn_depend_be_in_spec,
6251 begin_speculative_block, add_to_speculative_block,
6252 init_before_recovery, create_recovery_block, create_check_block_twin,
6253 fix_recovery_deps): New static functions to support
6254 generation of recovery code.
6255 (fix_jump_move, find_fallthru_edge, dump_new_block_header,
6256 restore_bb_notes, move_block_after_check, move_succs): New static
6257 functions to support ebb scheduling.
6258 (init_glat, init_glat1, attach_life_info1, free_glat): New static
6259 functions to support handling of register live information.
6260 (associate_line_notes_with_blocks, change_pattern, speculate_insn,
496d7bb0
MK
6261 sched_remove_insn, clear_priorities, calc_priorities, bb_note,
6262 add_jump_dependencies): New static functions.
dec6909b 6263 (check_cfg, has_edge_p, check_sched_flags): New static functions for
496d7bb0
MK
6264 consistancy checking.
6265 (debug_spec_status): New function to call from debugger.
6266 (priority): Added code to handle speculation checks.
6267 (rank_for_schedule): Added code to distinguish speculative instructions.
6268 (schedule_insn): Added code to handle speculation checks.
6269 (unlink_other_notes, rm_line_notes, restore_line_notes, rm_other_notes):
6270 Fixed to handle ebbs.
dec6909b 6271 (move_insn): Added code to handle ebb scheduling.
496d7bb0 6272 (max_issue): Added code to use ISSUE_POINTS of instructions.
dec6909b
RH
6273 (choose_ready): Added code to choose between speculative and
6274 non-speculative instructions.
6275 (schedule_block): Added code to handle ebb scheduling and scheduling of
6276 speculative instructions.
6277 (sched_init): Initialize new variables.
6278 (sched_finish): Free new variables. Print statistics.
6279 (try_ready): Added code to handle speculative instructions.
6280 * lists.c (copy_DEPS_LIST_list): New function.
6281 * sched-deps.c (extend_dependency_caches): New function. Move logic
6282 from create_dependency_caches to here.
496d7bb0 6283 (get_dep_weak, ds_merge): Make global.
dec6909b
RH
6284 * genattr.c (main): Code to output prototype for
6285 dfa_clear_single_insn_cache.
6286 * genautomata.c (DFA_CLEAR_SINGLE_INSN_CACHE_FUNC_NAME): New macros.
6287 (output_dfa_clean_insn_cache_func): Code to output
6288 dfa_clear_single_insn_cache function.
6289 * sched-ebb.c (target_n_insns): Remove. Adjust all users to use
496d7bb0 6290 n_insns.
dec6909b
RH
6291 (can_schedule_ready_p, fix_basic_block_boundaries, add_missing_bbs):
6292 Removed.
6293 (n_insns, dont_calc_deps, ebb_head, ebb_tail, last_bb):
6294 New static variables.
6295 (begin_schedule_ready, add_remove_insn, add_block1, advance_target_bb,
496d7bb0
MK
6296 fix_recovery_cfg, ebb_head_or_leaf_p): Implement hooks from
6297 struct sched_info.
dec6909b 6298 (ebb_sched_info): Initialize new fields.
496d7bb0
MK
6299 (get_block_head_tail): Adjust all uses.
6300 (compute_jump_reg_dependencies): Fixed to use glat_start.
6301 (schedule_ebb): Code to remove unreachable last block.
dec6909b
RH
6302 (schedule_ebbs): Added code to update register live information.
6303 * sched-rgn.c (region_sched_info): Initialize new fields.
496d7bb0
MK
6304 (get_block_head_tail): Adjust all uses.
6305 (last_was_jump): Removed. Adjust users.
dec6909b 6306 (begin_schedule_ready, add_remove_insn, insn_points, extend_regions,
496d7bb0
MK
6307 add_block1, fix_recovery_cfg, advance_target_bb, region_head_or_leaf_p):
6308 Implement new hooks.
dec6909b
RH
6309 (check_dead_notes1): New static function.
6310 (struct region): New fields: dont_calc_deps, has_real_ebb.
6311 (RGN_DONT_CALC_DEPS, RGN_HAS_REAL_EBB): New access macros.
6312 (BB_TO_BLOCK): Fixed to handle EBBs.
6313 (EBB_FIRST_BB, EBB_LAST_BB): New macros.
6314 (ebb_head): New static variable.
6315 (debug_regions, contributes_to_priority): Fixed to handle EBBs.
6316 (find_single_block_regions, find_rgns, find_more_rgns): Initialize
496d7bb0
MK
6317 new fields.
6318 (compute_dom_prob_ps): New assertion.
dec6909b
RH
6319 (check_live_1, update_live_1): Fixed to work with glat_start instead of
6320 global_live_at_start.
496d7bb0
MK
6321 (init_ready_list): New assertions.
6322 (can_schedule_ready_p): Split update code to begin_schedule_ready.
6323 (new_ready): Add support for BEGIN_CONTROL speculation.
dec6909b
RH
6324 (schedule_insns): Fixed code that updates register live information
6325 to handle EBBs.
6326 (schedule_region): Fixed to handle EBBs.
496d7bb0 6327 (init_regions): Use extend_regions and check_dead_notes1.
dec6909b
RH
6328 * params.def (PARAM_MAX_SCHED_INSN_CONFLICT_DELAY,
6329 PARAM_SCHED_SPEC_PROB_CUTOFF): New parameters.
496d7bb0
MK
6330 * doc/tm.texi (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_H_I_D_EXTENDED,
6331 TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P,
6332 TARGET_SCHED_GEN_CHECK,
6333 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
6334 TARGET_SCHED_SET_SCHED_FLAGS): Document.
dec6909b 6335 * doc/invoke.texi (max-sched-insn-conflict-delay,
496d7bb0
MK
6336 sched-spec-prob-cutoff): Document.
6337
63f54b1a
MK
63382006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
6339
dec6909b 6340 * sched-int.h (struct haifa_insn_data): New fields: resolved_deps,
63f54b1a
MK
6341 inter_tick, queue_index.
6342 (struct sched_info): Change signature of init_ready_list field.
6343 Adjust all initializations.
6344 (RESOLVED_DEPS): New access macro.
6345 (ready_add): Remove prototype.
6346 (try_ready): Add prototype.
6347 * sched-rgn.c (init_ready_list): Use try_ready.
6348 (schedule_region): Initialize
6349 current_sched_info->{sched_max_insns_priority, queue_must_finish_empty}.
6350 * sched-ebb.c (new_ready): Remove. Adjust ebb_sched_info.
6351 (init_ready_list): Use try_ready.
6352 (schedule_ebb): Initialize current_sched_info->sched_max_insns_priority.
6353 * lists.c (remove_list_elem): Remove `static'.
6354 (remove_free_INSN_LIST_elem): New function.
6355 * rtl.h (remove_list_elem, remove_free_INSN_LIST_elem): Add prototypes.
6356 * haifa-sched.c (INTER_TICK, QUEUE_INDEX): New macros.
6357 (INVALID_TICK, MIN_TICK, QUEUE_SCHEDULED, QUEUE_NOWHERE, QUEUE_READY):
6358 New constants.
6359 (readyp): New variable.
6360 (queue_remove, ready_remove_insn, fix_inter_tick, fix_tick_ready,
6361 change_queue_index, resolve_dep): New static functions.
6362 (try_ready): New function. Adjust callers in sched-rgn.c and
6363 sched-ebb.c to use it instead of ready_add.
6364 (clock_var): Move at the begining of file.
6365 (rank_for_schedule): Fix typo.
6366 (queue_insn): Add assertion. Handle QUEUE_INDEX.
6367 (ready_lastpos): Enforce assertion.
6368 (ready_add): Make it static. Handle QUEUE_INDEX. Add new argument,
6369 update all callers.
6370 (ready_remove_first, ready_remove): Handle QUEUE_INDEX.
6371 (schedule_insn): Rewrite to use try_ready and resolve_dep.
6372 (queue_to_ready): Use free_INSN_LIST_list.
6373 (early_queue_to_ready): Fix typo.
6374 (schedule_block): Init readyp. Move init_ready_list call after the
6375 initialization of clock_var. Fix error in rejecting insn by
6376 targetm.sched.dfa_new_cycle. Add call to fix_inter_tick. Remove code
6377 that previously corrected INSN_TICKs. Add code for handling
6378 QUEUE_INDEX.
6379 (set_priorities): Fix typo.
6380 (sched_init): Initialize INSN_TICK, INTER_TICK and QUEUE_INDEX.
6381 Clarify comment and code that keeps current_sched_info->next_tail
6382 non-null.
6383
d08eefb9
MK
63842006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
6385
6386 * sched-rgn.c (extend_rgns): New static function.
6387 (find_rgns): Use it.
6388 (gather_region_statistics, print_region_statistics): New static
6389 functions.
6390 * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): New parameter.
dec6909b 6391 * doc/invoke.texi (max-sched-extend-regions-iters): Document.
d08eefb9 6392
ddbd5439 63932006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
dec6909b 6394 Andrey Belevantsev <abel@ispras.ru>
ddbd5439
MK
6395
6396 * ddg.c (build_intra_loop_deps): Adjust add_forward_dependence call.
dec6909b 6397 * lists.c (unused_deps_list): New variable.
4b1c1f6f 6398 (free_list): Add assertions to verify the proper distinguishing
dec6909b
RH
6399 between INSN_LISTs and DEPS_LISTs.
6400 (find_list_elem, remove_list_elem, remove_list_node): New static
ddbd5439 6401 functions.
dec6909b
RH
6402 (alloc_DEPS_LIST, free_DEPS_LIST, free_DEPS_LIST_node,
6403 remove_free_INSN_LIST_elem, remove_free_DEPS_LIST_elem,
6404 remove_free_INSN_LIST_node, remove_free_DEPS_LIST_node): New functions.
6405 (alloc_INSN_LIST): Assert that the list we're working on is indeed
ddbd5439 6406 an INSN_LIST.
dec6909b 6407 (free_INSN_LIST_node): Likewise.
ddbd5439
MK
6408 * modulo-sched.c (current_sched_info): Initialize flags field.
6409 * reg-notes.def: Exchange DEP_ANTI and DEP_OUTPUT.
6410 * rtl.def (DEPS_LIST): Define.
dec6909b
RH
6411 * rtl.h: Declare new functions from lists.c.
6412 * sched-deps.c (spec_dependency_cache): New static variable.
6413 (maybe_add_or_update_back_dep_1, add_back_dep): New static functions.
6414 (add_dependence): Change return type to void. Move the logic to ...
6415 (add_or_update_back_dep_1): ... here. Handle speculative dependencies.
6416 (delete_all_dependences): Add comment about forward_dependency_cache.
ddbd5439 6417 Handle spec_dependency_cache. Handle DEPS_LISTs.
dec6909b
RH
6418 (fixup_sched_groups): Clarify the change of priority of output
6419 and anti dependencies.
6420 (sched_analyze_2): Adjust add_dependence calls to create data
ddbd5439 6421 speculative dependence.
dec6909b 6422 (add_forward_dependence): Renamed to add_forw_dep, change prototype.
ddbd5439 6423 Adjust all callers. Handle DEPS_LISTS.
dec6909b 6424 (compute_forward_dependences): Use add_forw_dep. Sort LOG_LINKs in
ddbd5439 6425 presence of speculation.
dec6909b 6426 (init_dependency_caches, free_dependency_caches):
ddbd5439 6427 Handle spec_dependency_cache.
dec6909b 6428 (adjust_add_sorted_back_dep, adjust_back_add_forw_dep, delete_forw_dep,
ddbd5439
MK
6429 estimate_dep_weak, get_dep_weak, ds_merge, check_dep_status):
6430 New static functions.
dec6909b 6431 (add_or_update_back_dep, add_or_update_back_forw_dep,
ddbd5439
MK
6432 add_back_forw_dep, delete_back_forw_dep): New functions.
6433 * sched-int.h (ds_t, dw_t): New typedefs.
6434 (struct sched_info): Add new field flags.
6435 (struct haifa_insn_data): Add new bitfield has_internal_dep.
6436 Prototype new sched-deps.c functions.
dec6909b 6437 (HAS_INTERNAL_DEP, DEP_STATUS): New access macros.
ddbd5439
MK
6438 (BITS_PER_DEP_STATUS, BITS_PER_DEP_WEAK, DEP_WEAK_MASK, MAX_DEP_WEAK,
6439 MIN_DEP_WEAK, NO_DEP_WEAK, UNCERTAIN_DEP_WEAK, BEGIN_DATA, BE_IN_DATA,
6440 BEGIN_CONTROL, BE_IN_CONTROL, BEGIN_SPEC, DATA_SPEC, CONTROL_SPEC,
6441 SPECULATIVE, BE_IN_SPEC, FIRST_SPEC_TYPE, LAST_SPEC_TYPE,
6442 SPEC_TYPE_SHIFT, DEP_TRUE, DEP_OUTPUT, DEP_ANTI, DEP_TYPES, HARD_DEP):
6443 New constants.
dec6909b 6444 (enum SPEC_TYPES_OFFSETS, enum DEPS_ADJUST_RESULT, enum SCHED_FLAGS):
ddbd5439
MK
6445 New enums.
6446 * sched-rgn.c (current_sched_info): Initialize flags field.
6447 (schedule_insns): Initialize current_sched_info before the sched_init
6448 call.
6449 * sched-ebb.c (current_sched_info): Initialize flags field.
6450 (add_deps_for_risky_insns): Use control_flow_insn_p instead of JUMP_P.
6451 Call add_or_update_back_dep instead of add_dependence.
6452 Create control speculative dependencies.
6453 (schedule_insns): Initialize current_sched_info before the sched_init
6454 call.
6455
3062335c
KK
64562006-03-16 Kaz Kojima <kkojima@gcc.gnu.org>
6457
6458 * config/sh/linux-unwind.h (shmedia_fallback_frame_state): Set
6459 fs->signal_frame.
6460 (sh_fallback_frame_state): Likewise.
6461
747b9f55
GK
64622006-03-15 Geoffrey Keating <geoffk@apple.com>
6463
6464 * config.gcc (*-*-darwin*): Don't build crt2.o for all Darwin ports.
6465 Do switch on default_use_cxa_atexit.
6466 (powerpc*-*-darwin*): Build crt2.o on powerpc.
6467 * config/darwin-crt3.o: New.
6468 * config/darwin.h (LINK_SPEC): If -shared-libgcc, make linker default
6469 to 10.3. Pass '-multiply_defined suppress' if crt3.o is in use.
6470 (STARTFILE_SPEC): Add crt3.o when -shared-libgcc and appropriate
6471 OS version.
6472 * config/rs6000/t-darwin: Move crt2.o building to here.
6473 * config/rs6000/darwin.h (C_COMMON_OVERRIDE_OPTIONS): Update
6474 Mac OS version for using __cxa_get_exception_ptr. Don't test versions
6475 of __cxa_atexit.
6476
79166a87
JBG
64772006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
6478
6479 * config/vax/vax.c (nonindexed_address_p): Change logical negation
6480 from '! xxx' to '!xxx' for coding-style conformance.
6481 * config/vax/vax.h (PCC_BITFIELD_TYPE_MATTERS): Likewise.
6482 (EXTRA_CONSTRAINT): Likewise.
6483 * config/vax/vax.md (four unnamed insns): Likewise.
4b1c1f6f 6484
34a9f549
PB
64852006-03-15 Paul Brook <paul@codesourcery.com>
6486
6487 * config/arm/arm.c (minipool_pad): New.
5a281edb 6488 (add_minipool_forward_ref): Include pool alignment padding in address
34a9f549
PB
6489 calculation.
6490 (push_minipool_fix): Set minipool_pad.
6491 (minipool_pad): Ditto.
6492
ff9d4590
JBG
64932006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
6494
6495 * config/vax/vax.c (split_quadword_operands): Use MEM_P()
6496 instead of GET_CODE() == MEM and REG_P() instead of
6497 GET_CODE() == REG.
6498 (print_operand_address): Likewise.
6499 (vax_address_cost): Likewise.
6500 (vax_rtx_costs): Likewise.
6501 (vax_notice_update_cc): Likewise.
6502 (vax_output_int_add): Likewise.
6503 (INDEX_REGISTER_P): Likewise.
6504 (BASE_REGISTER_P): Likewise.
6505 (nonindexed_address_p): Likewise.
6506 (vax_mode_dependent_address_p): Likewise.
6507 * config/vax/vax.h (EXTRA_CONSTRAINT): Likewise.
6508 (PRINT_OPERAND): Likewise.
6509 * config/vax/vax.md (ashlsi3): Likewise.
6510 (ashlsi3): Likewise.
6511 (some more unnamed insns): Likewise.
6512
db490c39
KH
65132006-03-15 Kazu Hirata <kazu@codesourcery.com>
6514
6515 * tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Make it an
6516 iterator-style macro.
6517 (mark_control_dependent_edges_necessary): Update the use of
6518 EXECUTE_IF_CONTROL_DEPENDENT.
6519
f705a9a0
R
65202006-03-15 J"orn Rennecke <joern.rennecke@st.com>
6521
6522 * config/sh/predicates.md (cache_address_operand): Special.
6523 (ua_address_operand): Likewise.
6524
8b96512f
ZD
65252006-03-15 Zdenek Dvorak <dvorakz@suse.cz>
6526
6527 * haifa-sched.c (unlink_other_notes, reemit_notes): Do not handle
6528 loop notes.
6529 * sched-deps.c (sched_analyze_insn, sched_analyze): Ditto.
6530
c0fa4721
AS
65312006-03-15 Andreas Schwab <schwab@suse.de>
6532
6533 * gensupport.c (identify_predicable_attribute): Don't free p_false
6534 when it is still in use.
6535
cc0f8895
EB
65362006-03-15 Eric Botcazou <ebotcazou@libertysurf.fr>
6537
6538 * config.gcc (default with_cpu setting) <sparc*-*-*>: Do not modify
6539 the default setting here.
6540
1cba0d4e
SB
65412006-03-14 Steven Bosscher <stevenb.gcc@gmail.com>
6542
6543 * tree-pass.h (pass_cfg): Remove.
6544 * alias.c (rest_of_handle_cfg, pass_cfg): Remove.
6545 * passes.c (pass_cfg): Don't run it.
6546
e4881f23
KH
65472006-03-14 Kazu Hirata <kazu@codesourcery.com>
6548
6549 * Makefile.in (reg-stack.o): Don't depend on gt-reg-stack.h.
6550 * reg-stack.c (stack_regs_mentioned_data): Change the type to
6551 VEC(char,heap) *.
6552 (stack_regs_mentioned): Update the uses of
6553 stack_regs_mentioned_data. Don't access the array beyond its
6554 end.
6555 (reg_to_stack): Update the uses of stack_regs_mentioned_data.
6556 Don't include gt-reg-stack.h.
6557
02433683
KH
6558 * config/bfin/bfin.h (UNALIGNED_WORD_ASM_OP): Remove.
6559 * system.h (UNALIGNED_WORD_ASM_OP): Poison.
6560
df6872b7
KH
6561 * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): Remove.
6562
5b94780f
KH
6563 PR middle-end/26684
6564 * reg-stack.c (stack_regs_mentioned_data): Put it undef #ifdef
6565 STACK_REGS.
6566
e1835ff1
JDA
65672006-03-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6568
6569 * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Fix typo.
6570
b5564e87
RG
65712006-03-14 Richard Guenther <rguenther@suse.de>
6572
6573 PR tree-optimization/26672
6574 * tree-ssa-propagate.c (set_rhs): Don't walk DEFs if not in
6575 SSA form.
6576
6971d714
RG
65772006-03-14 Richard Guenther <rguenther@suse.de>
6578
6579 PR tree-optimization/26667
6580 * ipa-inline.c (cgraph_check_inline_limits): Walk the correct
6581 node for the callees. Always allow inlining if it will shrink
6582 the function size.
6583
7de80559
RG
65842006-03-14 Richard Guenther <rguenther@suse.de>
6585
6586 PR middle-end/26659
6587 * builtins.c (get_pointer_alignment): Prefer alignment
6588 information from decls over that from types.
6589
0e512a4f
AP
65902006-03-14 Andrew Pinski <pinskia@physics.uc.edu>
6591
6592 PR target/26657
6593 * config/darwin.h (LINK_COMMAND_SPEC): Handle -fopenmp.
6594
716019c0
JM
65952006-03-14 Joseph S. Myers <joseph@codesourcery.com>
6596
6597 * config/rs6000/rs6000.opt (mdlmzb): New option.
6598 (msched-prolog, msched-epilog): Use Var not Mask.
6599 * doc/invoke.texi (-mdlmzb): Document.
6600 * config/rs6000/rs6000.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
6601 MASK_SCHED_PROLOG.
6602 (rs6000_override_options): Enable -mdlmzb for 405 and 440.
6603 * config/rs6000/rs6000.md: Add dlmzb support for 405 and 440.
6604
a14df7da
UP
66052006-03-13 Uttam Pawar <uttamp@us.ibm.com>
6606
6607 PR rtl-optimization/25739
6608 * bt-load.c (augment_live_range): Free tos pointer.
6609
6610 * gensupport.c (identify_predicable_attribute): Free
6611 p_false pointer.
6612 * gcov.c (create_file_names): Free name pointer.
6613
f8318079
RS
66142006-03-13 Roger Sayle <roger@eyesopen.com>
6615
6616 PR middle-end/26557
6617 * stmt.c (emit_case_nodes): Handle the case where the index is a
6618 CONST_INT, where the comparison mode is specified by the index type.
6619
26a851b9
JDA
66202006-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6621
6622 * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Define when CRTSTUFFS_O
6623 is defined.
6624
94c5a841
RS
66252006-03-13 Richard Sandiford <richard@codesourcery.com>
6626
6627 * config/mips/mips.md (*branch_fp): Use %Z2 for the condition.
6628 (*branch_fp_inverted): Likewise.
6629
5b4fc8fb
JJ
66302006-03-13 Jakub Jelinek <jakub@redhat.com>
6631
6632 PR middle-end/25989
6633 * omp-low.c (expand_omp_for_generic): Mark istart0
6634 and iend0 as addressable.
6635
792e526b
JZ
66362006-03-13 Jie Zhang <jie.zhang@analog.com>
6637
6638 * config/bfin/uclinux.h: Define _GNU_SOURCE in CPLUSPLUS_CPP_SPEC.
6639
2bbec6d9
JL
66402006-03-13 Jeff Law <law@redhat.com>
6641
6642 * tree-vrp.c (stmt_interesting_for_vrp): Some statements with
6643 virtual operands are interesting.
6644 (vrp_visit_stmt): Corresponding changes.
6645
a94aa272
BS
66462006-03-13 Bernd Schmidt <bernd.schmidt@analog.com>
6647
6648 * config/bfin/lib1funcs.asm (___umodsi3): Use stack to save contents
6649 of RETS.
4af990cd
BS
6650 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If
6651 TARGET_ID_SHARED_LIBRARY, define __ID_SHARED_LIB__.
6652 * config/bfin/crti.S: Use it instead of __PIC__.
6653 * config/bfin/crtn.S: Likewise.
a94aa272 6654
96c30d2a
BS
6655 * config/bfin/bfin.md (call_value_symbol, sibcall_value_symbol,
6656 call_symbol, sibcall_symbol): Disallow if TARGET_ID_SHARED_LIBRARY,
6657 not if flag_pic.
6658 Lose 'G' modifier for call operand.
6659 * config/bfin/bfin.c (print_operand) <case SYMBOL_REF>: Don't
6660 recognize 'G' modifier.
6661
3feaea00
EB
66622006-03-13 Eric Botcazou <ebotcazou@adacore.com>
6663
6664 PR middle-end/18859
6665 * gimplify.c (gimplify_switch_expr): Discard empty ranges.
6666 * stmt.c (expand_case): Likewise.
6667
ba946209
ZD
66682006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
6669
6670 PR rtl-optimization/26254
6671 * loop-invariant.c (seq_insns_valid_p): New function.
6672 (move_invariant_reg): Only emit new code if it is valid.
6673
96e82e0a
ZD
66742006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
6675
6676 * cfgrtl.c (last_loop_beg_note, back_edge_of_syntactic_loop_p):
6677 Removed.
6678 (force_nonfallthru_and_redirect): Do not use last_loop_beg_note.
6679 (rtl_split_edge): Do not use back_edge_of_syntactic_loop_p.
6680 (commit_one_edge_insertion): Do not look for loop notes.
6681
50af6384
ZD
66822006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
6683
6684 * jump.c (follow_jumps): Do not check for loop notes. Move check for
6685 flag_test_coverage out of loop.
6686
80838531
ZD
66872006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
6688
6689 * final.c (shorten_branches): Remove outdated comment, and turn
6690 the if branch that guards it to continue.
6691
7490e6c4
ZD
66922006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
6693
6694 * cfgloop.c (flow_loop_dump): Do not dump loop->invalid field.
6695 * cfgloop.h (struct loop): Remove unused fields.
6696
5abcfa7e
KH
66972006-03-13 Kazu Hirata <kazu@codesourcery.com>
6698
6699 * doc/invoke.texi (-fdump-rtl-loop): Remove.
4b1c1f6f 6700 (-dL, -fdump-rtl-loop2): Update the dump file names
5abcfa7e 6701
c6075909
KH
6702 * doc/invoke.texi: Update dump file names.
6703
3d47ea88
SB
67042006-03-12 Steven Bosscher <stevenb.gcc@gmail.com>
6705
6706 * predict.c (estimate_probability): Remove.
6707 * profile.c (rest_of_handle_branch_prob, pass_branch_prob): Remove.
6708 * basic-block.h (estimate_probability): Remove prototype.
6709 * passes.c (finish_optimization_passes): Dump branch prediction or
6710 profiling heuristics to the .profile tree dump.
6711 (init_optimization_passes): Unqueue pass_branch_prob.
6712
6713 * doc/invoke.texi (-fdump-rtl-bp): Remove.
6714
fc6c490e
SB
67152006-03-11 Steven Bosscher <stevenb.gcc@gmail.com>
6716
6717 * rtl.def (LABEL_REF): Remove the field for LABEL_NEXTREF.
6718 * rtl.h (LABEL_NEXTREF): Remove field accessor.
6719
9fb798d7
EB
67202006-03-11 Eric Botcazou <ebotcazou@adacore.com>
6721
6722 * function.h (frame_offset_overflow): Declare.
6723 * function.c (frame_offset_overflow): New function.
6724 (assign_stack_local_1): Call it to detect that the offset overflows.
6725 * cfgexpand.c (alloc_stack_frame_space): Likewise.
6726
6dd3c0a5
SB
67272006-03-11 Steven Bosscher <stevenb.gcc@gmail.com>
6728
6729 * config/sh/sh.c: Include alloc-pool.h.
6730 (label_ref_list_pool): New alloc pool.
6731 (label_ref_list_t): New type for lists of labels.
6732 (struct pool_node): Make wend a label_ref_list_t.
6733 (add_constant): Use the new type, eradicate LABEL_NEXTREF
6734 references.
6735 (dump_table): Likewise.
6736 (sh_reorg): Set up the alloc pool before using add_constant and
6737 dump_table, and destroy it when finishing.
6738
a70ec386
RS
67392006-03-11 Richard Sandiford <richard@codesourcery.com>
6740
6741 * config/mips/mips.c: Remove redundant comment.
6742
21f9ec0c
JM
67432006-03-10 Jason Merrill <jason@redhat.com>
6744
6745 PR c/26004
4b1c1f6f 6746 * gimplify.c (gimplify_modify_expr_rhs): Don't do return slot opt if
21f9ec0c
JM
6747 the target was declared 'register'.
6748
a8597866
AN
67492006-03-10 Adam Nemet <anemet@caviumnetworks.com>
6750
6751 * genpreds.c (write_insn_constraint_len): Change definition of
6752 insn_constraint_len to return size_t to match the declaration.
6753
8e4edce7
DD
67542006-03-10 DJ Delorie <dj@redhat.com>
6755
6756 * config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Bit numbers
6757 start at zero.
6758 (m32c_expand_insv): Fix test for an AND mask.
6759
891c0eee
RG
67602006-03-10 Richard Guenther <rguenther@suse.de>
6761
6762 PR middle-end/26565
6763 * builtins.c (get_pointer_alignment): Handle component
6764 references for field alignment.
6765
8c1aaf26
R
67662006-03-10 J"orn Rennecke <joern.rennecke@st.com>
6767
6768 * config.gcc (sh*-superh-elf, sh*elf (newlib)): Use newlib.h
6769 when building with libgloss.
6770 (sh*elf): Implement --without-fp option.
4b1c1f6f 6771 (sh64-superh-linux*): Don't multilib.
8c1aaf26 6772
7a6164d4
R
67732006-03-10 J"orn Rennecke <joern.rennecke@st.com>
6774
6775 * struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case.
6776
3e0a08d7
AP
67772006-03-09 Andrew Pinski <pinskia@physics.uc.edu>
6778
6779 * tree-ssa-phiopt.c (tree_ssa_phiopt): Add cfgchanged variable.
6780 Set it when one of the replacement functions returned true.
6781 Return TODO_cleanup_cfg if cfgchanged is true.
6782 (pass_phiopt) <todo_flags_finish>: Remove TODO_cleanup_cfg.
6783
f243cee6
AN
67842006-03-09 Adam Nemet <anemet@caviumnetworks.com>
6785
6786 * combine.c (simplify_shift_const_1): Use gen_lowpart_or_truncate
6787 instead of gen_lowpart.
6788
a8c1d5f8
RS
67892006-03-09 Richard Sandiford <richard@codesourcery.com>
6790
6791 * config/mips/mips-protos.h (mips_output_conditional_branch): Change
6792 interface.
6793 (mips_output_order_conditional_branch): Declare.
6794 * config/mips/mips.h (MIPS_BRANCH): New macro.
6795 * config/mips/mips.c (gen_conditional_branch): Use VOIDmode
6796 for the comparison. Use gen_condjump.
6797 (mips_output_conditional_branch): Rework interface to take the
6798 asm templates for a direct branch and the inverse of a direct branch.
6799 (mips_output_order_conditional_branch): New function.
6800 (mips_builtin_branch_and_move): New function.
6801 (mips_expand_builtin_compare): Use it. Use VOIDmode for the
6802 branch condition. Use gen_single_cc as the condition for
6803 __builtin_mips_upper_* or __builtin_mips_lower_*.
6804 (mips_expand_builtin_bposge): Use mips_builtin_branch_and_move.
6805 Use VOIDmode for the branch condition.
6806 * config/mips/predicates.md (order_operator): New predicate.
6807 * config/mips/mips.md (UNSPEC_SINGLE_CC): New constant.
6808 (branch_fp): Rename to...
6809 (*branch_fp): ...this. Remove mode from comparison operator.
6810 Use new mips_output_conditional_branch interface.
6811 (branch_fp_inverted): Rename to...
6812 (*branch_fp_inverted): ...this and update as for *branch_fp.
6813 (*branch_zero<mode>): Rename to...
6814 (*branch_order<mode>): ...this. Remove mode from comparison operator.
6815 Use mips_output_order_conditional_branch. Only accept ordered
4b1c1f6f 6816 comparisons.
a8c1d5f8
RS
6817 (*branch_zero<mode>_inverted): Rename to...
6818 (*branch_order<mode>_inverted): ...this and update as for
6819 *branch_order<mode>.
6820 (*branch_equality<mode>): Accept zero as the second operand to
6821 the equality operator. Use the new mips_output_conditional_branch
6822 interface.
6823 (*branch_equality<mode>_inverted): Likewise.
6824 (condjump): New expander.
6825 * config/mips/mips-dsp.md (mips_bposge): Remove mode from comparison
6826 operator.
6827 * config/mips/mips-ps-3d.md (bc1any4t, bc1any4f): Likewise.
6828 (bc1any2t, bc1any2f): Likewise.
6829 (single_cc): New expander.
6830 (*branch_upper_lower, *branch_upper_lower_inverted): New patterns.
6831
cbbb5b6d
RS
68322006-03-09 Richard Sandiford <richard@codesourcery.com>
6833
6834 * doc/md.texi: Update documentation of MIPS constraints.
6835 * config/mips/constraints.md: New file.
6836 * config/mips/mips.md: Include it.
6837 * config/mips/mips.c (mips_char_to_class): Delete.
6838 (override_options): Don't initialize mips_char_to_class.
6839 * config/mips/mips.h (mips_char_to_class): Delete.
6840 (REG_CLASS_FROM_LETTER): Delete.
6841 (CONST_OK_FOR_LETTER_P): Delete.
6842 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
6843 (EXTRA_CONSTRAINT_Y): Delete.
6844 (EXTRA_CONSTRAINT_STR): Delete.
6845 (CONSTRAINT_LEN): Delete.
6846 (EXTRA_MEMORY_CONSTRAINT): Delete.
6847
1799e5d5
RH
68482006-03-09 Diego Novillo <dnovillo@redhat.com>
6849
6850 * tree-cfg.c (move_block_to_fn): Remove the statements from the
6851 original fn's eh regions.
6852
f8fe0545
EB
68532006-03-09 Eric Botcazou <ebotcazou@adacore.com>
6854
6855 * fold-const.c (build_range_check): Make sure to use a valid type to
6856 apply the "(c>=low) && (c<=high) into (c-low>=0) && (c-low<=high-low)"
6857 transformation.
6858
6859 (range_predecessor): New static function.
6860 (range_successor): Likewise.
6861 (merge_ranges): Use them to compute predecessors and successors of
6862 range bounds.
6863
d56ee62b
RS
68642006-03-09 Roger Sayle <roger@eyesopen.com>
6865
6866 PR middle-end/26561
6867 * fold-const.c (fold_div_compare): When optimizing X/C1 op C2 as
6868 X op C3, consider whether C3 overflows towards +Inf or -Inf.
6869
07127a0a
DD
68702006-03-08 DJ Delorie <dj@redhat.com>
6871
6872 * config/m32c/addsub.md (addqi3): Disparage a0/a1.
6873 (addpsi3): Expand to include memory operands. Remove
6874 reload-specific splits.
6875 * config/m32c/bitops.md (bset_qi, bset_hi, bclr_qi): New.
6876 (andqi3_16, andhi3_16, iorqi3_16, iorhi3_16): New.
6877 (andqi3_24, andhi3_24, iorqi3_24, iorhi3_24): New.
6878 (andqi3, andhi3, iorqi3, iorhi3): Convert to expanders.
6879 (shift1_qi, shift1_hi, insv): New.
6880 * config/m32c/cond.md (cbranchqi4, cbranchhi4): Remove.
6881 (cbranch<mode>4, stzx_16, stzx_24_<mode>, stzx_reversed,
6882 cmp<mode>, b<code>, s<code>, s<code>_24, movqicc, movhicc,
6883 cond_to_int): New.
6884 * config/m32c/m32c-protos.h: Update as needed.
6885 * config/m32c/m32c.c (m32c_reg_class_from_constraint): Don't
6886 default the Rcr, Rcl, Raw, and Ral constraints. Add Ra0 and Ra1.
6887 Fail for unrecognized R* constraints.
6888 (m32c_cannot_change_mode_class): Be more picky about pseudos.
6889 (m32c_const_ok_for_constraint_p): Add Imb, Imw, and I00.
6890 (m32c_extra_constraint_p2): Allow (mem (plus (plus fb int) int)).
6891 Add Sp constraint.
6892 (m32c_init_libfuncs): New.
6893 (m32c_legitimate_address_p): Add debug wrapper.
6894 (m32c_rtx_costs): New.
6895 (m32c_address_cost): New.
6896 (conversions): Add 'B' prefix.
6897 (m32c_print_operand): 'h' and 'H' pick lower and upper halves of
6898 operands, or word regnames for QI operands. 'B' prints bit
6899 position.
6900 (m32c_expand_setmemhi): New.
6901 (m32c_expand_movmemhi): New.
6902 (m32c_expand_movstr): New.
6903 (m32c_expand_cmpstr): New.
6904 (m32c_prepare_shift): Shift counts are limited to 16 bits at a time.
6905 (m32c_expand_neg_mulpsi3): Handle non-ints.
6906 (m32c_cmp_flg_0): New.
6907 (m32c_expand_movcc): New.
6908 (m32c_expand_insv): New.
6909 (m32c_scc_pattern): New.
6910 * config/m32c/m32c.h (reg classes): Add AO_REGS and A1_REGS. Take
6911 a0/a1 out of SIregs.
6912 (STORE_FLAG_VALUE): New.
6913 * config/m32c/m32c.md: Add unspecs for string moves. Define various mode and
6914 code macros.
6915 (no_insn): New.
6916 * config/m32c/mov.md: Make constraints more liberal.
6917 (zero_extendqihi2): Optimize r0/r1 case.
6918 * config/m32c/muldiv.md (mulpsi3): Check for intvals.
6919 * config/m32c/predicates.md (m32c_any_operand): New.
6920 (m32c_nonimmediate_operand): New.
6921 (m32c_hl_operand): New.
6922 (m32c_r3_operand): New.
6923 (ap_operand): New.
6924 (ma_operand): New.
6925 (memsym_operand): New.
6926 (memimmed_operand): New.
6927 (a_qi_operand): New.
6928 (m32c_eqne_operator): New.
6929 (m32c_1bit8_operand): New.
6930 (m32c_1bit16_operand): New.
6931 (m32c_1mask8_operand): New.
6932 (m32c_1mask16_operand): New.
6933 * config/m32c/blkmov.md: New file.
6934 * config/m32c/t-m32c (MD_FILES): Add blkmov.
6935
6677e189
AT
69362006-03-08 Andreas Tobler <a.tobler@schweiz.ch>
6937
8f4fc766
AT
6938 * dwarf2out.c (expand_builtin_dwarf_sp_column): Make dwarf_regnum
6939 unsigned to fix signed/unsigned comparison issue in
6940 DWARF2_FRAME_REG_OUT.
6941 (expand_builtin_init_dwarf_reg_sizes): Make i unsigned to fix signed/
6942 unsigned comparison issue in DWARF2_FRAME_REG_OUT.
6943
6677e189
AT
6944 * tree-ssa-operands.c (finalize_ssa_def_ops): Move the declaration
6945 of ptr into the ENABLE_CHECKING section.
6946
60c9ad46
JL
69472006-03-08 Jeff Law <law@redhat.com>
6948
6949 * tree-vrp.c (infer_value_range): Only count pointer uses
6950 and dereferences if -fdelete-null-pointer-checks is enabled.
6951
6952 * tree-vrp.c (find_assert_locations): Infer value ranges for
6953 single use pointers, but do not create ASSERT_EXPRs for them.
6954 When a non-null range is inferred for a pointer, backwards
6955 propagate that range to other equivalent pointers through the
6956 use-def chain.
6957
dedfa466
PB
69582006-03-08 Paolo Bonzini <bonzini@gnu.org>
6959
6960 PR bootstrap/26500
6961 * Makefile.in (dvi, html, install-info): Invoke the corresponding
6962 language hook targets.
6963 * ada/Make-lang.in, cp/Make-lang.in, objc/Make-lang.in,
6964 objcp/Make-lang.in: Create stub rules for dvi, html, install-info
6965 if language hook targets were missing.
6966
ac574e1b
ZD
69672006-03-07 Zdenek Dvorak <dvorakz@suse.cz>
6968
6969 * tree-ssa-opfinalize.h: Removed.
6970 * Makefile.in (tree-ssa-operands.o): Remove tree-ssa-opfinalize.h
6971 dependency.
6972 * tree-ssa-operands.c: Do not include tree-ssa-opfinalize.h.
6973 (ALLOC_OPTYPE, APPEND_OP_AFTER, MOVE_HEAD_AFTER, MOVE_HEAD_TO_FREELIST,
6974 INITIALIZE_USE, add_def_op, add_use_op, add_vuse_op, add_maydef_op,
6975 add_mustdef_op, finalize_ssa_def_ops, finalize_ssa_use_ops,
6976 finalize_ssa_v_may_def_ops, finalize_ssa_vuse_ops,
6977 finalize_ssa_v_must_def_ops): New.
6978
50d5ff7d
KZ
69792006-03-07 Kenneth Zadeck <zadeck@naturalbridge.com>
6980
6981 * df-scan.c: (df_bb_refs_record): Fix obvious typo with wrong
6982 block as parameter.
6983
fb638355
GK
69842006-03-07 Geoffrey Keating <geoffk@apple.com>
6985
cd554454
GK
6986 * varasm.c (assemble_end_function): Say that 'fnname' is unused.
6987
dbde310d
GK
6988 * config/i386/i386.c (ix86_delegitimize_address): Handle Darwin
6989 addresses with offsets; reorganize.
6990
fb638355
GK
6991 * dwarf2out.c (DWARF2_FRAME_REG_OUT): Move up in file.
6992 (expand_builtin_dwarf_sp_column): Call DWARF2_FRAME_REG_OUT.
6993 (expand_builtin_init_dwarf_reg_sizes): Likewise.
6994
0f047685
DB
69952006-03-08 David Billinghurst <David.Billinghurst@riotinto.com>
6996
6997 PR target/26588
6998 * config/i386/cygwin.h (GOMP_SELF_SPECS): Define.
6999
c18f0c26
BE
70002006-03-08 Ben Elliston <bje@au.ibm.com>
7001
7002 * config/fp-bit.h (CMPtype): Typedef to a word mode integer.
7003
48fa3029
AH
70042006-03-07 Aldy Hernandez <aldyh@redhat.com>
7005
7006 PR gomp/26238
7007 * doc/passes.texi (Tree-SSA passes): Document omp lowering and
7008 expansion.
7009
6f1be8e1
RG
70102006-03-07 Richard Guenther <rguenther@suse.de>
7011
7012 PR tree-optimization/26587
7013 * tree-ssa-structalias.c (handle_ptr_arith): Handle MINUS_EXPR.
7014
6410fb81
RS
70152006-03-07 Richard Sandiford <richard@codesourcery.com>
7016
7017 * varasm.c (assemble_variable): Fix setting of DECL_IN_TEXT_SECTION.
7018
1d3dbd99
RS
70192006-03-07 Richard Sandiford <richard@codesourcery.com>
7020
7021 * hooks.c (hook_bool_mode_rtx_true): New function.
7022 * hooks.h (hook_bool_mode_rtx_true): Declare.
7023 * toplev.c (compile_file): Call output_shared_constant_pool.
7024 * varasm.c (shared_constant_pool): New variable.
7025 (assemble_start_function, assemble_end_function): Remove arguments
7026 from call to output_constant_pool.
7027 (create_constant_pool): New function, split out from...
7028 (init_varasm_status): ...here.
7029 (force_const_mem): Choose between the shared and per-function constant
7030 pools. Set current_function_uses_const_pool when reusing old entries
7031 as well as when creating new ones.
7032 (mark_constant): Ignore data argument.
7033 (mark_constants): Remove pool argument.
7034 (mark_constant_pool): Likewise. Use current_function_uses_const_pool
7035 to decide whether the function uses a constant pool.
7036 (output_constant_pool_contents): New function, split out from...
7037 (output_constant_pool): ...here.
7038 (output_shared_constant_pool): New function.
7039 (init_varasm_once): Initialize shared_constant_pool.
7040 * output.h (output_constant_pool): Delete.
7041 (output_shared_constant_pool): Declare.
7042 * config/s390/s390-protos.h (s390_output_constant_pool): Delete.
7043 * config/i386/i386.c (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Override.
7044
7d14f0fc
NC
70452006-03-06 Nick Clifton <nickc@redhat.com>
7046
7047 * config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove reference to
7048 flag_strength_reduce.
7049
d9b9633d
BE
70502006-03-06 Ben Elliston <bje@au.ibm.com>
7051
45b9a4e8
BE
7052 * config.gcc: Add t-dfprules to $tmake_file for i*86-*-linux* and
7053 x86_64-*-linux* configurations.
7054
d9b9633d 7055 * config/dfp-bit.h (CMPtype): Typedef to a word mode integer.
c92f986f 7056 (LIBGCC2_WORDS_BIG_ENDIAN): Define.
d9b9633d 7057
acfc4f0a
KH
70582006-03-05 Kazu Hirata <kazu@codesourcery.com>
7059
7060 * tree-ssa-threadupdate.c (rediscover_loops_after_threading):
7061 Remove.
7062 * basic-block.h: Remove the extern for
7063 rediscover_loops_after_threading.
7064
b00bf166
KH
7065 * cfgloop.c (cancel_loop): Make it static.
7066 * cfgloop.h: Remove the prototype for cancel_loop.
7067
a678e384
KH
7068 * flow.c (recompute_reg_usage): Make it static.
7069 * rtl.h: Remove the prototype for recompute_reg_usage.
7070
0bf8477d
KH
7071 * function.c (use_return_register): Make it static.
7072 * function.h: Remove the prototype.
7073
d42ee77a
KH
70742006-03-05 Kazu Hirata <kazu@codesourcery.com>
7075
7076 * recog.c (volatile_mem_p, validate_change_maybe_volatile):
7077 Remove.
7078 * recog.h: Remove the prototype for
7079 validate_change_maybe_volatile.
7080
dc782dcd
KH
70812006-03-05 Kazu Hirata <kazu@codesourcery.com>
7082
7083 * rtlanal.c (replace_reg): Remove.
7084 * rtl.h: Remove the prototype for replace_reg.
7085
3c491cab
KH
70862006-03-05 Kazu Hirata <kazu@codesourcery.com>
7087
7088 * regclass.c (reg_scan_update): Remove.
7089 (reg_scan_mark_refs): Remove the last argument.
7090 * rtl.h: Remove the prototype for reg_scan_update.
7091
c0220ea4
KH
70922006-03-04 Kazu Hirata <kazu@codesourcery.com>
7093
7094 * builtins.c, c-pragma.h, c-typeck.c, cgraph.c, cgraphunit.c,
7095 combine.c, common.opt, config/dfp-bit.c, config/i386/i386.c,
7096 config/m68k/m68k.c, config/m68k/m68k.md, config/mt/mt.c,
7097 config/mt/mt.h, config/s390/s390.md, df-core.c, df-problems.c,
7098 df-scan.c, df.h, diagnostic.c, expr.c, function.h, gimplify.c,
7099 loop-invariant.c, omp-low.c, opts.c, passes.c,
7100 rtl-factoring.c, rtlanal.c, struct-equiv.c, tree-cfgcleanup.c,
7101 tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c,
7102 tree-ssa-structalias.c, tree-ssa-threadedge.c,
7103 tree-ssa-threadupdate.c, tree-vect-patterns.c,
7104 tree-vect-transform.c, tree-vectorizer.h, tree-vrp.c,
7105 unwind-dw2.c: Fix comment typos. Follow spelling conventions.
7106
ae3b9f19
KH
71072006-03-04 Kazu Hirata <kazu@codesourcery.com>
7108
7109 * dwarf2out.c (dwarf2out_add_library_unit_info): Remove.
7110 * dwarf2out.h: Remove the prototype for
7111 dwarf2out_add_library_unit_info.
7112
a82db052
KH
71132006-03-04 Kazu Hirata <kazu@codesourcery.com>
7114
7115 * tree.c (add_var_to_bind_expr): Remove.
7116 * tree.h: Remove the prototype for add_var_to_bind_expr.
7117
3c6c67f8
KH
71182006-03-04 Kazu Hirata <kazu@codesourcery.com>
7119
7120 * regclass.c (n_non_fixed_regs): Remove.
7121 (init_reg_sets_1, globalize_reg): Remove all uses of
7122 n_non_fixed_regs.
7123 * hard-reg-set.h: Remove the extern for n_non_fixed_regs.
7124
22ec0cc8
KH
71252006-03-04 Kazu Hirata <kazu@codesourcery.com>
7126
7127 * rtlanal.c (insns_safe_to_move_p): Remove.
7128 * rtl.h: Remove the prototype for insns_safe_to_move_p.
7129
2f8dc5bb
KH
71302006-03-04 Kazu Hirata <kazu@codesourcery.com>
7131
7132 * expmed.c (expand_mult_add): Remove.
7133 * expr.h: Remove the prototype for expand_mult_add.
7134
4469af7a
JJ
71352006-03-04 Jakub Jelinek <jakub@redhat.com>
7136
7137 * unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET
7138 and REG_SAVED_VAL_EXP constants.
7139 * unwind-dw2.c (struct _Unwind_Context): Add by_value array.
7140 (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
7141 Handle regs stored by value.
7142 (_Unwind_SetGRValue, _Unwind_GRByValue): New functions.
7143 (execute_cfa_program): Handle DW_CFA_val_offset,
7144 DW_CFA_val_offset_sf and DW_CFA_val_expression.
7145 (uw_update_context_1): Handle REG_SAVED_REG with regs stored by
7146 value specially. Handle REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP.
7147 (uw_install_context_1): Handle target regs stored by value.
7148
efdb3de9
DB
71492006-03-03 Daniel Berlin <dberlin@dberlin.org>
7150
7151 * tree-sra.c (tree_sra): Return todoflags;
7152 (generate_one_element): Set TODO_update_smt_usage if needed.
7153 (pass_sra): Remove TODO_update_smt_usage.
7154 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Add some
7155 parameter.
7156 (tree_ssa_forward_propagate_single_use_vars): Return
7157 TODO_update_smt_usage if we need to update SMT usage.
7158 (pass_forwprop): Remove TODO_update_smt_usage.
4b1c1f6f 7159
65ad7c63
DN
71602006-03-03 Diego Novillo <dnovillo@redhat.com>
7161
7162 * tree-ssa-operands.c: Tidy whitespace. Fix spelling.
7163 (correct_use_link): Remove reference to get_stmt_operands.
7164 (update_stmt_operands): Likewise.
7165 (get_modify_expr_operands): New function factored out of
7166 parse_ssa_operands and get_expr_operands.
7167 Try to create V_MUST_DEFs for LHS by default.
7168 (get_expr_operands) <case MODIFY_EXPR>: Call
7169 get_modify_expr_operands.
7170 <case ARRAY_RANGE_REF>: Handle together with ARRAY_REF.
7171 <case BIT_FIELD_REF>: Clear opf_kill_def from FLAGS.
7172 (parse_ssa_operands) <case MODIFY_EXPR>: Call
7173 get_modify_expr_operands.
7174
417e90ca
KH
71752006-03-03 Kazu Hirata <kazu@codesourcery.com>
7176
7177 * tree-dfa.c (referenced_var_lookup_if_exists): Remove.
7178 * tree-flow.h: Remove the prototype for
7179 referenced_var_lookup_if_exists.
7180
f6d65153
SE
71812006-03-03 Steve Ellcey <sje@cup.hp.com>
7182
7183 PR rtl-optimization/26345
7184 PR target/19061
7185 * config/ia64/predicates.md (basereg_operand): Don't look in subregs.
7186
9a75ede0
RS
71872006-03-03 Roger Sayle <roger@eyesopen.com>
7188
7189 PR tree-optimization/26524
7190 * tree-scalar-evolution.c (interpret_rhs_modify_expr): Use
7191 fold_convert to create a constant of the appropriate type.
7192
3fa9c136
RS
71932006-03-03 Richard Sandiford <richard@codesourcery.com>
7194
7195 * doc/tm.texi: Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of
7196 SYMBOL_REF_IN_BLOCK_P.
7197 * doc/rtl.texi: Likewise. Refer to SYMBOL_FLAG_HAS_BLOCK_INFO instead
7198 of SYMBOL_FLAG_IN_BLOCK.
7199 * gengtype.c (adjust_field_rtx_def): Use SYMBOL_REF_HAS_BLOCK_INFO_P
7200 instead of SYMBOL_REF_IN_BLOCK_P.
7201 * explow.c (use_anchored_address): Likewise.
7202 * rtl.c (rtx_size): Likewise.
7203 * varasm.c (create_block_symbol): Set SYMBOL_FLAG_HAS_BLOCK_INFO
7204 instead of SYMBOL_FLAG_IN_BLOCK.
7205 (make_decl_rtl): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of
7206 SYMBOL_REF_IN_BLOCK_P.
7207 (assemble_variable): Likewise.
7208 (output_constant_def_contents): Likewise.
7209 (output_constant_pool): Likewise.
7210 (default_encode_section_info): Preserve SYMBOL_FLAG_HAS_BLOCK_INFO
7211 instead of SYMBOL_FLAG_IN_BLOCK.
7212 * rtl.h (block_symbol): Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of
7213 SYMBOL_REF_IN_BLOCK_P.
7214 (SYMBOL_REF_BLOCK): Likewise.
7215 (SYMBOL_REF_OFFSET): Likewise.
7216 (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of
7217 SYMBOL_REF_IN_BLOCK_P.
7218 (SYMBOL_FLAG_IN_BLOCK): Replace with...
7219 (SYMBOL_FLAG_HAS_BLOCK_INFO): ...this.
7220 (SYMBOL_REF_IN_BLOCK_P): Replace with...
7221 (SYMBOL_REF_HAS_BLOCK_INFO_P): ...this.
7222
f677599e
JJ
72232006-03-03 Jakub Jelinek <jakub@redhat.com>
7224
7225 * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Fix pasto.
7226
0f2f71b5
RS
72272006-03-02 Roger Sayle <roger@eyesopen.com>
7228
7229 * simplify-rtx.c (simplify_unary_operation): When simplifying
7230 (neg (lt X 0)) into (ashiftrt X C) or (lshiftrt X C), make sure
7231 that we perform the right shift in the appropriate mode, and
7232 then extend or truncate the result to requested mode.
7233
f82783bd
ZD
72342006-03-03 Zdenek Dvorak <dvorakz@suse.cz>
7235
7236 * gengtype.c (main): Handle double_int type.
7237 * tree.h (struct tree_int_cst): Make type of int_cst double_int.
7238 * double-int.c: New file.
7239 * double-int.h: New file.
7240 * system.h: Include doubleint.h.
7241 * Makefile.in (SYSTEM_H): Include double-int.h.
7242 (double-int.o): Add.
7243
778f0e89
JM
72442006-03-03 Joseph S. Myers <joseph@codesourcery.com>
7245
7246 PR bootstrap/26478
7247 * Makefile.in (stmp-int-hdrs): Remove include/unwind.h before
7248 copying over it.
7249
701b8964
ZD
72502006-03-02 Zdenek Dvorak <dvorakz@suse.cz>
7251
0f2f71b5
RS
7252 * tree-vrp.c (remove_range_assertions): Do not update statements
7253 unnecessarily.
701b8964 7254
59994160
ZD
72552006-03-02 Zdenek Dvorak <dvorakz@suse.cz>
7256
7257 * cse.c (rest_of_handle_cse): Do not pass CLEANUP_PRE_LOOP to cfg
7258 cleanup.
7259 * gcse.c (rest_of_handle_gcse): Ditto.
7260 * except.c (gate_handle_eh): Ditto.
7261 * cfgcleanup.c (rest_of_handle_jump2): Ditto.
7262 * basic-block.h (CLEANUP_PRE_LOOP): Remove.
7263
5143b5fc
EC
72642006-03-02 Eric Christopher <echristo@apple.com>
7265
7266 * config/i386/i386.c (machopic_output_stub): Add indirection to
7267 jump.
7268
c6ba18c6
ZD
72692006-03-02 Zdenek Dvorak <dvorakz@suse.cz>
7270
7271 * loop.c: Removed.
7272
4c837a1e
DM
72732006-03-02 David S. Miller <davem@sunset.davemloft.net>
7274
7275 Sun Niagara specific optimizations.
7276 * config.gcc: Recognize niagara as target.
7277 * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Mention Niagara.
7278 (TARGET_CPU_niagara): Define.
7279 (CPP_CPU64_DEFAULT_SPEC): Define __sparc_v9__ for Niagara.
7280 (ASM_CPU64_DEFAULT_SPEC): Pass -Av9b for Niagara.
7281 (CPP_CPU_SPEC): Handle -mcpu=niagara.
7282 (ASM_CPU_SPEC): Likewise.
7283 (PROCESSOR_NIAGARA): New enum entry.
7284 (REGISTER_MOVE_COST): Handle Niagara.
7285 (BRANCH_COST, PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): Likewise.
7286 * config/sparc/sparc.c (niagara_costs): New processor_costs entry.
7287 (sparc_override_options): Recognize "niagara", set appropriate
7288 default MASK_* values for it, and align functions to 32-bytes
7289 by default just like ULTRASPARC/ULTRASPARC3.
7290 (sparc_initialize_trampoline): Handle niagara like ultrasparc.
7291 (sparc64_initialize_trampoline): Likewise.
7292 (sparc_use_sched_lookahead): Use zero for niagara.
7293 (sparc_issue_rate): Use one for niagara.
7294 * config/sparc/niagara.md: New file.
7295 * config/sparc/sparc.md: Include it.
7296 * config/sparc/sol2-bi.h (CPP_CPU64_DEFAULT_SPEC,
7297 ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Set appropriately
7298 when default cpu is niagara.
7299 (CPP_CPU_SPEC): Handle -mcpu=niagara.
7300 (ASM_CPU_SPEC): Likewise.
7301 * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Set appropriately
7302 when default cpu is niagara.
7303 (ASM_CPU_SPEC): Handle -mcpu=niagara.
7304 * config/sparc/linux64.h: Handle a default of TARGET_CPU_niagara
7305 just like v9/ultrasparc/ultrasparc3.
7306 * doc/invoke.texi: Add documentation for "niagara" and improve
7307 existing documentation for ultrasparc variants.
5143b5fc 7308
2434ab1d
DN
73092006-03-02 Diego Novillo <dnovillo@redhat.com>
7310
7311 * tree-ssa-operands.c (update_stmt_operands): Update documentation.
7312
434aeebb
RS
73132006-03-02 Richard Sandiford <richard@codesourcery.com>
7314
7315 * doc/tm.texi (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Document.
7316 (ASM_OUTPUT_BSS): Describe the two ways of handling global BSS,
7317 and say that only one is needed.
7318 * doc/rtl.texi (SYMBOL_REF_BLOCK): Say that the block can be null.
7319 * target.h (have_switchable_bss_sections): New hook.
7320 * explow.c (use_anchored_address): Check that the symbol is in a block.
7321 * varasm.c (tls_comm_section, comm_section, lcomm_section)
7322 (bss_noswitch_section): New variables.
7323 (get_unnamed_section): Add SECTION_UNNAMED to the flags.
7324 (get_noswitch_section): New function.
7325 (get_block_for_section): Allow SECT to be null.
7326 (unlikely_text_section_p): Use SECTION_STYLE.
7327 (bss_initializer_p): New function.
7328 (get_variable_section): Move earlier in file. Take a new argument,
7329 prefer_noswitch_p. Move bss checks from assemble_variable to here.
7330 Return one of the new *_sections in such cases.
7331 (get_block_for_decl): New function, extracting some logic from
7332 use_blocks_for_decl_p.
7333 (change_symbol_section): Remove in favor of...
7334 (change_symbol_block): ...this new function.
7335 (use_blocks_for_decl_p): Remove checks now performed by
7336 get_block_for_decl.
7337 (make_decl_rtl): Use change_symbol_block and get_block_for_decl.
7338 (ASM_EMIT_LOCAL, ASM_EMIT_BSS, ASM_EMIT_COMMON): Delete in favor of...
7339 (emit_local, emit_bss, emit_common): ...these new functions.
7340 Return true if the alignment was honored.
7341 (emit_tls_common): New function.
7342 (asm_emit_uninitialised): Delete.
7343 (assemble_variable_noswitch): New function, split out from...
7344 (assemble_variable): ...here. Don't make decisions about common
7345 variables here. Globalize all public decls that go into non-common
7346 sections. Check whether SYMBOL_REF_BLOCK is null.
7347 (output_constant_def_contents): Check whether SYMBOL_REF_BLOCK is null.
7348 (output_constant_pool): Likewise.
7349 (init_varasm_once): Initialize the new section variables.
7350 (have_global_bss_p): New function.
7351 (categorize_decl_for_section): Use bss_initializer_p.
7352 (switch_to_section): Use SECTION_STYLE. Abort for SECTION_NOSWITCH.
7353 (place_block_symbol): Assert that the symbol must be in a block.
7354 * target-def.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): New macro.
7355 (TARGET_INITIALIZER): Include it.
7356 * rtl.h (SYMBOL_REF_BLOCK): Document the null alternative.
7357 * output.h (SECTION_STYLE_MASK, SECTION_COMMON): New macros.
7358 (SECTION_MACH_DEP): Bump by two.
7359 (SECTION_UNNAMED, SECTION_NOSWITCH): New macros.
7360 (unnamed_section): Mention SECTION_UNNAMED in comment.
7361 (named_section): Likewise SECTION_NAMED.
7362 (noswitch_section_callback): New type.
7363 (noswitch_section): New structure.
7364 (section): Add a noswitch_section alternative.
7365 (SECTION_STYLE): New macro.
7366 (tls_comm_section, comm_section, lcomm_section): Declare.
7367 (bss_noswitch_section, have_global_bss_p): Declare.
7368 * config/elfos.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override.
7369 * config/iq2000/iq2000.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS):
7370 Override.
7371 * config/v850/v850.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override.
7372 * config/stormy16/stormy16.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS):
7373 Override.
7374
c2924966
DB
73752006-03-02 Daniel Berlin <dberlin@dberlin.org>
7376
a1d1988f
MS
7377 * tree-vrp.c (execute_vrp): Return value.
7378 * regrename.c (rest_of_handle_regrename): Ditto.
7379 * tree-into-ssa.c (rewrite_into_ssa): Ditto.
7380 * tree-complex.c (tree_lower_complex): Ditto.
c2924966 7381 (tree_lower_complex_O0): Ditto.
a1d1988f
MS
7382 * tracer.c (rest_of_handle_tracer): Ditto.
7383 * postreload-gcse.c (rest_of_handle_gcse2): Ditto.
7384 * postreload.c (rest_of_handle_postreload): Ditto.
7385 * tree-tailcall.c (execute_tail_recursion): Ditto.
c2924966 7386 (execute_tail_calls): Ditto.
a1d1988f
MS
7387 * tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
7388 * tree.h (init_function_for_compilation): Ditto.
7389 * ipa-cp.c (ipcp_driver): Ditto.
7390 * tree-scalar-evolution.c (scev_const_prop): Ditto.
7391 * tree-scalar-evolution.h (scev_const_prop): Ditto.
7392 * final.c (compute_alignments): Ditto.
c2924966
DB
7393 (rest_of_handle_final): Ditto.
7394 (rest_of_handle_shorten_branches): Ditto.
7395 (rest_of_clean_state): Ditto.
a1d1988f 7396 * omp-low.c (execute_expand_omp): Ditto.
c2924966 7397 (execute_lower_omp): Ditto.
a1d1988f
MS
7398 * tree-ssa-dse.c (tree_ssa_dse): Ditto.
7399 * ipa-reference.c (static_execute): Ditto.
7400 * tree-ssa-uncprop.c (tree_ssa_uncprop): Ditto.
7401 * reorg.c (rest_of_handle_delay_slots): Ditto.
c2924966 7402 (rest_of_handle_machine_reorg): Ditto.
a1d1988f
MS
7403 * cgraphunit.c (rebuild_cgraph_edges): Ditto.
7404 * flow.c (recompute_reg_usage): Ditto.
c2924966
DB
7405 (rest_of_handle_remove_death_notes): Ditto.
7406 (rest_of_handle_life): Ditto.
7407 (rest_of_handle_flow2): Ditto.
a1d1988f
MS
7408 * tree-ssa-copyrename.c (rename_ssa_copies): Ditto.
7409 * tree-ssa-ccp.c (do_ssa_ccp): Ditto.
c2924966
DB
7410 (do_ssa_store_ccp): Ditto.
7411 (execute_fold_all_builtins): Ditto.
a1d1988f
MS
7412 * mode-switching.c (rest_of_handle_mode_switching): Ditto.
7413 * modulo-sched.c (rest_of_handle_sms): Ditto.
7414 * ipa-pure-const.c (static_execute): Ditto.
7415 * cse.c (rest_of_handle_cse): Ditto.
c2924966 7416 (rest_of_handle_cse2): Ditto.
a1d1988f
MS
7417 * web.c (rest_of_handle_web): Ditto.
7418 * tree-stdarg.c (execute_optimize_stdarg): Ditto.
7419 * tree-ssa-math-opts.c (execute_cse_reciprocals): Ditto.
7420 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto.
7421 * tree-nrv.c (tree_nrv): Ditto.
c2924966 7422 (execute_return_slot_opt): Ditto.
a1d1988f 7423 * tree-ssa-alias.c (compute_may_aliases): Ditto.
c2924966 7424 (create_structure_vars): Ditto.
a1d1988f 7425 * loop-init.c (rtl_loop_init): Ditto.
c2924966
DB
7426 (rtl_loop_done): Ditto.
7427 (rtl_move_loop_invariants): Ditto.
7428 (rtl_unswitch): Ditto.
7429 (rtl_unroll_and_peel_loops): Ditto.
7430 (rtl_doloop): Ditto.
a1d1988f 7431 * gimple-low.c (lower_function_body): Ditto.
c2924966 7432 (mark_used_blocks): Ditto.
a1d1988f
MS
7433 * tree-ssa-sink.c (execute_sink_code): Ditto.
7434 * ipa-inline.c (cgraph_decide_inlining): Ditto.
c2924966 7435 (cgraph_early_inlining): Ditto.
a1d1988f
MS
7436 * global.c (rest_of_handle_global_alloc): Ditto.
7437 * jump.c (cleanup_barriers): Ditto.
c2924966 7438 (purge_line_number_notes): Ditto.
a1d1988f 7439 * ifcvt.c (rest_of_handle_if_conversion): Ditto.
c2924966 7440 (rest_of_handle_if_after_reload): Ditto.
a1d1988f 7441 * tree-ssa-loop.c (tree_ssa_loop_init): Ditto.
c2924966
DB
7442 (tree_ssa_loop_im): Ditto.
7443 (tree_ssa_loop_unswitch): Ditto.
7444 (tree_vectorize): Ditto.
7445 (tree_linear_transform): Ditto.
7446 (tree_ssa_loop_ivcanon): Ditto.
7447 (tree_ssa_empty_loop): Ditto.
7448 (tree_ssa_loop_bounds): Ditto.
7449 (tree_complete_unroll): Ditto.
7450 (tree_ssa_loop_prefetch): Ditto.
7451 (tree_ssa_loop_ivopts): Ditto.
7452 (tree_ssa_loop_done): Ditto.
a1d1988f
MS
7453 * predict.c (tree_estimate_probability): Ditto.
7454 * recog.c (split_all_insns_noflow): Ditto.
c2924966
DB
7455 (rest_of_handle_peephole2): Ditto.
7456 (rest_of_handle_split_all_insns): Ditto.
a1d1988f
MS
7457 * tree-eh.c (lower_eh_constructs): Ditto.
7458 * regmove.c (rest_of_handle_regmove): Ditto.
c2924966 7459 (rest_of_handle_stack_adjustments): Ditto.
a1d1988f
MS
7460 * local-alloc.c (rest_of_handle_local_alloc): Ditto.
7461 * function.c (instantiate_virtual_regs): Ditto.
c2924966
DB
7462 (init_function_for_compilation): Ditto.
7463 (rest_of_handle_check_leaf_regs): Ditto.
a1d1988f 7464 * gcse.c (rest_of_handle_jump_bypass): Ditto.
c2924966 7465 (rest_of_handle_gcse): Ditto.
a1d1988f
MS
7466 * ipa-type-escape.c (type_escape_execute): Ditto.
7467 * alias.c (rest_of_handle_cfg): Ditto.
7468 * tree-if-conv.c (main_tree_if_conversion): Ditto.
7469 * profile.c (rest_of_handle_branch_prob): Ditto.
7470 * tree-ssa-phiopt.c (tree_ssa_phiopt): Ditto.
7471 * rtl-factoring.c (rest_of_rtl_seqabstr): Ditto.
7472 * bt-load.c (rest_of_handle_branch_target_load_optimize): Ditto
7473 * tree-dfa.c (find_referenced_vars): Ditto.
7474 * except.c (set_nothrow_function_flags): Ditto.
c2924966
DB
7475 (convert_to_eh_region_ranges): Ditto.
7476 (rest_of_handle_eh): Ditto.
a1d1988f 7477 * emit-rtl.c (unshare_all_rtl): Ditto.
c2924966 7478 (remove_unnecessary_notes): Ditto.
a1d1988f 7479 * except.h (set_nothrow_function_flags): Ditto.
c2924966 7480 (convert_to_eh_region_ranges): Ditto.
a1d1988f
MS
7481 * cfgexpand.c (tree_expand_cfg): Ditto.
7482 * tree-cfgcleanup.c (merge_phi_nodes): Ditto.
7483 * tree-ssa-pre.c (do_pre): Ditto.
c2924966 7484 (execute_fre): Ditto.
a1d1988f 7485 * cfgcleanup.c (rest_of_handle_jump): Ditto.
c2924966 7486 (rest_of_handle_jump2): Ditto.
a1d1988f
MS
7487 * tree-sra.c (tree_sra): Ditto.
7488 * tree-mudflap.c (execute_mudflap_function_ops): Ditto.
c2924966 7489 (execute_mudflap_function_decls): Ditto.
a1d1988f 7490 * tree-ssa-copy.c (do_copy_prop): Ditto.
c2924966 7491 (do_store_copy_prop): Ditto.
a1d1988f
MS
7492 * ipa-prop.h (ipcp_driver): Ditto.
7493 * cfglayout.c (insn_locators_initialize): Ditto.
7494 * tree-ssa-forwprop.c
c2924966 7495 (tree_ssa_forward_propagate_single_use_vars): Ditto.
a1d1988f
MS
7496 * cfglayout.h (insn_locators_initialize): Ditto.
7497 * tree-ssa-dce.c (tree_ssa_dce): Ditto.
7498 * tree-ssa.c (execute_early_warn_uninitialized): Ditto.
c2924966 7499 (execute_late_warn_uninitialized): Ditto.
a1d1988f 7500 * rtl.h (cleanup_barriers): Ditto.
c2924966
DB
7501 (split_all_insns_noflow): Ditto.
7502 (purge_line_number_notes): Ditto.
7503 (unshare_all_rtl): Ditto.
7504 (remove_unnecessary_notes): Ditto.
7505 (recompute_reg_usage): Ditto.
7506 (variable_tracking_main): Ditto.
a1d1988f
MS
7507 * integrate.c (emit_initial_value_sets): Ditto.
7508 * integrate.h (emit_initial_value_sets): Ditto.
7509 * tree-optimize.c (execute_free_datastructures): Ditto
c2924966
DB
7510 (execute_free_cfg_annotations): Ditto.
7511 (execute_fixup_cfg): Ditto.
7512 (execute_cleanup_cfg_pre_ipa): Ditto.
7513 (execute_cleanup_cfg_post_optimizing): Ditto.
7514 (execute_init_datastructures): Ditto.
a1d1988f
MS
7515 * tree-object-size.c (compute_object_sizes): Ditto.
7516 * combine.c (rest_of_handle_combine): Ditto.
7517 * tree-outof-ssa.c (rewrite_out_of_ssa): Ditto.
7518 * bb-reorder.c (duplicate_computed_gotos): Ditto.
c2924966
DB
7519 (rest_of_handle_reorder_blocks): Ditto.
7520 (rest_of_handle_partition_blocks): Ditto.
a1d1988f
MS
7521 * var-tracking.c (variable_tracking_main): Ditto.
7522 * tree-profile.c (tree_profiling): Ditto.
7523 * tree-vect-generic.c (expand_vector_operations): Ditto.
7524 * reg-stack.c (rest_of_handle_stack_regs): Ditto.
7525 * sched-rgn.c (rest_of_handle_sched): Ditto.
c2924966 7526 (rest_of_handle_sched2): Ditto.
a1d1988f
MS
7527 * basic-block.h (free_bb_insn): Ditto.
7528 * tree-ssa-structalias.c (ipa_pta_execute): Ditto.
7529 * tree-cfg.c (execute_build_cfg): Ditto.
c2924966
DB
7530 (remove_useless_stmts): Ditto.
7531 (split_critical_edges): Ditto.
7532 (execute_warn_function_return): Ditto.
7533 (execute_warn_function_noreturn): Ditto.
a1d1988f
MS
7534 * tree-ssa-reassoc.c (execute_reassoc): Ditto.
7535 * cfgrtl.c (free_bb_for_insn): Ditto.
7536 * passes.c (execute_one_pass): Run additional
c2924966 7537 todos returned by execute function.
a1d1988f 7538 * tree-pass.h (struct tree_opt_pass): Make execute
c2924966
DB
7539 return a value.
7540
62c577fd
RG
75412006-03-02 Richard Guenther <rguenther@suse.de>
7542
7543 * tree-ssa-alias.c (find_used_portions): Consider taking
7544 the address as making the variable not write-only.
7545
c5dde55b
NC
75462006-03-02 Nick Clifton <nickc@redhat.com>
7547
7548 * config.gcc (default_use_cxa_atexit): Extend the description of
7549 this configure variable. Set its default value to "yes" for
7550 Linux, NetBSD and ELF targets on the assumption that they will
7551 use C libraries with the __cxa_atexit function.
7552
75334508
BE
75532006-03-02 Ben Elliston <bje@au.ibm.com>
7554
7555 * config/rs6000/linux-unwind.h (frob_update_context): Mark `fs'
7556 parameter as unused to suppress a build warning.
7557
16c44183
BE
75582006-03-02 Ben Elliston <bje@au.ibm.com>
7559
7560 * mklibgcc.in: Depend on config/dfp-bit.h in rules that compile
7561 config/dfp-bit.c.
7562
a11dd268
RS
75632006-03-01 Roger Sayle <roger@eyesopen.com>
7564
7565 PR other/26489
7566 * gthr-posix.h (__gthrw2): Define to take three parameters, the
7567 declared name, the weak reference name, and the typeof name.
7568 (__gthrw): Avoid expanding the declared name suffix.
7569 (__gthrw3): New Tru64 specific macro to simplify the OSF/1 decls.
7570
d213accd
JJ
75712006-03-01 Jakub Jelinek <jakub@redhat.com>
7572
7573 * dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants
7574 from DWARF 3.
7575 (DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale,
7576 DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count,
7577 DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled,
7578 DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity,
7579 DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New.
7580 (DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New.
7581 (DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited,
7582 DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New.
7583 (DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch,
7584 DW_DS_leading_separate, DW_DS_trailing_separate): New.
7585 (DW_END_default, DW_END_big, DW_END_little): New.
7586 (DW_END_lo_user, DW_END_hi_user): Define.
7587 (DW_LNE_lo_user, DW_LNE_hi_user): Define.
7588 (DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New.
7589 (DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC,
7590 DW_LANG_D): New.
7591
18cd8a03
DN
75922006-03-01 Diego Novillo <dnovillo@redhat.com>
7593
7594 * tree.def (SYMBOL_MEMORY_TAG): Rename from TYPE_MEMORY_TAG.
7595 Update all users.
7596 * tree-pass.h (PROP_smt_usage): Rename from PROP_tmt_usage.
7597 Update all users.
7598 (TODO_update_smt_usage): Rename from TODO_update_tmt_usage.
7599 Update all users.
7600 * tree.h (SMT_USED_ALONE): Rename from TMT_USED_ALONE.
7601 Update all users.
7602 * tree-flow.h (struct var_ann_d): Rename field 'type_mem_tag'
7603 to 'symbol_mem_tag'.
7604 Update all users.
7605 * doc/tree-ssa.texi: Update documentation to reflect TMT->SMT
7606 rename.
7607
8acb1b3d
RS
76082006-03-01 Roger Sayle <roger@eyesopen.com>
7609
7610 * builtins.c (fold_builtin_copysign): Delete unreachable code.
7611
c446d1a7
AP
76122006-03-01 Andrew Pinski <pinskia@physics.uc.edu>
7613
7614 PR target/25761
7615 * config/darwin.h (MACHOPIC_JUST_INDIRECT): Check just
7616 MACHO_DYNAMIC_NO_PIC_P.
7617 (MACHOPIC_PURE): Check flag_pic and not MACHO_DYNAMIC_NO_PIC_P.
7618
ab0ff804
AP
76192006-03-01 Andrew Pinski <pinskia@physics.uc.edu>
7620
7621 PR target/26389
7622 * config/darwin-protos.h (darwin_asm_output_anchor):
7623 Declare.
7624 * config/darwin-sections.def (cstring_section):
7625 Add SECTION_MERGE to the flags.
7626 (literal4_section): Likewise.
7627 (literal8_section): Likewise.
7628 (objc_selector_refs_section): Likewise.
7629 (objc_cls_refs_section): Likewise.
7630 * config/darwin.c (darwin_asm_output_anchor): New
7631 function.
7632 * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Define.
7633
607f460c 76342006-03-01 Daniel Berlin <dberlin@dberlin.org>
18cd8a03 7635
607f460c
DB
7636 Fix PR tree-optimization/26443
7637 * tree-vrp.c (pass_vrp): Add TODO_update_tmt_usage
7638 to todo and PROP_tmt_usage to properties_destroyed.
7639 * tree-ssa-ccp.c (pass_ccp): Ditto.
7640 (pass_store_ccp): Ditto.
7641 * tree-ssa-dom.c (pass_dominator): Ditto.
7642
02075bb2
DN
76432006-03-01 Diego Novillo <dnovillo@redhat.com>
7644
7645 * tree-ssa-operands.c: Cleanup whitespace.
7646 (get_asm_expr_operands): Move before first invocation.
7647 (get_indirect_ref_operands): Likewise.
7648 (get_tmr_operands): Likewise.
7649 (get_call_expr_operands): Likewise.
7650 (append_def): Likewise.
7651 (append_use): Likewise.
7652 (append_v_may_def): Likewise.
7653 (append_v_must_def): Likewise.
7654 (add_call_clobber_ops): Likewise.
7655 (add_call_read_ops): Likewise.
7656 (add_stmt_operand): Likewise.
7657 (add_virtual_operand): Likewise.
7658 (build_ssa_operands): Likewise.
7659
76602006-03-01 Andrew Pinski <pinskia@physics.uc.edu>
1809ff6b
AP
7661
7662 PR middle-end/26022
7663 Revert:
7664 PR middle-end/24437
7665 * tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF
7666 with a call expr to ...
7667 * fold-const.c (fold_ternary) <case CALL_EXPR>: Here.
7668
6578c101
DN
76692006-03-01 Diego Novillo <dnovillo@redhat.com>
7670
7671 * tree-vrp.c (extract_range_from_assert): Remove special
7672 handling for types with super-types.
7673
0eafb3ec
BE
76742006-03-01 Ben Elliston <bje@au.ibm.com>
7675
ec09c26e
BE
7676 * config.gcc: Add t-dfprules to $tmake_file for powerpc-*-linux*
7677 and powerpc64-*-linux* configurations.
7678 * config/t-dfprules: New file.
7679
0eafb3ec
BE
7680 * mklibgcc.in: Add logic to handle $DFP_ENABLE and $DFP_CFLAGS.
7681 Compile dfp-bit.c from the source directory using -DWIDTH and
7682 $DFP_CFLAGS to control the compilation of that file, rather than
7683 generating width-specific versions in the build directory.
7684 * Makefile.in (libgcc.mk): Pass down DFP_ENABLE and DFP_CFLAGS.
7685 (LIBGCC_DEPS): Replace $(D32PBIT) et al with config/dfp-bit.[hc].
7686
cccb0908
ZW
76872006-02-28 Zack Weinberg <zackw@panix.com>
7688
7689 * doc/md.texi: Avoid use of @headitem so that makeinfo <4.7
7690 continues to work.
7691
31abac07
EC
76922006-02-28 Eric Christopher <echristo@apple.com>
7693
7694 * config/rs6000/darwin.h (ENABLE_STACK_EXECUTE): Define.
7695 Set up IN_LIBGCC definition of TARGET_64BIT.
7696 * config/i386/darwin.h (ENABLE_STACK_EXECUTE): Define.
7697
c457fcec
RS
76982006-02-28 Roger Sayle <roger@eyesopen.com>
7699
7700 PR middle-end/14752
7701 * c-common.c (c_common_truthvalue_conversion) <MINUS_EXPR,
7702 BIT_XOR_EXPR, BIT_AND_EXPR>: Delete. Let fold optimize these
7703 cases via the construction of "expr != 0".
7704
63292ebf
SB
77052006-02-28 Steven Bosscher <stevenb.gcc@gmail.com>
7706
7707 * alias.c (alias_invariant, alias_invariant_size): Remove.
7708 (record_base_value): Remove.
7709 (memrefs_conflict_p): Don't look at alias_invariant.
7710 (end_alias_analysis): Don't free it.
7711 * alias.h (record_base_value): Remove prototype.
7712
d3b72690
PB
77132006-02-28 Paolo Bonzini <bonzini@gnu.org>
7714 Adam Nemet <anemet@caviumnetworks.com>
7715
7716 * rtl.h (truncated_to_mode): Declare it.
7717 (struct rtl_hooks): Add reg_truncated_to_mode hook.
7718 * rtlhooks-def.h (RTL_HOOKS_REG_TRUNCATED_TO_MODE): New macro.
7719 (RTL_HOOKS_INITIALIZER): Include it.
7720 * rtlhooks.c (reg_truncated_to_mode_general): New function.
7721 * combine.c (RTL_HOOKS_REG_TRUNCATED_TO_MODE): Override to
7722 reg_truncated_to_mode.
7723 * rtlanal.c (truncated_to_mode): Define it.
7724 * simplify-rtx.c (simplify_unary_operation_1): Use it.
7725
ea45681a
JL
77262006-02-28 Jeff Law <law@redhat.com>
7727
e5c7f9f5
JL
7728 * tree-chrec.c (chrec_convert_aggressive): Do not eliminate
7729 conversions where TYPE_MIN_VALUE/TYPE_MAX_VALUE do not cover
7730 the range allowed by TYPE_PRECISION.
7731
ea45681a
JL
7732 * tree.h (strct phi_arg_d): Remove unused NONZERO field.
7733
7ffe0f0d
DN
77342006-02-28 Dorit Nuzman <dorit@il.ibm.com>
7735
7736 PR tree-optimization/26419
7737 * doc/invoke.texi (ftree-vectorizer-verbose): Add information on
7738 values of n.
7739
3fa1b0e5
ZW
77402006-02-27 Zack Weinberg <zackw@panix.com>
7741
7742 * doc/md.texi: Fix typo in previous change.
7743
75743f02
KZ
77442006-02-27 Kenneth Zadeck <zadeck@naturalbridge.com>
7745
7746 * df.c: Remove.
7747
f38840db
ZW
77482006-02-27 Zack Weinberg <zackw@panix.com>
7749
7750 * rtl.def (define_constraint, define_register_constraint)
7751 (define_memory_constraint, define_address_constraint): New MD forms.
7752 * gensupport.c (process_rtx): Put define_constraint etc on the
7753 predicate queue.
7754 * genpreds.c (process_define_predicate): Adjust comment. Validate
7755 the name, and call validate_exp to validate the expression.
7756 (mark_mode_tests, write_extract_subexp): Can assume correct input.
7757 (write_predicate_expr): Likewise. NAME argument no longer necessary;
7758 all callers changed.
7759 (validate_exp, needs_variable, struct constraint_data)
7760 (constraints_by_letter_table, first_constraint, last_constraint_ptr)
7761 (FOR_ALL_CONSTRAINTS, generic_constraint_letters, const_int_constraints)
7762 (const_dbl_constraints, constraint_max_namelen)
7763 (have_register_constraints, have_memory_constraints)
7764 (have_address_constraints, have_address_constraints)
7765 (have_extra_constraints, have_const_int_constraints)
7766 (have_const_dbl_constraints, mangle, add_constraint)
7767 (process_define_constraint, process_define_register_constraint)
7768 (write_enum_constraint_num, write_lookup_constraint)
7769 (write_insn_constraint_len, write_regclass_for_constraint)
7770 (write_constraint_satisfied_p, write_insn_const_int_ok_for_constraint)
7771 (write_insn_extra_memory_constraint)
7772 (write_insn_extra_address_constraint)
7773 (write_satisfies_constraint_fns): New.
7774 (write_tm_preds_h): If we have new-style constraint definitions,
7775 prototype the functions generated from them, and define the
7776 old constraint interface (still used by generic code) in terms of
7777 those functions.
7778 (write_insn_preds_c): If we have new-style constraint definitions,
7779 generate all relevant functions from those definitions.
7780 (main): Handle define_constraint etc.
7781 * genoutput.c (struct constraint_data, indep_constraints)
7782 (mdep_constraint_letters, constraints_by_letter_table, note_constraint)
7783 (mdep_constraint_len): New data structures and functions, defined
7784 #ifdef USE_MD_CONSTRAINTS.
7785 (check_constraint_len): Don't define #ifdef USE_MD_CONSTRAINTS.
7786 (validate_insn_alternatives): If USE_MD_CONSTRAINTS is defined,
7787 use new logic to validate operand constraints against constraint
7788 definitions.
7789 (main): Process define_constraint etc. if USE_MD_CONSTRAINTS is
7790 defined.
7791 * defaults.h: If none of the old-style constraint macros are
7792 defined, define USE_MD_CONSTRAINTS; do not provide defaults for any
7793 old-style macros; and poison REG_CLASS_FROM_LETTER,
7794 CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, and
7795 EXTRA_CONSTRAINT.
7796 * recog.c (reg_fits_class_p): If cl is NO_REGS, return 0 immediately.
7797 * doc/md.texi: Document new constraint-definition mechanism and the
7798 C interface it provides. Remove references to old mechanism
7799 elsewhere in the document.
7800 (Machine Constraints): Use pathnames relative to gcc directory,
7801 i.e. config/ARCH/FILE. Change i386 section to refer to
7802 config/i386/predicates.md; update that section to match docstrings.
7803 * doc/tm.texi: Move all documentation of the old constraint-
7804 definition macros to their own section, clearly mark as obsolete.
7805
7806 * config/i386/predicates.md (R, q, Q, l, a, b, c, d, S, D, A, f, t)
7807 (u, y, x, Y, I, J, K, L, M, N, O, G, C, e, Z): New constraint
7808 definitions.
7809 * config/i386/i386.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
7810 (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete.
7811 * config/i386/i386.md (*movdf_nointeger): Remove stray 'H' from
7812 constraint strings.
7813 (splits and peepholes): Use satisfies_constraint_*.
7814 * config/i386/i386.c (memory_address_length)
7815 (ix86_attr_length_immediate_default): Use satisfies_constraint_*.
7816
e3e868f6
DB
78172006-02-27 Daniel Berlin <dberlin@dberlin.org>
7818
7819 * lambda-code.c (can_convert_to_perfect_nest): Allow any type of
7820 scalar operation to be put back into the loop.
7821
754e45a8
JJ
78222006-02-27 Jakub Jelinek <jakub@redhat.com>
7823
7824 PR other/26208
7825 * unwind-dw2.c (struct _Unwind_Context): Add signal_frame field.
7826 (extract_cie_info): Handle S flag in augmentation string.
7827 (execute_cfa_program): If context->signal_frame, execute also
7828 fs->pc == context->ra instructions.
7829 (uw_frame_state_for): If context->signal_frame, don't subtract one
7830 from context->ra to find FDE.
7831 (uw_update_context_1): Set context->signal_frame to
7832 fs->signal_frame.
7833 (_Unwind_GetIPInfo): New function.
7834 * unwind-dw2.h (_Unwind_FrameState): Add signal_frame field.
7835 * unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead
7836 of _Unwind_GetIP.
7837 * unwind-sjlj.c (_Unwind_GetIPInfo): New function.
7838 * unwind-generic.h (_Unwind_GetIPInfo): New prototype.
7839 * unwind-compat.c (_Unwind_GetIPInfo): New function.
7840 * libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0.
7841 * config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function.
7842 * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define.
7843 * config/i386/linux-unwind.h (x86_fallback_frame_state,
7844 x86_64_fallback_frame_state): Set fs->signal_frame.
7845 * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise.
7846 (MD_FROB_UPDATE_CONTEXT): Define unconditionally.
7847 (frob_update_context): Likewise. Workaround missing S flag in
7848 Linux 2.6.12 - 2.6.16 kernel vDSOs.
7849 * config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise.
7850 Remove the psw_addr + 1 hack.
7851
6df11ca1
DB
78522006-02-27 Daniel Berlin <dberlin@dberlin.org>
7853
7854 * tree-ssa-structalias.c (get_constraint_for): Move code to deal
7855 with aggregates here.
7856 (find_func_aliases): Remove code for &<aggregate> from here.
7857
5881ad5d
RS
78582006-02-26 Roger Sayle <roger@eyesopen.com>
7859
e8366202 7860 * fold-const.c (fold_binary) <EQ_EXPR>: Fold (~X & C) eq/ne 0 as
5881ad5d
RS
7861 (X & C) ne/eq 0, where C is a single bit, i.e. a power of two.
7862 Fold both "((X & C) ^ C) eq/ne 0" and "((X ^ C) & C) eq/ne 0"
7863 as (X & C) ne/eq 0.
7864
53f1b560
RS
78652006-02-26 Roger Sayle <roger@eyesopen.com>
7866
7867 PR middle-end/19983
7868 * real.c (real_nan): Allow both 0x and 0X as hexadecimal prefixes.
7869
efa1cdf0
ZD
78702006-02-26 Zdenek Dvorak <dvorakz@suse.cz>
7871
7872 * opts.c (decode_options): Do not handle flag_strength_reduce.
7873 (common_handle_option): Handle OPT_floop_optimize, OPT_frerun_loop_opt
7874 and OPT_fstrength_reduce.
7875 * tree-ssa-loop.c (tree_ssa_loop_prefetch): Only test
7876 flag_prefetch_loop_arrays for being nonzero.
7877 * common.opt (floop-optimize, frerun-loop-opt): Resurrected as
7878 no-ops.
7879 (fprefetch-loop-arrays-rtl): Removed.
7880 (flag_prefetch_loop_arrays): Do not specify the value.
7881
7882 * doc/passes.texi: Update documentation of loop optimizer
7883 passes.
7884 * doc/invoke.texi (-fstrength-reduce, -fprefetch-loop-arrays-rtl,
7885 -frerun-loop-opt): Remove.
7886
651402f1
RG
78872006-02-26 Richard Guenther <rguenther@suse.de>
7888
7889 PR tree-optimization/26421
7890 * tree-ssa-alias.c (find_used_portions): Don't treat parameters
7891 in function calls that are ADDR_EXPRs as using the whole structure.
7892
37818e7c
SB
78932006-02-26 Steven Bosscher <stevenb.gcc@gmail.com>
7894
7895 * common.opt (-floop-optimize, -frerun-loop-opt): Remove.
7896 * tree-pass.h (pass_loop_optimize): Remove.
7897 * passes.c (pass_loop_optimize): Never run it.
7898 * toplev.c (backend_init): Don't call init_loop.
7899 * opts.c (flag_loop_optimize_set): Remove.
7900 (decode_options): Never set flag_loop_optimize or flag_rerun_loop_opt.
7901 (common_handle_option) <OPT_floop_optimize>: Remove. Don't disable
7902 the old RTL loop optimizer when profiling enabled.
7903 * predict.c (tree_estimate_probability): Always strip builtin_expect.
7904 * cfgcleanup.c (try_forward_edges): Don't avoid killing loop
7905 pre-headers for the sake of the old RTL loop optimizer.
7906 * Makefile.in: Remove all references to loop.o.
7907
7908 * doc/invoke.texi: Remove all references to -floop-optimize
7909 and -frerun-loop-opt.
7910
74fe790b
ZW
79112006-02-26 Zack Weinberg <zackw@panix.com>
7912
7913 * doc/md.texi (Machine Constraints): Refer to all files with paths
7914 relative to gcc directory (i.e. config/CPU/file). Add missing
7915 @table @code ... @end table to M32C subsection.
7916
cef65eaa
RS
79172006-02-26 Roger Sayle <roger@eyesopen.com>
7918
7919 * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & 1) ^ 1 as
7920 (X & 1) == 0.
7921 <BIT_AND_EXPR>: Fold (X ^ 1) & 1 and ~X & 1 as (X & 1) == 0.
7922
a861485c
RS
79232006-02-26 Roger Sayle <roger@eyesopen.com>
7924 James A. Morrison <phython@gcc.gnu.org>
7925
7926 PR middle-end/21137
e8366202 7927 * fold-const.c (fold_binary) <EQ_EXPR>: Fold ((X>>C1)&C2) eq/ne 0,
a861485c
RS
7928 when C2 is a power of two, as either (X&(C2<<C1)) eq/ne 0 if the
7929 new constant C2<<C1, or as (X<0) or (X,false) depending upon the
7930 signedness of the shift operation.
7931
afa38a95
DN
79322006-02-26 Dorit Nuzman <dorit@il.ibm.com>
7933
7934 PR tree-optimization/26359
7935 * tree-ssa-alias.c (new_type_alias): Set fields for new tag.
7936
5484a3c3
RS
79372006-02-25 Roger Sayle <roger@eyesopen.com>
7938
e8366202 7939 * simplify-rtx.c (simplify_relational_operation_1): Simplify
5484a3c3
RS
7940 (X^Y) == 0 as X == Y and (X^Y) != 0 as X != Y. Simplify (X^Y) == Y
7941 as X == 0, and some symmetry related transformations.
7942 Simplify (X^C1) == C2 as X == (C1^C2). Split long comment line.
7943
eb8dffe0
RS
79442006-02-25 Roger Sayle <roger@eyesopen.com>
7945
7946 PR middle-end/23673
e8366202 7947 * fold-const.c (fold_binary) <EQ_EXPR>: Fold (X^Y) == 0 as X == Y
eb8dffe0
RS
7948 and (X^Y) != 0 as X != Y. Fold (X^Y) == Y as X == 0, and some
7949 symmetry related transformations. Fold (X^C1) == C2 as
7950 X == (C1^C2).
7951
332cf1b3
JW
79522006-02-25 Juergen Weigert <jw@suse.de>
7953 Richard Guenther <rguenther@suse.de>
7954
7955 * scan-decls.c (scan_decls): Don't fetch new statement after CPP_EOF.
7956
a4876725
AN
79572006-02-24 Adam Nemet <anemet@caviumnetworks.com>
7958
7959 * combine.c (gen_lowpart_or_truncate): Call
7960 simplify_gen_unary(TRUNCATE, ...) instead of gen_rtx_TRUNCATE.
7961
8d669cbd
DN
79622006-02-24 Diego Novillo <dnovillo@redhat.com>
7963
7964 * doc/invoke.texi: Move -fopenmp description to "Options for
7965 Code Generation".
7966 Remove reference to -lgomp.
7967
f44a5ab6
DE
79682006-02-24 David Edelsohn <edelsohn@gnu.org>
7969
7970 * doc/install.texi: Require GNU tar version 1.14.
7971
c7b5e395
GK
79722006-02-24 Geoffrey Keating <geoffk@apple.com>
7973
7974 * doc/tm.texi (Run-time Target): Document C_COMMON_OVERRIDE_OPTIONS.
74fe790b 7975 * doc/invoke.texi (C++ Dialect Options): Document
c7b5e395
GK
7976 -fno-use-cxa-get-exception-ptr.
7977 * configure.ac: Define DEFAULT_USE_CXA_ATEXIT to 2 not 1.
7978 * configure: Regenerate.
7979 * c.opt (fuse-cxa-get-exception-ptr): New.
7980 * c-opts.c (c_common_handle_option): Handle
7981 OPT_fuse_cxa_get_exception_ptr.
7982 * c-common.c (flag_use_cxa_atexit): Update documentation.
7983 (flag_use_cxa_get_exception_ptr): New.
7984 * c-common.h (flag_use_cxa_get_exception_ptr): New.
7985 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Improve
7986 documentation.
7987 (C_COMMON_OVERRIDE_OPTIONS): New.
7988
676cb929
RS
79892006-02-24 Roger Sayle <roger@eyesopen.com>
7990
7991 PR middle-end/24952
7992 * combine.c (try_combine): Explicitly check whether GET_CODE is
7993 a SET or a CLOBBER, instead on checking that it isn't a USE.
7994
e26ec0bb
RS
79952006-02-24 Roger Sayle <roger@eyesopen.com>
7996
7997 * fold-const.c (fold_comparison): New subroutine of fold_binary
7998 containing transformations common to both the equality and
7999 ordering relational operators, factored out of fold_binary.
8000 (fold_binary): Separate out the equality operators (EQ_EXPR
8001 and NE_EXPR) from the ordering operators (LT_EXPR, GT_EXPR,
8002 LE_EXPR and GE_EXPR), calling fold_comparison to perform the
8003 transformations common to both.
74fe790b 8004 (fold_div_compare): Fix latent bugs in the previously unreachable
e26ec0bb
RS
8005 LT_EXPR and GE_EXPR cases.
8006
69ca3549
DE
80072006-02-24 David Edelsohn <edelsohn@gnu.org>
8008
8009 * config/rs6000/rs6000.c (rs6000_init_builtins): Change
8010 decl libname for clog to __clog on AIX.
8011
8012 * config/rs6000/xcoff.h (MAX_OFILE_ALIGNMENT): Define.
8013
8097c268
AM
80142006-02-24 Alan Modra <amodra@bigpond.net.au>
8015
8016 PR target/26453
8017 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
8018 output traceback table for thunks. Localise rs6000_stack_info call.
8019
efbbbb61
RS
80202006-02-23 Roger Sayle <roger@eyesopen.com>
8021 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8022
8023 * gthr-posix.h (__gthrw): Fix typo in comment.
8024
80252006-02-23 Geoffrey Keating <geoffk@apple.com>
c1e12409
GK
8026
8027 * doc/cpp.texi (Character sets): Document that we do support
8028 input files to be in any character set.
8029
e260a614
JL
80302006-02-23 Jeff Law <law@redhat.com>
8031
357e7a82
JL
8032 * tree.h (PHI_ARG_NONZERO): Remove.
8033 * tree-phinodes.c (add_phi_arg): No longer initialize PHI_ARG_NONZERO.
8034 (remove_phi_arg_num): No longer copy PHI_ARG_NONZERO from the old
8035 node to the new node.
8036
e260a614
JL
8037 PR tree-optimization/26425
8038 * tree-vrp.c (vrp_visit_assignment): If the LHS's type has a NULL
8039 min/max, then assume its varying.
8040
e755fcf5
ZD
80412006-02-23 Zdenek Dvorak <dvorakz@suse.cz>
8042
8043 PR rtl-optimization/26316
8044 * rtlanal.c (enum may_trap_p_flags): New.
8045 (may_trap_p_1): Take flags instead of unaligned_mems argument. Ignore
8046 MEM_NOTRAP_P if flags & MTP_AFTER_MOVE.
8047 (may_trap_p, may_trap_or_fault_p): Pass flags to may_trap_p_1.
8048 (may_trap_after_code_motion_p): New function.
8049 * loop-invariant.c (find_identical_invariants): Fix dump formating.
8050 (find_invariant_insn): Use may_trap_after_code_motion_p.
8051 * rtl.h (may_trap_after_code_motion_p): Declare.
8052
65acccdd
ZD
80532006-02-23 Zdenek Dvorak <dvorakz@suse.cz>
8054
8055 * emit-rtl.c (immed_double_const): Cleanup.
8056
4b0e7346 80572006-02-23 Daniel Berlin <dberlin@dberlin.org>
74fe790b 8058
4b0e7346 8059 Fix PR tree-optimization/26376
e8366202 8060 * tree-ssa-structalias.c (find_func_aliases): Use get_id_for_tree,
4b0e7346
DB
8061 remove assert.
8062
a5c8d67f
JJ
80632006-02-23 Jakub Jelinek <jakub@redhat.com>
8064
8065 PR middle-end/26412
8066 * gimplify.c (omp_add_variable): Guard variable size decl test with
8067 DECL_SIZE (decl) check.
8068
98b2060a
RG
80692006-02-23 Richard Guenther <rguenther@suse.de>
8070
8071 PR middle-end/26439
8072 * tree-ssa-structalias.c (find_func_aliases): Handle complex types
8073 like aggregate types.
8074
ed965309
JJ
80752006-02-23 Jakub Jelinek <jakub@redhat.com>
8076
8077 * configure.ac: Add --with{,out}-long-double-128 configure option.
8078 (TARGET_DEFAULT_LONG_DOUBLE_128): New test.
8079 * configure: Rebuilt.
8080 * config.in: Rebuilt.
8081 * doc/install.texi (Options specification): Document
8082 --with-long-double-128.
8083
8084 * config/rs6000/linux.h [TARGET_DEFAULT_LONG_DOUBLE_128]
8085 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128.
8086 * config/rs6000/linux64.h [TARGET_DEFAULT_LONG_DOUBLE_128]
8087 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128.
8088
80892006-02-23 Aldy Hernandez <aldyh@redhat.com>
8090
8091 * config/s390/s390.c (override_options): Handle
8092 TARGET_DEFAULT_LONG_DOUBLE_128.
8093
8094 * config/alpha/alpha.c (override_options): Handle
8095 TARGET_DEFAULT_LONG_DOUBLE_128.
8096
8097 * config/sparc/sparc.c (sparc_override_options): Handle
8098 TARGET_DEFAULT_LONG_DOUBLE_128.
8099
9fb03bd8
DJ
81002006-02-22 Daniel Jacobowitz <dan@codesourcery.com>
8101
8102 * Makefile.in (stmp-fixinc): Use real-$(INSTALL_HEADERS_DIR).
8103 (real-install-headers-tar, real-install-headers-cpio)
8104 (real-install-headers-cp): New targets.
8105
e8dad6f0
RS
81062006-02-22 Richard Sandiford <richard@codesourcery.com>
8107
8108 * tree.h (variable_section): Delete.
8109 * varasm.c (variable_section): Delete.
8110
d7f755c3
PB
81112006-02-22 Paolo Bonzini <bonzini@gnu.org>
8112
8113 * install.texi: Add notes on install.texi2html.
8114 (Building in parallel): Do not use footnotes.
8115
4fe7a8bc
AH
81162006-02-21 Aldy Hernandez <aldyh@redhat.com>
8117
8118 PR libgomp/26234
8119 * doc/install.texi (Configuration): Document --disable-libgomp.
8120
6070e8e5
GK
81212006-02-21 Geoffrey Keating <geoffk@apple.com>
8122
8123 * config/i386/darwin.h (DWARF2_FRAME_REG_OUT): New.
8124
f8770111
AO
81252006-02-21 Alexandre Oliva <aoliva@redhat.com>
8126
8127 * config/i386/sse.md (vec_extractv2df_1_sse): New.
8128 (vec_extractv2df_0_sse): New.
8129
35d177a2
AO
81302006-02-21 Alexandre Oliva <aoliva@redhat.com>
8131
8132 * defaults.h (CFA_FRAME_BASE_OFFSET): Define.
8133 * config/ia64/ia64.h (CFA_FRAME_BASE_OFFSET): Override.
8134 * doc/tm.texi (CFA_FRAME_BASE_OFFSET): Document.
8135 * dwarf2out.c (build_cfa_loc): New offset parameter. Add it
8136 to the result of the expression.
8137 (def_cfa_1): Adjust.
8138 (frame_pointer_cfa_offset): Rename to...
8139 (frame_pointer_fb_offset): ... this. Adjust all uses.
8140 (convert_cfa_to_loc_list): Rename to...
8141 (convert_cfa_to_fb_loc_list): ... this. New offset parameter.
8142 Pass it on to build_cfa_loc.
8143 (compute_frame_pointer_to_cfa_displacement): Rename to...
8144 (compute_frame_pointer_to_fb_displacement): ... this. New
8145 offset parameter. Use it in computation.
8146 (gen_subprogram_die): Compute cfa_fb_offset with the new
8147 macro, and use it to compute the fb loc list and the
8148 displacement.
8149
4729dc92
BS
81502006-02-21 Bernd Schmidt <bernd.schmidt@analog.com>
8151
8152 * config/bfin/predicates.md (cc_operand): Delete predicate. All uses
8153 replaced with register_operand.
8154 * config/bfin/bfin.c (bfin_register_move_cost): Moving CC to any
8155 non-DREG is expensive.
8156 * config/bfin/bfin.h (FIXED_REGISTERS): CC isn't fixed.
8157 * config/bfin/bfin.md (movbi): Fix constraints and template for moves
8158 involving memory.
8159
520bc8a2
JM
81602006-02-21 Joseph S. Myers <joseph@codesourcery.com>
8161
8162 * doc/install.texi2html: Use set -e.
8163
f5e605e5
RS
81642006-02-21 Richard Sandiford <richard@codesourcery.com>
8165
8166 * doc/tm.texi (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS)
8167 (ASM_OUTPUT_SHARED_LOCAL): Delete.
8168 * doc/invoke.texi (-fshared-data): Delete.
8169 * common.opt (fshared-data): Delete.
8170 * varasm.c (asm_emit_uninitialised): Remove flag_shared_data handling.
8171 (assemble_static_space): Remove #if 0 code.
8172 * system.h (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS)
8173 (ASM_OUTPUT_SHARED_LOCAL): Poison.
8174 * config/cris/cris.h: Remove FIXME.
8175
880b9e7b
PB
81762006-02-21 Paolo Bonzini <bonzini@gnu.org>
8177
8178 * doc/sourcebuild.texi (Front End Directory): No more double-colon
8179 hooks.
8180
5a9e432d
JJ
81812006-02-21 Jakub Jelinek <jakub@redhat.com>
8182
8183 PR middle-end/26379
8184 * combine.c (simplify_shift_const_1): Disable nested shifts
8185 optimization for vector shifts.
8186
c1a70a3c
RS
81872006-02-20 Roger Sayle <roger@eyesopen.com>
8188
8189 PR tree-optimization/26361
8190 * tree-vrp.c (extract_range_from_unary_expr): Handle NEGATE_EXPR
8191 of unsigned integer types.
8192
0ff4040e
SP
81932006-02-20 Sebastian Pop <pop@cri.ensmp.fr>
8194
8195 * tree-chrec.c (eq_evolutions_p): New.
8196 * tree-chrec.h (eq_evolutions_p): Declared.
8197 * tree-data-ref.c: Fix formatting.
8198 (datadep_stats, dependence_stats): New.
8199 (gcd): Moved...
8200 (print_direction_vector): New.
8201 (dump_data_dependence_relation): Use print_direction_vector.
8202 (object_analysis, create_data_ref): Handle COMPONENT_REF.
8203 (compute_subscript_distance): Static.
8204 (initialize_data_dependence_relation): Static. Get the number
8205 of loops surrounding the references from the callers, and initialize
8206 DDR_SIZE_VECT to nb_loops. Use both base_addr_differ_p and
8207 base_object_differ_p analyzers.
74fe790b 8208 (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
0ff4040e
SP
8209 compute_overlap_steps_for_affine_1_2,
8210 analyze_subscript_affine_affine): Count the classified dependences.
8211 Print a message when a test failed.
74fe790b 8212 (can_use_analyze_subscript_affine_affine): New.
0ff4040e
SP
8213 (analyze_siv_subscript): Compute the data dependences on symbolic
8214 scevs that verify can_use_analyze_subscript_affine_affine.
8215 (chrec_steps_divide_constant_p): Returns true, false, or unknown.
8216 (analyze_miv_subscript): Update use of chrec_steps_divide_constant_p.
8217 Handle symbolic scevs.
8218 (analyze_overlapping_iterations): Let symbolic affine scevs to be
8219 analyzed.
8220 (subscript_dependence_tester): Moved...
74fe790b 8221 (build_classic_dist_vector, build_classic_dir_vector): Don't use
0ff4040e
SP
8222 lambda_vector_clear on newly allocated vectors. Get nb_loops from
8223 DDR_SIZE_VECT instead of getting it in parameter.
74fe790b 8224 (subscript_dependence_tester): ... here. Take as a parameter
0ff4040e
SP
8225 loop_nest_depth. Call build_classic_dist_vector and
8226 build_classic_dir_vector.
74fe790b
ZW
8227 (compute_affine_dependence): Update subscript_dependence_tester
8228 parameters. Update datadep_stats counters. Call
0ff4040e 8229 compute_subscript_distance.
74fe790b 8230 (compute_self_dependence): Save the dist and dir vectors. Call
0ff4040e
SP
8231 compute_subscript_distance.
8232 (ddr_p, DEF_VEC_P(ddr_p), DEF_VEC_ALLOC_P(ddr_p,heap)): Moved...
8233 (compute_all_dependences): Reorder parameters as they were before
8234 conversion to VEC. Pass nb_loops and loop_nest_depth. Don't call
74fe790b 8235 compute_subscript_distance. Update the use of
0ff4040e
SP
8236 compute_affine_dependence and initialize_data_dependence_relation.
8237 (find_data_references_in_loop): Handle COMPONENT_REF.
8238 (compute_data_dependences_for_loop): Initialize dependence_stats.
8239 Don't call build_classic_dist_vector and build_classic_dir_vector.
74fe790b 8240 Update the parameters of initialize_data_dependence_relation and
0ff4040e
SP
8241 compute_all_dependences. Print the statistics from datadep_stats.
8242 (analyze_all_data_dependences): Static. Not used until the pass for
8243 checking the data dependences is contributed.
8244 * tree-data-ref.h (ddr_p, DEF_VEC_P(ddr_p),
8245 DEF_VEC_ALLOC_P(ddr_p,heap)): ... here.
74fe790b 8246 (initialize_data_dependence_relation, compute_affine_dependence,
0ff4040e
SP
8247 analyze_all_data_dependences, compute_subscript_distance): Removed.
8248 (print_direction_vector): New.
8249 * lambda.h (gcd): ... here.
8250 (lambda_vector_gcd): Moved here from gcd_vector.
8251 * lambda-code.c (gcd, gcd_vector): Removed.
8252 (lambda_compute_target_space): Use lambda_vector_gcd. Fix formatting.
8253 * Makefile.in (tree-vect-patterns.o): Depends on TREE_DATA_REF_H.
8254
643519b7
DN
82552006-02-20 Diego Novillo <dnovillo@redhat.com>
8256
8257 * ipa-type-escape.c: Tidy some comments and white space.
8258 * tree-ssa-operands.c: Likewise.
8259
406f9d5e
AP
82602006-02-20 Andrew Pinski <pinskia@physics.uc.edu>
8261
8262 PR tree-opt/25879
8263 * tree-pretty-print.c (debug_tree_chain): Walk the chains.
8264 (dump_decl_name): Do not walk the decl tree chains.
8265 * tree-pass.h (TDF_CHAIN): Remove.
8266
8267