OSDN Git Service

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