OSDN Git Service

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