OSDN Git Service

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