OSDN Git Service

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