OSDN Git Service

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