OSDN Git Service

2006-10-04 Brooks Moses <bmoses@stanford.edu>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2006-10-04  Brooks Moses  <bmoses@stanford.edu>
2
3         * doc/gcov.texi: Add formatting to "Invoking gcov" section head.
4
5 2006-10-04  Richard Henderson  <rth@redhat.com>
6             Jakub Jelinek  <jakub@redhat.com>
7
8         * Makefile.in (libgcc.mk, LIBGCC_DEPS): Add emutls.c.
9         * builtin-types.def (BT_WORD): Make unsigned.
10         (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
11         * builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS): New.
12         (BUILT_IN_EMUTLS_REGISTER_COMMON): New.
13         * c-decl.c (grokdeclarator): Don't error if !have_tls.
14         * c-parser.c (c_parser_omp_threadprivate): Likewise.
15         * cgraph.c (decide_is_variable_needed): Look at force_output.
16         Recurse for emulated tls.
17         * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Remove
18         checks redundant with decide_is_variable_needed.
19         (cgraph_build_static_cdtor): Do cgraph_varpool_assemble_pending_decls.
20         * dwarf2out.c (loc_descriptor_from_tree_1): Don't do anything for
21         emulated tls.
22         * expr.c (emutls_var_address): New.
23         (expand_expr_real_1): Expand emulated tls.
24         (expand_expr_addr_expr_1): Likewise.
25         * libgcc-std.ver: Add __emutls_get_address, __emutls_register_common.
26         * output.h (emutls_finish): Declare.
27         * toplev.c (compile_file): Call it.
28         * tree-ssa-address.c (gen_addr_rtx): Check for const-ness of the
29         address before wrapping in CONST.
30         * varasm.c (emutls_htab, emutls_object_type): New.
31         (EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): New.
32         (get_emutls_object_name, get_emutls_object_type): New.
33         (get_emutls_init_templ_addr, emutls_decl): New.
34         (emutls_common_1, emutls_finish): New.
35         (assemble_variable): When emulating tls, swap decls; generate 
36         constructor for the emutls objects.
37         (do_assemble_alias): When emulating tls, swap decl and target name.
38         (default_encode_section_info): Don't add SYMBOL_FLAG_TLS_SHIFT
39         for emulated tls.
40         * emutls.c: New file.
41         * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Only emit
42         tls_object for real tls.
43
44 2006-10-04  Zack Weinberg  <zackw@panix.com>
45
46         Fix bug in constraint-check generator, reported by Rask Ingemann
47         Lambertsen:
48         * genpreds.c (add_constraint): Don't remove anything from the
49         expression here.
50         (write_tm_constrs_h): Detect whether "op" argument is used, and
51         mark it ARG_UNUSED if it isn't.
52         (write_insn_const_int_ok_for_constraint): Skip the part of the
53         expression that would test whether "op" (which is not available
54         here) is a CONST_INT.
55
56 2006-10-04  Ryan Mansfield  <rmansfield@qnx.com>
57
58         PR c++/28448
59         * doc/invoke.texi (fdiagnostics-show-option): Fix typos.
60
61 2006-10-03  Geoffrey Keating  <geoffk@apple.com>
62
63         * config/i386/darwin-libgcc.10.5.ver: Update to symbol list for
64         current Leopard versions.
65         * config/rs6000/darwin-libgcc.10.5.ver: Likewise.
66
67 2006-10-03  Kazu Hirata  <kazu@codesourcery.com>
68
69         * doc/install.texi: Fix typos.
70
71 2006-10-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
72
73         * builtins.c (expand_builtin_return_addr): Deal with FRAME_ADDR_RTX.
74         * doc/tm.texi (Basic Stack Layout): Document FRAME_ADDR_RTX.
75         * config/sparc/sparc.h (FRAME_ADDR_RTX): Define.
76
77 2006-10-02  Jack Howarth  <howarth@bromo.med.uc.edu>
78
79         * unwind-dw2-fde-darwin.c (getsectdatafromheader_64): Fix first
80         arg to be struct mach_header_64* instead.
81
82 2006-10-02  Jakub Jelinek  <jakub@redhat.com>
83
84         PR c/29154
85         * gimplify.c (gimplify_self_mod_expr): Run inner expression's post
86         side effects after the outer expression's post side effects.
87
88 2006-10-01  Sandra Loosemore  <sandra@codesourcery.com>
89
90         * tree.h (DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET):  Fix
91         comments to reflect actual behavior and relationship between
92         DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET, and DECL_OFFSET_ALIGN.
93
94         * doc/c-tree.texi (Working with declarations): Fix documentation
95         of FIELD_DECL likewise.
96
97 2006-10-01  Ryan Mansfield  <rmansfield@qnx.com>
98
99         PR c/20533
100         * doc/extend.texi: Add used variable attribute description.
101
102 2006-09-30  Joseph S. Myers  <joseph@codesourcery.com>
103
104         PR c/24010
105         * c.opt (Woverride-init): New.
106         * c-opts.c (c_common_post_options): Default warn_override_init to
107         extra_warnings.
108         * c-typeck.c (add_pending_init, output_init_element): Warn for
109         overriding initializers without side effects.
110         * doc/invoke.texi (-Woverride-init): Document.
111         (-Wextra): Update.
112
113 2006-09-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
114
115         PR rtl-optimization/28096
116         * ifcvt.c (check_cond_move_block): Return FALSE if the source of an
117         assignment has already been used as a destination earlier in the block.
118
119 2006-09-29  Eric Botcazou  <ebotcazou@adacore.com>
120
121         * builtins.c (expand_builtin_setjmp): Delete.
122         (expand_builtin) <BUILT_IN_SETJMP>: Mark as unreachable.
123         <BUILT_IN_SETJMP_SETUP>: New case.
124         <BUILT_IN_SETJMP_DISPATCHER>: Likewise.
125         <BUILT_IN_SETJMP_RECEIVER>: Likewise.
126         * builtins.def (BUILT_IN_SETJMP_SETUP): New built-in stub.
127         (BUILT_IN_SETJMP_DISPATCHER): Likewise.
128         (BUILT_IN_SETJMP_RECEIVER): Likewise.
129         * gimple-low.c (struct lower_data): New field calls_builtin_setjmp.
130         (lower_function_body): Initialize it to false.  If it is set to true
131         at the end of the processing, emit the setjmp dispatcher.
132         (lower_stmt) <CALL_EXPR>: Invoke lower_builtin_setjmp if the callee
133         is __builtin_setjmp and set calls_builtin_setjmp to true as well.
134         <MODIFY_EXPR>: Fall through to above case if there is a CALL_EXPR
135         on the rhs of the assignment.
136         (lower_builtin_setjmp): New function.
137         * tree.c (build_common_builtin_nodes): Build BUILT_IN_SETJMP_SETUP,
138         BUILT_IN_SETJMP_DISPATCHER and BUILT_IN_SETJMP_RECEIVER nodes.
139         * tree-cfg.c (make_exit_edges) <CALL_EXPR>: Use specific predicate
140         to detect calls that can go to non-local labels.  Use specific
141         helper to create the abnormal edges associated with them.
142         <MODIFY_EXPR>: Likewise.
143         (make_abnormal_goto_edges): New function extracted from...
144         (make_goto_expr_edges): ...here.  Call it for computed gotos.
145         (simple_goto_p): Minor tweak.
146         (tree_can_make_abnormal_goto): New predicate.
147         (tree_redirect_edge_and_branch): Return zero on all abnormal edges.
148         (tree_purge_dead_abnormal_call_edges): New function.
149         * tree-flow.h (tree_can_make_abnormal_goto): Declare.
150         (tree_purge_dead_abnormal_call_edges): Likewise.
151         (make_abnormal_goto_edges): Likewise.
152         * tree-inline.c (expand_call_inline): Simplify statement frobbing.
153         Purge all dead abnormal edges if the call was in the last statement.
154         * tree-optimize.c (has_abnormal_outgoing_edge_p): New predicate.
155         (execute_fixup_cfg): If there are non-local labels in the function,
156         scan the basic blocks and split them at calls that can go to non-local
157         labels or add missing abnormal call edges.  Write down the CFG in the
158         dump file.
159         (pass_fixup_cfg): Remove TODO_dump_func flag.
160         * unwind-sjlj.c: Poison setjmp.
161         * doc/install.texi (enable-sjlj-exceptions): Use more general wording.
162         * doc/tm.texi (DWARF2_UNWIND_INFO): Likewise.
163         (TARGET_UNWIND_TABLES_DEFAULT): Fix typo.
164         (DONT_USE_BUILTIN_SETJMP): Document it.
165
166 2006-09-28  Geoffrey Keating  <geoffk@apple.com>
167
168         PR target/28617
169         * config/rs6000/rs6000.h [IN_LIBGCC2] (TARGET_POWERPC64): Define
170         to 1 when __ppc64__ is defined.
171         * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add ppc64-fp.c and
172         darwin-64.c.
173         * config/rs6000/ppc64-fp.c: Also compile when __ppc64__ is defined.
174
175 2006-09-28  Steve Ellcey  <sje@cup.hp.com>
176
177         * config/ia64/t-hpux (LIB2FUNCS_EXTRA): Remove unwind-hpux.c.
178         * config/ia64/unwind-hpux.c: Delete.
179
180 2006-09-28  Eric Botcazou  <ebotcazou@adacore.com>
181
182         * gimplify.c (gimplify_init_ctor_preeval): Call maybe_with_size_expr
183         on the element before gimplifying it, instead of punting if it is of
184         variable size.
185
186 2006-09-28  Zdenek Dvorak <dvorakz@suse.cz>
187
188         * doc/loop.texi: New file.
189         * doc/gccint.texi: Reference loop.texi.
190         * Makefile.in (loop.texi): Add.
191
192 2006-09-27  Geoffrey Keating  <geoffk@apple.com>
193
194         * config/darwin.h (ENABLE_EXECUTE_STACK): New, use getpagesize not
195         __sysctl.
196         * config/rs6000/darwin.h (ENABLE_EXECUTE_STACK): Remove.
197         * config/i386/darwin.h (ENABLE_EXECUTE_STACK): Remove.
198
199 2006-09-28  Kaz Kojima  <kkojima@gcc.gnu.org>
200
201         * config/sh/sh.md (divsi_inv_m0): Remove unused variable.
202
203 2006-09-27  Steven G. Kargl  <kargl@gcc.gnu.org>
204
205         * doc/install.texi: Document required versions of GMP and MPFR.
206
207 2006-09-27  Paul Brook  <paul@codesourcery.com>
208
209         PR target/29230
210         * config/arm/arm.md (arith_adjacentmem): Handle large offsets.
211
212 2006-09-27  Richard Sandiford  <richard@codesourcery.com>
213
214         * reload1.c (alter_reg): Require the alignment of the stack slot to
215         be at least reg_max_ref_width bytes.
216         (scan_paradoxical_subregs): Record the largest width in
217         reg_max_ref_width.
218
219 2006-09-26  Jakub Jelinek  <jakub@redhat.com>
220
221         PR middle-end/25261
222         PR middle-end/28790
223         * tree-nested.c (struct nesting_info): Added static_chain_added.
224         (convert_call_expr): Set static_chain_added when adding static
225         chain.  Handle OMP_PARALLEL and OMP_SECTION.
226
227 2006-09-25  Matthias Klose  <doko@debian.org>
228
229         * doc/invoke.texi: Add missing full stop.
230
231 2006-09-25  Richard Henderson  <rth@redhat.com>
232
233         * cgraph.c (dump_cgraph_varpool_node): Don't crash if called
234         before cgraph_function_flags_ready.
235
236 2006-09-24  Zdenek Dvorak <dvorakz@suse.cz>
237             Adam Nemet  <anemet@caviumnetworks.com>
238
239         * tree-ssa-loop-ivopts.c (aff_combination_convert,
240         determine_common_wider_type): New functions.
241         (get_computation_aff): Use them to simplify arithmetic between
242         UBASE and CBASE if they are shortened from the same type.
243
244 2006-09-24  Kazu Hirata  <kazu@codesourcery.com>
245
246         PR target/28911
247         * config/m68k/m68k.md (negsf2, negdf2, negxf2): Use
248         -2147483647 - 1 instead of 0x80000000.
249
250 2006-09-23  Revital1 Eres  <ERES@il.ibm.com>
251
252         * flags.h (HONOR_NANS): Fix typo in comment.
253
254 2006-09-23  Uros Bizjak <uros@kss-loka.si>
255
256         * config/i386/driver-i386.c (host_detect_local_cpu): Add prototype.
257
258 2006-09-23  Jakub Jelinek  <jakub@redhat.com>
259
260         PR c/28706
261         PR c/28712
262         * tree.c (merge_attributes, attribute_list_contained): If both
263         TREE_VALUEs are TREE_LISTs, use simple_cst_list_equal instead of
264         simple_cst_equal.
265         * c-typeck.c (comptypes_internal): Don't consider aggregates
266         in different TUs as compatible if there one set of attributes is
267         not a subset of the other type's attributes.
268         (composite_type): Try harder not to create a new aggregate type.
269
270 2006-09-22  Geoffrey Keating  <geoffk@apple.com>
271
272         * config/i386/driver-i386.c: Always define host_detect_local_cpu.
273         * config/i386/i386.h: Define EXTRA_SPEC_FUNCTIONS on any i386
274         or x86_64 host.  Define HAVE_LOCAL_CPU_DETECT.
275         (CC1_CPU_SPEC): Make conditional on HAVE_LOCAL_CPU_DETECT rather
276         than replicating condition above.
277         * config.host (i[34567]86-*-*): Always use driver-i386.o.
278
279         * config/darwin.h (LINK_SYSROOT_SPEC): New.
280         (LINK_SPEC): If TARGET_SYSTEM_ROOT is defined, pass it to
281         the linker by default.
282
283 2006-09-22  Mike Stump  <mrs@apple.com>
284
285         * config/rs6000/darwin.h (PROFILE_HOOK): Reassociate comment with
286         code.
287
288 2006-09-22  Richard Guenther  <rguenther@suse.de>
289
290         PR middle-end/28964
291         * cfgexpand.c (stack_var_size_cmp): Use DECL_UID to make
292         sort of stack variables stable.
293
294 2006-09-22  Peter Bergner <bergner@vnet.ibm.com>
295
296         PR middle-end/28690
297         * explow.c (force_reg): Set REG_POINTER flag according to
298         MEM_POINTER flag.
299
300 2006-09-22  Zdenek Dvorak <dvorakz@suse.cz>
301
302         PR tree-optimization/28888
303         * tree-if-conv.c (combine_blocks): Rewritten.
304         * tree-cfg.c (tree_verify_flow_info): Check that edges with
305         EDGE_TRUE/FALSE_VALUE follow COND_EXPR.
306
307 2006-09-22  Jakub Jelinek  <jakub@redhat.com>
308
309         * tree-ssa-propagate.c (set_rhs): Copy EXPR_LOCATION if
310         needed.
311
312 2006-09-21  Richard Sandiford  <richard@codesourcery.com>
313
314         * varasm.c (copy_constant): Fix reversed gcc_assert check.
315
316 2006-09-21  Janis Johnson  <janis187@us.ibm.com>
317
318         * ginclude/decfloat.h (DEC*_DEN): Define using the correct builtins.
319
320 2006-09-21  Roger Sayle  <roger@eyesopen.com>
321
322         PR debug/29132
323         * dwarf2out.c (dwarf2out_begin_prologue): Initialise the current label,
324         dw_fde_current_label, to be the start of the function, i.e. the same
325         value as dw_fde_begin.
326
327 2006-09-20  Richard Sandiford  <richard@codesourcery.com>
328
329         * config/mips/mips.c (CODE_FOR_mips_abs_ps): Delete.
330         * config/mips/mips.md (UNSPEC_ABS_PS): New constant.
331         (UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2)
332         (UNSPEC_SINGLE_CC, UNSPEC_SCC): Bump values by 1.
333         (*nmadd<mode>, *nmadd<mode>_fastmath): Require !HONOR_NANS.
334         (*nmsub<mode>, *nmsub<mode>_fastmath): Likewise.
335         (abs<mode>2, neg<mode>2): Likewise.
336         * config/mips/mips-ps-3d.md (mips_abs_ps): New define_expand.
337         (*mips_abs_ps): New define_insn.
338
339 2006-09-20  Josh Conner  <jconner@apple.com>
340
341         PR middle-end/25505
342         * calls.c (expand_call): Allow reuse of structure return stack
343         temp.
344
345 2006-09-20  Paul Brook  <paul@codesourcery.com>
346
347         * config/arm/unwind-arm.c (selfrel_offset31): Clear top bit for
348         positive offsets.
349
350 2006-09-20  Janis Johnson  <janis187@us.ibm.com>
351
352         * doc/extend.texi (Decimal Float): Update for latest draft TR,
353         clean up terminology.
354
355 2006-09-20  Steve Ellcey  <sje@cup.hp.com>
356
357         PR target/28574
358         * ifcvt.c (dead_or_predicable): Don't predicate then blocks
359         with tablejumps in them.
360
361 2006-09-20  Jakub Jelinek  <jakub@redhat.com>
362
363         PR middle-end/28046
364         * c-omp.c (c_finish_omp_atomic): If ADDR is not simple enough,
365         wrap it into TARGET_EXPR.
366
367 2006-09-20  Eric Christopher  <echristo@apple.com>
368
369         * config/i386/i386.c (x86_fisttp): Remove.
370         * config/i386/i386.h (x86_fisttp): Ditto.
371         (TARGET_FISTTP): Ditto.
372
373 2006-09-19  Eric Christopher  <echristo@apple.com>
374
375         * doc/tm.texi (OBJC_JBLEN): Describe.
376         * config/i386/darwin.h (OBJC_JBLEN): Define.
377         * config/rs6000/darwin.h: Ditto.
378
379 2006-09-19  Steven Bosscher  <steven@gcc.gnu.org>
380
381         PR rtl-optimization/21299
382         * reload1.c (reload): Purge invalid ASMs in the final pass.
383
384 2006-09-19  Steve Ellcey  <sje@cup.hp.com>
385
386         PR  28490
387         * config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function
388         pointers as legitimate constants.
389
390 2006-09-19  Paul Brook  <paul@codesourcery.com>
391
392         PR target/28516
393         * config/arm/arm.c (arm_unwind_emit_set): Handle reg = sp + const.
394
395 2006-09-17  Zdenek Dvorak <dvorakz@suse.cz>
396
397         PR tree-optimization/28887
398         * tree-ssa-loop-prefetch.c (analyze_ref): Strip nonaddressable
399         component parts from the reference.
400         (gather_memory_references_ref): Record the reference without the
401         nonaddressable component parts.
402
403 2006-09-17  Steven Bosscher  <steven@gcc.gnu.org>
404
405         PR c/25993
406         * c-opts.c (c_common_handle_option): Ignore the -std options
407         if the input language is assembly.
408
409 2006-09-17  Ira Rosen  <irar@il.ibm.com>
410
411         PR tree-opt/21591
412         * tree-data-ref.c (ptr_decl_may_alias_p): Look for the name memory
413         tag first.
414         (ptr_ptr_may_alias_p): Likewise.
415         (record_record_differ_p): New function.
416         (base_object_differ_p): Call record_record_differ_p.
417
418 2006-09-16  Andrew Pinski  <pinskia@physics.uc.edu>
419
420         PR tree-opt/29059
421         * tree-ssa-propagate.c (set_rhs): Reject MODIFY_EXPR right
422         away for the expr argument.
423
424 2006-09-16  Steven Bosscher  <steven@gcc.gnu.org>
425
426         PR tree-opt/27742
427         * tree-vectorizer.c (vectorize_loops): Clear vect_loop_location
428         before using it for dumping after vectorizing loops.
429
430 2006-09-16  Andrew Pinski  <pinskia@physics.uc.edu>
431             Jack Howarth  <howarth@bromo.med.uc.edu>
432
433         PR target/29030
434         * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_recurse)
435         skip on error_mark_node.
436         (rs6000_darwin64_record_arg_recurse): Likewise.
437
438 2006-09-16  Steven Bosscher  <steven@gcc.gnu.org>
439
440         * rtl.h (LABEL_OUTSIDE_LOOP_P): Remove.
441         * doc/rtl.texi: Remove related documentation.
442
443 2006-09-16  Bernd Schmidt  <bernd.schmidt@analog.com>
444
445         * loop-doloop.c (doloop_optimize): Remove bogus arg from debugging
446         printf.
447
448 2006-09-15  Jim Wilson  <wilson@specifix.com>
449
450         * config/ia64/ia64.c (ia64_legitimate_constant_p, cast CONST):
451         Handle symbol offsets same as they are handled in ia64_expand_move
452         and move_operand.
453
454 2006-09-16  Andreas Tobler  <a.tobler@schweiz.org>
455
456         * loop-doloop.c (doloop_optimize): Change type of max_cost to int.
457         Add forgotten parameter to the fprintf call.
458
459 2006-09-15  Steve Ellcey  <sje@cup.hp.com>
460
461         * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Add define.
462
463 2006-09-15  Uros Bizjak <uros@kss-loka.si>
464
465         * doc/contrib.texi: Add my entry.
466
467 2006-09-15  Nick Clifton  <nickc@redhat.com>
468
469         * doc/md.texi (Processor pipeline description): Fix typo in
470         example of how to use the absence_set directive and reword the
471         description to make it slightly easier to read.
472
473 2006-09-15  Bernd Schmidt  <bernd.schmidt@analog.com>
474
475         * params.def (PARAM_MAX_ITERATIONS_COMPUTATION_COST): New.
476         * loop-doloop.c (doloop_optimize): Use it to limit costs of
477         expanding the number of iterations.
478         * config/bfin/bfin.c (bfin_rtx_costs): Handle UDIV, UMOD.
479
480         * cfgrtl.c (emit_insn_at_entry): New function.
481         * rtl.h (emit_insn_at_entry): Declare it.
482         * integrate.c (emit_initial_value_sets): Use it.
483
484         * cfgrtl.c (emit_insn_at_entry): Use gcc_assert, not abort.
485
486         * config/bfin/bfin.c (struct loop_info): New members block_bitmap and
487         bad.
488         (struct loop_work and related VEC declarations): Delete.
489         (bfin_dump_loops): Print out new member bad.
490         (bfin_bb_in_loop): Use plain bitmap test.  Don't recurse.
491         (bfin_scan_loop): Don't recurse.
492         (bfin_optimize_loop): Don't use a loop depth of -1 to indicate bad
493         loops.  No longer need to update outer loops if the current one is
494         found bad.  Move some validitiy checks to bfin_discover_loop.
495         (bfin_discover_loop): New function, mostly split from bfin_reorg_loops,
496         but changed not to check for nesting.  Also changed to use the new bad
497         flag.
498         (bfin_reorg_loops): Use bfin_discover_loop to find single loops one at a
499         time.  Use bitmap based test to discover loop nesting.
500
501 2006-09-15  Kazu Hirata  <kazu@codesourcery.com>
502
503         * doc/tm.texi (TARGET_FUNCTION_VALUE): Put @deftypefn all in
504         one line.
505
506 2006-09-14  Richard Guenther  <rguenther@suse.de>
507             Kazu Hirata  <kazu@codesourcery.com>
508
509         PR middle-end/28884.
510         * doc/tm.texi (TARGET_FUNCTION_VALUE): Document.
511         (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE): Deprecate.
512         Replace mentions of FUNCTION_VALUE and FUNCTION_OUTGOING_VALUE
513         with TARGET_FUNCTION_VALUE.
514
515 2006-09-14  Anatoly Sokolov <aesok@post.ru>
516
517         PR target/26504
518         * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Define.
519
520 2006-09-13  Aldy Hernandez  <aldyh@redhat.com>
521
522         * doc/tree-ssa.texi (Jumps): RESULT_DECL can also be an operand
523         of a RETURN_EXPR
524
525 2006-09-13  Andrew Pinski  <pinskia@physics.uc.edu>
526
527         PR debug/28980
528         * dwarf2out.c (loc_descriptor_from_tree_1): Handle
529         FUNCTION_DECL.
530
531 2006-09-13  Andreas Krebbel  <krebbel1@de.ibm.com>
532
533         * basic_block.h (bb_has_eh_pred): Fix comment.
534
535 2006-09-13  Andreas Krebbel  <krebbel1@de.ibm.com>
536
537         * flow.c (calculate_global_regs_live): Invalidate eh registers
538         on eh edges. Renamed invalidated_by_call to invalidated_by_eh_edge.
539         (propagate_block): Handle eh registers as if they were set at basic
540         block start.
541         * except.c (dw2_build_landing_pads): Don't emit clobbers for eh
542         registers.
543         * global.c (global_conflicts): Make eh registers to conflict with
544         pseudos live at basic block begin.
545         * basic_block.h (bb_has_eh_pred): New function.
546
547 2006-09-13  Richard Sandiford  <richard@codesourcery.com>
548
549         PR rtl-optimization/28982
550         * reload.c (find_reloads_address_1): Use RELOAD_OTHER for the
551         index of a PRE_MODIFY or POST_MODIFY address.
552         * reload1.c (inc_for_reload): Use find_replacement on the original
553         base and index registers.
554
555 2006-09-12  H.J. Lu  <hongjiu.lu@intel.com>
556
557         * doc/invoke.texi (mpreferred-stack-boundary): Remove exception
558         for -Os. Update __m128 alignment requirement.
559
560 2006-09-13  Jan Hubicka  <jh@suse.cz>
561
562         * cfganal.c (compute_dominance_frontiers_1): Don't be quadratic.
563
564 2006-09-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
565
566         PR rtl-optimization/28243
567         * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
568         the insn to which the note was originally attached.
569
570 2006-09-12  Andrew Pinski  <pinskia@physics.uc.edu>
571             Roger Sayle  <roger@eyesopen.com>
572
573         * dwarf2out.c (file_table_last_lookup): Move this GC'd declaration
574         outside of #ifdef DWARF2_DEBUGGING_INFO to fix bootstrap failure
575         on platforms that don't use dwarf for debug info.
576
577 2006-09-12  Jason Merrill  <jason@redhat.com>
578
579         PR middle-end/28493
580         * builtins.c (expand_builtin_setjmp_receiver): Clobber
581         hard_frame_pointer_rtx after using it to update the frame pointer.
582
583 2006-09-12  Roger Sayle  <roger@eyesopen.com>
584
585         * target-def.h (TARGET_ASM_OPEN_PAREN): Guard with an #ifndef.
586         (TARGET_ASM_CLOSE_PAREN): Likewise.
587         * config/alpha/osf5.h (TARGET_ASM_OPEN_PAREN): Define.
588         (TARGET_ASM_CLOSE_PAREN): Likewise.
589
590 2006-09-12  Roger Sayle  <roger@eyesopen.com>
591
592         PR target/22223
593         * config/alpha/alpha.c (alpha_start_function): Don't emit stack
594         frame information for frames larger than 512 Kbytes on Tru64 when
595         using the native assembler.
596
597 2006-09-12  Roger Sayle  <roger@eyesopen.com>
598
599         PR middle-end/4520
600         PR bootstrap/28784
601         * cselib.c (cselib_hash_rtx): Avoid hashing on the address of labels
602         and symbols.  Instead use the implementation from cse.c's hash_rtx.
603
604 2006-09-12  Jan Hubicka  <jh@suse.cz>
605
606         PR rtl-optimization/28071
607         * tree-vect-transform.c (vect_create_data_ref_ptr): Kill cast.
608         (vect_transform_loop): Likewise.
609         * tree-vectorizer.c (new_loop_vec_info): Likewise.
610         (new_loop_vec_info): Likewise.
611         (destroy_loop_vec_info): Likewise.
612         * tree-dfa.c (create_var_ann): Use GCC_CNEW.
613         (create_stmt_ann): Likewise.
614         (create_tree_ann): Rename to ...
615         (create_tree_common_ann): ... this one; allocate only the common part
616         of annotations.
617         * tree-vn.c (set_value_handle): Use get_tree_common_ann.
618         (get_value_handle): Likewise.
619         * tree-ssa-pre.c (phi_translate): Delay annotation allocation for
620         get_tree_common_ann.
621         * tree-vectorizer.h (set_stmt_info): Take stmt annotation.
622         (vinfo_for_stmt): Use stmt annotations.
623         * tree-flow.h (tree_ann_common_t): New type.
624         (tree_common_ann, get_tree_common_ann, create_tree_common_ann): New.
625         (tree_ann, get_tree_ann, create_tree_ann): New.
626         * tree-flow-inline.h (get_function_ann): Do more type checking.
627         (stmt_ann): Likewise.
628         (tree_ann): Rename to ...
629         (tree_common_ann): ... this one; return ony common_ann
630         (get_tree_ann): Rename to ...
631         (tree_common_ann): This one; return only common_ann.
632         * tree-vect-patterns.c (vect_pattern_recog_1): Update call
633         of set_stmt_info.
634
635 2006-09-11  Geoffrey Keating  <geoffk@apple.com>
636
637         * config.gcc (i[34567]86-*-darwin*): Set with_arch and
638         with_cpu by default.
639
640         * dwarf2out.c (dwarf_file_data): New.
641         (enum dw_val_class): Add dw_val_class_file.
642         (struct dw_val_struct): Add val_file.
643         (file_table): Change to a hash table.
644         (file_table_emitted): Delete.
645         (file_table_last_lookup_index): Delete.
646         (emitcount): Delete.
647         (last_emitted_file): New.
648         (lookup_filename): Change prototype to return a struct dwarf_file_data.
649         (init_file_table): Delete.
650         (maybe_emit_file): Change prototype to take a struct dwarf_file_data.
651         (AT_addr): Add comment.
652         (add_AT_file): New.
653         (AT_file): New.
654         (get_AT_file): New.
655         (print_die): Handle dw_val_class_file.
656         (print_dwarf_line_table): Update for new file table structure.
657         (attr_checksum): Do checksum a filename.
658         (same_dw_val_p, same_attr_p): Do compare a filename.
659         (size_of_die): Handle dw_val_class_file.
660         (value_format): Likewise.
661         (output_die): Likewise.  Also, call maybe_emit_file here.
662         (struct file_info): Constify filenames.  Make file_idx a pointer
663         to a struct dwarf_file_data.
664         (struct dir_info): Constify directory names.  Remove 'used' field.
665         (struct file_name_acquire_data): New.
666         (file_name_acquire): New.
667         (output_file_names): Modify to handle new file data structures.
668         (add_src_coords_attributes): Use add_AT_file.
669         (add_call_src_coords_attributes): Likewise.
670         (dwarf2out_imported_module_or_decl): Likewise.
671         (gen_subprogram_die): Modify for new file data structures.
672         (gen_variable_die): Likewise.
673         (file_table_eq): New.
674         (file_table_hash): New.
675         (file_table_last_lookup): New.
676         (lookup_filename): Rewrite to handle new file data structures.
677         (maybe_emit_file): Rewrite to handle new file data structures.
678         (dwarf2out_source_line): Always call lookup_filename and
679         maybe_emit_file.
680         (dwarf2out_init): Create file_table here.
681         (prune_unused_types_walk_attribs): Don't call maybe_emit_file here.
682         (file_table_relative_p): New.
683         (dwarf2out_finish): Change detection of relative filenames
684         to work with new file data structures.  Move output_line_info call
685         after debug_info output.
686
687 2006-09-11  H.J. Lu  <hongjiu.lu@intel.com>
688
689         PR target/13685
690         PR target/27537
691         PR target/28621
692         * config/i386/i386.c (override_options): Always default to 16
693         byte stack boundary.
694
695 2006-09-11  Alexandre Oliva  <aoliva@redhat.com>
696
697         PR target/28672
698         * var-tracking.c (dump_dataflow_set): Start dumping at
699         register zero.
700         (clobber_variable_part): Kill only the variable part in
701         registers holding it, leaving other variables alone.
702
703 2006-09-11  Josh Triplett  <josh@freedesktop.org>
704
705         * doc/extend.texi (Other Builtins): Actually use the macro
706         argument in the documentation example for
707         __builtin_types_compatible_p.
708
709 2006-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
710
711         PR rtl-optimization/28726
712         * sched-deps.c (sched_analyze_reg): New function extracted from...
713         (sched_analyze_1): ...here.  Call it to analyze references to
714         registers.  Treat again writes to a stack register as writing to the
715         register.
716         (sched_analyze_2): ...and here.  Call it to analyze references to
717         registers.  Treat again reads of a stack register as reading the
718         register.
719
720 2006-09-11  Guenter Roeck  <guenter@roeck-us.net>
721             David Edelsohn  <edelsohn@gnu.org>
722
723         PR target/27287
724         * config/rs6000/spe.md (frob_df_di): Remove %H.
725         (frob_di_df): Remove %H.  Change evmergelo to mr.
726         (frob_di_df_2): Remove %H.  Change evldd to two loads.
727
728 2006-09-11  Hideki Iwamoto  <h-iwamoto@kit.hi-ho.ne.jp>
729
730         * doc/cpp.texi: Fix names of charset options.
731
732 2006-09-10  Andrew Pinski  <pinskia@physics.uc.edu>
733
734         PR target/29009
735         * config/i386/i386.c (override_options): Use 128-bit
736         stack boundary always for 64bits.
737
738 2006-09-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
739
740         PR rtl-optimization/28636
741         * combine.c (force_to_mode): Test for side-effects before
742         substituting by zero.
743         (simplify_shift_const): Likewise for zero or other constants.
744
745 2006-09-10  Steven Bosscher  <steven@gcc.gnu.org>
746
747         PR middle-end/26983
748         * builtins.c (expand_builtin_setjmp): Force next_lab to be
749         preserved.
750
751 2006-09-10  Richard Sandiford  <richard@codesourcery.com>
752
753         PR target/29006
754         * config/mips/mips-protos.h (mips_mem_fits_mode_p): Declare.
755         * config/mips/mips.c (mips_expand_unaligned_store): Use the mode
756         returned by mode_for_size, rather than the mode of src itself,
757         to choose between 32-bit and 64-bit patterns.
758         (mips_mem_fits_mode_p): New function.
759         * config/mips/mips.md (mov_<load>l, mov_<load>r): Use it to check
760         that the size of the source matches the size of the destination.
761         (mov_<store>l, mov_<store>r): Likewise.
762
763 2006-09-10  Eric Christopher  <echristo@apple.com>
764
765         * config/darwin.c (machopic_select_rtx_section): Add CONST_VECTOR
766         for literal16.
767
768 2006-09-09  Eric Christopher  <echristo@apple.com>
769
770         PR target/28995
771         * config/darwin.c (machopic_select_rtx_section): Add TARGET_64BIT
772         for literal16.
773
774 2006-09-09  Roger Sayle  <roger@eyesopen.com>
775             Nicolas Setton <setton@adacore.com>
776
777         * dwarf2out.c (convert_cfa_to_fb_loc_list): Handle DW_CFA_set_loc.
778
779 2006-09-10  Andreas Schwab  <schwab@suse.de>
780
781         * config/m68k/m68k.md (bungt_rev): New pattern.
782
783 2006-09-09  Paolo Bonzini  <bonzini@gnu.org>
784             Dale Johannesen  <dalej@apple.com>
785
786         PR target/26778
787         * regclass.c (struct reg_pref): Update documentation.
788         (regclass): Set prefclass to NO_REGS if memory is the best option.
789         (record_reg_classes): Cope with a prefclass set to NO_REGS.
790
791 2006-09-08  Eric Christopher  <echristo@apple.com>
792
793         * config.gcc (i?86-*-darwin): Add 64-bit HWI support.
794         * config/t-slibgcc-darwin: Support x86_64 multilib.
795         * config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION):
796         Return 1 for x86_64-darwin.
797         * config/i386/t-darwin: Add m64 multilib.
798         (LIB2_SIDITI_CONV_FUNCS): Use.
799         (LIB2FUNCS_EXTRA): Ditto.
800         * config/i386/darwin.h: Support x86_64.
801         * config/i386/i386.c (override_options): Turn on flag_pic
802         for x86_64-darwin. Disable flag_omit_pointer.
803         (get_pc_thunk_name): Assert !TARGET_64BIT.
804         (legitimate_address_p): Disable machopic addressing for
805         x86_64.
806         (legitimize_pic_address): Ditto.
807         (ix86_expand_move): Ditto.
808         (ix86_expand_call): Ditto.
809         (machopic_output_stub): Ditto.
810         * config/darwin.c (machopic_select_section): Support literal16.
811         (machopic_select_rtx_section): Ditto.
812         * config/darwin-sections.def: Ditto.
813         * config/darwin-64.c: New.
814
815 2006-09-08  Joseph S. Myers  <joseph@codesourcery.com>
816
817         PR c/28504
818         * c-tree.h (struct c_arg_info): Add pending_sizes.
819         * c-parser.c (c_parser_parms_declarator,
820         c_parser_parms_list_declarator): Initialize pending_sizes.
821         * c-decl.c (get_parm_info): Initialize pending_sizes.
822         (get_parm_info): Set pending_sizes.
823         (grokdeclarator): Call put_pending_sizes for parameters for
824         function definition only.
825
826 2006-09-07  Jason Merrill  <jason@redhat.com>
827
828         PR middle-end/27724
829         * varasm.c (output_constant): Only strip actual no-op conversions.
830
831         PR target/13685
832         * config/i386/i386.c (override_options): Use 128-bit
833         stack boundary if -msse.
834
835 2006-09-07  Eric Christopher  <echristo@apple.com>
836
837         * config/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Update
838         comment.
839         * config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE):
840         Redefine.
841
842 2006-09-07  Geoffrey Keating  <geoffk@apple.com>
843
844         * dwarf2out.c: Remove strange characters from comment above
845         dwarf2out_frame_debug_expr.
846
847 2006-09-07  Eric Christopher  <echristo@apple.com>
848
849         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Move from here...
850         * config/darwin.h: ... to here.
851
852 2006-09-07  H.J. Lu  <hongjiu.lu@intel.com>
853
854         * config/i386/i386.c (x86_partial_flag_reg_stall): New.
855
856         * config/i386/i386.h (x86_partial_flag_reg_stall): New.
857         (TARGET_PARTIAL_FLAG_REG_STALL): New.
858
859         * config/i386/i386.md (*ashldi3_cmp_rex64): Disabled for
860         TARGET_PARTIAL_FLAG_REG_STALL.
861         (*ashldi3_cconly_rex64): Likewise.
862         (*ashlsi3_cmp): Likewise.
863         (*ashlsi3_cconly): Likewise.
864         (*ashlsi3_cmp_zext): Likewise.
865         (*ashlhi3_cmp): Likewise.
866         (*ashlhi3_cconly): Likewise.
867         (*ashlqi3_cmp): Likewise.
868         (*ashlqi3_cconly): Likewise.
869         (*ashrdi3_cmp_rex64): Likewise.
870         (*ashrdi3_cconly_rex64): Likewise.
871         (*ashrsi3_cmp): Likewise.
872         (*ashrsi3_cconly): Likewise.
873         (*ashrsi3_cmp_zext): Likewise.
874         (*ashrhi3_cmp): Likewise.
875         (*ashrhi3_cconly): Likewise.
876         (*ashrqi3_cmp): Likewise.
877         (*ashrqi3_cconly): Likewise.
878         (*lshrdi3_cmp_rex64): Likewise.
879         (*lshrdi3_cconly_rex64): Likewise.
880         (*lshrsi3_cmp): Likewise.
881         (*lshrsi3_cconly): Likewise.
882         (*lshrsi3_cmp_zext): Likewise.
883         (*lshrhi3_cmp): Likewise.
884         (*lshrhi3_cconly): Likewise.
885         (*lshrqi2_cmp): Likewise.
886         (*lshrqi2_cconly): Likewise.
887
888 2006-09-07 Uros Bizjak <uros@kss-loka.si>
889
890         PR target/28946
891         * config/i386/i386.md ("*ashldi3_cconly_rex64", "*ashlsi3_cconly",
892         "*ashlhi3_cconly", "*ashlqi3_cconly", "*ashrdi3_one_bit_cconly_rex64",
893         "*ashrdi3_cconly_rex64", "*ashrsi3_one_bit_cconly", "*ashrsi3_cconly",
894         "*ashrhi3_one_bit_cconly", "*ashrhi3_cconly",
895         "*ashrqi3_one_bit_cconly", "*ashrqi3_cconly",
896         "*lshrdi3_cconly_one_bit_rex64", "*lshrdi3_cconly_rex64",
897         "*lshrsi3_one_bit_cconly", "*lshrsi3_cconly",
898         "*lshrhi3_one_bit_cconly", "*lshrhi3_cconly",
899         "*lshrqi2_one_bit_cconly", "*lshrqi2_cconly": New patterns to
900         implement only CC setting effects of shift instructions.
901
902 2006-09-07  Martin Michlmayr  <tbm@cyrius.com>
903
904         * doc/contrib.texi: Add myself.
905
906 2006-09-07  Andrew Pinski  <pinskia@physics.uc.edu>
907
908         PR middle-end/28862
909         * stor-layout.c (relayout_decl): Don't zero the alignment if it
910         was set by the user.
911
912 2006-09-07  Paolo Bonzini  <bonzini@gnu.org>
913
914         PR target/27117
915         * config/sh/sh.md (divsi_inv_qitable, divsi_inv_hitable): New patterns.
916         (divsi_inv_m1): Use them.
917         (UNSPEC_DIV_INV_TABLE): New constant.
918
919 2006-09-06  James E Wilson  <wilson@specifix.com>
920
921         PR rtl-opt/27883
922         * flow.c (update_life_info): If UPDATE_LIFE_LOCAL and PROP_DEATH_NOTES
923         then call count_or_remove_death_notes.
924
925 2006-09-06  Jason Merrill  <jason@redhat.com>
926
927         PR c++/27371
928         * tree-inline.c (copy_result_decl_to_var): New fn.
929         (declare_return_variable): Use it.  Call declare_inline_vars here.
930         (expand_call_inline): Not here.
931
932 2006-09-06  Diego Novillo  <dnovillo@redhat.com>
933
934         * doc/contrib.texi: Update my entry.
935
936 2006-09-06  Nick Clifton  <nickc@redhat.com>
937
938         * config/frv/frv.h (EXTRA_MEMORY_CONSTRAINT): Define.
939
940 2006-09-05  Andrew Pinski  <pinskia@physics.uc.edu>
941
942         PR tree-opt/28937
943         * tree-flow.h (tree_ssa_unswitch_loops): Return unsigned int.
944         (canonicalize_induction_variables): Likewise.
945         (tree_unroll_loops_completely): Likewise.
946         (tree_ssa_prefetch_arrays): Likewise.
947         (remove_empty_loops): Likewise.
948         * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Return
949         TODO_cleanup_cfg instead of directly calling
950         cleanup_tree_cfg_loop.
951         * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables):
952         Likewise.
953         (tree_unroll_loops_completely): Likewise.
954         (remove_empty_loops): Likewise.
955         * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
956         * tree-ssa-loop.c (tree_ssa_loop_unswitch): Use the return value
957         of tree_ssa_unswitch_loops.
958         (tree_ssa_loop_ivcanon): Use the return value of
959         canonicalize_induction_variables.
960         (tree_ssa_empty_loop): Use the return value of
961         remove_empty_loops.
962         (tree_complete_unroll): Use the return value of
963         tree_unroll_loops_completely.
964         (tree_ssa_loop_prefetch): Use the return value of
965         tree_ssa_prefetch_arrays.
966         * passes.c (execute_todo): Before Cleanup CFG, set
967         updating_used_alone and after cleanup CFG, call
968         recalculate_used_alone.
969
970 2006-09-05  Andrew Pinski  <pinskia@physics.uc.edu>
971
972         PR tree-opt/28952
973         * tree-vect-transform.c (vectorizable_condition): Move the check
974         for the type after the check for simple condition.
975
976 2006-09-05  J"orn Rennecke  <joern.rennecke@st.com>
977             Kaz Kojima  <kkojima@gcc.gnu.org>
978
979         PR target/28764
980         * mode-switching.c (optimize_mode_switching): Make the destination
981         block of an abnormal edge have no anticipatable mode.  Don't
982         insert mode switching code at the end of the source block of
983         an abnormal edge.
984
985 2006-09-05  Paolo Bonzini  <bonzini@gnu.org>
986
987         PR rtl-optimization/26847
988         * simplify-rtx.c (struct simplify_plus_minus_op_data): Remove ix.
989         (simplify_plus_minus_op_data_cmp): For REGs, break ties on the regno.
990         (simplify_plus_minus): Count n_constants while filling ops.  Replace
991         qsort with insertion sort.  Before going through the array to simplify
992         pairs, sort it.  Delay early exit until after the first sort, exiting
993         only if no swaps occurred.  Simplify pairs in reversed order, without
994         special-casing the first iteration.  Pack ops after simplifying pairs.
995
996 2006-09-05  Anatoly Sokolov <aesok@post.ru>
997
998         * config/avr/avr.c (avr_mcu_types): Add support for at90pwm1 device.
999         * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
1000         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
1001         (avr_rtx_costs): Mark 'outer_code' argument with ATTRIBUTE_UNUSED.
1002
1003 2006-09-05  Richard Guenther  <rguenther@suse.de>
1004
1005         PR tree-optimization/28900
1006         * tree-if-conv.c (find_phi_replacement_condition): Gimplify
1007         compound conditional before creating COND_EXPR condition.
1008
1009 2006-09-05  Richard Guenther  <rguenther@suse.de>
1010
1011         PR tree-optimization/28905
1012         * tree-vrp.c (fix_equivalence_set): Manually implement
1013         !value_ranges_intersect_p to also handle symbolic ranges.
1014
1015 2006-09-05  Richard Guenther  <rguenther@suse.de>
1016
1017         PR middle-end/28935
1018         * tree-ssa-ccp.c (fold_stmt_r): Make sure to fold the condition
1019         of a COND_EXPR.
1020
1021 2006-09-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
1022
1023         PR rtl-optimization/27616
1024         * cse.c (table_size): New static variable.
1025         (new_basic_block): Initialize it to 0.
1026         (remove_from_table): Decrement it.
1027         (insert): Increment it.
1028         (fold_rtx_mem_1): New function, renamed from fold_rtx_mem.
1029         (fold_rtx_mem): Enforce a cap on the recursion depth.  Call
1030         fold_rtx_mem_1 if under the cap.
1031         (fold_rtx) <RTX_COMM_ARITH>: In the associative case, delay a little
1032         the lookup of the equivalent expression and test for equality of the
1033         first operand of the equivalent expression before in turn looking up
1034         an equivalent constant for the second operand.
1035
1036 2006-09-02  Geoffrey Keating  <geoffk@apple.com>
1037
1038         Revert this change:
1039         2006-03-17  Alexandre Oliva  <aoliva@redhat.com>
1040         * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
1041         pointer, instead of assuming it is possible to derive the
1042         correct args size from a call insn.
1043
1044 2006-09-02  Jakub Jelinek  <jakub@redhat.com>
1045
1046         PR middle-end/27567
1047         * builtins.c (fold_builtin_memcpy, fold_builtin_memmove): Remove.
1048         (fold_builtin_mempcpy): Rename to...
1049         (fold_builtin_memory_op): ... this.  Optimize one element copy
1050         into an assignment.
1051         (fold_builtin_memset, fold_builtin_bzero, fold_builtin_bcopy): New
1052         functions.
1053         (expand_builtin_strcpy, expand_builtin_strncpy): Handle COMPOUND_EXPR.
1054         (expand_builtin_memcpy, expand_builtin_mempcpy,
1055         expand_builtin_memmove): Likewise.  Use fold_builtin_memory_op.
1056         (fold_builtin_1): Handle BUILT_IN_MEMSET, BUILT_IN_BZERO and
1057         BUILT_IN_BCOPY.  Use fold_builtin_memory_op for
1058         BUILT_IN_MEM{CPY,PCPY,MOVE}.
1059
1060 2006-09-01  DJ Delorie  <dj@redhat.com>
1061
1062         * config/m32c/cond.md (cbranch<mode>4): Defer splitting until after reload.
1063         (stzx_16): Likewise.
1064         ("stzx_24_<mode>"): Likewise.
1065         ("stzx_reversed_<mode>"): Likewise, and make mode-specific.
1066         ("cmp<mode>_op"): New.
1067         (cmp<mode>): Change to expander; just save operands.
1068         (b<code>_op): New.
1069         (b<code>): Change to expander, emit compare here.
1070         (s<code>_op): Change to use split and expander.
1071         (s<code>_24_op): Likewise.
1072         (s<code>_<mode>): New.
1073         (s<code>_<mode>_24): New.
1074         (movqicc_<code>_<mode): New.
1075         (movhicc_<code>_<mode>): New.
1076         (s<code>): New.
1077         (s<code>_24): New.
1078         * config/m32c/m32c.c (compare_op0, compare_op1): New.
1079         (m32c_pend_compare): New.
1080         (m32c_unpend_compare): New.
1081         (m32c_expand_scc): New.
1082         (m32c_expand_movcc): Emit the compare also.
1083         * config/m32c/predicates.md (mra_nopp_operand): New.
1084
1085 2006-09-01  J"orn Rennecke  <joern.rennecke@st.com>
1086         Richard Guenther  <rguenther@suse.de>
1087         Adam Nemet  <anemet@caviumnetworks.com>
1088
1089         PR middle-end/27226
1090         * builtins.c (get_pointer_alignment): Handle more forms
1091         of base addresses that can be used to derive more precise
1092         information about alignment.
1093
1094 2006-09-01  Jason Merrill  <jason@redhat.com>
1095
1096         PR c++/28899
1097         * gimplify.c (gimplify_modify_expr_rhs) [BIND_EXPR]: Handle
1098         want_value.
1099
1100         * gimplify.c (voidify_wrapper_expr): Handle null type.
1101
1102 2006-09-01  Josh Conner  <jconner@apple.com>
1103
1104         PR c++/25505
1105         * tree-nrv.c (dest_safe_for_nrv_p): New function.
1106         (execute_return_slot_opt): Use it.
1107
1108 2006-08-31  Josh Conner  <jconner@apple.com>
1109
1110         PR c++/25505
1111         * tree-gimple.c (is_gimple_mem_rhs): Recognize functions
1112         returning aggregates.
1113
1114 2006-08-31  Zdenek Dvorak <dvorakz@suse.cz>
1115
1116         PR tree-optimization/28839
1117         * tree-into-ssa.c (prune_unused_phi_nodes): Take into account kills in
1118         blocks in that phi arguments appear.
1119
1120 2006-08-31  Roger Sayle  <roger@eyesopen.com>
1121
1122         PR other/22313
1123         * dwarf2out.c (add_fde_cfi): Use a set_loc if the current label is
1124         NULL, otherwise use an advance_loc4 to adjust relative to the
1125         current label.
1126         (output_cfi) <DW_CFA_set_loc>: Update the current label.
1127         (dwarf2out_switch_text_section): Reset the current label to avoid
1128         using advance_loc4 over section boundaries.
1129
1130 2006-08-31  Andreas Krebbel  <krebbel1@de.ibm.com>
1131
1132         PR target/24367
1133         * config/s390/s390.md ("movsi", "movdi" expander): Accept rtxes like
1134         r12 + SYMBOLIC_CONST.
1135
1136 2006-08-30  Richard Guenther  <rguenther@suse.de>
1137
1138         * Makefile.in (see.o): Add $(EXPR_H) dependency.
1139
1140 2006-08-30  Zdenek Dvorak <dvorakz@suse.cz>
1141
1142         PR rtl-optimization/27735
1143         * cfgloopmanip.c (fix_loop_placements, fix_bb_placements, unloop):
1144         Add new argument to keep track of whether an irreducible region
1145         was affected.  All callers changed.
1146         (fix_irreducible_loops): Removed.
1147         (remove_path): Call mark_irreducible_loops if EDGE_IRREDUCIBLE_LOOP
1148         flags were invalidated.
1149
1150 2006-08-29  H.J. Lu  <hongjiu.lu@intel.com>
1151
1152         * config/i386/i386.md (*fop_df_comm_mixed): Match DF operands
1153         instead of SF operands.
1154         (*fop_df_comm_sse): Likewise.
1155         (*fop_df_comm_i387): Likewise.
1156         (*fop_df_1_mixed): Likewise.
1157         (*fop_df_1_sse): Likewise.
1158
1159 2006-08-29  Andrew Pinski  <pinskia@physics.uc.edu>
1160             J"orn Rennecke  <joern.rennecke@st.com>
1161
1162         PR tree-optimization/17506
1163         * tree-ssa.c (warn_uninit): If warning about a location outside of
1164         the current function, note where the variable was declared.
1165
1166 2006-08-28  Zdenek Dvorak <dvorakz@suse.cz>
1167
1168         PR tree-optimization/28411
1169         * double-int.c (double_int_div): Use double_int_divmod.
1170         (double_int_divmod, double_int_sdivmod, double_int_udivmod,
1171         double_int_mod, double_int_smod, double_int_umod): New functions.
1172         * double-int.h (double_int_divmod, double_int_sdivmod,
1173         double_int_udivmod, double_int_mod, double_int_smod, double_int_umod):
1174         Declare.
1175         * tree-ssa-loop-ivopts.c (constant_multiple_of): Returns the result
1176         in double_int.
1177         (get_computation_aff, get_computation_cost_at): Handle double_int
1178         return type of constant_multiple_of.
1179
1180 2006-08-28  Kazu Hirata  <kazu@codesourcery.com>
1181
1182         PR middle-end/26632
1183         * convert.c (convert_to_integer): Set TREE_NO_WARNING to 1 on
1184         an implicit conversion.
1185
1186 2006-08-28  Prafulla Thakare  <prafullat@kpitcummins.com>
1187
1188         * config/h8300/h8300.c (TARGET_DEFAULT_TARGET_FLAGS): New.
1189
1190 2006-08-27  Roger Sayle  <roger@eyesopen.com>
1191
1192         * ifcvt.c (cheap_bb_rtx_cost_p): Don't speculatively execute
1193         x87 instructions.
1194
1195 2006-08-27  Kazu Hirata  <kazu@codesourcery.com>
1196
1197         * config/i386/crtfastmath.c: Fix a comment typo.
1198
1199 2006-08-26  Roger Sayle  <roger@eyesopen.com>
1200
1201         * tree.h (CASE_LOW_SEEN, CASE_HIGH_SEEN): New macros for manipulating
1202         temporary visit flags on CASE_LABEL_EXPRs.
1203         * c-common.c (match_case_to_enum): Add function comment.  Avoid
1204         O(N) loop, by looking up both CASE_LOW_SEEN and CASE_HIGH_SEEN.
1205         (c_do_switch_warnings):  Reorganize to record CASE_LOW_SEEN and
1206         CASE_HIGH_SEEN for enumerated types.  If the switch expression is
1207         a constant, only warn if that constant value isn't handled.
1208
1209 2006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
1210
1211         PR c++/24009
1212         * input.h (restore_input_file_stack): Declare.
1213         (INPUT_FILE_STACK_BITS): Define.
1214         * toplev.c (fs_p, input_file_stack_history,
1215         input_file_stack_restored, restore_input_file_stack): New.
1216         (push_srcloc, pop_srcloc): Check for input_file_stack_tick
1217         overflowing INPUT_FILE_STACK_BITS bits.  Save new state of stack.
1218         (pop_srcloc): Don't free old state of stack.
1219
1220 2006-08-26  David Edelsohn  <edelsohn@gnu.org>
1221
1222         PR target/27544
1223         * doc/extend.texi (PowerPC Variable Attributes): Mention altivec.
1224         (PowerPC Type Attributes): New.
1225
1226 2006-08-26  Bob Wilson  <bob.wilson@acm.org>
1227
1228         * config/xtensa/xtensa.c (function_arg_boundary): New.
1229         (function_arg, xtensa_gimplify_va_arg_expr): Limit alignment to
1230         STACK_BOUNDARY.
1231         * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Move code to new
1232         function_arg_boundary function that limits alignment to STACK_BOUNDARY.
1233
1234 2006-08-26  Jakub Jelinek  <jakub@redhat.com>
1235
1236         PR middle-end/28683
1237         * cfgexpand.c (add_reg_br_prob_note): Check if last has exactly
1238         3 following insns.
1239
1240 2006-08-25  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1241
1242         * flow.c (verify_wide_reg): Use internal_error for consistency failure.
1243         (verify_local_live_at_start): Likewise.
1244
1245 2006-08-25  Joseph S. Myers  <joseph@codesourcery.com>
1246
1247         PR c/27893
1248         * gimplify.c (gimplify_decl_expr, gimplify_init_ctor_preeval,
1249         omp_add_variable): Treat sizes as variable whenever not
1250         INTEGER_CST.
1251
1252 2006-08-26  Richard Guenther  <rguenther@suse.de>
1253
1254         PR middle-end/28814
1255         * fold-const.c (fold_binary): Fold temporary to correct
1256         type before constructing new comparison.
1257
1258 2006-08-25  Fariborz Jahanian  <fjahanian@apple.com>
1259
1260         PR c/28418
1261         * c-gimplify.c (gimplify_compound_literal_expr): Don't add
1262         variable again if DECL_SEEN_IN_BIND_EXPR_P.
1263
1264 2006-08-25  Joseph S. Myers  <joseph@codesourcery.com>
1265
1266         PR c/28299
1267         * c-decl.c (start_function): Don't try to process prototype
1268         information from old declaration that isn't a function.
1269
1270 2006-08-25  Jan Hubicka  <jh@suse.cz>
1271
1272         PR target/28621
1273         * config/i386/crtfastmath.c (set_fast_math): Force stack alignment.
1274
1275 2006-08-25  Alan Modra  <amodra@bigpond.net.au>
1276
1277         PR target/27075
1278         * config/rs6000/rs6000.c (print_operand): Only use e500 %y syntax
1279         for 8 byte objects.
1280
1281 2006-08-25  J"orn Rennecke  <joern.rennecke@st.com>
1282
1283         PR tree-optimization/16876
1284         * c-typeck.c (c_convert_parm_for_inlining): Don't take early
1285         exit if PARM doesn't match VALUE.
1286
1287 2006-08-25  Bob Wilson  <bob.wilson@acm.org>
1288
1289         * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Do not emit a
1290         literal_prefix directive.
1291         (XTENSA_DECLARE_FUNCTION_SIZE): Delete.
1292         * config/xtensa/linux.h (ASM_DECLARE_FUNCTION_SIZE): Delete.
1293         * config/xtensa/elf.h (ASM_DECLARE_FUNCTION_SIZE): Delete.
1294
1295 2006-08-25  David Edelsohn  <edelsohn@gnu.org>
1296
1297         PR target/28753
1298         * config/rs6000/rs6000.md (movcc_internal1): Change operand 1
1299         predicate to general_operand.  Add 0->y and I->r alternatives.
1300
1301 2006-08-25  Kazu Hirata  <kazu@codesourcery.com>
1302
1303         * doc/tm.texi: Fix a typo.
1304         * predict.c: Fix comment typos.
1305
1306 2006-08-25  Nick Clifton  <nickc@redhat.com>
1307
1308         * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add
1309         assertions of "cpu" and "machine".
1310
1311 2006-08-24  Andrew Pinski  <pinskia@physics.uc.edu>
1312
1313         PR tree-opt/28807
1314         * tree-ssa-operands.c (access_can_touch_variable): Don't say
1315         the access through a base which has an alias set of 0 cannot
1316         touch the variable.
1317
1318 2006-08-24  Bill Wendling  <wendling@apple.com>
1319
1320         * doc/tm.texi (TARGET_DEFAULT_PACK_STRUCT): Fixed English.
1321
1322 2006-08-24  Jan Hubicka  <jh@suse.cz>
1323
1324         * reload1.c (emit_reload_insns): Fix yet another typo in my patch.
1325
1326 2006-08-24  Jan Hubicka  <jh@suse.cz>
1327
1328         PR debug/26881
1329         * cgraph.c: Fix comments.
1330         (cgraph_varpool_mark_needed_node): Mark only variables not already
1331         output to file.
1332         * cgraphunit.c: Update comments; include gt-cgraphunit.h
1333         (cgraph_varpool_assembled_nodes_queue): New static variable.
1334         (cgraph_varpool_assemble_decl): Record output decls for debug out code.
1335         (cgraph_varpool_output_debug_info): New function.
1336         (cgraph_finalize_compilation_unit, cgraph_optimize): Call it.
1337         * Makefile.in: Add gt-cgraphunit.h
1338
1339 2006-08-24  Jan Hubicka  <jh@suse.cz>
1340
1341         * predict.c (probability_reliable_p): New predicate.
1342         (edge_probability_reliable_p, br_prob_note_reliable_p): Likewise.
1343         (predict_loops): Do not predict loop exit with less than 2%
1344         probability.
1345         * basic-block.h (edge_probability_reliable_p,
1346         br_prob_note_reliable_p): Declare.
1347         * ia64.h (ia64_print_operand): Do not disable on-chip branch
1348         prediction when static predictor is not reliable.
1349         * rs6000.c (output_cbranch): Likewise.
1350
1351 2006-08-23  Stuart Hastings  <stuart@apple.com>
1352
1353         PR 28825
1354         * gcc/config/i386/i386.c (ix86_expand_vector_init_duplicate,
1355         ix86_expand_vector_init_one_nonzero): Remove TARGET_SSE test.
1356
1357 2006-08-21  Geoffrey Keating  <geoffk@apple.com>
1358
1359         PR debug/28692
1360         * dwarf2out.c (rtl_for_decl_init): Don't try to create RTL for
1361         complex values, nor for generic vector values.
1362
1363 2006-08-22  Richard Guenther  <rguenther@suse.de>
1364
1365         PR middle-end/28776
1366         * tree-scalar-evolution.c (fold_used_pointer): Add at_stmt
1367         parameter.  Convert arguments to arithmetic expression to the
1368         chrecs type.
1369         (analyze_scalar_evolution_1): Adjust caller.
1370
1371 2006-08-22  Jan Hubicka  <jh@suse.cz>
1372
1373         Patch by Paolo Bonzini
1374         * reload1.c (emit_reload_insns): Fix incorrect bracketing introduced by
1375         my previous patch.
1376
1377 2006-08-22  Daniel Berlin  <dberlin@dberlin.org>
1378
1379         PR tree-optimization/28003
1380         * tree-ssa-alias.c (compute_may_aliases): Compute call clobbered
1381         before grouping aliases.
1382
1383 2006-08-22  Roger Sayle  <roger@eyesopen.com>
1384
1385         * config/i386/i386.c (ix86_value_regno): Don't return FIRST_MMX_REG
1386         if !TARGET_MMX, and don't return FIRST_SSE_REG if !TARGET_SSE.
1387
1388 2006-08-21  Jason Merrill  <jason@redhat.com>
1389
1390         PR c++/27115
1391         * gimplify.c (voidify_wrapper_expr): Handle STATEMENT_LIST as a
1392         wrapper.  Loop to handle nested wrappers.
1393         (gimplify_bind_expr): Remove temp parameter.
1394         (gimplify_modify_expr_rhs): Handle CLEANUP_POINT_EXPR, BIND_EXPR
1395         and STATEMENT_LIST on the rhs.
1396         (gimplify_statement_list): Voidify the STATEMENT_LIST.
1397         (gimplify_expr): Pass pre_p to gimplify_statement_list.
1398         (gimplify_target_expr): Remove special BIND_EXPR handling.
1399
1400 2006-08-21  J"orn Rennecke  <joern.rennecke@st.com>
1401
1402         * config/sh/lib1funcs-Os-4-200.asm: Guard entire file with
1403         #if !__SHMEDIA__ .
1404
1405 2006-08-21  Olivier Hainque  <hainque@adacore.com>
1406
1407         * gimplify.c (gimplify_init_constructor) <RECORD,UNION,ARRAY types>:
1408         Arrange for the temporary captures of components overlapping the lhs
1409         to happen before the lhs is possibly cleared.
1410
1411 2006-08-21  Mark Shinwell  <shinwell@codesourcery.com>
1412
1413         * config/arm/pr-support.c (__gnu_unwind_execute): Insert " + 1" in
1414         necessary places to pass the correct "number of registers" values
1415         to _Unwind_VRS_Pop.
1416
1417 2006-08-20  Jan Hubicka  <jh@suse.cz>
1418
1419         * tree-ssa-alias.c (eq_ptr_info, ptr_info_hash): New function.
1420         (create_name_tags): Instead of quadratic checking use hashtable.
1421         * bitmap.h: Include hashtab.h.
1422         (bitmap_hash): Declare.
1423         * bitmap.c (bitmap_hash): New function.
1424
1425 2006-08-20  Jan Hubicka  <jh@suse.cz>
1426
1427         PR rtl-optimization/28071
1428         * tree-optimize.c (tree_rest_of_compilation): Do not remove edges
1429         twice.
1430         * tree-inline.c (copy_bb): Use cgraph_set_call_stmt.
1431         * ipa-inline.c (cgraph_check_inline_limits): Add one_only argument.
1432         (cgraph_decide_inlining, cgraph_decide_inlining_of_small_function,
1433         cgraph_decide_inlining_incrementally): Update use of
1434         cgraph_check_inline_limits.
1435         * cgraph.c (edge_hash, edge_eq): New function.
1436         (cgraph_edge, cgraph_set_call_stmt, cgraph_create_edge,
1437         cgraph_edge_remove_caller, cgraph_node_remove_callees,
1438         cgraph_remove_node): Maintain call site hash.
1439         * cgraph.h (struct cgraph_node): Add call_site_hash.
1440         (cgraph_set_call_stmt): New function.
1441
1442 2006-08-20  Jan Hubicka  <jh@suse.cz>
1443
1444         PR rtl-optimization/28071
1445         * reload1.c (reg_has_output_reload): Turn into regset.
1446         (reload_as_needed, forget_old_reloads_1, forget_marked_reloads,
1447         choose_reload_regs, emit_reload_insns): Update to new
1448         reg_has_output_reload.
1449
1450 2006-08-20  Jan Hubicka  <jh@suse.cz>
1451
1452         PR middle-end/28779
1453         * ipa-inline.c (cgraph_decide_inlining, cgraph_early_inlining): Compute
1454         function body sizes.
1455         * cgraphunit.c (cgraph_analyze_function): Don't do so.
1456
1457 2006-08-20  Danny Smith  <dannysmith@users.sourceforge.net>
1458
1459         PR target/28648 c:
1460         * tree.c (handle_dll_attribute): Return early if not a
1461         var or function decl.
1462
1463 2006-08-18  Joseph Myers  <joseph@codesourcery.com>
1464
1465         PR target/27565
1466         * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust
1467         alignment of SPE vector types.
1468
1469 2006-08-18  Christophe Jaillet  <christophe.jaillet@wanadoo.fr>
1470
1471         * tree.c (is_attribute_with_length_p): Remove a duplicated assert.
1472
1473 2006-08-17  Jakub Jelinek  <jakub@redhat.com>
1474
1475         PR c/28744
1476         * cgraph.h (struct cgraph_node): Remove externally_visible
1477         bitfield.
1478         * cgraphunit.c (process_function_and_variable_attributes): Set
1479         local.externally_visible rather than externally_visible.
1480
1481         PR c/28744
1482         * c-common.c (handle_externally_visible_attribute): First look
1483         at TREE_CODE and only if it is function or var decl, check for
1484         non-public objects.  Don't warn for DECL_EXTERNAL.
1485         * cgraphunit.c (process_function_and_variable_attributes): Warn
1486         if externally_visible attribute is used on non-public object.
1487
1488 2006-08-17  Jan Hubicka  <jh@suse.cz>
1489
1490         PR tree-optimization/27865
1491         * reload1.c (forget_marked_reloads): New function.
1492         (forget_old_reloads_1): When data are passed, just mark the registers
1493         for later removal.
1494         (reload_as_needed): Use the new mechanizm.
1495
1496 2006-08-17  Alexandre Oliva  <aoliva@redhat.com>
1497
1498         PR target/28146
1499         * reload.h (reg_equiv_alt_mem_list): New declaration.
1500         * reload1.c (reg_equiv_alt_mem_list): New definition.
1501         (reload): Initialize it and release it.
1502         (delete_output_reload): Use it.
1503         * reload.c (push_reg_equiv_alt_mem): New function.
1504         (find_reloads_toplev): Call it.
1505         (find_reloads_address, find_reloads_address_1): Likewise.
1506         (find_reloads_subreg_address): Likewise.
1507
1508 2006-08-17  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
1509
1510         PR rtl-optimization/28489
1511         * sched-ebb.c (begin_schedule_ready): Create basic block
1512         at the right place.
1513         (advance_target_bb): Skip empty blocks.
1514         * haifa-sched.c (bb_note): Make global.
1515         * sched-int.h (bb_note): Add prototype.
1516
1517 2006-08-16  Zdenek Dvorak <dvorakz@suse.cz>
1518
1519         PR tree-optimization/27865
1520         * tree-vrp.c (adjust_range_with_scev): Do not use TYPE_{MIN,MAX}_VALUE
1521         for pointer types.
1522         * tree-scalar-evolution.c (fold_used_pointer_cast, pointer_offset_p,
1523         fold_used_pointer, pointer_used_p): New functions.
1524         (analyze_scalar_evolution_1): Use fold_used_pointer.
1525         * tree-chrec.c (convert_affine_scev): Convert no-op casts correctly.
1526         * tree-ssa-loop-ivopts.c (generic_type_for): Return integral type
1527         for pointers.
1528
1529 2006-08-17  Paolo Bonzini <bonzini@gnu.org>
1530
1531         PR c++/28573
1532         * c-common.c (fold_offsetof_1): Add an argument and recurse down to it
1533         or the INTEGER_CST.  Fail on a CALL_EXPR.
1534         (fold_offsetof): Pass new argument to fold_offsetof_1.
1535         * c-parser.c (c_parser_postfix_expression): Don't include a NULL
1536         operand into an INDIRECT_REF.
1537         * c-typeck.c (build_unary_op): Adjust call to fold_offsetof.
1538
1539 2006-08-16  Zdenek Dvorak <dvorakz@suse.cz>
1540
1541         PR gcov/profile/26570
1542         * value-prof.c (static_values): Removed.
1543         (tree_find_values_to_profile): Do not set static_values.
1544         (find_values_to_profile): Do not free static_values.
1545         * profile.c (instrument_values): Do not free the values.
1546         (branch_prob): Free the values.
1547
1548 2006-08-16  Naveen.H.S  <naveenh@kpitcummins.com>
1549
1550         * config/m32c/m32c_lib1.S (__mulsi3): Use only registers for dest.
1551
1552 2006-08-16  Joseph S. Myers  <joseph@codesourcery.com>
1553
1554         PR c/27697
1555         * c-typeck.c (build_component_ref): Combine qualifiers of
1556         structure or union and field.
1557
1558 2006-08-16  Zdenek Dvorak <dvorakz@suse.cz>
1559
1560         PR rtl-optimization/28071
1561         * basic-block.h (bb_dom_dfs_in, bb_dom_dfs_out): Declare.
1562         * dominance.c (bb_dom_dfs_in, bb_dom_dfs_out): New functions.
1563         * tree-into-ssa.c (struct dom_dfsnum): New.
1564         (cmp_dfsnum, find_dfsnum_interval, prune_unused_phi_nodes): New
1565         functions.
1566         (insert_phi_nodes_for): Use prune_unused_phi_nodes instead of
1567         compute_global_livein.
1568         (prepare_block_for_update, prepare_use_sites_for): Mark the uses
1569         in phi nodes in the correct blocks.
1570
1571 2006-08-16  Zdenek Dvorak <dvorakz@suse.cz>
1572
1573         PR tree-optimization/28364
1574         * tree-ssa-loop-ivopts.c (aff_combination_to_tree): Handle zero
1575         correctly.
1576         (fold_affine_expr): New function.
1577         (may_eliminate_iv): Use fold_affine_expr.
1578
1579 2006-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1580
1581         PR c/27489
1582         * c-typeck.c (c_start_case): Handle invalid orig_type correctly.
1583         Clean up.
1584
1585 2006-08-16  Mike Stump  <mrs@apple.com>
1586
1587         * doc/invoke.texi (-Wno-deprecated-declarations): Fixup use of pxref.
1588         * doc/cppopts.texi (-MD): Likewise.
1589
1590 2006-08-15  Danny Smith  <dannysmith@users.sourceforge.net>
1591
1592         PR c/28287
1593         * c-common.c (handle_weak_attribute): Ignore and warn if
1594         not a FUNCTION_ or VAR_DECL.
1595
1596 2006-07-15  Mike Stump  <mrs@apple.com>
1597
1598         PR c/28280
1599         * c-parser.c (c_parser_typeof_specifier): Don't use
1600         c_finish_expr_stmt, open code desired semantics instead.
1601
1602 2006-08-15  Nick Clifton  <nickc@redhat.com>
1603
1604         * config.gcc (x86-mingw32): Add a gthr-win32.h including makefile
1605         fragment to tmake_file only if threads are enabled.
1606         * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Move to...
1607         * config/i386/t-gthr-win32: New file. ... here.
1608
1609 2006-08-15  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1610
1611         PR c/28649
1612         * c-parser.c (c_parser_compound_statement_nostart): Reset
1613         parser->error after each statement.
1614
1615 2006-08-15  Jakub Jelinek  <jakub@redhat.com>
1616
1617         PR middle-end/28713
1618         * omp-low.c (lower_omp_parallel): Convert t to
1619         receiver_decl's type.
1620         (expand_omp_parallel): STRIP_NOPS from the MODIFY_EXPR
1621         source before comparison.
1622
1623         PR middle-end/28724
1624         * gimplify.c (gimplify_omp_atomic_pipeline): Convert oldival
1625         to itype in assignment to oldival2.
1626
1627 2006-07-14  Andrew Pinski  <pinksia@physics.uc.edu>
1628
1629         PR c/27490
1630         PR c/27489
1631         * c-typeck.c (build_compound_expr): If the second expression
1632         is an error mark, then just return an error mark instead of
1633         creating a COMPOUND_EXPR.
1634
1635 2006-07-14  Mike Stump  <mrs@apple.com>
1636
1637         * Makefile.in (LIBGCC_DEPS): Don't depend on LANGUAGES.
1638
1639 2006-08-14  Kazu Hirata  <kazu@codesourcery.com>
1640
1641         * c-decl.c, var-tracking.c: Fix comment typos.
1642
1643 2006-08-14  Richard Sandiford  <richard@codesourcery.com>
1644
1645         PR rtl-optimization/28634
1646         * reorg.c (fill_slots_from_thread): Do not assume A + X - X == A
1647         for floating-point modes unless flag_unsafe_math_optimizations.
1648
1649 2006-08-13  Alexandre Oliva  <aoliva@redhat.com>
1650             Andrew Pinski  <pinskia@physics.uc.edu>
1651
1652         PR c/27184
1653         * tree.c (build_array_type): Unify array types with
1654         unspecified index_type.
1655         * c-decl.c (grokdeclarator): Make sure we do not modify a
1656         unified incomplete array type.
1657         * c-typeck.c (store_init_value): Create distinct type before
1658         filling in the index type in an initializer from a compound
1659         literal.
1660
1661         * c-decl.c (grokdeclarator): Remove code where we copy the
1662         array type over.
1663
1664 2006-08-13  Andrew Pinski  <pinskia@physics.uc.edu>
1665
1666         * tree-pass.h (TODO_update_ssa): Fix which bit is used to take
1667         into account for TODO_dump_cgraph.
1668         (TODO_update_ssa_no_phi): Likewise.
1669         (TODO_update_ssa_full_phi): Likewise.
1670         (TODO_update_ssa_only_virtuals): Likewise.
1671         (TODO_remove_unused_locals): Likewise.
1672         (TODO_set_props): Likewise.
1673         (TODO_update_stmt_usage): Likewise.
1674
1675 2006-08-13  Dirk Mueller  <dmueller@suse.de>
1676
1677         * c-common.c (strict_aliasing_warning): Fix formatting.
1678
1679 2006-08-13  Matthias Klose  <doko@debian.org>
1680
1681         * doc/invoke.texi: Fix spelling errors.
1682
1683 2006-08-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
1684
1685         PR rtl-optimization/23454
1686         * reorg.c (relax_delay_slots): Update comment.
1687
1688 2006-08-11  Richard Guenther  <rguenther@suse.de>
1689
1690         PR middle-end/28651
1691         * simplify-rtx.c (simplify_const_relational_operation):
1692         Simplify A CMP B to A - B CMP 0 only for EQ and NE comparison
1693         codes.
1694
1695 2006-08-10  Eric Botcazou  <ebotcazou@adacore.com>
1696
1697         * tree.c (build1_stat): Also propagate the TREE_CONSTANT and
1698         TREE_INVARIANT flags for a VIEW_CONVERT_EXPR.
1699
1700 2006-08-10  Paul Brook  <paul@codesourcery.com>
1701
1702         * final.c (final_scan_insn): Clear current_insn_predicate before
1703         outputting inline asm.
1704
1705 2006-08-10  Dorit Nuzman  <dorit@il.ibm.com>
1706
1707         PR tree-optimization/26197
1708         * tree-ssa-alias.c (new_type_alias): Takes additional argument. Calls
1709         get_ref_base_and_extent and overlap_subvar to add only relevant
1710         subvars as may-aliases.
1711         (add_may_alias_for_new_tag): New function, factored out of
1712         new_type_alias.
1713         * tree-vect-transform.c (vect_create_data_ref_ptr): Call new_type_alias
1714         with additional argument.
1715         * tree-flow.h (new_type_alias): Takes additional argument.
1716
1717 2006-08-09  Nathan Sidwell  <nathan@codesourcery.com>
1718
1719         * gcov.c (no_data_file): New flag.
1720         (read_count_file): Set it if data file not present.  Assume counts
1721         zero if not found.
1722         (output_lines): Don't name the data file, if there wasn't one.
1723
1724 2006-08-09  Eric Botcazou  <ebotcazou@adacore.com>
1725
1726         * config/rs6000/rs6000.c (print_operand) <D>: Fix comment and adjust.
1727         (rs6000_generate_compare): Tweak comments.
1728         * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): Fix comment.
1729
1730 2006-08-09  Alexandre Oliva  <aoliva@redhat.com>
1731
1732         * var-tracking.c (enum micro_operation_type): Add MO_COPY.
1733         (var_debug_decl): New function.
1734         (var_reg_set): Follow debug decl link.  Add location even if
1735         reg is already known to hold some other variable.
1736         (var_mem_set): Follow debug decl link.
1737         (var_reg_delete_and_set, var_mem_delete_and_set): Follow debug
1738         decl link.  Delete other known locations of the variable part
1739         if requested.
1740         (var_reg_delete, var_mem_delete): Delete other known locations
1741         of the variable part if requested.
1742         (same_variable_part_p): New function.
1743         (add_stores): Select MO_COPY when appropriate.
1744         (vt_initialize): Handle it.
1745         (compute_bb_dataflow, emit_notes_in_bb): Likewise.  Delete
1746         known locations for MO_SET and MO_CLOBBER.
1747         (find_variable_location_part): New function.
1748         (set_variable_part, delete_variable_part): Use it.
1749         (clobber_variable_part): New function.
1750         * dwarf2out.c (dwarf2out_var_location): Do not follow debug
1751         decl link.
1752
1753 2006-08-07  Victor Kaplansky <victork@il.ibm.com>
1754
1755         PR tree-optimization/26969
1756         * tree-vect-analyze.c (vect_analyze_loop_form): Add check of latch
1757         with an empty list of PHIs.
1758
1759 2006-08-06  Paolo Bonzini  <bonzini@gnu.org>
1760
1761         PR target/27827
1762
1763         * conffig/i386/i386.md: Add peephole2 to avoid "fld %st"
1764         instructions.
1765
1766 2006-08-06  Andreas Schwab  <schwab@suse.de>
1767
1768         * config/m68k/m68k.c (m68k_output_function_epilogue): Fix format
1769         string.  Whitespace and comment fixup.
1770
1771 2006-08-05  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1772
1773         PR c/28502
1774         * c-decl.c (validate_proto_after_old_defn): Return false on invalid
1775         argument.
1776
1777         PR c/27721
1778         * c-typeck.c (build_modify_expr): Test earlier for non-lvalues.
1779
1780         PR c/28136
1781         * c-parser.c (c_parser_postfix_expression_after_paren_type): Robustify.
1782
1783 2006-08-04  Jan Hubicka  <jh@suse.cz>
1784
1785         PR target/26655
1786         PR target/28270
1787         * reload.c (push_reload): Patch out the mismatching instruction;
1788         return early.
1789         (find_reload): Bail out if the instruction was patched out.
1790
1791 2006-08-04  Jan Hubicka  <jh@suse.cz>
1792
1793         PR tree-optimization/24888
1794         * tree-inline.c (expand_call_inline): Do not re-record variables.
1795         (declare_inline_vars): Add variable to unexpanded_var_list.
1796
1797 2006-08-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1798             Roger Sayle  <roger@eyesopen.com>
1799
1800         PR rtl-optimization/26244
1801         * cse.c (fold_rtx): Correctly associate shifts when const_arg1 and/or
1802         inner_const are negative or greater than or equal to the bitsize of
1803         MODE.  If SHIFT_COUNT_TRUNCATED is false, the values aren't associated.
1804         Otherwise, the values are masked using GET_MODE_BITSIZE (mode) - 1.
1805         Simplify complicated if statement.  For ASHIFT and LSHIFTRT, return
1806         CONST0_RTX (mode) when the new shift count is greater than or equal to
1807         to the bitsize of the object being shifted and XEXP (y, 0) has no side
1808         effects.
1809
1810 2006-08-04  Kazu Hirata  <kazu@codesourcery.com>
1811
1812         * tree-cfg.c: Fix a comment typo.
1813
1814 2006-08-03  Mark Mitchell  <mark@codesourcery.com>
1815
1816         PR c++/28148
1817         * varasm.c (output_constant): Give the front end another chance to
1818         expand constants, after stripping NOPs.
1819
1820 2006-08-03  Jan Hubicka  <jh@suse.cz>
1821
1822         * domwalk.c (walk_dominator_tree): Reorganize to non-recursive
1823         implementation.
1824
1825 2006-08-03  Dorit Nuzman  <dorit@il.ibm.com>
1826
1827         PR tree-optimization/27770
1828         * tree-vectorizer.h (get_vectype_for_scalar_type): Function
1829         declaration removed (moved to tree-flow.h).
1830         (vect_can_force_dr_alignment_p): Likewise.
1831         * tree-flow.h (get_vectype_for_scalar_type): New function declaration
1832         (moved from tree-vectorizer.h).
1833         (vect_can_force_dr_alignment_p): Likewise.
1834         * tree-vectorizer.c (vect_print_dump_info): Allow calling this function
1835         from outside the vectorizer - in particular from cgraph stage.
1836         * tree-vect-analyze.c (vect_compute_data_ref_alignment): Don't increase
1837         the alignment of global arrays when -fsection-anchors is enabled.
1838         * cgraphunit.c (cgraph_increase_alignment): New function.
1839         (cgraph_optimize): Call cgraph_increase_alignment.
1840
1841 2006-08-03  David Edelsohn  <edelsohn@gnu.org>
1842
1843         PR target/27566
1844         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
1845         not reload a SPE symbol_ref into a lo_sum address.
1846
1847 2006-08-02  Daniel Jacobowitz  <dan@codesourcery.com>
1848
1849         PR debug/28063
1850         * dwarf2out.c (prune_unused_types_prune): Move call to
1851         prune_unused_types_update_strings to cover the parent DIE also.
1852
1853 2006-08-02  Jan Hubicka  <jh@suse.cz>
1854
1855         PR gcov/profile/28480
1856         * tree-cfg.c (change_bb_for_stmt): New function.
1857         (tree_merge_blocks, tree_split_blocks): Use it.
1858
1859 2006-08-01  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1860
1861         PR c++/28250
1862         PR c++/28257
1863         PR c++/28259
1864         PR c++/28267
1865         * toplev.c (compile_file): Return early on errorcount or sorrycount.
1866         * cgraphunit.c (cgraph_finalize_compilation_unit): Likewise.
1867         (cgraph_optimize): Likewise.
1868
1869 2006-08-01  Stuart Hastings  <stuart@apple.com>
1870
1871         * rtl.h (UINTVAL) New.
1872         * config/rs6000/rs6000.c (SMALL_INT) Use it.
1873         * testsuite/gcc.dg/20060801-1.c: New.
1874
1875 2006-08-01  Daniel Jacobowitz  <dan@codesourcery.com>
1876
1877         PR debug/23336
1878         * c-typeck.c (build_external_type): Mark used enum types.
1879         * dwarf2out.c (dwarf2out_abstract_function): Save and restore
1880         cfun also.
1881         (gen_subprogram_die): Whitespace fix.
1882
1883 2006-08-01  Jan Hubicka  <jh@suse.cz>
1884
1885         * tree-outof-ssa.c (check_replaceable): Do not allocate def_vars
1886         bitmap when not needed.
1887         * tree-ssa-pre.c (bitmap_set_and, bitmap_set_and_compl): Free temporary
1888         bitmaps.
1889
1890 2006-08-01  Dirk Mueller  <dmueller@suse.de>
1891
1892         * tree-vrp.c (fix_equivalence_set): Avoid bitmap memory leak.
1893
1894 2006-07-31  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1895
1896         * Makefile.in: Revert part of previous patch:
1897         Replace $(VARRAY_H) by varray.h in definition of BASIC_BLOCK_H
1898         and REGS_H.
1899
1900 2006-07-30  Eric Christopher  <echristo@apple.com>
1901
1902         PR target/27543
1903         * doc/extend.texi (i386 Variable Attributes): Add anchor.
1904         (PowerPC Variable Attributes): New section.
1905
1906 2006-07-30  Atsushi Nemoto  <anemo@mba.ocn.ne.jp>
1907
1908         PR target/28126 (partial fix)
1909         * config/mips/mips.md (tls_get_tp_<mode>): Set can_delay to no.
1910
1911 2006-07-28  Jan Hubicka  <jh@suse.cz>
1912
1913         PR rtl-optimization/28071
1914         * cfgrtl.c (rtl_delete_block): Free regsets.
1915         * flow.c (allocate_bb_life_data): Re-use regsets if available.
1916
1917 2006-07-28  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1918
1919         * Makefile.in: Use $(HEADER_H) instead of header.h in dependencies
1920         and variables used in dependencies.
1921
1922 2006-07-27  Arjan van de Ven <arjan@linux.intel.com>
1923
1924         * config/i386/i386.md (stack_tls_protect_set_di) Use %gs rather than
1925         %fs for -mcmodel=kernel.
1926         (stack_tls_protect_test_di): Likewise.
1927
1928 2006-07-27  Carlos O'Donell  <carlos@codesourcery.com>
1929
1930         * Makefile.in: Use mkinstalldirs.
1931
1932 2006-07-27  H.J. Lu  <hongjiu.lu@intel.com>
1933
1934         PR driver/28437
1935         * opts-common.c (prune_options): Skip joined switches.
1936
1937 2006-07-27  Jan Hubicka  <jh@suse.cz>
1938
1939         PR rtl-optimization/28071
1940         * cselib.c (cselib_process_insn): Don't remove useless values too
1941         often for very large hashtables.
1942
1943 2006-07-27  Jan Hubicka  <jh@suse.cz>
1944
1945         PR rtl-optimization/28071
1946         * global.c (greg_obstack): New obstack.
1947         (allocate_bb_info): Use it.
1948         (free_bb_info): Likewise.
1949         (modify_reg_pav): Likewise.
1950
1951 2006-07-27  Roger Sayle  <roger@eyesopen.com>
1952
1953         * builtins.c (fold_fixed_mathfn): When long and long long are the
1954         same size, canonicalize llceil*, llfloor*, llround* and llrint*
1955         functions to their lceil*, lfloor*, lround* and lrint* forms.
1956
1957 2006-07-27  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
1958
1959         PR gcc/28508
1960         * config/m32r/m32r.md (branch_insn): Reduce pc range for short
1961         branch.
1962         (rev_branch_insn): Likewise.
1963
1964 2006-07-27  Jan Hubicka  <jh@suse.cz>
1965
1966         PR rtl-optimization/28071
1967         * regmove.c (reg_is_remote_constant_p): Avoid quadratic behaviour.
1968         (reg_set_in_bb, max_reg_computed): New static variables.
1969         (regmove_optimize): Free the new array.
1970         (fixup_match_1): Update call of reg_is_remote_constant_p.
1971
1972 2006-07-26  Jan Hubicka  <jh@suse.cz>
1973
1974         PR tree-optimization/27882
1975         * cgraph.c (cgraph_remove_node): Clear needed, reachable, next, previous
1976         and decl fields.
1977         * cgraphunit.c (cgraph_reset_node): Expect cgraph_remove_node to kill
1978         next pointer
1979         (cgraph_analyze_compilation_unit): Likewise.
1980         * ipa.c (cgraph_remove_unreachable_nodes): Likewise.
1981         * ipa-inline.c (cgraph_decide_recursive_inlining): Likewise.
1982         (cgraph_early_inlinine): Make order garbage collected.
1983         * Makefile.in (gt-ipa-inline): New garbagecollected file.
1984
1985 2006-07-26  Daniel Jacobowitz  <dan@codesourcery.com>
1986
1987         * dbxout.c (output_types_sort): Add a comment.
1988         (output_used_types): Free the VEC.
1989
1990 2006-07-26  Daniel Jacobowitz  <dan@codesourcery.com>
1991
1992         * function.c (reorder_fix_fragments): Delete.
1993         (reorder_blocks): Don't call it.
1994         (reorder_blocks_1): Put all subblocks under the origin block.
1995
1996 2006-07-26  Zdenek Dvorak <dvorakz@suse.cz>
1997
1998         PR rtl-optimization/27907
1999         * expr.c (force_operand): Use convert_move to handle FLOAT_EXTEND and
2000         FLOAT_TRUNCATE.
2001
2002 2006-07-25  Roger Sayle  <roger@eyesopen.com>
2003
2004         PR middle-end/28473
2005         * convert.c (convert_to_integer): When transforming (T)foo(x) into
2006         bar(x) check that bar's result type can represent all the values of T.
2007
2008 2006-07-25  Zdenek Dvorak <dvorakz@suse.cz>
2009
2010         * tree-chrec.c (chrec_convert_aggressive): Return NULL on failure.
2011
2012 2006-07-25  Nick Clifton  <nickc@redhat.com>
2013
2014         * ggc-page.c (NUM_SIZE_LOOKUP): New constant - the length of the
2015         size_lookup[] array.
2016         (ggc_alloc_stat): Use NUM_SIZE_LOOKUP.
2017         (ggc_pch_count_object): Likewise.
2018         (ggc_pch_alloc_object): Likewise.
2019         (ggc_pch_write_object): Likewise.
2020         (init_ggc): Do not attempt to initialize entries in the
2021         size_lookup[] array for objects whose size is greater than than
2022         the length of the array.
2023
2024 2006-07-25  Daniel Jacobowitz  <dan@codesourcery.com>
2025
2026         * dbxout.c (output_used_types_helper): Push queued types
2027         on a VEC.
2028         (output_types_sort): New.
2029         (output_used_types): Collect used types on a VEC and sort them
2030         before emission.
2031
2032 2006-07-24  Richard Guenther  <rguenther@suse.de>
2033
2034         PR middle-end/28463
2035         * cgraph.c (cgraph_remove_node): Do not check if dumps
2036         are enabled.
2037         * cgraphunit.c (cgraph_optimize): Likewise.
2038
2039 2006-07-24  Jan Hubicka  <jh@suse.cz>
2040
2041         PR rtl-optimization/28071
2042         * tree-cfg.c (tree_split_block): Do not allocate new stmt_list nodes.
2043         * tree-iterator.c (tsi_split_statement_list_before): Do not crash when
2044         splitting before first stmt.
2045
2046 2006-07-24  Jan Hubicka  <jh@suse.cz>
2047
2048         PR rtl-optimization/28071
2049         * ipa-inline.c (update_caller_keys): Remove edges that
2050         are no longer inline candidates.
2051
2052 2006-07-23  Daniel Jacobowitz  <dan@codesourcery.com>
2053
2054         PR debug/27473
2055         * dbxout.c (output_used_types_helper, output_used_types): New.
2056         (dbxout_symbol): Call output_used_types.
2057
2058 2006-07-23  Jan Hubicka  <jh@suse.cz>
2059
2060         PR c/25795
2061         PR c++/27369
2062         * cgraph.c (cgraph_varpool_nodes): Export.
2063         (decide_is_variable_needed): Ignored "used" attribute in
2064         unit-at-a-time mode.
2065         * cgraph.h (cgraph_varpool_nodes): Declare.
2066         * cgraphunit.c (decide_is_function_needed): Ignored "used" attribute in
2067         unit-at-a-time mode.
2068
2069 2006-07-23  Roger Sayle  <roger@eyesopen.com>
2070
2071         PR target/28247
2072         * gthr-solaris.h: Prototype __gthrw forms of thr_self, mutex_init and
2073         mutex_destroy even when !_LIBOOBJC.  Remove duplicate prototype of
2074         the __gthrw form of thr_keycreate.
2075         (__gthread_key_delete): Silence the unused argument warning.
2076
2077 2006-07-23  Steven Bosscher  <steven@gcc.gnu.org>
2078
2079         PR debug/25468
2080         * config/elfos.h (ASM_OUTPUT_ASCII): Remove 'register' marks.
2081         Cache the last found '\0' marker to avoid quadratic behavior.
2082
2083 2006-07-23  Jan Hubicka  <jh@suse.cz>
2084
2085         * i386.md (subsi_3_zext): Fix output template.
2086
2087 2006-07-21  Mike Stump  <mrs@apple.com>
2088
2089         * doc/invoke.texi (C++ Dialect Options): Note that
2090         -fvisibility-inlines-hidden doesn't affect explicitly
2091         instantiationed inline methods.
2092
2093 2006-07-20  Roger Sayle  <roger@eyesopen.com>
2094
2095         * config.gcc (i[34567]86-*-solaris2*): Add usegas.h to $tm_file
2096         if the target assembler is GNU binutils' gas.
2097         * config/i386/sol2-10.h (ASM_SPEC): Check USE_GAS to determine
2098         whether to pass GNU gas or native as command line options.
2099
2100 2006-07-20  Jason Merrill  <jason@redhat.com>
2101
2102         * tree.c (remove_attribute): New fn.
2103         * tree.h: Declare it.
2104
2105 2006-07-20  Paul Brook  <paul@codesourcery.com>
2106
2107         PR 27363
2108         * cse.c (cse_insn): Add destination addresses to hash table. Check if
2109         they are invalidated by this instruction.
2110
2111 2006-07-21  Danny Smith  <dannysmith@users.sourceforge.net>
2112
2113         PR target/28427
2114         * config/i386/cygming.h (MAX_OFILE_ALIGNMENT): Define.
2115
2116 2006-07-20  Eric Christopher  <echristo@apple.com>
2117
2118         PR target/26877
2119         * config/i386/i386.h (OPTION_DEFAULT_SPECS): Reorder.
2120
2121 2006-07-19  Eric Christopher  <echristo@apple.com>
2122
2123         * config/t-slibgcc-darwin (stmp-lipo): Remove.
2124         Rewrite dependencies for libgcc_s.1.dylib.
2125
2126 2006-07-19  Jakub Jelinek  <jakub@redhat.com>
2127
2128         * except.c (duplicate_eh_regions_1): Clear next_peer.
2129
2130 2006-07-17  Nathan Sidwell  <nathan@codesourcery.com>
2131
2132         * doc/invoke.texi (RS/6000 and PowerPC Options): Document that
2133         -mlongcall does not guarantee all calls will be long.
2134         * doc/extend.texi (long_call/short_call): Document that longcall
2135         does not guarantee a long call will be used.
2136         (longcall/shortcall): Likewise.
2137
2138 2006-07-18  Roger Sayle  <roger@eyesopen.com>
2139
2140         PR middle-end/28283
2141         * expmed.c (expand_shift): Additionally check that the shift_cost
2142         is not MAX_COST and that INTVAL(op1) is less than MAX_BITS_PER_WORD
2143         before implementing a LSHIFT_EXPR as a sequence of additions.
2144         * config/sh/sh.c (shift_costs): Return MAX_COST to inform the
2145         middle-end that DImode shifts need to be synthesized by expand.
2146
2147 2006-07-18  Diego Novillo  <dnovillo@redhat.com>
2148
2149         PR 28410
2150         * tree-ssa-operands.c (access_can_touch_variable): Update
2151         comment.
2152         Return true if ALIAS is .GLOBAL_VAR.
2153
2154 2006-07-18  David Daney  <ddaney@avtrex.com>
2155
2156         * gcc.c (display_help): Fix typo in help text.
2157
2158 2006-07-18  Olivier Hainque  <hainque@adacore.com>
2159
2160         * tree.h (categorize_ctor_elements): Adjust prototype and add
2161         descriptive comment, both in accordance with the interface change
2162         described below.
2163         * varasm.c (constructor_static_from_elts_p): New function.
2164         Whether a constructor node is a valid static constant initializer
2165         if all its elements are.
2166         (initializer_constant_valid_p) <CONSTRUCTOR value>: Use it.
2167         * output.h: Declare it.
2168         * expr.c (categorize_ctor_elements_1): Return whether the constructor
2169         is a valid constant initializer instead of computing the number of
2170         non-constant elements.  Use constructor_static_from_elts_p for this
2171         purpose.  Replace the head comment with an indication that this is a
2172         helper for categorize_ctor_elements.
2173         (categorize_ctor_elements): Same interface change as for the _1
2174         helper.  Former head comment from this helper moved here, adjusted to
2175         account for the interface changes.
2176         (mostly_zeros_p): Adjust call to categorize_ctor_elements.
2177         (all_zeros_p): Likewise.
2178         * gimplify.c (gimplify_init_constructor): Decide whether we can make
2179         static versions of the constructor from the categorize_ctor_elements
2180         return value instead of the formerly computed number of non-constant
2181         elements.
2182
2183 2006-07-18  Paolo Bonzini  <bonzini@gnu.org>
2184
2185         * configure: Regenerate.
2186         * Makefile.in (build_libsubdir): New configure substitution
2187         (build_libobjdir): New variable.
2188         (BUILD_LIBIBERTY): Use it.
2189
2190 2006-07-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2191
2192         PR c/28286
2193         * c-pragma.c (handle_pragma_pack): Handle invalid constants.
2194
2195 2006-07-18  Alexandre Oliva  <aoliva@redhat.com>
2196
2197         PR c/26993
2198         * c-common.c (handle_weakref_attribute): Ignore attribute in
2199         the same conditions the alias attribute is ignored.
2200
2201 2006-07-17  Carlos O'Donell  <carlos@codesourcery.com>
2202
2203         * dbxout.c (dbxout_function_end): Do not increment scope_labelno.
2204         (dbxout_begin_prologue): Increment scope_labelno.
2205
2206 2006-07-17  Richard Henderson  <rth@redhat.com>
2207
2208         PR 27889
2209         * tree-nested.c (create_tmp_var_for): Set DECL_COMPLEX_GIMPLE_REG_P
2210         if needed.
2211
2212 2006-07-17  Roger Sayle  <roger@eyesopen.com>
2213             Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2214
2215         * config/i386/gmon-sol2.c: Silence compilation warnings by partially
2216         synchronizing code with config/sparc/gmon-sol2.c.  Remove #if 0
2217         blocks.  #include "tconfig.h" and "tsystem.h" to prototype system
2218         functions such as sbrk, write, etc..  Add function prototypes.
2219         Convert function declarations from K&R to ISO C.  Cast pointers
2220         to "long" and "unsigned long" instead of "int" and "unsigned int".
2221         Convert tokens following #endif into comments.
2222
2223 2006-07-17  Toon Moene  <toon@moene.indiv.nluug.nl>
2224
2225         * invoke.texi: Remove mention of f77; Reformat table for
2226         inline parameter options correctly; mention that -malign-double
2227         is default on x86-64 targets.
2228
2229 2006-07-17  Zdenek Dvorak <dvorakz@suse.cz>
2230
2231         * tree-chrec.c (avoid_arithmetics_in_type_p): New.
2232         (convert_affine_scev, chrec_convert_aggressive): Use
2233         avoid_arithmetics_in_type_p.  Do not check for the subtypes
2234         separately.
2235
2236 2006-07-17  Richard Sandiford  <richard@codesourcery.com>
2237
2238         PR middle-end/28403
2239         * optabs.c (expand_doubleword_shift): Wrap the call to
2240         do_compare_rtx_and_jump with NO_DEFER_POP and OK_DEFER_POP.
2241
2242 2006-07-17  Richard Sandiford  <richard@codesourcery.com>
2243
2244         PR middle-end/28402
2245         * optabs.c (expand_binop): Pass next_methods rather than methods
2246         to expand_doubleword_shift.
2247
2248 2006-07-17  J"orn Rennecke  <joern.rennecke@st.com>
2249
2250         PR other/28251
2251         * tree.h (dump_addr): Declare.
2252         * print-tree.c (dump_addr): New function.
2253         (print_node_brief, print_node): Use it.
2254         * print-rtl.c (print_rtx): Likewise.
2255         * common.opt (-fdump-noaddr): New option.
2256         * doc/invoke.texi (-fdump-noaddr): Document.
2257         * loop-unroll.c (si_info_hash): Make hash independent of addresses.
2258         (ve_info_hash): Likewise.
2259
2260 2006-07-13  Andrew Haley  <aph@redhat.com>
2261
2262         PR tree-optimization/19505
2263         * tree-cfgcleanup.c (tree_forwarder_block_p): If we have an EH
2264         edge leaving this block, make sure that the destination of this
2265         block has only one predecessor.
2266
2267 2006-07-17  Richard Guenther  <rguenther@suse.de>
2268
2269         PR tree-optimization/28238
2270         * tree-inline.c (copy_bb): Check if we produced valid
2271         gimple copying and substituting a stmt.  If not, gimplify
2272         it.
2273
2274 2006-07-16  Eric Botcazou  <ebotcazou@adacore.com>
2275
2276         * optabs.c (maybe_encapsulate_block): New function extracted from...
2277         (emit_libcall_block): ...here.  Invoke it on the block of insns to
2278         maybe emit REG_LIBCALL/REG_RETVAL notes around the block.
2279         (emit_no_conflict_block): Likewise.
2280
2281 2006-07-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
2282
2283         * doc/install.texi (sparc-sun-solaris2*): Add GMP version number.
2284
2285 2006-07-15  Roger Sayle  <roger@eyesopen.com>
2286
2287         * tree-gimple.c (is_gimple_stmt): Sink test of IS_EMPTY_STMT into
2288         a new NOP_EXPR case of the switch statement.
2289
2290 2006-07-15  Kaz Kojima  <kkojima@gcc.gnu.org>
2291
2292         PR middle-end/28160
2293         * stor-layout.c (place_field): Take the bit field with
2294         an excessive size into account in the ms-bitfiled case.
2295
2296         PR middle-end/28161
2297         * stor-layout.c (place_field): Use DECL_BIT_FIELD_TYPE of
2298         the previous bit field.
2299
2300 2006-07-14  Eliot Dresselhaus  <eliot@sonic.net>
2301
2302         PR target/27287
2303         * config/rs6000/spe.md (frob_di_df_2): Add m->r alternative.
2304
2305 2006-07-14  Ulrich Weigand  <uweigand@de.ibm.com>
2306
2307         * config/s390/linux-unwind.h (s390_fallback_frame_state): Detect
2308         signal frames correctly even when the signal was installed with
2309         sa_restorer set.
2310
2311 2006-07-14  Carlos O'Donell  <carlos@codesourcery.com>
2312
2313         * dbxout.c (dbxout_begin_prologue): Emit LFBB label at function start.
2314         (dbxout_function_end): Use local label LFBB. Remove hook
2315         DBX_OUTPUT_NFUN.
2316         (dbxout_source_line): Use local label LFBB.
2317         (dbxout_block): Likewise.
2318         (dbx_output_lbrac): Remove hook DBX_OUTPUT_LBRAC.
2319         (dbx_output_rbrac): Remove hook DBX_OUTPUT_RBRAC.
2320         * config/rs6000/linux64.h: Remove DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC,
2321         and DBX_OUTPUT_NFUN.
2322
2323 2006-07-13  Janis Johnson  <janis187@us.ibm.com>
2324
2325         * doc/sourcebuild.texi (Test Directives): Document dg-shouldfail.
2326
2327 2006-07-13  Jan Hubicka  <jh@suse.cz>
2328
2329         * cgraphunit.c (cgraph_varpool_analyze_pending_decls): Call
2330         align_variable.
2331         * output.h (align_variable): Declare.
2332         * varasm.c (align_variable): Export.
2333         * value-prof.c (tree_value_profile_transformations): Recompute iterator
2334         when basic block changed.
2335
2336 2006-07-13  Nick Clifton  <nickc@redhat.com>
2337
2338         * config/sh/sh.c (sh_reorg): Ignore deleted insns whilst
2339         walking the LOG_LINKS chain.
2340
2341 2006-07-12  Geoffrey Keating  <geoffk@apple.com>
2342
2343         * doc/invoke.texi (C++ Dialect Options): Explain difference
2344         between -fvisibility-inlines-hidden and setting hidden
2345         visibility explicitly.
2346
2347 2006-07-12  Eric Christopher  <echristo@apple.com>
2348
2349         * config/t-slibgcc-darwin (SHLIB_LINK): Don't munge stmp-lipo.
2350         (stmp-lipo): Depend on libgcc.a.
2351
2352 2006-07-12  Kazu Hirata  <kazu@codesourcery.com>
2353
2354         * tree.c: Fix a comment typo.
2355
2356 2006-07-12  Naveen.H.S  <naveenh@kpitcummins.com>
2357
2358         * config/m32c/muldiv.md (umulhisi3_c): Use only registers for
2359         dest.
2360         (umulhisi3_r): Likewise.
2361
2362 2006-07-12  Paolo Carlini  <pcarlini@suse.de>
2363
2364         PR libstdc++/27878
2365         * doc/install.texi (mips-sgi-irix6): Add note about IRIX 6.5.x,
2366         x < 19, vs wchar_t support.
2367
2368 2006-07-12  Nick Clifton  <nickc@redhat.com>
2369
2370         * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Use -isa=sh4-up
2371         instead of -isa=sh4.
2372
2373 2006-07-12  Mike Stump  <mrs@apple.com>
2374
2375         * protoize.c (edit_fn_definition): Add volatile to clean_text_p.
2376
2377 2006-07-10  Eric Christopher  <echristo@apple.com>
2378
2379         * config/t-slibgcc-darwin: Rewrite.
2380
2381 2006-07-10  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
2382
2383         PR bootstrap/20437
2384         * Makefile.in (configure): add missing aclocal.m4 and acinclude.m4
2385         dependencies.
2386
2387 2006-07-08  Matthias Klose  <doko@debian.org>
2388
2389         * doc/sourcebuild.texi: Fix typo.
2390
2391 2006-07-07  Mike Stump  <mrs@apple.com>
2392
2393         * toplev.c (process_options): Don't give -ffunction-sections may
2394         affect debugging warning for Mach-O.
2395
2396 2006-07-07  James E Wilson  <wilson@specifix.com>
2397
2398         * config/mips/mips.md (cpu): Add sb1a.
2399         * config/mips/sb1.md: Modify almost all patterns to accept sb1a in
2400         addition to sb1.  Adjust comments to clarify SB-1A differences from
2401         SB-1.
2402         (ir_sb1a_load): New.  Modify bypasses to use it.
2403         (ir_sb1a_simple_alu): Likewise.
2404         * config/mips/mips.c (mips_cpu_info_table): Add sb1a.
2405         (mips_rtx_cost_data): Add PROCESSOR_SB1A support.
2406         (mips_issue_rate): Add PROCESSOR_SB1A.
2407         (mips_multipass_dfa_lookahead): Use TUNE_SB1 instead of PROCESSOR_SB1.
2408         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1A.
2409         (TARGET_SB1): Add PROCESSOR_SB1A check.
2410         (TUNE_SB1): Likewise.
2411
2412         * config/mips/mips-protos.h (mips_store_data_bypass_p): New.
2413         * config/mips/mips.c (mips_store_data_bypass_p): New.
2414         * config/mips/sb1.md: Use mips_store_data_bypass_p instead of
2415         store_data_bypass_p.
2416
2417 2006-07-08  Paul Brook  <paul@codesourcery.com>
2418
2419         PR target/27991
2420         * config/m68k/m68k.md: Add r-m patterns for 68881 movxf.
2421
2422 2006-07-07   Richard Guenther  <rguenther@suse.de>
2423
2424         PR middle-end/28268
2425         * tree.h (build_one_cst): Declare.
2426         * tree.c (build_one_cst): New function.
2427         * tree-ssa-math-opts.c (get_constant_one): Remove.
2428         (insert_reciprocals): Use build_one_cst.
2429         * fold-const.c (fold_plusminus_mult): Likewise.
2430
2431 2006-07-07  Roger Sayle  <roger@eyesopen.com>
2432
2433         * pointer-set.c (pointer_set_destroy): Correct whitespace.
2434         * cfgloopanal.c (dump_graph): Likewise.
2435         * dojump.c (discard_pending_stack_adjust): Likewise.
2436         * fix-header.c (TARGET_EXTRA_INCLUDE, TARGET_EXTRA_PRE_INCLUDES):
2437         Likewise.
2438         * alloc-pool.c (dump_alloc_pool_statistics): Likewise.
2439         * function.c (finalize_block_changes): Likewise.
2440         * gcc-common.c (ggc_free_overhead, dump_gcc_loc_statistics): Likewise.
2441         * tree-ssa-dce.c (clear_control_dependence_bitmap): Likewise.
2442         * rtl.c (dump_rtx_statistics): Likewise.
2443         * tree-ssa-structalias.c (sort_fieldstack, init_alias_heapvars):
2444         Likewise.
2445         * varray.c (dump_varray_statistics): Likewise.
2446         * dfp.c (encode_decimal32, decode_decimal32, encode_decimal64,
2447         decode_decimal64, encode_decimal128, decode_decimal128,
2448         decimal_real_to_decimal): Likewise.
2449
2450 2006-07-07  Richard Guenther  <rguenther@suse.de>
2451
2452         PR tree-optimization/28187
2453         * tree-vrp.c (vrp_operand_equal_p): New function.
2454         (vrp_bitmap_equal_p): Likewise.
2455         (update_value_range): Use them to compare old and new
2456         max and min values.
2457
2458 2006-07-06  Roger Sayle  <roger@eyesopen.com>
2459
2460         * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Add
2461         a default case to switch statement to silence compiler warnings.
2462
2463 2006-07-06  Roger Sayle  <roger@eyesopen.com>
2464
2465         PR target/27968
2466         * configure.ac (HAVE_AS_IX86_FFREEP): On x86 targets check whether
2467         the configured assembler supports the x87's ffreep mnemonic.
2468         * configure: Regenerate.
2469         * config.in: Regenerate.
2470
2471         * config/i386/i386.c (output_387_ffreep): New function.
2472         (output_fp_compare): Use output_387_ffreep to emit ffreep insns.
2473         (output_387_reg_move): Likewise.
2474
2475 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
2476
2477         Port to hosts whose 'sort' and 'tail' implementations
2478         treat operands with leading '+' as file names, as POSIX
2479         has required since 2001.  However, make sure the code still
2480         works on pre-POSIX hosts.
2481         * Makefile.in (slowcompare): Port to POSIX 1003.1-2001,
2482         which says you should use "tail -c +N" rather than "tail +Nc".
2483         Fix a bug: the old code incorrectly skipped 15 bytes, not 16.
2484
2485 2006-07-06  Zdenek Dvorak <dvorakz@suse.cz>
2486
2487         * tree-ssa-loop-niter.c (scev_probably_wraps_p): Fix typo in
2488         argument name.
2489
2490 2006-07-06  David Edelsohn  <edelsohn@gnu.org>
2491
2492         PR target/28150
2493         * config/rs6000/rs6000.c (rs6000_legitimate_address): Do not allow
2494         PRE_{INC,DEC} of TFmode.
2495
2496 2006-07-06  David Edelsohn  <edelsohn@gnu.org>
2497             Alan Modra  <amodra@bigpond.net.au>
2498
2499         PR target/28170
2500         * config/rs6000/rs6000.c (insvdi_rshift_rlwimi_p): Correct shiftop
2501         bounds. Simplify.
2502
2503 2006-07-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2504
2505         PR target/28285
2506         * config/alpha/predicates.md (alpha_swapped_comparison_operator):
2507         Remove duplicate gtu.
2508
2509 2006-07-05  Jason Merrill  <jason@redhat.com>
2510
2511         PR c++/13983
2512         PR c++/17519
2513         * stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants.
2514         * c-common.c (handle_packed_attribute): So don't copy it here.
2515         * c-decl.c (finish_struct): Don't copy TYPE_ALIGN.
2516
2517 2006-07-05  Mike Stump  <mrs@apple.com>
2518
2519         * doc/invoke.texi (Invoking G++): Clarify prose for g++.
2520
2521 2006-07-05  H.J. Lu  <hongjiu.lu@intel.com>
2522
2523         PR target/26146
2524         * config.gcc: Check with_cpu for i[34567]86--*-solaris2.1[0-9]*.
2525
2526 2006-07-05  Richard Guenther  <rguenther@suse.de>
2527
2528         PR target/28158
2529         * config/i386/i386.md (*negdf2_1): Restrict pattern to
2530         TARGET_SSE2 targets if using SSE math.
2531         (*absdf2_1): Likewise.
2532
2533 2006-07-05  Richard Guenther  <rguenther@suse.de>
2534
2535         PR tree-optimization/28162
2536         * fold-const.c (fold_binary): For (-A) * (-B) -> A * B
2537         make sure to convert the operands to the correct type.
2538
2539 2006-07-04  Paolo Bonzini  <bonzini@gnu.org>
2540
2541         PR tree-optimization/28218
2542
2543         * tree-ssa-math-opts.c (execute_cse_reciprocals): Fix calls
2544         to calculate and free the dominator information.
2545
2546 2006-07-04  Peter O'Gorman  <peter@pogma.com>
2547
2548         * mklibgcc.in: chmod 644 before ranlib during install.
2549
2550 2006-07-04  Andrew Stubbs <andrew.stubbs@st.com>
2551             J"orn Rennecke <joern.rennecke@st.com>
2552
2553         * configure.ac (.eh_frame data check): Use diff -b.
2554
2555 2006-07-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
2556
2557         PR bootstrap/18058
2558         * Makefile.in (BUILD_RTL): Add build/vec.o.
2559         (build/gencondmd.o): Filter out -fkeep-inline-functions.
2560         (build/genextract): Delete.
2561         (build/genautomata): Likewise.
2562
2563 2006-07-04  Alan Modra  <amodra@bigpond.net.au>
2564
2565         PR target/28207
2566         * config/rs6000/rs6000.c (function_arg_boundary): Double-word align
2567         128-bit IBM long doubles for ABI_V4.
2568
2569 2006-07-03  Eric Botcazou  <ebotcazou@adacore.com>
2570
2571         * tree.c (range_in_array_bounds_p): New predicate.
2572         * tree.h (range_in_array_bounds_p): Declare it.
2573         * tree-eh.c (tree_could_trap_p) <ARRAY_RANGE_REF>: Use it to
2574         return a less conservative answer.
2575         * tree-sra.c (struct sra_elt): Add new pointer field 'groups'
2576         and flag 'is_group'.
2577         (IS_ELEMENT_FOR_GROUP): New macro.
2578         (FOR_EACH_ACTUAL_CHILD): Likewise.
2579         (next_child_for_group): New helper function.
2580         (can_completely_scalarize_p): Take into account groups.
2581         (sra_hash_tree): Handle RANGE_EXPR.
2582         (sra_elt_eq): Likewise.
2583         (lookup_element): Be prepared for handling groups.
2584         (is_valid_const_index): Delete.
2585         (maybe_lookup_element_for_expr) <ARRAY_REF>: Use in_array_bounds_p
2586         instead of is_valid_const_index.
2587         <ARRAY_RANGE_REF>: New case.
2588         (sra_walk_expr) <ARRAY_REF>: Use in_array_bounds_p instead of
2589         is_valid_const_index.
2590         <ARRAY_RANGE_REF>: Do not unconditionally punt.
2591         (scan_dump): Dump info for groups too.
2592         (decide_instantiation_1): Likewise.
2593         (decide_block_copy): Assert that the element is not a group.
2594         Propagate decision to groups.
2595         (generate_one_element_ref): Handle RANGE_EXPR.
2596         (mark_no_warning): Iterate over actual childs.
2597         (generate_copy_inout): Likewise.
2598         (generate_element_copy): Likewise.
2599         (generate_element_zero): Likewise.
2600         (generate_element_init_1): Likewise.
2601         (dump_sra_elt_name): Handle RANGE_EXPR.
2602
2603 2006-07-03  Roger Sayle  <roger@eyesopen.com>
2604
2605         PR tree-optimization/26251
2606         * tree-ssa-threadupdate.c (redirection_block_p): New function.
2607         (thread_block): When optimizing for size refuse to thread jumps
2608         that would require duplication of blocks other than redirection
2609         blocks.
2610
2611 2006-07-03  Paolo Bonzini  <bonzini@gnu.org>
2612
2613         * configure.ac: Fix thinko in previous check-in.
2614         * configure: Regenerate.
2615
2616 2006-07-03  Paolo Bonzini  <bonzini@gnu.org>
2617
2618         PR other/27063
2619         * configure.ac (for lang...): Simplify nesting of conditionals.
2620         Test subdir_requires for non-enabled languages.  Move processing
2621         of lang_opt_files and lang_tree_fiels below that test.
2622         * configure: Regenerate.
2623         * doc/sourcebuild.texi (Front End Config): Document subdir_requires.
2624
2625 2006-07-01  Martin Michlmayr  <tbm@cyrius.com>
2626
2627         * doc/gcov.texi (Invoking Gcov): Add a missing word.
2628
2629 2006-06-30  Kazu Hirata  <kazu@codesourcery.com>
2630
2631         * cfgexpand.c, config/i386/i386.c, genpreds.c, tree-cfg.c: Fix
2632         comment typos.
2633
2634 2006-06-29  Jason Merrill  <jason@redhat.com>
2635
2636         PR c++/26905
2637         PR c++/26612
2638         PR c++/27000
2639         PR c++/26984
2640         PR c++/19134
2641         * tree.c (build_decl_stat): Don't hande #pragma visibility here.
2642         * c-common.c (c_determine_visibility): Handle it here.
2643         * c-decl.c (finish_decl): Call c_determine_visibility for
2644         functions, too.
2645         * flags.h (enum symbol_visibility): Sort from most to least visibility.
2646         * tree.h: Likewise.
2647         * varasm.c (default_assemble_visibility): Likewise.
2648         * c-common.c (handle_visibility_attribute): Complain about trying
2649         to give visibility to an already defined class, or trying to change
2650         declared visibility. Always attach the attribute.
2651
2652         PR c++/26905
2653         PR c++/21675
2654         PR c++/17470
2655         * attribs.c (decl_attributes): Ignore type-in-place attributes
2656         once the type has been defined.
2657
2658 2006-06-29  Roger Sayle  <roger@eyesopen.com>
2659
2660         PR middle-end/27428
2661         * c-lex.c (c_lex_with_flags) <CPP_N_INVALID>: Increment errorcount
2662         to indicate the cpplib has issued an error message for us.
2663
2664 2006-06-29  Asher Langton  <langton2@llnl.gov>
2665
2666         PR target/25765
2667         * config/i386/i386.c (ix86_output_function_epilogue): Don't
2668         insert a label at the end of an function under Mach-O.
2669
2670 2006-06-29  Eric Christopher  <echristo@apple.com>
2671             Evan Cheng  <evan.cheng@apple.com>
2672
2673         * predicates.md (vector_all_ones_operand): New.
2674         (nonimmediate_or_sse_const_operand): Ditto.
2675         * config/i386/i386-protos.h (standard_sse_constant_opcode): Declare.
2676         * config/i386/i386.c (standard_sse_constant_opcode): Define.
2677         (standard_sse_mode_p): Ditto.
2678         (standard_sse_constant_p): Add case for -1 vector.
2679         (ix86_expand_vector_move): Try to use.
2680         * sse.md (*mov<mode>_internal): Use nonimmediate_or_sse_const_operand.
2681         Call standard_sse_constant_opcode.
2682         (*movv4sf_internal): Ditto.
2683         (*movv2df_internal): Ditto.
2684
2685 2006-06-29  Roger Sayle  <roger@eyesopen.com>
2686
2687         * genpreds.c (write_match_code_switch): Correctly use XSTR instead
2688         of XEXP to extract the operands of a MATCH_CODE rtx.
2689
2690 2006-06-28  Andrew Pinski  <pinskia@gmail.com>
2691
2692         * tree.c (tree_size): Do not waste tail padding in
2693         struct tree_string and make the size be the same as
2694         build_string will generate.
2695
2696 2006-06-28  Jason Merrill  <jason@redhat.com>
2697
2698         PR c++/27768
2699         * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add
2700         may_aliases already in the tag's annotations to the bitmap.
2701
2702 2006-06-28  Roger Sayle  <roger@eyesopen.com>
2703
2704         * genpreds.c (write_predicate_stmts) <IOR>: Add missing break.
2705
2706 2006-06-28  Roger Sayle  <roger@eyesopen.com>
2707
2708         * genpreds.c (generate_switch_p): New function.
2709         (add_mode_tests): Push the new mode test down inside an AND expr
2710         if this allows the switch-suitable MATCH_CODE to be near the root.
2711         (write_match_code_switch): New function to write a MATCH_CODE as
2712         a switch statement.
2713         (write_predicate_stmts): New function to write a predicate RTX
2714         expression as a sequence of statements.
2715         (write_one_predicate_function): Use write_predicate_stmts.
2716         (write_tm_constrs_h): Likewise.
2717
2718 2006-06-26  Fred Fish  <fnf@specifix.com>
2719
2720         * config/mips/t-sb1: New file.
2721         * config.gcc (mipsisa64sb1-*-elf*): Add mips/t-sb1 to
2722         tmake_file list.
2723
2724 2006-06-26  DJ Delorie  <dj@redhat.com>
2725
2726         * config/m32c/m32c.c (m32c_print_operand): Fix sign-merging logic.
2727
2728 2006-06-26  Naveen H.S  <naveenh@kpitcummins.com>
2729             Jayant Sonar  <jayants@kpitcummins.com>
2730             Jaydeep Vipradas  <jaydeepv@kpitcummins.com>
2731
2732         * config/m32c/addsub.md (addsi3, addsi3_1, addsi3_2): New.
2733         (subsi3, subsi3_1, subsi3_2): New.
2734         * config/m32c/bitops.md (andsi3, iorsi3, xorsi3): New.
2735         * config/m32c/mov.md (SI mov peephole): New.
2736         * config/m32c/m32.c (m32c_immd_dbl_mov): New.
2737         * config/m32c/m32c-protos.h (m32c_immd_dbl_mov): New.
2738
2739 2006-06-26  Olivier Hainque  <hainque@adacore.com>
2740
2741         * function.c (aggregate_value_p): Honor DECL_BY_REFERENCE on
2742         a CALL_EXPR target function declaration.
2743
2744 2006-06-26  Richard Guenther  <rguenther@suse.de>
2745
2746         * tree.c (build_string): Do not waste tail padding in
2747         struct tree_string.
2748
2749 2006-06-26  Richard Guenther  <rguenther@suse.de>
2750
2751         * ggc-page.c (init_ggc): Add missing element to size_lookup
2752         table.
2753
2754         Revert
2755         2006-06-23  Richard Guenther  <rguenther@suse.de>
2756
2757         * ggc-page.c (init_ggc): Do not round up the extra_order_size_table
2758         sizes to MAX_ALIGNMENT.  Fix the size_lookup table to honour
2759         alignment requests instead.  Add verification code.
2760         Add struct tree_function_decl and struct tree_binfo size to
2761         extra_order_size_table.  Add missing element to size_lookup
2762         table.
2763
2764 2006-06-25  Eric Botcazou  <ebotcazou@adacore.com>
2765
2766         PR middle-end/28151
2767         * fold-const.c (const_binop): Be prepared for self returning zero.
2768         Simplify code handling complex values.
2769
2770 2006-06-24  Olivier Hainque  <hainque@adacore.com>
2771
2772         * gimplify.c (gimplify_scalar_mode_aggregate_compare): New function.
2773         (gimplify_expr): Use it for tcc_comparison of operands of non BLKmode
2774         aggregate types.
2775
2776 2006-06-24  Olivier Hainque  <hainque@adacore.com>
2777
2778         * tree-ssa-loop-im.c (for_each_index): Handle ARRAY_RANGE_REF as
2779         ARRAY_REF, so have the callback called for the low bound expression.
2780
2781 2006-06-23  Janis Johnson  <janis187@us.ibm.com>
2782
2783         * tree.h (DECIMAL_FLOAT_TYPE_P): New.
2784         * c-typeck.c (c_common_type): Disallow operations on decimal float
2785         types and other float types.
2786         * convert.c (convert_to_real): Don't ignore conversions involving
2787         decimal float types.
2788
2789 2006-06-23  Olivier Hainque  <hainque@adacore.com>
2790
2791         * tree.c (max_int_size_in_bytes): New function, inspired from
2792         code in function.c:assign_temp.
2793         * tree.h (max_int_size_in_bytes): Declare.
2794         * function.c (assign_temp): Use it.
2795         * gimplify.c (create_tmp_var): Relax the assertions on the type
2796         properties, not mandating constant size any more.
2797         (force_constant_size): New static function.
2798         (gimple_add_tmp_var): Use it, forcing variable size to a
2799         constant upper bound if it is not constant on entry.
2800
2801 2006-06-23  Danny Smith   <dannysmith@users.sourceforge.net>
2802
2803         PR target/27789
2804         * config/i386/winnt.c (ix86_handle_selectany_attribute): Move check
2805         for initialization and setting of one_only flag to ...
2806         (i386_pe_encode_section_info): ...here.
2807         (i386_pe_dllimport_p): Check for DECL_DLLIMPORT_P also.
2808         Recheck that the symbol has not been defined.
2809
2810 2006-06-23  Richard Guenther  <rguenther@suse.de>
2811
2812         * ggc-page.c (init_ggc): Do not round up the extra_order_size_table
2813         sizes to MAX_ALIGNMENT.  Fix the size_lookup table to honour
2814         alignment requests instead.  Add verification code.
2815         Add struct tree_function_decl and struct tree_binfo size to
2816         extra_order_size_table.  Add missing element to size_lookup
2817         table.
2818
2819 2006-06-22  Roger Sayle  <roger@eyesopen.com>
2820             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2821
2822         PR middle-end/28131
2823         * expr.c (expand_expr_real_1) <VECTOR_CST>: Check whether the
2824         call to lang_hooks.types.type_for_mode returned NULL_TREE.
2825
2826 2006-06-23  Ben Elliston  <bje@au.ibm.com>
2827
2828         * dfp.c (decimal_to_decnumber): Do not use decNumberNegate to
2829         negate dn -- manipulate it directly.
2830
2831 2006-06-22  Roger Sayle  <roger@eyesopen.com>
2832             Steven Bosscher  <stevenb.gcc@gmail.com>
2833
2834         PR target/27531
2835         * reload1.c (gen_reload): Call mark_jump_label on the new insns
2836         generated by gen_move_insn to add REG_LABEL notes if necessary.
2837
2838 2006-06-22  Bob Wilson  <bob.wilson@acm.org>
2839
2840         * config/xtensa/lib1funcs.asm (MIN_ESA): Delete.
2841         (leaf_entry): Remove use of MIN_ESA.
2842
2843 2006-06-22  Zdenek Dvorak <dvorakz@suse.cz>
2844
2845         PR rtl-optimization/28121
2846         * cfgexpand.c (tree_expand_cfg): Clean EDGE_EXECUTABLE flag from
2847         the entry edge.
2848
2849 2006-06-21  DJ Delorie  <dj@redhat.com>
2850
2851         * config/m32c/muldiv.md (mulhisi3_i): Only use registers for dest
2852         (TN-16C-A156A/E).
2853         (mulhisi3_r): Likewise.
2854
2855 2006-06-21  Richard Sandiford  <richard@codesourcery.com>
2856
2857         PR middle-end/28034
2858         * coverage.c (coverage_counter_alloc): Leave the index type
2859         unspecified.
2860         (coverage_counter_alloc): Use null arguments for operands 2 and 3
2861         of the ARRAY_REF.
2862
2863 2006-06-21  Andrew Pinski  <pinskia@physics.uc.edu>
2864
2865         * doc/invoke.texi (-fopenmp) Move to "Options Controlling C Dialect"
2866         section from the "Options for Code Generation Conventions".
2867
2868 2006-06-21  Richard Henderson  <rth@redhat.com>
2869
2870         PR target/26347
2871         PR target/27082
2872         * config/alpha/predicates.md (small_symbolic_operand): Deny weak
2873         symbols.
2874         (global_symbolic_operand): Allow weak symbols, even if local_p.
2875
2876 2006-06-21  Eric Botcazou  <ebotcazou@adacore.com>
2877
2878         * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): New function.
2879         (find_interesting_uses_address): Punt if above function returns true.
2880
2881 2006-06-21  Richard Guenther  <rguenther@suse.de>
2882
2883         * configure: Regenerated.
2884
2885 2006-06-21  Joseph Myers  <joseph@codesourcery.com>
2886
2887         * config/mips/mips.c (function_arg): Where one part of a
2888         complex argument is in registers and the other part in the stack,
2889         return a REG not a PARALLEL.
2890
2891 2006-06-21  Mark Mitchell  <mark@codesourcery.com>
2892
2893         * configure.ac: Set gcc_gxx_include_dir to $target/include/c++
2894         when cross-compiling.  Do not substitute libstdcxx_incdir.
2895         * configure: Regenerated.
2896
2897 2006-06-21  Jakub Jelinek  <jakub@redhat.com>
2898
2899         * varasm.c (mergeable_string_section): Check for embedded NULs and
2900         NUL termination in the first int_size_in_bytes (TREE_TYPE (decl))
2901         rather than TREE_STRING_LENGTH bytes.
2902
2903 2006-06-21  Richard Guenther  <rguenther@suse.de>
2904
2905         * ggc-page.c (extra_order_size_table): Add var_ann_d,
2906         tree_ssa_name, bitmap_element and phi_node with 4 arguments
2907         sizes.
2908
2909 2006-06-21  Richrad Guenther  <rguenther@suse.de>
2910
2911         * tree-ssa-loop-niter.c (simplify_using_initial_conditions):
2912         Limit iteration over the dominators.
2913
2914 2006-06-20  Roger Sayle  <roger@eyesopen.com>
2915
2916         * config/mips/iris6.h (LIB_SPEC): Add support for -pthread.
2917         (SUBTARGET_CPP_SPEC): Define _REENTERANT if -pthread specified.
2918
2919 2006-06-20  Richard Guenther  <rguenther@suse.de>
2920         Michael Matz  <matz@suse.de>
2921
2922         * alloc-pool.h (free_alloc_pool_if_empty): Prototype new
2923         function.
2924         * alloc-pool.c (free_alloc_pool_if_empty): New function.
2925         * et-forest.h (et_free_pools): Prototype new function.
2926         * et-forest.c (et_free_tree_force): Free parent occurrence.
2927         (et_free_pools): New function.
2928         * dominance.c (free_dominance_info): Free et-forest alloc
2929         pools.
2930
2931 2006-06-20  Roger Sayle  <roger@eyesopen.com>
2932
2933         * expr.c (expand_expr_real_1) <VECTOR_CST>: For vector constants with
2934         integer modes, attempt to directly construct an integer constant.
2935
2936         * fold-const.c (native_encode_vector): Determine the size of each
2937         element from the vector type instead of the first vector element.
2938
2939         * tree.c (build_constructor_single): Mark a CONSTRUCTOR as constant,
2940         if all of its elements/components are constant.
2941         (build_constructor_from_list): Likewise.
2942
2943 2006-06-20  Zdenek Dvorak <dvorakz@suse.cz>
2944
2945         PR tree-optimization/27331
2946         * tree-data-ref.c (free_data_ref): New function.
2947         (create_data_ref): Fail if the data reference has unknown access
2948         function.
2949         (free_data_refs): Use free_data_ref.
2950
2951 2006-06-19  Andrew Pinski  <pinskia@gmail.com>
2952
2953         PR middle-end/28075
2954         * tree-inline.c (setup_one_parameter): Strip useless
2955         type conversion before adding it to the IR.
2956         (declare_return_variable): Likewise.
2957
2958 2006-06-19  Martin Michlmayr  <tbm@cyrius.com>
2959
2960         PR c/27149
2961         * c-common.c (c_common_truthvalue_conversion): Fix grammar in warning.
2962
2963 2006-06-19  Mike Stump  <mrs@apple.com>
2964
2965         * tree.c (variably_modified_type_p): VM arguments don't make the
2966         type a VM type.
2967
2968 2006-06-19  Richard Guenther  <rguenther@suse.de>
2969
2970         * tree-ssa-pre.c (try_combine_conversion): Strip useless
2971         type conversions after folding.
2972
2973 2006-06-19  Richard Guenther  <rguenther@suse.de>
2974
2975         * ggc-page.c (extra_order_size_tab): Add entries with
2976         size of struct function and basic_block.
2977         (size_lookup): Extend to cover sizes up to 511.
2978         (ggc_alloc_stat): Adjust user.
2979         (ggc_pch_count_object): Likewise.
2980         (ggc_pch_alloc_object): Likewise.
2981         (ggc_pch_write_object): Likewise.
2982
2983 2006-06-19  Zdenek Dvorak <dvorakz@suse.cz>
2984
2985         * tree-ssa-loop-niter.c (implies_ge_p): New function.
2986         (derive_constant_upper_bound): Handle OP0 - CST in unsigned types
2987         correctly.
2988
2989 2006-06-19  Denis Chertykov  <denisc@overta.ru>
2990
2991         * config/avr/libgcc.S : Correct my wrong previous commit.
2992
2993 2006-06-19  Roger Sayle  <roger@eyesopen.com>
2994
2995         PR target/27861
2996         * expmed.c (expand_shift): On SHIFT_COUNT_TRUNCATED targets, we may
2997         have stripped a SUBREG from the shift count, so we may need to
2998         convert_to_mode back to the type's mode before calling make_tree.
2999         Use new_amount instead of amount to avoid expanding a tree twice.
3000
3001 2006-06-19  Richard Guenther  <rguenther@suse.de>
3002
3003         PR middle-end/28045
3004         * fold-const.c (operand_equal_p): Check if the argument types
3005         have the same precision before stripping NOPs.
3006
3007 2006-06-19  Daniel Berlin  <dberlin@dberlin.org>
3008
3009         Fix PR tree-optimization/27341
3010         * tree-cfg.c (gimplify_val): Call mark_new_vars_to_rename on the
3011         statement we get.
3012         * tree-complex.c (pass_lower_complex): Update SMT usage.
3013
3014 2006-06-19  Andreas Krebbel  <krebbel1@de.ibm.com>
3015
3016         * config/s390/s390.md ("doloop_si64", "doloop_si31", "doloop_di"):
3017         Add a new alternative to the constraint strings. Add move of
3018         operand 1 to 3 to the splitter definition.
3019         ("doloop_si_long"): Second contraint alternative removed.
3020
3021 2006-06-08  Anatoly Sokolov <aesok@post.ru>
3022
3023         * config/avr/avr.h (avr_have_movw_lpmx_p): Declare.
3024         (TARGET_CPU_CPP_BUILTINS): Add __AVR_HAVE_MOVW__ and
3025         __AVR_HAVE_LPMX__.
3026         (AVR_HAVE_MOVW) Define.
3027         (ASSEMBLER_DIALECT): Use AVR_HAVE_MOVW.
3028         (ASM_SPEC): Add avr25.
3029         (LINK_SPEC): Add avr25.
3030         * config/avr/avr.c (avr_have_movw_lpmx_p): Add.
3031         (base_arch_s): Add new member 'have_movw_lpmx'.
3032         (avr_arch_types): Init 'have_movw_lpmx'.
3033         (avr_mcu_types): Add 'avr25'. Move attiny13, attiny2313, attiny24,
3034         attiny44, attiny84, attiny25, attiny45, attiny85, attiny261,
3035         attiny461, attiny861 and at86rf401 in 'avr25' arhitecture.
3036         (avr_override_options): Init 'avr_have_movw_lpmx_p'.
3037         (output_movhi, output_movsisf, ashlsi3_out, avr_rtx_costs): Use
3038         AVR_HAVE_MOVW.
3039         (avr_file_start): Do not output '.arh' derective.
3040         * config/avr/libgcc.S (mov_l): Use __AVR_HAVE_MOVW__.
3041         (__do_copy_data): Use __AVR_HAVE_LPMX__.
3042         * config/avr/avr.md (mcu_enhanced): Delete.
3043         (mcu_have_movw): Define.
3044         (negsi2, extendhisi2, zero_extendhisi2): Use 'mcu_have_movw'.
3045         (call_insn, call_value_insn): Use 'call_insn' and __AVR_HAVE_MOVW__.
3046         * config/avr/t-avr(MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add avr25.
3047         (MULTILIB_MATCHES): Add attiny13, attiny2313, attiny24, attiny44,
3048         attiny84, attiny25, attiny45, attiny85, attiny261, attiny461,
3049         attiny861 and at86rf401 devices.
3050
3051 2006-06-18  Jie Zhang  <jie.zhang@analog.com>
3052
3053         * config/bfin/bfin.c (MAX_LOOP_LENGTH): Define to be 2042 instead
3054         of 4096.
3055
3056 2006-06-17  Karl Berry  <karl@gnu.org>
3057
3058         * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi,
3059         doc/gccint.texi, doc/install.texi (@dircategory): Use
3060         "Software development" instead of "Programming", following
3061         the Free Software Directory.
3062
3063 2006-06-17  Alexandre Oliva  <aoliva@redhat.com>
3064
3065         * config/i386/i386.c (legitimate_tls_address)
3066         <TARGET_GNU2_TLS>: Add tp after DTPOFF.
3067         * config/i386/i386.md (*tls_dynamic_gnu2_combine_32): Adjust.
3068         (*tls_dynamic_gnu2_combine_64): Likewise.
3069
3070 2006-06-16  Richard Guenther  <rguenther@suse.de>
3071
3072         PR middle-end/27116
3073         * fold-const.c (negate_expr_p): Do not introduce undefined
3074         overflow in negating INTEGER_CSTs.
3075         (fold_negate_expr): Rename from negate_expr.  Revert last
3076         change for folding BIT_NOT_EXPR.  Change semantics to
3077         return NULL_TREE for non-simplified negations.  Do not
3078         strip type conversions and unify type handling.
3079         (negate_expr): New function, wrap around fold_negate_expr
3080         but ensure building a tree always.  Strip type conversions
3081         here, fold to result type.
3082         (fold_unary): Use fold_negate_expr for folding NEGATE_EXPR.
3083
3084 2006-06-16  Roger Sayle  <roger@eyesopen.com>
3085
3086         PR middle-end/27802
3087         * reg-stack.c (subst_stack_regs): Handle noreturn function calls
3088         that (would) return their results in stack registers.
3089
3090 2006-06-16  Michael Matz  <matz@suse.de>
3091         Richard Guenther  <rguenther@suse.de>
3092
3093         * fold-const.c (fold_truthop): Only return new tree node if
3094         we canonicalized something.
3095
3096 2006-06-16  Richard Guenther  <rguenther@suse.de>
3097
3098         * function.h (enum function_frequency): Move declaration
3099         out of struct function.
3100         (struct function): Move bool fields and the enum to the bitfield
3101         section.  Reorder elements to avoid padding.  Remove unused
3102         fields left over from the RTL inliner removal.
3103         * function.c (free_after_compilation): Do not zero removed fields.
3104         * Makefile.in (ipa-reference.o): Add $(FUNCTION_H) dependency.
3105         (ipa-type-escape.o): Likewise.
3106
3107 2006-06-16  Richard Guenther  <rguenther@suse.de>
3108
3109         * cgraph.h (struct cgraph_local_info): Turn bool elements
3110         into a bitfield.
3111         (struct cgraph_node): Likewise.
3112         (struct cgraph_varpool_node): Likewise.
3113
3114 2006-06-15  Richard Guenther  <rguenther@suse.de>
3115
3116         * fold-const.c (fold_truth_not_expr): Rename from
3117         invert_truthvalue.  Give it fold_* semantics to avoid
3118         generating garbage.
3119         (invert_truthvalue): New function.  Wrapper around
3120         fold_truth_not_expr.
3121         (optimize_minmax_comparison): Avoid creating garbage.
3122         (fold_unary): Use fold_truth_not_expr for folding
3123         TRUTH_NOT_EXPR.
3124         (fold_ternary): Replace uses of invert_truthvalue with
3125         fold_truth_not_expr where applicable.
3126         * tree.h (fold_truth_not_expr): Prototype.
3127
3128 2006-06-16  Richard Guenther  <rguenther@suse.de>
3129
3130         PR tree-optimization/27781
3131         * Makefile.in (ipa-pure-const.o): Add $(TARGET_H) dependency.
3132         * ipa-pure-const.c (target.h): Include.
3133         (analyze_function): Do not analyze functions that do not
3134         bind locally.
3135
3136 2006-06-15  Andrew MacLeod  <amacleod@redhat.com>
3137
3138         PR middle-end/27793
3139         * tree-dfa.c (referenced_vars_dup_list): Remove.
3140         (find_referenced_vars): Remove assert.
3141         (referenced_var_check_and_insert): Replace dup list with assert.
3142         * tree-ssa.c (delete_tree_ssa): Remove dup list processing.
3143         * tree-flow.h (referenced_vars_dup_list): Remove extern decl.
3144
3145 2006-06-15  Richard Guenther  <rguenther@suse.de>
3146
3147         * tree-ssa-structalias.c (alias_get_name): Avoid creating
3148         extra unused identifiers if not dumping.
3149         (create_variable_info_for): Likewise.
3150
3151 2006-06-15  Zdenek Dvorak <dvorakz@suse.cz>
3152
3153         * tree-ssa-loop-niter.c (implies_nonnegative_p): New function.
3154         (derive_constant_upper_bound): Derive more precise upper bound in
3155         common cases.  Return type changed to double_int.
3156         (record_estimate): Reflect the changed return type of
3157         derive_constant_upper_bound.
3158         * double-int.c (double_int_zext, double_int_sext): Fix.
3159
3160 2006-06-15  Paolo Bonzini  <bonzini@gnu.org>
3161
3162         * configure.ac (CFLAGS): Get them from the toplevel or from the
3163         configure invocation.
3164         * configure: Regenerate.
3165         * Makefile.in (CFLAGS): Substitute value provided by configure.
3166
3167 2006-06-14  Mark Mitchell  <mark@codesourcery.com>
3168
3169         PR c++/26559
3170         * c-common.h (c_finish_omp_atomic): Adjust declaration.
3171         * c-omp.c (c_finish_omp_atomic): Return the expression to perform,
3172         rather than calling add_stmt on it.
3173         * c-parser.c (c_parser_omp_atomic): Adjust accordingly.
3174
3175 2006-06-14  Andreas Krebbel  <krebbel1@de.ibm.com>
3176
3177         PR middle-end/27959
3178         * reload1.c (reload): Remove registers returned by update_eliminables
3179         from used_spill_regs.
3180
3181 2006-06-13  DJ Delorie  <dj@redhat.com>
3182
3183         * config/m32c/muldiv.md (mulpsi3): Expect arbitrary constants.
3184
3185 2006-06-13  Carlos O'Donell  <carlos@codesourcery.com>
3186
3187         * Makefile.in: Define HTMLS_BUILD, HTMLS_INSTALL,
3188         html__strip_dir, html__mkdir_p. Enhance install-html target.
3189         * configure.ac: AC_SUBST datarootdir, docdir and htmldir.
3190         * configure: Regenerate.
3191
3192 2006-06-13  Fariborz Jahanian <fjahanian@apple.com>
3193
3194         * fold-const.c (fold_cond_expr_with_comparison): Check for
3195         Objective-C++ as language in deciding COND_EXPR transformation.
3196
3197 2006-06-06  J"orn Rennecke <joern.rennecke@st.com>
3198
3199         PR target/28014:
3200         * config/sh/t-sh (LIB1ASMFUNCS): Add _udiv_qrnnd16
3201         * config/sh/sh.c (print_operand): Add !SHMEDIA functionality to 'M'.
3202         * config/sh/lib1funcs.h (SL, SL1): Define.
3203         * config/sh/lib1funcs.asm (__udiv_qrnnd16): New hidden function.
3204         * longlong.h (__sh__): Define umul_ppmm, udiv_qrnnd and sub_ddmmss.
3205         * config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): New rule.
3206         (OBJS_Os_4_200): New variable.
3207         ($(T)libgcc-Os-4-200.a): Use it.
3208         * sh.md (udivsi3): For TARGET_DIVIDE_CALL_TABLE, avoid function call
3209         when dividing 1 and/or by 0.
3210
3211 2006-06-13  Roger Sayle  <roger@eyesopen.com>
3212
3213         * configure.ac (HAS_MCONTEXT_T_UNDERSCORES): Include <sys/signal.h>
3214         before <ucontext.h> to define sigset_t required by <sys/ucontext.h>.
3215         * configure: Regenerate.
3216
3217 2006-06-13  Jie Zhang  <jie.zhang@analog.com>
3218
3219         * config/bfin/bfin.c (bfin_reorg_loops): Only call recog_memoized ()
3220         for real instruction.
3221
3222 2006-06-13  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
3223
3224         PR middle-end/26807
3225         * haifa-sched.c (check_cfg): Handle special case.
3226
3227 2006-06-13  Eric Botcazou  <ebotcazou@adacore.com>
3228
3229         PR debug/26754
3230         * gimplify.c (declare_tmp_vars): Rename into declare_vars.
3231         Add debug_info parameter.  Chain the vars to the BLOCK instead
3232         of the BIND_EXPR if debug info are requested for them.
3233         (pop_gimplify_context): Adjust for above change.
3234         (gimple_add_tmp_var): Likewise.
3235         * tree-gimple.h (declare_tmp_vars): Rename into declare_vars.
3236         Add bool parameter.
3237         * tree-nested.c (convert_nonlocal_reference): Adjust for above change.
3238         (convert_local_reference): Likewise.
3239         (get_local_debug_decl): Set DECL_IGNORED_P on the original variable.
3240         (finalize_nesting_tree_1): Request that debug info be emitted
3241         for debug_var_chain.
3242
3243 2006-06-13  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
3244
3245         * haifa-sched.c (unlink_other_notes, unlink_line_notes): Fix the patch
3246         for PR target/27863.
3247
3248 2006-06-13  Richard Guenther  <rguenther@suse.de>
3249
3250         PR middle-end/27536
3251         * except.c (output_ttype): Expand type with EXPAND_INITIALIZER.
3252
3253 2006-06-13  Richard Guenther  <rguenther@suse.de>
3254
3255         PR tree-optimization/27830
3256         * tree-inline.c (copy_body_r): For copying the operand
3257         of an ADDR_EXPR make sure to fold &* afterwards.
3258
3259 2006-06-12  Eric Botcazou  <ebotcazou@adacore.com>
3260
3261         * gimplify.c (gimplify_expr): Treat VIEW_CONVERT_EXPR like other
3262         lvalues in the fb_none case with side-effects.
3263
3264 2006-06-12  Kazu Hirata  <kazu@codesourcery.com>
3265
3266         * tree-flow.h: Remove the prototype for
3267         compute_phi_arg_on_exit.
3268         * tree-ssa-loop-ivopts.c (protect_loop_closed_ssa_form_use,
3269         protect_loop_closed_ssa_form, compute_phi_arg_on_exit):
3270         Remove.
3271
3272 2006-06-12  Mark Shinwell  <shinwell@codesourcery.com>
3273
3274         * builtins.c (expand_builtin_return_addr): Only use
3275         frame_pointer_rtx when count == 0 and we are expanding
3276         __builtin_return_address.
3277
3278 2006-06-12  Fred Fish  <fnf@specifix.com>
3279
3280         * config/mips/mips.c (mips_file_start): Create special section
3281         ".gcc_compiled_longXX" for o64 ABI as well as EABI.
3282
3283 2006-06-11  Eric Christopher  <echristo@apple.com>
3284
3285         PR middle-end/27948
3286         * stor-layout.c (place_field): Remove check for
3287         remaining_in_alignment when aligning at the end of a run.
3288
3289 2006-06-11  Eric Christopher  <echristo@apple.com>
3290
3291         PR 27542
3292         * doc/extend.texi (Structure-Packing Pragmas): Document ms_struct
3293         pragma.
3294
3295 2006-06-11  Roger Sayle  <roger@eyesopen.com>
3296
3297         PR target/27858
3298         Revert incorrect fix for PR target/27158
3299         2006-05-08  Roger Sayle  <roger@eyesopen.com>
3300         * reload.c (find_reloads_toplev): Only return the simplified SUBREG
3301         of a reg_equiv_constant if the result is a legitimate constant.
3302
3303 2006-06-11  Roger Sayle  <roger@eyesopen.com>
3304
3305         PR target/27158
3306         * config/rs6000/rs6000.c (const_vector_elt_as_int): New function to
3307         extract a CONST_VECTOR element and interpret it as an integer.
3308         (vspltis_constant): Use const_vector_elt_as_int instead of the
3309         macro CONST_VECTOR_ELT in order to handle FP vector modes.
3310         * config/rs6000/predicates.md (easy_vector_const): Consider
3311         floating point ALTIVEC_VECTOR_MODEs via easy_altivec_constant.
3312
3313 2006-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
3314
3315         PR middle-end/27942
3316         * stor-layout.c (update_alignment_for_field): Don't add extra
3317         alignment for packed non-bitfield fields in ms_bitfield_layout_p
3318         code.
3319
3320 2006-06-09  Ralf Corsepius  <ralf.corsepius@rtems.org>
3321
3322         * config/mips/t-rtems: Add EL/EB multilib variants.
3323
3324 2006-06-09  Mike Stump  <mrs@apple.com>
3325
3326         * c-typeck.c (c_begin_vm_scope): Fix file_scope processing.
3327
3328 2006-06-09  David Daney  <ddaney@avtrex.com>
3329
3330         * doc/install.texi: Add binutils version recommendation for mips-*-*.
3331
3332 2006-06-09  Andreas Krebbel  <krebbel1@de.ibm.com>
3333
3334         * reload.c (find_reloads): Unset force_reload for 'X' constraint.
3335
3336 2006-06-09  Richard Guenther  <rguenther@suse.de>
3337
3338         PR tree-optimization/26998
3339         * tree-vrp.c (extract_range_from_unary_expr): For NEGATE_EXPR
3340         of signed types, only TYPE_MIN_VALUE is special, but for both,
3341         minimum and maximum value.  Likewise VR_ANTI_RANGE is special
3342         in this case, as is -fwrapv.
3343
3344 2006-06-08  Mike Stump  <mrs@apple.com>
3345
3346         PR target/26427
3347         * config/darwin.c (darwin_asm_output_anchor): Disable
3348         -fsection-anchors on darwin for now.
3349         * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Likewise.
3350         * rs6000/rs6000.c (optimization_options): Likewise.
3351
3352 2006-06-08  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3353
3354         PR target/27421
3355         * config/i386/i386.c (classify_argument): Skip fields with invalid
3356         types in unions.
3357
3358 2006-06-08  Steven Bosscher  <steven@gcc.gnu.org>
3359
3360         * cse.c (flush_hash_table): Use VOIDmode to invalidate a REG.
3361         (cse_insn): Likewise for the stack_pointer_rtx.
3362
3363 2006-06-08  Roger Sayle  <roger@eyesopen.com>
3364
3365         * tree-ssa-dom.c (record_conditions): Only record "unordered"
3366         conditions from floating point comparisons.
3367
3368 2006-06-08  Paolo Bonzini  <bonzini@gnu.org>
3369
3370         PR middle-end/27733
3371         * expmed.c (struct alg_hash_entry): Fix type of field T
3372         to match synth_mult argument.
3373         (NUM_ALG_HASH_ENTRIES): Make it bigger for 64-bit HOST_WIDE_INT.
3374
3375 2006-06-08  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
3376
3377         PR target/27863
3378         * haifa-sched.c (unlink_other_notes, unlink_line_notes): Update basic
3379         block boundaries.
3380
3381 2006-06-08  Richard Guenther  <rguenther@suse.de>
3382
3383         PR middle-end/27116
3384         * fold-const.c (negate_expr_p): We can negate BIT_NOT_EXPR
3385         only, if overflow is defined and not trapping.
3386         (negate_expr): Likewise.
3387
3388 2006-06-07  Zdenek Dvorak <dvorakz@suse.cz>
3389
3390         PR tree-optimization/27872
3391         * tree-ssa-loop-manip.c (tree_unroll_loop): Set EDGE_IRREDUCIBLE_LOOP
3392         flag on the new exit edge of the unrolled loop.
3393
3394 2006-06-07  Zdenek Dvorak <dvorakz@suse.cz>
3395
3396         PR rtl-optimization/26449
3397         * loop-invariant.c (move_invariant_reg): Fail if force_operand fails.
3398
3399 2006-06-07  Andrew MacLeod  <amacleod@redhat.com>
3400
3401         PR middle-end/27793
3402         * tree-dfa.c (referenced_vars_dup_list): New.  List of duplicate
3403         referenced_variables with matching DECL_UID's.
3404         (find_referenced_vars): Make sure duplicate list is empty to start.
3405         (referenced_var_p): Remove.
3406         (referenced_var_check_and_insert): Renamed from referenced_var_insert.
3407         Check if var is in the list, and add if needed.  Update the duplicate
3408         list if a different var is in the list with the same DECL_UID.
3409         (add_referenced_var): Call routine to check and insert.
3410         * tree-ssa.c (delete_tree_ssa): Clear var_ann's on duplicates.
3411         * tree-flow.h (referenced_vars_dup_list): External declaration.
3412
3413 2006-06-07  Fred Fish  <fnf@specifix.com>
3414
3415         * config/mips/t-elf (MULTILIB_MATCHES): Combine two entries
3416         into single entry.
3417
3418 2006-06-07  Paolo Bonzini  <bonzini@gnu.org>
3419
3420         PR target/27390
3421         * reg-stack.c (subst_stack_regs_pat): Reorder resetting of
3422         the imaginary and real parts of a clobbered register.
3423         Emit insn to set the imaginary part.
3424
3425 2006-06-06  Peter Lemieszewski  <lemie@us.ibm.com>
3426
3427         * config/s390/t-tpf (LIB2ADDEH): Include unwind-dw2-fde-glibc.c
3428         in lieu of unwind-dw2-fde.c.
3429
3430 2006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3431
3432         * config/i386/mingw32.h (GOMP_SELF_SPECS): Define.
3433
3434 2006-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
3435
3436         PR target/27842
3437         * config/rs6000/altivec.md (UNSPEC_VSLW): Remove.
3438         ("altivec_vspltisw_v4sf", "altivec_vslw_v4sf"): Remove.
3439         ("mulv4sf3", "absv4sf3", "negv4sf3"): Adapt users to use
3440         V4SImode temporaries and operations instead.
3441
3442 2006-06-06  Joseph S. Myers  <joseph@codesourcery.com>
3443
3444         * config/mips/t-linux64 (tp-bit.c): Append to tp-bit.c, not
3445         dp-bit.c.
3446
3447 2006-06-06  Mike Stump  <mrs@apple.com>
3448
3449         * Makefile.in: Rename to htmldir to build_htmldir to avoid
3450         installing during build.
3451
3452 2006-06-06  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
3453
3454         * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): Change default
3455         value to 0.
3456         * doc/invoke.texi (max-sched-extend-regions-iters): Document.
3457         * config/ia64/ia64.c (params.h): New header.
3458         (ia64_optimization_options): New function to adjust parameters.
3459         * config/ia64/ia64-protos.h (ia64_optimization_options): New prototype.
3460         * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): New macro.
3461         * config/ia64/t-ia64 (ia64.o): Add dependence from params.h .
3462
3463 2006-06-05  Kazu Hirata  <kazu@codesourcery.com>
3464
3465         * stor-layout.c (debug_rli): Fix a typo in a debug message.
3466
3467 2006-06-05  Steve Ellcey  <sje@cup.hp.com>
3468
3469         PR target/27051
3470         * config/ia64/ia64.c (ia64_select_rtx_section): Check TARGET_NO_SDATA.
3471
3472 2006-06-05  Dorit Nuzman  <dorit@il.ibm.com>
3473             Victor Kaplansky  <victork@il.ibm.com>
3474
3475         PR tree-optimization/26360
3476         * tree-vectorizer.c (destroy_loop_vec_info): Remove (dead) pattern
3477         stmts.
3478
3479 2006-06-04  Roger Sayle  <roger@eyesopen.com>
3480             Andrew Pinski  <pinskia@physics.uc.edu>
3481
3482         PR middle-end/27382
3483         * c-common.c (c_common_truthvalue_conversion): Explicitly check
3484         for LABEL_DECL before calling DECL_WEAK.
3485
3486         PR c/27150
3487         * c-typeck.c (build_binary_op): Likewise, explicitly check for
3488         LABEL_DECL and PARM_DECL.
3489
3490 2006-06-05  Joseph S. Myers  <joseph@codesourcery.com>
3491
3492         PR c/25161
3493         PR c/27020
3494         * c-decl.c (grokdeclarator): Disallow variably modified types at
3495         file scope.  Avoid marking shared array type of constant size as
3496         VLA.
3497
3498 2006-06-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3499
3500         PR c++/27601
3501         * c-common.c (fold_offsetof_1): Handle static members.
3502
3503 2006-06-04 Eric Christopher <echristo@apple.com>
3504
3505         * stor-layout.c (start_record_layout): Initialize remaining_in_alignment.
3506         (debug_rli): Output value for remaining_in_alignment.
3507         (update_alignment_for_field): Unconditionalize
3508         ms_bitfield_layout_p code. Handle non-bitfield fields. Remove
3509         extra alignment code.
3510         (place_field): Don't realign if ms_bitfield_layout_p. Unconditionalize
3511         ms_bitfield_layout_p code. Rewrite handling of structure fields.
3512         * tree.h (record_layout_info_s): Remove prev_packed.
3513         * doc/extend.texi (ms_struct): Add documentation of format.
3514
3515 2006-06-04  Mark Shinwell  <shinwell@codesourcery.com>
3516
3517         * tree.h: Declare folding_initializer.
3518         * builtins.c (fold_builtin_constant_p): Give definite answer
3519         if folding inside an initializer.
3520         * fold-const.c: Define folding_initializer.
3521         (START_FOLD_INIT): Save and then set folding_initializer.
3522         (END_FOLD_INIT): Restore folding_initializer.
3523
3524 2006-06-04  Richard Guenther  <rguenther@suse.de>
3525
3526         PR tree-optimization/27039
3527         * fold-const.c (fold_comparison): Handle pointer co