OSDN Git Service

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