OSDN Git Service

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