OSDN Git Service

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